Rockwell Automation Publication CNET-UM001F-EN-P - February 2018  89 
Function  Guidelines 
If your MSG is to a module that uses 16-bit 
integers, use a buffer of INTs in the MSG 
and DINTs throughout the project. 
If your message is to a module that uses 16-bit integers, such as an SLC 500 
controller, and it transfers integers, not REALs, use a buffer of INTs in the 
message and DINTs throughout the project. 
This increases the efficiency of your project because Logix 5000 controllers 
execute more efficiently and use less memory when working with 32-bit 
integers (DINTs). 
If you want to enable more than 16 MSGs 
at one time, use some type of management 
strategy. 
If you enable more than 16 MSGs at one time, some MSG instructions may 
experience delays in entering the queue. To guarantee the execution of each 
message, you can take these actions: 
•  Enable each message in sequence. 
•  Enable the messages in smaller groups. 
•  Program a message to communicate with multiple modules. 
•  Program logic to coordinate the execution of messages. 
Cache connected MSGs that execute most 
frequently. 
Cache the connection for those MSG instructions that execute most frequently, 
up to the maximum number permissible for your controller revision. 
This optimizes execution time because the controller does not have to open a 
connection each time the message executes. 
Limit the number of unconnected and 
uncached MSGs to fewer than the number 
of unconnected buffers. 
The controller can have 10...40 unconnected outgoing buffers: 
•  The default number is 10. 
•  If all the unconnected buffers are in use when an instruction leaves the 
message queue, the instruction errors and does not transfer the data. 
•  You can increase the number of unconnected buffers to a maximum of 40. 
For more information on programming MSG instructions, see the Logix 5000 
Controllers General Instructions Reference Manual, publication 
1756-
RM003. The individual system user manuals for Logix 5000 controllers also 
provide MSG examples unique to specific controller platforms. 
Messages transfer data to other modules, such as other controllers, I/O 
modules or operator interfaces. Each message uses one connection, 
regardless of how many modules are in the message path. To conserve 
connections, you can configure one message to read from or write to 
multiple modules. Also, you can configure multiple messages for the same 
path and use only one connection if only one message is active at a time; 
however, this requires that you write your ladder logic correctly to make sure 
that only one message is active at any time. 
These connected messages can leave the connection open (cache) or close the 
connection when the message has finished transmitting. 
Table 22 - Message Connections and Communication Methods 
Message Type  Communication Method  Connection 
Required 
CIP data table read or write  CIP  Yes 
CIP generic  CIP  Optional(1)  
Block-transfer read or write  Not applicable  Yes 
 
Connections for 
Messages