2470 High Voltage SourceMeter Instrument Reference Manual
Section 8: Triggering
2470-901-01 Rev. A /
May
2019
8-11
The programming example below generates output triggers using the assert function of the trigger
object.
-- Generate a 20 us pulse on digital I/O line 3.
digio.line[3].mode = digio.MODE_TRIGGER_OUT
trigger.digout[3].pulsewidth = 20e-6
trigger.digout[3].assert()
-- Generate a rising edge trigger on TSP-Link sync line 1.
tsplink.line[1].mode = tsplink.MODE_TRIGGER_OPEN_DRAIN
trigger.tsplinkin[1].edge = trigger.EDGE_RISING
trigger.tsplinkout[1].logic = trigger.LOGIC_POSITIVE
trigger.tsplinkout[1].assert()
-- Generate a LAN trigger on LAN pseudo line 6.
-- Note that connection parameters and commands that
-- establish a connection are not shown.
trigger.lanout[6].assert()
Use the release function to allow the hardware line to output another external trigger when the pulse
width is set to 0.
Setting the pulse width to 0 results in an indefinite length pulse when the assert function is used to
output an external trigger. When an indefinite length pulse is used, the release function must be used
to release the line before another external trigger can be output.
The release function can also be used to release latched input triggers when the hardware line mode
is set to synchronous. In synchronous mode, the receipt of a falling edge trigger latches the line low.
The release function releases this line high in preparation for another input trigger.
The programming example below illustrates how to output an indefinite external trigger.
-- Set digio line 1 to output an indefinite external trigger.
digio.line[1].mode = digio.MODE_TRIGGER_OUT
trigger.digout[1].logic = trigger.LOGIC_NEGATIVE
trigger.digout[1].pulsewidth = 0
trigger.digout[1].assert()
-- Release digio line 1.
trigger.digout[1].release()
-- Output another external trigger.
trigger.digout[1].assert()
For information about hardware lines, see
(on page 9-6).
The programming example below checks and responds to detector overruns.
testOver = trigger.digin[4].overrun
if testOver == true then
print("Digital I/O overrun occurred.")
end