ProSoft Technology MVI56E-MCM/MCMXT User Manual
Page 169

MVI56E-MCM ♦ ControlLogix Platform
Reference
Modbus Communication Module
User Manual
ProSoft Technology, Inc.
Page 169 of 199
June 18, 2014
6.8.9 Force Multiple Coils (Function Code 15)
Query
This Function Code forces each coil (Modbus 0x range) in a consecutive block of
coils to a desired ON or OFF state. 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 coils are disabled, the controller can also alter the state of
the coil. Coils are numbered from zero (coil 00001 = zero, coil 00002 = one, and
so on). The desired status of each coil is packed in the data field, one bit for each
coil (1= ON, 0= OFF). The use of Slave address 0 (Broadcast Mode) will force all
attached Slaves to modify the desired coils.
Note: Functions 5, 6, 15, and 16 are the only messages (other than Loopback Diagnostic Test) that
will be recognized as valid for broadcast.
The following example forces 10 coils starting at address 20 (13 HEX). The two
data fields, CD =1100 and 00 = 0000 000, indicate that coils 27, 26, 23, 22, and
20 are to be forced on.
Note: This is the structure of the message being sent out to the Modbus network. The byte values
below are in hexadecimal display.
Adr
Func
Hi Add Lo
Add
Quantity
Byte
Cnt
Data Coil Status
20 to 27
Data Coil Status
28 to 29
Error Check
Field
0B
0F
00
13
00
0A
02
CD
00
CRC
Response
The normal response will be an echo of the Slave address, function code,
starting address, and quantity of coils forced.
Adr
Func
Hi Addr
Lo Addr
Quantity
Error Check Field
0B
0F
00
13
00
0A
CRC
The writing of coils via Modbus function 15 will be accomplished regardless of
whether the addressed coils are disabled or not.
Coils that are not programmed in the controller logic program are not
automatically cleared upon power up. Thus, if such a coil is set ON by function
code 15 and (even months later) an output is connected to that coil, the output is
hot.