Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

digital trigger single point boolean update

Hi

 

I am using LabVIEW 2013 (32 bit), DaqMX 9.75 and for now a simulated USB-6361 (BNC).

 

I am trying to send a single point boolean update as a digital output so that I can open multiple TTL controlled solenoid valves. The problem is trivial if I use a user-control to toggle the digital output between high and low level logic. 

 

However, in my application  I need to have the digital outputs change their logic level upon the rising edge of a digital signal generated by an external device. I wrote the attached code. It waits for a rising edge on the PFIO0 and then sends out a series of BOOLEAN trues (one boolean per line) over multiple digital lines on port 0.  This works perfectly fine on my simulated device. However, when I try with the real USB-6351 I get an error saying that the minimum buffer size needs to be 2 (sorry - I am at home writing this post and don't have access to the real daq device so I can't recall the exact error code).

 

I fear I am missing something fundamental here and I would greatly appreciate any help from the community.

 

Ian

 

 

 

 

 

0 Kudos
Message 1 of 3
(3,890 Views)

Well, I found a work around that will probably do the trick. I put a triggered digital input on the front end of my vi. It looks for a rising edge on PFIO to trigger digital input on port0/line0. I am not really interested in measuring anything here but I guess I could capture the signal my external device is supposed to be sending out as the trigger signal.

 

Anyway, after this stage, I just use LabVIEW's natural data flow to send my single Boolean updates on digital lines 1,2 and 3.

 

Like almost all of my LabVIEW code it's not as elegant as it could be but I think it will work.

 

I am still interested if anyone has an idea on how I can strip out the front end to just send those Boolean outputs directly after the trigger !

 

Ian

0 Kudos
Message 2 of 3
(3,839 Views)

USask,

 

After reading this my first thought is to try an example that does digital output.  Use the triggering options there to see if the example performs as you expect.  

 

Secondly, If the error asks for a buffer size of two lets give it a buffer size of two.  Send an array of two trues to the digital write VI.  to adress the error more specificaly it would be nice to have the text of the error code and the name of the VI that thows the error.  

0 Kudos
Message 3 of 3
(3,801 Views)