LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

RS-422 PPS Signal Generation

Solved!
Go to solution

 

I'm trying to generate a RS-422 PPS signal using the PXI-8431/8 PXI board, LabWindows/CVI and the standard CVI library functions but I can't find a way of producing a signal that remains HI persistently for X number of ms.  I realize that using the PXI-6602 would be an ideal solution but for my case I'm relying on the RT OS to maintain determinism.  Do you know of a white paper or discussion thread that might describe a reliable way of doing this with the CVI functions and serial boards I have?

 

This post was copied from the LabView discussion board.  Sorry for the inconvenience.

0 Kudos
Message 1 of 9
(5,855 Views)

Hello,

 

I do not believe that there is a way to do this. The driver doesn't support the toggling of the lines, especially with the accuracy you would need. It would be best to use the PXI-6602 card for this. Have a great day!

 

Best Regards,

 

Adam G 

National Instruments
Applications Engineer
0 Kudos
Message 2 of 9
(5,822 Views)

So I've got my hands on the 6602 and am looking for example code to get me started, but all I can find are dated version (5.5 or earlier).  Is there anything current that could offer some guidelines for generating the PPS?  Specifically, I'm using a RT Hypervisor controller and building an RT application.

 

Thank you for your help.

0 Kudos
Message 3 of 9
(5,807 Views)

Hi There,

 

Assuming you're using DAQmx and you want to generate a continuous pulse train (hardware-timed), you can find examples that do exactly this by looking in: Start » All Programs » National Instruments » NI DAQ » Text-Based Code Support » Ansi C Examples » Counter » Generate Pulse.

 

Hope this helps!

 

Sean

Sean Ferguson
Application Engineering Specialist | RF and Reconfigurable Test
0 Kudos
Message 4 of 9
(5,783 Views)

I tried the files you recommend (plus some other examples from various locations) and I keep getting a series of error messages:

 

Undefined symbol '_RegisterWinMsgCallback@24' referenced in "dataacq.lib".

Undefined symbol '_UnRegisterWinMsgCallback@4' referenced in "dataacq.lib".

Undefined symbol '_GetCVIWindowHandle@0' referenced in "dataacq.lib".

 

Some files that the example includes are:

NIDAQEX.C

NIDAQEX.H

 

These all go away when I boot into Windows.  I have loaded the Real-Time module and am using a RT Hypervisor controller.  Could I be missing software or be using a Windows library when a RT lib is available?

 

Thanks.

0 Kudos
Message 5 of 9
(5,771 Views)

One additional note:

 

I can include dataacq.h in my RT application code and it compiles fine.  I begin seeing errors when I add the CVI function from the Traditional DAQ library, ICTR_Setup().

0 Kudos
Message 6 of 9
(5,753 Views)

Hi JMK,

 

You can use DAQmx or TDAQ, not both. I would strongly recommend DAQmx since TDAQ is no longer supported.

 

Sean

Sean Ferguson
Application Engineering Specialist | RF and Reconfigurable Test
0 Kudos
Message 7 of 9
(5,740 Views)
Solution
Accepted by jmk75

Sean,

 

I updated the pulse generation functions with those from the DAQmx library and am now up and running.

 

Thank you so much for the input.

 

J

0 Kudos
Message 8 of 9
(5,733 Views)

Hey Jmk,

 

Glad to hear it. Happy coding!

 

Sean

Sean Ferguson
Application Engineering Specialist | RF and Reconfigurable Test
0 Kudos
Message 9 of 9
(5,697 Views)