<< mdaqAITask Data acquisition mdaqAOScanData >>

MicroDAQ toolbox >> MicroDAQ toolbox > Data acquisition > mdaqAIScanTrigger

mdaqAIScanTrigger

Sets AI scan trigger

Calling Sequence

mdaqAIScanTrigger(triggerType, p1,...,pn);
mdaqAIScanTrigger(linkID, triggerType, p1,...,pn);

Description

This function configures and sets a trigger for analog input scan session. If a trigger is used, after starting analog input scanning with mdaqAIScanStart() scan operation is blocked until certain condition defined by trigger occurs. In this state, analog input samples are not acquired by MicroDAQ device. Blocked scanning session can be interrupted by calling mdaqAIScanStop(). The mdaqAIScanTrigger() function can be called only after scan initialization function mdaqAIScanInit() call and before scan start function mdaqAIScanStart() call. When scanning session uses a trigger, it is recommended to read data with timeout different than -1 (infinity) this will prevent from freezing Scilab in the case when the trigger will not occur. Only one trigger type can be used for analog input scanning session. When a function is called more then one time it will overwrite previous trigger configuration. Function mdaqAIScanInit() disables trigger.

The function allows configuring different trigger types which are defined by trigger type string.

Supported triggers types:

Input arguments

Examples

dioValue trigger type - start data acquisition from AI1 analog input when DIO7 state is high

mdaqAIScanInit(1, [-10,10], %F, 10000, 1)
mdaqAIScanTrigger("dio", 7, 1);
data = mdaqAIScanRead(10000, 10);
plot(data);

dioPattern trigger type - start data acquisition from AI1 analog input when DIO7 state is high

mdaqAIScanInit(1, [-10,10], %F, 10000, 1)
mdaqAIScanTrigger("dioPattern", "xxxxxx1x");
data = mdaqAIScanRead(10000, 10);
plot(data);

dioPattern trigger type - start data acquisition from AI1 analog input when DIO7 state is high and DIO6 is low

mdaqAIScanInit(1, [-10,10], %F, 10000, 1)
mdaqAIScanTrigger("dioPattern", "xxxxx01x");
data = mdaqAIScan(10000, 10);
plot(data);

encoderValue trigger type - start data acquisition from AI1 analog input when encoder channel 1 value is greater then 1000

mdaqEncoderInit(1, 0);
mdaqAIScanInit(1, [-10,10], %F, 10000, 1)
mdaqAIScanTrigger("encoder", 1, 1000, 1);
data = mdaqAIScanRead(10000, 10);
plot(data);

encoderValue trigger type - start data acquisition from AI1 analog input when encoder channel 2 value is lower then 0

mdaqEncoderInit(2, 0, "quadrature");
mdaqAIScanInit(1, [-10,10], %F, 10000, 1)
mdaqAIScanTrigger("encoder", 2, 0, 0);
data = mdaqAIScanRead(10000, 10);
plot(data);

dspStart trigger type - synchronize AI scan start with DSP application start

mdaqAIScanInit(1, [-10,10], %F, 10000, 1)
mdaqAIScanTrigger("dsp");
data = mdaqAIScanRead(10000, 2);
plot(data);

aoStart trigger type - synchronize AI scan start with AO scan start

mdaqAIScanInit(1, [-10,10], %F, 10000, 1)
mdaqAIScanTrigger("dsp");
data = mdaqAIScanRead(10000, 2);
plot(data);

See Also


Report an issue
<< mdaqAITask Data acquisition mdaqAOScanData >>