This is an old revision of the document!
The following documentation describes the CFLink protocol for modular IO devices.
Throughout this document, the configuration and status of each port <MODE> and it's associated <STATE> refers to the following possibilities:
D
= D
ry contact input (Default mode), <STATE> = 0
for Open, 1 for Closed.R
= R
esistance reading input, <STATE> = 000
-100
(0 to 10,000 Ohms in 100 Ohm increments)A
= A
nalog Voltage reading input, <STATE> = 000
-100
(00.0 to 10.0 Volts DC in 0.1 Volt increments)V
= Digital Voltage reading input, <STATE> = 0
for voltage below threshold, 1
for voltage equal to or above thresholdS
= Video Sensing input, <STATE> = 0
for no video sensed, 1
for video sensed.E
= External relay control output, 0-24V DC (external power supply required), <STATE> = 0
for OFF, 1
for ON.L
= LED output (1mA), <STATE> = 0
for OFF, 1
for ON.
The STA
(Status) query returns the status of all IO ports in a single module.
> [F2]<ID>[F3]QIOXSTA[F4]<MODULE>[F5][F5]
M1
= Module 1, M4
= Module 4.
< [F2]<ID>[F3]RIOXSTA[F4]<MODULE>|<IODATA>[F5][F5]
P##:<MODE>:<STATE>
format.
// Query the state of IO ports in Module 2 of a modular device on CFLink ID [04] > [F2][04][F3]QIOXSTA[F4]M2[F5][F5] // Reply, Module has 8 IO ports < [F2][04][F3]RIOXSTA[F4]M2|P01:D:0|P02:D:1|P03:R:010|P04:V:125|P05:E:0|P06:L:1|P07:D:0|P08:S:1[F5][F5] // Port 1 = Dry contact, Off // Port 2 = Dry contact, On // Port 3 = Resistence, 1000 Ohm reading // Port 4 = Voltage, 12.5V reading // Port 5 = External relay control, Off // Port 6 = LED ouput, On // Port 7 = Dry contact, Off // Port 8 = Video Sense, video signal present.
The PRT
(Port) query returns the configuration for all IO ports in a single module.
> [F2]<ID>[F3]QIOXPRT[F4]<MODULE>[F5][F5]
M1
= Module 1, M4
= Module 4.
< [F2]<ID>[F3]RIOXPRT[F4]<MODULE>|<PORT_CONFIG>[F5][F5]
P##:<MODE>:<MIN_CHANGE>:<POWER_ON_STATE>
format.0
means reporting on change is disabled, and on change reporting can be disabled on a module level as well.0
(zero) is always returned for ports in modes D, E and L.0
(zero) is always returned for ports in modes D, R and V.
// Query the configuration of IO ports in Module 1 of a modular device on CFLink ID [04] > [F2][04][F3]QIOXPRT[F4]M1[F5][F5] // Reply, Module has 8 IO ports < [F2][04][F3]RIOXPRT[F4]M1|P01:D:0:0|P02:D:0:0|P03:R:15:0|P04:V:12:0|P05:E:0:0|P06:L:0:1|P07:D:0:0|P08:D:0:0[F5][F5] // Port 1 = Dry contact // Port 2 = Dry contact // Port 3 = Resistence, 1500 Ohm minimum change // Port 4 = Voltage, 1.2 V minimum change // Port 5 = External relay control, Power On State = Off // Port 6 = LED ouput, Power On State = On // Port 7 = Dry contact // Port 8 = Dry contact
The CFG
(Configuration) query returns the configuration of a single IO module.
> [F2]<ID>[F3]QIOXCFG[F4]<MODULE>[F5][F5]
M1
= Module 1, M4
= Module 4.
< [F2]<ID>[F3]RIOXCFG[F4]<MODULE>:<ENABLED>:<REPORT_ON_CHANGE>:<REPORT_INTERVAL>[F5][F5]
0
= disabled, 1
= enabled.0
= Disable report on change, 1
= Enable report on change.00000
= Module will not report on any interval (disabled).00001
= Module will report every 0000.1 seconds (100ms).00600
= Module will report every minute.36000
= Module will report every hour.99999
= Module will report every 9999.9 seconds (2h46m39s900ms or 9,999,900ms)