Is QNX6 any good?

Hi,

We have an old SCADA system that was developed on QNX4, I am wondering if it is worth porting atleast parts of it to QNX6. Keeping in mind that the system uses QNX Windows (which although old actually kept down the amount of graphical code to a minimum and was highly flexible).

I have no experience of QNX6 so I am wondering is it the right operating system to create a graphical SCADA system in? I don’t particularly like the look of Photon, it looks alot like X11 which will take alot of effort to program up before it starts to be useful. QNXWindows lent itself to SCADA work because the GUI editors had the concept of “tags” where a given tag could easily be replaced with a value, meaning that a SCADA engineer could draw his own screen formats and link the tags to a given sensor point.

I know there are some possible replacements, I.e. Tilcon www.tilcon.com for QNX6 but again I have heard mixed reports about Tilcon and their Demos werent really awe inspiring. Or perhaps use one of the OpenGL packages they offer for realtime (but again isnt that going to entail a large amount of development work).

Really the main reason you would want to use QNX6 is for its realtime capabilities, which means perhaps a better split would be QNX6 for the more realtime functions of control and calculations, whilst windows or Linux is used for data display.

What would then be a good method for data transfer between the QNX6 “Box” and the display… web services perhaps?

Another thing alot of SCADA customers want is OPC, yet OPC solutions are quite patchy again for QNX (of course OPC DA XML is supported but support for the older OPC COM/DCOM is limited).

One real plus point of QNX6 is its remote debugging and profiling capabilities, and the cross development environments. A possible -ve point is the lack of hardware support - something that has bitten us over time with QNX4 development.

Please - All possible viewpoints and pointers are of value…

I’m not really sure I get you. On the one hand, you complain that you don’t like the “look” of Photon, and that it “looks” too much like X11, on the other hand, you seriously consider splitting your system into a QNX and Linux/Windows solution where the Linux solution would have… what. QNX Windows? Or X11?

I’d recommend you taking a closer look at Photon, in my opinion you don’t need “a lot of effort to program before it starts to be useful”. Photon is not X11. :slight_smile:

Thunderblade: Have you done QNXWindows programming. I think the programming model is much easier to deal with then Photon, it lacks polishing and the implementation wasn’t that solid, but you could do some great stuff in very little code. The fact that graphic and code are separated has a lot of advantages.

Hmm by “look” I mean the look of it’s programming model, in that it is a event based widget affair. Phab is ok but you have to recompile the application if you change a window, I want to be able to have the graphics entirely separate from the application with a known messaging interface.
I want to be able to define up a set of screen formats that are driven via a graphics server and a separate application. I want the user to be able to edit and change screen formats without having to compile applications.

I also would like to know peoples experiences of developing with QNX6… how is the h/w support / documentation / toolset / bugs / stability / support / compatibility between versions / performance / community etc in comparison with Qnx4 with a SCADA type application in mind.

I don’t do much Photon programming, but I’d take QNX6 any day over QNX4. However i don’t do SCADA either so I’m not in a position to make statement about the ability of QNX6 in that regards. Personnaly unless you have high volume or very high profit margin I would go with another OS. One of the very interesting feature of QNX6, multi-core multi-processor support is very very expensive. While most other OSes have it included in their basic package.

However one think that is the learning curve going from QNX4 to QNX6 is very short. Your non-gui code may actually port in very little time. While it may represent a major investment to switch to a different OS.

Personnaly I prefer the slip approach. QNX for realtime and for GUI.

Just a comment about Photon and separating graphics from code.
You can do this with Photon to some degree. In PhAB you can create an object that contains your
widgets. You then dynamically read these widgets to create your screens.
This is a little more complicated than the default method.

As far as communicating between a Windows/QNX system there are a lot of options.
The most basic would be to build a TCP/IP interface. There is a nifty open source
package called Simpl, which extends QNX style message passing to other OS’s over TCP/IP.

The hardware support for QNX 6 is much better than QNX 4, however it leans toward things that embedded developers want, eg. lots and lots of network card support, but not a single RAID card.

Mario can you tell me what other RTOS’s offer SMP as part of their standard package? Or are you referring to Windoze, Solaris and Linux?

You know what Colin, I don’t really want to go there. I already broke my own rules by talking about money/sales/marketing issue, I shouldn’t have done it in the first place. I’d better stick to technical issue.

I don’t want to become another Mr Nagle, lol!

Thanks alot guys for the informed answers! exactly as I suspected… QNX for the middle layer, other OS for the GUI, And that if you are a low volume producer then consider your options.
(Thanks for the simpl tip mas).