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
personal injury or death, property damage, or economic loss.
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
Important:
Identifies information that is critical for successful application and understanding of the product.
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
temperatures.
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 for Personal Protective Equipment (PPE).
Allen-Bradley, Rockwell Software, Rockwell Au tomation, and TechConnect are trademarks of Rockwell Automation, Inc.
Trademarks not belonging to Rockwell Automation are prope rty of their respective companies.
Summary of changes
This manual contains new and updated information. There are a number of minor
changes throughout this publication that were made to clarify existing
information. The major changes are listed below.
Change Page
Updated Entries Captured in the Controller Log to add new entries and
correct existing entries.
Updated path to sample ladder logic. See Sample Ladder Logic File on page 39.
Added Program Connection Modified to the Controller Log Events table. See Controller Log Events on page 39.
Added bit numbers 35 and 36 to the ChangesToDetect Format table. See ChangesToDetect Format on page 50.
Updated GSV and SSV classes and attributes from all-capital letters to
initial capitalization for version 22
See Entries Captured in the Controller Logon
page 25.
Throughout the manual.
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 3
Preface
Connections
Determine controller
Controller logging
Table of contents
memory information
Studio 5000 Environment .................................................................................... 7
Status of S:FS When the Project Has an SFC ................................................. 54
Get and Set System Data ..................................................................................... 54
6 Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Studio 5000 environment
Preface
This manual describes how Logix5000 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
Logix5000 controllers.
For a complete list of common procedures manuals,
Common Procedures Programming Manual, publication 1756-PM001.
The term Logix5000 controller refers to any controller that is based on the
Logix5000 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 Logix5000™ controllers for discrete, process, batch, motion, safety, and
drive-based solutions.
Logix5000 Controllers
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 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.
Preface
Provides declarations of conformity, certificates, and other
Additional resources
These documents contain additional information concerning related Rockwell
Automation products.
Resource Description
Industrial Automation Wiring and Grounding Guidelines,
publication 1770-4.1.
Product Certifications webpage, available at
http://ab.rockwellautomation.com.
Provides general guidelines for installing a Rockwell
Automation industrial system.
certification details.
You can view or download publications at
http://www.rockwellautomation.com/literature. To order paper copies of
technical documentation, contact your local Rockwell Automation distributor or
sales representative.
8 Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Introduction
Chapter 1
Connections
A Logix5000 controller uses connections for most, but not all, of its
communication with other devices.
Term Definition
Connection
Requested packet
interval (RPI)
Path
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.
You indirectly determine the number of connections the controller uses by configuring the
controller to communicate with other devices in the system. These communication types
use the following connections:
• I/O modules
• Produced and consumed tags
• Program parameters
• Certain types of Message (MSG) instructions (not all types use a connection)
The RPI specifies the period at which data updates over a connection. For example, an
input module sends data to a controller at the RPI that you assign to the module.
• Typically, you configure an RPI 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 guarantees that the data
transfers at least as often as the RPI.
The path describes the route that a connection takes to get to the destination.
Typically, you automatically define the path for a connection when you add the devices to
the I/O Configuration folder of the controller.
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 9
Chapter 1 Connections
Inhibit a connection
In some situations, such as when initially commissioning a system, it is useful to
disable portions of a control system and enable them as you physically connect the
control system. The controller lets you inhibit individual modules or groups of
modules, which prevents the controller from trying to communicate with the
modules.
Inhibiting a module breaks the connection to the module and prevents communication of I/O data.
When you configure an I/O module, it defaults to not inhibited. You can change
an individual module’s properties to inhibit a module.
If you want to Then
Communicate with the module
Prevent communication with the module
Do not inhibit the module. Clear the Inhib it Module
check box.
Inhibit the module. Select the Inhibit Module check box.
When you inhibit a communication bridge module, the controller shuts down the
connections to the bridge module and to all the modules that depend on that
bridge module. Inhibiting a communication bridge module lets you disable an
entire branch of the I/O network.
When you inhibit the module, the Controller Organizer displays a yellow
attention symbol over the module.
If you are And you And Then
Offline ------------------------------> --------> The inhibit status is stored in the project. When you download the project, the module still is
inhibited.
Online Inhibit a module while you are connected
to the module
Inhibit a module but a connection to the
module was not established (perhaps due
to an error condition or fault)
--------> The connection to the module is closed. The module's outputs go to the last configured
Program mode.
--------> The module is inhibited. The module status information changes to indicate that the module is
inhibited and not faulted.
10Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Connections Chapter 1
If you are And you And Then
Uninhibit a module (clear the check box) 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 you 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 indicate
the fault condition.
Follow these steps to inhibit or uninhibit a module from logic.
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:
If Module_1_Inhibit = 1, then inhibit the operation of the I/O module named Module_1.
1. The GSV instruction sets Module_1_Mode = value of the Mode attribute for the module.
2. The OTE instruction sets bit 2 of Module_1_Mode = 1. This means inhibit the connection.
3. The SSV instruction sets the Mode attribute for the module = Module_1_Mode.
Inhibit a Connection
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 11
Chapter 1 Connections
generate a controller major fault when they lose their connections to the controller, or monitor the status of
Manage a connection
failure
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. You can program the controller to manage faults safely and
efficiently.
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
I/O modules.
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.
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, you have the
following options.
If you want the controller to Then
Fault (major fault) Configure a major fault to occur on page 13.
Continue operating Monitor the health of a module on page 13.
12Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Connections Chapter 1
Configure a major fault to occur
You can configure modules to generate a major fault in the controller if they lose
their connection with the controller. 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.
When you select 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 20second delay.
During this delay, the controller makes one attempt to connect to a module.
If you select Major Fault On Controller…Run Mode and you cannot
connect 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.
• 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
Logix5000 Controllers Major and Minor Faults
Programming Manual, publication 1756-PM014.
Monitor the health of a module
If you do not configure the major fault to occur, you should monitor the module
status. 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.
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 13
Chapter 1 Connections
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 you can access through:
• Module Properties window for the module.
• GSV instruction.
To monitor the health of your connections, use a Get System Value (GSV)
instruction to monitor the Module object for either the controller or a specific
module.
If you want to Get this attribute Data Type Description
Determine if communication
has timed out with any
device
Determine if communication
has timed out with a specific
device
LEDStatus INT
For efficiency, use a
DINT as the
destination data type.
FaultCode 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.
You do not enter an instance name with this attribute. This attribute applies to the entire
collection of modules.
ValueMeaning
0 Status Indicator off. No Module objects are configured for the controller
1 Flashing red. None of the Module objects are Running.
2 Flashing green. At least one Module object is not Running.
3 Solid green. All the Module objects are Running.
A number that identifies a module fault, if one occurs.
In the Instance Name, choose the device whose connection you want to monitor. Make sure
to assign a name to the device in the I/O Configuration folder of the project.
(there are no modules in the I/O Configuration section of the controller
organizer).
If Module_Status is any value other than 4, the controller is not communicating
with the module. See the following example.
14Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Connections Chapter 1
Example:
This rung che cks 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 re-establish the connection.
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 15
Introduction
Estimate memory
Chapter 2
Determine controller memory information
Depending on your type of controller, the memory of the controller may be
divided into several areas.
If you have this controller Then it stores this In this memory
I/O tags I/O memory
Produced / Consumed tags
Communication via Message (MSG) instructions
Communication with workstations
Communication with polled (OPC/DDE) tags that
use RSLinx software
Tags other than I/O, produced, or consumed tags Data and logic memory2
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
1
information offline
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 17
(1) To communicate with polled tags, the controller uses both I/O data and logic
memory.
(2) 1756-L55M16 controllers have an additional memory section for logic.
To estimate how much controller memory your project requires, use the Memory
tab of the Controller Properties dialog box. For each of the memory areas of your
controller, the dialog box lets you estimate number of bytes of:
• Free (unused) memory.
• Used memory.
• Largest free contiguous block of memory.
Use the following steps to estimate the controller memory.
1. Start the Logix Designer application and open a controller project.
Chapter 2 Determine controller memory information
2. On the Online toolbar (above the Controller Organizer), click the
Controller Properties icon.
3. On the Controller Properties dialog box, click the Memory tab.
4. In the Estimated Data and Logic Memory area, view the memory
information since the last estimate.
5. Click Estimate to re-estimate the amount of controller memory.
6. Click OK.
18Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Determine controller memory information Chapter 2
View run-time memory
When you are online with a controller, the Memory tab shows the actual memory
usage of the controller. While the controller is running, it uses additional memory
information
for communication. The amount of memory the controller needs varies
depending on the state of the communication.
The Memory tab of the controller includes a Max Used entry for each type of
memory. The Max Used values show the peak of memory usage as communication
occurs.
Use the following steps to reset memory usage.
1. Start the Logix Designer application and open a controller project.
2. On the Online toolbar (above the Controller Organizer), click the
Controller Properties icon.
3. On the Controller Properties dialog box, click the Memory tab.
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 19
4. Click Reset All Max to reset values.
5. Click OK.
Chapter 2 Determine controller memory information
Write Logic to Get Memory
There are several ways to use logic to get memory information.
Information
• Get memory information from the controller on page 20
• Choose the memory information on page 21.
• Convert INTs to a DINT on page 22.
Get memory information from the controller
To get memory information from the controller, execute a Message (MSG)
instruction. The following table lists configuration information for the
instruction.
On this tab For this item Type or select
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.
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.
Source Element source_array of type SINT[12]
In this element Enter Which means
source_array[0] 5 Get 5 attributes.
source_array[1] 0 Null value.
source_array[2] 1 Get free memory.
source_array[3] 0 Null value.
source_array[4] 2 Get total memory.
source_array[5] 0 Null value.
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.
source_array[10] 7 Get largest contiguous block of free data and logic memory.
source_array[11] 0 Null value.
Source Length 12 Write 12 bytes (12 SINTs).
Destination INT_array of type INT[29]
Communication Path 1, slo t_number_of_controller
Which means
.
20Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Determine controller memory information Chapter 2
instruction returns two values for each logic memory category. To determine the free or total logic memory
Choose the memory information
The MSG instruction returns the following information to INT_array
(destination tag of the MSG).
Important:
The controller returns the values in 32-bit words. To see a value in bytes, multiply it by 4. If your controller
does not divide its memory, the values show up as I/O memory. For the 1756-L55M16 controller, the MSG
of a 1756-L55M16 controller, add both values for the category.
If you want the
Amount of free I/O memory (32-bit
words)
Amount of free data and logic memory
(32-bit words)
Largest contiguous block of free I/O
memory (32-bit words)
Largest contiguous block of free data
and logic memory (32-bit words)
Then copy these array
elements
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[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
INT_array[23] Lower 16 bits of the 32 bit value
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
Description
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 21
Chapter 2 Determine controller memory information
Convert INTs to a DINT
The MSG instruction returns each memory value as two separate INTs.
To convert the separate INTs into one usable value, use a
Copy (COP) instruction.
In this operand Specify Which means
Source First INT of the 2 element pair
Destination DINT tag in which to store the 32-
Length 1 Copy 1 times the number of bytes in the Destination data
• The first INT represents the lower 16 bits of the value.
• The second INT represents the upper 16 bits of the value.
Start with the lower 16 bits.
(lower 16 bits)
Copy the value to the DINT tag.
bit value
type. In this case, the instruction copies 4 bytes (32 bits),
which combines the lower and upper 16 bits into one 32bit value.
In the following 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 32bit result in Memory_IO_Free.
22 Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Introduction
Controller log
Chapter 3
Controller logging
You 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 the following 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 have occurred in the controller due
to physical conditions such as keyswitches, changes to removable media, fault
conditions, and programming changes configured in the application. Up to 100
log entries are buffered in the controller memory. The controller can save these
buffered entries to the removable media by using a message instruction.
Additionally, you can configure the controller to automatically write buffered
entries to the removable media after 80 entries have accumulated.
In the example table below, Record Numbers 4-6 are part of the Change
Detection feature. See Change detection on page 47
Record
Number
1 12-Feb 03:39:34 Project download John Doe Laptop FT\JDoe Project L71 16#FD60_CB89_029F_3500
2 12-Feb 04:05:12 Forces Enabled Jones USMAYLT FT\Jones
3 12-Feb 04:22:03 Online edits modified
4 12-Feb 04:42:12 Change Log entry added
Time Entry Description User Name
John Doe Laptop FT\JDoe
controller program
Workstation
Name
FactoryTalk
ID
FT\JDoe
Extended
Information
.
Change Detection Audit
Value
16#FD60_CB89_029F_3521
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 23
Chapter 3 Controller logging
Record
Number
5 12-Feb 04:50:43 Change detection mask
6 12-Feb 04:58:29 Change Log entry added
Time Entry Description User Name
modified
Controller log header
When the controller creates a log file on the removable media, it includes some
header information. This header information includes the following items.
• Date the log file was created.
• Controller model number.
Workstation
Name
None None Old mask
None None
FactoryTalk
ID
Extended
Information
16#FFFF_FFFF_FFFF_F
FFF,
New mask
16#FFFF_FFFF_FFFC_F
FFF
Change Detection Audit
Value
16#FD60_CB89_029F_3566
16#FD60_CB89_029F_35BF
• Controller serial number.
• Version of firmware running on the controller.
Controller log entry
Each entry in the log can include the following 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. See
47.
Controller change detection on page
24Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Controller logging Chapter 3
The following 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. You can open them in any text editor, or in a spreadsheet
application such as Microsoft Excel.
Entries captured in the controller log
The following entries are detected and logged by the controller. These events are
described in more detail in Controller log events on page 39.
• 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
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 25
Chapter 3 Controller logging
• 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
• The Changes To Detect value has changed
• Log Collected Data Cleared
• Program Connection Modified
Controller log buffer
The controller keeps up to 100 log entries buffered in its internal memory. You
can configure the controller to write the buffered entries to the removable media
when its internal buffer is 80% full. Additionally, you can 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.
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 continue to be saved in the buffer in a circular fashion.
As new entries are stored, the oldest entries are discarded.
Controller log files and the removable media
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.
26Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Controller logging Chapter 3
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. You can open them in any text editor, or in a
spreadsheet application such as Microsoft Excel.
Writing the controller log to the CompactFlash card
The controller log can be written to the CompactFlash card either automatically
or on demand.
Some Logix5000 controllers support additional types of removable media that can be used to write the controller
Tip:
log entries. Refer to the Logix5000 controller documentation for information regarding the type of removable
media your controller supports.
Automatic Save
You can configure the controller to automatically write buffered log entries to the
CompactFlash card when the controller's internal log entry buffer becomes 80%
full. You can also 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 the following examples.
Example:
Automatic Save Set ladder instruction and configuration dialog box
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 27
Chapter 3 Controller logging
You can 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 the following rung of ladder logic and message instruction configuration to
get this value.
Example:
Automatic Save Get ladder instruction and configuration dialog box
28Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Controller logging Chapter 3
Save On Demand
You can command the controller to write buffered entries to the CompactFlash
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 the following examples.
Example:
Write Buffered Entries to the CompactFlash Card ladder instruction and configuration dialog box
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 29
Chapter 3 Controller logging
Controller logging counters
Three counters, listed in the following table, provide real-time statistics about
modifications to the controller.
Counter Name Description Access
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 increment this
count.
Total Entry Count
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. You can 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.
GSV/SSV
GSV
GSV/SSV
The following rung of ladder logic shows how to retrieve the Total Entry Count
by using a Get System Value (GSV) instruction.
30Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Controller logging Chapter 3
Example:
Total Entry Count by using a Get System Value (GSV) ladder instruction
The following 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
Unsaved Entry Count
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.
The following rung of ladder logic shows how to retrieve the Unsaved Entry
Count by using a Get System Value (GSV) instruction.
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 31
Chapter 3 Controller logging
Example:
Retrieve the Unsaved Entry Count using a Get System Value (GSV) ladder instruction
Execution Modification Count
The Execution Modification Count tracks the number of changes that occur that
can change the behavior of a running controller. You can configure the counter to
include or exclude force changes.
The events that cause the Execution Modification Count to increment include the
following.
• Online edits tested or assembled
• Forces enabled or disabled (if so configured)
• Program properties modified
• Task properties modified
• Controller timeslice modified
You can set this counter to a known value using an SSV instruction.
The following example rung of ladder logic shows how to retrieve the Execution
Modification Count by using a GSV instruction.
32Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Controller logging Chapter 3
Example:
Retrieve the Execution Modification Count by using a GSV ladder instruction
The following 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
You use a message instruction of message type CIP Generic and a service type of
Controller Log Config Execution Set to configure whether the Execution
Modification Count includes forces.
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.
The following rung of ladder logic shows how to send the message instruction,
followed by the configuration dialog box of the message instruction.
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 33
Chapter 3 Controller logging
Example:
Controller Log Config Execution Set ladder instruction and configuration dialog box
The Source Element should be of data type DINT.
You also 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.
The following rung of ladder logic shows how to send the message instruction,
followed by the configuration dialog box of the message instruction.
34Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Controller logging Chapter 3
Example:
Controller Log Config Execution Get ladder instruction and configuration dialog box
The Destination tag should be of type DINT.
Log file storage
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).
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 35
Chapter 3 Controller logging
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.
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.
Note that you should periodically clear 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.
36Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Controller logging Chapter 3
Log file format
The following table lists the information that is contained in the controller log
file.
Content Description Format
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 name
Workstation Name User's computer name Computer Name
FactoryTalk ID User's FactoryTalk login ID Alphanumeric characters
Extended Information Entry specific information (defined in Entry
List section)
Change Detection Audit
1
Value
Changes that the controller detected in the
Audit value
if available
(1) Version 20 or later. See Change detection in Logix Designer Application on
page 51.
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), you can also open it in a spreadsheet
application, like Microsoft Excel.
The following screen is an example of the log file in Notepad.
For version 20 and later, a column for the Audit Value changes is included in the log file.
Tip:
The following screen is an example of the log file in Excel.
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 37
Chapter 3 Controller logging
Create custom log entries
You can add custom entries to the controller log using a message instruction. 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.
The following 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
38Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Controller logging Chapter 3
•
• Time Stamp
•
Sample ladder Logic file
In the Logix Designer application, there is a controller logging sample ladder file.
If you installed the sample files during the installation, you can open the sample
files from the Help menu. On the Help menu, select Vendor Sample Projects.
Controller log events
The following table describes the events that the controller stores in the controller
log.
Entry Information Logged
Project download1
Load from removable media
Load from removable media auto-initiated
Time Stamp
• Entry Description: Project download
• UserName
• Workstation Name
• FactoryTalk Login Id
• Extended Information: Project
• Entry Description: Project load
• UserName
• Workstation Name
• FactoryTalk Login Id
• Extended Information: Project
Time Stamp
• Entry Description: Project auto load
• UserName: Local
• Workstation Name: None
• FactoryTalk Login Id: None
• Extended Information: Project
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 39
• Time Stamp
•
• Time Stamp
•
• Time Stamp
•
Chapter 3 Controller logging
Entry Information Logged
Store to removable media
• Entry Description: Project store
• UserName
• Workstation Name
• FactoryTalk Login Id
• Extended Information: Project
Online edits tested or assembled
Partial import online completed2
I/O forces enabled
I/O forces disabled
I/O forces removed
Time Stamp
• Entry Description: Online edits modified controller program
(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.
46 Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Introduction
Controller change detection
Chapter 4
Change detection
You can use the controller change detection feature as an additional means of
detecting changes made to Logix5000 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 you to programmatically configure the
events to monitor for changes.
• Controller change detection is integrated into the Logix Designer
application.
Important:
Note the following considerations for change detection.
• Change detection is not available on the RSLogix Emulate 5000 Controller
• The 1769-L3x and 1769-L4x CompactLogix controllers do not support
• Change detection is integrated in FactoryTalk AssetCentre version 4.1 and
• Change detection is not integrated with RSMACC utilities.
Two controller attributes support the Change Detection feature in version 20 and
later.
Attribute Name Description Access
AuditValue A unique value that is generated when a project is downloaded to the
The change detection feature is not supported in version 19 or earlier.
and the SoftLogix5860 Controller, and the audit value is not populated.
storing log entries to removable media.
later. FactoryTalk AssetCentre can be configured to detect changes in the
controller and read the controller's Controller Log.
GSV
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.
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 47
Chapter 4 Change detection
Attribute Name Description Access
ChangesToDetect Used to specify which changes are monitored. When a monitored change
occurs, the Audit Value is updated.
GSV/SSV
ChangesToDetect
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 ChangesToDetect Format on page 50
.
Important:
Change detection is unavailab le on the RSLogix Emulate 5000 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.
The Audit Value updates when the controller is online.
Tip:
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.
You can configure the ChangesToDetect mask programmatically using SSV, GSV
and MSG instructions.
You can use the Security tab in the Controller Properties dialog box to configure Change Detection if you are using
Tip:
version 20 or later of the application. See Change detection in Logix Designer Application on page 51
.
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.
48Rockwell Automation Publication 1756-PM015 F-EN-P – October 2014
Change detection Chap ter 4
Rockwell recommends using the DINT[2] data type to avoid limitations when working with LINT data types in
Tip:
Rockwell Automation controllers.
You can 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
Use these settings to read the Audit Value attribute using the Message
Configuration.
If you want to Get AuditValue in this
property
Message Type CIP Generic
Service Type Audit Value Get
Source Leave blank
Destination tag_name of type DINT[2] or LINT 1
Type or select
This tag contains the AuditValue for the controller.
ChangesToDetect Format
Bit number Event description
0 Project stored to removable media
1 Online edits modified controller program
2 Transaction committed. Indicates that a batch of one or more changes has been applied to the
controller. For example, this might happen when a routine is imported online or when a module
configuration is changed online.
3 SFC forces enabled
4 SFC forces disabled
5 SFC forces removed
6 SFC element force value changed
7 I/O forces enabled
8 I/O forces disabled
9 I/O forces removed
10 I/O forces modified
11 Firmware update attempted
12 Firmware update from removable media attempted
13 Remote mode change
14 Keyswitch mode change
15 A major fault occurred
16 All major faults cleared
17 All major faults cleared through keyswitch
18 Task properties modified
19 Program properties modified
20 Controller time slice modified
21 Removable media removed
50Rockwell Automation Publication 1756-PM015 F-EN-P – October 2014
Change detection Chap ter 4
Change detection in Logix
Bit number Event description
22 Removable media inserted
23 Safety signature created
24 Safety signature deleted
25 Safety lock
26 Safety unlock
27 Constant Tag value changed
28 Multiple constant Tag values changed
29 Constant Tag attribute cleared
30 Constant Tag attribute set
31 Custom Log Entry Added
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.
Designer Application
33 Safety signature delete inhibited in Run mode
34 Safety signature delete allowed in Run mode
35 Data log or Alarm log cleared
36 Program connection modified
You use the Security tab in the Controller Properties dialog box (available in
version 20 and later of the application) to configure Change Detection.
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 51
Chapter 4 Change detection
To edit the Changes To Detect field, type a new value. To select the events to
monitor for changes from a list, click Configure to open the Configure Changes to Detect dialog box.
For additional information on configuring the settings on the Security tab, refer to
the Logix5000 Security Programming Manual, publication 1756-PM016
or the
online help for the Logix Designer application.
To configure Change Detection programmatically use SSV, GSV or MSG instructions. See
Tip:
detection on page 47.
Controller change
52 Rockwell Automation Publication 1756-PM015 F-EN-P – October 2014
Introduction
Chapter 5
Access status information
The controller supports status keywords you can use in your logic to monitor
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.
• You cannot define a tag alias to a keyword.
The following table lists the available key words.
To determine if Use
The value you are storing cannot fit into the destination because it is either:
S:V
• 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
The instruction’s destination value is negative. S:N
An arithmetic operation causes a carry or borrow that tries to use bits that are outside the data type.
S:C
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.
S:MINOR
• 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.
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014 53
Chapter 5 Access status information
Status of S:FS when the
Get and set system data
The state of S:FS depends on the status of the SFC.
project has an SFC
• If you use 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.
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
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 you have two tasks that 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 PLC5 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.
Use the SSV instruction carefully. Making changes to objects can cause unexpected controller operation or
injury to personnel.
To create a GSV/SSV instruction, you need to use Logix Designer online help to
find the required information, and create the instruction in 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.
Use the following steps to get or set a system value.
1. Open the project in Logix Designer application.
2. From the Help menu, choose Contents.
54 Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
3. On the Help window, click the Index tab.
Access status information Chapter 5
−
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 you need.
To get or set Select this object
Customize instructions for commonly-used logic AddOnInstructionDefinition
Different Axis objects depending on motion
application
System-overhead time slice Controller
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 DF1
Fault history for a controller FaultLog
Attributes of a message instruction Message
Sttus, faults, and mode of a module Module
Group of axes MotionGroup
Fault information or scan time for a program 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
Precision time management for motion control TimeSynchronize
Wall clock time of a controller WallClockTime
Axis (Several types)
CoordinateSystem
CST
6. In the list of attributes for the object, identify the attribute that you want to
access.
58 Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
Rockwell Automation support
Rockwell Automation provides technical information on the web to assist you in using its products. At
http://www.rockwellautomation.com/support
service packs. You can also visit our Support Center at https://rockwellautomation.custhelp.com for software updates, support chats
and forums, technical information, FAQs, and to sign up for product notification updates.
In addition, we offer multiple support programs for installation, configuration, and troubleshooting. For more information, contact
your local distributor or Rockwell Automation representative, or visit http://www.rockwellautomation.com/services/online-phone
Installation assistance
If you experience a problem within the first 24 hours of installation, review the information that is contained in this manual. You can
contact Customer Support for initial help in getting your product up and running.
United States or Canada 1.440.646.3434
Outside United States or Canada Use the Worldwide Locator available at http://www.rockwellautomation.com/locations, or contact your local Rockwell
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.
you can find technical and application notes, sample code, and links to software
Automation representative.
.
United States Contact your distributor. You must provide a Customer Support case number (call the phone number above to obtain one) to
your distributor to complete the return process.
Outside United States Please contact your local Rockwell Automation representative for the return procedure.
Documentation feedback
Your comments will help us serve your documentation needs better. If you have any suggestions on how to improve this document,
complete the feedback form, publication RA-DU002
Rockwell Automation Publication 1756-PM015F-EN-P – October 2014
.
Supersedes Publication 1756-PM015E-EN-P - November 2012