Skip to content

Digital I/O PVs

The DMC-41x3 has optoisolated digital I/O. Controllers with 1-4 axes provide 8 inputs (bank 0) and 8 outputs. Controllers with 5-8 axes provide an additional 8 inputs (bank 1) and 8 outputs. The IOC uses the Galil @IN (Read digital input) command for reads and SB/CB (Set Bit/Clear Bit) for writes. Values come from the data record.

Digital Inputs

Template: galil_digital_in_bit.template

PV pattern: $(P)$(R)_STATUS. Uses asynUInt32Digital with bit masks.

PV Suffix Record Type asyn drvInfo Galil Cmd Description
_STATUS bi BINARY_IN @IN, from data record Digital input bit state

Template macros:

Macro Description
BYTE Hardware byte (0-2)
MASK Bit mask for this bit
ZNAM / ONAM State names for 0 and 1
ZSV / OSV Alarm severities for each state

Digital Outputs

Template: galil_digital_out_bit.template

PV pattern: $(P)$(R)_.

PV Suffix Record Type asyn drvInfo Galil Cmd Description
_STATUS bi BINARY_OUTRBV Data record Digital output bit readback
_CMD bo BINARY_OUT SB/CB (Set Bit/Clear Bit) Set digital output bit

Template macros:

Macro Description
WORD Hardware word (0-2)
MASK Bit mask for this bit
ZNAM / ONAM State names for 0 and 1
ZSV / OSV Alarm severities for each state

The bit numbering maps to physical I/O ports on the controller. Bank 0 corresponds to byte 0 in the data record, and so on.