Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

NI 6509 5mSec timing requirement

I am being asked to upgrade an existing system that uses a 6509 Digital I/O board for both inputs and outputs.  The current system has some timing requirements such that an output must respond within 60 ms of a selected input.  That system is working correctly.  The new requirements are for the output to respond within 5ms of a selected input.  Since we are using Windows XP operating system I don't see we can do this.  Is there a real time solution using existing hardware that I can look at?
 
Thanks... Gordon
0 Kudos
Message 1 of 7
(4,502 Views)


@Gordo wrote:
I am being asked to upgrade an existing system that uses a 6509 Digital I/O board for both inputs and outputs.  The current system has some timing requirements such that an output must respond within 60 ms of a selected input.  That system is working correctly.  The new requirements are for the output to respond within 5ms of a selected input.  Since we are using Windows XP operating system I don't see we can do this.  Is there a real time solution using existing hardware that I can look at?
 
Thanks... Gordon


Gordon,

Thanks for contacting National Instruments.  I have a few questions that would help us determine what a good solution may be.
1.)  What is your application? 
2.)  What are the inputs that you are describing? 
3.)  Have you attempted this application already? 
4.)  Do you have any other hardware besides the 6509?
5.)  Is the 6509 you have a PXI device or PCI?

Regards

Kenn North
Principal Product Manager - Search, Digital Analytics
http://ni.com/search
0 Kudos
Message 2 of 7
(4,493 Views)
Thanks for looking at this Kenn.

1.) What is your application?
2.) What are the inputs that you are describing?
3.) Have you attempted this application already?
This application (written in LabWindows 7.0.1)is part of a testbed for a classified device (sorry that I can't give you a better description) and acts as a simulator for a few devices (again my apologies). One of these devices that is being simulated has a new version that has different (faster) timing requirements. The existing simulator (which is working fine) has three TTL inputs and four open collector outputs. The simulator uses Change Detection Timing and sets timers and changes the outputs during the ChangeDetection interrupt handler for the inputs. The outputs will differ depending on whether or not the timer has timed out. The timer values that are being set range from 60 milliseconds to 500 milliseconds. The proposed change is for the timer values to be as small as 5 milliseconds.

The problem that as I see it is that with the computer running Windows XP (with underministic timing) I don't believe that I can guarentee that I can respond correctly to timing requirements as short as 5 milliseconds. Is there a real time solution that I can use possibly with a dual core processor?

4.) Do you have any other hardware besides the 6509?
5.) Is the 6509 you have a PXI device or PCI?
The system consists of an HP Workstation running Windows XP with one MIL STD 1553 card, two NI PCI 6509 cards, and two NI PCI 6513 cards.

Thanks again for your help.
Gordon Hodge
0 Kudos
Message 3 of 7
(4,485 Views)
Gordon,

Thanks for the quick response.  There are two ways to detect a change in digital data, they are unstrobed I/O (software timed), and strobed I/O (Data is latched into hardware).  The time it takes to detect the chage will be affected by how you are doing your change detection.  However, to then change the output based on that change detection event will always be software timed.  I need to do a bit more research into how something like LabVIEW RealTime will react, but as far as in an XP environment, if you need faster repsonse times it will be dependent on the speed of your PC.  We do not have extensive benchmarks between multi-core pc's and single core pc's, but I'm sure your time would decrease with a newer dual-core system, but again I have no imperical data to substantiate that claim. 

What version of the driver are you using and which of these boards are doing the change detection and which is sending the output back out?  Is it all done on the same board?

Regards
Kenn North
Principal Product Manager - Search, Digital Analytics
http://ni.com/search
0 Kudos
Message 4 of 7
(4,481 Views)
Kenn

I am using the NI-DAQmx Version 7.4 driver. The input is the 6509 board and the outputs are the 6513.

I've never seen an option as to which type of Change Detection is used. As far as I can tell when an input changes the ChangeDetection interupt handler is called and then the app must read the port and determine which line changed, its current value and call the handling function for that.

We've found that when the XP operating system is off servicing other applications it can be 'gone' for up to 20 ms. That, of course, would kill any hope of meeting the 5 ms requirement. We've also found that if changes come in faster than they can be handled the data is stored in a buffer and the events are handled in the order received. So the data must be latched in memory somewhere. Of course the timing will become increasingly skewed as the buffer gets larger.

Hope this helps... Gordon
0 Kudos
Message 5 of 7
(4,481 Views)
Gordon,

The type of change detection depends on the board and the 6509 can only do unstrobed I/O.  So all the timing is in software.  If you require faster speeds you may require a different  board, but even if you did have a board that supported strobed I/O you would still have a software timed transition between the detection of the change and actually changing the output. 

Using a real time OS wouldn't necessarily increase your speed, though it probably would since it may have less overhead then WinXP, but it would make it more predictable.  For example if you could get 20ms response time it would always be 20ms every time you ran the application.  All in all this application is system dependent.  You can improve things with a different board or OS, but you will still end up with partially software timed application.

Regards,
Kenn North
Principal Product Manager - Search, Digital Analytics
http://ni.com/search
0 Kudos
Message 6 of 7
(4,468 Views)
 

Gordon,

I also forgot to say that the latest version of DAQmx is 8.3.  There have been many improvements since 7.4.  

Regards,

 
Kenn North
Principal Product Manager - Search, Digital Analytics
http://ni.com/search
0 Kudos
Message 7 of 7
(4,467 Views)