LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

using timer/counter with PCI-6221/USB-6210 to control timed-loop VI

Solved!
Go to solution

Dear all,

 

I need to ask about two devices and one of their functionalities, PCI-6221 and USB-6210. For our NI-based system, we need to control some timings in a Timed-Loop vi, for that currently we are using PCI-6221 and we give external TTL signal (at 1 kHz) to it,

recenntly we need to make some changes and for that we found USB 6210 DAQ to be more suitable, but we need to clear ourselves on some specific things.

 

  1. Can the counter/timers functions available in the either PCI 6221 or USB 6210 can be used to control the Timed-loop VI by giving external clock or by using their own internal clock source?

Although we are using external clock with the PCI 6221 but we want to know about the usage of their internal clock, also are controlling timed-loop also possible for USB-6210

 

Also... What if we use the RTOS, are they still able to control the timed-loop VI  without giving any 'EXTERNAL CLOCK' and using the internal clock sources of the DAQs

 

Waiting for reply,

Bests,

RaJaf

 

0 Kudos
Message 1 of 8
(5,351 Views)

Hi RAJAF,

 

The Timed-loop VI is intended to be used with our LabVIEW Real-time operating system to achieve deterministic timing. When using the LabVIEW development environment without Real-time, the Timed-loop VI has no special functionality because timing is still largely dependent upon the operating system.

 

That being said, the PCI-6221 has an internal hardware clock and two counters that can both be used to acquire signals at internally generated rates. The USB-6210 has two counters that can be used as source clocks, but does not have a hardware timing clock on-board.

 

What kind of application are you intending for this system? Are you most concerned about accuracy, speed, or responsiveness? Let us know and we can point in the direction of the best fit for the project.

Ben R.
Aerospace & Defense Test
Solutions Marketer
National Instruments
0 Kudos
Message 2 of 8
(5,327 Views)

Thank you for your reply,

 

It was certainly helpful.

 

We have made (and modifying) an scanning system for using Laser, now after each 1ms delay, the trigger through the DAQ will turn on and change position of the Laser-mirror. As described, currently we are doing with an external TTL signal with non-RTOS labview platform, but we intend to remove the external clocking for good or at least use somewhat simpler method like connecting TTL signa dierctly to USB-6210 screw switch w/o needing any external connector or convertor like in PCI-6221 case.

 

About priority, most important is the accuracy, then speed, but of-course in the very near future we intend to increase the speed as well going to few hundred KHz to Mega, but that is not the part of current system development, some ugradation stage may be next few months.

 

I am convinced with ROTS and non-RTOS solution but what do you suggest to go w/o RTOS with labview based system.

 

Bests,

Jaffry

0 Kudos
Message 3 of 8
(5,316 Views)

Ben,

 

I having read previous email which I send earlier with general overview, we discussed in more detail within our team and I am giviing the specific answers.

Please check in RED the most recent answers. Blue are the questions/suggestions by your side.

 
 

1.    Using Internal hardware clock of PCI-6221 would enable us get rid of external clock, but how to divert the internal hardware clock to the current settings. Any idea  (can you provide us with some reference manul for otherwise). I mean is there some flag-bit etc. or VI

 

2.       Is it also meant that with the installation of RTOS the timed-loop can directly get the timing source from the internal hardware clock PCI-6221? --- How???

 

3.       In order to make desktop to work as RT system, what is the hardware (motherboard, processor, etc..) requirement? What are the LabVIEW modules (specific name) that needed to be installed? Our platform is LabVIEW 8.6. (Currently we have windows-7 with i7 core processor)

 

What kind of application are you intending for this system? ---- high-speed laser scanning system.

 

Are you most concerned about accuracy, speed, or responsiveness? To control the laser mirror scanner to move at 1 kHz or 2 kHz speed. On the other hands, using PCI-5105 (128 MB memory) as a DAQ for real-time/on-the-fly data processing.

 
Bests,
RAJAF
0 Kudos
Message 4 of 8
(5,310 Views)

Here is a link to the requirements for creating a Real-Time desktop as well as a link for Desktop PC Evaluator Utility. You should be aware that this will require a deployment license.

 

The PCI-6221 is compatible with a Real-Time OS and you should be able to use the clock to control your Timed-Loop. Here is a simple example on how to uses the DAQmx drivers to get access to clocks on the device.

Timed-Loop.png

 

Even if you are able to get the USB-6210 device to work with a RT system, it is not recommended because USB, by nature, is nondeterministic.

 

Since you mentioned wanting to get in to MHz speeds in the future this will mostly likely not be possible without an FPGA. Since it seems you want to go with a Real-Time OS, you may want to consider getting a CompactRIO which has the RTOS and FPGA all in one system. This would avoid the hassle of setting up the desktop as a RTOS and allow flexibility for your future needs. 

Brandon L.
Automation Engineer
0 Kudos
Message 5 of 8
(5,285 Views)

Thank you Bradndon for your response.

 

 

I was curious based on the VI that you send me, I wanted to inquire how you control the counter VI, i.e. what sort of clock did you provide it, external or internal clock. If it is the internal clock of the PCI card, then what I want to actually ask how you select it.

Just for an example, in a microcontroller based we setup some flags for the use of nature of clock we want to use(external or internal)... I this explains this part.

 

As for Real-Time operating system. Following is our respose.

 

Case 1: Based on definition of any OS, it controls the whole system, so will the NI RTOS I guess, and this I learnned from the procedures of installing the NI-RTOS as well that it will completely remove current operating system(windows 7). Now it may seem silly, but can it be possible that RTOS may work with windows 7 platform. The reason for asking this is in case 2.

 

Case 2: If it cannot work supplementary to the windows platform and we install whole system with NI RTOS, actually our problem is that we are using a Laser mirror scanner(a 3rd party equipment) with its .dll and our processing is done in c# which later we call in labview. Hence we need to utilize the visual studio as well. Does Real Time Operating System
support installing the c# environment.

 

For now we only want to do our work with 1KHz system

 

I hope I you understand what I tried to explain. Please feel free to inquire more

 

Thank you,

Bests

 

0 Kudos
Message 6 of 8
(5,261 Views)
Solution
Accepted by topic author RAJAF

The computer would most likely need to be set up as a RTOS only, with some of our PXI systems you can use hypervisor to have the system “partitioned” to have Windows XP and RTOS, but I have not seen this done with a desktop computer. See this link for more on Hypervisor 

 

You can call some DLLs in the LabVIEW RTOS, but you would have to check the compatibility. You can find the link to the DLL checker here…

 

Here is more information on how you can use the DAQmx Create Timing Source VI to provide a clock source from your PCI card to the timed loop.

 

Brandon L.
Automation Engineer
0 Kudos
Message 7 of 8
(5,225 Views)

Thank you for replies,

 

I guess I'll be using the internal clock and I think RTOS is not much necessary. Also since the dll we wrote are 25% bad while about 40% is good only.

 

 

Thank you

Rajaf

0 Kudos
Message 8 of 8
(5,198 Views)