55xGenComm1_29 0755-27153030
49
GenComm Page 13 - Diagnostic - Digital Outputs
1. Generally these are read only registers to avoid conflict between the slave devices chosen
Output State and commands from a master. However, in some cases a slave device may
accept write commands to these registers, e.g. a hub may have digital outputs which are not
controlled by the hub itself but from a master device. A slave device may only accept write
commands to these registers if this does not cause a conflict with internally generated controls
of the outputs.
2. These registers represent the state of the actual digital outputs of the control unit after any
internal processing.
3. Unimplemented outputs (including totally unimplemented registers) return 3, not an exception.
Registers
Register
offset
Name Min value Max value Bits/ Sign
0 Fuel relay 0 3 15/16-16/16
Start relay 0 3 13/16-14/16
Reserved 0 3 11/16-12/16
Reserved 0 3 9/16-10/16
Reserved 7/16-8/16
Reserved 5/16-6/16
Reserved 3/16-4/16
Reserved 1/16-2/16
1-15 Reserved 3 3 16
16 Number of digital outputs 0 128 16
17 Digital output 1-16 De-energised Energised 16
18 Digital output 17-32 De-energised Energised 16
NOTE:- Digital outputs 1-4 correspond directly to 550 / 555 module relay outputs
1 to 4 on terminal numbers 6,7,18 & 19 or 52xx relay outputs 1 to 3 on terminals 6,7 &
8.
Digital outputs 5 & 6 correspond to 555 output relays 5 & 6 or 5220 output relays 4 &
5, usually utilised for load transfer control. Output 5 corresponds to 555 module
terminals 35 & 36 (5220 terminals 29 & 30) (volt-free, normally open), Output 6
corresponds to 555 module terminals 38, 39 & 40 (5220 terminals 27 & 28) (volt-free,
change-over)
NOTE:- 55x / 52xx Expansion outputs A1 – A8 correspond to digital output
numbers 7 to 14. 550 / 555 Expansion outputs B1 – B8 correspond to 55x digital
output numbers 15 to 22.
Digital output codes
Code Meaning
0 De-energised
1 Energised
2 Reserved
3 Unimplemented
EXAMPLE : Testing relay output status
If (Read Page12 == SUCCESSFUL)
{
If ( ( ( Page12[17] >> 15 ) & 3 ) == 1 ) printf “Relay Output 1 ENERGISED”
If ( ( ( Page12[17] >> 13 ) & 3 ) == 1 ) printf “Relay Output 1 ENERGISED”
If ( ( ( Page12[17] >> 11 ) & 3 ) == 1 ) printf “Relay Output 1 ENERGISED”