personal injury or death, property damage, or economic loss.
Attentions help you identify a hazard, avoid a hazard, and recognize the consequence.
IMPORTANT
Identifies information that is critical for successful application and understanding of the product.
temperatures.
for Personal Protective Equipment (PPE).
Important User Information
Read this document and the documents listed in the additional resources section about installation, configuration, and
operation of this equipment before you install, configure, operate, or maintain this product. Users are required to familiarize
themselves with installation and wiring instructions in addition to requirements of all applicable codes, laws, and standards.
Activities including installation, adjustments, putting into service, use, assembly, disassembly, and maintenance are required to
be carried out by suitably trained personnel in accordance with applicable code of practice.
If this equipment is used in a manner not specified by the manufacturer, the protection provided by the equipment may be
impaired.
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.
WARNING: Identifies information about practices or circumstances that can cause an explosion in a hazardous environment, which may lead to
ATTENTION: Identifies information about practices or circumstances that can lead to personal injury or death, property damage, or economic loss.
Labels may also be on or inside the equipment to provide specific precautions.
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
ARC FLASH HAZARD: Labels may be on or inside the equipment, for example, a motor control center, to alert people to potential Arc Flash. Arc Flash
will cause severe injury or death. Wear proper Personal Protective Equipment (PPE). Follow ALL Regulatory requirements for safe work practices and
2 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Change
Topic
Updated branding.
Throughout
Topic Name
Reason
Legal notices on page 8
Updated Legal notices
5580 controllers.
cable disconnected entries.
page 27
Compact GuardLogix 5380, and GuardLogix 5580 controllers.
Summary of Changes
This manual includes new and updated information. Use these reference
tables to locate changed information.
Grammatical and editorial style changes are not included in this summary.
Global changes
New or enhanced features
This table contains a list of topics changed in this version, the reason for the
change, and a link to the topic that contains the changed information.
Controller logon page 25Updated the controller log information for the Compact
Status of S:FS when the project has an SFC ............................................. 53
Get and set system data ............................................................................. 54
6 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Resource
Description
Guidelines, publication, 1770-4.1
Automation industrial system.
and other certification details.
In this manual
Studio 5000 environment
Additional Resources
Preface
This manual describes how Logix 5000 controllers use connections with other
devices. This manual also describes status keywords and how to get controller
information, such as memory resources. This manual is one of a set of related
manuals that show common procedures for programming and operating
Logix 5000 controllers.
For a complete list of common procedures manuals, refer to the
Logix 5000
Controllers Common Procedures Programming Manual, publication 1756PM001.
The term Logix 5000 controller refers to any controller based on the Logix
5000 operating system.
The Studio 5000 Automation Engineering & Design Environment® combines
engineering and design elements into a common environment. The first
element is the Studio 5000 Logix Designer® application. The Logix Designer
application is the rebranding of RSLogix 5000® software and will continue to
be the product to program Logix 5000™ controllers for discrete, process,
batch, motion, safety, and drive-based solutions.
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 7
The Studio 5000® environment is the foundation for the future of
Rockwell Automation® engineering design tools and capabilities. The Studio
5000 environment is the one place for design engineers to develop all
elements of their control system.
These documents contain additional information concerning related
Rockwell Automation products.
Industrial Automation Wiring and Grounding
Product Certifications website, http://www.ab.com Provides declarations of conformity, certificates,
Provides general guidelines for installing a Rockwell
Preface
Legal notices
View or download publications at
http://www.rockwellautomation.com/literature
. To order paper copies of
technical documentation, contact a local Rockwell Automation distributor or
sales representative.
Rockwell Automation publishes legal notices, such as privacy policies, license
agreements, trademark disclosures, and other terms and conditions on the
Legal Notices
page of the Rockwell Automation website.
End User License Agreement (EULA)
You can view the Rockwell Automation End User License Agreement (EULA)
by opening the license.rtf file located in your product's install folder on your
hard drive.
The software included in this product contains copyrighted software that is
licensed under one or more open source licenses.
You can view a full list of all open source software used in this product and
their corresponding licenses by opening the oss_license.txt file located your
product's OPENSOURCE folder on your hard drive. This file is divided into
these sections:
• Components
Includes the name of the open source component, its version number,
and the type of license.
• Copyright Text
Includes the name of the open source component, its version number,
and the copyright declaration.
• Licenses
Includes the name of the license, the list of open source components
citing the license, and the terms of the license.
8 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
You may obtain Corresponding Source code for open source packages
included in this product from their respective project web site(s).
Alternatively, you may obtain complete Corresponding Source code by
contacting Rockwell Automation via the Contact form on the Rockwell
Automation website:
http://www.rockwellautomation.com/global/aboutus/contact/contact.page. Please include "Open Source" as part of the request
text.
Term
Definition
Connection
Requested packet
guarantees that the data transfers at least as often as the RPI.
Path
communication of I/O data.
Introduction
Inhibit a Connection
Connections
A Logix 5000 controller uses connections for most, but not all, of its
communication with other devices.
A communication link between two devices, such as between a controller and an
I/O module, PanelView terminal, or another controller.
Connections are allocations of resources that provide more reliable
communication between devices than unconnected messages. The number of
connections that a single controller can have is limited.
Configuring the controller to communicate with other devices in the system
indirectly determines the number of connections the controller uses. These
communication types use these connections:
• I/O modules
• Produced and consumed tags
• Program parameters
• Certain types of Message (MSG) instructions (not all types use a connection)
Chapter 1
The RPI specifies the period at which data updates over a connection. For
interval (RPI)
example, an input module sends data to a controller at the RPI assigned to the
module.
• Typically, an RPI is configured in milliseconds (ms). The range is 0.2 ms
(200 microseconds)…750 ms.
If a ControlNet network connects the devices, the RPI reserves a slot in the
•
stream of data flowing across the ControlNet network. The timing of this slot
may not coincide with the exact value of the RPI, but the control system
The path describes the route that a connection takes to get to the destination.
Typically, the path for a connection is defined when a device is added to the I/O
Configuration folder of the controller.
In some situations, such as when initially commissioning a system, it is useful
to disable portions of a control system and enable them as they are connected
to the control system. Inhibiting individual modules or groups of modules
prevents the controller from trying to communicate with the modules.
ATTENTION: Inhibiting a module breaks the connection to the module and prevents
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 9
Chapter 1 Connections
To
Then
check box.
box.
If
And you
And
Then
Program mode.
an error condition or fault)
indicate the fault condition.
An installed I/O module defaults to not inhibited. To inhibit a module, change
an individual module’s properties.
Communicate with the module Do not inhibit the module. Clear the Inhibit Module
Prevent communication with the module Inhibit the module. Select the Inhibit Module check
When a communication bridge module is inhibited, the controller shuts down
the connections to the bridge module and to all the modules that depend on
that bridge module. Inhibit a communication bridge module to disable an
entire branch of the I/O network.
When the module is inhibited, the Controller Organizer displays a yellow
attention symbol over the module.
Offline ------------------------------> --------> The inhibit status is stored in the project.
When the project downloads to the controller,
the module still is inhibited.
Online Inhibit a module while connected
to the module
Inhibit a module but a
connection to the module was
not established (perhaps due to
Uninhibit a module (clear the
check box)
--------> The connection to the module is closed. The
module's outputs go to the last configured
--------> The module is inhibited. The module status
information changes to indicate that the
module is inhibited and not faulted.
No fault occurs A connection is made to the module and the
module is dynamically reconfigured (if the
controller is the owner-controller) with the
configuration created for that module. If the
controller is configured for listen-only, it
cannot reconfigure the module.
Fault occurs A connection is not made to the module. The
module status information changes to
10 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
of I/O modules.
Manage a connection
Chapter 1 Connections
To inhibit or uninhibit a connection
1. Use a Get System Value (GSV) instruction to read the Mode attribute
for the module.
2. To inhibit the module, set bit 2. To uninhibit the module, clear bit 2.
3. Use a Set System Value (SSV) instruction to write the Mode attribute
back to the module.
Example: Inhibit a connection
If Module_1_Inhibit = 1, then inhibit the operation of the I/O module named Module_1.
• The GSV instruction sets Module_1_Mode = value of the Mode
attribute for the module.
• The OTE instruction sets bit 2 of Module_1_Mode = 1. This means
inhibit the connection.
• The SSV instruction sets the Mode attribute for the module =
Module_1_Mode.
failure
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 11
If the controller loses communication with a module, data from that device
does not update. When this occurs, the logic acts on the data in ways that may
or may not be correct. Program the controller to manage faults safely and
efficiently.
ATTENTION: Outputs respond to the last, non-faulted state of the controlling
inputs. To avoid potential injury and damage to machinery, make sure this does not
create an unsafe operation. Configure critical I/O modules to generate a controller
major fault when they lose their connections to the controller, or monitor the status
Chapter 1 Connections
If the controller should
Then
Continue operating
Configure a major fault to
Example: Loss of communication
Controller B requires data from controller A. If communication fails between
the controllers, controller B continues to act on the last data that it received
from controller A.
occur
If communication with a device in the I/O configuration of the controller does
not occur for 100 ms, the communication times out. If this occurs, choose
between these options.
Fault (major fault)
Configure a major fault to occur
Monitor the health of a module
See also
Configure a major fault to occuron page 12
Monitor the health of a module on page 13
To force a module to generate a major fault in the controller if it loses
connection with the controller, configure a major fault to occur. This
interrupts the execution of logic and runs the Controller Fault Handler. If the
Controller Fault Handler does not clear the fault, the controller shuts down.
12 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Monitor the health of a
Chapter 1 Connections
When selecting Major Fault On Controller…Run Mode, the controller:
• Must be connected to the module during the Program transition to
Run mode. During the Program to Run mode transition, there can be a
20-second delay.
During this delay, the controller makes one attempt to connect to a
module. If Major Fault On Controller…Run Mode is selected and no
connection occurs during the 20-second delay, a fault occurs because
at least one required connection is not established before going to Run
mode. This is a 3/23 type fault code. This fault can occur in large
systems with networked I/O.
module
• Registers a fault if the connection is dropped while in Run mode. A
required I/O module connection failed, creating a 3/16 type fault.
For fault codes, see the Logix 5000 Controllers Major and Minor Faults Programming Manual, publication no. 1756-PM014.
See also
Logix 5000 Controllers Major and Minor Faults Programming Manual,
publication no. 1756-PM014
Monitor the module status if the module is not configured to generate a
major fault. If a module loses its connection to the controller, outputs go to
their configured faulted state. The controller and other I/O modules continue
to operate based on old data from the module.
If communication with a module times out, the controller produces the
following warnings.
• The I/O status indicator on the front of the controller flashes green.
• A Warning () icon shows over the I/O configuration folder and over
the device that has timed out.
• A module fault code is produced, which is accessible through:
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 13
• Module Properties window for the module.
• GSV instruction.
Chapter 1 Connections
To
Get this
attribute
Data Type
Description
Value
Meaning
section of the controller organizer).
are Running.
object is not Running.
To
Get this
attribute
Data Type
Description
project.
To monitor the health of connections, use a Get System Value (GSV)
instruction to monitor the Module object for either the controller or a specific
module.
Determine if
communication has
timed out with any
device
LEDStatus INT
For efficiency, use a
DINT as the
destination data type.
Current state of the I/O status
indicator on the front of the
controller.
No need to enter an instance
name with this attribute. This
attribute applies to the entire
collection of modules.
This table describes the meaning of the I/O status indicator on the front of the
controller.
0 Status Indicator off. No Module objects
are configured for the controller (there
are no modules in the I/O Configuration
1 Flashing red. None of the Module objects
2 Flashing green. At least one Module
3 Solid green. All the Module objects are
Running.
Determine if
communication has
timed out with a
specific device
FaultCode INT
For efficiency, use a
DINT as the
destination data type.
A number that identifies a module
fault, if one occurs.
In the Instance Name, choose the
device with a connection to
monitor. Make sure to assign a
name to the device in the I/O
Configuration folder of the
If Module_Status is any value other than 4, the controller is not
communicating with the module. See the following example.
Example:
This rung checks the status of an I/O connection. The controller checks the
entry status of the connection; any value other than 4 indicates that the
connection is not functioning correctly. When the controller detects an error,
the error code and information is trapped, and the controller tries to reestablish the connection.
14 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Chapter 1 Connections
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 15
This controller
Stores this
In this memory
instructions
Communication with workstations
that use RSLinx software1
tags
GuardLogixlLogix 5580
memory or has one common memory area.
Introduction
View data usage
Chapter 2
Determine controller memory information
Depending on the type of controller, the memory of the controller is divided
into several areas.
I/O tags I/O memory
Produced / Consumed tags
Communication via Message (MSG)
Communication with polled (OPC/DDE) tags
Tags other than I/O, produced, or consumed
Logic routines
Communication with polled (OPC/DDE) tags
that use RSLinx software
These controllers do not divide their memory. They store all elements
in one common memory area.
1
Data and logic
2
memory
(1) To communicate with polled tags, the controller uses both I/O data and
logic memory.
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 17
(2) 1756-L55M16 controllers have an additional memory section for logic.
In the Logix Designer application, the Capacity tab (formerly the Memory
tab) on the Controller Properties dialog box shows data usage in the
controller. The data displayed on the Capacity tab depends on the controller.
Tip: Refer to the Memory information table to see whether a controller divides its
See also
Memory information tableon page 17
Chapter 2 Determine controller memory information
IMPORTANT
Capacity tab for controllers
Capacity tab for controllers
The Capacity tab for controllers that divide memory shows I/O memory and
Data and Logic memory separately. For each area of controller memory, the
that divide memory
tab shows the consumed and available memory in bytes.
The tab provides an estimation tool to estimate the amount of controller
memory a project requires for I/O, Data, and Logic. It also includes a Max Used field for each type of memory to show peak memory usage as
communication occurs.
with common memory area
The Capacity tab for controllers that store elements in one common area
differs slightly from the Capacity tab for other controllers.
Instead of describing consumed memory in bytes, the Capacity tab shows
logical program blocks which represent units of executable code. The Capacity
tab shows project size in blocks compared to the specified product capacity in
blocks to determine if the project can be downloaded to the controller. If the
size of the project exceeds the controller capacity available, a message appears
that states the overage size in blocks. When the project size exceeds the
memory available, the project does not download to the controller.
Block units are only used for application source code sizes. Data structures
and messages are still described in bytes.
Although block sizes are not physically equivalent to the bytes measured in
controllers with divided memory controllers, in general, applications that fit in a
divided memory controller should fit in the same controller with one common memory
area.
18 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
controllers with common memory area for information about the other controllers.
Estimate memory
Chapter 2 Determine controller memory information
information offline for
controllers with divided
memory
For controllers with divided memory, the applications in the project have a
close correlation between the size of the source code and the physical memory
in the controller. To estimate how much controller memory a project requires,
use the Estimate button on the Capacity tab. It estimates the number of bytes
of:
• Free (unused) memory.
• Used memory.
• Largest free contiguous block of memory.
Tip: This section only applies to controllers with divided memory. Refer to the Memory
information table for a list of controllers with divided memory. Refer to Capacity tab
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 19
Chapter 2 Determine controller memory information
for information about the other controllers.
View run-time memory
To estimate memory information offline for controllers with divided
memory
1. On the Online toolbar, click the Controller Properties icon.
2. On the Controller Properties dialog box, click the Capacity tab.
3. In the Estimated Data and Logic Memory area, view the memory
information since the last estimate.
4. Click Estimate to re-estimate the amount of controller memory.
5. Click OK.
information for controllers
with divided memory
See also
Memory information tableon page 17
Capacity tab for controllers with common memory areaon page 18
When online with a controller with divided memory, the Capacity tab shows
the actual memory usage of the controller. While the controller is running, it
uses additional memory for communication. The amount of memory the
controller needs varies depending on the state of the communication.
The Capacity tab of the controller includes a Max Used entry for each type of
memory. The Max Used values show the peak memory usage as
communication occurs.
Tip: This section only applies to controllers with divided memory. Refer to the Memory
information table for a list of controllers with divided memory. Refer to Capacity tab
controllers with common memory area
20 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
The system provides a warning when the recommended node limit has been exceeded.
View the maximum and
Chapter 2 Determine controller memory information
To view run-time memory information for controllers with divided
memory
1. On the Online toolbar, click the Controller Properties icon.
2. On the Controller Properties dialog box, click the Capacity tab.
3. Click Reset All Max to reset values.
4. Click OK.
See also
Memory information tableon page 17
used Ethernet nodes for a
controller
Capacity tab for controllers with common memory area on page 18
Some controllers have limits on the number of Ethernet nodes they support in
the I/O Configuration tree. When a device is added directly to the Ethernet
I/O configuration, it is counted toward the node limitation of the controller.
The Capacity tab of the Controller Properties dialog box shows the current
number of used Ethernet nodes in the I/O Configuration tree and the
maximum number of Ethernet nodes supported by the controller.
When the controller is online, the controller enforces the node count, and the
node count exceeds the limit:
• An error dialog box appears.
• The I/O module cannot be added to the I/O Configuration tree.
When the controller is offline, the controller enforces the node count, and the
node count exceeds the limit when the project is verified or the controller
attempts to go online:
• An error message is generated on the Error tab of the Output window.
• The project cannot be downloaded to the controller.
Tip: The 1756-L85E controllers do not enforce the node count, meaning the system does
not prevent connecting additional nodes, and it may be possible to download the project.
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 21
Chapter 2 Determine controller memory information
determines capacity information for controllers that store elements in one common area.
IMPORTANT
On this tab
For this item
Type or select
Which means
Service Code
3
Read specific information about the controller (GetAttributeList service).
Class
72
Get information from the user memory object.
Instance
1
This object contains one instance.
Attribute
0
Null value.
In this element
Enter
Which means
source_array[1]
0
Null value.
source_array[2]
1
Get free memory.
source_array[3]
0
Null value.
Write logic to get memory
Get memory information
To view the maximum and used Ethernet nodes for a controller:
1. On the Online toolbar, click the Controller Properties icon.
2. On the Controller Properties dialog box, click the Capacity tab.
3. In the Ethernet Node group, view the information about the Ethernet
nodes.
• Maximum/Recommended Maximum - Number of Ethernet nodes
• Used - Current number of Ethernet nodes in the I/O Configuration
supported by the controller, or the recommended maximum
number of Ethernet nodes for the controller.
tree
If the controller is offline, appears next to the Used parameter
when the node count exceeds the limit.
For controllers that do not limit the number of Ethernet nodes,
appears next to the Used parameter when the node count exceeds
the recommended limit and this message appears:
The recommended node limit has been exceeded. It may be possible to
connect additional nodes depending on the node type and system
architecture.
Use a Message (MSG) instruction to get memory information from the
controller.
information
Tip: This procedure applies to controllers with divided memory. The Logix Designer application
The information in this section is not applicable to CompactLogix 5380,
CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and
from the controller
To get memory information from the controller, execute a Message (MSG)
instruction. This table lists configuration information for the instruction.
Configuration Message Type CIP Generic Execute a Control and Information Protocol command.
Service Type Custom Create a CIP Generic message that is not available in the list.
GuardLogix 5580 controllers. In these controllers, the memory used
attributes are not supported or accessible.
Source Element source_array of type SINT[12]
source_array[0] 5 Get 5 attributes.
22 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
On this tab
For this item
Type or select
Which means
source_array[6]
5
Get largest contiguous block of additional free logic memory.
source_array[7]
0
Null value.
source_array[8]
6
Get largest contiguous block of free I/O memory.
source_array[9]
0
Null value.
[10]
7
Get largest contiguous block of free data and logic memory.
[11]
0
Null value.
determines capacity information for controllers that store elements in one common area.
IMPORTANT
To find this information
Then copy these array
elements
Description
bit words)
Choose the memory
source_array[4] 2 Get total memory.
source_array[5] 0 Null value.
source_array
source_array
Source Length 12 Write 12 bytes (12 SINTs).
Destination INT_array of type INT[29]
Communication Path 1, slot_number_of_controller
This table lists the information that the MSG instruction returns to INT_array
information
(destination tag of the MSG).
Chapter 2 Determine controller memory information
Tip: This procedure applies to controllers with divided memory. The Logix Designer application
The controller returns the values in 32-bit words. To see a value in bytes, multiply it
by 4. If a controller does not divide its memory, the values show up as I/O memory.
For the 1756-L55M16 controller, the MSG instruction returns two values for each logic
memory category. To determine the free or total logic memory of a 1756-L55M16
controller, add both values for the category.
Amount of free I/O memory (32-bit
words)
Amount of free data and logic
memory (32-bit words)
1756-L55M16 controllers only—
largest contiguous block of
additional free logic memory (32-
INT_array[3] Lower 16 bits of the 32 bit value
INT_array[4] Upper 16 bits of the 32 bit value
INT_array[5] Lower 16 bits of the 32 bit value
INT_array[6] Upper 16 bits of the 32 bit value
INT_array[7] Lower 16 bits of the 32 bit value
INT_array[8] Upper 16 bits of the 32 bit value
INT_array[11] Lower 16 bits of the 32 bit value
INT_array[12] Upper 16 bits of the 32 bit value
INT_array[13] Lower 16 bits of the 32 bit value
INT_array[14] Upper 16 bits of the 32 bit value
INT_array[15] Lower 16 bits of the 32 bit value
INT_array[16] Upper 16 bits of the 32 bit value
INT_array[19] Lower 16 bits of the 32 bit value
INT_array[20] Upper 16 bits of the 32 bit value
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 23
INT_array[23] Lower 16 bits of the 32 bit value
Chapter 2 Determine controller memory information
To find this information
Then copy these array
elements
Description
memory (32-bit words)
bit words)
In this operand
Specify
Which means
16 bits into one 32-bit value.
Convert INTs to a DINT
Largest contiguous block of free I/O
Largest contiguous block of free
data and logic memory (32-
INT_array[24] Upper 16 bits of the 32 bit value
INT_array[27] Lower 16 bits of the 32 bit value
INT_array[28] Upper 16 bits of the 32 bit value
The MSG instruction returns each memory value as two separate INTs.
• The first INT represents the lower 16 bits of the value.
• The second INT represents the upper 16 bits of the value.
To convert the separate INTs into one usable value, use a
Copy (COP) instruction.
Source First INT of the 2 element pair
(lower 16 bits)
Destination DINT tag in which to store the
32-bit value
Length 1 Copy 1 times the number of bytes in the Destination
Start with the lower 16 bits.
Copy the value to the DINT tag.
data type. In this case, the instruction copies 4
bytes (32 bits), which combines the lower and upper
In this example, the COP instruction produces the 32-bit value that represents
the amount of free I/O memory, in 32-bit words.
Example: Convert INTs to a DINT.
• Elements 3 of INT_array is the lower 16 bits of the amount of free I/O
memory. Element 4 is the upper 16 bits.
• Memory_IO_Free is a DINT tag (32 bits) in which to store the value for
the amount of free I/O memory.
• To copy all 32 bits, specify a Length of 1. This tells the instruction to
copy 1 times the size of the Destination (32 bits). This copies both
element 3 (16 bits) and element 4 (16 bits) and places the 32-bit result in
Memory_IO_Free.
24 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Record
Time
Entry Description
User Name
Workstation
FactoryTalk ID
Extended
Change Detection
controller program
Introduction
Controller log
Chapter 3
Controller logging
Use the controller logging feature to detect and log changes made to
Logix5000 controllers without adding any auditing software. With controller
logging, the controllers:
• Detect changes and create logs entries containing information about
the changes.
• Store the log entries to removable media for later review.
• Provide programmatic access to log entry counters to provide change
detection information remotely.
Note these logging considerations:
• The 1769-L3x and 1769-L4x CompactLogix Controllers do not support
storing log entries to removable media, and the audit value is not
populated.
• The Audit Value is not supported in versions 19 and earlier.
A controller log is a record of interactions that occurred in the controller due
to physical conditions such as keyswitches, changes to removable media, fault
conditions, and programming changes configured in the application.
• For the Compact GuardLogix 5370, CompactLogix 5370, ControlLogix
5570, and GuardLogix 5570 controllers, up to 100 log entries are
buffered in the controller memory. The controller can save these
buffered entries to removable media using a message instruction.
Additionally, the controller can be configured to write buffered entries
to the removable media after accumulating 80 entries.
• For the Compact GuardLogix 5380, CompactLogix 5380, CompactLogix
5480, ControlLogix 5580, and GuardLogix 5580 controllers, up to 500
log entries are buffered in the controller memory. The controller can be
configured to write buffered entries to the removable media after
accumulating 400 entries.
In the example table below, record numbers 4 through 6 are related to Change
Detection.
Number
1 12-Feb 03:39:34 Project download John Doe Laptop FT\JDoe Project L71 16#FD60_CB89_029F
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 25
Name
John Doe Laptop FT\JDoe
Information
Audit Value
_3500
Chapter 3 Controller logging
Record
Time
Entry Description
User Name
Workstation
FactoryTalk ID
Extended
Change Detection
FC_FFFF
added
_35BF
Controller log header
Controller log entry
Number
4 12-Feb 04:42:12 Change Log entry
added
5 12-Feb 04:50:43 Change detection mask
modified
6 12-Feb 04:58:29 Change Log entry
When the controller creates a log file on the removable media, it includes
some header information. The header information includes these items.
• Date the log file was created.
• Controller model number.
• Controller serial number.
• Version of firmware running on the controller.
Each entry in the log can include this information.
• Record Number
• Time of Occurrence (UTC - 24 hour clock)
• Entry Description
• Windows User Name
• Workstation Name
• FactoryTalk User ID (if available)
• Extended Information
• Change Detection Audit Value
Name
FT\JDoe
None None Old mask
None None
Information
16#FFFF_FFFF_FF
FF_FFFF,
New mask
16#FFFF_FFFF_FF
Audit Value
16#FD60_CB89_029F
_3521
16#FD60_CB89_029F
_3566
16#FD60_CB89_029F
26 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
This example shows controller log entries in a spreadsheet. Controller log files
are stored in plain text files in TSV format, so no special tools are required to
read them. Open them in any text editor, or in a spreadsheet application such
as Microsoft Excel.
Entries captured in the
controller log
Chapter 3 Controller logging
These entries are detected and logged by the controller. These events are
described in more detail in Controller Log Events.
Tip: In Logix Designer versions 30 and later, audit log entries also appear in the controller log. Audit
log entries describe events such as changes to component properties, edits in a routine, and
changes to tag values. The audit log is used for auditing by the FactoryTalk® AssetCentre.
• Project downloaded
• Project loaded from removable media
• Project stored to removable media
• Online edits modified controller program
• Partial import online completed or Transaction committed
• I/O forces enabled, disabled, removed, or modified
• SFC forces enabled, disabled, removed, or modified
• Firmware update
• Constant tag data changed
• Multiple constant tag data changed
• Change to constant tag configuration reset
• Mode change
• Major fault, major fault cleared
• Program properties modified
• Task properties modified
• Controller timeslice modified
• Removable media inserted or removed
• Safety signature created or deleted
• Safety locked or unlocked
• Custom entry: User-defined logic to create a log entry, with user-
defined entry description and extended information
• Safety signature delete inhibited in Run mode
• Safety signature delete allowed in Run mode
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 27
Chapter 3 Controller logging
regarding the type of removable media the controller supports.
Controller log buffer
Controller log files and the
Writing the controller log to
• The Changes To Detect value has changed
• Log Collected Data Cleared
• Program Connection Modified
• USB cable connected and disconnected
See also
Controller log eventson page 37
For the Compact GuardLogix 5370, CompactLogix 5370, ControlLogix 5570,
and GuardLogix 5570 controllers, the controller keeps up to 100 log entries
buffered in its internal memory.
For the Compact GuardLogix 5380, CompactLogix 5380, CompactLogix 5480,
ControlLogix 5580, and GuardLogix 5580 controllers, the controller keeps up
to 500 log entries buffered in its internal memory.
Configure the controller to write the buffered entries to the removable media
when its internal buffer is 80% full, or command the controller to write the
buffered entries to the removable media with a message instruction. This
procedure is detailed below. Once a log entry is written to the removable
media, it is removed from the buffer.
removable media
the SD card
If the removable media is not present, is full, or if the controller is not
configured to automatically write buffered entries to the removable media,
and the internal buffer becomes full, entries are saved in the buffer in a
circular fashion. As new entries are stored, the oldest entries are discarded.
When written to the removable media, controller logs are stored in plain text
files in the Tab Separated Value (TSV) format. Each time the controller writes
entries to the CompactFlash card, the entries are appended to the text file
until the file reaches 1 MB in size. At this point, the controller creates a new
text file.
The controller does not attempt to write log entries to a full removable media
card. If the removable media becomes full, the system behaves as if the
removable media is not present.
Controller log files are stored in plain text files in the TSV format, so no
special tools are required to read them. Open them in any text editor, or in a
spreadsheet application such as Microsoft Excel.
The controller log can be written to the Secure Digital (SD) card either
automatically or on demand.
Tip: Some Logix 5000 controllers support additional types of removable media that can be used to
write the controller log entries. Refer to the Logix 5000 controller documentation for information
28 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Automatic save
Chapter 3 Controller logging
Configure the controller to automatically write buffered log entries to the SD
card when the controller's internal log entry buffer becomes 80% full.
Alternately, configure the controller to write the buffered entries before a
firmware update. To write buffered entries before a firmware update, send a
message instruction to the controller using a CIP Generic message type and a
service type of Controller Log Automatic Write Set. Sending a value of 0 turns
off automatic writes, and sending a value of 1 turns on automatic writes. By
default, entries are not automatically written.
A rung of logic that performs this configuration and the configuration dialog
box of the message instruction are shown in these examples.
Example: Automatic Save Set ladder instruction and configuration dialog box
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 29
Retrieve the current state of the automatic write setting by using a CIP
Generic message type and a service type of Controller Log Automatic Write
Get. Use this rung of ladder logic and message instruction configuration to
get this value.
Example: Automatic Save Get ladder instruction and configuration dialog box
Chapter 3 Controller logging
Save on demand
Command the controller to write buffered entries to the SD card by using a
message instruction with a CIP Generic message type and a service type of
Controller Log Write To Media.
A rung of ladder logic that sends this message and the configuration of the
message instruction are shown in these examples.
Example: Write Buffered Entries to the SD Card ladder instruction and
configuration dialog box
30 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Counter Name
Description
Access
increment this count.
Controller logging counters
Total entry count
Unsaved entry count
Chapter 3 Controller logging
Three counters, listed in the following table, provide real-time statistics about
modifications to the controller.
Total Entry Count Number of entries added to the log since the last firmware
update.
Unsaved Entry Count Number of entries in controller RAM not yet written to the
CompactFlash card.
Modify Execution Count Count that specifically tracks modifications that can
change behavior of a running controller. A subset of entries
GSV/SSV
GSV
GSV/SSV
Total Entry Count is the number of controller entries that have been added
since the last firmware update. This counter increments after any entry is
added to the log, and it is written to the log in the Record Number field. Use a
Set System Value (SSV) instruction to set it to a known value. This can be
useful, for example, for monitoring system changes during a production run.
This rung of ladder logic shows how to retrieve the Total Entry Count by using
a Get System Value (GSV) instruction.
Example: Total Entry Count by using a Get System Value (GSV) ladder
instruction
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 31
This rung of ladder logic shows how to set the Total Entry Count to a known
value (in this example, 0) by using an SSV instruction.
Example: Set the Total Entry Count to a Known Value ladder instruction
The Unsaved Entry Count is the number of log entries that are in controller
memory but have not yet been stored to the CompactFlash card.
This counter value is available via a GSV instruction, and can range from
0…100, the maximum number of entries that the controller can buffer.
Chapter 3 Controller logging
Execution modification
count
This rung of ladder logic shows how to retrieve the Unsaved Entry Count by
using a Get System Value (GSV) instruction.
Example: Retrieve the Unsaved Entry Count using a Get System Value (GSV)
ladder instruction
The Execution Modification Count tracks the number of changes that occur
that can change the behavior of a running controller. Configure the counter
to include or exclude force changes.
These events cause the Execution Modification Count to increment:
• Online edits tested or assembled
• Forces enabled or disabled (if so configured)
• Program properties modified
• Task properties modified
• Controller timeslice modified
Set this counter to a known value using an SSV instruction.
This example rung of ladder logic shows how to retrieve the Execution
Modification Count by using a GSV instruction.
Example: Retrieve the Execution Modification Count by using a GSV ladder
instruction
32 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
This rung of ladder logic shows how to set the Execution Modification Count
to a known value.
Example: Ladder instruction to set the Execution Modification Count to a
known value
To configure whether the Execution Modification Count includes forces, use a
message instruction of message type CIP Generic and a service type of
Controller Log Config Execution Set.
If it is sent a value of 1, forces are included in the counter. If it is sent a value of
0, forces are not included.
This rung of ladder logic shows how to send the message instruction, followed
by the configuration dialog box of the message instruction.
Example: Controller Log Config Execution Set ladder instruction and
configuration dialog box
Chapter 3 Controller logging
The Source Element should be of data type DINT.
Use a message instruction to retrieve the current value of this configuration.
This message uses a message type of CIP Generic and a service type of
Controller Log Config Execution Get.
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 33
Chapter 3 Controller logging
Log file storage
This rung of ladder logic shows how to send the message instruction, followed
by the configuration dialog box of the message instruction.
Example: Controller Log Config Execution Get ladder instruction and
configuration dialog box
The Destination tag should be of type DINT.
When a log file is written to the CompactFlash card, it is stored at
\Logix\XXXXXXXX\Logs\VYY_ZZ, where XXXXXXXX is the eight-digit
serial number of the controller and YY_ZZ is the revision number of the
firmware (major_minor revision).
34 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Content
Description
Format
FactoryTalk ID
User's FactoryTalk login ID
Alphanumeric characters
Log file format
Log file location
The file is named ControllerLog_yyy.txt, where yyy is a sequential number
from 000…999. The controller adds to the log file until it reaches a size greater
than 1 MB. At that point, the next write of the controller log causes a new file
to be created with the next sequence number.
Chapter 3 Controller logging
When there are 1000 files larger than 1 MB, no more logs are created.
However, the controller searches for the file name with the smallest possible
sequence number that it can create or write to. For example, if a user deletes
files 001…100 but leaves the rest, the controller starts creating logs again
starting at a sequence number of 001. If there are already 1000 log files and a
user deletes log entries out of file 005, the controller writes the next log entries
to that file. The controller starts at 000 and looks for the first file that does not
exist or is less than 1 MB in size.
Each time the controller opens a log file for writing, it creates a back-up file
that is a copy of the log file before the write. This file is called Backup.txt. The
controller overwrites the backup every time it opens a log file is opened for
writing.
Rockwell Automation recommends periodically clearing space on the card for
new log files. The controller does not delete any files off the card to create
more space for new log files.
This table lists the information that is contained in the controller log file.
Time Controller's GMT time MMM-DD-YY HH:MM:SS
24-hour time
Entry Entry Description (defined in Entry List
section)
User Name User's login ID Windows domain name with display
Workstation Name User's computer name Computer Name
name if available
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 35
Chapter 3 Controller logging
Content
Description
Format
Create Custom Log Entries
Extended Information Entry specific information (defined in
Entry List section)
Change Detection Audit
1
Value
Changes that the controller detected in
the Audit value
(1) Version 20 or later. See Change detection.
The log file is formatted in UTF-16, and has a file extension of .txt. Doubleclicking the file opens it in Notepad on most systems. However, since it is
formatted as Tab Separated Values (TSV), it also opens correctly in a
spreadsheet application, like Microsoft Excel.
This screen is an example of the log file in Notepad.
Tip: For version 20 and later, a column for the Audit Value changes is included in the log file.
This screen is an example of the log file in Excel.
See also
Change detection on page 49
Use a message instruction to add custom entries to the controller log. The
message instruction uses a CIP Generic message type and a service type of
Controller Log Add Entry.
The source element of this message should be a tag of a user-defined data
type. The user-defined data type should contain two string members. The
controller writes the first string to the log entry's Description field. The
controller writes the second string to the log entry's Extended Information
field.
This rung of ladder logic shows how to send the message instruction, followed
by the Configuration dialog box of the message instruction and the definition
of the user-defined data type used for the source element.
Example: Send the Message ladder instruction, Controller Log Add Entry
configuration dialog box, and Data Type dialog box.
36 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
changes to tag values. The audit log is used for auditing by the FactoryTalk® AssetCentre.
Sample Ladder Logic File
Controller Log Events
Chapter 3 Controller logging
The Logix Designer application contains a controller logging sample ladder
file. If the sample files were installed during the installation, open the sample
files from the Help menu. On the Help menu, select Vendor Sample Projects.
This table describes the events that the controller stores in the controller log.
Tip: In Logix Designer versions 30 and later, audit log entries also appear in the controller log. Audit
log entries describe events such as changes to component properties, edits in a routine, and
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 37
Chapter 3 Controller logging
Entry
Information Logged
•Extended Information: Project
Extended Information: Project
• Extended Information: Project
• Extended Information: Project
• Extended Information: None
Project download1 • Time Stamp
• Entry Description: Project download
• UserName
• Workstation Name
• FactoryTalk Login Id
Load from removable media • Time Stamp
• Entry Description: Project load
• UserName
• Workstation Name
• FactoryTalk Login Id
•
Load from removable media auto-initiated • Time Stamp
• Entry Description: Project auto load
• UserName: Local
• Workstation Name: None
• FactoryTalk Login Id: None
Store to removable media • Time Stamp
• Entry Description: Project store
• UserName
• Workstation Name
• FactoryTalk Login Id
Online edits tested or assembled • Time Stamp
• Entry Description: Online edits modified controller program
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 43
Chapter 3 Controller logging
Entry
Information Logged
•Extended Information: Program, <connection type>
Extended Information: None
• Extended Information: None
Program Connection Modified • Time Stamp
• Entry Description: Program connection modified
• UserName
• Workstation Name
• FactoryTalk Login Id
USB Cable Connected3 • Time Stamp
• Entry Description: USB connected
• UserName: None
• Workstation Name: None
• FactoryTalk Login Id: None
•
USB Cable Disconnected3 • Time Stamp
• Entry Description: USB disconnected
• UserName: None
• Workstation Name: None
• FactoryTalk Login Id: None
(1) In versions 20 and later, the Change Detection Audit Value column is
included in the controller log. This column is used to record the Audit Value
for Change Detection.
(2) In versions 20 and later, this value in the controller log equates to
Transaction committed in the Change Detection mask.
(3) This feature only applies for the Compact GuardLogix 5380, CompactLogix
5380, CompactLogix 5480, ControlLogix 5580, and GuardLogix 5580
controllers.
44 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
IMPORTANT
Attribute Name
Description
Access
Introduction
Controller change detection
ChangesToDetect
Chapter 4
Change detection
Use the controller change detection feature as an additional means of
detecting changes made to Logix 5000 controllers.
• A unique audit value is generated when a project is downloaded to the
controller.
• When a change is detected in the controller, a new audit value is
generated.
• ChangesToDetect mask allows programmatic configuration of the
events to monitor for changes.
• Controller change detection is integrated into the Logix Designer
application.
The change detection feature is not supported in version 19 or earlier.
Keep these considerations in mind when using change detection:
• Change detection is not available on the Studio 5000® Logix Emulate™
Controller and the SoftLogix5860 Controller, and the audit value is not
populated.
• The 1769-L3x and 1769-L4x CompactLogix controllers do not support
storing log entries to removable media.
• Change detection is integrated in FactoryTalk AssetCentre version 4.1
and later. FactoryTalk AssetCentre can be configured to detect changes
in the controller and read the controller's Controller Log.
• Change detection is not integrated with RSMACC utilities.
Two controller attributes support the Change Detection feature in version 20
and later.
AuditValue A unique value that is generated when a project is downloaded to the
controller or loaded from removable storage. When a change is
detected this value is updated.
To specify which changes are monitored, use the ChangesToDetect
attribute.
ChangesToDetect Used to specify which changes are monitored. When a monitored
change occurs, the Audit Value is updated.
GSV
GSV/SSV
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 45
The ChangesToDetect mask is a 64-bit value. Each bit of the ChangesToDetect
mask corresponds to a particular event that could cause the Audit Value to
change. See ChangeToDecect format.
Chapter 4 Change detection
IMPORTANT
version 20 or later of the Logix Designer application.
data types in Rockwell Automation controllers.
If you want to:
In this property
Type or select
monitored for the controller.
Change detection is unavailable on the Studio 5000 Logix Emulate Controller and the
SoftLogix5860 Controller.
If a bit is set to a value of 1, the corresponding event is monitored for changes
and when a change for that event occurs the AuditValue updates. If a bit is set
to a value of 2, the corresponding event is not monitored and does not affect
the Audit Value. The default Audit Value of: 0xFFFFFFFFFFFFFFFF indicates
that all events are monitored.
Tip: The Audit Value updates when the controller is online.
Some events always update the audit value when they occur. For example, the
audit value changes when a project is downloaded to the controller, or when
ChangesToDetect is reconfigured. These types of events are not included in
the ChangesToDetect mask.
Configure the ChangesToDetect mask programmatically using SSV, GSV and
MSG instructions.
Tip: Use the Security tab in the Controller Properties dialog box to configure Change Detection on
Use the Set System Value (SSV) instruction to write to the ChangesTo Detect
attribute and the Get System Value (GSV) instruction to read the ChangesTo
Detect attribute programmatically.
Tip: Rockwell recommends using the DINT[2] data type to avoid limitations when working with LINT
Use the Message Configuration dialog box to read or write to the
ChangesToDetect attribute through CIP Generic Messages. For complete
information on how to access data using an MSG instruction, refer to the
<LOGIX> Controllers Message Programming Manual, publication 1756-PM012.
Use these settings to configure the ChangesToDetect attribute using the
Message Configuration dialog box.
46 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Set controller events
monitored for changes
Message Type CIP Generic
Service Type Changes to Detect Set
Source tag_name of type DINT[2] or LINT 1
This tag represents a bit mask of the changes
Destination Leave blank
If you want to:
In this property
Type or select
monitored for the controller.
To get AuditValue in this property
Type or select
Service Type
Audit Value Get
Source
Leave blank
AuditValue
Chapter 4 Change detection
Get controller events
monitored for changes
Message Type CIP Generic
Service Type Changes to Detect Get
Source Leave blank
Use the Get System Value (GSV) instruction to read the AuditValue attribute
programmatically.
Use the Message Configuration dialog box to read the AuditValue attribute
through CIP Generic Messages. For complete information on how to access
data using an MSG instruction, refer to the Logix 5000 Controllers Messages Programming Manual, publication no. 1756-PM0012.
Use these settings to read the Audit Value attribute using the Message
Configuration.
Message Type CIP Generic
Destination tag_name of type DINT[2] or LINT 1
This tag contains the AuditValue for the controller.
17 All major faults cleared through keyswitch
18 Task properties modified
19 Program properties modified
26 Safety unlock
27 Constant Tag value changed
32 Correlation Affected. Indicates a change occurred in the controller that affects the
synchronization between the controller and the project file that was downloaded to it.
Tip: Correlation Affected can include detection of a component that has been created,
deleted, or modified, or logic that has been modified. Including the Correlation Affected
event updates the audit value for these types of changes, even if other similar events
(such as Online edits modified controller program or Task properties modified) are
masked.
33 Safety signature delete inhibited in Run mode
34 Safety signature delete allowed in Run mode
48 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Controller change detection.
Change detection in the
Logix Designer application
Component tracking
Chapter 4 Change detection
Use the Security tab in the Controller Properties dialog box (available in
versions 20 and later of the application) to configure Change Detection.
To edit the Changes To Detect field, type a new value. To select the events to
monitor for changes from a list, select Configure to open the Configure Changes to Detect dialog box.
For additional information on configuring the settings on the Security tab,
refer to the <LOGIX> Security Programming Manual, publication 1756-PM016, or
the online help for the Logix Designer application.
Tip: To configure Change Detection programmatically use SSV, GSV, or MSG instructions. See
Use component tracking to determine whether tracked components have
changed. Like change detection, component tracking indicates changes to a
project, but at the component level. The Logix Designer application creates a
unique signature for each tracked component and compiles those signatures
into one overall tracked value to indicate their current state. Component
tracking applies to:
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 49
Chapter 4 Change detection
Logix Designer application.
box to see the changes.
calculated on demand rather than at regular intervals.
Tracked component
Recommended limit
I/O Modules
50
Tags
300
• Routines
• Add-On Instructions
• I/O Modules
• Constant tags
Tip: Component tracking is supported only on CompactLogix 5370, ControlLogix 5570,
Compact GuardLogix 5370, and GuardLogix 5570 controllers in versions 30 and 31 of the
Tracked components appear in the Tracked Components dialog box, which is
accessible on the Controller Properties dialog box - Security tab. The tracked
value changes when a tracked component updates in a way that affects the
execution of a routine or an Add-On Instruction. Updating a component
attribute that does not affect execution--for example, descriptions and nonconstant tag values--does not change the tracked value.
Tip: When an attribute is changed and then changed back to its previous value, the tracked value
does not change. This behavior differs from Change Detection, which registers a change when the
change is reversed.
Tip: The Tracked State value and the list of tracked components are static as long as the dialog
box is open and will not reflect changes from other workstations. If a user on another workstation
makes an update, if changes are not showing, close and re-open the Tracked Components dialog
Recommended limits for tracked components
This table lists the recommended limits on the number of tracked
components. If the limits are exceeded, a noticeable impact on performance
may occur in the Logix Designer application.
Tip: To optimize performance, configure component tracking so that the tracked state value is
Routines 100
Add-On Instructions 100
FactoryTalk Security permissions that control component tracking
These FactoryTalk Security permissions control a user's ability to change
tracking status for a component:
• Routine: Modify Properties
• Add-On Instruction: Modify
• Module: Modify Properties
• Tag: Modify Properties
50 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
prevent a user from modifying the project so that the tracked routine is no longer called.
Track the state of
components and constant
View tracked components
Retrieve the tracked state
tags
Designate project components for tracking to monitor the current state of a
component. Use the following instructions to track the state of a routine, an
Add-On Instruction, an I/O module, or a constant tag.
Chapter 4 Change detection
To track the state of a component:
1. In the Controller Organizer, highlight the component to track.
2. Right-click and select Include in tracking group.
3. To stop tracking a component, right-click and select Include in tracking group again.
Tip: When using the tracked state value to verify that code in a tracked routine is being
executed, make sure to track all the routines that call the tracked routine, up to and
including the main routine. Tracking all components that call the tracked routine helps to
To track the state of constant tags
1. In the Tag editor or the Data Monitor, highlight the constant tag to
track.
2. Right-click and select Include in tracking group.
3. To stop tracking a constant tag, right-click and select Include in tracking group again.
Tip: When a base tag or an alias tag is tracked, the base tag and all alias tags are tracked.
value using a Message
instruction
After selecting project components for tracking, check project component
status in the Tracked Components dialog box, which is accessible on the
Controller Properties dialog box - Security tab.
To view tracked components:
1. On the Online toolbar, click the Controller Properties icon.
2. On the Controller Properties dialog box, click the Security tab.
3. In the Change Detection section, click View components to open the
Tracked components dialog box.
Use a Message (MSG) instruction to retrieve the tracked state value. When the
controller receives the MSG instruction, it calculates the tracked state value
and stores it in a destination tag.
Tip: When using the tracked state value to verify that code in a tracked routine is being executed,
make sure to track all the routines that call the tracked routine, up to and including the main
routine. Tracking all components that call the tracked routine helps to prevent a user from
modifying the project so that the tracked routine is no longer called.
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 51
Chapter 4 Change detection
To retrieve the tracked state value using an MSG instruction:
1. Create a MESSAGE tag.
2. Insert an MSG instruction in the ladder logic or Structured Text
routine.
3. In the instruction, click Browse to open the Message Configuration dialog box.
4. On the Configuration tab, configure the following settings:
• For Message Type, select CIP Generic.
• For Service Type, select Tracked State Value Get.
• For Source Element, select the source tag element. In this release of
Logix Designer, the value of the SINT datatype must be 1.
• For Destination Element, select the tag where the controller sends
the tracked state value. For best results, create a destination tag that
is an array of 32 SINTs.
5. On the Communication tab, configure the communication path.
6. Click Apply.
52 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
To determine if
Use
The instruction’s destination value is negative.
S:N
Introduction
Status of S:FS when the
Chapter 5
Access status information
The controller supports status keywords inserted in logic for monitoring
specific events.
• The status keywords are not case sensitive.
• Because the status flags can change quickly, the Logix Designer
application does not display the status of the flags. For example, even
when a status flag is set, an instruction that references that flag is not
highlighted.
• A tag alias cannot be defined to a keyword.
The following table lists the available key words.
project has an SFC
The stored value cannot fit into the destination because it is either:
• Greater than the maximum value for the destination.
• Less than the minimum value for the destination.
Important: Each time S:V goes from cleared to set, it generates a minor fault (type 4, code 4).
The instruction’s destination value is 0. S:Z
An arithmetic operation causes a carry or borrow that tries to use bits that are outside the
data type.
For example:
• Adding 3 + 9 causes a carry of 1.
•
Subtracting 25 - 18 causes a borrow of 10.
This is the first, normal scan of the routines in the current program. S:FS
At least one minor fault has been generated.
• The controller sets this bit when a minor fault occurs due to program execution.
• The controller does not set this bit for minor faults that are not related to program
execution, such as battery low.
S:V
S:C
S:MINOR
The state of S:FS depends on the status of the SFC.
• When using S:FS in an action of a sequential function chart (SFC),
S:FS is set (on) for one scan each time the step goes active. S:FS =
step_name.FS.
• If the SFC calls a routine, S:FS is set (on) for one scan each time the
step that calls the routine goes active. S:FS = step_name.FS.
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 53
If the SFC does not call a routine, S:FS is set (on) for the first scan of
the task.
Example: SFC Calls a Ladder Diagram
Chapter 5 Access status information
unexpected controller operation or injury to personnel.
To get or set
Select this object
logic
application
System-overhead time slice
Controller
Get and set system data
Suppose several steps in an SFC call the same ladder diagram routine. And
suppose the ladder diagram uses S:FS. Each time one of those steps goes
active, S:FS turns on for one scan of the ladder diagram.
Example: Several Tasks but No SFC
Suppose two tasks use ladder diagrams. When the first task runs for the first
time, S:FS turns on for one scan. After that, S:FS stays off for that task. When
the other task runs for the first time, S:FS turns on for one scan in that task.
S:FS stays off in the first task that ran.
The controller stores system data in objects. There is no status file, as in the
PLC-5 controller. Use the GSV/SSV instructions to get and set controller
system data that is stored in objects.
• The GSV instruction retrieves the specified information and places it
in the destination.
• The SSV instruction sets the specified attribute with data from the
source.
ATTENTION: Use the SSV instruction carefully. Making changes to objects can cause
To create a GSV/SSV instruction, use Logix Designer online help to find the
required information, and create the instruction in the Logix Designer
application. The following summary describes the steps.
• Open the online help in Logix Designer application to find the object
and data type to use in the GSV/SSV instruction.
• In the Logix Designer application, create a tag for the value of the
attribute.
• In the Ladder Logic editor, create the GSV/SSV instruction.
To get or set system data
1. Open the project in the Logix Designer application.
2. From the Help menu, choose Contents.
3. On the Help window, click the Index tab.
4. In the Type in the keyword to find field, type GSV/SSV objects and
click Display.
5. In the GSV/SSV Objects help window, click the object.
Customize instructions for commonly-used
AddOnInstructionDefinition
54 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Different Axis objects depending on motion
Axis (Several types)
To get or set
Select this object
Attributes of a message instruction
Message
Sttus, faults, and mode of a module
Module
Group of axes
MotionGroup
program
Instance number of a routine
Routine
Different objects for safety
Safety
Configuration of the serial port
SerialPort
Properties or elapsed time of a task
Task
control
If the data type of the attribute is
Then
type identified for the object.
To
Enter this instruction
Set the value of an attribute
SSV
For this operand
Select
select THIS.
Chapter 5 Access status information
Physical hardware of a controller ControllerDevice
Groups one or more axes to generate
coordinated motion
Coordinated system time for the devices in
one chassis
DF1 communication driver for the serial
port
Fault history for a controller FaultLog
CoordinateSystem
CST
DF1
Fault information or scan time for a
Precision time management for motion
Wall clock time of a controller WallClockTime
Program
TimeSynchronize
6. In the list of attributes for the object, identify the attribute to access.
For attribute information, see the Logix 5000 Controllers General
7. In Logix Designer application, create a tag for the value of the
attribute.
One element (for example, DINT) Create a tag for the attribute.
More than one element (for example,
DINT[7])
• Create a user-defined data type that matches
the organization of data that is used by the
attribute.
• Create a tag for the attribute and use the data
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020 55
8. In the Ladder Logic routine, enter the appropriate instruction.
Get the value of an attribute GSV
9. Assign the required operands to the instruction.
Class name Name of the object.
Instance name Name of the specific object (for example, name of
the required I/O module, task, message).
• Not all objects require this entry.
To specify the current task, program, or routine,
•
Attribute name Name of the attribute.
Chapter 5 Access status information
For this operand
Select
select the first member or element.
select the first member or element.
Dest (GSV) Tag that stores the retrieved value.
If the tag is a user-defined data type or an array,
Source (SSV) Tag that stores the value to be set.
If the tag is a user-defined data type or an array,
The following example gets the current date and time.
Example: Get a System Value
At the first scan, the following rung of logic gets the DateTime attribute of the
WallClockTime object and stores it in the wall_clock tag, which is based on a
user-defined data type.
For more GSV/SSV information, see the Logix 5000 Controllers General Instructions Reference Manual, publication no. 1756-RM003.
See also
Logix 5000 Controllers General Instructions Reference Manual,
publication no. 1756-RM003
56 Rockwell Automation Publication 1756-PM015L-EN-P - November 2020
Technical Support Center
Knowledgebase
Local Technical Support Phone Numbers
Literature Library
Product Compatibility and Download Center
Rockwell Automation support
Use these resources to access support information.
(PCDC)
Find help with how-to videos, FAQs, chat, user forums, and product notification
updates.
Access Knowledgebase articles. rok.auto/knowledgebase
Locate the telephone number for your country. rok.auto/phonesupport
Find installation instructions, manuals, brochures, and technical data publications. rok.auto/literature
Get help determining how products interact, check features and capabilities, and
find associated firmware.
rok.auto/support
rok.auto/pcdc
Documentation feedback
Your comments help us serve your documentation needs better. If you have any suggestions on how to improve our content, complete the form at
rok.auto/docfeedback
.
Waste Electrical and Electronic Equipment (WEEE)
At the end of life, this equipment should be collected separately from any unsorted municipal waste.
Rockwell Automation maintains current product environmental information on its website at rok.auto/pec.
Allen-Bradley, expanding human possibility, Logix, Rockwell Automation, and Rockwell Software are trademarks of Rockwell Automation, Inc.
EtherNet/IP is a trademark of ODVA, Inc.
Trademarks not belonging to Rockwell Automation are property of their respective companies.
Rockwell Otomayson Ticaret A.Ş. Kar Plaza İş Merkezi E Blok Kat:6 34752, İçerenkÖy, İstanbul, Tel: +90 (216) 5698400 EEE YÖnetmeliğine Uygundur
Rockwell Automation Publication 1756-PM015L-EN-P - November 2020