Force Single Coil (Function Code 05)
Query
This Function Code forces one coil (Modbus 0x range) either ON or OFF. Any coil that
exists within the controller can be forced to either state (ON or OFF). However,
because the controller is actively scanning, unless the coil is disabled, the
controller can also alter the state of the coil. Coils are numbered from zero (coil
0001 = zero, coil 0002 = one, and so on). The data value 65,280 (FF00 HEX) sets the
coil ON and the value zero turns it OFF; all other values are illegal and do not
affect that coil.
The use of slave address 00 (Broadcast Mode) forces all attached slaves to modify the
desired coil.
TIP:
Functions 5, 6, 15, and 16 are the only messages that are recognized as valid
for broadcast. This is the structure of the message being sent out to the
Modbus network. The following byte values are displayed in hexadecimal
format.
The following example is a request to slave number 11 to turn ON coil 0173.
Node Address
| Function Code
| Data Start Bit High
| Data Start Bit Low
| Number of Bits High
| Number of Bits Low
| Error Check Field (2 bytes)
|
0B | 05 | 00 | AC | FF | 00 | CRC |
Response
The normal response to the Command Request is to retransmit the message as received
after the coil state has been altered.
Node Address
| Function Code
| Data Coil Bit High
| Data Coil Bit Low
| Data On/Off
| Data
| Error Check Field (2 bytes)
|
0B | 05 | 00 | AC | FF | 00 | CRC |
The forcing of a coil via Modbus function 5 happens regardless of whether the
addressed coil is disabled or not (In ProSoft products, the coil is only affected if
you implement the necessary Ladder Logic).
IMPORTANT:
The Modbus protocol excludes standard
functions for testing or changing the DISABLE state of discrete inputs or
outputs. Where applicable, this can be accomplished via device-specific Program
commands (In ProSoft products, this is only accomplished through Ladder Logic
programming).
Coils that are reprogrammed in the controller logic program are not automatically
cleared upon power-up. Thus, if such a coil is set ON by function Code 5 and (even
months later), an output is connected to that coil, the output is “hot”.
Provide Feedback