Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

trigger&delay

I want to conmunicate with NI PXI-8464 can card.The vi is ncwritenetmult.vi. I want to trigger the first data frame with a external signal (low to high),otherwise,I want to delay the second data frame many ms,then delay the third data frame many ms........the other card could be used is NI PXI-6251.How to do it?
I saw the frame type in user manual.Now my methord is route the trigger source signal to start trigger in can frame api through 6251's vi.Then set the second frame to delay frame.However,trigger and delay frame could not work together,only one of them is valid by setting timestamp transmit.
The time left little,help me
0 Kudos
Message 1 of 10
(7,657 Views)

The following example writes 6 frames to the CAN board and waits for a DAQ start trigger. The first frame is a trigger frame the delays the first data frame 5 seconds relatively to the trigger frame timestamp. All other frames transmit 1 second appart. The last frame transmits 1.5 seconds later.

I hope that helps.

DirkW

0 Kudos
Message 2 of 10
(7,653 Views)
Thank you,DirkW
I download the example and saw it.I have another question ,counter 0 output the trigger pulse in ctr0 output .How to route it to RTSI 0 without using PFI and DAQmx's connect terminal .vi.
0 Kudos
Message 3 of 10
(7,640 Views)
Oh yes , i forgot the DAQ routing. You can use the channel property to route the pulse output.
 
DirkW
0 Kudos
Message 4 of 10
(7,629 Views)
Thanks again.
I changed the constant from Dev1/RTSI0 to /6251/PXI trigger0.Because there's no RTIS0 in the channel list. Is this any problem?
Then I run two vi,your vi transmit,the other vi from LabVIEW's example receive.
LabVIEW return error .
0 Kudos
Message 5 of 10
(7,622 Views)
Thanks again.
I changed the constant from Dev1/RTSI0 to /6251/PXI trigger0,because there's no RTSI0 in the channel list.Is this any problem?I run two vi,one is can receive.vi ,the other is your vi.After a few second, LabVIEW returns error.
0 Kudos
Message 6 of 10
(7,621 Views)

Make sure the receive and your transmit VI have the same baudrate configured.

DirkW

0 Kudos
Message 7 of 10
(7,612 Views)
Oh,I forgot the baudrate.After set it,transmit and receive return normal.
However,trigger and delay could not work together,only one of them is valid by setting "timestamp transmit" to 0 or 1.
I try it many times,the trigger signal goes well in ctr0 out.It looks like when "timestamp transmit" is set to 0,trigger is valid.and it is set to 1,delay set by timestamp is valid.
Thank you ,and need your help.
0 Kudos
Message 8 of 10
(7,608 Views)
Yes , thats correct. All these features like a trigger frame or delay frame do work with timestamped mode enabled (1) only. Otherwise the driver bursts the frames out as fast as possible.
But the start trigger should work with timestamped mode enabled. I verified that here on my machine. so whats the problem?
 
DirkW
0 Kudos
Message 9 of 10
(7,601 Views)
Thanks,I want to see your VI verifying that.Is it the  "CAN Transmit multiple_start_trigger.vi"?
I run  "CAN Transmit multiple_start_trigger.vi" . The timestamp transmit is set to 1, at the same time I use a scope to see wether the trigger signal come out with CAN transmitting.  However,they don't come out at the same.Or we make the trigger signal controlled by hand ,just as a line of DIO.The result may be easily to see.
0 Kudos
Message 10 of 10
(7,577 Views)