logix5000 controllers messages - e- · pdf fileimportant user information solid state...
TRANSCRIPT
Programming Manual
Catalog Numbers 1756-L1 1756-L55 1756-L61 1756-L62 1756-L63 1769-
L31 1769-L32C 1769-L32E 1769-L35CR 1769-L35E 1789-L60 1794-L34
PowerFlex 700SSE
Logix5000 Controllers Messages
Important User InformationSolid state equipment has operational characteristics differing from those of electromechanical equipment Safety Guidelines for the Application Installation and Maintenance of Solid State Controls (publication SGI-11 available from your local Rockwell Automation sales office or online at httpliteraturerockwellautomationcom) describes some important differences between solid state equipment and hard-wired electromechanical devices Because of this difference and also because of the wide variety of uses for solid state equipment all persons responsible for applying this equipment must satisfy themselves that each intended application of this equipment is acceptable
In no event will Rockwell Automation Inc be responsible or liable for indirect or consequential damages resulting from the use or application of this equipment
The examples and diagrams in this manual are included solely for illustrative purposes Because of the many variables and requirements associated with any particular installation Rockwell Automation Inc cannot assume responsibility or liability for actual use based on the examples and diagrams
No patent liability is assumed by Rockwell Automation Inc with respect to use of information circuits equipment or software described in this manual
Reproduction of the contents of this manual in whole or in part without written permission of Rockwell Automation Inc is prohibited
Throughout this manual when necessary we use notes to make you aware of safety considerations
Allen-Bradley Rockwell Automation and TechConnect are trademarks of Rockwell Automation Inc
Trademarks not belonging to Rockwell Automation are property of their respective companies
WARNINGIdentifies information about practices or circumstances that can cause an explosion in a hazardous environment which may lead to personal injury or death property damage or economic loss
IMPORTANT Identifies information that is critical for successful application and understanding of the product
ATTENTION Identifies information about practices or circumstances that can lead to personal injury or death property damage or economic loss Attentions help you identify a hazard avoid a hazard and recognize the consequence
SHOCK HAZARD Labels may be on or inside the equipment for example a drive or motor to alert people that dangerous voltage may be present
BURN HAZARD Labels may be on or inside the equipment for example a drive or motor to alert people that surfaces may reach dangerous temperatures
Table of ContentsPreface Purpose of this Manual 5
How to Use this Manual 5
Chapter 1Controller Messages Introduction 7
Message Queue 8Cache List 9Unconnected Buffers 10Guidelines 11Get or Set the Number of Unconnected Buffers 12
Get the Number of Unconnected Buffers 12Set the Number of Unconnected Buffers 13
Convert Between INTs and DINTs 15
Chapter 2Manage Multiple Messages Introduction 17
How to Use this Example Logic 17Message Manager Logic 18
Initialize the Logic 18Restart the Sequence If Required 18Send the First Group of MSGs 19Enable the Next Group of MSGs 19Send the Next Group of MSGs 20Enable the Next Group of MSGs 20Send the Next Group of MSGs 21
Chapter 3Send a Message to Multiple Controllers
Introduction 23Set Up the IO Configuration 24Define Your Source and Destination Elements 25Create the MESSAGE_ CONFIGURATION Data Type 26Create the Configuration Array 27Get the Size of the Local Array 30Load the Message Properties for a Controller 30Configure the Message 31
Step to the Next Controller 33Restart the Sequence 33
3Publication 1756-PM012B-EN-P - July 2008 3
4 Publication 1756-PM012B-EN-P - July 2008
Preface
Purpose of this Manual This manual shows how to program MSG instructions to and from Logix5000 controllers This manual is one of a set of related manuals that show common procedures for programming and operating Logix5000 controllers For a complete list of common procedures manuals see the Logix 5000 Controllers Common Procedures Programming Manual publication 1756-PM001
The term Logix5000 controller refers to any controller that is based on the Logix5000 operating system such as
bull CompactLogix controllersbull ControlLogix controllersbull DriveLogix controllersbull FlexLogix controllersbull SoftLogix5800 controllers
How to Use this Manual Some text is formatted differently from the rest of the text
Text that is Identifies For example Means
Italic the actual name of an item that you see on your screen or in an example
Right-click User-Defined hellip Right-click the item that is named User-Defined
courier information that you must supply based on your application (a variable)
Right-click name_of_program hellip
You must identify the specific program in your application Typically it is a name or variable that you have defined
enclosed in brackets a keyboard key Press [Enter] Press the Enter key
5Publication 1756-PM012B-EN-P - July 2008 5
Preface
Notes
6 Publication 1756-PM012B-EN-P - July 2008
Chapter 1
Controller Messages
Introduction To transfer data between controllers (send or receive data) execute a Message (MSG) instruction
This diagram shows how the controller processes MSG instructions
EXAMPLE Execute a Message (MSG) Instruction
If count_send = 1 and count_msgEN = 0 (MSG instruction is not already enabled) then execute a MSG instruction that sends data to another controller
count_send
count_msgen
ENDNER
Type - UnconfiguredMessage Controlcount_msg
MSG
Description
The controller scans the MSG instruction and its rung-condition-in goes true
The MSG instruction enters the message queue
The MSG instruction comes off the queue and is processed
If the MSG instruction Then the MSG instruction
Does not use a connection or the connection was not previously cached
uses an unconnected buffer to establish communication with the destination device
Uses a connection and the connection is cached does not use an unconnected buffer
Communication occurs with the destination device
Message Queue
MSG
Yes
Unconnected Buffers
No
destination device
Cached
16 total
1 2 43 Cache List
1
2
3
4
7Publication 1756-PM012B-EN-P - July 2008 7
Chapter 1 Controller Messages
Message Queue The message queue holds up to 16 MSG instructions including those that you configure as a block-transfer read or block-transfer write When the queue is full an instruction tries to enter the queue on each subsequent scan of the instruction as shown below
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 the queue is full (16 MSG instructions are already enabled)
The EW bit remains cleared
amp The controller scans the MSG instruction
The rung-condition-in for the MSG instruction is false
The EN bit remains set
The MSG instruction attempts to enter the queue but the queue is full
The EW bit remains cleared
The controller scans the MSG instruction
The MSG instruction attempts to enter the queue The queue has room so the instruction enters the queue
The EW bit is set
rung-condition-in false true false
EN bit off on
EW bit off on
1 2 3 4
1
2 3
4
8 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Cache List Depending on how you configure a MSG instruction it may use a connection to send or receive data
If a MSG instruction uses a connection you have the option to leave the connection open (cache) or close the connection when the message is done transmitting
The controller has these limits on the number of connections that you can cache
This type of message And this communication method Uses a connection
CIP data table read or write
PLC2 PLC3 PLC5 or SLC (all types) CIP
CIP with Source ID
DH+
CIP generic your option (1)
block-transfer read or write
(1) You can connect CIP generic messages But for most applications we recommend you leave CIP generic messages unconnected
If you Then
Cache the connection The connection stays open after the MSG instruction is done This optimizes execution time Opening a connection each time the message executes increases execution time
Do not cache the connection
The connection closes after the MSG instruction is done This frees up that connection for other uses
If you have this software and firmware revision
Then you can cache
11x or earlier bull Block transfer messages for up to 16 connections
bull Other types of messages for up to 16 connections
12x or later Up to 32 connections
Publication 1756-PM012B-EN-P - July 2008 9
Chapter 1 Controller Messages
If several messages go to the same device the messages may be able to share a connection
Unconnected Buffers To establish a connection or process unconnected messages the controller uses an unconnected buffer
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
If the MSG instructions are to And they are Then
Different devices Each MSG instruction uses 1 connection
Same device Enabled at the same time Each MSG instruction uses 1 connection
Not enabled at the same time The MSG instructions share the connection (For example together they count as 1 connection)
EXAMPLE Share a Connection
If the controller alternates between sending a block-transfer read message and a block-transfer write message to the same module then together both messages count as 1 connection Caching both messages counts as 1 on the cache list
Term Definition
Unconnected buffer An allocation of memory that the controller uses to process unconnected communication The controller performs unconnected communication when it
bull establishes a connection with a device including an IO module
bull executes a MSG instruction that does not use a connection
The controller can have 10 - 40 unconnected buffers
bull The default number is 10
bull To increase the number of unconnected buffers execute a MSG instruction that reconfigures the number of unconnected buffers
bull Each unconnected buffers uses 11K bytes of memory
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and data does not transfer
10 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Guidelines As you plan and program your MSG instructions follow these guidelines
Guideline Details
1 For each MSG instruction create a control tag
Each MSG instruction requires its own control tag
bull Data type = MESSAGE
bull Scope = controller
bull The tag cannot be part of an array or a user-defined data type
2 Keep the source andor destination data at the controller scope
A MSG instruction can access only tags that are in the Controller Tags folder (controller scope)
3 If your MSG is to a device that uses 16-bit integers use a buffer of INTs in the MSG and DINTs throughout the project
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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 Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
Refer to Convert Between INTs and DINTs on page 15
4 Cache the 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
5 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 use one of these options
bull Enable each message in sequence
bull Enable the messages in groups
bull Program a message to communicate with multiple devices
bull Program logic to coordinate the execution of messages
6 Keep the number of unconnected and uncached MSGs less than the number of unconnected buffers
The controller can have 10 - 40 unconnected buffers The default number is 10
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and does not transfer the data
bull You can increase the number of unconnected buffers (40 max) but continue to follow guideline 5
bull To increase the number of unconnected buffers see page 12
Publication 1756-PM012B-EN-P - July 2008 11
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Important User InformationSolid state equipment has operational characteristics differing from those of electromechanical equipment Safety Guidelines for the Application Installation and Maintenance of Solid State Controls (publication SGI-11 available from your local Rockwell Automation sales office or online at httpliteraturerockwellautomationcom) describes some important differences between solid state equipment and hard-wired electromechanical devices Because of this difference and also because of the wide variety of uses for solid state equipment all persons responsible for applying this equipment must satisfy themselves that each intended application of this equipment is acceptable
In no event will Rockwell Automation Inc be responsible or liable for indirect or consequential damages resulting from the use or application of this equipment
The examples and diagrams in this manual are included solely for illustrative purposes Because of the many variables and requirements associated with any particular installation Rockwell Automation Inc cannot assume responsibility or liability for actual use based on the examples and diagrams
No patent liability is assumed by Rockwell Automation Inc with respect to use of information circuits equipment or software described in this manual
Reproduction of the contents of this manual in whole or in part without written permission of Rockwell Automation Inc is prohibited
Throughout this manual when necessary we use notes to make you aware of safety considerations
Allen-Bradley Rockwell Automation and TechConnect are trademarks of Rockwell Automation Inc
Trademarks not belonging to Rockwell Automation are property of their respective companies
WARNINGIdentifies information about practices or circumstances that can cause an explosion in a hazardous environment which may lead to personal injury or death property damage or economic loss
IMPORTANT Identifies information that is critical for successful application and understanding of the product
ATTENTION Identifies information about practices or circumstances that can lead to personal injury or death property damage or economic loss Attentions help you identify a hazard avoid a hazard and recognize the consequence
SHOCK HAZARD Labels may be on or inside the equipment for example a drive or motor to alert people that dangerous voltage may be present
BURN HAZARD Labels may be on or inside the equipment for example a drive or motor to alert people that surfaces may reach dangerous temperatures
Table of ContentsPreface Purpose of this Manual 5
How to Use this Manual 5
Chapter 1Controller Messages Introduction 7
Message Queue 8Cache List 9Unconnected Buffers 10Guidelines 11Get or Set the Number of Unconnected Buffers 12
Get the Number of Unconnected Buffers 12Set the Number of Unconnected Buffers 13
Convert Between INTs and DINTs 15
Chapter 2Manage Multiple Messages Introduction 17
How to Use this Example Logic 17Message Manager Logic 18
Initialize the Logic 18Restart the Sequence If Required 18Send the First Group of MSGs 19Enable the Next Group of MSGs 19Send the Next Group of MSGs 20Enable the Next Group of MSGs 20Send the Next Group of MSGs 21
Chapter 3Send a Message to Multiple Controllers
Introduction 23Set Up the IO Configuration 24Define Your Source and Destination Elements 25Create the MESSAGE_ CONFIGURATION Data Type 26Create the Configuration Array 27Get the Size of the Local Array 30Load the Message Properties for a Controller 30Configure the Message 31
Step to the Next Controller 33Restart the Sequence 33
3Publication 1756-PM012B-EN-P - July 2008 3
4 Publication 1756-PM012B-EN-P - July 2008
Preface
Purpose of this Manual This manual shows how to program MSG instructions to and from Logix5000 controllers This manual is one of a set of related manuals that show common procedures for programming and operating Logix5000 controllers For a complete list of common procedures manuals see the Logix 5000 Controllers Common Procedures Programming Manual publication 1756-PM001
The term Logix5000 controller refers to any controller that is based on the Logix5000 operating system such as
bull CompactLogix controllersbull ControlLogix controllersbull DriveLogix controllersbull FlexLogix controllersbull SoftLogix5800 controllers
How to Use this Manual Some text is formatted differently from the rest of the text
Text that is Identifies For example Means
Italic the actual name of an item that you see on your screen or in an example
Right-click User-Defined hellip Right-click the item that is named User-Defined
courier information that you must supply based on your application (a variable)
Right-click name_of_program hellip
You must identify the specific program in your application Typically it is a name or variable that you have defined
enclosed in brackets a keyboard key Press [Enter] Press the Enter key
5Publication 1756-PM012B-EN-P - July 2008 5
Preface
Notes
6 Publication 1756-PM012B-EN-P - July 2008
Chapter 1
Controller Messages
Introduction To transfer data between controllers (send or receive data) execute a Message (MSG) instruction
This diagram shows how the controller processes MSG instructions
EXAMPLE Execute a Message (MSG) Instruction
If count_send = 1 and count_msgEN = 0 (MSG instruction is not already enabled) then execute a MSG instruction that sends data to another controller
count_send
count_msgen
ENDNER
Type - UnconfiguredMessage Controlcount_msg
MSG
Description
The controller scans the MSG instruction and its rung-condition-in goes true
The MSG instruction enters the message queue
The MSG instruction comes off the queue and is processed
If the MSG instruction Then the MSG instruction
Does not use a connection or the connection was not previously cached
uses an unconnected buffer to establish communication with the destination device
Uses a connection and the connection is cached does not use an unconnected buffer
Communication occurs with the destination device
Message Queue
MSG
Yes
Unconnected Buffers
No
destination device
Cached
16 total
1 2 43 Cache List
1
2
3
4
7Publication 1756-PM012B-EN-P - July 2008 7
Chapter 1 Controller Messages
Message Queue The message queue holds up to 16 MSG instructions including those that you configure as a block-transfer read or block-transfer write When the queue is full an instruction tries to enter the queue on each subsequent scan of the instruction as shown below
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 the queue is full (16 MSG instructions are already enabled)
The EW bit remains cleared
amp The controller scans the MSG instruction
The rung-condition-in for the MSG instruction is false
The EN bit remains set
The MSG instruction attempts to enter the queue but the queue is full
The EW bit remains cleared
The controller scans the MSG instruction
The MSG instruction attempts to enter the queue The queue has room so the instruction enters the queue
The EW bit is set
rung-condition-in false true false
EN bit off on
EW bit off on
1 2 3 4
1
2 3
4
8 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Cache List Depending on how you configure a MSG instruction it may use a connection to send or receive data
If a MSG instruction uses a connection you have the option to leave the connection open (cache) or close the connection when the message is done transmitting
The controller has these limits on the number of connections that you can cache
This type of message And this communication method Uses a connection
CIP data table read or write
PLC2 PLC3 PLC5 or SLC (all types) CIP
CIP with Source ID
DH+
CIP generic your option (1)
block-transfer read or write
(1) You can connect CIP generic messages But for most applications we recommend you leave CIP generic messages unconnected
If you Then
Cache the connection The connection stays open after the MSG instruction is done This optimizes execution time Opening a connection each time the message executes increases execution time
Do not cache the connection
The connection closes after the MSG instruction is done This frees up that connection for other uses
If you have this software and firmware revision
Then you can cache
11x or earlier bull Block transfer messages for up to 16 connections
bull Other types of messages for up to 16 connections
12x or later Up to 32 connections
Publication 1756-PM012B-EN-P - July 2008 9
Chapter 1 Controller Messages
If several messages go to the same device the messages may be able to share a connection
Unconnected Buffers To establish a connection or process unconnected messages the controller uses an unconnected buffer
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
If the MSG instructions are to And they are Then
Different devices Each MSG instruction uses 1 connection
Same device Enabled at the same time Each MSG instruction uses 1 connection
Not enabled at the same time The MSG instructions share the connection (For example together they count as 1 connection)
EXAMPLE Share a Connection
If the controller alternates between sending a block-transfer read message and a block-transfer write message to the same module then together both messages count as 1 connection Caching both messages counts as 1 on the cache list
Term Definition
Unconnected buffer An allocation of memory that the controller uses to process unconnected communication The controller performs unconnected communication when it
bull establishes a connection with a device including an IO module
bull executes a MSG instruction that does not use a connection
The controller can have 10 - 40 unconnected buffers
bull The default number is 10
bull To increase the number of unconnected buffers execute a MSG instruction that reconfigures the number of unconnected buffers
bull Each unconnected buffers uses 11K bytes of memory
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and data does not transfer
10 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Guidelines As you plan and program your MSG instructions follow these guidelines
Guideline Details
1 For each MSG instruction create a control tag
Each MSG instruction requires its own control tag
bull Data type = MESSAGE
bull Scope = controller
bull The tag cannot be part of an array or a user-defined data type
2 Keep the source andor destination data at the controller scope
A MSG instruction can access only tags that are in the Controller Tags folder (controller scope)
3 If your MSG is to a device that uses 16-bit integers use a buffer of INTs in the MSG and DINTs throughout the project
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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 Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
Refer to Convert Between INTs and DINTs on page 15
4 Cache the 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
5 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 use one of these options
bull Enable each message in sequence
bull Enable the messages in groups
bull Program a message to communicate with multiple devices
bull Program logic to coordinate the execution of messages
6 Keep the number of unconnected and uncached MSGs less than the number of unconnected buffers
The controller can have 10 - 40 unconnected buffers The default number is 10
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and does not transfer the data
bull You can increase the number of unconnected buffers (40 max) but continue to follow guideline 5
bull To increase the number of unconnected buffers see page 12
Publication 1756-PM012B-EN-P - July 2008 11
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Table of ContentsPreface Purpose of this Manual 5
How to Use this Manual 5
Chapter 1Controller Messages Introduction 7
Message Queue 8Cache List 9Unconnected Buffers 10Guidelines 11Get or Set the Number of Unconnected Buffers 12
Get the Number of Unconnected Buffers 12Set the Number of Unconnected Buffers 13
Convert Between INTs and DINTs 15
Chapter 2Manage Multiple Messages Introduction 17
How to Use this Example Logic 17Message Manager Logic 18
Initialize the Logic 18Restart the Sequence If Required 18Send the First Group of MSGs 19Enable the Next Group of MSGs 19Send the Next Group of MSGs 20Enable the Next Group of MSGs 20Send the Next Group of MSGs 21
Chapter 3Send a Message to Multiple Controllers
Introduction 23Set Up the IO Configuration 24Define Your Source and Destination Elements 25Create the MESSAGE_ CONFIGURATION Data Type 26Create the Configuration Array 27Get the Size of the Local Array 30Load the Message Properties for a Controller 30Configure the Message 31
Step to the Next Controller 33Restart the Sequence 33
3Publication 1756-PM012B-EN-P - July 2008 3
4 Publication 1756-PM012B-EN-P - July 2008
Preface
Purpose of this Manual This manual shows how to program MSG instructions to and from Logix5000 controllers This manual is one of a set of related manuals that show common procedures for programming and operating Logix5000 controllers For a complete list of common procedures manuals see the Logix 5000 Controllers Common Procedures Programming Manual publication 1756-PM001
The term Logix5000 controller refers to any controller that is based on the Logix5000 operating system such as
bull CompactLogix controllersbull ControlLogix controllersbull DriveLogix controllersbull FlexLogix controllersbull SoftLogix5800 controllers
How to Use this Manual Some text is formatted differently from the rest of the text
Text that is Identifies For example Means
Italic the actual name of an item that you see on your screen or in an example
Right-click User-Defined hellip Right-click the item that is named User-Defined
courier information that you must supply based on your application (a variable)
Right-click name_of_program hellip
You must identify the specific program in your application Typically it is a name or variable that you have defined
enclosed in brackets a keyboard key Press [Enter] Press the Enter key
5Publication 1756-PM012B-EN-P - July 2008 5
Preface
Notes
6 Publication 1756-PM012B-EN-P - July 2008
Chapter 1
Controller Messages
Introduction To transfer data between controllers (send or receive data) execute a Message (MSG) instruction
This diagram shows how the controller processes MSG instructions
EXAMPLE Execute a Message (MSG) Instruction
If count_send = 1 and count_msgEN = 0 (MSG instruction is not already enabled) then execute a MSG instruction that sends data to another controller
count_send
count_msgen
ENDNER
Type - UnconfiguredMessage Controlcount_msg
MSG
Description
The controller scans the MSG instruction and its rung-condition-in goes true
The MSG instruction enters the message queue
The MSG instruction comes off the queue and is processed
If the MSG instruction Then the MSG instruction
Does not use a connection or the connection was not previously cached
uses an unconnected buffer to establish communication with the destination device
Uses a connection and the connection is cached does not use an unconnected buffer
Communication occurs with the destination device
Message Queue
MSG
Yes
Unconnected Buffers
No
destination device
Cached
16 total
1 2 43 Cache List
1
2
3
4
7Publication 1756-PM012B-EN-P - July 2008 7
Chapter 1 Controller Messages
Message Queue The message queue holds up to 16 MSG instructions including those that you configure as a block-transfer read or block-transfer write When the queue is full an instruction tries to enter the queue on each subsequent scan of the instruction as shown below
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 the queue is full (16 MSG instructions are already enabled)
The EW bit remains cleared
amp The controller scans the MSG instruction
The rung-condition-in for the MSG instruction is false
The EN bit remains set
The MSG instruction attempts to enter the queue but the queue is full
The EW bit remains cleared
The controller scans the MSG instruction
The MSG instruction attempts to enter the queue The queue has room so the instruction enters the queue
The EW bit is set
rung-condition-in false true false
EN bit off on
EW bit off on
1 2 3 4
1
2 3
4
8 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Cache List Depending on how you configure a MSG instruction it may use a connection to send or receive data
If a MSG instruction uses a connection you have the option to leave the connection open (cache) or close the connection when the message is done transmitting
The controller has these limits on the number of connections that you can cache
This type of message And this communication method Uses a connection
CIP data table read or write
PLC2 PLC3 PLC5 or SLC (all types) CIP
CIP with Source ID
DH+
CIP generic your option (1)
block-transfer read or write
(1) You can connect CIP generic messages But for most applications we recommend you leave CIP generic messages unconnected
If you Then
Cache the connection The connection stays open after the MSG instruction is done This optimizes execution time Opening a connection each time the message executes increases execution time
Do not cache the connection
The connection closes after the MSG instruction is done This frees up that connection for other uses
If you have this software and firmware revision
Then you can cache
11x or earlier bull Block transfer messages for up to 16 connections
bull Other types of messages for up to 16 connections
12x or later Up to 32 connections
Publication 1756-PM012B-EN-P - July 2008 9
Chapter 1 Controller Messages
If several messages go to the same device the messages may be able to share a connection
Unconnected Buffers To establish a connection or process unconnected messages the controller uses an unconnected buffer
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
If the MSG instructions are to And they are Then
Different devices Each MSG instruction uses 1 connection
Same device Enabled at the same time Each MSG instruction uses 1 connection
Not enabled at the same time The MSG instructions share the connection (For example together they count as 1 connection)
EXAMPLE Share a Connection
If the controller alternates between sending a block-transfer read message and a block-transfer write message to the same module then together both messages count as 1 connection Caching both messages counts as 1 on the cache list
Term Definition
Unconnected buffer An allocation of memory that the controller uses to process unconnected communication The controller performs unconnected communication when it
bull establishes a connection with a device including an IO module
bull executes a MSG instruction that does not use a connection
The controller can have 10 - 40 unconnected buffers
bull The default number is 10
bull To increase the number of unconnected buffers execute a MSG instruction that reconfigures the number of unconnected buffers
bull Each unconnected buffers uses 11K bytes of memory
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and data does not transfer
10 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Guidelines As you plan and program your MSG instructions follow these guidelines
Guideline Details
1 For each MSG instruction create a control tag
Each MSG instruction requires its own control tag
bull Data type = MESSAGE
bull Scope = controller
bull The tag cannot be part of an array or a user-defined data type
2 Keep the source andor destination data at the controller scope
A MSG instruction can access only tags that are in the Controller Tags folder (controller scope)
3 If your MSG is to a device that uses 16-bit integers use a buffer of INTs in the MSG and DINTs throughout the project
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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 Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
Refer to Convert Between INTs and DINTs on page 15
4 Cache the 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
5 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 use one of these options
bull Enable each message in sequence
bull Enable the messages in groups
bull Program a message to communicate with multiple devices
bull Program logic to coordinate the execution of messages
6 Keep the number of unconnected and uncached MSGs less than the number of unconnected buffers
The controller can have 10 - 40 unconnected buffers The default number is 10
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and does not transfer the data
bull You can increase the number of unconnected buffers (40 max) but continue to follow guideline 5
bull To increase the number of unconnected buffers see page 12
Publication 1756-PM012B-EN-P - July 2008 11
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
4 Publication 1756-PM012B-EN-P - July 2008
Preface
Purpose of this Manual This manual shows how to program MSG instructions to and from Logix5000 controllers This manual is one of a set of related manuals that show common procedures for programming and operating Logix5000 controllers For a complete list of common procedures manuals see the Logix 5000 Controllers Common Procedures Programming Manual publication 1756-PM001
The term Logix5000 controller refers to any controller that is based on the Logix5000 operating system such as
bull CompactLogix controllersbull ControlLogix controllersbull DriveLogix controllersbull FlexLogix controllersbull SoftLogix5800 controllers
How to Use this Manual Some text is formatted differently from the rest of the text
Text that is Identifies For example Means
Italic the actual name of an item that you see on your screen or in an example
Right-click User-Defined hellip Right-click the item that is named User-Defined
courier information that you must supply based on your application (a variable)
Right-click name_of_program hellip
You must identify the specific program in your application Typically it is a name or variable that you have defined
enclosed in brackets a keyboard key Press [Enter] Press the Enter key
5Publication 1756-PM012B-EN-P - July 2008 5
Preface
Notes
6 Publication 1756-PM012B-EN-P - July 2008
Chapter 1
Controller Messages
Introduction To transfer data between controllers (send or receive data) execute a Message (MSG) instruction
This diagram shows how the controller processes MSG instructions
EXAMPLE Execute a Message (MSG) Instruction
If count_send = 1 and count_msgEN = 0 (MSG instruction is not already enabled) then execute a MSG instruction that sends data to another controller
count_send
count_msgen
ENDNER
Type - UnconfiguredMessage Controlcount_msg
MSG
Description
The controller scans the MSG instruction and its rung-condition-in goes true
The MSG instruction enters the message queue
The MSG instruction comes off the queue and is processed
If the MSG instruction Then the MSG instruction
Does not use a connection or the connection was not previously cached
uses an unconnected buffer to establish communication with the destination device
Uses a connection and the connection is cached does not use an unconnected buffer
Communication occurs with the destination device
Message Queue
MSG
Yes
Unconnected Buffers
No
destination device
Cached
16 total
1 2 43 Cache List
1
2
3
4
7Publication 1756-PM012B-EN-P - July 2008 7
Chapter 1 Controller Messages
Message Queue The message queue holds up to 16 MSG instructions including those that you configure as a block-transfer read or block-transfer write When the queue is full an instruction tries to enter the queue on each subsequent scan of the instruction as shown below
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 the queue is full (16 MSG instructions are already enabled)
The EW bit remains cleared
amp The controller scans the MSG instruction
The rung-condition-in for the MSG instruction is false
The EN bit remains set
The MSG instruction attempts to enter the queue but the queue is full
The EW bit remains cleared
The controller scans the MSG instruction
The MSG instruction attempts to enter the queue The queue has room so the instruction enters the queue
The EW bit is set
rung-condition-in false true false
EN bit off on
EW bit off on
1 2 3 4
1
2 3
4
8 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Cache List Depending on how you configure a MSG instruction it may use a connection to send or receive data
If a MSG instruction uses a connection you have the option to leave the connection open (cache) or close the connection when the message is done transmitting
The controller has these limits on the number of connections that you can cache
This type of message And this communication method Uses a connection
CIP data table read or write
PLC2 PLC3 PLC5 or SLC (all types) CIP
CIP with Source ID
DH+
CIP generic your option (1)
block-transfer read or write
(1) You can connect CIP generic messages But for most applications we recommend you leave CIP generic messages unconnected
If you Then
Cache the connection The connection stays open after the MSG instruction is done This optimizes execution time Opening a connection each time the message executes increases execution time
Do not cache the connection
The connection closes after the MSG instruction is done This frees up that connection for other uses
If you have this software and firmware revision
Then you can cache
11x or earlier bull Block transfer messages for up to 16 connections
bull Other types of messages for up to 16 connections
12x or later Up to 32 connections
Publication 1756-PM012B-EN-P - July 2008 9
Chapter 1 Controller Messages
If several messages go to the same device the messages may be able to share a connection
Unconnected Buffers To establish a connection or process unconnected messages the controller uses an unconnected buffer
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
If the MSG instructions are to And they are Then
Different devices Each MSG instruction uses 1 connection
Same device Enabled at the same time Each MSG instruction uses 1 connection
Not enabled at the same time The MSG instructions share the connection (For example together they count as 1 connection)
EXAMPLE Share a Connection
If the controller alternates between sending a block-transfer read message and a block-transfer write message to the same module then together both messages count as 1 connection Caching both messages counts as 1 on the cache list
Term Definition
Unconnected buffer An allocation of memory that the controller uses to process unconnected communication The controller performs unconnected communication when it
bull establishes a connection with a device including an IO module
bull executes a MSG instruction that does not use a connection
The controller can have 10 - 40 unconnected buffers
bull The default number is 10
bull To increase the number of unconnected buffers execute a MSG instruction that reconfigures the number of unconnected buffers
bull Each unconnected buffers uses 11K bytes of memory
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and data does not transfer
10 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Guidelines As you plan and program your MSG instructions follow these guidelines
Guideline Details
1 For each MSG instruction create a control tag
Each MSG instruction requires its own control tag
bull Data type = MESSAGE
bull Scope = controller
bull The tag cannot be part of an array or a user-defined data type
2 Keep the source andor destination data at the controller scope
A MSG instruction can access only tags that are in the Controller Tags folder (controller scope)
3 If your MSG is to a device that uses 16-bit integers use a buffer of INTs in the MSG and DINTs throughout the project
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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 Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
Refer to Convert Between INTs and DINTs on page 15
4 Cache the 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
5 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 use one of these options
bull Enable each message in sequence
bull Enable the messages in groups
bull Program a message to communicate with multiple devices
bull Program logic to coordinate the execution of messages
6 Keep the number of unconnected and uncached MSGs less than the number of unconnected buffers
The controller can have 10 - 40 unconnected buffers The default number is 10
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and does not transfer the data
bull You can increase the number of unconnected buffers (40 max) but continue to follow guideline 5
bull To increase the number of unconnected buffers see page 12
Publication 1756-PM012B-EN-P - July 2008 11
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Preface
Purpose of this Manual This manual shows how to program MSG instructions to and from Logix5000 controllers This manual is one of a set of related manuals that show common procedures for programming and operating Logix5000 controllers For a complete list of common procedures manuals see the Logix 5000 Controllers Common Procedures Programming Manual publication 1756-PM001
The term Logix5000 controller refers to any controller that is based on the Logix5000 operating system such as
bull CompactLogix controllersbull ControlLogix controllersbull DriveLogix controllersbull FlexLogix controllersbull SoftLogix5800 controllers
How to Use this Manual Some text is formatted differently from the rest of the text
Text that is Identifies For example Means
Italic the actual name of an item that you see on your screen or in an example
Right-click User-Defined hellip Right-click the item that is named User-Defined
courier information that you must supply based on your application (a variable)
Right-click name_of_program hellip
You must identify the specific program in your application Typically it is a name or variable that you have defined
enclosed in brackets a keyboard key Press [Enter] Press the Enter key
5Publication 1756-PM012B-EN-P - July 2008 5
Preface
Notes
6 Publication 1756-PM012B-EN-P - July 2008
Chapter 1
Controller Messages
Introduction To transfer data between controllers (send or receive data) execute a Message (MSG) instruction
This diagram shows how the controller processes MSG instructions
EXAMPLE Execute a Message (MSG) Instruction
If count_send = 1 and count_msgEN = 0 (MSG instruction is not already enabled) then execute a MSG instruction that sends data to another controller
count_send
count_msgen
ENDNER
Type - UnconfiguredMessage Controlcount_msg
MSG
Description
The controller scans the MSG instruction and its rung-condition-in goes true
The MSG instruction enters the message queue
The MSG instruction comes off the queue and is processed
If the MSG instruction Then the MSG instruction
Does not use a connection or the connection was not previously cached
uses an unconnected buffer to establish communication with the destination device
Uses a connection and the connection is cached does not use an unconnected buffer
Communication occurs with the destination device
Message Queue
MSG
Yes
Unconnected Buffers
No
destination device
Cached
16 total
1 2 43 Cache List
1
2
3
4
7Publication 1756-PM012B-EN-P - July 2008 7
Chapter 1 Controller Messages
Message Queue The message queue holds up to 16 MSG instructions including those that you configure as a block-transfer read or block-transfer write When the queue is full an instruction tries to enter the queue on each subsequent scan of the instruction as shown below
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 the queue is full (16 MSG instructions are already enabled)
The EW bit remains cleared
amp The controller scans the MSG instruction
The rung-condition-in for the MSG instruction is false
The EN bit remains set
The MSG instruction attempts to enter the queue but the queue is full
The EW bit remains cleared
The controller scans the MSG instruction
The MSG instruction attempts to enter the queue The queue has room so the instruction enters the queue
The EW bit is set
rung-condition-in false true false
EN bit off on
EW bit off on
1 2 3 4
1
2 3
4
8 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Cache List Depending on how you configure a MSG instruction it may use a connection to send or receive data
If a MSG instruction uses a connection you have the option to leave the connection open (cache) or close the connection when the message is done transmitting
The controller has these limits on the number of connections that you can cache
This type of message And this communication method Uses a connection
CIP data table read or write
PLC2 PLC3 PLC5 or SLC (all types) CIP
CIP with Source ID
DH+
CIP generic your option (1)
block-transfer read or write
(1) You can connect CIP generic messages But for most applications we recommend you leave CIP generic messages unconnected
If you Then
Cache the connection The connection stays open after the MSG instruction is done This optimizes execution time Opening a connection each time the message executes increases execution time
Do not cache the connection
The connection closes after the MSG instruction is done This frees up that connection for other uses
If you have this software and firmware revision
Then you can cache
11x or earlier bull Block transfer messages for up to 16 connections
bull Other types of messages for up to 16 connections
12x or later Up to 32 connections
Publication 1756-PM012B-EN-P - July 2008 9
Chapter 1 Controller Messages
If several messages go to the same device the messages may be able to share a connection
Unconnected Buffers To establish a connection or process unconnected messages the controller uses an unconnected buffer
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
If the MSG instructions are to And they are Then
Different devices Each MSG instruction uses 1 connection
Same device Enabled at the same time Each MSG instruction uses 1 connection
Not enabled at the same time The MSG instructions share the connection (For example together they count as 1 connection)
EXAMPLE Share a Connection
If the controller alternates between sending a block-transfer read message and a block-transfer write message to the same module then together both messages count as 1 connection Caching both messages counts as 1 on the cache list
Term Definition
Unconnected buffer An allocation of memory that the controller uses to process unconnected communication The controller performs unconnected communication when it
bull establishes a connection with a device including an IO module
bull executes a MSG instruction that does not use a connection
The controller can have 10 - 40 unconnected buffers
bull The default number is 10
bull To increase the number of unconnected buffers execute a MSG instruction that reconfigures the number of unconnected buffers
bull Each unconnected buffers uses 11K bytes of memory
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and data does not transfer
10 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Guidelines As you plan and program your MSG instructions follow these guidelines
Guideline Details
1 For each MSG instruction create a control tag
Each MSG instruction requires its own control tag
bull Data type = MESSAGE
bull Scope = controller
bull The tag cannot be part of an array or a user-defined data type
2 Keep the source andor destination data at the controller scope
A MSG instruction can access only tags that are in the Controller Tags folder (controller scope)
3 If your MSG is to a device that uses 16-bit integers use a buffer of INTs in the MSG and DINTs throughout the project
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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 Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
Refer to Convert Between INTs and DINTs on page 15
4 Cache the 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
5 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 use one of these options
bull Enable each message in sequence
bull Enable the messages in groups
bull Program a message to communicate with multiple devices
bull Program logic to coordinate the execution of messages
6 Keep the number of unconnected and uncached MSGs less than the number of unconnected buffers
The controller can have 10 - 40 unconnected buffers The default number is 10
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and does not transfer the data
bull You can increase the number of unconnected buffers (40 max) but continue to follow guideline 5
bull To increase the number of unconnected buffers see page 12
Publication 1756-PM012B-EN-P - July 2008 11
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Preface
Notes
6 Publication 1756-PM012B-EN-P - July 2008
Chapter 1
Controller Messages
Introduction To transfer data between controllers (send or receive data) execute a Message (MSG) instruction
This diagram shows how the controller processes MSG instructions
EXAMPLE Execute a Message (MSG) Instruction
If count_send = 1 and count_msgEN = 0 (MSG instruction is not already enabled) then execute a MSG instruction that sends data to another controller
count_send
count_msgen
ENDNER
Type - UnconfiguredMessage Controlcount_msg
MSG
Description
The controller scans the MSG instruction and its rung-condition-in goes true
The MSG instruction enters the message queue
The MSG instruction comes off the queue and is processed
If the MSG instruction Then the MSG instruction
Does not use a connection or the connection was not previously cached
uses an unconnected buffer to establish communication with the destination device
Uses a connection and the connection is cached does not use an unconnected buffer
Communication occurs with the destination device
Message Queue
MSG
Yes
Unconnected Buffers
No
destination device
Cached
16 total
1 2 43 Cache List
1
2
3
4
7Publication 1756-PM012B-EN-P - July 2008 7
Chapter 1 Controller Messages
Message Queue The message queue holds up to 16 MSG instructions including those that you configure as a block-transfer read or block-transfer write When the queue is full an instruction tries to enter the queue on each subsequent scan of the instruction as shown below
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 the queue is full (16 MSG instructions are already enabled)
The EW bit remains cleared
amp The controller scans the MSG instruction
The rung-condition-in for the MSG instruction is false
The EN bit remains set
The MSG instruction attempts to enter the queue but the queue is full
The EW bit remains cleared
The controller scans the MSG instruction
The MSG instruction attempts to enter the queue The queue has room so the instruction enters the queue
The EW bit is set
rung-condition-in false true false
EN bit off on
EW bit off on
1 2 3 4
1
2 3
4
8 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Cache List Depending on how you configure a MSG instruction it may use a connection to send or receive data
If a MSG instruction uses a connection you have the option to leave the connection open (cache) or close the connection when the message is done transmitting
The controller has these limits on the number of connections that you can cache
This type of message And this communication method Uses a connection
CIP data table read or write
PLC2 PLC3 PLC5 or SLC (all types) CIP
CIP with Source ID
DH+
CIP generic your option (1)
block-transfer read or write
(1) You can connect CIP generic messages But for most applications we recommend you leave CIP generic messages unconnected
If you Then
Cache the connection The connection stays open after the MSG instruction is done This optimizes execution time Opening a connection each time the message executes increases execution time
Do not cache the connection
The connection closes after the MSG instruction is done This frees up that connection for other uses
If you have this software and firmware revision
Then you can cache
11x or earlier bull Block transfer messages for up to 16 connections
bull Other types of messages for up to 16 connections
12x or later Up to 32 connections
Publication 1756-PM012B-EN-P - July 2008 9
Chapter 1 Controller Messages
If several messages go to the same device the messages may be able to share a connection
Unconnected Buffers To establish a connection or process unconnected messages the controller uses an unconnected buffer
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
If the MSG instructions are to And they are Then
Different devices Each MSG instruction uses 1 connection
Same device Enabled at the same time Each MSG instruction uses 1 connection
Not enabled at the same time The MSG instructions share the connection (For example together they count as 1 connection)
EXAMPLE Share a Connection
If the controller alternates between sending a block-transfer read message and a block-transfer write message to the same module then together both messages count as 1 connection Caching both messages counts as 1 on the cache list
Term Definition
Unconnected buffer An allocation of memory that the controller uses to process unconnected communication The controller performs unconnected communication when it
bull establishes a connection with a device including an IO module
bull executes a MSG instruction that does not use a connection
The controller can have 10 - 40 unconnected buffers
bull The default number is 10
bull To increase the number of unconnected buffers execute a MSG instruction that reconfigures the number of unconnected buffers
bull Each unconnected buffers uses 11K bytes of memory
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and data does not transfer
10 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Guidelines As you plan and program your MSG instructions follow these guidelines
Guideline Details
1 For each MSG instruction create a control tag
Each MSG instruction requires its own control tag
bull Data type = MESSAGE
bull Scope = controller
bull The tag cannot be part of an array or a user-defined data type
2 Keep the source andor destination data at the controller scope
A MSG instruction can access only tags that are in the Controller Tags folder (controller scope)
3 If your MSG is to a device that uses 16-bit integers use a buffer of INTs in the MSG and DINTs throughout the project
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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 Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
Refer to Convert Between INTs and DINTs on page 15
4 Cache the 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
5 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 use one of these options
bull Enable each message in sequence
bull Enable the messages in groups
bull Program a message to communicate with multiple devices
bull Program logic to coordinate the execution of messages
6 Keep the number of unconnected and uncached MSGs less than the number of unconnected buffers
The controller can have 10 - 40 unconnected buffers The default number is 10
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and does not transfer the data
bull You can increase the number of unconnected buffers (40 max) but continue to follow guideline 5
bull To increase the number of unconnected buffers see page 12
Publication 1756-PM012B-EN-P - July 2008 11
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 1
Controller Messages
Introduction To transfer data between controllers (send or receive data) execute a Message (MSG) instruction
This diagram shows how the controller processes MSG instructions
EXAMPLE Execute a Message (MSG) Instruction
If count_send = 1 and count_msgEN = 0 (MSG instruction is not already enabled) then execute a MSG instruction that sends data to another controller
count_send
count_msgen
ENDNER
Type - UnconfiguredMessage Controlcount_msg
MSG
Description
The controller scans the MSG instruction and its rung-condition-in goes true
The MSG instruction enters the message queue
The MSG instruction comes off the queue and is processed
If the MSG instruction Then the MSG instruction
Does not use a connection or the connection was not previously cached
uses an unconnected buffer to establish communication with the destination device
Uses a connection and the connection is cached does not use an unconnected buffer
Communication occurs with the destination device
Message Queue
MSG
Yes
Unconnected Buffers
No
destination device
Cached
16 total
1 2 43 Cache List
1
2
3
4
7Publication 1756-PM012B-EN-P - July 2008 7
Chapter 1 Controller Messages
Message Queue The message queue holds up to 16 MSG instructions including those that you configure as a block-transfer read or block-transfer write When the queue is full an instruction tries to enter the queue on each subsequent scan of the instruction as shown below
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 the queue is full (16 MSG instructions are already enabled)
The EW bit remains cleared
amp The controller scans the MSG instruction
The rung-condition-in for the MSG instruction is false
The EN bit remains set
The MSG instruction attempts to enter the queue but the queue is full
The EW bit remains cleared
The controller scans the MSG instruction
The MSG instruction attempts to enter the queue The queue has room so the instruction enters the queue
The EW bit is set
rung-condition-in false true false
EN bit off on
EW bit off on
1 2 3 4
1
2 3
4
8 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Cache List Depending on how you configure a MSG instruction it may use a connection to send or receive data
If a MSG instruction uses a connection you have the option to leave the connection open (cache) or close the connection when the message is done transmitting
The controller has these limits on the number of connections that you can cache
This type of message And this communication method Uses a connection
CIP data table read or write
PLC2 PLC3 PLC5 or SLC (all types) CIP
CIP with Source ID
DH+
CIP generic your option (1)
block-transfer read or write
(1) You can connect CIP generic messages But for most applications we recommend you leave CIP generic messages unconnected
If you Then
Cache the connection The connection stays open after the MSG instruction is done This optimizes execution time Opening a connection each time the message executes increases execution time
Do not cache the connection
The connection closes after the MSG instruction is done This frees up that connection for other uses
If you have this software and firmware revision
Then you can cache
11x or earlier bull Block transfer messages for up to 16 connections
bull Other types of messages for up to 16 connections
12x or later Up to 32 connections
Publication 1756-PM012B-EN-P - July 2008 9
Chapter 1 Controller Messages
If several messages go to the same device the messages may be able to share a connection
Unconnected Buffers To establish a connection or process unconnected messages the controller uses an unconnected buffer
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
If the MSG instructions are to And they are Then
Different devices Each MSG instruction uses 1 connection
Same device Enabled at the same time Each MSG instruction uses 1 connection
Not enabled at the same time The MSG instructions share the connection (For example together they count as 1 connection)
EXAMPLE Share a Connection
If the controller alternates between sending a block-transfer read message and a block-transfer write message to the same module then together both messages count as 1 connection Caching both messages counts as 1 on the cache list
Term Definition
Unconnected buffer An allocation of memory that the controller uses to process unconnected communication The controller performs unconnected communication when it
bull establishes a connection with a device including an IO module
bull executes a MSG instruction that does not use a connection
The controller can have 10 - 40 unconnected buffers
bull The default number is 10
bull To increase the number of unconnected buffers execute a MSG instruction that reconfigures the number of unconnected buffers
bull Each unconnected buffers uses 11K bytes of memory
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and data does not transfer
10 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Guidelines As you plan and program your MSG instructions follow these guidelines
Guideline Details
1 For each MSG instruction create a control tag
Each MSG instruction requires its own control tag
bull Data type = MESSAGE
bull Scope = controller
bull The tag cannot be part of an array or a user-defined data type
2 Keep the source andor destination data at the controller scope
A MSG instruction can access only tags that are in the Controller Tags folder (controller scope)
3 If your MSG is to a device that uses 16-bit integers use a buffer of INTs in the MSG and DINTs throughout the project
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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 Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
Refer to Convert Between INTs and DINTs on page 15
4 Cache the 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
5 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 use one of these options
bull Enable each message in sequence
bull Enable the messages in groups
bull Program a message to communicate with multiple devices
bull Program logic to coordinate the execution of messages
6 Keep the number of unconnected and uncached MSGs less than the number of unconnected buffers
The controller can have 10 - 40 unconnected buffers The default number is 10
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and does not transfer the data
bull You can increase the number of unconnected buffers (40 max) but continue to follow guideline 5
bull To increase the number of unconnected buffers see page 12
Publication 1756-PM012B-EN-P - July 2008 11
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 1 Controller Messages
Message Queue The message queue holds up to 16 MSG instructions including those that you configure as a block-transfer read or block-transfer write When the queue is full an instruction tries to enter the queue on each subsequent scan of the instruction as shown below
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 the queue is full (16 MSG instructions are already enabled)
The EW bit remains cleared
amp The controller scans the MSG instruction
The rung-condition-in for the MSG instruction is false
The EN bit remains set
The MSG instruction attempts to enter the queue but the queue is full
The EW bit remains cleared
The controller scans the MSG instruction
The MSG instruction attempts to enter the queue The queue has room so the instruction enters the queue
The EW bit is set
rung-condition-in false true false
EN bit off on
EW bit off on
1 2 3 4
1
2 3
4
8 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Cache List Depending on how you configure a MSG instruction it may use a connection to send or receive data
If a MSG instruction uses a connection you have the option to leave the connection open (cache) or close the connection when the message is done transmitting
The controller has these limits on the number of connections that you can cache
This type of message And this communication method Uses a connection
CIP data table read or write
PLC2 PLC3 PLC5 or SLC (all types) CIP
CIP with Source ID
DH+
CIP generic your option (1)
block-transfer read or write
(1) You can connect CIP generic messages But for most applications we recommend you leave CIP generic messages unconnected
If you Then
Cache the connection The connection stays open after the MSG instruction is done This optimizes execution time Opening a connection each time the message executes increases execution time
Do not cache the connection
The connection closes after the MSG instruction is done This frees up that connection for other uses
If you have this software and firmware revision
Then you can cache
11x or earlier bull Block transfer messages for up to 16 connections
bull Other types of messages for up to 16 connections
12x or later Up to 32 connections
Publication 1756-PM012B-EN-P - July 2008 9
Chapter 1 Controller Messages
If several messages go to the same device the messages may be able to share a connection
Unconnected Buffers To establish a connection or process unconnected messages the controller uses an unconnected buffer
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
If the MSG instructions are to And they are Then
Different devices Each MSG instruction uses 1 connection
Same device Enabled at the same time Each MSG instruction uses 1 connection
Not enabled at the same time The MSG instructions share the connection (For example together they count as 1 connection)
EXAMPLE Share a Connection
If the controller alternates between sending a block-transfer read message and a block-transfer write message to the same module then together both messages count as 1 connection Caching both messages counts as 1 on the cache list
Term Definition
Unconnected buffer An allocation of memory that the controller uses to process unconnected communication The controller performs unconnected communication when it
bull establishes a connection with a device including an IO module
bull executes a MSG instruction that does not use a connection
The controller can have 10 - 40 unconnected buffers
bull The default number is 10
bull To increase the number of unconnected buffers execute a MSG instruction that reconfigures the number of unconnected buffers
bull Each unconnected buffers uses 11K bytes of memory
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and data does not transfer
10 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Guidelines As you plan and program your MSG instructions follow these guidelines
Guideline Details
1 For each MSG instruction create a control tag
Each MSG instruction requires its own control tag
bull Data type = MESSAGE
bull Scope = controller
bull The tag cannot be part of an array or a user-defined data type
2 Keep the source andor destination data at the controller scope
A MSG instruction can access only tags that are in the Controller Tags folder (controller scope)
3 If your MSG is to a device that uses 16-bit integers use a buffer of INTs in the MSG and DINTs throughout the project
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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 Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
Refer to Convert Between INTs and DINTs on page 15
4 Cache the 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
5 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 use one of these options
bull Enable each message in sequence
bull Enable the messages in groups
bull Program a message to communicate with multiple devices
bull Program logic to coordinate the execution of messages
6 Keep the number of unconnected and uncached MSGs less than the number of unconnected buffers
The controller can have 10 - 40 unconnected buffers The default number is 10
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and does not transfer the data
bull You can increase the number of unconnected buffers (40 max) but continue to follow guideline 5
bull To increase the number of unconnected buffers see page 12
Publication 1756-PM012B-EN-P - July 2008 11
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Controller Messages Chapter 1
Cache List Depending on how you configure a MSG instruction it may use a connection to send or receive data
If a MSG instruction uses a connection you have the option to leave the connection open (cache) or close the connection when the message is done transmitting
The controller has these limits on the number of connections that you can cache
This type of message And this communication method Uses a connection
CIP data table read or write
PLC2 PLC3 PLC5 or SLC (all types) CIP
CIP with Source ID
DH+
CIP generic your option (1)
block-transfer read or write
(1) You can connect CIP generic messages But for most applications we recommend you leave CIP generic messages unconnected
If you Then
Cache the connection The connection stays open after the MSG instruction is done This optimizes execution time Opening a connection each time the message executes increases execution time
Do not cache the connection
The connection closes after the MSG instruction is done This frees up that connection for other uses
If you have this software and firmware revision
Then you can cache
11x or earlier bull Block transfer messages for up to 16 connections
bull Other types of messages for up to 16 connections
12x or later Up to 32 connections
Publication 1756-PM012B-EN-P - July 2008 9
Chapter 1 Controller Messages
If several messages go to the same device the messages may be able to share a connection
Unconnected Buffers To establish a connection or process unconnected messages the controller uses an unconnected buffer
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
If the MSG instructions are to And they are Then
Different devices Each MSG instruction uses 1 connection
Same device Enabled at the same time Each MSG instruction uses 1 connection
Not enabled at the same time The MSG instructions share the connection (For example together they count as 1 connection)
EXAMPLE Share a Connection
If the controller alternates between sending a block-transfer read message and a block-transfer write message to the same module then together both messages count as 1 connection Caching both messages counts as 1 on the cache list
Term Definition
Unconnected buffer An allocation of memory that the controller uses to process unconnected communication The controller performs unconnected communication when it
bull establishes a connection with a device including an IO module
bull executes a MSG instruction that does not use a connection
The controller can have 10 - 40 unconnected buffers
bull The default number is 10
bull To increase the number of unconnected buffers execute a MSG instruction that reconfigures the number of unconnected buffers
bull Each unconnected buffers uses 11K bytes of memory
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and data does not transfer
10 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Guidelines As you plan and program your MSG instructions follow these guidelines
Guideline Details
1 For each MSG instruction create a control tag
Each MSG instruction requires its own control tag
bull Data type = MESSAGE
bull Scope = controller
bull The tag cannot be part of an array or a user-defined data type
2 Keep the source andor destination data at the controller scope
A MSG instruction can access only tags that are in the Controller Tags folder (controller scope)
3 If your MSG is to a device that uses 16-bit integers use a buffer of INTs in the MSG and DINTs throughout the project
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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 Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
Refer to Convert Between INTs and DINTs on page 15
4 Cache the 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
5 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 use one of these options
bull Enable each message in sequence
bull Enable the messages in groups
bull Program a message to communicate with multiple devices
bull Program logic to coordinate the execution of messages
6 Keep the number of unconnected and uncached MSGs less than the number of unconnected buffers
The controller can have 10 - 40 unconnected buffers The default number is 10
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and does not transfer the data
bull You can increase the number of unconnected buffers (40 max) but continue to follow guideline 5
bull To increase the number of unconnected buffers see page 12
Publication 1756-PM012B-EN-P - July 2008 11
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 1 Controller Messages
If several messages go to the same device the messages may be able to share a connection
Unconnected Buffers To establish a connection or process unconnected messages the controller uses an unconnected buffer
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
If the MSG instructions are to And they are Then
Different devices Each MSG instruction uses 1 connection
Same device Enabled at the same time Each MSG instruction uses 1 connection
Not enabled at the same time The MSG instructions share the connection (For example together they count as 1 connection)
EXAMPLE Share a Connection
If the controller alternates between sending a block-transfer read message and a block-transfer write message to the same module then together both messages count as 1 connection Caching both messages counts as 1 on the cache list
Term Definition
Unconnected buffer An allocation of memory that the controller uses to process unconnected communication The controller performs unconnected communication when it
bull establishes a connection with a device including an IO module
bull executes a MSG instruction that does not use a connection
The controller can have 10 - 40 unconnected buffers
bull The default number is 10
bull To increase the number of unconnected buffers execute a MSG instruction that reconfigures the number of unconnected buffers
bull Each unconnected buffers uses 11K bytes of memory
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and data does not transfer
10 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Guidelines As you plan and program your MSG instructions follow these guidelines
Guideline Details
1 For each MSG instruction create a control tag
Each MSG instruction requires its own control tag
bull Data type = MESSAGE
bull Scope = controller
bull The tag cannot be part of an array or a user-defined data type
2 Keep the source andor destination data at the controller scope
A MSG instruction can access only tags that are in the Controller Tags folder (controller scope)
3 If your MSG is to a device that uses 16-bit integers use a buffer of INTs in the MSG and DINTs throughout the project
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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 Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
Refer to Convert Between INTs and DINTs on page 15
4 Cache the 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
5 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 use one of these options
bull Enable each message in sequence
bull Enable the messages in groups
bull Program a message to communicate with multiple devices
bull Program logic to coordinate the execution of messages
6 Keep the number of unconnected and uncached MSGs less than the number of unconnected buffers
The controller can have 10 - 40 unconnected buffers The default number is 10
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and does not transfer the data
bull You can increase the number of unconnected buffers (40 max) but continue to follow guideline 5
bull To increase the number of unconnected buffers see page 12
Publication 1756-PM012B-EN-P - July 2008 11
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Controller Messages Chapter 1
Guidelines As you plan and program your MSG instructions follow these guidelines
Guideline Details
1 For each MSG instruction create a control tag
Each MSG instruction requires its own control tag
bull Data type = MESSAGE
bull Scope = controller
bull The tag cannot be part of an array or a user-defined data type
2 Keep the source andor destination data at the controller scope
A MSG instruction can access only tags that are in the Controller Tags folder (controller scope)
3 If your MSG is to a device that uses 16-bit integers use a buffer of INTs in the MSG and DINTs throughout the project
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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 Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
Refer to Convert Between INTs and DINTs on page 15
4 Cache the 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
5 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 use one of these options
bull Enable each message in sequence
bull Enable the messages in groups
bull Program a message to communicate with multiple devices
bull Program logic to coordinate the execution of messages
6 Keep the number of unconnected and uncached MSGs less than the number of unconnected buffers
The controller can have 10 - 40 unconnected buffers The default number is 10
bull If all the unconnected buffers are in use when an instruction leaves the message queue the instruction errors and does not transfer the data
bull You can increase the number of unconnected buffers (40 max) but continue to follow guideline 5
bull To increase the number of unconnected buffers see page 12
Publication 1756-PM012B-EN-P - July 2008 11
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 1 Controller Messages
Get or Set the Number of Unconnected Buffers
To determine or change the number of unconnected buffers use a MSG instruction
bull The range is 10 - 40 unconnected buffersbull The default number is 10bull Each unconnected buffers uses 11K bytes of memory
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 Custom
Service Code 3
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[4]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
Source Length (bytes) 4 (Write 4 SINTs)
Destination destination_array where data type = SINT[10] (Leave all the values = 0)
destination_array[6] = current number of unconnected buffers
Communication Path 1 slot_number_of_controller
12 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Controller Messages Chapter 1
Set the Number of Unconnected Buffers
As a starting value set the number of unconnected buffers equal to the number of unconnected and uncached messages enabled at one time plus approximately 5 The additional 5 buffers provides a cushion in case you underestimate the number of messages that are enabled at one time
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 4
Class 304
Instance 1
Attribute 0
Source Element source_array where data type = SINT[8]
In this element Enter
source_array[0] 1
source_array[1] 0
source_array[2] 17
source_array[3] 0
source_array[4] Number of unconnected buffers that you want
source_array[5] 0
source_array[6] 0
source_array[7] 0
Source Length (bytes) 8 (Write 8 SINTs)
Destination destination_array where data type = SINT[6] (Leave all the values = 0)
Communication Path 1 slot_number_of_controller
Publication 1756-PM012B-EN-P - July 2008 13
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 1 Controller Messages
EXAMPLE Set the Number of Unconnected Buffers
where
If SFS = 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_SetEN = 0 (MSG instruction is not already enabled) then
MSG instruction sets the number of unconnected buffers = Source_Array[4]
Tag Name Type Description
UCB_Set MESSAGE Control tag for the MSG instruction
Source_Array SINT[8] Source values for the MSG instruction including the number of unconnected buffers that you want
14 Publication 1756-PM012B-EN-P - July 2008
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Controller Messages Chapter 1
Convert Between INTs and DINTs
In the Logix5000 controller use the DINT data type for integers whenever possible Logix5000 controllers execute more efficiently and use less memory when working with 32-bit integers (DINTs)
If your message is to a device that uses 16-bit integers such as a PLC-5 or 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
1 The Message (MSG) instruction reads 16-bit integers (INTs) from the device and stores them in a temporary array of INTs
2 An File ArithLogical (FAL) instruction converts the INTs to DINTs for use by other instructions in your project
1 An FAL instruction converts the DINTs from the Logix5000 controller to INTs
2 The MSG instruction writes the INTs from the temporary array to the device
Read 16-Bit Integers Data from the device
Buffer of INTs DINTs for use in the project
Word 1 INT_Buffer[0] DINT_Array[0]
Word 2 INT_Buffer[1] DINT_Array[1]
Word 3 INT_Buffer[2] DINT_Array[2]
1 2
Write 16-Bit Integers DINTs from the project
Buffer of INTs Data for the device
DINT_Array[0] INT_Buffer[0] Word 1
DINT_Array[1] INT_Buffer[1] Word 2
DINT_Array[2] INT_Buffer[2] Word 3
1 2
EXAMPLE Read integer values from a PLC-5 controller
If Condition_1 = 1 And Msg_1EN = 0 (MSG instruction is not already enabled) then
Read 3 integers from the PLC-5 controller and store them in INT_Buffer (3 INTs)
Publication 1756-PM012B-EN-P - July 2008 15
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 1 Controller Messages
If Msg_1DN =1 (MSG instruction has read the data) then
Reset the FAL instruction
The FAL instruction sets DINT_Array = INT_Buffer This converts the values to 32-bit integers (DINTs)
EXAMPLE Write integer values to a PLC-5 controller
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_2DN = 1 (FAL instruction has converted the DINTs to INTs)
And Msg_2EN = 0 (MSG instruction is not already enabled) then
Write the integers in INT_Buffer (3 INTs) to the PLC-5 controller
16 Publication 1756-PM012B-EN-P - July 2008
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 2
Manage Multiple Messages
Introduction You can use ladder logic to send groups of Message (MSG) instructions in sequence
bull To be processed each MSG instruction must enter the message queuebull The queue holds 16 MSGsbull If more than 16 MSGs are enabled at one time there may not be room
on the queue when a MSG is enabledbull If this occurs the MSG has to wait until there is room on the queue
before the controller can process the MSG On each subsequent scan of the MSG it checks the queue to see if there is room
The message manager logic lets you control the number of MSGs that are enabled at one time and enable subsequent MSGs in sequence In this way MSGs enter and exit the queue in an ordered fashion and do not have to wait for room on the queue to become available
How to Use this Example Logic
The message manager logic sends three groups of MSGsbull To make the example easier to follow each groups contains only 2
MSGsbull In your project use more MSGs in each group such as 5bull Use as many groups as needed to include all your MSGs
The Msg_Group tag controls the enabling of each MSG
bull The tag uses the DINT data typebull Each bit of the tag corresponds to a group of MSGsbull For example Msg_Group0 enables and disables the first group of
MSGs (group 0)
17Publication 1756-PM012B-EN-P - July 2008 17
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 2 Manage Multiple Messages
Message Manager Logic Initialize the Logic
Restart the Sequence If Required
If SFS = 1 (first scan) then initialize the MSGs
Msg_Group = 0 which disables all the MSGs
Msg_Group0 =1 which enables the first group of MSGs
If the MSGs in group 2 (last group) are currently enabled (Msg_Group2 = 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
Msg_Group2 = 0 This disables the last group of MSGs
Msg_Group0 = 1 This enables the first group of MSGs
18 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Manage Multiple Messages Chapter 2
Send the First Group of MSGs
Enable the Next Group of MSGs
If Msg_Group0 changes from 0 -gt 1 then
Send Msg_0
Send Msg_1
Because a MSG instruction is a transitional instruction it executes only when its rung-condition-in changes from false to true
If the MSGs in group 0 are currently enabled (Msg_Group0 = 1)
And Msg_0 is done or errored
And Msg_1 is done or errored
Then
Msg_Group0 = 0 This disables the current group of MSGs
Msg_Group1 = 1 This enables the next group of MSGs
Publication 1756-PM012B-EN-P - July 2008 19
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 2 Manage Multiple Messages
Send the Next Group of MSGs
Enable the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
If the MSGs in group 1 are currently enabled (Msg_Group1 = 1)
And Msg_2 is done or errored
And Msg_3 is done or errored
Then
Msg_Group1 = 0 This disables the current group of MSGs
Msg_Group2 = 1 This enables the next group of MSGs
20 Publication 1756-PM012B-EN-P - July 2008
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Manage Multiple Messages Chapter 2
Send the Next Group of MSGs
If Msg_Group1 changes from 0 -gt 1 then
Send Msg_2
Send Msg_3
Publication 1756-PM012B-EN-P - July 2008 21
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 2 Manage Multiple Messages
Notes
22 Publication 1756-PM012B-EN-P - July 2008
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 3
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
A If you use an asterisk [] to designate the element number of the array the value in provides the element number
B The Index box is only available when you use an asterisk [] in the Source Element or Destination Element The instruction substitutes the value of Index for the asterisk []
To send a message to multiple controllers
IMPORTANT In the MESSAGE data type the RemoteElement member stores the tag name or address of the data in the controller that receives the message
If the message Then the RemoteElement is the
Reads data Source Element
Writes data Destination Element
Tag Name
message
messageRemoteElement
messageRemoteIndex
messageLocalIndex
messageChannel
messageRack
messageGroup
messageSlot
messagePath
minus
+
+
+
+
+
+
+
+
43052
A B
B
23Publication 1756-PM012B-EN-P - July 2008 23
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 3 Send a Message to Multiple Controllers
bull Set Up the IO Configurationbull Define Your Source and Destination Elementsbull Create the MESSAGE_ CONFIGURATION Data Typebull Create the Configuration Arraybull Get the Size of the Local Arraybull Load the Message Properties for a Controllerbull Configure the Messagebull Step to the Next Controllerbull Restart the Sequence
Set Up the IO Configuration Although not required we recommend that you add the communication modules and remote controllers to the IO configuration of the controller This makes it easier to define the path to each remote controller
For example once you add the local communication module the remote communication module and the destination controller the Browse button lets you select the destination
TIP To copy the above components from a sample project open the hellipRSLogix 5000ProjectsSamples folder
43055
Open this projectMSG_to_Multiple_ControllersACD
Message Path Browser
Path peer_controller
peer_controller
IO Configuration
[0] 1756-CNBx Local_CNB
2 [0] 1756-CNBx chassis_b
[1] 1756-L55x peer_controller
minus
minus
minus
24 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Send a Message to Multiple Controllers Chapter 3
Define Your Source and Destination Elements
In this procedure an array stores the data that is read from or written to each remote controller Each element in the array corresponds to a different remote controller
1 Use the following worksheet to organize the tag names in the local and remote controllers
2 Create the local_array tag which stores the data in this controller
Name of the Remote Controller Tag or Address of the Data in the Remote Controller
Tag in This Controller
local_array[0]
local_array[1]
local_array[2]
local_array[3]
Tag Name Type
local_array data_type [length ]
where
data_type is the data type of the data that the message sends or receives such as DINT REAL or STRING
length is the number of elements in the local array
Publication 1756-PM012B-EN-P - July 2008 25
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 3 Send a Message to Multiple Controllers
Create the MESSAGE_ CONFIGURATION Data Type
In this procedure you create a user-defined data type to store the configuration variables for the message to each controller
bull Some of the required members of the data type use a string data typebull The default STRING data type stores 82 charactersbull If your paths or remote tag names or addresses use less than
82 characters you have the option of creating a new string type that stores fewer characters This lets you conserve memory
bull To create a new string type choose File gt New Component gt String Typehellip
bull If you create a new string type use it in place of the STRING data type in this procedure
To store the configuration variables for the message to each controller create the following user-defined data type
Create the Configuration Array
In this procedure you store the configuration properties for each controller in an array Before each execution of the MSG instruction your logic loads new properties into the instruction This sends the message to a different controller
Data Type MESSAGE_CONFIGURATION
Name MESSAGE_CONFIGURATION
Description Configuration properties for a message to another controller
Members
Name Data Type Style Description
Path STRING
RemoteElement STRING
To create a new data type
Controller Your_Project
Tasks
Motion Groups
Trends
Data Types
User-Defined
Right-click and choose New Data Type
+
+
+
minus+
+
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
Configuration Array
message_config
message_config[0]
message_config[0]Path
message_config[0]RemoteElement
message_config[1]
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
first execution of the message
next execution of the message
Message Properties
message
messagePath
messageRemoteElement
minus
+
+
26 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Send a Message to Multiple Controllers Chapter 3
1 To store the configuration properties for the message create the following array
where
number is the number of controllers to which to send the message
2 Into the message_config array enter the path to the first controller that receives the message
Tag Name Type Scope
message_config MESSAGE_CONFIGURATION[number] any
Tag Name Value
message_config hellip
message_config[0] hellip
Right-click and choose Go to Message Path Editor message_config[0]Path
message_config[0]RemoteElement
minus
minus
+
+
Type the path to the remote controller
Message Path Browser
Path
or peer_controller
Browse to the remote controller
IO Configuration
Publication 1756-PM012B-EN-P - July 2008 27
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 3 Send a Message to Multiple Controllers
3 Into the message_config array enter the tag name or address of the data in the first controller to receive the message
4 Enter the path and remote element for each additional controller
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
Type the tag name or address of the data in the other controller
minus
+
+
Tag Name Value
message_config hellip
message_config[0] hellip
message_config[0]Path
message_config[0]RemoteElement
message_config[1] hellip
message_config[1]Path
message_config[1]RemoteElement
minus
minus
+
+
minus
+
+
28 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Send a Message to Multiple Controllers Chapter 3
Get the Size of the Local Array
1 The SIZE instruction
bull counts the number of elements in local_arraybull counts the number of elements in Dimension 0 of the array In this case
that is the only dimension
2 Local_array_length (DINT) stores the size (number of elements) of local_array This value tells a subsequent rung when the message has been sent to all the controllers and to start with the first controller again
Load the Message Properties for a Controller
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
The instruction loads 1 element from message_config
43051
43051
2
3
Publication 1756-PM012B-EN-P - July 2008 29
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 3 Send a Message to Multiple Controllers
3 The second COP instruction loads the tag name or address of the data in the controller that receives the message The value of index determines which element the instruction loads from message_config
The instruction loads 1 element from message_config
Configure the Message Although the logic controls the remote element and path for the message there is initial configuration
IMPORTANT
43054
Clear the Cache Connection check box
30 Publication 1756-PM012B-EN-P - July 2008
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Send a Message to Multiple Controllers Chapter 3
On this tab If you want to For this item Type or select
Configuration Read (receive) data from the other controllers
Message Type The read-type that corresponds to the other controllers
Source Element Tag or address that contains the data in the first controller
Number Of Elements 1
Destination Tag local_array[]
Index 0
Write (send) data to the other controllers
Message Type The write-type that corresponds to other controllers
Source Tag local_array[]
Index 0
Number Of Elements 1
Destination Element Tag or address that contains the data in the first controller
Communication Path Path to the first controller
Cache Connections Clear the Cache Connection check box Since this procedure continuously changes the path of the message it is more efficient to clear this check box
Publication 1756-PM012B-EN-P - July 2008 31
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Chapter 3 Send a Message to Multiple Controllers
Step to the Next Controller
After the MSG instruction sends the messagehellip
1 The first ADD instruction increments index This lets the logic load the configuration properties for the next controller into the MSG instruction
2 The second ADD instruction increments the LocalIndex member of the MSG instruction This lets the logic load the value from the next controller into the next element of local_array
Restart the Sequence
When index equal local_array_length the controller has sent the message to all the other controllers
1 The first CLR instruction sets index equal to 0 This lets the logic load the configuration properties for the first controller into the MSG instruction and start the sequence of messages again
2 The second CLR instruction sets the LocalIndex member of the MSG instruction equal to 0 This lets the logic load the value from the first controller into the first element of local_array
1 2
43051
1 2
43051
32 Publication 1756-PM012B-EN-P - July 2008
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Publication 1756-PM012B-EN-P - July 2008 38Supersedes Publication 1756-PM012A-EN-P - July 2007 Copyright copy 2008 Rockwell Automation Inc All rights reserved Printed in the USA
Rockwell Automation Support
Rockwell Automation provides technical information on the Web to assist you in using its products At httpsupportrockwellautomationcom 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
For an additional level of technical phone support for installation configuration and troubleshooting we offer TechConnect support programs For more information contact your local distributor or Rockwell Automation representative or visit httpsupportrockwellautomationcom
Installation Assistance
If you experience a problem within the first 24 hours of installation please review the information thats contained in this manual You can also contact a special Customer Support number for initial help in getting your product up and running
New Product Satisfaction Return
Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility However if your product is not functioning and needs to be returned follow these procedures
United States 14406463434Monday ndash Friday 8am ndash 5pm EST
Outside United States
Please contact your local Rockwell Automation representative for any technical support issues
United States Contact your distributor You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process
Outside United States
Please contact your local Rockwell Automation representative for the return procedure
- Important User Information
- Table of Contents
- Preface
-
- Purpose of this Manual
- How to Use this Manual
-
- Chapter 1
- Controller Messages
-
- Introduction
- Message Queue
- Cache List
- Unconnected Buffers
- Guidelines
- Get or Set the Number of Unconnected Buffers
-
- Get the Number of Unconnected Buffers
- Set the Number of Unconnected Buffers
-
- Convert Between INTs and DINTs
-
- Chapter 2
- Manage Multiple Messages
-
- Introduction
- How to Use this Example Logic
- Message Manager Logic
-
- Initialize the Logic
- Restart the Sequence If Required
- Send the First Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
- Enable the Next Group of MSGs
- Send the Next Group of MSGs
-
- Chapter 3
- Send a Message to Multiple Controllers
-
- Introduction
- Set Up the IO Configuration
- Define Your Source and Destination Elements
- Create the MESSAGE_ CONFIGURATION Data Type
- Create the Configuration Array
- Get the Size of the Local Array
- Load the Message Properties for a Controller
- Configure the Message
-
- Step to the Next Controller
- Restart the Sequence
- Installation Assistance
- New Product Satisfaction Return
-
Intro
Generic pub print specs
IN RN pub type specs
UM RM PM pub type specs
AP PP pub type specs
BR pub type specs
Field definitions
PackagingOrdering Unit Of Measure | ||||
EA = Each | ||||
PK = Pack | ||||
PD = Pad | ||||
RL = Roll | ||||
BK = Book | ||||
CT = Carton | ||||
BX = Box | ||||
ST = Set | ||||
Multiple Order Qty | ||||
Separate methods of ordering same item For example if an item is packaged 50 per pad 5 pads per carton You can set the order qty as 50 each (one pad) or 250 each (1 ctn) | ||||
Business Group | ||||
The business group that the publication supports Your choice here determines the list you choose from for Cost Center | ||||
CorporateBusiness Development | ||||
Finance | ||||
Human Resources | ||||
IT | ||||
Logistics | ||||
Manufacturing | ||||
Marketing Commercial | ||||
Marketing Europe | ||||
Marketing Other | ||||
Operations | ||||
Order Services | ||||
Other | ||||
Process Improvement | ||||
Procurement | ||||
Quality | ||||
Sales | ||||
Max Order Quantity | ||||
Presale items = 100 | ||||
Postsale items = 5 | ||||
NOTE You can use other quantities but the delivery may take a bit longer because a system admin must approve it | ||||
Item Category - Form (F) or Book (B) | ||||
Form (F) = Any publication that is a single sheet (ie 1 or 2 pages) an envelope or carbonless form | ||||
Book (B) = Any publication that contains 3 or more pages | ||||
BindingStitching | ||||
For a Form (F) use | ||||
CARBONLESS | ||||
CUTSHEET | ||||
ENVELOPE | ||||
For a Book (B) use | ||||
LOOSE | LOOSE -Loose Leaf | |||
PERFECT | PERFECT - Perfect Bound | |||
PLASTCOIL | PLASTCOIL - Plastic Coil | |||
SADDLE | SADDLE - Saddle Stitch | |||
STAPLED1 | STAPLED1 -1 position | |||
STAPLED1B | STAPLED1B - bottom 1 position | |||
STAPLED2 | STAPLED2 - 2 positions | |||
THERMAL | THERMAL - Thermal bound | |||
THERMALO | THERMALO - Thermal Bound - offline | |||
Sides Printed | ||||
Head2Head = Most common Double-sided printing with headers on both pages lining up at the top of the page | ||||
Simplex = Single-sided printing | ||||
Head2Toe = Least common Double-sided printing with header on one page lining up with the footer on the other page | ||||
Number of Forms to a Sheet | ||||
Number of publication pages printed on a sheet of paper at the printerFor example if a 4-page 85 x 11 publication is printed on the front and back sides of an 11 x 17 sheet of paper that is folded in half the Number of Forms to a Sheet = 4Example 2 If a 4-page 55 x 85 publication is printed on the front and back sides of an 85 x 11 sheet of paper that is folded in half the Number of forms to a Sheet = 4 | ||||
Number of Sheets Required to Print | ||||
Number of sheets of paper required to print the publicationFor example if a 16-page 85 x 11 publication is printed on the front and back sides of four 11 x 17 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4Example 4 If a 4-page 55 x 85 publication is printed on the front and back sides of four 85 x 11 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4 | ||||
Paper Stock Type | ||||
Description | ||||
PLAIN | Bond | |||
ACNTCVR | Accent Cover | |||
BOND3H | Bond (3-hole) | |||
BOOKENV | Booklet Envelope | |||
C1SGLOSS | C1S Gloss Finish | |||
C1SMATTE | C1S Matt Finish | |||
C2SGLOSS | C2S Gloss Finish | |||
C2SMATTE | C2S Matt Finish | |||
CARD | Card Stock | |||
CATLGENV | Catalog Envelope | |||
CATLGENV6 | 6 Catalog Envelope | |||
COVERCOLOR | Color Cover Copy | |||
CRCKPEEL | Crack N Peel Label | |||
CUSTOM | Custom | |||
CVRFUTURA | Futura Cover | |||
ENV6x9 | Standard 6X9 Envelope | |||
ENV9X12 | Standard 9X12 Envelope | |||
ETHCERT | Ethicon Certificate | |||
GLOSSCOVER | Gloss Cover | |||
GLOSSTEXT | Gloss Text | |||
HOTSTEXT | Hots Text | |||
INDEX | Index | |||
LABEL80 | 80 Up Label | |||
MICROPRT | Micro Print | |||
OFFSET | Offset | |||
PART2 | 2 Part | |||
PART3 | 3 Part | |||
PART4 | 4 Part | |||
PART5 | 5 Part | |||
PART6 | 6 Part | |||
PERF | 12 inch Perfed | |||
PERMMAT | Perm Mat Ad | |||
PRECUTTAB | Pre-Cut Tab | |||
PREPERF | Pre-Perforated | |||
RECYL | Recycled | |||
SE10ENV | 10 Standard Envelope | |||
SE10ITENV | 10 Inside Tint Envelope | |||
SE9ENV | 9 Stanard Envelope | |||
TAG | Tag | |||
TEXT | Text | |||
TEXTCOLOR | Text Color Copy | |||
TEXTFUTURA | Futura Text | |||
TEXTLASER | Text Laser Print | |||
TRANSPRNCY | Transparencies | |||
VELLUM | Vellum | |||
VELLUM3HP | Vellum 3HP | |||
WE10ENV | 10 Window Envelope | |||
WE9ENV | 9 Windor Envelope | |||
WE9ITENV | 9 Inside Tint Window Envelope | |||
Paper Stock Color | ||||
Black | ||||
Blue | ||||
Buff | ||||
Canary | ||||
Cherry | ||||
Clear | ||||
Cream | ||||
Custom | ||||
Goldrenrod | ||||
Gray | ||||
Green | ||||
Ivory | ||||
Lavender | ||||
Manilla | ||||
NCRPinkCanary | ||||
NCRWhiteBlue | ||||
NCRWhiteBlueCanary | ||||
NCRWhiteCanary | ||||
NCRWhiteCanaryPink | ||||
NCRWhiteCanaryPinkGoldenrod | ||||
NCRWhiteGreen | ||||
NCRWhiteGoldenrodYellow | ||||
NCRWhitePink | ||||
NCRWhiteWhite | ||||
Opaque | ||||
Orange | ||||
Orchid | ||||
Peach | ||||
Pink | ||||
Purple | ||||
Salmon | ||||
Tan | ||||
Violet | ||||
White | ||||
Finished Trim Sizes (listed - width x length) | ||||
11 x 17 | ||||
18 x 24 Poster | ||||
24 x 36 Poster | ||||
3 x 5 | ||||
36 x 24 Poster | ||||
4 x 6 | ||||
475 x 7 | ||||
475 x 775 | ||||
55 x 85 | ||||
6 x 4 | ||||
7 x 9 | ||||
7385 x 9 (RSI Std) | ||||
85 x 11 | ||||
825 x 10875 | ||||
825 x 11 (RA product profile std) | ||||
8375 x 10875 | ||||
9 x 12 | ||||
A4 | ||||
A5 | ||||
Other - Custom size listed below | ||||
Drilling Locations | ||||
1CENTER | ||||
1LEFTTOP | ||||
1TOPCENTER | ||||
2LEFT | ||||
2LEFT2TOP | ||||
2TOP | ||||
2TOP2LEFT | ||||
2TOP3LEFT | ||||
2TOP5LEFT | ||||
2TOP5RIGHT | ||||
3BOTTOM | ||||
3LEFT | ||||
3LEFT2TOP | ||||
3LEFT3TOP | ||||
3RIGHT | ||||
3TOP | ||||
3TOP5LEFT | ||||
5BOTTOOM | ||||
5CENTER | ||||
5LEFT | ||||
5RIGHT | ||||
5RIGHT2TOP | ||||
5TOP | ||||
Fold Type | ||||
For TRI fold - select Z or C type | Description | |||
HALF | Half | |||
C | C Fold | |||
DBLEPARLL | Double Parallel | |||
OFFSETZ | Offset Z | |||
SAMPLE | See Sample | |||
SHORT | Short Fold | |||
V | V Fold | |||
Z | Z Fold | |||
Number of Pieces per Poly Wrap | ||||
Publication length | Number per Poly Wrap | |||
77 or more pages | NA | |||
33 to 76 pages | 25 | |||
3 to 32 pages | 50 | |||
1 or 2 pages | 100 | |||
Comments | ||||
CoverText Stock | Spine | |||
100 Gloss Cover | If your publication uses a spine make note of that in the comments field Be sure to include the spine as the last page of your PDF Also do not include that page as part of the publication page count | |||
100 Gloss Text | ||||
100 Text | ||||
10pt C1S Cover | ||||
10pt C2S Cover | ||||
10pt C2S Text | ||||
10pt Text Stock | ||||
110 White Index | ||||
12pt C1S Cover | ||||
20 White Opaque Bond | ||||
50 Colored Offset | ||||
50 White Offset | ||||
50 White Opaque | ||||
60 Cover Stock | ||||
60 White Offset | ||||
80 Gloss Cover | ||||
80 Gloss Text | ||||
8pt C1S White | ||||
90 White Index | ||||
CoverText Ink | ||||
Black | ||||
Black + 1 PMS color | Type in PMS color | |||
Black + 2 PMS colors | Type in PMS colors | |||
4 color | ||||
4 color over black | ||||
4 color + 1 PMS color | Type in PMS color | |||
4 color over black + 1 PMS color | Type in PMS color | |||
4 color + 2 PMS colors | Type in PMS colors | |||
4 color + aqueous | ||||
4 color + varnish |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Cannot use quote symbol that is---- | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PK | 1 | See DocMan for the Cost Center selections associated with each Business Group | Color | B | SADDLE | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | 825 | 11 | SIDE | NA | NA | NA | NA | HALF | 85 x 11 | 50 | RRD must provide this information |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PK | 1 | See DocMan for the Cost Center selections associated with each Business Group | Color | B | NA | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | GLOSS TEXT | 80 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 825 | 11 | NA | NA | NA | NA | HALF | 85 x 11 | RRD must provide this information |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EA | 1 | 1 | See DocMan for the Cost Center selections associated with each Business Group | Black amp White | B | PERFECT | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | 2 | PLAIN | 20 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 85 | 11 | NA | 516 | 3LEFT | NA | NA | NA | NA | RRD must provide this information | Cover Stock = 90 White IndexText Stock = 20 White Opaque BondCover Ink = BlackText Ink = BlackSpine = If included as last page of PDF |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1756-PM012B-EN-P | Logix5000 Controllers Messages | EA | 1 | 1 | Marketing Commercial | CMKMAY IA ControlVisNet - 19021 | 07012008 | 5 | Black amp White | B | SADDLE | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | 4 | 36 | 10 | PLAIN | 20 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 85 | 11 | SIDE | NA | NA | NA | NA | HALF | 85 x 11 | 50 | RRD must provide this information | Text Stock = 20 White Opaque BondText Ink = BlackCover Stock = 90 White IndexCover Ink = Black |
Corp | 17501 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bill To | 69 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
See DocMan for the Cost Center selections associated with each Business Group | RRD must provide this information | RRD must provide this information | RRD must provide this information | RRD must provide this information |
Details of the Rockwell Automation Print Specifications sheet | |||
This print specifications sheet is designed with multiple purposes- It is a vehicle to get the most accurate print specifications to RA-approved print vendors- It provides authors with an explanation of all necessary fields to complete before attaching the sheet to your PDF- It provides separate tabs so that an author can fill in all fields related to the publication on the Generic tab or publication-specific template-type tabs to minimize the number of fields an author must completeTo facilitate the most efficient use of this sheet we recommend that you click on the publication-specific tab that most closely fits you publication and use that to complete the print specificationsIMPORTANT Because this sheet was constructed using a sheet that RR Donnelley (RRD) uses to load print specifications there are some columns hidden For example the first field you must complete is Column E or Publication Number Columns A to D are used for RRD purposes and with information only representatives of that RA-approved printer can completeDO NOT delete any hidden columns from the tab you choose to use | |||
Definitions of Each Tab in Sheet | |||
Generic pub print specs | Single sheet with all required columns for necessary specifications None of the columns are completed All must be completed before attaching the sheet to your PDFThis tab has 39 blank fields you must complete via free text type or pull-down menus | ||
IN RN pub type specs | Templates with many fields already completed according to typical default settings Use this tab with publications similar to installation instructions (IN) and release notes (RN) However you can use this sheet for other publications that are similar to INs and RNsThis sheet has several fields already completed with default values which you can change You must complete the additional fields | ||
UM RM PM pub type specs | Templates with many fields already completed according to typical default settings Use this tab with publications similar to user manuals (UM) reference manuals (RM) and programming manuals (PM) However you can use this sheet for other publications that are similar to UMs RMs and PMsThis sheet has several fields already completed with default values which you can change You must complete the additional fields | ||
AP PP pub type specs | Templates with many fields already completed according to typical default settings Use this tab with publications similar to application solutions (AP) and product profiles (PP) However you can use this sheet for other publications that are similar to APs and PPsThis sheet has several fields already completed with default values which you can change You must complete the additional fields | ||
BR pub type specs | Templates with many fields already completed according to typical default settings Use this tab with publications similar to brochures (BR) However you can use this sheet for other publications that are similar to BRsThis sheet has several fields already completed with default values which you can change You must complete the additional fields | ||
Field definitions | Description of information fields used throughout the spreadsheet tabs that may not be immediately obvious to a user | ||
Attach Print Specs to PDF | |||
For Acrobat 80 follow these steps1 Open the PDF2 Click on DocumentgtAttach A File A new section appears at the bottom of the PDF3 Browse to the MS Excel file with the print specs and add it to the PDFFor Acrobat 70 follow these steps1 Open the PDF2 Click on the Attachments tab next to the publications bookmarks A new section appears at the bottom of the PDF3 Click on the Add button in the bottom section of the PDF4 Browse to the MS Excel file with the print specs and add it to the PDFFor Acrobat 60 follow these steps1 Open the PDF2 Go to the backcover of the PDF3 Click on the Tools pull-down menu4 Click on this sequence of menu options - Advanced Commenting Attach Attach File Tool A paper clip appears5 Click to put the paper clip somewhere on the backcover The browse window appears6 Browse to the MS Excel file with the print specs and add it to the PDFIMPORTANT If you are using Acrobat 50 or earlier please upgrade | |||
RA-QR005B-EN-E 308 |
Generic pub print specs
IN RN pub type specs
UM RM PM pub type specs
AP PP pub type specs
BR pub type specs
Field definitions
PackagingOrdering Unit Of Measure | ||||
EA = Each | ||||
PK = Pack | ||||
PD = Pad | ||||
RL = Roll | ||||
BK = Book | ||||
CT = Carton | ||||
BX = Box | ||||
ST = Set | ||||
Multiple Order Qty | ||||
Separate methods of ordering same item For example if an item is packaged 50 per pad 5 pads per carton You can set the order qty as 50 each (one pad) or 250 each (1 ctn) | ||||
Business Group | ||||
The business group that the publication supports Your choice here determines the list you choose from for Cost Center | ||||
CorporateBusiness Development | ||||
Finance | ||||
Human Resources | ||||
IT | ||||
Logistics | ||||
Manufacturing | ||||
Marketing Commercial | ||||
Marketing Europe | ||||
Marketing Other | ||||
Operations | ||||
Order Services | ||||
Other | ||||
Process Improvement | ||||
Procurement | ||||
Quality | ||||
Sales | ||||
Max Order Quantity | ||||
Presale items = 100 | ||||
Postsale items = 5 | ||||
NOTE You can use other quantities but the delivery may take a bit longer because a system admin must approve it | ||||
Item Category - Form (F) or Book (B) | ||||
Form (F) = Any publication that is a single sheet (ie 1 or 2 pages) an envelope or carbonless form | ||||
Book (B) = Any publication that contains 3 or more pages | ||||
BindingStitching | ||||
For a Form (F) use | ||||
CARBONLESS | ||||
CUTSHEET | ||||
ENVELOPE | ||||
For a Book (B) use | ||||
LOOSE | LOOSE -Loose Leaf | |||
PERFECT | PERFECT - Perfect Bound | |||
PLASTCOIL | PLASTCOIL - Plastic Coil | |||
SADDLE | SADDLE - Saddle Stitch | |||
STAPLED1 | STAPLED1 -1 position | |||
STAPLED1B | STAPLED1B - bottom 1 position | |||
STAPLED2 | STAPLED2 - 2 positions | |||
THERMAL | THERMAL - Thermal bound | |||
THERMALO | THERMALO - Thermal Bound - offline | |||
Sides Printed | ||||
Head2Head = Most common Double-sided printing with headers on both pages lining up at the top of the page | ||||
Simplex = Single-sided printing | ||||
Head2Toe = Least common Double-sided printing with header on one page lining up with the footer on the other page | ||||
Number of Forms to a Sheet | ||||
Number of publication pages printed on a sheet of paper at the printerFor example if a 4-page 85 x 11 publication is printed on the front and back sides of an 11 x 17 sheet of paper that is folded in half the Number of Forms to a Sheet = 4Example 2 If a 4-page 55 x 85 publication is printed on the front and back sides of an 85 x 11 sheet of paper that is folded in half the Number of forms to a Sheet = 4 | ||||
Number of Sheets Required to Print | ||||
Number of sheets of paper required to print the publicationFor example if a 16-page 85 x 11 publication is printed on the front and back sides of four 11 x 17 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4Example 4 If a 4-page 55 x 85 publication is printed on the front and back sides of four 85 x 11 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4 | ||||
Paper Stock Type | ||||
Description | ||||
PLAIN | Bond | |||
ACNTCVR | Accent Cover | |||
BOND3H | Bond (3-hole) | |||
BOOKENV | Booklet Envelope | |||
C1SGLOSS | C1S Gloss Finish | |||
C1SMATTE | C1S Matt Finish | |||
C2SGLOSS | C2S Gloss Finish | |||
C2SMATTE | C2S Matt Finish | |||
CARD | Card Stock | |||
CATLGENV | Catalog Envelope | |||
CATLGENV6 | 6 Catalog Envelope | |||
COVERCOLOR | Color Cover Copy | |||
CRCKPEEL | Crack N Peel Label | |||
CUSTOM | Custom | |||
CVRFUTURA | Futura Cover | |||
ENV6x9 | Standard 6X9 Envelope | |||
ENV9X12 | Standard 9X12 Envelope | |||
ETHCERT | Ethicon Certificate | |||
GLOSSCOVER | Gloss Cover | |||
GLOSSTEXT | Gloss Text | |||
HOTSTEXT | Hots Text | |||
INDEX | Index | |||
LABEL80 | 80 Up Label | |||
MICROPRT | Micro Print | |||
OFFSET | Offset | |||
PART2 | 2 Part | |||
PART3 | 3 Part | |||
PART4 | 4 Part | |||
PART5 | 5 Part | |||
PART6 | 6 Part | |||
PERF | 12 inch Perfed | |||
PERMMAT | Perm Mat Ad | |||
PRECUTTAB | Pre-Cut Tab | |||
PREPERF | Pre-Perforated | |||
RECYL | Recycled | |||
SE10ENV | 10 Standard Envelope | |||
SE10ITENV | 10 Inside Tint Envelope | |||
SE9ENV | 9 Stanard Envelope | |||
TAG | Tag | |||
TEXT | Text | |||
TEXTCOLOR | Text Color Copy | |||
TEXTFUTURA | Futura Text | |||
TEXTLASER | Text Laser Print | |||
TRANSPRNCY | Transparencies | |||
VELLUM | Vellum | |||
VELLUM3HP | Vellum 3HP | |||
WE10ENV | 10 Window Envelope | |||
WE9ENV | 9 Windor Envelope | |||
WE9ITENV | 9 Inside Tint Window Envelope | |||
Paper Stock Color | ||||
Black | ||||
Blue | ||||
Buff | ||||
Canary | ||||
Cherry | ||||
Clear | ||||
Cream | ||||
Custom | ||||
Goldrenrod | ||||
Gray | ||||
Green | ||||
Ivory | ||||
Lavender | ||||
Manilla | ||||
NCRPinkCanary | ||||
NCRWhiteBlue | ||||
NCRWhiteBlueCanary | ||||
NCRWhiteCanary | ||||
NCRWhiteCanaryPink | ||||
NCRWhiteCanaryPinkGoldenrod | ||||
NCRWhiteGreen | ||||
NCRWhiteGoldenrodYellow | ||||
NCRWhitePink | ||||
NCRWhiteWhite | ||||
Opaque | ||||
Orange | ||||
Orchid | ||||
Peach | ||||
Pink | ||||
Purple | ||||
Salmon | ||||
Tan | ||||
Violet | ||||
White | ||||
Finished Trim Sizes (listed - width x length) | ||||
11 x 17 | ||||
18 x 24 Poster | ||||
24 x 36 Poster | ||||
3 x 5 | ||||
36 x 24 Poster | ||||
4 x 6 | ||||
475 x 7 | ||||
475 x 775 | ||||
55 x 85 | ||||
6 x 4 | ||||
7 x 9 | ||||
7385 x 9 (RSI Std) | ||||
85 x 11 | ||||
825 x 10875 | ||||
825 x 11 (RA product profile std) | ||||
8375 x 10875 | ||||
9 x 12 | ||||
A4 | ||||
A5 | ||||
Other - Custom size listed below | ||||
Drilling Locations | ||||
1CENTER | ||||
1LEFTTOP | ||||
1TOPCENTER | ||||
2LEFT | ||||
2LEFT2TOP | ||||
2TOP | ||||
2TOP2LEFT | ||||
2TOP3LEFT | ||||
2TOP5LEFT | ||||
2TOP5RIGHT | ||||
3BOTTOM | ||||
3LEFT | ||||
3LEFT2TOP | ||||
3LEFT3TOP | ||||
3RIGHT | ||||
3TOP | ||||
3TOP5LEFT | ||||
5BOTTOOM | ||||
5CENTER | ||||
5LEFT | ||||
5RIGHT | ||||
5RIGHT2TOP | ||||
5TOP | ||||
Fold Type | ||||
For TRI fold - select Z or C type | Description | |||
HALF | Half | |||
C | C Fold | |||
DBLEPARLL | Double Parallel | |||
OFFSETZ | Offset Z | |||
SAMPLE | See Sample | |||
SHORT | Short Fold | |||
V | V Fold | |||
Z | Z Fold | |||
Number of Pieces per Poly Wrap | ||||
Publication length | Number per Poly Wrap | |||
77 or more pages | NA | |||
33 to 76 pages | 25 | |||
3 to 32 pages | 50 | |||
1 or 2 pages | 100 | |||
Comments | ||||
CoverText Stock | Spine | |||
100 Gloss Cover | If your publication uses a spine make note of that in the comments field Be sure to include the spine as the last page of your PDF Also do not include that page as part of the publication page count | |||
100 Gloss Text | ||||
100 Text | ||||
10pt C1S Cover | ||||
10pt C2S Cover | ||||
10pt C2S Text | ||||
10pt Text Stock | ||||
110 White Index | ||||
12pt C1S Cover | ||||
20 White Opaque Bond | ||||
50 Colored Offset | ||||
50 White Offset | ||||
50 White Opaque | ||||
60 Cover Stock | ||||
60 White Offset | ||||
80 Gloss Cover | ||||
80 Gloss Text | ||||
8pt C1S White | ||||
90 White Index | ||||
CoverText Ink | ||||
Black | ||||
Black + 1 PMS color | Type in PMS color | |||
Black + 2 PMS colors | Type in PMS colors | |||
4 color | ||||
4 color over black | ||||
4 color + 1 PMS color | Type in PMS color | |||
4 color over black + 1 PMS color | Type in PMS color | |||
4 color + 2 PMS colors | Type in PMS colors | |||
4 color + aqueous | ||||
4 color + varnish |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Cannot use quote symbol that is---- | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PK | 1 | See DocMan for the Cost Center selections associated with each Business Group | Color | B | SADDLE | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | 825 | 11 | SIDE | NA | NA | NA | NA | HALF | 85 x 11 | 50 | RRD must provide this information |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PK | 1 | See DocMan for the Cost Center selections associated with each Business Group | Color | B | NA | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | GLOSS TEXT | 80 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 825 | 11 | NA | NA | NA | NA | HALF | 85 x 11 | RRD must provide this information |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EA | 1 | 1 | See DocMan for the Cost Center selections associated with each Business Group | Black amp White | B | PERFECT | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | 2 | PLAIN | 20 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 85 | 11 | NA | 516 | 3LEFT | NA | NA | NA | NA | RRD must provide this information | Cover Stock = 90 White IndexText Stock = 20 White Opaque BondCover Ink = BlackText Ink = BlackSpine = If included as last page of PDF |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1756-PM012B-EN-P | Logix5000 Controllers Messages | EA | 1 | 1 | Marketing Commercial | CMKMAY IA ControlVisNet - 19021 | 07012008 | 5 | Black amp White | B | SADDLE | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | 4 | 36 | 10 | PLAIN | 20 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 85 | 11 | SIDE | NA | NA | NA | NA | HALF | 85 x 11 | 50 | RRD must provide this information | Text Stock = 20 White Opaque BondText Ink = BlackCover Stock = 90 White IndexCover Ink = Black |
Corp | 17501 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bill To | 69 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
See DocMan for the Cost Center selections associated with each Business Group | RRD must provide this information | RRD must provide this information | RRD must provide this information | RRD must provide this information |
IN RN pub type specs
UM RM PM pub type specs
AP PP pub type specs
BR pub type specs
Field definitions
PackagingOrdering Unit Of Measure | ||||
EA = Each | ||||
PK = Pack | ||||
PD = Pad | ||||
RL = Roll | ||||
BK = Book | ||||
CT = Carton | ||||
BX = Box | ||||
ST = Set | ||||
Multiple Order Qty | ||||
Separate methods of ordering same item For example if an item is packaged 50 per pad 5 pads per carton You can set the order qty as 50 each (one pad) or 250 each (1 ctn) | ||||
Business Group | ||||
The business group that the publication supports Your choice here determines the list you choose from for Cost Center | ||||
CorporateBusiness Development | ||||
Finance | ||||
Human Resources | ||||
IT | ||||
Logistics | ||||
Manufacturing | ||||
Marketing Commercial | ||||
Marketing Europe | ||||
Marketing Other | ||||
Operations | ||||
Order Services | ||||
Other | ||||
Process Improvement | ||||
Procurement | ||||
Quality | ||||
Sales | ||||
Max Order Quantity | ||||
Presale items = 100 | ||||
Postsale items = 5 | ||||
NOTE You can use other quantities but the delivery may take a bit longer because a system admin must approve it | ||||
Item Category - Form (F) or Book (B) | ||||
Form (F) = Any publication that is a single sheet (ie 1 or 2 pages) an envelope or carbonless form | ||||
Book (B) = Any publication that contains 3 or more pages | ||||
BindingStitching | ||||
For a Form (F) use | ||||
CARBONLESS | ||||
CUTSHEET | ||||
ENVELOPE | ||||
For a Book (B) use | ||||
LOOSE | LOOSE -Loose Leaf | |||
PERFECT | PERFECT - Perfect Bound | |||
PLASTCOIL | PLASTCOIL - Plastic Coil | |||
SADDLE | SADDLE - Saddle Stitch | |||
STAPLED1 | STAPLED1 -1 position | |||
STAPLED1B | STAPLED1B - bottom 1 position | |||
STAPLED2 | STAPLED2 - 2 positions | |||
THERMAL | THERMAL - Thermal bound | |||
THERMALO | THERMALO - Thermal Bound - offline | |||
Sides Printed | ||||
Head2Head = Most common Double-sided printing with headers on both pages lining up at the top of the page | ||||
Simplex = Single-sided printing | ||||
Head2Toe = Least common Double-sided printing with header on one page lining up with the footer on the other page | ||||
Number of Forms to a Sheet | ||||
Number of publication pages printed on a sheet of paper at the printerFor example if a 4-page 85 x 11 publication is printed on the front and back sides of an 11 x 17 sheet of paper that is folded in half the Number of Forms to a Sheet = 4Example 2 If a 4-page 55 x 85 publication is printed on the front and back sides of an 85 x 11 sheet of paper that is folded in half the Number of forms to a Sheet = 4 | ||||
Number of Sheets Required to Print | ||||
Number of sheets of paper required to print the publicationFor example if a 16-page 85 x 11 publication is printed on the front and back sides of four 11 x 17 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4Example 4 If a 4-page 55 x 85 publication is printed on the front and back sides of four 85 x 11 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4 | ||||
Paper Stock Type | ||||
Description | ||||
PLAIN | Bond | |||
ACNTCVR | Accent Cover | |||
BOND3H | Bond (3-hole) | |||
BOOKENV | Booklet Envelope | |||
C1SGLOSS | C1S Gloss Finish | |||
C1SMATTE | C1S Matt Finish | |||
C2SGLOSS | C2S Gloss Finish | |||
C2SMATTE | C2S Matt Finish | |||
CARD | Card Stock | |||
CATLGENV | Catalog Envelope | |||
CATLGENV6 | 6 Catalog Envelope | |||
COVERCOLOR | Color Cover Copy | |||
CRCKPEEL | Crack N Peel Label | |||
CUSTOM | Custom | |||
CVRFUTURA | Futura Cover | |||
ENV6x9 | Standard 6X9 Envelope | |||
ENV9X12 | Standard 9X12 Envelope | |||
ETHCERT | Ethicon Certificate | |||
GLOSSCOVER | Gloss Cover | |||
GLOSSTEXT | Gloss Text | |||
HOTSTEXT | Hots Text | |||
INDEX | Index | |||
LABEL80 | 80 Up Label | |||
MICROPRT | Micro Print | |||
OFFSET | Offset | |||
PART2 | 2 Part | |||
PART3 | 3 Part | |||
PART4 | 4 Part | |||
PART5 | 5 Part | |||
PART6 | 6 Part | |||
PERF | 12 inch Perfed | |||
PERMMAT | Perm Mat Ad | |||
PRECUTTAB | Pre-Cut Tab | |||
PREPERF | Pre-Perforated | |||
RECYL | Recycled | |||
SE10ENV | 10 Standard Envelope | |||
SE10ITENV | 10 Inside Tint Envelope | |||
SE9ENV | 9 Stanard Envelope | |||
TAG | Tag | |||
TEXT | Text | |||
TEXTCOLOR | Text Color Copy | |||
TEXTFUTURA | Futura Text | |||
TEXTLASER | Text Laser Print | |||
TRANSPRNCY | Transparencies | |||
VELLUM | Vellum | |||
VELLUM3HP | Vellum 3HP | |||
WE10ENV | 10 Window Envelope | |||
WE9ENV | 9 Windor Envelope | |||
WE9ITENV | 9 Inside Tint Window Envelope | |||
Paper Stock Color | ||||
Black | ||||
Blue | ||||
Buff | ||||
Canary | ||||
Cherry | ||||
Clear | ||||
Cream | ||||
Custom | ||||
Goldrenrod | ||||
Gray | ||||
Green | ||||
Ivory | ||||
Lavender | ||||
Manilla | ||||
NCRPinkCanary | ||||
NCRWhiteBlue | ||||
NCRWhiteBlueCanary | ||||
NCRWhiteCanary | ||||
NCRWhiteCanaryPink | ||||
NCRWhiteCanaryPinkGoldenrod | ||||
NCRWhiteGreen | ||||
NCRWhiteGoldenrodYellow | ||||
NCRWhitePink | ||||
NCRWhiteWhite | ||||
Opaque | ||||
Orange | ||||
Orchid | ||||
Peach | ||||
Pink | ||||
Purple | ||||
Salmon | ||||
Tan | ||||
Violet | ||||
White | ||||
Finished Trim Sizes (listed - width x length) | ||||
11 x 17 | ||||
18 x 24 Poster | ||||
24 x 36 Poster | ||||
3 x 5 | ||||
36 x 24 Poster | ||||
4 x 6 | ||||
475 x 7 | ||||
475 x 775 | ||||
55 x 85 | ||||
6 x 4 | ||||
7 x 9 | ||||
7385 x 9 (RSI Std) | ||||
85 x 11 | ||||
825 x 10875 | ||||
825 x 11 (RA product profile std) | ||||
8375 x 10875 | ||||
9 x 12 | ||||
A4 | ||||
A5 | ||||
Other - Custom size listed below | ||||
Drilling Locations | ||||
1CENTER | ||||
1LEFTTOP | ||||
1TOPCENTER | ||||
2LEFT | ||||
2LEFT2TOP | ||||
2TOP | ||||
2TOP2LEFT | ||||
2TOP3LEFT | ||||
2TOP5LEFT | ||||
2TOP5RIGHT | ||||
3BOTTOM | ||||
3LEFT | ||||
3LEFT2TOP | ||||
3LEFT3TOP | ||||
3RIGHT | ||||
3TOP | ||||
3TOP5LEFT | ||||
5BOTTOOM | ||||
5CENTER | ||||
5LEFT | ||||
5RIGHT | ||||
5RIGHT2TOP | ||||
5TOP | ||||
Fold Type | ||||
For TRI fold - select Z or C type | Description | |||
HALF | Half | |||
C | C Fold | |||
DBLEPARLL | Double Parallel | |||
OFFSETZ | Offset Z | |||
SAMPLE | See Sample | |||
SHORT | Short Fold | |||
V | V Fold | |||
Z | Z Fold | |||
Number of Pieces per Poly Wrap | ||||
Publication length | Number per Poly Wrap | |||
77 or more pages | NA | |||
33 to 76 pages | 25 | |||
3 to 32 pages | 50 | |||
1 or 2 pages | 100 | |||
Comments | ||||
CoverText Stock | Spine | |||
100 Gloss Cover | If your publication uses a spine make note of that in the comments field Be sure to include the spine as the last page of your PDF Also do not include that page as part of the publication page count | |||
100 Gloss Text | ||||
100 Text | ||||
10pt C1S Cover | ||||
10pt C2S Cover | ||||
10pt C2S Text | ||||
10pt Text Stock | ||||
110 White Index | ||||
12pt C1S Cover | ||||
20 White Opaque Bond | ||||
50 Colored Offset | ||||
50 White Offset | ||||
50 White Opaque | ||||
60 Cover Stock | ||||
60 White Offset | ||||
80 Gloss Cover | ||||
80 Gloss Text | ||||
8pt C1S White | ||||
90 White Index | ||||
CoverText Ink | ||||
Black | ||||
Black + 1 PMS color | Type in PMS color | |||
Black + 2 PMS colors | Type in PMS colors | |||
4 color | ||||
4 color over black | ||||
4 color + 1 PMS color | Type in PMS color | |||
4 color over black + 1 PMS color | Type in PMS color | |||
4 color + 2 PMS colors | Type in PMS colors | |||
4 color + aqueous | ||||
4 color + varnish |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Cannot use quote symbol that is---- | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PK | 1 | See DocMan for the Cost Center selections associated with each Business Group | Color | B | SADDLE | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | 825 | 11 | SIDE | NA | NA | NA | NA | HALF | 85 x 11 | 50 | RRD must provide this information |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PK | 1 | See DocMan for the Cost Center selections associated with each Business Group | Color | B | NA | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | GLOSS TEXT | 80 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 825 | 11 | NA | NA | NA | NA | HALF | 85 x 11 | RRD must provide this information |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EA | 1 | 1 | See DocMan for the Cost Center selections associated with each Business Group | Black amp White | B | PERFECT | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | 2 | PLAIN | 20 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 85 | 11 | NA | 516 | 3LEFT | NA | NA | NA | NA | RRD must provide this information | Cover Stock = 90 White IndexText Stock = 20 White Opaque BondCover Ink = BlackText Ink = BlackSpine = If included as last page of PDF |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1756-PM012B-EN-P | Logix5000 Controllers Messages | EA | 1 | 1 | Marketing Commercial | CMKMAY IA ControlVisNet - 19021 | 07012008 | 5 | Black amp White | B | SADDLE | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | 4 | 36 | 10 | PLAIN | 20 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 85 | 11 | SIDE | NA | NA | NA | NA | HALF | 85 x 11 | 50 | RRD must provide this information | Text Stock = 20 White Opaque BondText Ink = BlackCover Stock = 90 White IndexCover Ink = Black |
UM RM PM pub type specs
AP PP pub type specs
BR pub type specs
Field definitions
PackagingOrdering Unit Of Measure | ||||
EA = Each | ||||
PK = Pack | ||||
PD = Pad | ||||
RL = Roll | ||||
BK = Book | ||||
CT = Carton | ||||
BX = Box | ||||
ST = Set | ||||
Multiple Order Qty | ||||
Separate methods of ordering same item For example if an item is packaged 50 per pad 5 pads per carton You can set the order qty as 50 each (one pad) or 250 each (1 ctn) | ||||
Business Group | ||||
The business group that the publication supports Your choice here determines the list you choose from for Cost Center | ||||
CorporateBusiness Development | ||||
Finance | ||||
Human Resources | ||||
IT | ||||
Logistics | ||||
Manufacturing | ||||
Marketing Commercial | ||||
Marketing Europe | ||||
Marketing Other | ||||
Operations | ||||
Order Services | ||||
Other | ||||
Process Improvement | ||||
Procurement | ||||
Quality | ||||
Sales | ||||
Max Order Quantity | ||||
Presale items = 100 | ||||
Postsale items = 5 | ||||
NOTE You can use other quantities but the delivery may take a bit longer because a system admin must approve it | ||||
Item Category - Form (F) or Book (B) | ||||
Form (F) = Any publication that is a single sheet (ie 1 or 2 pages) an envelope or carbonless form | ||||
Book (B) = Any publication that contains 3 or more pages | ||||
BindingStitching | ||||
For a Form (F) use | ||||
CARBONLESS | ||||
CUTSHEET | ||||
ENVELOPE | ||||
For a Book (B) use | ||||
LOOSE | LOOSE -Loose Leaf | |||
PERFECT | PERFECT - Perfect Bound | |||
PLASTCOIL | PLASTCOIL - Plastic Coil | |||
SADDLE | SADDLE - Saddle Stitch | |||
STAPLED1 | STAPLED1 -1 position | |||
STAPLED1B | STAPLED1B - bottom 1 position | |||
STAPLED2 | STAPLED2 - 2 positions | |||
THERMAL | THERMAL - Thermal bound | |||
THERMALO | THERMALO - Thermal Bound - offline | |||
Sides Printed | ||||
Head2Head = Most common Double-sided printing with headers on both pages lining up at the top of the page | ||||
Simplex = Single-sided printing | ||||
Head2Toe = Least common Double-sided printing with header on one page lining up with the footer on the other page | ||||
Number of Forms to a Sheet | ||||
Number of publication pages printed on a sheet of paper at the printerFor example if a 4-page 85 x 11 publication is printed on the front and back sides of an 11 x 17 sheet of paper that is folded in half the Number of Forms to a Sheet = 4Example 2 If a 4-page 55 x 85 publication is printed on the front and back sides of an 85 x 11 sheet of paper that is folded in half the Number of forms to a Sheet = 4 | ||||
Number of Sheets Required to Print | ||||
Number of sheets of paper required to print the publicationFor example if a 16-page 85 x 11 publication is printed on the front and back sides of four 11 x 17 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4Example 4 If a 4-page 55 x 85 publication is printed on the front and back sides of four 85 x 11 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4 | ||||
Paper Stock Type | ||||
Description | ||||
PLAIN | Bond | |||
ACNTCVR | Accent Cover | |||
BOND3H | Bond (3-hole) | |||
BOOKENV | Booklet Envelope | |||
C1SGLOSS | C1S Gloss Finish | |||
C1SMATTE | C1S Matt Finish | |||
C2SGLOSS | C2S Gloss Finish | |||
C2SMATTE | C2S Matt Finish | |||
CARD | Card Stock | |||
CATLGENV | Catalog Envelope | |||
CATLGENV6 | 6 Catalog Envelope | |||
COVERCOLOR | Color Cover Copy | |||
CRCKPEEL | Crack N Peel Label | |||
CUSTOM | Custom | |||
CVRFUTURA | Futura Cover | |||
ENV6x9 | Standard 6X9 Envelope | |||
ENV9X12 | Standard 9X12 Envelope | |||
ETHCERT | Ethicon Certificate | |||
GLOSSCOVER | Gloss Cover | |||
GLOSSTEXT | Gloss Text | |||
HOTSTEXT | Hots Text | |||
INDEX | Index | |||
LABEL80 | 80 Up Label | |||
MICROPRT | Micro Print | |||
OFFSET | Offset | |||
PART2 | 2 Part | |||
PART3 | 3 Part | |||
PART4 | 4 Part | |||
PART5 | 5 Part | |||
PART6 | 6 Part | |||
PERF | 12 inch Perfed | |||
PERMMAT | Perm Mat Ad | |||
PRECUTTAB | Pre-Cut Tab | |||
PREPERF | Pre-Perforated | |||
RECYL | Recycled | |||
SE10ENV | 10 Standard Envelope | |||
SE10ITENV | 10 Inside Tint Envelope | |||
SE9ENV | 9 Stanard Envelope | |||
TAG | Tag | |||
TEXT | Text | |||
TEXTCOLOR | Text Color Copy | |||
TEXTFUTURA | Futura Text | |||
TEXTLASER | Text Laser Print | |||
TRANSPRNCY | Transparencies | |||
VELLUM | Vellum | |||
VELLUM3HP | Vellum 3HP | |||
WE10ENV | 10 Window Envelope | |||
WE9ENV | 9 Windor Envelope | |||
WE9ITENV | 9 Inside Tint Window Envelope | |||
Paper Stock Color | ||||
Black | ||||
Blue | ||||
Buff | ||||
Canary | ||||
Cherry | ||||
Clear | ||||
Cream | ||||
Custom | ||||
Goldrenrod | ||||
Gray | ||||
Green | ||||
Ivory | ||||
Lavender | ||||
Manilla | ||||
NCRPinkCanary | ||||
NCRWhiteBlue | ||||
NCRWhiteBlueCanary | ||||
NCRWhiteCanary | ||||
NCRWhiteCanaryPink | ||||
NCRWhiteCanaryPinkGoldenrod | ||||
NCRWhiteGreen | ||||
NCRWhiteGoldenrodYellow | ||||
NCRWhitePink | ||||
NCRWhiteWhite | ||||
Opaque | ||||
Orange | ||||
Orchid | ||||
Peach | ||||
Pink | ||||
Purple | ||||
Salmon | ||||
Tan | ||||
Violet | ||||
White | ||||
Finished Trim Sizes (listed - width x length) | ||||
11 x 17 | ||||
18 x 24 Poster | ||||
24 x 36 Poster | ||||
3 x 5 | ||||
36 x 24 Poster | ||||
4 x 6 | ||||
475 x 7 | ||||
475 x 775 | ||||
55 x 85 | ||||
6 x 4 | ||||
7 x 9 | ||||
7385 x 9 (RSI Std) | ||||
85 x 11 | ||||
825 x 10875 | ||||
825 x 11 (RA product profile std) | ||||
8375 x 10875 | ||||
9 x 12 | ||||
A4 | ||||
A5 | ||||
Other - Custom size listed below | ||||
Drilling Locations | ||||
1CENTER | ||||
1LEFTTOP | ||||
1TOPCENTER | ||||
2LEFT | ||||
2LEFT2TOP | ||||
2TOP | ||||
2TOP2LEFT | ||||
2TOP3LEFT | ||||
2TOP5LEFT | ||||
2TOP5RIGHT | ||||
3BOTTOM | ||||
3LEFT | ||||
3LEFT2TOP | ||||
3LEFT3TOP | ||||
3RIGHT | ||||
3TOP | ||||
3TOP5LEFT | ||||
5BOTTOOM | ||||
5CENTER | ||||
5LEFT | ||||
5RIGHT | ||||
5RIGHT2TOP | ||||
5TOP | ||||
Fold Type | ||||
For TRI fold - select Z or C type | Description | |||
HALF | Half | |||
C | C Fold | |||
DBLEPARLL | Double Parallel | |||
OFFSETZ | Offset Z | |||
SAMPLE | See Sample | |||
SHORT | Short Fold | |||
V | V Fold | |||
Z | Z Fold | |||
Number of Pieces per Poly Wrap | ||||
Publication length | Number per Poly Wrap | |||
77 or more pages | NA | |||
33 to 76 pages | 25 | |||
3 to 32 pages | 50 | |||
1 or 2 pages | 100 | |||
Comments | ||||
CoverText Stock | Spine | |||
100 Gloss Cover | If your publication uses a spine make note of that in the comments field Be sure to include the spine as the last page of your PDF Also do not include that page as part of the publication page count | |||
100 Gloss Text | ||||
100 Text | ||||
10pt C1S Cover | ||||
10pt C2S Cover | ||||
10pt C2S Text | ||||
10pt Text Stock | ||||
110 White Index | ||||
12pt C1S Cover | ||||
20 White Opaque Bond | ||||
50 Colored Offset | ||||
50 White Offset | ||||
50 White Opaque | ||||
60 Cover Stock | ||||
60 White Offset | ||||
80 Gloss Cover | ||||
80 Gloss Text | ||||
8pt C1S White | ||||
90 White Index | ||||
CoverText Ink | ||||
Black | ||||
Black + 1 PMS color | Type in PMS color | |||
Black + 2 PMS colors | Type in PMS colors | |||
4 color | ||||
4 color over black | ||||
4 color + 1 PMS color | Type in PMS color | |||
4 color over black + 1 PMS color | Type in PMS color | |||
4 color + 2 PMS colors | Type in PMS colors | |||
4 color + aqueous | ||||
4 color + varnish |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Cannot use quote symbol that is---- | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PK | 1 | See DocMan for the Cost Center selections associated with each Business Group | Color | B | SADDLE | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | 825 | 11 | SIDE | NA | NA | NA | NA | HALF | 85 x 11 | 50 | RRD must provide this information |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PK | 1 | See DocMan for the Cost Center selections associated with each Business Group | Color | B | NA | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | GLOSS TEXT | 80 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 825 | 11 | NA | NA | NA | NA | HALF | 85 x 11 | RRD must provide this information |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EA | 1 | 1 | See DocMan for the Cost Center selections associated with each Business Group | Black amp White | B | PERFECT | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | 2 | PLAIN | 20 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 85 | 11 | NA | 516 | 3LEFT | NA | NA | NA | NA | RRD must provide this information | Cover Stock = 90 White IndexText Stock = 20 White Opaque BondCover Ink = BlackText Ink = BlackSpine = If included as last page of PDF |
AP PP pub type specs
BR pub type specs
Field definitions
PackagingOrdering Unit Of Measure | ||||
EA = Each | ||||
PK = Pack | ||||
PD = Pad | ||||
RL = Roll | ||||
BK = Book | ||||
CT = Carton | ||||
BX = Box | ||||
ST = Set | ||||
Multiple Order Qty | ||||
Separate methods of ordering same item For example if an item is packaged 50 per pad 5 pads per carton You can set the order qty as 50 each (one pad) or 250 each (1 ctn) | ||||
Business Group | ||||
The business group that the publication supports Your choice here determines the list you choose from for Cost Center | ||||
CorporateBusiness Development | ||||
Finance | ||||
Human Resources | ||||
IT | ||||
Logistics | ||||
Manufacturing | ||||
Marketing Commercial | ||||
Marketing Europe | ||||
Marketing Other | ||||
Operations | ||||
Order Services | ||||
Other | ||||
Process Improvement | ||||
Procurement | ||||
Quality | ||||
Sales | ||||
Max Order Quantity | ||||
Presale items = 100 | ||||
Postsale items = 5 | ||||
NOTE You can use other quantities but the delivery may take a bit longer because a system admin must approve it | ||||
Item Category - Form (F) or Book (B) | ||||
Form (F) = Any publication that is a single sheet (ie 1 or 2 pages) an envelope or carbonless form | ||||
Book (B) = Any publication that contains 3 or more pages | ||||
BindingStitching | ||||
For a Form (F) use | ||||
CARBONLESS | ||||
CUTSHEET | ||||
ENVELOPE | ||||
For a Book (B) use | ||||
LOOSE | LOOSE -Loose Leaf | |||
PERFECT | PERFECT - Perfect Bound | |||
PLASTCOIL | PLASTCOIL - Plastic Coil | |||
SADDLE | SADDLE - Saddle Stitch | |||
STAPLED1 | STAPLED1 -1 position | |||
STAPLED1B | STAPLED1B - bottom 1 position | |||
STAPLED2 | STAPLED2 - 2 positions | |||
THERMAL | THERMAL - Thermal bound | |||
THERMALO | THERMALO - Thermal Bound - offline | |||
Sides Printed | ||||
Head2Head = Most common Double-sided printing with headers on both pages lining up at the top of the page | ||||
Simplex = Single-sided printing | ||||
Head2Toe = Least common Double-sided printing with header on one page lining up with the footer on the other page | ||||
Number of Forms to a Sheet | ||||
Number of publication pages printed on a sheet of paper at the printerFor example if a 4-page 85 x 11 publication is printed on the front and back sides of an 11 x 17 sheet of paper that is folded in half the Number of Forms to a Sheet = 4Example 2 If a 4-page 55 x 85 publication is printed on the front and back sides of an 85 x 11 sheet of paper that is folded in half the Number of forms to a Sheet = 4 | ||||
Number of Sheets Required to Print | ||||
Number of sheets of paper required to print the publicationFor example if a 16-page 85 x 11 publication is printed on the front and back sides of four 11 x 17 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4Example 4 If a 4-page 55 x 85 publication is printed on the front and back sides of four 85 x 11 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4 | ||||
Paper Stock Type | ||||
Description | ||||
PLAIN | Bond | |||
ACNTCVR | Accent Cover | |||
BOND3H | Bond (3-hole) | |||
BOOKENV | Booklet Envelope | |||
C1SGLOSS | C1S Gloss Finish | |||
C1SMATTE | C1S Matt Finish | |||
C2SGLOSS | C2S Gloss Finish | |||
C2SMATTE | C2S Matt Finish | |||
CARD | Card Stock | |||
CATLGENV | Catalog Envelope | |||
CATLGENV6 | 6 Catalog Envelope | |||
COVERCOLOR | Color Cover Copy | |||
CRCKPEEL | Crack N Peel Label | |||
CUSTOM | Custom | |||
CVRFUTURA | Futura Cover | |||
ENV6x9 | Standard 6X9 Envelope | |||
ENV9X12 | Standard 9X12 Envelope | |||
ETHCERT | Ethicon Certificate | |||
GLOSSCOVER | Gloss Cover | |||
GLOSSTEXT | Gloss Text | |||
HOTSTEXT | Hots Text | |||
INDEX | Index | |||
LABEL80 | 80 Up Label | |||
MICROPRT | Micro Print | |||
OFFSET | Offset | |||
PART2 | 2 Part | |||
PART3 | 3 Part | |||
PART4 | 4 Part | |||
PART5 | 5 Part | |||
PART6 | 6 Part | |||
PERF | 12 inch Perfed | |||
PERMMAT | Perm Mat Ad | |||
PRECUTTAB | Pre-Cut Tab | |||
PREPERF | Pre-Perforated | |||
RECYL | Recycled | |||
SE10ENV | 10 Standard Envelope | |||
SE10ITENV | 10 Inside Tint Envelope | |||
SE9ENV | 9 Stanard Envelope | |||
TAG | Tag | |||
TEXT | Text | |||
TEXTCOLOR | Text Color Copy | |||
TEXTFUTURA | Futura Text | |||
TEXTLASER | Text Laser Print | |||
TRANSPRNCY | Transparencies | |||
VELLUM | Vellum | |||
VELLUM3HP | Vellum 3HP | |||
WE10ENV | 10 Window Envelope | |||
WE9ENV | 9 Windor Envelope | |||
WE9ITENV | 9 Inside Tint Window Envelope | |||
Paper Stock Color | ||||
Black | ||||
Blue | ||||
Buff | ||||
Canary | ||||
Cherry | ||||
Clear | ||||
Cream | ||||
Custom | ||||
Goldrenrod | ||||
Gray | ||||
Green | ||||
Ivory | ||||
Lavender | ||||
Manilla | ||||
NCRPinkCanary | ||||
NCRWhiteBlue | ||||
NCRWhiteBlueCanary | ||||
NCRWhiteCanary | ||||
NCRWhiteCanaryPink | ||||
NCRWhiteCanaryPinkGoldenrod | ||||
NCRWhiteGreen | ||||
NCRWhiteGoldenrodYellow | ||||
NCRWhitePink | ||||
NCRWhiteWhite | ||||
Opaque | ||||
Orange | ||||
Orchid | ||||
Peach | ||||
Pink | ||||
Purple | ||||
Salmon | ||||
Tan | ||||
Violet | ||||
White | ||||
Finished Trim Sizes (listed - width x length) | ||||
11 x 17 | ||||
18 x 24 Poster | ||||
24 x 36 Poster | ||||
3 x 5 | ||||
36 x 24 Poster | ||||
4 x 6 | ||||
475 x 7 | ||||
475 x 775 | ||||
55 x 85 | ||||
6 x 4 | ||||
7 x 9 | ||||
7385 x 9 (RSI Std) | ||||
85 x 11 | ||||
825 x 10875 | ||||
825 x 11 (RA product profile std) | ||||
8375 x 10875 | ||||
9 x 12 | ||||
A4 | ||||
A5 | ||||
Other - Custom size listed below | ||||
Drilling Locations | ||||
1CENTER | ||||
1LEFTTOP | ||||
1TOPCENTER | ||||
2LEFT | ||||
2LEFT2TOP | ||||
2TOP | ||||
2TOP2LEFT | ||||
2TOP3LEFT | ||||
2TOP5LEFT | ||||
2TOP5RIGHT | ||||
3BOTTOM | ||||
3LEFT | ||||
3LEFT2TOP | ||||
3LEFT3TOP | ||||
3RIGHT | ||||
3TOP | ||||
3TOP5LEFT | ||||
5BOTTOOM | ||||
5CENTER | ||||
5LEFT | ||||
5RIGHT | ||||
5RIGHT2TOP | ||||
5TOP | ||||
Fold Type | ||||
For TRI fold - select Z or C type | Description | |||
HALF | Half | |||
C | C Fold | |||
DBLEPARLL | Double Parallel | |||
OFFSETZ | Offset Z | |||
SAMPLE | See Sample | |||
SHORT | Short Fold | |||
V | V Fold | |||
Z | Z Fold | |||
Number of Pieces per Poly Wrap | ||||
Publication length | Number per Poly Wrap | |||
77 or more pages | NA | |||
33 to 76 pages | 25 | |||
3 to 32 pages | 50 | |||
1 or 2 pages | 100 | |||
Comments | ||||
CoverText Stock | Spine | |||
100 Gloss Cover | If your publication uses a spine make note of that in the comments field Be sure to include the spine as the last page of your PDF Also do not include that page as part of the publication page count | |||
100 Gloss Text | ||||
100 Text | ||||
10pt C1S Cover | ||||
10pt C2S Cover | ||||
10pt C2S Text | ||||
10pt Text Stock | ||||
110 White Index | ||||
12pt C1S Cover | ||||
20 White Opaque Bond | ||||
50 Colored Offset | ||||
50 White Offset | ||||
50 White Opaque | ||||
60 Cover Stock | ||||
60 White Offset | ||||
80 Gloss Cover | ||||
80 Gloss Text | ||||
8pt C1S White | ||||
90 White Index | ||||
CoverText Ink | ||||
Black | ||||
Black + 1 PMS color | Type in PMS color | |||
Black + 2 PMS colors | Type in PMS colors | |||
4 color | ||||
4 color over black | ||||
4 color + 1 PMS color | Type in PMS color | |||
4 color over black + 1 PMS color | Type in PMS color | |||
4 color + 2 PMS colors | Type in PMS colors | |||
4 color + aqueous | ||||
4 color + varnish |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Cannot use quote symbol that is---- | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PK | 1 | See DocMan for the Cost Center selections associated with each Business Group | Color | B | SADDLE | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | 825 | 11 | SIDE | NA | NA | NA | NA | HALF | 85 x 11 | 50 | RRD must provide this information |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Item Description | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PK | 1 | See DocMan for the Cost Center selections associated with each Business Group | Color | B | NA | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | GLOSS TEXT | 80 | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | NA | 825 | 11 | NA | NA | NA | NA | HALF | 85 x 11 | RRD must provide this information |
BR pub type specs
Field definitions
PackagingOrdering Unit Of Measure | ||||
EA = Each | ||||
PK = Pack | ||||
PD = Pad | ||||
RL = Roll | ||||
BK = Book | ||||
CT = Carton | ||||
BX = Box | ||||
ST = Set | ||||
Multiple Order Qty | ||||
Separate methods of ordering same item For example if an item is packaged 50 per pad 5 pads per carton You can set the order qty as 50 each (one pad) or 250 each (1 ctn) | ||||
Business Group | ||||
The business group that the publication supports Your choice here determines the list you choose from for Cost Center | ||||
CorporateBusiness Development | ||||
Finance | ||||
Human Resources | ||||
IT | ||||
Logistics | ||||
Manufacturing | ||||
Marketing Commercial | ||||
Marketing Europe | ||||
Marketing Other | ||||
Operations | ||||
Order Services | ||||
Other | ||||
Process Improvement | ||||
Procurement | ||||
Quality | ||||
Sales | ||||
Max Order Quantity | ||||
Presale items = 100 | ||||
Postsale items = 5 | ||||
NOTE You can use other quantities but the delivery may take a bit longer because a system admin must approve it | ||||
Item Category - Form (F) or Book (B) | ||||
Form (F) = Any publication that is a single sheet (ie 1 or 2 pages) an envelope or carbonless form | ||||
Book (B) = Any publication that contains 3 or more pages | ||||
BindingStitching | ||||
For a Form (F) use | ||||
CARBONLESS | ||||
CUTSHEET | ||||
ENVELOPE | ||||
For a Book (B) use | ||||
LOOSE | LOOSE -Loose Leaf | |||
PERFECT | PERFECT - Perfect Bound | |||
PLASTCOIL | PLASTCOIL - Plastic Coil | |||
SADDLE | SADDLE - Saddle Stitch | |||
STAPLED1 | STAPLED1 -1 position | |||
STAPLED1B | STAPLED1B - bottom 1 position | |||
STAPLED2 | STAPLED2 - 2 positions | |||
THERMAL | THERMAL - Thermal bound | |||
THERMALO | THERMALO - Thermal Bound - offline | |||
Sides Printed | ||||
Head2Head = Most common Double-sided printing with headers on both pages lining up at the top of the page | ||||
Simplex = Single-sided printing | ||||
Head2Toe = Least common Double-sided printing with header on one page lining up with the footer on the other page | ||||
Number of Forms to a Sheet | ||||
Number of publication pages printed on a sheet of paper at the printerFor example if a 4-page 85 x 11 publication is printed on the front and back sides of an 11 x 17 sheet of paper that is folded in half the Number of Forms to a Sheet = 4Example 2 If a 4-page 55 x 85 publication is printed on the front and back sides of an 85 x 11 sheet of paper that is folded in half the Number of forms to a Sheet = 4 | ||||
Number of Sheets Required to Print | ||||
Number of sheets of paper required to print the publicationFor example if a 16-page 85 x 11 publication is printed on the front and back sides of four 11 x 17 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4Example 4 If a 4-page 55 x 85 publication is printed on the front and back sides of four 85 x 11 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4 | ||||
Paper Stock Type | ||||
Description | ||||
PLAIN | Bond | |||
ACNTCVR | Accent Cover | |||
BOND3H | Bond (3-hole) | |||
BOOKENV | Booklet Envelope | |||
C1SGLOSS | C1S Gloss Finish | |||
C1SMATTE | C1S Matt Finish | |||
C2SGLOSS | C2S Gloss Finish | |||
C2SMATTE | C2S Matt Finish | |||
CARD | Card Stock | |||
CATLGENV | Catalog Envelope | |||
CATLGENV6 | 6 Catalog Envelope | |||
COVERCOLOR | Color Cover Copy | |||
CRCKPEEL | Crack N Peel Label | |||
CUSTOM | Custom | |||
CVRFUTURA | Futura Cover | |||
ENV6x9 | Standard 6X9 Envelope | |||
ENV9X12 | Standard 9X12 Envelope | |||
ETHCERT | Ethicon Certificate | |||
GLOSSCOVER | Gloss Cover | |||
GLOSSTEXT | Gloss Text | |||
HOTSTEXT | Hots Text | |||
INDEX | Index | |||
LABEL80 | 80 Up Label | |||
MICROPRT | Micro Print | |||
OFFSET | Offset | |||
PART2 | 2 Part | |||
PART3 | 3 Part | |||
PART4 | 4 Part | |||
PART5 | 5 Part | |||
PART6 | 6 Part | |||
PERF | 12 inch Perfed | |||
PERMMAT | Perm Mat Ad | |||
PRECUTTAB | Pre-Cut Tab | |||
PREPERF | Pre-Perforated | |||
RECYL | Recycled | |||
SE10ENV | 10 Standard Envelope | |||
SE10ITENV | 10 Inside Tint Envelope | |||
SE9ENV | 9 Stanard Envelope | |||
TAG | Tag | |||
TEXT | Text | |||
TEXTCOLOR | Text Color Copy | |||
TEXTFUTURA | Futura Text | |||
TEXTLASER | Text Laser Print | |||
TRANSPRNCY | Transparencies | |||
VELLUM | Vellum | |||
VELLUM3HP | Vellum 3HP | |||
WE10ENV | 10 Window Envelope | |||
WE9ENV | 9 Windor Envelope | |||
WE9ITENV | 9 Inside Tint Window Envelope | |||
Paper Stock Color | ||||
Black | ||||
Blue | ||||
Buff | ||||
Canary | ||||
Cherry | ||||
Clear | ||||
Cream | ||||
Custom | ||||
Goldrenrod | ||||
Gray | ||||
Green | ||||
Ivory | ||||
Lavender | ||||
Manilla | ||||
NCRPinkCanary | ||||
NCRWhiteBlue | ||||
NCRWhiteBlueCanary | ||||
NCRWhiteCanary | ||||
NCRWhiteCanaryPink | ||||
NCRWhiteCanaryPinkGoldenrod | ||||
NCRWhiteGreen | ||||
NCRWhiteGoldenrodYellow | ||||
NCRWhitePink | ||||
NCRWhiteWhite | ||||
Opaque | ||||
Orange | ||||
Orchid | ||||
Peach | ||||
Pink | ||||
Purple | ||||
Salmon | ||||
Tan | ||||
Violet | ||||
White | ||||
Finished Trim Sizes (listed - width x length) | ||||
11 x 17 | ||||
18 x 24 Poster | ||||
24 x 36 Poster | ||||
3 x 5 | ||||
36 x 24 Poster | ||||
4 x 6 | ||||
475 x 7 | ||||
475 x 775 | ||||
55 x 85 | ||||
6 x 4 | ||||
7 x 9 | ||||
7385 x 9 (RSI Std) | ||||
85 x 11 | ||||
825 x 10875 | ||||
825 x 11 (RA product profile std) | ||||
8375 x 10875 | ||||
9 x 12 | ||||
A4 | ||||
A5 | ||||
Other - Custom size listed below | ||||
Drilling Locations | ||||
1CENTER | ||||
1LEFTTOP | ||||
1TOPCENTER | ||||
2LEFT | ||||
2LEFT2TOP | ||||
2TOP | ||||
2TOP2LEFT | ||||
2TOP3LEFT | ||||
2TOP5LEFT | ||||
2TOP5RIGHT | ||||
3BOTTOM | ||||
3LEFT | ||||
3LEFT2TOP | ||||
3LEFT3TOP | ||||
3RIGHT | ||||
3TOP | ||||
3TOP5LEFT | ||||
5BOTTOOM | ||||
5CENTER | ||||
5LEFT | ||||
5RIGHT | ||||
5RIGHT2TOP | ||||
5TOP | ||||
Fold Type | ||||
For TRI fold - select Z or C type | Description | |||
HALF | Half | |||
C | C Fold | |||
DBLEPARLL | Double Parallel | |||
OFFSETZ | Offset Z | |||
SAMPLE | See Sample | |||
SHORT | Short Fold | |||
V | V Fold | |||
Z | Z Fold | |||
Number of Pieces per Poly Wrap | ||||
Publication length | Number per Poly Wrap | |||
77 or more pages | NA | |||
33 to 76 pages | 25 | |||
3 to 32 pages | 50 | |||
1 or 2 pages | 100 | |||
Comments | ||||
CoverText Stock | Spine | |||
100 Gloss Cover | If your publication uses a spine make note of that in the comments field Be sure to include the spine as the last page of your PDF Also do not include that page as part of the publication page count | |||
100 Gloss Text | ||||
100 Text | ||||
10pt C1S Cover | ||||
10pt C2S Cover | ||||
10pt C2S Text | ||||
10pt Text Stock | ||||
110 White Index | ||||
12pt C1S Cover | ||||
20 White Opaque Bond | ||||
50 Colored Offset | ||||
50 White Offset | ||||
50 White Opaque | ||||
60 Cover Stock | ||||
60 White Offset | ||||
80 Gloss Cover | ||||
80 Gloss Text | ||||
8pt C1S White | ||||
90 White Index | ||||
CoverText Ink | ||||
Black | ||||
Black + 1 PMS color | Type in PMS color | |||
Black + 2 PMS colors | Type in PMS colors | |||
4 color | ||||
4 color over black | ||||
4 color + 1 PMS color | Type in PMS color | |||
4 color over black + 1 PMS color | Type in PMS color | |||
4 color + 2 PMS colors | Type in PMS colors | |||
4 color + aqueous | ||||
4 color + varnish |
dPrint | ContentComp | Split Shipment Indicator Flag | WCSS Item Number | Customer Item Number | Cannot use quote symbol that is---- | Producing Plant | Job Number | Replenishing Plant | Plant Code | Product Code | PackagingOrdering UOM | Qty per PackagingOrdering UOM | List Price Per Ea | Transfer Cost per Ea | Sell Price per Ea | Standard Cost (per Ea) | Min Order Qty (in eaches) | Multiple Order Qty (in Eaches | Chargeback Price | Item Reference 1 | Item Reference 2 | Revision Field | Max Order Qty (in eaches) | Sequentially Numbered Item | Sequentially Numbered Item - Details | Priced for Digital or Offset | Content File Location | Item Category Form (F) Book (B) | Item Subtype | Orientation | Sides Printed | CSSJLS Stock Componet | Paper Size Width | Paper Size Length | No of Forms to a Sheet | Page Qty | Sheets Qty | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | of Tabs | Binder Size | Binder Color | Binder Ring Type | Binder Transparency (clearview or matt) | Thermal Tape Color | Trim Size Width | Trim Size Length | Stitching Location | Drilling Size | Drilling Location | Glue Location | Pad | Fold Type | Fold At | Poly | Box | Comments | Cross Reference Item Number 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Publication Number | Publication Title | PackagingOrdering Unit Of Measure | Qty per PackagingOrdering Unit of Measure | Min Order Qty | Multiple Order Qty | Business Group | Cost Center | Revision Date | Max Order Qty | Black amp Whiteor Color | Item CategoryForm (F) or Book (B) | BindingStitching | Orientation | Sides Printed | Printing Paper Size Width | Printing Paper Size Length | Number of Forms to a Sheet | Page Count of Publication | Number of Sheets Required to Print | CSSJLS Production Stock | Paper Stock Type | Paper Stock Weight | Paper Stock Color | Stack Offset | Tab Size | Number of Tabs Needed | Binder Size | Binder Color | Binder Ring Type | Binder Transparency | Thermal Tape Color | Finished Trim Size Width | Finished Trim Size Length | Stitching Location | Drill Hole Size | Number and Location of Drill Holes | Glue Location | Number of Pages per Pad | Fold Type | Fold At | Number of Pieces per Poly wrap | Number of Pieces per Box | Comments | Part Number | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are these items being setup on dPrint (Yes or No) If yes Inv Mgmt to check Print Management flag on item setup | The contentComp will be provided by the CSC once the spec files are loaded to the DAS (the files must be named with the WCSS item ) The contentcomp must be hardcoded to the Item message Field in WCSS Must be a 10 Digit number that starts with an 8 | Required Setting this to yes will allow warehouse product to ship out before the JIT item is completed Setting this to no will hold all warehoused items until the printing of this item is complete Please indicate Y or N Note Each item with a Y will always ship separately even if produced at the same time as like items | Optional 15 Characters Max If the WCSS number provided already exists in the system then Inventory Management will assign a random WCSS number | 30 characters maximum | Cannot use quote symbol that is---- | Required Which plantPrint Center will produce this item | Required To be provided from the producing plant for JIT su | Required What is the plant code of the plant that has owning rights to the dPrint files If produced at multiple plants there can be only one owning plant | Required What is the plant code of the facility that will produce this item (see Plant and Whse Codes tab below) | Required Enter one of the applicable product | Method of packaging for publication shipmentClick here for explanation of each value in the pull-down | Required This field auto-calculates (transfer cost divided by 5) Used to determine Standard Cost on WCSS (which is 50 of the list price for these product codes) | Required Transfer Cost per orderingpackaging unit of measure | Required Price that will be billed to customer upon order If Price Breaks enter Price Breaks and note them on separate spreadsheet | Required Replacement Cost per Packagingordering UOM | Click here for an explanation of this field otherwise type NA | Optional Used to assist customer with internal Chargebacks to end users (per packagingordering UOM) | IMPORTANT This information must match the DocMan recordClick here for explanation of each value in the pull-down menu | IMPORTANT This information must match the DocMan record | IMPORTANT This information must match the DocMan recordDate on the publication | Click here for explanation of each value in the pull-down menu | Indicate Yes or No Enter Yes if the item is a sequentially numbered item | Describe the details behind the sequentially numbered item such as- Record Sequence Shipped whse will record the sequence numbers that shipped- Ship in Sequence Record required to ship products in particular sequence and the whse records the numbers | Required If PDF is to be retained in the DAS enter DAS in this field if item is part of eCreate or Custom Docs put CUSTOM in this field | Typically a BookClick here for explanation of each value in the pull-down menu | Click here for explanation of each value in the pull-down | Click here for explanation of each value in the pull-down menu | Optional Use when finished product stored in the warehouse is to be inserted into the construction of a JIT book | IMPORTANT Not Trim Size widthThis is the width of the paper on which the publication is printed | IMPORTANT Not Trim Size lengthThis is the length of the paper on which the publication is printed | Click here for explanation of how to determine the information required | Click here for explanation of how to determine the information required | Optional Use when product is being printed on Shell Stock Provide warehoused WCSS Item number of product to be used in the production of JIT item | Click here for explanation of how to determine the information required | The pull-down menu lists the most common choicesClick here for a full list of the available choicesIf you use a choice not in the pull-down list type the value in the cell below the pull-down menu | If item uses tabs otherwise NA | If needed otherwise type NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If item used in a binder otherwise NA | If publication is thermal tape bound otherwise NA | Click here to see the available finished trim sizesThe sizes are listed - width x length | Click here to see the available finished trim sizesThe sizes are listed - width x length | If publication is Book [B] and stapled otherwise NA | Click here for a list of possible drill locations | If publication uses padding otherwise NA | If publication is a notepad or message pad otherwise NA | Click here for explanation of each value in the pull-down menu Folding of final document optional | The location(s) of the fold | Click here for explanation of each value in the pull-down menu | Use this column to list- Cover Stock- Text Stock- Cover Ink- Text Ink- Spine if necessaryAlso use to indicate any other production or finishing requirements not provided in previous columnsClick here for an explanation of the available Cover Stock Cover Ink and Text Ink values | List only if pubication is used in manufacturing otherwise leave blank | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PK | 1 | See DocMan for the Cost Center selections associated with each Business Group | Color | B | SADDLE | PORTRAIT | HEAD2HEAD | RRD must provide this information | RRD must provide this information | White | RRD must provide this information | NA | NA | NA | NA | NA | NA | 825 | 11 | SIDE | NA | NA | NA | NA | HALF | 85 x 11 | 50 | RRD must provide this information |
Field definitions
PackagingOrdering Unit Of Measure | ||||
EA = Each | ||||
PK = Pack | ||||
PD = Pad | ||||
RL = Roll | ||||
BK = Book | ||||
CT = Carton | ||||
BX = Box | ||||
ST = Set | ||||
Multiple Order Qty | ||||
Separate methods of ordering same item For example if an item is packaged 50 per pad 5 pads per carton You can set the order qty as 50 each (one pad) or 250 each (1 ctn) | ||||
Business Group | ||||
The business group that the publication supports Your choice here determines the list you choose from for Cost Center | ||||
CorporateBusiness Development | ||||
Finance | ||||
Human Resources | ||||
IT | ||||
Logistics | ||||
Manufacturing | ||||
Marketing Commercial | ||||
Marketing Europe | ||||
Marketing Other | ||||
Operations | ||||
Order Services | ||||
Other | ||||
Process Improvement | ||||
Procurement | ||||
Quality | ||||
Sales | ||||
Max Order Quantity | ||||
Presale items = 100 | ||||
Postsale items = 5 | ||||
NOTE You can use other quantities but the delivery may take a bit longer because a system admin must approve it | ||||
Item Category - Form (F) or Book (B) | ||||
Form (F) = Any publication that is a single sheet (ie 1 or 2 pages) an envelope or carbonless form | ||||
Book (B) = Any publication that contains 3 or more pages | ||||
BindingStitching | ||||
For a Form (F) use | ||||
CARBONLESS | ||||
CUTSHEET | ||||
ENVELOPE | ||||
For a Book (B) use | ||||
LOOSE | LOOSE -Loose Leaf | |||
PERFECT | PERFECT - Perfect Bound | |||
PLASTCOIL | PLASTCOIL - Plastic Coil | |||
SADDLE | SADDLE - Saddle Stitch | |||
STAPLED1 | STAPLED1 -1 position | |||
STAPLED1B | STAPLED1B - bottom 1 position | |||
STAPLED2 | STAPLED2 - 2 positions | |||
THERMAL | THERMAL - Thermal bound | |||
THERMALO | THERMALO - Thermal Bound - offline | |||
Sides Printed | ||||
Head2Head = Most common Double-sided printing with headers on both pages lining up at the top of the page | ||||
Simplex = Single-sided printing | ||||
Head2Toe = Least common Double-sided printing with header on one page lining up with the footer on the other page | ||||
Number of Forms to a Sheet | ||||
Number of publication pages printed on a sheet of paper at the printerFor example if a 4-page 85 x 11 publication is printed on the front and back sides of an 11 x 17 sheet of paper that is folded in half the Number of Forms to a Sheet = 4Example 2 If a 4-page 55 x 85 publication is printed on the front and back sides of an 85 x 11 sheet of paper that is folded in half the Number of forms to a Sheet = 4 | ||||
Number of Sheets Required to Print | ||||
Number of sheets of paper required to print the publicationFor example if a 16-page 85 x 11 publication is printed on the front and back sides of four 11 x 17 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4Example 4 If a 4-page 55 x 85 publication is printed on the front and back sides of four 85 x 11 sheets of paper that are folded in half and saddle stitched together the Number of Sheets Required to Print = 4 | ||||
Paper Stock Type | ||||
Description | ||||
PLAIN | Bond | |||
ACNTCVR | Accent Cover | |||
BOND3H | Bond (3-hole) | |||
BOOKENV | Booklet Envelope | |||
C1SGLOSS | C1S Gloss Finish | |||
C1SMATTE | C1S Matt Finish | |||
C2SGLOSS | C2S Gloss Finish | |||
C2SMATTE | C2S Matt Finish | |||
CARD | Card Stock | |||
CATLGENV | Catalog Envelope | |||
CATLGENV6 | 6 Catalog Envelope | |||
COVERCOLOR | Color Cover Copy | |||
CRCKPEEL | Crack N Peel Label | |||
CUSTOM | Custom | |||
CVRFUTURA | Futura Cover | |||
ENV6x9 | Standard 6X9 Envelope | |||
ENV9X12 | Standard 9X12 Envelope | |||
ETHCERT | Ethicon Certificate | |||
GLOSSCOVER | Gloss Cover | |||
GLOSSTEXT | Gloss Text | |||
HOTSTEXT | Hots Text | |||
INDEX | Index | |||
LABEL80 | 80 Up Label | |||
MICROPRT | Micro Print | |||
OFFSET | Offset | |||
PART2 | 2 Part | |||
PART3 | 3 Part | |||
PART4 | 4 Part | |||
PART5 | 5 Part | |||
PART6 | 6 Part | |||
PERF | 12 inch Perfed | |||
PERMMAT | Perm Mat Ad | |||
PRECUTTAB | Pre-Cut Tab | |||
PREPERF | Pre-Perforated | |||
RECYL | Recycled | |||
SE10ENV | 10 Standard Envelope | |||
SE10ITENV | 10 Inside Tint Envelope | |||
SE9ENV | 9 Stanard Envelope | |||
TAG | Tag | |||
TEXT | Text | |||
TEXTCOLOR | Text Color Copy | |||
TEXTFUTURA | Futura Text | |||
TEXTLASER | Text Laser Print | |||
TRANSPRNCY | Transparencies | |||
VELLUM | Vellum | |||
VELLUM3HP | Vellum 3HP | |||
WE10ENV | 10 Window Envelope | |||
WE9ENV | 9 Windor Envelope | |||
WE9ITENV | 9 Inside Tint Window Envelope | |||
Paper Stock Color | ||||
Black | ||||
Blue | ||||
Buff | ||||
Canary | ||||
Cherry | ||||
Clear | ||||
Cream | ||||
Custom | ||||
Goldrenrod | ||||
Gray | ||||
Green | ||||
Ivory | ||||
Lavender | ||||
Manilla | ||||
NCRPinkCanary | ||||
NCRWhiteBlue | ||||
NCRWhiteBlueCanary | ||||
NCRWhiteCanary | ||||
NCRWhiteCanaryPink | ||||
NCRWhiteCanaryPinkGoldenrod | ||||
NCRWhiteGreen | ||||
NCRWhiteGoldenrodYellow | ||||
NCRWhitePink | ||||
NCRWhiteWhite | ||||
Opaque | ||||
Orange | ||||
Orchid | ||||
Peach | ||||
Pink | ||||
Purple | ||||
Salmon | ||||
Tan | ||||
Violet | ||||
White | ||||
Finished Trim Sizes (listed - width x length) | ||||
11 x 17 | ||||
18 x 24 Poster | ||||
24 x 36 Poster | ||||
3 x 5 | ||||
36 x 24 Poster | ||||
4 x 6 | ||||
475 x 7 | ||||
475 x 775 | ||||
55 x 85 | ||||
6 x 4 | ||||
7 x 9 | ||||
7385 x 9 (RSI Std) | ||||
85 x 11 | ||||
825 x 10875 | ||||
825 x 11 (RA product profile std) | ||||
8375 x 10875 | ||||
9 x 12 | ||||
A4 | ||||
A5 | ||||
Other - Custom size listed below | ||||
Drilling Locations | ||||
1CENTER | ||||
1LEFTTOP | ||||
1TOPCENTER | ||||
2LEFT | ||||
2LEFT2TOP | ||||
2TOP | ||||
2TOP2LEFT | ||||
2TOP3LEFT | ||||
2TOP5LEFT | ||||
2TOP5RIGHT | ||||
3BOTTOM | ||||
3LEFT | ||||
3LEFT2TOP | ||||
3LEFT3TOP | ||||
3RIGHT | ||||
3TOP | ||||
3TOP5LEFT | ||||
5BOTTOOM | ||||
5CENTER | ||||
5LEFT | ||||
5RIGHT | ||||
5RIGHT2TOP | ||||
5TOP | ||||
Fold Type | ||||
For TRI fold - select Z or C type | Description | |||
HALF | Half | |||
C | C Fold | |||
DBLEPARLL | Double Parallel | |||
OFFSETZ | Offset Z | |||
SAMPLE | See Sample | |||
SHORT | Short Fold | |||
V | V Fold | |||
Z | Z Fold | |||
Number of Pieces per Poly Wrap | ||||
Publication length | Number per Poly Wrap | |||
77 or more pages | NA | |||
33 to 76 pages | 25 | |||
3 to 32 pages | 50 | |||
1 or 2 pages | 100 | |||
Comments | ||||
CoverText Stock | Spine | |||
100 Gloss Cover | If your publication uses a spine make note of that in the comments field Be sure to include the spine as the last page of your PDF Also do not include that page as part of the publication page count | |||
100 Gloss Text | ||||
100 Text | ||||
10pt C1S Cover | ||||
10pt C2S Cover | ||||
10pt C2S Text | ||||
10pt Text Stock | ||||
110 White Index | ||||
12pt C1S Cover | ||||
20 White Opaque Bond | ||||
50 Colored Offset | ||||
50 White Offset | ||||
50 White Opaque | ||||
60 Cover Stock | ||||
60 White Offset | ||||
80 Gloss Cover | ||||
80 Gloss Text | ||||
8pt C1S White | ||||
90 White Index | ||||
CoverText Ink | ||||
Black | ||||
Black + 1 PMS color | Type in PMS color | |||
Black + 2 PMS colors | Type in PMS colors | |||
4 color | ||||
4 color over black | ||||
4 color + 1 PMS color | Type in PMS color | |||
4 color over black + 1 PMS color | Type in PMS color | |||
4 color + 2 PMS colors | Type in PMS colors | |||
4 color + aqueous | ||||
4 color + varnish |