Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Constant pulse to digital output for simple failsafe?

I am new to Labview and CDAQ, and a mech engineer. Student is setting up system for me. Please excuse if simple...

 

We have CDAQ 9188 chasis, and DO 9472 (among other boards), driven by LabVIEW. One channel of DO is an "enable" for our external hardware system. I would like that line to go to "false" if network comm is lost. I know the CRIO has built-in network failsafe, but it appears CDAQ does not.

 

I am thinking something along the following lines. Is this possible?

 

Instead of a simple switched DO for system enable, if I send a "true" "pulse" to the output, say 5 seconds long, with length measured/set by CDAQ timer/counter system (internal timer? I don't want to have to provide a source signal externally) (this is where I get lost). The pulse would be "triggered" by a software signal from LabVIEW. Then, the pulse would be "retriggerable". I would "trigger" the pulse from LabView, say every 1 second. If this works like I imagine, then the output would stay "true" as long as LabView keeps sending triggers. If LabView, or the PC, or the network hangs, the triggers would stop, and 5 seconds later, the output would drop to "false".

 

Is this a possible thing? If so, can someone point me in the right direction (setup of the pulse, triggering)?

 

Thanks in advance

Chuck

 

 

 

0 Kudos
Message 1 of 6
(5,369 Views)

ceandra wrote:

I am new to Labview and CDAQ, and a mech engineer. Student is setting up system for me. Please excuse if simple...

 

We have CDAQ 9188 chasis, and DO 9472 (among other boards), driven by LabVIEW. One channel of DO is an "enable" for our external hardware system. I would like that line to go to "false" if network comm is lost. I know the CRIO has built-in network failsafe, but it appears CDAQ does not.

 

I am thinking something along the following lines. Is this possible?

 

Instead of a simple switched DO for system enable, if I send a "true" "pulse" to the output, say 5 seconds long, with length measured/set by CDAQ timer/counter system (internal timer? I don't want to have to provide a source signal externally) (this is where I get lost). The pulse would be "triggered" by a software signal from LabVIEW. Then, the pulse would be "retriggerable". I would "trigger" the pulse from LabView, say every 1 second. If this works like I imagine, then the output would stay "true" as long as LabView keeps sending triggers. If LabView, or the PC, or the network hangs, the triggers would stop, and 5 seconds later, the output would drop to "false".

 

Is this a possible thing? If so, can someone point me in the right direction (setup of the pulse, triggering)?

 

Thanks in advance

Chuck

 

 

 


if you lost connection, that would output an error(which is a cluster of status, mode, and text)..."status" logic output of an error is "true", therefore no error is "false". software wise, write your error status (bundled out) data to your DO output(depending if the "enable" is an active hi or lo, you will have to provide the not(bool invert) funtion if needed?).

error_VI_BD.png

0 Kudos
Message 2 of 6
(5,344 Views)

Thanks for replying.

 

We are trapping the error of lost communication.

 

However, in this post, I am concerned about the PC hanging, and therefore the "software" is dead. I am sorry, I failed to make that clear in my original post. The intent is to have some mechanism such that the CDAQ (not CRIO) would then turn off the system enable DO line if the CDAQ was no longer "hearing" from the PC and LabView.

 

In the past, we have done this with a pair of external time delay relays. However, with modern equipment, I am hoping to do this onboard the CDAQ without additional hardware.

 

Thanks

Chuck

0 Kudos
Message 3 of 6
(5,339 Views)

Hi ceandra,

 

You can start with this example: Hardware Inpunt and Output -> Counter Output-> Counter – Single Pulse Output.vi from the LabVIEW Example Finder (you can find it under the Help menu). I’m guessing that a recursive call of this VI will perform the behavior that you are expecting.

 

Regards,

 

Mcoto

0 Kudos
Message 4 of 6
(5,331 Views)

Mcoto:

 

Thanks for the suggestion.

 

We are using LabVIEW 2011 service pack 1. It does not appear to have this sample VI. Could you either post it, or PM to me?

 

Thanks

Chuck

0 Kudos
Message 5 of 6
(5,318 Views)

Hi ceandra,

 

Sure, here it is. Checking for the same examples on LabVIEW 2011, I found that there are more options in LabVIEW 11. If you want to take a look to this examples you can find them here:

 

Hardware Inpunt and Output -> DAQmx-> Generating Digital Pulses

 

I believe that you can take some ideas from these VIs:

  • Gen Dig Pulse-Retriggerable.vi
  • Gen Dig Pulse.vi
  • Gen Dig Pulse-Dig Start.vi
  • Gen Dig Pulse Train-Finite-Retriggerable.vi

 

Regards,

Mcoto

0 Kudos
Message 6 of 6
(5,306 Views)