LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using DIO32HS, how to simultaneously software-trigger two tasks

I have one DIO32HS and have configured two buffered-tasks - one input group, one output group. Is it possible to get both tasks to trigger simultaneously using a software trigger? A previous answer to similar question in this forum suggested "Route Signal.vi" - which doesn't seem to work (at all) with the DIO32HS.
There is Multi-board simultaneous-trigger example, under DIO examples, which uses ConnectSignal.vi, but experiments with two tasks on same board were unsuccessful.
When they give imbeciles handicap-parking, I won't have so far to walk!
0 Kudos
Message 1 of 7
(3,038 Views)
BTW, that was "RTSI Control.vi" not "ConnectSignal.vi". Can a board, both supply a RTSI trigger and also use that [RTSI] trigger?
When they give imbeciles handicap-parking, I won't have so far to walk!
0 Kudos
Message 2 of 7
(3,038 Views)
The DIO Start vi is what does the software triggering. Unfortunately, it can only work with one group (Task ID) at a time. Even with separate threads, there is no way to guarantee simultaneous starts. What about setting up hardware triggers for the two groups, and creating a third group to do the triggering. You could wire the trigger line from group 3 to the trigger inputs for groups 1 and 2. I've never tried anything like that, but maybe it will work.
- tbob

Inventor of the WORM Global
0 Kudos
Message 3 of 7
(3,038 Views)
Thanks for the info. re: DIO Start! We have a custom cable - no breakout - hardware (wiring) solutions are not convenient. The Multi-board example shows asycnhronous Starts that are supposed to produce simultaneous IO. I thought this was through triggering, but maybe it's doing it by shared (RTSI) handshake. So...
Q. Can two (DIO32HS) tasks share an internal handshake - a handshake which can be software started after both DIO Starts?
When they give imbeciles handicap-parking, I won't have so far to walk!
0 Kudos
Message 4 of 7
(3,038 Views)
Used "RTSI Control.vi" to "transmit" REQ1 (board signal 0) to RTSI0 while "receive"ing REQ2 (board signal 1) from RTSI0. Per example, configured two buffered IO groups calling REQ2 group Start before REQ1 group Start.

Two bufferd-IO, burst-mode tasks are software triggered and synchronized.

Just sharing because question has come up before without resolution, and it's hard getting knowledgable phone-support these days - even if you're paying for it. On asking about RTSI possibilities, one App.Engr. responded (via email) that the RTSI connector was [only] used to connect multiple boards.
When they give imbeciles handicap-parking, I won't have so far to walk!
Message 5 of 7
(3,038 Views)
I'm not sure about two tasks sharing handshakes. You'll have to check the documentation or call NI.
- tbob

Inventor of the WORM Global
0 Kudos
Message 6 of 7
(3,038 Views)
The "RTSI Control.vi" (not "ConnectSignal.vi") allows one to pipe handshaking signals between tasks - even if there is only one DIO board. Two tasks (burst-mode, buffered) can be synchronized. One configures the board to drive/transmit a RTSI pin with the REQ signal of one task while "receive"ing the REQ signal of the second task. There's a relationship between the Configured port#(s) and the routed "Signal Source" parameter. REQ1 is SignalSource=0 REQ2 is SignalSource=1. Any RTSI pin (0-7) will work. Tasks are Started sequentially, with the first task Started being the RTSI "receive"er - that way it's already waiting for handshakes when the "transmit"er starts.
When they give imbeciles handicap-parking, I won't have so far to walk!
Message 7 of 7
(3,038 Views)