Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Maintaining previous idle state while loading a waveform

Hi,

 

Is it possible to generate waveform1, in idle state hold the last bits of waveform1 (using 'X' in the idle state function), then load waveform2 while still maintaining the idle state from waveform1, and then generate waveform2 having it start from the idle state of waveform1?  Or is the idle state lost when waveform2 is loaded and/or initiated?

 

Thanks!

 

0 Kudos
Message 1 of 5
(5,194 Views)

Hello hch3, 

 

I am not sure if I understand your question correctly. Are you trying to acquire data from a device? Can you explain a little more of what you want to do please? Meanwhile, I do not know if you have seen the following link:

 

http://www.ni.com/examples/

 

Here you may find an example that may be related to what you are attempting to do.  Also you can check the LabVIEW menu: Help/ Find Examples... and see if you find something useful for you there. 

 

Regards.

0 Kudos
Message 2 of 5
(5,165 Views)

Hi NetoNI,

 

I apologize for my hurried question.  I attached a drawing hopefully highlighting what I'm trying to get across.  Basically what I need to understand is what is the state of the DIO channels when loading a new waveform into the 6556 memory.

 

Thanks,

hch3

0 Kudos
Message 3 of 5
(5,145 Views)

Hello hch3,

 

 

For what I understand, you basically want to select a specific waveform as an output when you use a trigger and you want to monitor the state of some lines. To do that, I would recommend you to use a state machine and in the monitoring part use indicators.

 

 

Here is a link that you can use as a guide for using state machines in LabVIEW.

 

 

Tutorial: State Machines

http://www.ni.com/white-paper/7595/en/

 

I hope this is what you were looking for.

 

 

Regards

0 Kudos
Message 4 of 5
(5,121 Views)

Hi hch3,

 

Our Digital boards hold last value when in generation mode. So they will hold the last state by default, and once stopped will hold last value until the board is reset. You can then load a waveform, while it holds last state, and once starting your generation session again, it will generate waveform 2 as you expect.

 

Some terminology discussion: An Idle State is what happens you are waiting for a trigger, you are in a pause trigger state, or the board completes normally. It sounds like in your scenario, you are outside of a session and you are loading a new waveform to be generated by your session. In this case, the board will hold its last value (default Idle State setting).

 

We give customers the ability to change the idle state behavior though the niHSDIO_ConfigureIdleState function or Configure Idle State VI. It is default hold last value, but you can set it to logic high, logic low, or tristate if you desire.

 

If you do not want to hold last value any longer for any reason, the HSDIO Tristate VI is what I would recommend to set the data lines back to their initial default state. Calling a board reset will cause the data lines to tristate as well.

Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 5 of 5
(5,097 Views)