Chapter 6
Using Explicit Messaging
Chapter 6 provides information and examples that explain how to use
Explicit Messaging to monitor and configure the adapter installed and
connected to the PowerFlex 40 drive.
Topic
About Explicit Messaging
Formatting Explicit Messages
Running Explicit Messages
Page
6-1
6-2
6-7
Topic
ControlLogix Example
PLC-5 Example
SLC Example
Page
6-8
6-11
6-13
ATTENTION: Hazard of injury or equipment damage exists. The
examples in this publication are intended solely for purposes of
example. There are many variables and requirements with any
application. Rockwell Automation, Inc. does not assume responsibility
or liability (to include intellectual property liability) for actual use of
the examples shown in this publication.
ATTENTION: Hazard of equipment damage exists. If Explicit
Messages are programmed to write parameter data to Non-Volatile
Storage (NVS) frequently, the NVS will quickly exceed its life cycle
and cause the drive to malfunction. Do not create a program that
frequently uses Explicit Messages to write parameter data to NVS.
Datalinks do not write to NVS and should be used for frequently
changed parameters.
About Explicit Messaging
Explicit Messaging is used to transfer data that does not require
continuous updates. With Explicit Messaging, you can configure and
monitor a slave devices parameters on the DeviceNet network.
6-2
Using Explicit Messaging
Formatting Explicit Messages
Explicit Messages for a ControlLogix Controller
ControlLogix scanners accommodate both downloading Explicit
Message Requests and uploading Explicit Message Responses. The
scanner module can accommodate one request or response for each
transaction block. Each transaction block must be formatted as shown in
Figure 6.1.
Figure 6.1 ControlLogix Message Format in RSLogix 5000
Refer to Page 6-3 for a description of the data that is required in each
box (1 9).
TIP: To display the Message Configuration dialog box in RSLogix
5000, add a message instruction, create a tag for the message (properties:
base tag, MESSAGE data type, controller scope), and click the blue box
inside the message.
Using Explicit Messaging
6-3
The following table identifies the number of Explicit Messages that can
be executed at a time.
Scanner
Messages at
One Time
1756-DNB 5
Refer To
Figure 6.1
ControlLogix Message Requests and Responses
Box Description
Message Type
The message type must be CIP Generic.
Service Type/Service Code
The service type/code is the requested DeviceNet service. Available services
depend on the class and instance that you are using. Refer to Appendix C,
DeviceNet Objects.
Class
The object type is a DeviceNet class. Refer to Appendix C, DeviceNet Objects, for
available classes.
Instance
The object ID is an instance of a DeviceNet class. Refer to Appendix C, DeviceNet
Objects, for available instances.
Attribute
The attribute is a class or instance attribute. Refer to Appendix C, DeviceNet
Objects, for available attributes.
Source Element
This box contains the name of the tag for any service data to be sent from the
scanner to the adapter and drive. A tag must be specified even if it is not used.
Source Length
This box contains the number of bytes of service data to be sent or received in the
message.
Destination
This box contains the name of the tag that will receive service response data from
the adapter and drive. A tag must be specified even if it is not used.
Path
The path includes the following:
Name of the DeviceNet scanner.
Communication port on the front of the 1756-DNB scanner. Always 2.
Node address of the DeviceNet adapter. This is set with switches or
parameters in the DeviceNet adapter.
Tip: Click Browse to find the path or type in the name of a module that you
previously mapped.
6-4
Using Explicit Messaging
Explicit Messages for a PLC or SLC Controller
Transaction blocks in PLC and SLC scanners accommodate both
downloading Explicit Message Requests and uploading Explicit
Message Responses. The scanner module can accommodate one request
or response for each transaction block. Each transaction block must be
formatted as shown in Figure 6.2 or Figure 6.3.
Figure 6.2 PLC Explicit Message Format
Request
Word 0
Bit 15
TXID
Response
0
Command
15
TXID
Status
Port
Size
Port
Size
Service
Address
Service
Address
Class
Service Response Data
Instance
Attribute
Word 6 - 31
Service Data
Word 32
TXID
Command
TXID
Status
Port
Size
Port
Size
Service
Address
Service
Address
Class
Service Response Data
Instance
Attribute
Word 38 - 63 Service Data
Figure 6.3 SLC Explicit Message Format
Request
Word 0
Bit 15
TXID
Response
Command
15
TXID
Status
Port
Size
Port
Size
Service
Address
Service
Address
Class
Service Response Data
Instance
Attribute
Word 6 - 31
Service Data
Refer to Page 6-5 and Page 6-6 for a description of the data that is
required in each word.
Using Explicit Messaging
6-5
The following table identifies the number of transaction blocks within a
scanner that are reserved for Explicit Messaging.
Scanner
Number of
Transaction Blocks
1747-SDN 10
1771-SDN 10
Words in Each
Refer To
Transaction Block
32
Figure 6.3
32 (two blocks can Figure 6.2
be moved at once)
PLC / SLC Explicit Message Requests
Word
0
3
4
5
6 31
Description
Command (Least Significant Byte)
The Command is a code that instructs the scanner how to administer the
request during each download.
00 = Ignore transaction block (empty)
01 = Execute this transaction block
02 = Get status of transaction TXID
03 = Reset all client/server transactions
04 = Delete this transaction block (available only for SLC)
05 255 = Reserved
TXID (Most Significant Byte)
The Transaction ID is a 1-byte integer between 1 and 255. It is assigned in the
ladder logic program when the processor creates and downloads a request to
the scanner. The scanner uses it to track the transaction to completion. It
returns this value with the response that matches the request downloaded by
the processor.
Size (Least Significant Byte)
The size of the service data is in bytes. Service data includes the words for the
class, instance, attribute, and any data. The maximum size is 58 bytes (29
words).
Port (Most Significant Byte)
The port that is used by the message is always zero (Channel A) on an SLC
scanner. It is zero (Channel A) or one (Channel B) for a PLC scanner.
Address (Least Significant Byte)
The node address of the slave device to which the transaction is sent. For the
Explicit Message to be successful, the slave device must be in the scanlist of
the scanner, and it must be online.
Service (Most Significant Byte)
Available services depend on the class and instance that you are using.
Refer to Appendix C, DeviceNet Objects.
Class
Refer to Appendix C, DeviceNet Objects, for available classes.
Instance
Refer to Appendix C, DeviceNet Objects, for available instances.
Attribute
Refer to Appendix C, DeviceNet Objects, for available attributes.
Request Data
This is data used for the message. For example, it may be the value written to a
parameter.
6-6
Using Explicit Messaging
PLC / SLC Explicit Message Responses
Word
0
3 31
Description
Status (Least Significant Byte)
One of the following status codes is provided during each upload:
00 = Ignore transaction block (empty)
01 = Transaction completed successfully
02 = Transaction in progress (not ready)
03 = Slave not in scan list
04 = Slave offline
05 = DeviceNet port disabled or offline
06 = Transaction TXID unknown
08 = Invalid command code
09 = Scanner out of buffers
10 = Other client/server transaction in progress
11 = Could not connect to slave device
12 = Response data too large for block
13 = Invalid port
14 = Invalid size specified
15 = Connection busy
16 255 = Reserved
TXID (Most Significant Byte)
The transaction ID is a 1-byte integer in word 31 with a range of 1 to 255. It is
assigned in the ladder logic program when the processor creates and
downloads a request to the scanner. The scanner uses it to track the
transaction to completion. It returns this value with the response that matches
the request downloaded by the processor.
Size (Least Significant Byte)
The size of the service data is in bytes. The service data includes words used
for the response data. The maximum size is 58 bytes (29 words).
Port (Most Significant Byte)
The port that is used by the message is always zero (Channel A) on an SLC
scanner. It is zero (Channel A) or one (Channel B) for a PLC scanner.
Address (Least Significant Byte)
The node address of the slave device to which the transaction is sent. For the
Explicit Message to be successful, the slave device must be in the scanlist of
the scanner, and it must be online.
Service (Most Significant Byte)
If the message was successful, 0x80 is added to the service. If it is
unsuccessful, 0x94 is returned.
Response Data
This is data used for the message. For example, it may be the value read from a
parameter.
Refer to Page 6-5 for a description of the words in a PLC/SLC Explicit
Message request.
Using Explicit Messaging
6-7
Running Explicit Messages
There are five basic events in the Explicit Messaging process. The details
of each step will vary depending on the controller (ControlLogix, PLC,
or SLC). Refer to the documentation for your controller.
Important: There must be a request message and an response message
for all Explicit Messages, whether you are reading or
writing data.
Figure 6.4 Explicit Message Process
Complete Explicit
Message
Retrieve Explicit
Message Response
Set up and send Explicit
Message Request
1. You format the required data and set up the ladder logic program to
send an Explicit Message request to the scanner module (download).
2. The scanner module transmits the Explicit Message Request to the
slave device over the DeviceNet network.
3. The slave device transmits the Explicit Message Response back to
the scanner. The data is stored in the scanner buffer.
4. The controller retrieves the Explicit Message Response from the
scanners buffer (upload).
5. The Explicit Message is complete. If you are using a PLC or SLC,
delete the transaction ID so that it can be reused.
6-8
Using Explicit Messaging
ControlLogix Example
Data Format for a Read and Write Parameter
The data in this example is for a PowerFlex drive at node address 1.
Refer to Formatting Explicit Messages in this chapter for a description of
the content in each box.
Configuration
Service Code
Object Type
Object ID
Object Attribute
Example Value
e (hex)
f (hex)
39 (dec)
1 (hex)
Description
Get_Attribute_Single
Parameter Object
Parameter Address
Parameter Value
Refer to . . .
C-10
C-8
C-9
Using Explicit Messaging
Configuration
Service Code
Object Type
Object ID
Object Attribute
Example Value
10 (hex)
f (hex)
39 (dec)
1 (hex)
Description
Set_Attribute_Single
Parameter Object
Parameter Address
Parameter Value
Refer to . . .
C-10
C-8
C-9
Figure 6.5 Tags for the Example Explicit Messaging Program
Tag Names
for Read Message
PerformParameterRead
ParameterRDMessage
ParameterRDValue
Type
BOOL
MESSAGE
INT
Tag Names
for Write Messages
PerformParameterWrite
ParameterWRMessage
ParameterWRVaule
Type
BOOL
MESSAGE
INT
6-9