Page 2
Identifies information that is critical for successful application and understanding of the product. IMPORTANT Allen-Bradley, Rockwell Automation, Logix5000, RSLogix 5000, ControlLogix, GuardLogix, CompactLogix, PowerFlex, SoftLogix, Rockwell Software, PLC-2, PLC-3, PLC-5, SLC, SLC 500, and TechConnect are trademarks of Rockwell Automation, Inc.
Summary of Changes This manual contains new and updated information. Changes throughout this revision are marked by change bars, as shown to the right of this paragraph. This table contains the changes made to this revision. New and Updated Information Topic Page Added information on the Large Connection checkbox to second footnote under...
Page 4
Summary of Changes Notes: Rockwell Automation Publication 1756-PM012D-EN-P - November 2011...
Provides declarations of conformity, certificates, and other certification details. You can view or download publications at http://www.rockwellautomation.com/ literature/. To order paper copies of technical documentation, contact your local Allen-Bradley distributor or Rockwell Automation sales representative. Rockwell Automation Publication 1756-PM012D-EN-P - November 2011...
Chapter Controller Messages Introduction This section describes how to transfer data between controllers (send or receive data) by executing a message (MSG) instruction. Cache connections and buffers are explained so you can correctly program the controller. Supported Data Types The following data types are supported when sending CIP messages: •...
Chapter 1 Controller Messages This diagram shows how the controller processes MSG instructions. Message Queue Unconnected Outgoing Cache List Buffers (10 to 40) Cached? Throttle total Destination Device Description The controller scans the MSG instruction and its rung-condition-in goes true. The message will pass to a throttle, which has 16 positions. If the throttle is full, the message will stay enabled but is held until another controller scan.
Controller Messages Chapter 1 Description The controller scans the MSG instruction. The rung-condition-in for the MSG instruction is true. The EN bit is set. The MSG instruction attempts to enter the queue but there are 16 throttle positions. If all 16 are filled and a 17th message is executed, the message goes enabled, but ...
Chapter 1 Controller Messages The controller has these limits on the number of connections that you can cache: If you have this software and Then you can cache firmware revision 11.x or earlier • Block transfer messages for up to 16 connections •...
Controller Messages Chapter 1 If a MSG instruction uses a connection, the instruction uses an unconnected buffer when it first executes to establish a connection. If you configure the instruction to cache the connection, it no longer requires an unconnected buffer once the connection is established.
Chapter 1 Controller Messages Get the Number of Unconnected Buffers To determine the number of unconnected buffers that the controller currently has available, configure a Message (MSG) instruction as follows. On this tab For this item Type or select Configuration Message Type CIP Generic Service Type...
Page 15
Controller Messages Chapter 1 To change the number of unconnected buffers of the controller, configure a Message (MSG) instruction as follows. On this tab For this item Type or select Configuration Message Type CIP Generic Service Type Custom Service Code Class Instance Attribute...
Chapter 1 Controller Messages Set the Number of Unconnected Buffers EXAMPLE If S:FS = 1 (first scan), then set the number of unconnected buffers for the controller. Source_Array[0] = 1 Source_Array[1] = 0 Source_Array[2] = 17 Source_Array[3] = 0 Source_Array[4] = 12 (The number of unconnected buffers that you want. In this example, we want 12 buffers.) If UCB_Set.EN = 0 (MSG instruction is not already enabled) then MSG instruction sets the number of unconnected buffers = Source_Array[4].
Page 17
Controller Messages Chapter 1 the message and DINTs throughout the project. This increases the efficiency of your project. Read 16-Bit Integers Data from the Buffer of INTs DINTs for use in the device project Word 1 INT_Buffer[0] DINT_Array[0] Word 2 INT_Buffer[1] DINT_Array[1] Word 3...
Page 18
Chapter 1 Controller Messages The FAL instruction sets DINT_Array = INT_Buffer. This converts the values to 32-bit integers (DINTs). Write integer values to a PLC-5 controller. EXAMPLE If Condition_2 = 1 then reset the FAL instruction. The FAL instruction sets INT_Buffer = DINT_Array. This converts the values to 16-bit integers (INTs). If Control_2.DN = 1 (FAL instruction has converted the DINTs to INTs) and Msg_2.EN = 0 (MSG instruction is not already enabled) then write the integers in INT_Buffer (3 INTs) to the PLC-5 controller.
Chapter Manage Multiple Messages Introduction You can use ladder logic to send groups of message (MSG) instructions in sequence. • To be processed, each MSG instruction must enter the message queue. • The queue holds 48 MSGs. • If more than 16 MSGs are enabled at one time, the message throttle will prevent some of the messages from being able to be placed into the message queue.
Chapter 2 Manage Multiple Messages Initialize the Logic If S:FS = 1 (first scan), then initialize the MSGs: Msg_Group = 0, which disables all the MSGs. Msg_Group.0 =1, which enables the first group of MSGs. Restart the Sequence If the MSGs in group 2 (last group) are currently enabled (Msg_Group.2 = 1) and Msg_4 is done or errored and Msg_5 is done or errored then restart the sequence of MSGs with the first group:...
Manage Multiple Messages Chapter 2 Enable the Second Group of MSGs If the MSGs in group 0 are currently enabled (Msg_Group.0 = 1) and Msg_0 is done or errored and Msg_1 is done or errored then Msg_Group.0 = 0. This disables the current group of MSGs. Msg_Group.1 = 1.
Chapter 2 Manage Multiple Messages Send the Next Group of MSGs If Msg_Group.1 changes from 0 -> 1 then send Msg_2. send Msg_3. Rockwell Automation Publication 1756-PM012D-EN-P - November 2011...
Chapter Send a Message to Multiple Controllers Introduction You can program a single message instruction to communicate with multiple controllers. To reconfigure a MSG instruction during runtime, write new values to the members of the MESSAGE data type. In the MESSAGE data type, the RemoteElement member stores the tag name or address of the data in the IMPORTANT controller that receives the message.
Chapter 3 Send a Message to Multiple Controllers You need to complete the following to send a message to multiple controllers: • Set Up the I/O Configuration • Define Your Source and Destination Elements • Create the MESSAGE_ CONFIGURATION Data Type •...
Send a Message to Multiple Controllers Chapter 3 1. Use the following worksheet to organize the tag names in the local and remote controllers. Name of Remote Controller Tag or Address of Data in Remote Controller Tag in This Controller local_array[0] local_array[1] local_array[2]...
Chapter 3 Send a Message to Multiple Controllers To store the configuration variables for the message to each controller, create the Create New Data Type following user-defined data type. Controller Your_Project Data Type: MESSAGE_CONFIGURATION Tasks Name: MESSAGE_CONFIGURATION Motion Groups Description: Configuration properties for a message to another controller Trends Members −...
Page 27
Send a Message to Multiple Controllers Chapter 3 2. Into the message_config array, enter the path to the first controller that receives the message. Tag Name Value − message_config {…} − message_config[0] {…} Right-click and select Go To > Configure. message_config[0].Path message_config[0].RemoteElement For example:...
Chapter 3 Send a Message to Multiple Controllers 4. Enter the path and remote element for each additional controller. Tag Name Value − message_config {…} − message_config[0] {…} message_config[0].Path message_config[0].RemoteElement − message_config[1] {…} message_config[1].Path message_config[1].RemoteElement Get the Size of the Local Array 43051 •...
Send a Message to Multiple Controllers Chapter 3 Load the Message Properties for a Controller 43051 1. The XIO instruction conditions the rung to continuously send the message. 2. The first COP instruction loads the path for the message. The value of index determines which element the instruction loads from message_config.
Chapter 3 Send a Message to Multiple Controllers Configure the Message Although the logic controls the remote element and path for the message, there is initial configuration. IMPORTANT 43054 Clear the Cache Connections checkbox. Table 1 - Message Configuration On this tab If you want to For this item Type or select...
Send a Message to Multiple Controllers Chapter 3 Step to the Next Controller 43051 After the MSG instruction sends the message: 1. the first ADD instruction increments index. This lets the logic load the configuration properties for the next controller into the MSG instruction. 2.
Page 32
Chapter 3 Send a Message to Multiple Controllers Notes: Rockwell Automation Publication 1756-PM012D-EN-P - November 2011...
Page 33
Index array ladder logic controller configuration 26 manage messages 19 block transfer message guidelines 13 cache connection 11 buffer controller 9 convert between 16 and 32-bit data 16 for unconnected message 12 example illustration 10 guidelines 13 limits 10 manage multiple messages 19 cache processing 10 connection 11...
Page 34
Index Notes: Rockwell Automation Publication 1756-PM012D-EN-P - November 2011...
Page 36
Rockwell Automation Support Rockwell Automation provides technical information on the Web to assist you in using its products. At http://www.rockwellautomation.com/support/, you can find technical manuals, a knowledge base of FAQs, technical and application notes, sample code and links to software service packs, and a MySupport feature that you can customize to make the best use of these tools.
Need help?
Do you have a question about the 1756-L5 and is the answer not in the manual?
Questions and answers