QNX Configuration software

S

Thread Starter

Stuart

Hello,

I am looking at upgrading a QNX based control system for a cushion on a large press. The builder has used a S5 PLC for most of the control with a PC running QNX for the cushion control. QNX has also been used for a visualisation system. I know that the qnx is basically a deterministic operating system.

Does anyone know what application might have been used to create the system. I need to access the source code so that I can have a chance at re-writing it. Currently the customer has no way to modify the code

Thanks,
 
K

Ken Emmons Jr.

Do you have source code? Unless it is on the embedded disk on the QNX computer or furnished by the original builder than I think you need to rewrite it. It would be good policy for the machine builder to supply source code, but they might not have.

I'm sure you will need the QNX development kit, and/or cross compiler for that target system. Given that the PLC is a S5 I think that goes a few years back....

KEJR
 
W

William Sturm

I'm no QNX expert, but I have a general idea what they are about.  The software is probably written in C or C++ using the GNU C compiler and Eclipse for the development environment.  QNX used the Watcom C compiler years ago, so it could be that also.  The programs are generally compiled, there is no need for any source code to be on the runtime system.

There may be some or all of the C or CPP files present on the system, but no guarantee.  It is also slightly possible that the customer has a disk or CD with C source code files.  Both could likely be out of date also.  If you cannot find a copy of the current .C, .CPP, and .H files, then you will not likely be able to modify the application.

These are generalities, and I obviously cannot speak for the specific system that you have.  I am just trying to point to a typical scenario that you may be facing.  This is one of the typical problems with PC based systems, the source code tends to be treated as intellectual property and not provided to each customer.

Bill Sturm
Abbeytronics LLC
 
Hello,

about what version of QNX you are talking? Is it the version 2.x/3.x, 4.2x or QNX 6.x? What is the I/O interface of the cushion control system?

Do you know who is the vendor of the visualization system?

Best Regards
Armin Steinhoff
 
C

Curt Wuollet

Almost certainly compiled C code for a realtime app. You can grep
for *.c or the like. but there's no guarantee these days that the author left source on the machine. I think QNX has some sort of an IDE, I could be wrong, I've never spent the money for QNX to do what
I can do free on Linux.

Regards
cww
 
It could have been written in anything. There is no way to tell just by knowing the name of the operating system. QNX is a complete real time operating system that is very similar to Unix, BSD, and Linux.

If the customer really doesn't have the source code, you will probably need to talk to the original developer.

 
J

James Ingraham

Perhaps a better forum to answer this question would be www.openqnx.com

You might also contact QNX directly, www.qnx.com

If Armin Steinhoff of Steinhoff Automation is "listening" at the moment, he might be able to help. http://www.steinhoff-automation.com

Also, it would help to know your geographic location. I'm in the US, QNX is headquarted in Canada, Steihoff Automation is in Germany, etc.

Finally, it is almost certainly written in C. I would be surprised if the source code is on the machine, although it is possible.

There are several main releases of QNX, basically 2, 4 and 6. Six is relatively new, so it's probably not 6. QNX4 has been around a while and is still well supported, so it'd be nice if that's what you're dealing with. If it's QNX2... well, that goes back farther than my 12 years in the industry and I can't tell you anything about it.

I'd be happy to talk about it if you'd like to contact me off-list. My e-mail address is jamesi, followed by my company's URL sagerobot.com (Can't put it straight; 'bots will snag it.) You can also get our phone number from our website. And I really do recommend switching over to www.openqnx.com

-James Ingraham
Sage Automation, Inc
 
J

James Ingraham

>It could have been written in anything.

True, but C would be the way to bet. Nearly everything done in QNX is done in C. And you can rule out certain things that were never available; Visual Basic, anything .Net, etc.

Still, you're initial point stands. It could be in Ada, for all we know.

-James Ingraham
Sage Automation, Inc.
 
Thanks for the posts,

I am in the UK. I have not had chance to look at the qnx yet so I have no idea which version it is nor does the customer. They do have a ghost image. So if I have no source code my plan was to run that up in vmware so at least I can navigate through the screens. The thing I am not sure of is that the screens seem quite advanced for an old system. eg. dropdown menues ect. I assumed that this would mean that the configuration software had a visual element. I.e. not just textual code. this right?

If I have visualisation and control code, are they likely to be run from one application?

Thanks,
 
W

William Sturm

QNX is typically programmed in a text based language, such as C. There is no way to guess if the visualization code is in the same app as the control code. It could probably be accomplished either way.

Bill Sturm
Abbeytronics LLC
 
J

James Ingraham

I'm not sure who the QNX experts are in the UK. Of course, I'd be happy to go across the pond to help!

"the screens seem quite advanced for an old system. eg. dropdown menues ect."

QNX has had drop-down and multi-level pop-up meus for a LONG time. Certianly since the mid-90's, but I don't know the exact timing since I didn't get involved with it until '97.

"I assumed that this would mean that the configuration software had a visual element. I.e. not just textual code. this right?"

Yes... and no. You can do ALL of QNX's fancy GUI stuff with pure textual coding. Most people use the visual form designer, but there's no way to be sure.

"If I have visualisation and control code, are they likely to be run from one application?"

Probably not, although it's possible. The beauty of QNX has always been in their interprocess communication (IPC) system. So most people write several applications that use the IPC system. Still, they COULD have written one monolithic application.

If you can't get a QNX expert, I'd at least try to have someone who knows *nix and C.

-James Ingraham
Sage Automation, Inc.
 
I think it has been mentioned before that QNX is an operating system, not an application program. What you would likely have seen on the screen is the application, not the OS. Telling us the name of the operating system tells us nothing about the software that is running on it.

Could the visualisation program be separate from the control program? That is certainly possible. But how could we possibly know? Might it simply be an Isagraf program? That's possible too as it runs on QNX, but how would we know?

I would suggest that you track down a book on QNX, as you are going to have more questions than can be answered here. If you understand Unix/BSD/Linux operating systems that would help as well. QNX isn't Unix, but like most operating systems it modelled itself quite closely on Unix.

There is another approach to this whole problem, and that is to forget about what the existing system does and to start from a clean slate. If there is someone at your customer who understands what the system is *supposed* to do, that might be a lot quicker and less error prone than trying to reverse engineer a software system that nobody really understands.
 
J

James Ingraham

M Griffin: "[A]nother approach ... is to forget about what the existing system does and to start from a clean slate."

This is also difficult to evaluate without knowing more, but I have to agree that it sounds reasonable. I'd certainly at least CONSIDER redoing it in a control scheme that you can support.

Of course, that means you won't be hiring me to go to the UK, but oh, well. :)

-James Ingraham
Sage Automation, Inc.
 
Is there any hardware support the QNX software? we are in learning stage about QNX software please suggest me any hardware that support the QNX software.

So we requered 0 to 10 proportional VDC. If it is possible to get the variable voltage and/or variable current output from the QNX supported hardware, we can connect to the our controller to get the required output to the actuaters (Cylinders).
 
Acromag offers Ethernet Modbus TCP/IP C-Libraries, demo program, and source code that compile with QNX. These C-libraries also compile in MS Visual C, Linux, VxWorks, and older OS9 systems. See Model ESW-MBLIB datasheet in the following link:

http://www.acromag.com/pdf/ESW-MBLIB.pdf

These libraries can be used with Acromag's BusWorks and EtherStax Ethernet I/O hardware products. If you have a PC or controller with a QNX operating system, you could potentially write a program to read or write remote Ethernet Modbus TCP/IP I/O.

Acromag offers many voltage or current ethernet remote i/o products. Below are links to two Din Rail Instruments:

Model 967EN: 8ch Diff, AI-I, Ethernet MB TCP/IP

Link:
http://www.acromag.com/parts.cfm?Model_ID=386&Product_Function_ID=28&Category_ID=22&Group_ID=2

Model 968EN: 8ch Diff, AI-V, Ethernet MB TCP/IP

Link:
http://www.acromag.com/parts.cfm?Model_ID=387&Product_Function_ID=28&Category_ID=22&Group_ID=2

If you have any questions, please email me.

Kind Regards,
Donald Lupo (dlupo [at] acromag.com)
 
National Instruments offers a device driver kit for QNX. It is intended for real time embedded applications (which is what most people normally use QNX for).
 
J

James Ingraham

QNX talks to a LOT of I/O systems. My own preference is to use Modbus/TCP to talk to Ethernet I/O, such as B&R X20 etc. The Modbus/TCP portion of this is pretty easy to write.

You can also you plug-in cards, e.g. PCI. A lot of the time there's not really a "driver" per se. You just have to look at dual-port RAM. This is pretty easy, too. Advantech and others make plenty of PCI-based dp-RAM I/O cards, both digital and analog.

"0 to 10 proportional VDC."

Proportional to what, exactly? There's no PID function built in to QNX, so if you want PID you'll have to find an algorithm or library.

-James Ingraham
Sage Automation, Inc.
 
K

Ken Emmons Jr.

James,

Do you have performance specs on the B&R X20 with QNX?? What kind of
polling rates are you able to obtain?

Thanks,
KEJR
 
J

James Ingraham

"Do you have performance specs on the B&R X20 with QNX?"

I'm afraid I do not.

"What kind of polling rates are you able to obtain?"

I would estimate a fairly consistent 10ms update rate unless you have just a ton of analog I/O. You can probably get lower than this if you work at it some. I generally don't bother with trying to get better than 10ms performance.

I'm talking about Modbus/TCP or EtherNet/IP here. If you want to use Ethernet Powerlink, I have no idea.

-James Ingraham
Sage Automation, Inc.
 
Top