6This example shows basic FNet DIO controller initialization and usage.
10import isystem.connect
as ic
17 connMgr = ic.ConnectionMgr()
18 connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
21 SessionCtrl = ic.CSessionCtrl(connMgr)
22 FNetCtrl = ic.CFNetCtrl(connMgr)
23 DIOCtrl = FNetCtrl.DIO(
'ADIO.DIO1')
27 optDIOCfg = DIOCtrl.cfg()
31 optDIOCfg.set_bank(nBank = 0, bOutput =
False, dThreshold = 3.3)
33 optDIOCfg.set_bank(nBank = 3, bOutput =
True, dThreshold = 3.3)
37 nMyOtherOutputChannel = 27
38 optDIOCfg.set_channel(nChannel = nMyInputChannel, strName =
'MyInputChannel', bShow =
True, bInitialHi =
False)
39 optDIOCfg.set_channel(nChannel = nMyOtherOutputChannel, strName =
'MyOtherOutputChannel', bShow =
True, bInitialHi =
False)
44 SessionCtrl.begin_prepare()
53 optDIOOp = DIOCtrl.op()
55 DIOCtrl.op_qualifier_enable(FTrig)
56 DIOCtrl.op_qualifier_enable_on_start(
False)
59 optDIOOp.set_record(ic.ERecord_ALL)
62 optComparator = optDIOOp.opt_comparator(0)
64 optComparator.set_channel_ignore_all()
66 optComparator.set_channel_state(nMyInputChannel, bHi =
True)
68 optComparator.set_FTrig(FTrig)
71 optDIOOp.set_action(nAction = 1, nFTrig = FTrig, nChannel = nMyOutputChannel, bHi =
True)
74 optPattern = optDIOOp.opt_pattern(nPattern)
76 vPatternChannels = ic.IntVector([nMyOutputChannel, nMyOtherOutputChannel])
77 optPattern.set_channels(vPatternChannels)
79 optPattern.set_operation(ic.EOperation_CONTINUOUS)
81 optPattern.set_pattern(
"10,3ms;01,5ms")
83 optPattern.set_start(FTrig,
False)
85 optPattern.set_stop(FTrigStop,
False)
92 ChannelState = DIOCtrl.ctrl_get_channel(nMyInputChannel)
93 DIOCtrl.ctrl_set_channel(nMyOutputChannel, ChannelState)
96 DIOCtrl.ctrl_start_pattern(nPattern)
98 DIOCtrl.ctrl_stop_pattern(nPattern)
99except Exception
as ex: