Logix5000 Controllers ImportExport Reference Manual
Logix5000 Controllers ImportExport Reference Manual
Controllers
Import/Export
1756 ControlLogix
1756 GuardLogix
1768 CompactLogix
1769 CompactLogix
1789 SoftLogix5800
1794 FlexLogix
PowerFlex 700S with DriveLogix
Reference Manual
Important User Information Solid state equipment has operational characteristics differing from those of
electromechanical equipment. Safety Guidelines for the Application, Installation and
Maintenance of Solid State Controls (publication SGI-1.1 available from your local
Rockwell Automation sales office or online at
http://literature.rockwellautomation.com) describes some important differences
between solid state equipment and hard-wired electromechanical devices. Because of
this difference, and also because of the wide variety of uses for solid state equipment,
all persons responsible for applying this equipment must satisfy themselves that each
intended application of this equipment is acceptable.
In no event will Rockwell Automation, Inc. be responsible or liable for indirect or
consequential damages resulting from the use or application of this equipment.
The examples and diagrams in this manual are included solely for illustrative purposes.
Because of the many variables and requirements associated with any particular
installation, Rockwell Automation, Inc. cannot assume responsibility or liability for
actual use based on the examples and diagrams.
No patent liability is assumed by Rockwell Automation, Inc. with respect to use of
information, circuits, equipment, or software described in this manual.
Reproduction of the contents of this manual, in whole or in part, without written
permission of Rockwell Automation, Inc., is prohibited.
Throughout this manual, when necessary, we use notes to make you aware of safety
considerations.
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.
Allen-Bradley, CompactLogix, ControlLogix, GuardLogix, FlexLogix, PowerFlex, DriveLogix, SoftLogix5800, Rockwell Automation, RSLinx,
and RSLogix are trademarks of Rockwell Automation.
Trademarks not belonging to Rockwell Automation are property of their respective companies.
Summary of Changes
This document describes how to use version 2.7 (major revision 2, minor
revision 7) of the import/export feature that is included with RSLogix 5000
programming software, version 16. Changes made to this version of the
manual include:
The format .CSV and .TXT formats also now include text box
comments from function block and sequential function chart logic.
Notes:
Chapter 1
Import and Export Files Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Export a Project to a .L5K Text File. . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Import a .L5K Text File into a Project . . . . . . . . . . . . . . . . . . . . . . . . . 15
Export to a Structured File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Import into a Structured File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Export to a .L5X XML File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Import into a .L5X XML File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Maintaining Controller Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Structure a Complete Import/Export File . . . . . . . . . . . . . . . . . . . . . . 22
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Internal File Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Display Style. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Component Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Chapter 2
Define a CONTROLLER Component Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Define a CONTROLLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Specify CONTROLLER Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Specify CONTROLLER Attributes in a Safety Controller System. . . 29
CONTROLLER Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
CONTROLLER Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
END_CONTROLLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Safety CONTROLLER Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Chapter 3
Define a DATATYPE Component Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Define a DATATYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Specify DATATYPE Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Specify a DATATYPE Member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Specify DATATYPE Member Attributes . . . . . . . . . . . . . . . . . . . 43
DATATYPE Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
DATATYPE Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Chapter 4
Define a MODULE Component Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Define a MODULE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Specify MODULE Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Specify MODULE Attributes in a Safety Controller System. . . . . . . . 48
Specify a MODULE Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Specify Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Specify Attributes in a Safety Controller System . . . . . . . . . . . . . . 50
MODULE Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
MODULE Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Safety Partner MODULE Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Chapter 5
Define an Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
ADD_ON_INSTRUCTION_ Define an ADD_ON_ INSTRUCTION_
DEFINITION Component DEFINITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Define Routines for Add-On Instructions . . . . . . . . . . . . . . . . . . . 56
Specify ADD_ON_
INSTRUCTION_DEFINITION Attributes. . . . . . . . . . . . . . . . . . . . 57
ADD_ON_INSTRUCTION
_DEFINITION Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
ADD_ON_INSTRUCTION
_DEFINITION Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Specify PARAMETERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Specify PARAMETERS Attributes . . . . . . . . . . . . . . . . . . . . . . . . 60
Specify LOCAL_TAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Specify LOCAL_TAGS Attributes. . . . . . . . . . . . . . . . . . . . . . . . . 61
Export Source Protected Add-On Instructions . . . . . . . . . . . . . . . . . . 62
Source Protected Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Chapter 6
Define a TAG Component Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Define a Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Define a TAG Declaration for a Non-alias Tag . . . . . . . . . . . . . . . . . . 66
Define a TAG Declaration for an Alias Tag. . . . . . . . . . . . . . . . . . . . . 67
Define an Array Specification within a TAG Declaration . . . . . . . . . . 67
Specify TAG Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Specify Attributes for an ALARM_ANALOG Tag . . . . . . . . . . . . . . . 69
Specify an ALMMSG Record for an ALARM_ANALOG Tag . . 72
Specify Parameters for an DIGITAL_ALARM Tag . . . . . . . . . . . . . . 72
Specify an ALMMSG Record for an ALARM_DIGITAL Tag . . 74
Specify Attributes for an AXIS_CONSUMED,
AXIS_GENERIC_DRIVE, AXIS_SERVO, AXIS_SERVO_DRIVE,
and AXIS_VIRTUAL Tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Specify Attributes for an COORDINATE_SYSTEM Tag . . . . . . . . . 84
Specify Attributes for a MESSAGE Tag . . . . . . . . . . . . . . . . . . . . . . . 86
Specify Attributes for a MOTION_GROUP Tag . . . . . . . . . . . . . . . . 87
Specify Attributes for a SAFETY Tag . . . . . . . . . . . . . . . . . . . . . . . . . 88
Define TAG Initial Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Define a Comment for a TAG Component . . . . . . . . . . . . . . . . . . . . . 90
TAG Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
TAG Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Safety TAG Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
ALARM_ANALOG and DIGITAL_ALARM Tag Examples . . . . . 92
Chapter 7
Define a PROGRAM Component Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Define a PROGRAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Specify PROGRAM Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Specify PROGRAM Attributes for EquipmentPhase Programs. . . . . 97
PROGRAM Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
PROGRAM Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
EquipmentPhase PROGRAM Example. . . . . . . . . . . . . . . . . . . . . . . . 98
Safety PROGRAM Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Export a Source Protected Routine. . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Source Protected Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Chapter 8
Enter Ladder Diagram Logic Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Enter a Ladder Logic Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Specify ROUTINE Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Enter Rung Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Rung Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Ladder ROUTINE Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Enter Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Example with a Single Branch. . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Example with Two Simultaneous Branches . . . . . . . . . . . . . . . . . 104
Enter Rung Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Enter Neutral Text for Ladder Instructions . . . . . . . . . . . . . . . . . . . . 104
Chapter 9
Enter Function Block Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Diagram Logic Enter a Function Block Diagram Routine . . . . . . . . . . . . . . . . . . . . . 111
Specify FBD_ROUTINE Attributes . . . . . . . . . . . . . . . . . . . . . . 112
Enter Function Block Diagram Logic. . . . . . . . . . . . . . . . . . . . . . . . . 112
SHEET Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
FBD_ROUTINE Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Export Function Block Logic While Editing Online . . . . . . . . . . . . . 116
Example 1: Both Test Edits and Pending Edits Exist . . . . . . . . . 116
Example 2: Only Pending Edits Exist . . . . . . . . . . . . . . . . . . . . . 117
Enter IREFs and OREFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
IREF and OREF Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
IREF and OREF Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Enter ICONs and OCONs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
ICON and OCON Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
ICON and OCON Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Enter Wires and Feedback Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
WIRE Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
WIRE Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Chapter 10
Enter Sequential Function Chart Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Logic Enter a Sequential Function Chart Routine . . . . . . . . . . . . . . . . . . . . 131
Specify SFC_ROUTINE Attributes . . . . . . . . . . . . . . . . . . . . . . . 132
SFC_ROUTINE Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Export Sequential Function Chart Logic While Editing Online . . . . 139
Example 1: Both Test Edits and Pending Edits Exist . . . . . . . . . 139
Example 2: Only Pending Edits Exist . . . . . . . . . . . . . . . . . . . . . 140
Enter Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Enter a PRESET Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Enter a LIMIT_HIGH Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Enter a LIMIT_LOW Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Enter an ACTION_LIST Block . . . . . . . . . . . . . . . . . . . . . . . . . . 143
STEP Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Enter Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Enter a CONDITION Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
TRANSITION Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Enter Subroutine Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
SBR_RET Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Enter Stops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
STOP Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Enter Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Entering the LEG Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
BRANCH Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Enter Directed Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
DIRECTED_LINK Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . 151
DIRECTED_LINK Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Enter Text Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
TEXT_BOX Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
TEXT_BOX Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Enter Attachments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
ATTACHMENT Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
ATTACHMENT Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Chapter 11
Enter Structured Text Logic Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Enter a Structured Text Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Specify ST_ROUTINE attributes. . . . . . . . . . . . . . . . . . . . . . . . . 155
Enter Structured Text Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Structured Text ST_ROUTINE Example . . . . . . . . . . . . . . . . . . 157
Enter Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Export Structured Text Logic While Editing Online . . . . . . . . . . . . . 158
Example 1: Both Test Edits and Pending Edits Exist . . . . . . . . . 158
Example 2: Only Pending Edits Exist . . . . . . . . . . . . . . . . . . . . . 158
Enter Structured Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Chapter 12
Define a TASK Component Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Define a TASK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Specify TASK Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
TASK Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
TASK Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Safety TASK Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Chapter 13
Define a TREND Component Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Define a TREND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Specify TREND Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Specify a PEN Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Specify Attributes for a PEN Declaration . . . . . . . . . . . . . . . . . . 176
TREND Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
TREND Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Chapter 14
Define Controller Objects Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Define Controller Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Specify CONFIG Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
CONFIG Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Chapter 15
Structure Tag and Comments in an Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Import/Export File Place Information in a .CSV or .TXT File . . . . . . . . . . . . . . . . . . . . . 187
Internal File Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Specify a Tag Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
TAG Type Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
ALIAS Type Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
COMMENT Type Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Specify a Comment Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Specify an Alarm Message Record . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Example .CSV File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Export All Tags and Comments . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Example .TXT File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Export Program Tags and Comments . . . . . . . . . . . . . . . . . . . . . 197
Chapter 16
Structure the (.L5X) Partial Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Import/Export File Format Identify Components in .L5X Files . . . . . . . . . . . . . . . . . . . . . . . 201
Place Information in a Ladder Rung .L5X File . . . . . . . . . . . . . . . . . 202
Define a DataType Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Specify a DataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Specify a Member. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
DataType Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Define a Module Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Define an Add-on Instruction Component . . . . . . . . . . . . . . . . . . . . 206
Add-on Instruction Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Define a Tag Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Tag Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Define a Program Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Specify a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Specify a Routine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Program Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Example Ladder Rung .L5X File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Place Information in a Trend .L5X File . . . . . . . . . . . . . . . . . . . . . . . 214
Specify a Trend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Trend Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Appendix A
Considerations for Using Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Microsoft Excel to Edit a .CSV File Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
RSLogix 5000 Data Transformations . . . . . . . . . . . . . . . . . . . . . . . . . 218
Microsoft Excel Data Transformation . . . . . . . . . . . . . . . . . . . . . . . . 218
Appendix B
Import/Export Revision History Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Backward Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Import/Export Version 2.6 RSLogix 5000 Version 15 . . . . . . . . . . . 223
Import/Export Version 2.4 RSLogix 5000 Version 13 . . . . . . . . . . . 223
Import/Export Version 2.3 RSLogix 5000 Version 12 . . . . . . . . . . . 224
Import/Export Version 2.2 RSLogix 5000 Version 11 . . . . . . . . . . . 224
Import/Export Version 2.1 RSLogix 5000 Version 10 . . . . . . . . . . . 225
Changes to Support MESSAGE Tag Enhancements . . . . . . . . . 225
Import/Export Version 2.0 RSLogix 5000 Version 9 . . . . . . . . . . . . 227
Motion Changes to Support the SERCOS Protocol . . . . . . . . . . . . . 228
MOTION_GROUP Tag Structure (Version 1.1) . . . . . . . . . . . . 229
AXIS Tag Structure (Version 1.1). . . . . . . . . . . . . . . . . . . . . . . . . 229
Import/Export Version 1.1 RSLogix 5000 Version 8 . . . . . . . . . . . . 232
Notes:
Introduction This document describes how to use version 2.7 (major revision 2, minor
revision 7) of the import/export feature that is included with RSLogix 5000
programming software, version 16.
Topic Page
Export a Project to a .L5K Text File 14
Import a .L5K Text File into a Project 15
Export to a Structured File 16
Import into a Structured File 17
Export to a .L5X XML File 19
Import into a .L5X XML File 20
Maintaining Controller Access 21
Structure a Complete Import/Export File 22
Export a Project to a .L5K You can export a project to a text file. You can then use any text editor to
modify the project.
Text File
Make sure the project you want to export is already open.
Click Save.
Any unsaved edits are automatically saved when you OK the export
IMPORTANT
operation.
Import a .L5K Text File into You can import controller information from a saved text file (that has a .L5K
extension). This lets you use any text editor to create a project.
a Project
1. Select File → Open.
2. Select the text file. The text file must have a .L5K extension.
Click Open.
Click Import.
If you import a project that has forces, the project defaults to Forces Disabled,
even if the project was exported with Forces Enabled.
When you import a .L5K file, the project changes such that you cannot go online and
IMPORTANT
access a previously downloaded controller. You will have to first upload from or download
to the controller. See page 21.
Export to a Structured File When you have a project open, you can export tags and logic comments to a
structured file that separates values with commas (.CSV file) or that separates
values with tabs (.TXT Unicode file). You can then use other applications (like
Microsoft Excel or Notepad) to edit the tags and logic comments.
Make sure the project you want to export tags and comments from is already open.
2. Define the export file and select which tags and/or logic comments to export.
Click Export.
Import into a Structured File When you are offline and have a project open, you can import tags and logic
comments from a saved .CSV file or .TXT file. This lets you use other
applications (like Microsoft Excel or Notepad) to create and edit tags and logic
comments.
1. Select Tools → Import.
When you import tags, the possibility exists for tags in the import file to have
the same name as tags already in the open project. This condition is a collision.
Specify how to handle a collision.
If you delete tags from an import/export file and then import the file, tags are
not deleted from the controller project. You have to use the programming
software to delete tags from the tag list.
When you import logic comments, the possibility exists for the comments in
the import file to differ from the comments in the open project when both are
matched to the same logic. Specify how to handle a collision.
If a .CSV file or .TXT file contains changes to tags (including aliases), when you import the
IMPORTANT
file, the project changes such that you cannot go online and access a previously
downloaded controller. You will have to first upload from or download to the controller.
If you only modify comments or descriptions before you import a .CSV file or .TXT file, you
can go online with the controller.
Export to a .L5X XML File If you want to re-use ladder logic from another project, export only that
portion of logic to a .L5X file and import it into the required project. You can
export these .L5X files.
• Ladder rungs, including the referenced tags and data types
• Trends
• User defined data types
• Add-On Instructions
Make sure the project you want to export from is already open.
Click Export.
Import into a .L5X XML File When you are offline and have a project open, you can import rungs or tags,
trends, user-defined data types, and Add-On Instructions from a saved
.L5X file.
1. Select the content to import.
Click Import.
When you import a .L5X file, the project changes such that you cannot go online and
IMPORTANT
access a previously downloaded controller. You first upload from or download to the
controller.
Maintaining Controller The controller manages project status to provide RSLogix 5000 software with
the information to decide whether you can go online with a controller.
Access
Information Description
Creation Stamp The controller creates a creation stamp when you create a project (includes importing a
project) and download the project to the controller. The creation stamp in the controller
and the project file must match for RSLogix 5000 software to be able to go online with a
controller.
If a project is exported to a .L5K file and then imported, the resulting project .ACD file gets
a new creation stamp. This means that the RSLogix 5000 software views the imported
project as different from the file that was exported. The result is that you cannot use the
new, imported project file to access a controller that was downloaded with the original
file (before it was exported). At this point, your only options are to re-download from the
imported project file or to upload the controller contents to another project .ACD file and
merge with the documentation from one of the older project .ACD files.
Download Stamp The controller creates a download stamp on each download and stores this stamp in both
the project and the controller. When the creation stamp and the download stamp in the
controller match those in the project file, RSLogix 5000 software can use the project to let
you access the controller online.
If you make changes to a project file offline, the download stamp is cleared. This can
occur when you import from a .L5X file or if you import a .CSV file that creates a new tag
or modifies a tag data type. When the download stamp is reset, you can either download
the project to the controller or upload the contents from the controller. If you choose to
upload, any changes made via import are lost. Note that description and rung comment
changes in a .CSV file do not reset the download stamp so you can perform some .CSV
imports and still maintain access to the controller.
Change Log Each time you make a change on the controller online, the controllers stores details about
the changes in a change log. If there are more than 1000 changes made to the project file,
you must either download the project to the controller or upload the contents from the
controller. If you choose to upload, any changes made via import are lost.
Given this status information, these situations cause you to not be able to go
online with a controller.
Where:
Item Identifies
Component_Type The component.
component_name A specific instance of the component.
Attributes Any attributes of the component.
can also contain a description of the component.
separate each attribute with a comma (,).
body Any sub-components (children) of this component.
END_Component_Type End of the component information.
Conventions
Convention Meaning
< > Items shown in angle brackets are required.
[ ] Items shown in square brackets are optional.
user_value Items in italics indicate user-supplied information.
LITERAL Items in all uppercase indicate a required keyword or
symbol that must be entered as shown.
“[“ Items in double quotes are required characters.
White space characters include spaces, tabs, carriage return, newline, and form
feed. These characters can occur anywhere in an import/export file, except in
keywords or names. If white space characters occur outside of descriptions,
they are ignored.
You can enter comments to document your import files. The import process
ignores these comments. You can place comments anywhere in an
import/export file, except in keywords, names, component descriptions, and
the value portion of attributes (before the delimiting comma or the end
parenthesis).
Display Style
Tags and data types support a radix attribute that specifies how to display the
associated numerical information.
Component Descriptions
END_TASK
Notes:
Topic Page
Define a CONTROLLER 27
Specify CONTROLLER Attributes 28
Specify CONTROLLER Attributes in a Safety Controller 29
System
CONTROLLER Guidelines 30
CONTROLLER Example 31
Safety CONTROLLER Example 35
Import-Export
Version := RSLogix 5000 16.00
Owner := User Name, Rockwell Automation
Exported := Fri Nov 17 10:25:38 2006
IE_VER := 2.7;
Where
Item Identifies
controller_name The controller name for the project.
Attributes Attributes of the controller.
Can also contain a description of the controller.
Separate each attribute with a comma (,).
DATATYPE I/O and user-defined data structures.
MODULE Devices in the controller organizer.
TAG Controller-scope tags.
PROGRAM Organization of routines.
TASK Organization of programs.
CONFIG Characteristics of controller objects (status information).
Attribute Description
RedundancyEnabled Specify whether redundancy is used or not. Enter a 0 to disable redundancy; enter a 1 to
enable redundancy.
Specify RedundancyEnabled := number
KeepTestEditsOnSwitchOver Specify whether to keep test edits on when a switchover occurs (only in a redundant
system). Enter a 0 not to keep test edits on; enter a 1 to keep test edits on.
Specify KeepTestEditsOnSwitchOver := number
DataTablePadPercentage Specify the percentage (0...100) of the data table to reserve. If redundancy is not enabled,
enter 0. If redundancy is enabled, enter 50.
Specify DataTablePadPercentage := name
SecurityCode Specify whether the RSI Security Server is enabled for the controller. Enter 0 if the
controller is unsecured; enter -1 if the controller is secured.
Specify SecurityCode := text
SFCExecutionControl Specify whether the SFC executes the current active steps before returning control
(CurrentActive) or whether the SFC executes all threads until reaching a false transition
(UntilFalse).
Specify SFCExecutionControl := name
SFCRestartPosition Specify whether the SFC restarts at the most recently executed step (MostRecent) or at
the initial step (InitialStep).
Specify SFCRestartPosition := name
SFCLastScan Specify how the SFC manages its state on last scan. Select AutomaticReset,
ProgrammaticReset, or DontScan.
Specify SFCLastScan := name
SerialNumber Specify the serial number of the controller. If a serial number is specified, it is imported
into the project regardless of the MatchProjectToController setting. Enter a 32-bit,
hexadecimal number with the 16# prefix, such as 16#0012_E2BC
Specify SerialNumber := 16#hex_string
MatchProjectToController Specify whether to ensure that the project matches the controller or not. Enter Yes or No.
Specify MatchProjectToController := text
InhibitAutomaticFirmware Specify whether to inhibit the automatic update of controller firmware. Enter a 0 to not
Update inhibit; enter a 1 to inhibit.
Specify InhibitAutomaticFirmwareUpdate := number
Specify CONTROLLER For GuardLogix controllers (1756-L61S, 1756-L62S), specify these attributes
for the CONTROLLER component, in addition to those previously
Attributes in a Safety described.
Controller System
Attribute Description
SafetySignature Specifies the safety signature control as defined in the controller properties. This value is
exported only; it is ignored on import.
Specify SafetySignature := text
SafetyLocked Displays whether the safety controller is locked or not. This value is exported only; it is
ignored on import. This value will be Yes or No.
Specify SafetyLocked := text
SafetyLockPassword Specifies the lock password in the controller. This value is encrypted on export.
Specify SafetyLockPassword := encrypted_characters
Attribute Description
SafetyUnlockPassword Specifies the unlock password in the controller. This value is encrypted on export.
Specify SafetyUnlockPassword := encrypted_characters
SafetyTagMap Specify the tags in the Safety tag map. Place double quotes around the tags. Each entry
must end with a comma and carriage return. For example:
“StdTag1=SafeTag1,
StdTag2=SafTag2”
Specify SafetyTagMap := “tag_name=tag_name”
ConfigureSafetyIOAlways Specify whether to configure safety I/O when replacing safety I/O. Enter Yes or No.
Specify ConfigureSafetyIOAlways := text
CONTROLLER Guidelines Keep these guidelines in mind when defining a data type.
• All declarations must be explicitly ordered as shown in the syntax above.
• The maximum number of tasks depends on the controller type.
TAG
END_TAG
ROUTINE MainRoutine
END_ROUTINE
END_PROGRAM
CONFIG ASCII(XONXOFFEnable := 0,
DeleteMode := 0,
EchoMode := 0,
TerminationChars := 65293,
AppendChars := 2573,
BufferSize := 82) END_CONFIG
CONFIG DF1(DuplicateDetection := 1,
ErrorDetection := BCC Error,
EmbeddedResponseEnable := 0,
DF1Mode := Pt to Pt,
ACKTimeout := 50,
NAKReceiveLimit := 3,
ENQTransmitLimit := 3,
TransmitRetries := 3,
StationAddress := 0,
ReplyMessageWait := 5,
PollingMode := 1,
MasterMessageTransmit := 0,
NormalPollNodeFile := "<NA>",
NormalPollGroupSize := 0,
PriorityPollNodeFile := "<NA>",
ActiveStationFile := "<NA>",
SlavePollTimeout := 3000,
EOTSuppression := 0,
MaxStationAddress := 31,
TokenHoldFactor := 1,
EnableStoreFwd := 0,
StoreFwdFile := "<NA>") END_CONFIG
CONFIG WallClockTime(LocalTimeAdjustment := 0,
TimeZone := 0) END_CONFIG
END_CONTROLLER
CONTROLLER TestImportExport (Description := “Example",
TimeSlice := 11, MajorFaultProgram := Prg2)
[DATATYPE declarations]
[MODULE declarations]
[TAG declarations]
[PROGRAM declarations]
[TASK declarations]
[CONFIG controller objects declarations]
END_CONTROLLER
InhibitAutomaticFirmwareUpdate := 0)
MODULE Local (Parent := "Local",
ParentModPortId := 1,
CatalogNumber := "1756-L62S",
Vendor := 1,
ProductType := 14,
ProductCode := 68,
Major := 16,
Minor := 4,
PortLabel := "RxBACKPLANE",
ChassisSize := 17,
Slot := 0,
Mode := 2#0000_0000_0000_0000,
CompatibleModule := 0,
KeyMask := 2#0000_0000_0001_1111,
SafetyNetwork := 16#0000_31c6_0310_9358)
END_MODULE
TAG
END_TAG
ROUTINE MainRoutine
END_ROUTINE
END_PROGRAM
ROUTINE MainRoutine
END_ROUTINE
END_PROGRAM
CONFIG ASCII(XONXOFFEnable := 0,
DeleteMode := 0,
EchoMode := 0,
TerminationChars := 65293,
AppendChars := 2573,
BufferSize := 82) END_CONFIG
CONFIG DF1(DuplicateDetection := 1,
ErrorDetection := BCC Error,
EmbeddedResponseEnable := 0,
DF1Mode := Pt to Pt,
ACKTimeout := 50,
NAKReceiveLimit := 3,
ENQTransmitLimit := 3,
TransmitRetries := 3,
StationAddress := 0,
ReplyMessageWait := 5,
PollingMode := 1,
MasterMessageTransmit := 0,
NormalPollNodeFile := "<NA>",
NormalPollGroupSize := 0,
PriorityPollNodeFile := "<NA>",
ActiveStationFile := "<NA>",
SlavePollTimeout := 3000,
EOTSuppression := 0,
MaxStationAddress := 31,
TokenHoldFactor := 1,
EnableStoreFwd := 0,
StoreFwdFile := "<NA>") END_CONFIG
CONFIG WallClockTime(LocalTimeAdjustment := 0,
TimeZone := 0) END_CONFIG
END_CONTROLLER
Notes:
Introduction This chapter explains the overall structure of the DATATYPE component.
Topic Page
Define a DATATYPE 41
Specify DATATYPE Attributes 41
Specify a DATATYPE Member 42
DATATYPE Guidelines 44
DATATYPE Example 44
Where:
Item Identifies
DataType_name The data structure.
Attributes Attributes of the data structure.
Can also contain a description of the component.
Enclose in parenthesis.
Separate each attribute with a comma (,).
member_definition Each member of the data structure.
Specify a DATATYPE There are two kinds of data type members. A bit member is a member in
which only a single bit of information is to be accessed. A non-bit member is a
Member member that is defined as another data type (such as SINT, INT, DINT,
COUNTER, etc.).
All data types are allocated in 8-bit boundaries. A single bit of storage is not
allowed, so a member cannot be a BOOL data type. To access a single bit, use
the BIT declaration. BIT allows access to a single bit within a host member (a
non-bit member).
The host member is normally a hidden member because only the bit
references are visible when you define a tag of the datatype.
There must be a space between the host member name and the colon
IMPORTANT
and the colon and the bit position because type names can contain a
colon (for example, I/O structures) and without the space we could
not tell where type name actually ends.
Bit members cannot be defined before their host members. Note that
BitPosition zero is the least significant bit.
Attribute Description
Description Provide information about the data type member.
Specify Description := ”text”
Radix Specify decimal, hex, octal, binary, exponential, float,
ASCII, or date/time.
Specify Radix := value
Hidden Make the member a hidden member of the structure.
Specify Hidden := 1
DATATYPE Guidelines Keep these guidelines in mind when defining a data type.
• Data types can be defined out of order. For example, if Type1 depends
on Type2, Type2 can be defined first.
• Data type members can be arrays but only one dimension is allowed.
Introduction This chapter explains the overall structure of the MODULE component.
Topic Page
Define a MODULE 45
Specify MODULE Attributes 46
Specify MODULE Attributes in a Safety Controller System 48
Specify a MODULE Connection 49
MODULE Guidelines 51
MODULE Example 51
Safety Partner MODULE Example 53
Where:
Item Identifies
device_name The module
Attributes Attributes of the module.
Can also contain a description of the module.
Enclose in parenthesis.
Separate each attribute with a comma (,).
ConfigData Operating characteristics of the module.
ExtendedProp Additional profile data stored in the controller.
The format is XML.
Currently used by the CompactBus MODULE.
Connection Connection characteristics for the module.
Attribute Description
Description Provide information about the module.
Specify Description := ”text”
Parent If this module is a child to another module, specify the name of the parent module. The
parent module must be defined before any child module.
Specify Parent := name
ParentModPortID If this module is a child to another module, specify the number of the port on the parent
module that connects to this child module. The parent module must be defined before any
child module.
Specify ParentModPortID := number
CatalogNumber Specify the catalog number of the module.
Specify CatalogNumber := number
Vendor Specify the vendor of the module. A number 1 indicates Allen-Bradley.
Specify Vendor := number
ProductType Specify the product type of the module.
Specify ProductType := number
ProductCode Specify the product code of the module.
Specify ProductCode := number
Major Specify the major revision number (1...127) of the module.
Specify Major := number
Minor Specify the minor revision number (1...255) of the module.
Specify Minor := number
UserDefinedVendor Specify the vendor of a non-Allen-Bradley module. Enter a number to indicate the vendor.
Specify UserDefinedVendor := number
UserDefinedProduct Specify the product type of a non-Allen-Bradley module.
Type Specify UserDefinedProductType := number
UserDefinedProduct Specify the product code of a non-Allen-Bradley module.
Code Specify UserDefinedProductCode := number
UserDefinedMajor Specify the major revision number (1...127) of a non-Allen-Bradley module.
Specify UserDefinedMajor := number
UserDefinedMinor Specify the minor revision number (1...255) of a non-Allen-Bradley module.
Specify UserDefinedMinor := number
PortLabel Specify the port used to reach this module. The port label is either RxBACKPLANE for
modules in a chassis or a text string for modules on a network.
Specify PortLabel := label
ChassisSize Specify the number of slots in the chassis (1...32). This applies only to the MODULE
statement that defines the controller selected for the project.
Specify ChassisSize := number
Slot Specify the slot number (0...31) where the module is in the chassis.
Specify Slot := number
NodeAddress Specify the ControlNet node address (1...99) or the remote I/O rack address (0...63) of
the module.
Specify NodeAddress := number
Attribute Description
Group If the module is a remote I/O module, specify the starting group (0...7). For a block-transfer
module, this is the module group number under the remote I/O adapter.
Specify Group := number
CommMethod Specify the method of connecting to the module.
Specify CommMethod := number
ConfigMethod Specify the method of configuring the module.
Specify ConfigMethod := number
Mode Select a specific mode by setting the appropriate bit.
Set For
0 do not inhibit the module and a fault in the module does not cause a
major fault in the controller
1 fault in the module causes a major fault in the controller
4 inhibit the module
5 both inhibit the module and a fault in the module causes a major fault
in the controller
Specify Mode := number
CompatibleModule Specify whether to connect to a compatible module based on the minor revision
(value = 1) or to an exact match of the module (value = 0).
If you specify exact for KeyMask (below), set CompatibleModule to
2#0000_0000_0000_0000_0000_0000_0000_0000.
If you specify compatible for KeyMask (below), set CompatibleModule to
2#0000_0000_0000_0000_0000_0000_1000_0000.
The values for compatible module and for exact match are the same because this attribute
is used in conjunction with CompatibleModule (above) to distinguish between compatible
module or exact match.
Attribute Description
ChABaud For a 1756-DHRIO module, specify the baud rate for channel A. Enter 57.6, 115.2, or 230.4.
Specify ChABaud := baud
ChBBaud For a 1756-DHRIO module, specify the baud rate for channel B. Enter 57.6, 115.2, or 230.4.
Specify ChBBaud := baud
DtlsFileName Specify the file name associated with a DriveExecutive project. DriveExecutive configures
drives on ControlNet and EtherNet/IP networks.
Specify DtlsFileName := text
ConfigCode Specify the value that represents the drive rating of the drive. Select this rating on the
Power tab in a DriveExecutive project for drives on ControlNet and EtherNet/IP networks.
Specify ConfigCode := text
ControlNetSignature This value (hexadecimal) is exported only for the purpose of doing a file compare. This
value is ignored on import.
The export file contains ControlNetSignature := 16#value
SafetyNetwork If the module is in a safety controller system, specify the number (6-byte hexadecimal) of
the safety network.
Specify SafetyNetwork := 16#value
RSNetWorxFileName Specify the file name of an associated RSNetWorx project file.
Specify RSNetWorxFileName := filename
Specify MODULE Attributes In a safety controller system (1756-L61S, 1756-L62S), the MODULE
component for the safety partner must follow the MODULE component for
in a Safety Controller the primary safety controller. All of the attributes of the safety partner are
System determined based on those of the primary safety controller.
The MODULE component for the primary safety controller follows the
structure previously described. The MODULE component for the safety
partner follows this structure.
Where:
Item Identifies
connection_name The connection.
InputData Input channel data.
InputForceData Forcing information for the input channel.
OutputData Output channel data.
OutputForceData Forcing information for the output channel.
Attributes Attributes of the connection.
Can also contain a description of the module.
Enclose in parenthesis.
Separate each attribute with a comma (,).
For details on the data in the connection list, see the user manual for the I/O
module. The connection list data depends on the I/O module and the
configuration for that module.
Attribute Description
Rate Specify the requested packet interval (RPI) rate in microseconds.
Specify Rate := microseconds
InputCxnPoint Specify the input connection point for the primary connection (0...255).
Specify InputCxnPoint := number
InputSize Specify the input size for the (0...255).
Specify InputSize := number
OutputCxnPoint Specify the output connection point for the primary connection (0...255).
Specify OutputCxnPoint := number
EventID Specify the event ID if used in conjunction with an event task.
Specify EventID := number
ControlNetScheduled This value is set by the RSNetWorx for ControlNet software when you schedule a
ControlNet network. Do not modify this value.
Attribute Description
TimeoutMultiplier Specify the timeout multiplier (default = 2) for a safety controller system. This value
determines the RPIs of time to wait for a packet before declaring a time out. This
translates into the number of messages that may be lost before declaring a connection
error. A Timeout Multiplier of 1 indicates that no messages may be lost; that is, there must
be a packet every RPI interval. A Timeout Multiplier of 2 indicates that 1 message may be
lost; that is, as long as a packet is seen in 2 times the RPI, no time-out will occur. Enter a
number from 1...4, inclusive.
Specify TimeoutMultiplier := number
NetworkDelay Specify the network delay multiplier (default = 100%) for a safety controller control
Multiplier system. This value lets you reduce or increase the connection reaction time limit in cases
where the transport time of the message is significantly less or more than the RPI. This
may be the case when the RPI of an output connection is the same as that of a lengthy
task period. Enter a percentage from 10...600, inclusive.
Specify NetworkDelayMultiplier := number
ReactionTimeLimit Specify the connection reaction time limit (0...5500032) for a safety controller system.
RSLogix 5000 software calculates the connection reaction time limit as a function of the
RPI, timeout multiplier, and network delay multiplier. The connection reaction time limit is
automatically reacalculated if any of the above values change.
Specify ReactionTimeLimit := number
END_MODULE
END_MODULE
MODULE input_1 (Parent := Local,
CatalogNumber := 1756-IA16,
Major := 2,
Minor := 1,
PortLabel := RxBACKPLANE,
Slot := 1,
CommMethod := 536870913,
ConfigMethod := 8388610,
Mode := 2#0000_0000_0000_0000,
CompatibleModule :=
2#0000_0000_0000_0000_0000_0000_1000_0000,
KeyMask := 2#0000_0000_0001_1111)
ConfigData :=
[28,16,1,0,0,0,1,9,1,9,0,0,0,0,65535,65535];
CONNECTION StandardInput (Rate := 5000,
EventID := 0)
InputData := [0,0];
InputForceData :=
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,16,0];
END_CONNECTION
END_MODULE
Notes:
Define an ADD_ON_INSTRUCTION_
DEFINITION Component
Topic Page
Define an ADD_ON_ INSTRUCTION_ DEFINITION 55
Specify ADD_ON_ INSTRUCTION_DEFINITION Attributes 57
ADD_ON_INSTRUCTION _DEFINITION Guidelines 58
ADD_ON_INSTRUCTION _DEFINITION Example 58
Specify PARAMETERS 60
Specify LOCAL_TAGS 61
Export Source Protected Add-On Instructions 62
Where:
Item Identifies
name The name of the Add-On Instruction.
Attributes Attributes of the Add-On Instruction.
Can also contain a description of the Add-On Instruction.
Separate each attribute with a comma (,).
PARAMETERS Parameters of the Add-On Instruction.
LOCAL_TAGS Local tags of the Add-On Instruction.
add_on_instruction_ Ladder logic, function block, or structured text routine.
routines The routine name must be Logic, Prescan, Postscan, or
EnableInFalse.
You enter routines in an Add-On Instruction the same as you enter logic
routines. The logic in a routine must all be in the same programming language.
You can program the routines in ladder logic (ROUTINE), function block
(FBD_ROUTINE), or structured text (ST_ROUTINE) languages. The
Add-On Instruction has predefined routine names that you must use and
cannot change.
For example, this structure for an Add-On Instruction uses all four possible
routines.
PARAMETERS
add_on_instruction_parameters
END_PARAMETERS
LOCAL_TAGS
add_on_instruction_local_tags
END_LOCAL_TAGS
• The logic for the Add-On Instruction uses the same format and
structure as the same type of logic routine in a PROGRAM component.
ADD_ON_INSTRUCTION
_DEFINITION Example
ADD_ON_INSTRUCTION_DEFINITION Valve (Description := "Simple
valve control",
Revision := “1.0”, RevisionExtension := “B”,
Vendor := “RaesUDICreationsUnlimited”,
ExecutePrescan := Yes,
ExecutePostscan := No, ExecuteEnableInFalse :=
No,
CreatedBy := “apollo\drjones”, EditedDate :=
“2005-01-05T15:24:59.188Z”,
EditedBy := “apollo\drjones”,
AdditionalHelpText := “My first Add-On
Instruction – how cool!”)
PARAMETERS
Valve_Command : BOOL (Description := “0 - Close
valve$N1 - Open valve”,
Radix := Decimal, Required := Yes, Visible :=
Yes, DefaultData := “1”);
Array_Parameter : REAL[5] (Type := InOut, Radix
:= Float, Required := Yes,
Visible := Yes); Valve_Out : DINT (Type :=
Output, Radix := Decimal,
Required := No, Visible := Yes, DefaultData :=
“0”);
Reset : BOOL (Description := “Used by Prescan
routine to run Reset code”,
Type := Input, Radix := Decimal, Required := No,
Visible := No,
DefaultData := “1”);
END_PARAMETERS
LOCAL_TAGS
0.00000000e+000,0.00000000e+000,0.00000000e+000,0.00000000e+0
00]”);
END_LOCAL_TAGS
END_ADD_ON_INSTRUCTION_DEFINITION
PARAMETERS
<name> : <datatype[array_specification]> [(Attributes)];
END_PARAMETERS
Where:
Item Identifies
name The name of the parameter.
datatype Data type of the parameter.
InOut parameters can be atomic (SINT, INT, DINT, and
REAL) and compound (user-defined and array) data types.
In and Out parameters can be only atomic (SINT, INT,
DINT, and REAL) data types.
array Dimensional boundaries for an InOut parameter array.
Attributes Attributes of the parameter.
Can also contain a description of the parameter.
Separate each attribute with a comma (,).
Attribute Description
Description Provide information about the parameter (128 characters maximum).
Specify Description := “text”
Usage Specify the type of parameter. Enter Input, Output, or InOut.
Specify Usage := text
Radix Specify decimal, hex, octal, binary, exponential, float, or ASCII.
Specify Radix := text
Required Specify whether the parameter is required. Enter 1 if the parameter is required; enter 0 if
the parameter is optional.
Specify Required := number
Visible Specify whether the parameter is visible on the instruction’s display. Enter 1 if the
parameter is visible; enter 0 if the parameter is not visible.
Specify Visible := number
DefaultData Specify a default value for the parameter. This attribute is not available if you specify
Usage as InOut.
Specify DefaultData := number
LOCAL_TAGS
<name> : <datatype[array_specification]> [(Attributes)];
END_LOCAL_TAGS
Where:
Item Identifies
name The name of the local tag.
datatype Data type of the local tag.
Local tags can be any data type that is supported as a
member of a user-defined data type, except for Motion
Group, Alarm, Axis, Coordinated, and Message types.
Local tags support single-dimension arrays.
array Dimensional boundaries for an array.
Attributes Attributes of the local tag.
Can also contain a description of the local tag.
Separate each attribute with a comma (,).
Attribute Description
Description Provide information about the local tag (128 characters maximum).
Specify Description := “text”
Radix Specify decimal, hex, octal, binary, exponential, float, ASCII, or date/time (LINT only).
Specify Radix := text
DefaultData Specify a default value for the local tag.
Specify DefaultData := number
Export Source Protected If the project contains source-protected Add-On Instructions and the key is
not available when you export the project, Add-On Instructions appear as
Add-On Instructions ENCODED_DATA components.
Where:
Item Identifies
EncodedType The type of source-protected logic.
name The name of the Add-On Instruction.
Attributes Other attributes of the Add-On Instruction that are not
controlled via source protection.
Notes:
Introduction This chapter explains the overall structure of the TAG component.
Topic Page
Define a Tag 65
Define a TAG Declaration for a Non-alias Tag 66
Define a TAG Declaration for an Alias Tag 67
Define an Array Specification within a TAG Declaration 67
Specify TAG Attributes 67
Specify Attributes for an ALARM_ANALOG Tag 69
Specify Parameters for an DIGITAL_ALARM Tag 72
Specify Attributes for an AXIS_CONSUMED, 75
AXIS_GENERIC_DRIVE, AXIS_SERVO, AXIS_SERVO_DRIVE,
and AXIS_VIRTUAL Tag
Specify Attributes for an COORDINATE_SYSTEM Tag 84
Specify Attributes for a MESSAGE Tag 86
Specify Attributes for a MOTION_GROUP Tag 87
Specify Attributes for a SAFETY Tag 88
Define TAG Initial Values 89
Define a Comment for a TAG Component 90
TAG Guidelines 90
TAG Examples 90
Safety TAG Examples 91
ALARM_ANALOG and DIGITAL_ALARM Tag Examples 92
Define a Tag Controller-scope tags are defined in one TAG component within the
CONTROLLER component; program-scope tags are defined in a TAG
component within a PROGRAM component within a CONTROLLER
component. For example, all the tags for one program are defined in one TAG
component within that PROGRAM component. A TAG component follows
this structure.
TAG
[tag_declarations]
END_TAG
Within a tag list, message and motion tags must follow all non-motion tags and
axis tags must follow motion group tags.
For detailed information about atomic and structure tags and their
IMPORTANT
supported attributes and ranges, see the Logix5000 Controllers
Common Procedures Programming Manual, publication 1756-PM001.
Define a TAG Declaration A tag declaration for a non-alias tag follows this structure.
for a Non-alias Tag
<tag_name> : <type[array]> [(Attributes)][:= <initial_value>] [, <tag_force_data>];
Where:
Item Identifies
tag_name Name of the tag.
type Type of tag.
Atomic types: BOOL, SINT, INT, DINT, LINT, REAL
String types: STRING
Predefined types: AXIS_CONSUMED, AXIS_GENERIC_DRIVE, AXIS_SERVO,
AXIS_SERVO_DRIVE, AXIS_VIRTUAL, CAM, CAM_PROFILE, CONTROL,
COORDINATE_SYSTEM, COUNTER, MESSAGE, MOTION_GROUP,
MOTION_INSTRUCTION, OUTPUT_CAM, OUTPUT_COMPENSATION, PID,
SERIAL_PORT_CONTROL, TIMER
Equipment phase types: PHASE, PHASE_INSTRUCTION
Safety types: CONNECTION_STATUS and unique types for each safety instruction
Function block types: unique type for each function block
Sequential function chart: SFC_ACTION, SFC_STEP, SFC_STOP
User-defined data types.
array Dimensional boundaries for array tags.
Attributes Attributes of the tag.
Can also contain a description of the tag.
Enclose in parenthesis.
Separate each attribute with a comma (,).
initial_value Initial value of the tag.
tag_forced_data List of forced tag data.
There cannot be any whitespace between the type and array definition. There
must be a space between the tag name and the colon and another space
between that same colon and the type name. This is because type names can
contain a colon and without the space it would be impossible to detect where
the type name actually starts.
Define a TAG Declaration A tag declaration for an alias tag follows this structure.
for an Alias Tag <tag_name> OF <alias> [(Attributes)];
Where:
Item Identifies
tag_name Name of the alias tag.
alias Name of the base tag the alias tag references.
Specify alias<specifier>
Where the specifier is a bit (.bitnumber), array element
([element]), or structure member (.membername) of the
tag.
Attributes Attributes of the tag.
Can also contain a description of the tag.
Enclose in parenthesis.
Separate each attribute with a comma (,).
Item Identifies
element The number of elements within the array dimension.
For example [5, 10, 2].
Attribute Description
Description Provide information about the tag.
Specify Description := ”text”
Comment Provide information about a tag component.
Specify Comment<specifier> := ”text”
Where the specifier is:
.bitnumber for a bit in the tag
[element] for an array element of the tag
.membername for a structure member of the tag
Class Specify the class of the tag. This attribute applies only to safety controller projects. Enter
Standard or Safety.
Specify Class := text
Radix Specify the display style as decimal, hex, octal, binary, exponential, float, ASCII, or
date/time (LINT only).
Specify Radix := value
Attribute Description
ProduceCount Specify the number of consumers allowed (any positive number).
Specify ProduceCount := value
PLCMappingFile If this tag is mapped to a PLC controller, specify the file number (any positive number).
Specify PLCMappingFile := number
PLC2Mapping If this tag is mapped to a PLC-2 file, set this attribute to 1. If this tag is not mapped to a
PLC-2 file, set this attribute to 0.
Specify PLC2Mapping := value
ProgrammaticallySend If the project programmatically sends an event trigger, set this attribute to 1. Otherwise,
EventTrigger set this attribute to 0.
Specify ProgrammaticallySendEventTrigger := value
Producer If the controller consumes this tag, specify the name of the remote controller that
produces this tag. You must also specify RemoteTag and RPI attributes.
Specify Producer:= name
RemoteTag If the controller consumes this tag from a controller that supports tag names, specify the
name of the tag on the remote controller. You must also specify Producer and
RPI attributes.
Specify RemoteTag := name
RemoteFile If the controller consumes this tag from a PLC-5 controller, specify the PLC-5 file number
(any positive number) on the PLC-5 controller. You must also specify Producer and
RPI attributes.
Specify RemoteFile := number
RPI If the controller consumes this tag, specify the RPI value in milliseconds (any positive
number). You must also specify Producer and RemoteTag attributes.
Specify RPI := milliseconds
Unicast Allow connections to be unidirectional, rather than bidirectional. Enter Yes or No.
Specify Unicast := text
UnicastPermitted Specify when unicast connections can be received. Enter Yes or No.
Specify UnicastPermitted := text
Usage Specify how an Equipment Phase program uses a tag. This attribute applies only to tags
that are program-scoped to an Equipment Phase program. Enter Input, Output, or Normal.
Specify Usage := text
Attribute Description
LLProgAck Specify whether the program can acknowledge a low-low condition. Enter 1 to enable;
enter 0 to disable.
Specify LLProgAck := BOOL
LLOperAck Specify whether an operator can acknowledge a low-low condition. Enter 1 for enabled;
enter 0 for disabled.
Specify LLOperAck := BOOL
ROCPosProgAck Specify whether the program can acknowledge a positive (increasing), rate-of-change
condition. Enter 1 to enable; enter 0 to disable.
Specify ROCPosProgAck := BOOL
ROCPosOperAck Specify whether an operator can acknowledge a positive (increasing), rate-of-change
condition. Enter 1 to enable; enter 0 to disable.
Specify ROCPosOperAck := BOOL
ROCPNegProgAck Specify whether the program can acknowledge a negative (decreasing), rate-of-change
condition. Enter 1 to enable; enter 0 to disable.
Specify ROCPNegProgAck := BOOL
ROCPNegOperAck Specify whether an operator can acknowledge a negative (decreasing), rate-of-change
condition.Enter 1 to enable; enter 0 to disable.
Specify ROCPNegOperAck := BOOL
ProgSuppress Specify whether the program can suppress an alarm. Enter 1 to enable; enter 0 to disable.
Specify ProgSuppress := BOOL
OperSuppress Specify whether an operator can suppress an alarm. Enter 1 to enable; enter 0 to disable.
Specify OperSuppress := BOOL
ProgUnsuppress Specify whether the program can unsuppress an alarm. Enter 1 to enable; enter 0 to
disable.
Specify ProgUnsuppress := BOOL
OperUnsuppress Specify whether an operator can unsuppress an alarm. Enter 1 to enable; enter 0 to
disable.
Specify OperUnsuppress := BOOL
ProgDisable Specify whether the program can disable an alarm. Enter 1 to enable; enter 0 to disable.
Specify ProgDisable := BOOL
OperDisable Specify whether an operator can disable an alarm. Enter 1 to enable; enter 0 to disable.
Specify OperDisable := BOOL
ProgEnable Specify whether the program can enable an alarm. Enter 1 to enable; enter 0 to disable.
Specify ProgEnable := BOOL
OperEnable Specify whether an operator can enable an alarm. Enter 1 to enable; enter 0 to disable.
Specify OperEnable := BOOL
AlarmCountReset Specify whether to reset the alarm count. Enter 1 to reset; enter 0 to not reset.
Specify AlarmCountReset := BOOL
In Specify the analog input (REAL) to the alarm.
Specify In := value
HHLimit Specify the high-high limit (REAL) for the alarm condition.
Specify HHLimit := value
HHSeverity Specify the severity (1...500) of a high-high alarm condition.
Specify HHSeverity := value
HLimit Specify the high limit (REAL) for the alarm condition.
Specify HLimit := value
Attribute Description
HSeverity Specify the severity (1...500) of a high alarm condition.
Specify HSeverity := value
LLimit Specify the low limit (REAL) for the alarm condition.
Specify LLimit := value
LSeverity Specify the severity (1...500) of a low alarm condition.
Specify LSeverity := value
LLLimit Specify the low-low limit (REAL) for the alarm condition.
Specify LLLimit := value
LLSeverity Specify the severity (1...500) of a low-low alarm condition.
Specify LLSeverity := value
MinDurationPRE Specify the minimum time (DINT) an alarm condition to remain true for the alarm to be
considered active.
Specify MinDurationPRE := value
Deadband Specify the deadband (REAL) for the high-high, high, low, and low-low levels.
Specify Deadband := value
ROCPosLimit Specify the positive rate-of-change limit (REAL) for the alarm condition.
Specify ROCPosLimit := value
ROCPosSeverity Specify the severity (1...500) of a positive rate-of-change alarm condition.
Specify ROCPosSeverity := value
ROCNegLimit Specify the negative rate-of-change limit (REAL) for the alarm condition.
Specify ROCNegLimit := value
ROCNegSeverity Specify the severity (1...500) of a negative rate-of-change alarm condition.
Specify ROCNegSeverity := value
ROCPeriod Specify the time period (seconds) to evaluate rate-of-change conditions.
Specify ROCPeriod := value
AssocTag1 Specify a tag associated with the alarm.
Specify AssocTag1 := text
AssocTag2 Specify a tag associated with the alarm.
Specify AssocTag2 := text
AssocTag3 Specify a tag associated with the alarm.
Specify AssocTag3 := text
AssocTag4 Specify a tag associated with the alarm.
Specify AssocTag4 := text
HMICmd Specify a command string for the HMI.
Specify HMICmd := text
Where:
Item Identifies
language Languages: EN-US (United States English), DE (Germany
German), ES (Spain Spanish), FR (France French), IT
(Italian), PT (Brazil Portuguese), JA (Japanese), KO
(Korean), ZH (Chinese)
scope Whether the alarm tag is program-scope or
controller-scope.
tag_name Name of the associated digital alarm tag.
message_text Alarm message.
Enclose the message in double quotes (“ “). This is a
unicode string.
alarm_type Specify an analog alarm type.
Specify For
HH high-high alarm
H high alarm
L low alarm
LL low-low alarm
POS rate-of-change positive alarm
NEG rate-of change negative alarm
Parameter Description
ProgAck Specify whether the program can acknowledge the alarm condition. Enter 1 to enable;
enter 0 to disable.
Specify ProgAck := BOOL
OperAck Specify whether an operator can acknowledge the alarm condition. Enter 1 to enable;
enter 0 to disable.
Specify OperAck := BOOL
ProgReset Specify whether the program can reset the alarm condition. Enter 1 to enable; enter 0 to
disable.
Specify ProgReset := BOOL
OperReset Specify whether an operator can reset the alarm condition. Enter 1 to enable; enter 0 to
disable.
Specify OperReset := BOOL
ProgSuppress Specify whether the program can suppress an alarm. Enter 1 to enable; enter 0 to disable.
Specify ProgSuppress := BOOL
OperSuppress Specify whether an operator can suppress an alarm. Enter 1 to enable; enter 0 to disable.
Specify OperSuppress := BOOL
ProgUnsuppress Specify whether the program can unsuppress an alarm. Enter 1 to enable; enter 0 to
disable.
Specify ProgUnsuppress := BOOL
OperUnsuppress Specify whether an operator can unsuppress an alarm. Enter 1 to enable; enter 0 to
disable.
Specify OperUnsuppress := BOOL
ProgDisable Specify whether the program can disable an alarm. Enter 1 to enable; enter 0 to disable.
Specify ProgDisable := BOOL
OperDisable Specify whether an operator can disable an alarm. Enter 1 to enable; enter 0 to disable.
Specify OperDisable := BOOL
ProgEnable Specify whether the program can enable an alarm. Enter 1 to enable; enter 0 to disable.
Specify ProgEnable := BOOL
OperEnable Specify whether an operator can enable an alarm. Enter 1 to enable; enter 0 to disable.
Specify OperEnable := BOOL
AlarmCountReset Specify whether to reset the alarm count. Enter 1 to reset; enter 0 to not reset.
Specify AlarmCountReset := BOOL
UseProgTime Specify how to timestamp alarm events. Enter 1 for programmatic timestamp; enter o for
controller timestamp.
Specify UseProgTime := BOOL
ProgTime Specify the programmatic timestamp (LINT).
Specify UseProgTime := value
Severity Specify the severity (1...500) of the alarm condition.
Specify Severity := value
MinDurationPRE Specify the minimum time (DINT) an alarm condition to remain true for the alarm to be
considered active.
Specify MinDurationPRE := value
AssocTag1 Specify a tag associated with the alarm.
Specify AssocTag1 := text
AssocTag2 Specify a tag associated with the alarm.
Specify AssocTag2 := text
Parameter Description
AssocTag3 Specify a tag associated with the alarm.
Specify AssocTag3 := text
AssocTag4 Specify a tag associated with the alarm.
Specify AssocTag4 := text
HMICmd Specify a command string for the HMI.
Specify HMICmd := text
Where:
Item Identifies
language Languages: EN-US (United States English), DE (Germany
German), ES (Spain Spanish), FR (France French), IT
(Italian), PT (Brazil Portuguese), JA (Japanese), KO
(Korean), ZH (Chinese)
scope The connection.
tag_name Name of the associated digital alarm tag.
message_text Alarm message.
Enclose the message in double quotes (“ “). This is a
unicode string.
alarm_type Specify AM for digital alarm.
Attribute Description
Description Provide information about the tag.
Specify Description := ”text”
Comment Provide information about a tag component.
Specify Comment<specifier> := ”text”
Where the specifier is:
.bitnumber for a bit in the tag
[element] for an array element of the tag
.membername for a structure member of the tag
MotionGroup Enter the name of the associated motion group, or enter <NA>.
Specify MotionGroup := text
MotionModule Enter the name of the associated motion module, or enter <NA>.
Specify MotionModule := text
RotationalPosResolution Specify the number of counts per motor revolution (1...[232-1]).
Specify RotationalPosResolution := text
ConversionConstant Specify the number of feedback counts per position unit. Enter a real number from
1.0...1.0e9.
Specify ConversionConstant := value
OutputCamExecutionTargets Specify the number of output cam execution targets (any positive number).
Specify OutputCamExecutionTargets := text
AxisState Enter Axis-Ready, Direct Drive Control, Servo Control, Axis Faulted, or Axis Shutdown.
Specify AxisState := text
PositionUnits Specify user-defined engineering units (rather than feedback units).
Specify PositionUnits := text
AverageVelocityTimebase Specify the time in seconds for calculating the average velocity of the axis (any
positive number).
Specify AverageVelocityTimebase := value
RotaryAxis Specify the positioning mode for an axis. Enter Rotary or Linear.
Specify RotaryAxis := text
PositionUnwind For a rotary axis, specify the distance (in feedback counts) used to perform electronic
unwind (any positive number).
Specify PositionUnwind := value
HomeMode Specify the homing mode. Enter Passive, Active, or Absolute.
Specify HomeMode := text
HomeDirection For active homing sequences, except for the immediate sequence type, specify the desired
homing direction. Enter Uni-directional Forward, Bi-directional Forward, Uni-directional
Reverse, or Bi-directional Reverse.
Specify HomeDirection := text
HomeSequence Specify the event that will cause the home position to be set. Enter Immediate, Switch,
Marker, Switch-Marker, Torque Level, or Torque Level-Marker.
Specify HomeSequence := text
Attribute Description
HomeConfigurationBits Specify the home configuration bits. Enter a hexadecimal number.
Specify HomeConfigurationBits := 16#value
HomePosition Specify the desired absolute position, in positioning units, for the axis after the homing
sequence is complete (any positive number).
Specify HomePosition := value
HomeOffset Specify the desired offset (any positive number) in position units the axis is to move, upon
completion of the homing sequence, to reach the home position. In most cases, this value
will be zero.
Specify HomeOffset := value
HomeSpeed Specify the speed of the jog profile used in the first leg of the homing sequence (any
positive number). The homing speed should be less than the maximum speed and greater
than zero.
Specify HomeSpeed := value
HomeReturnSpeed Specify speed of the jog profile used in the return leg(s) of an active homing sequence (any
positive number). The return speed should be less than the maximum speed and greater
than zero.
Specify HomeReturnSpeed := value
MaximumSpeed Specify the maximum speed (any positive number).
Specify MaximumSpeed := value
MaximumAcceleration Specify the maximum acceleration rate of the axis in position units/second (any
positive number).
Specify MaximumAcceleration := value
MaximumDeceleration Specify the maximum deceleration rate of the axis in position units/second (any
positive number).
Specify MaximumDeceleration := value
ProgrammedStopMode Specify how a specific axis will stop when the controller changes mode or a motion group
stop (MGS) instruction is executed. Enter Fast Disable, Fast Stop, Fast Shutdown,
Hard Disable, or Hard Shutdown.
Specify ProgrammedStopMode := text
MasterInputConfigurationBits Specify the master input configuration bits. Enter a hexadecimal number.
Specify MasterInputConfiguration := 16#value
MasterPositionFilter Specify the bandwidth in Hertz of the master position filter.
Bandwidth Specify MasterPositionFilterBandwidth := value
AxisType Specify the intended use of the axis. Enter Servo or Feedback Only.
Specify AxisType := text
ServoLoopConfiguration Specify the configuration of the loop. Enter Custom, Position Servo, Aux Position Servo,
Dual Position Servo, Aux Command Servo, Dual Command Servo, Velocity Servo, or
Torque Servo.
Specify ServoLoopConfiguration := text
FaultConfigurationBits Specify the fault configuration bits. Enter a hexadecimal number.
Specify FaultConfigurationBits := 16#value
Attribute Description
AxisInfoSelect1 Specify an axis attribute to transmit, along with the actual position data, to the controller.
Enter <none>, Position Command, Position Feedback, Aux Position Feedback,
Position Error, Position Int. Error, Velocity Command, Velocity Feedback, Velocity Error,
Velocity Int. Error, Accel. Command, Accel. Feedback, Servo Output Level,
Marker Distance, Torque Command, Torque Feedback, Positive Dynamic Torque Limit,
Negative Dynamic Torque Limit, Motor Capacity, Drive Capacity, Power Capacity,
Bus Regulator Capacity, Motor Electrical Angle, Torque Limit Source, DC Bus Voltage,
Absolute Offset, Analog Input 1, or Analog Input 2.
Specify AxisInfoSelect1 := text
AxisInfoSelect2 Specify a second axis attribute to transmit, along with the actual position data, to the
controller. Enter <none>, Position Command, Position Feedback, Aux Position Feedback,
Position Error, Position Int. Error, Velocity Command, Velocity Feedback, Velocity Error,
Velocity Int. Error, Accel. Command, Accel. Feedback, Servo Output Level,
Marker Distance, Torque Command, Torque Feedback, Positive Dynamic Torque Limit,
Negative Dynamic Torque Limit, Motor Capacity, Drive Capacity, Power Capacity,
Bus Regulator Capacity, Motor Electrical Angle, Torque Limit Source, DC Bus Voltage,
Absolute Offset, Analog Input 1, or Analog Input 2.
Specify AxisInfoSelect2 := text
LDTTYpe Specify the LDT device type. Enter PWM, Start/Stop Rising, or Start/Stop Falling.
Specify LDTType := text
LDTRecirculations Only use this field if you specified PWM for LDTType. Specify the number of recirculations
that the transducer is configured for so the 1756-HYD02 module knows how the LDT is
configured.
Specify LDTRecirculations := value
LDTCalibrationConstant Specify the calibration constant (also called gradient on some LDTs). This number is
engraved on each LDT by the manufacturer. It specifies the characteristics of that
individual transducer.
Specify LDTCalibrationConstant := value
LDTCalibrationConstantUnits Specify the units of the calibration constant. Enter us/in or m/s.
Specify LDTCalibrationConstantUnits := text
LDTScaling Define the relationship between the unit of measurement of the transducer and the
system. This is necessary for calculating the conversion constant. The LDT length is used
with the number of recirculations to calculate the minimum servo update period.
Specify LDTScaling := value
LDTScalingUnits Specify the units of scaling. Enter us/in or m/s.
Specify LDTScalingUnits := text
LDTLength Specify the length of the LDT.
Specify LDTLength := value
LDTLengthUnits Specify the units of length. Enter us/in or m/s.
Specify LDTLengthUnits := text
SSICodeType Specify the encoding on the data sent from an SSI transducer. Enter Binary or Grey.
Specify SSICodeType := text
SSIDataLength Specify the data length (8...32 bits) of the SSI transducer. The default value is 13.
Specify SSIDataLength := text
SSIClockFrequency Specify the SSI clock frequency (in kHz). Valid values are 208 (default) or 650.
Specify SSIClockFrequency := value
AbsoluteFeedbackEnable Specify whether to enable absolute feedback. Enter 1 to enable absolute feedback.
Otherwise, enter 0. Absolute feedback is always enabled for LDT.
Specify AbsoluteFeedbackEnable := value
Attribute Description
AbsoluteFeedbackOffset Specify the absolute offset that is used to place the machine zero point at the desired
location relative to the zero point of the LDT.
Specify AbsoluteFeedbackOffset := value
ServoFeedbackType Specify the type of feedback device. Enter LDT (linear displacement transducer),
AQB (A quadrature B), or SSI (synchronous serial interface)
Specify ServoFeedbackType := text
ServoPolarityBits Specify the servo polarity bits. Enter a hexadecimal number.
Specify ServoPolarityBits := 16#value
VelocityFeedforwardGain Specify the velocity feedforward gain (any positive number).
Specify VelocityFeedforwardGain := value
AccelerationFeedforwardGain Specify the acceleration feedforward gain (any positive number).
Specify AccelerationFeedforwardGain := value
PositionProportionalGain Specify the position proportional gain (any positive number).
Specify ProportionalPositionGain := value
PositionIntegralGain Specify the position integral gain (any positive number).
Specify PositionIntegralGain := value
VelocityProportionalGain Specify the velocity proportional gain (any positive number).
Specify VelocityProportionalGain := value
VelocityIntegralGain Specify the velocity integral gain (any positive number).
Specify VelocityIntegralGain := value
VelocityScaling Specify the velocity scaling attribute that is used to convert the output of the servo loop
into equivalent voltage to an external velocity servo drive.
Specify VelocityScaling := value
TorqueScaling Specify the torque scaling attribute that is used to convert the acceleration of the servo
loop into equivalent % rated torque to the motor.
Specify TorqueScaling := value
OutputLPFilterBandwidth Specify the bandwidth in Hertz of the servo’s low-pass digital output filter.
Specify OutputLPFilterBandwidth := value
IntegratorHoldEnable Enter Disabled or Enabled.
Specify IntegratorHoldEnable := value
PositionDifferentialGain Specify a position differential gain (PosD) to help predict a large overshoot ahead of time
and make an attempt to correct before the overshoot actually occurs.
Specify PositionDifferentialGain := value
DirectionalScalingRatio Specify the ratio between the extend direction gain and the retract direction gain.
Specify DirectionalScalingRatio := value
MaximumPositiveTravel Specify the maximum positive position (any positive number) to be used for software
overtravel checking, in position units.
Specify MaximumPositiveTravel := value
MaximumNegativeTravel Specify the maximum negative position (any positive number) to be used for software
overtravel checking, in position units.
Specify MaximumNegativeTravel := value
PositionErrorTolerance Specify the how position error the servo module will tolerate (any positive number) before
issuing a position error fault.
Specify PositionErrorTolerance := value
PositionLockTolerance Specify the maximum position error the servo module will accept (any positive number) in
order to indicate that the position lock status bit is set.
Specify PositionLockTolerance := value
Attribute Description
OutputLimit Specify the maximum servo output voltage of a physical axis (any positive number).
Specify OutputLimit := value
DirectDriveRampRate Specify the rate at which the analog output changes from the current value to the
requested value when an MDO command is given (if ramp control is enabled). The ramp
rate is specified in Volts per second.
Specify DirectDriveRampRate := value
OutputOffset Specify a fixed voltage value (-10...10V) to add to the servo output value to correct
axis drift.
Specify OutputOffset := value
VelocityOffset Specify a dynamic velocity correction to the output of the position servo loop, in position
units/second (any positive number).
Specify VelocityOffset := value
TorqueOffset Specify a dynamic torque command correction to the output of the velocity servo loop as a
percentage of the velocity servo loop output (-100...100).
Specify TorqueOffset := value
FrictionCompensation Specify the percentage (0...100) of output level added to a positive current servo output
value, or subtracted from a negative current servo output value, for the purpose of moving
an axis that is stuck in place due to static friction.
Specify FrictionCompensation := value
FrictionCompensationWindow This window is defined as:
command position - window attribute to command position + window attribute
While the command velocity is zero and the actual position is within this window, the
friction compensation (or deadband compensation, for hydraulics) is applied proportionally
to the position error. While the command velocity is non-zero, the full friction
compensation is applied.
Specify FrictionCompensationWindow := value
BacklashStabilizationWindow The window controls the backlash stabilization feature in the servo control loop.
Mechanical backlash is a common problem in applications that utilize
mechanical gearboxes.
Specify BacklashStabilizationWindow := value
BacklashReversalOffset Specify the backlash reversal error to compensate for positional inaccuracy introduced by
mechanical backlash.
Specify BacklashReversalOffset := value
HardOvertravelFaultAction Specify the fault action taken when a hardware overtravel error occurs. Enter Shutdown,
Disable Drive, Stop Motion, or Status Only.
Specify HardOvertravelFaultAction := text
SoftOvertravelFaultAction Specify the fault action taken when a software overtravel error occurs. Enter Shutdown,
Disable Drive, Stop Motion, or Status Only.
Specify SoftOvertravelFaultAction := text
PositionErrorFaultAction Enter Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify PositionErrorFaultAction := text
FeedbackFaultAction Specify the fault action to be taken when a feedback loss condition is detected. Enter
Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify FeedbackFaultAction := text
FeedbackNoiseFaultAction Specify the fault action to be taken when excessive feedback noise is detected. Enter
Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify FeedbackNoiseFaultAction := text
Attribute Description
DriveFaultAction Specify the fault action to be taken when a drive fault condition is detected. Enter
Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify DriveFaultAction := text
TestIncrement Specify the amount of distance traversed by the axis when executing the output and
feedback test (any positive number).
Specify TestIncrement := value
TuningTravelLimit Specify the tuning travel limit in revolutions (any positive number).
Specify TuningTravelLimit := value
TuningSpeed Specify the tuning speed in revolutions per second (any positive number).
Specify TuningSpeed := value
TuningTorque Specify the tuning torque % rated (0...300).
Specify TuningTorque := value
DampingFactor Specify the damping factor (0.5...2).
Specify DampingFactor := value
DriveModelTimeConstant Specify the drive model time constant (1.0e-6f...1).
Specify DriveModelTimeConstant := value
PositionServoBandwidth Specify the maximum allowable value for position bandwidth (0.001F...1000), given the
damping factor. This parameter is disabled if the loop configuration is set to velocity.
Specify PositionServoBandwidth := value
VelocityServoBandwidth Specify the unity gain bandwidth that is to be used to calculate the subsequent gains for a
motion apply axis tuning (MAAT) instruction (0.001F...1000).
Specify VelocityServoBandwidth := value
TuningConfigurationBits Specify the tuning configuration bits. Enter a hexadecimal number.
Specify TuningConfigurationBits := 16#value
TorqueLimitSource Enter Not Limited, Negative Limit, Positive Limit, Bridge Limit, I(t) Limit, or Motor Limit.
Specify TorqueLimitSource := text
DriveUnit Specify the units of the drive. Enter us/in or m/s.
Specify DriveUnit := text
PositionDataScaling Specify the scaling method used on position values (0...255).
Specify PositionDataScaling := value
PositionDataScalingFactor Specify the scaling factor for all position data in a drive (1...65535).
Specify PositionDataScalingFactor := value
PositionDataScalingExp Specify the scaling exponent for all position data in a drive (-32768...32767).
Specify PositionDataScalingExp := value
VelocityDataScaling Specify the scaling method to use for all velocity values (0...127).
Specify VelocityDataScaling := value
VelocityDataScalingFactor Specify the scaling factor for all velocity data (1...65535).
Specify VelocityDataScalingFactor := value
VelocityDataScalingExp Specify the scaling exponent for all velocity data (-32768...32767).
Specify VelocityDataScalingExp := value
AccelerationDataScaling Specify the scaling method for all acceleration values (0...127).
Specify AccelerationDataScaling := value
AccelerationData Specify the scaling factor for all acceleration data (1...65535).
ScalingFactor Specify AccelerationDataScalingFactor := value
Attribute Description
AccelerationDataScalingExp Specify the scaling exponent for all acceleration data (-32768...32767).
Specify AccelerationDataScalingExp := value
TorqueDataScaling Specify the scaling method for all torque values (0...127).
Specify TorqueDataScaling := value
TorqueDataScalingFactor Specify the scaling factor for all torque values (1...65535).
Specify TorqueDataScalingFactor := value
TorqueDataScalingExp Specify the scaling exponent for all torque values (-32768...32767).
Specify TorqueDataScalingExp := value
DrivePolarity Specify the polarity of the servo loop of the drive. Enter Custom, Positive, or Negative.
Specify DrivePolarity := text
MotorFeedbackType Specify the type of motor associated with the selected motor (MotorCatalogNumber). If
you specify <NONE> for the motor, you must specify a feedback type.
Specify MotorFeedbackType := value
MotorFeedbackResolution Specify the resolution of the motor (1...2147483647).
Specify MotorFeedbackResolution := value
AuxFeedbackType Specify the type of auxiliary feedback device.
Specify AuxFeedbackType := value
AuxFeedbackResolution Specify the resolution of the auxiliary feedback device (1...2147483647).
Specify AuxFeedbackResolution := value
MotorFeedbackUnit Specify the units for motor feedback. Enter Rev, Inch, or Millimeter.
Specify MotorFeedbackUnit := text
AuxFeedbackUnit Specify the units for auxiliary feedback. Enter Rev, Inch, or Millimeter.
Specify AuxFeedbackUnit := text
OutputNotchFilterFrequency Specify the frequency of the drive’s digital notch filer (0...10,000.0).
Specify OutputNotchFilterFrequency := value
VelocityDroop Specify the velocity droop (any positive number).
Specify VelocityDroop := value
VelocityLimitBipolar Specify the velocity limit symmetrically in both directions (any positive number).
Specify VelocityLimitBipolar := value
AccelerationLimitBipolar Specify the acceleration and deceleration limits for the drive (any positive number).
Specify AccelerationLimitBipolar := value
TorqueLimitBipolar Specify the torque limit symmetrically in both directions (0...1000.0).
Specify TorqueLimitBipolar := value
VelocityLimitPositive Specify the maximum allowable velocity in the positive direction (any positive number).
Specify VelocityLimitPositive := value
VelocityLimitNegative Specify the maximum allowable velocity in the negative direction (any positive number).
Specify VelocityLimitNegative := value
VelocityThreshold Specify the velocity threshold limit (any positive number).
Specify VelocityThreshold := value
VelocityWindow Specify the limits of the velocity window (any positive number).
Specify VelocityWindow := value
VelocityStandstillWindow Specify the velocity limit for the standstill window (any positive number).
Specify VelocityStandstillWindow := value
AccelerationLimitPositive Specify the maximum acceleration ability of the drive (any positive number).
Specify AccelerationLimitPositive := value
Attribute Description
AccelerationLimitNegative Specify the maximum acceleration ability of the drive (any negative number).
Specify AccelerationLimitNegative := value
TorqueLimitPositive Specify the maximum torque in the positive direction (0...1000.0).
Specify TorqueLimitPositive := value
TorqueLimitNegative Specify the maximum torque in the negative direction (-1000.0...0).
Specify TorqueLimitNegative := value
TorqueThreshold Specify the torque threshold (0...1000.0).
Specify TorqueThreshold := value
DriveThermalFaultAction Specify the fault action to be taken when a drive thermal fault is detected. Enter
Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify DriveThermalFaultAction := text
MotorThermalFaultAction Specify the fault action to be taken when a motor thermal fault is detected. Enter
Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify MotorThermalFaultAction := text
DriveEnableInputFaultAction Specify the fault action to be taken when a drive enable input fault is detected. Enter
Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify MotorThermalFaultAction := text
StoppingTorque Specify the amount of torque available to stop the motor (0...1000).
Specify StoppingTorque := value
StoppingTimeLimit Specify the maximum amount of time that the drive amplifier will remain enabled while
trying to stop (0...6553.5).
Specify StoppingTimeLimit := value
BrakeEngageDelayTime Specify the amount of time that the drive maintains torque when the servo axis is disabled
and the drive decelerates to a minimum speed (0...6.5535).
Specify BrakeEngageDelayTime := value
BrakeReleaseDelayTime Specify amount of time that the drive ignores command values from the controller when
the servo axis is enabled and the drive activates the torque (0...6.5535).
Specify BrakeReleaseDelayTime := value
PowerSupplyID Specify the power supply ID (any positive number).
Specify PowerSupplyID := value
BusRegulatorID Specify the bus regulator ID (any positive number).
Specify BusRegulatorID := value
PWMFrequencySelect Specify Enter High Frequency or Low Frequency.
Specify PWMFrequencySelect := text
AmplifierCatalogNumber Specify the catalog number of the amplifier to which this axis is connected.
Specify AmplifierCatalogNumber := text
MotorCatalogNumber Specify the catalog number of the motor to which this axis is connected or enter <NONE>.
Specify MotorCatalogNumber := text
AuxFeedbackRatio Specify the auxiliary feedback ratio (any positive number).
Specify AuxFeedbackRatio := value
LoadInertiaRatio Specify the load inertia ratio (any positive number).
Specify LoadInertiaRatio := value
ContinuousTorqueLimit Specify the maximum torque limit (0...200).
Specify ContinuousTorqueLimit := value
ResistiveBrakeContactDelay Specify amount of time to delay resistive brake contact.
Specify ResistiveBrakeContactDelay := value
Attribute Description
ConfigurationProfile Specify the minimum set of attributes the drive can support.
Specify To
0 Rockwell classic (identifies past systems for backward compatibility)
1 packaging (identifies packaging applications)
Specify ConfigurationProfile := value
RegistrationInputs Specify the number of drive-resident (probe) inputs. You can have as many as two
registration inputs per axis.
Specify RegistrationInputs := value
RegistrationInputs Specify the number of drive-resident (probe) inputs. You can have as many as two
registration inputs per axis.
Specify RegistrationInputs := value
MaximumAccelerationJerk Specify the value motion instructions use to determine the acceleration jerk to apply to the
axis when acceleration jerk is specified as a percent of the maximum.
Specify MaximumAccelerationJerk := value
MaximumDecelerationJerk Specify the value motion instructions use to determine the deceleration jerk to apply to the
axis when deceleration jerk is specified as a percent of the maximum. This value is only
used by a S-curve profile.
Specify MaximumDecelerationJerk := value
DynamicsConfigurationBits Specify the S-curve profile.
Specify To
0 reduce S-curve stop delay
1 prevent S-curve velocity reversals
Specify DynamicsConfigurationBits := value
PhaseLossFaultAction Specify how the axis responds to a drive fault. The default is 1 (disable drive).
Specify To
0 shutdown
1 disable drive
2 stop command
3 status only
Specify PhaseLossFaultAction := value
HomeTorqueLevel Specify the torque limit when using one of the torque homing modes. Enter the percent
(0...TorqueLimitPositive) of continuous torque. The default is 0%.
Specify HomeTorqueLevel := value
InputPowerPhase Specify the power phase operation of a Kinetix 2000 drive. Enter 0 for three-phase power;
enter 1 for single-phase power.
Specify InputPowerPhase := number
Attribute Description
ActualPositionTolerance Specify the value in coordination units, for actual position to be used by coordinated
motion instructions when they have a termination type of actual tolerance.
Specify ActualPositionTolerance := value
CommandPositionTolerance Specify the value in coordination units, for command position to be used by coordinated
motion instructions when they have a termination type of command tolerance.
Specify CommandPositionTolerance := value
TransformDimension Specify the transform dimension.
Specify TransformDimension := value
JointRatioNumerator Specify numerator of the joint ratio.
Specify JointRatioNumerator := value
JointRatioDenominator Specify denominator of the joint ratio.
Specify JointRatioDenominator := value
LinkLength1 Specify the length of Robotic Arm 1.
Specify LinkLength1 := value
LinkLength2 Specify the length of Robotic Arm 2.
Specify LinkLength2 := value
ZeroAngleOffset1 Specify the rotational angular offset of joint axes 1 in degrees. This is used to shift the 0
degree position of the joint.
Specify ZeroAngleOffset1 := value
ZeroAngleOffset2 Specify the rotational angular offset of joint axes 2 in degrees. This is used to shift the 0
degree position of the joint.
Specify ZeroAngleOffset2 := value
ZeroAngleOffset3 Specify the rotational angular offset of joint axes 3 in degrees. This is used to shift the 0
degree position of the joint.
Specify ZeroAngleOffset3 := value
BaseOffset1 Specify the difference for the first axis between the origin of the robot at the first joint of
the robotic arm (as determined by RSLogix 5000 Kinematics internal equations) and the
origin defined by the robot manufacturer.
Specify BaseOffset1 := value
BaseOffset2 Specify the difference for the second axis between the origin of the robot at the first joint
of the robotic arm (as determined by RSLogix 5000 Kinematics internal equations) and the
origin defined by the robot manufacturer.
Specify BaseOffset2 := value
BaseOffset3 Specify the difference for the third axis between the origin of the robot at the first joint of
the robotic arm (as determined by RSLogix 5000 Kinematics internal equations) and the
origin defined by the robot manufacturer.
Specify BaseOffset3 := value
EndEffectorOffset1 Specify the end effector offset value, which is the distance between the end of the robot
arm L2 and the end of the end effector in the x1 dimension.
Specify EndEffectorOffset1 := value
EndEffectorOffset2 Specify the end effector offset value, which is the distance between the end of the robot
arm L2 and the end of the end effector in the x2 dimension.
Specify EndEffectorOffset2 := value
EndEffectorOffset3 Specify the end effector offset value, which is the distance between the end of the robot
arm L2 and the end of the end effector in the x3 dimension.
Specify EndEffectorOffset3 := value
Attribute Description
Channel For a DH+ or block transfer message, specify the channel. Enter either A or B.
Specify Channel := value
SourceLink If the communication method uses DH+, specify the source link (0...199).
Specify DHPlusSourceLink := value
DestinationLink If the communication method uses DH+, specify the destination link (0...199).
Specify DHPlusDestinationLink := value
DestinationNode If the communication method uses DH+, specify the destination node number (0...77 octal).
Specify DHPlusDestinationNode := value
Rack For a DH+ or block transfer message, enter the rack number (0...77 octal) of the
target device.
Specify Rack := value
Group For a DH+ or block transfer message, enter the group number (0...7) of the target device.
Specify Group := value
Slot For a DH+ or block transfer message, enter the slot number (0...15) of the target device.
Specify Slot := value
LocalIndex Specify the index into the local element, typically 0.
Specify LocalIndex := value
RemoteIndex Specify the index into the remote element, typically 0.
Specify RemoteIndex := value
LocalElement Specify the tag name of the element in the local controller. This is the destination element
of a read instruction or the source element of a write instruction.
Specify LocalElement := text
DestinationTag Specify the tag name of the destination element.
Specify DestinationTag := text
CacheConnections If the message is to cache connections, enter TRUE. If the message is not to cache
connections, enter FALSE.
Specify CacheConnections := text
Attribute Description
PhaseShift Specify the phase shift (0...65,535).
Specify PhaseShift := value
GeneralFaultType Specify whether an error generates a major fault or a non-major fault. Enter Major Fault or
Non Major Fault.
Specify GeneralFaultType := text
AutoTagUpdate Enter Disabled or Enabled.
Specify AutoTagUpdate := text
Specify Attributes for a A safety produced or safety consumed tag (Class = Safety) has these attributes,
in addition to the attributes for a standard tag.
SAFETY Tag
Attribute Description
IncludeConnectionStatus Specify the connection status of the tag. Must be set to Yes for safety produced or
consumed tags. Enter Yes or No.
This attribute applies to both safety produced and safety consumed tags.
Specify IncludeConnectionStatus := text
TimeoutMultiplier Specify the timeout multiplier (default = 2) for a safety controller system. This value
determines the RPIs of time to wait for a packet before declaring a time out. This
translates into the number of messages that may be lost before declaring a connection
error. A Timeout Multiplier of 1 indicates that no messages may be lost; that is, there must
be a packet every RPI interval. A Timeout Multiplier of 2 indicates that 1 message may be
lost; that is, as long as a packet is seen in 2 times the RPI, no time-out will occur. Enter a
number from 1...4, inclusive.
This attribute applies only to safety consumed tags.
Specify TimeoutMultiplier := number
NetworkDelay Specify the network delay multiplier (default = 100%) for a safety controller system. This
Multiplier value lets you reduce or increase the connection reaction time limit in cases where the
transport time of the message is significantly less or more than the RPI. This may be the
case when the RPI of an output connection is the same as that of a lengthy task period.
Enter a percentage from 10...300, inclusive.
This attribute applies only to safety consumed tags.
Specify NetworkDelayMultiplier := number
ReactionTimeLimit Specify the connection reaction time limit for a safety controller system. RSLogix 5000
software calculates the connection reaction time limit as a function of the RPI, timeout
multiplier, and network delay multiplier. The connection reaction time limit is
automatically recalculated if any of the above values change.
This attribute applies only to safety consumed tags.
Specify ReactionTimeLimit := number
Define TAG Initial Values The initial_value format follows the C-language initialization syntax,
except that you use square brackets instead of curly brackets. The following
table shows some examples of entering initial values.
The initial value for a string value identifies the number of characters in the
string and the text string. The string TAG uses this format.
Where:
Item Identifies
tag_name Name of the string tag.
STRING The STRING data type.
number Number of characters in the string.
string_text Text of the string.
$00 The string is padded with $00 to fill its maximum of
82 characters.
Each $00 equals one character not used in the string.
The entire text string, including the $00 characters, is
enclosed in single quotation marks.
For example:
TAG
sourcea_string : STRING :=
[5,'hello$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00
$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00
$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00'
];
sourceb_string : STRING := [11,'how are
you$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00
$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00
$00$00$00$00$00$00$00$00$00$00'
];
END_TAG
Define a Comment for a TAG The comment attribute of a tag declaration lets you provide information about
a component of the tag, such as a specific bit, array element, or structure
Component member.
• Tags must be defined after devices (if there are no devices, then after the
data types) within the controller body.
• Base tags and aliases can be defined out of order within a tag block.
• The initial values must comply with the tag type and dimensions.
TAG
dint_a : DINT (RADIX := Decimal) := 0;
int_a : INT (RADIX := Decimal) := 0;
tag_a : UDT_A (ProduceCount := 2) := [0,0],
TagForceData := [0,0,0,0,1,0,-1,-1,1,0,-72,34];
END_TAG
Safety TAG Examples This example shows a consumed tag in a safety project.
LLLimit := 0.0,
LLSeverity := 500,
MinDurationPRE := 0,
Deadband := 0.0,
ROCPosLimit := 0.0,
ROCPosSeverity := 500,
ROCNegLimit := 0.0,
ROCNegSeverity := 500,
ROCPeriod := 0.0,
AssocTag1 := "PlantNumber",
AssocTag2 := "ShiftNumber",
AssocTag3 := "BatchNumber",
AssocTag4 := "LotNumber",
AlarmClass := "tank2",
HMICmd := "ft command");
Introduction This chapter explains the overall structure of the PROGRAM component.
Topic Page
Define a PROGRAM 95
Specify PROGRAM Attributes 96
Specify PROGRAM Attributes for EquipmentPhase Programs 97
PROGRAM Guidelines 97
PROGRAM Example 98
EquipmentPhase PROGRAM Example 98
Safety PROGRAM Example 99
Export a Source Protected Routine 99
Where:
Item Identifies
program_name The program.
Attributes Attributes of the program (such as MAIN or FAULT).
Can also contain a description of the program.
Enclose in parenthesis.
Separate each attribute with a comma (,).
TAG Program-scoped tags.
Follows same format as controller-scoped tags.
ROUTINE Ladder logic routine for this program.
Item Identifies
FBD_ROUTINE Function block diagram routine for this program.
ST_ROUTINE Structured text routine for this program.
SFC_ROUTINE Sequential function chart routine for this program.
• The TAG declaration block must occur before the routine block.
PROGRAM Example PROGRAM Prg1 (Main := RoutineB, Description := "I $'am$'" "
$0034 a $"program$"")
TAG
st11 : DINT (RADIX := Decimal, ProduceCount := 0) := 2;
st12 : BOOL (RADIX := Binary, ProduceCount := 0) :=
2#00000000;
END_TAG
ROUTINE RoutineA
JSR(_2_LADDER, 0);
END_ROUTINE
ROUTINE RoutineB
RC: "$L ** ;MORE $";STUFF" do not include "more";
xic(st11) ote(st12);
END_ROUTINE
END_PROGRAM
[TAG declaraions]
[ROUTINE declaraions]
[SFC_ROUTINE declaraions]
END_PROGRAM
ROUTINE MainRoutine
N: XIC(Safety1.4)OTE(aliasToSafety.5);
N:
LC(sourceTag,AUTOMATIC,in.0,in.1,10,in.2,in.3,in.4);
END_ROUTINE
END_PROGRAM
Export a Source Protected If the project contains a source-protected routine and the key is not available
when you export the project, the routine appears within an
Routine ENCODED_DATA component.
Where:
Item Identifies
EncodedType The type of source-protected logic.
name The name of the routine.
Attributes Other attributes of the routine that are not controlled via
source protection.
Introduction This chapter explains the how to enter ladder diagram logic in a complete
import/export file.
Topic Page
Enter a Ladder Logic Routine 101
Enter Rung Logic 102
Enter Rung Comments 104
Enter Neutral Text for Ladder Instructions 104
Where:
Item Identifies
routine_name The routine.
Attributes Attributes of the routine.
Can also contain a description of the routine.
Separate each attribute with a comma (,).
ladder rungs Ladder logic.
Attribute Description
Description Provide information about the routine.
Specify Description := ”text”
Enter Rung Logic Enter rung logic within a ROUTINE component in an import/export file.
Each rung follows this structure.
<RungType> : <RungNeutralText>;
Where:
Item Identifies
RungType The rung.
RungNeutralText The logic.
Item Identifies
N Normal
I Insert
D Delete
IR Insert with a replace
rR Pending replace IR
R Replace
rI Pending replace I
rN Pending replace N
e Pending insert rung
er Pending replace rung
Rung Guidelines
• Rungs are specified using neutral language. See the rest of this chapter
for the neutral text language format for the supported instructions.
ROUTINE Ladder_example
RC: "This is a rung comment for the first rung.";
N: XIC(input1)XIC(input2)OTE(output1)OTE(output2);
RC: "This is a rung comment for the second rung.";
N: XIC(input3)OTE(output3);
END_ROUTINE
Enter Branches Enter a single branch or simultaneous branches on a rung. A branch follows
this structure.
[,BranchNeutralText]
Where:
Item Identifies
[ ] The branch.
, The beginning of each branch within the branch, to
account for simultaneous branches.
space The end of each branch within the branch, to account for
simultaneous branches.
BranchNeutralText The logic.
Enter Rung Comments The comments for rungs use this syntax.
Enter Neutral Text for The following tables lists each ladder instruction and its neutral text format.
For details about a specific instruction, see one of these manuals.
Ladder Instructions
Instruction Type Resource
Basic, sequential Logix5000 Controllers General Instructions Set Reference Manual, publication 1756-RM003
instruction
Process control or drives Logix5000 Controllers Process Control and Drives Instruction Set Reference Manual, publication 1756-RM006
instruction
Motion instruction Logix5000 Controllers Motion Instructions Set Reference Manual, publication 1756-RM007
CPT CPT(destination,expression);
CTD CTD(counter,preset,accum);
CTU CTU(counter,preset,accum);
DDT DDT(source,reference,result,cmp_control,length,position,result_control,
length,position);
DEG DEG(source,destination);
DELETE DELETE(source,quantity,start,destination);
DIN DIN(din_tag,reset_type,channel_A,channel_B,circuit_reset,fault_reset);
DIV DIV(source_A,source_B,destination);
DTOS DTOS(source,destination);
DTR DTR(source,mask,reference);
ENPEN ENPEN(enpen_tag,reset_type,channel_A,channel_B,circuit_reset,fault_reset);
EOT EOT(data_bit);
EQU EQU(source_A,source_B);
ESTOP ESTOP(estop_tag,reset_type,channel_A,channel_B,circuit_reset,fault_reset);
EVENT EVENT(task);
FAL FAL(control,length,position,mode,destination,expression);
FBC FBC(source,reference,result,cmp_control,length,position,result_control,
length,position);
Introduction This chapter explains the how to enter function block diagram logic in a
complete import/export file.
Topic Page
Enter a Function Block Diagram Routine 111
Enter Function Block Diagram Logic 112
Enter IREFs and OREFs 117
Enter ICONs and OCONs 119
Enter Wires and Feedback Wires 120
Enter Blocks 121
Enter Text Boxes 123
Enter Attachments 124
Enter Parameters for Function Block Instructions 125
Where:
Item Identifies
routine_name The routine.
Attributes Attributes of the function block routine (such as sheet
Size or sheet orientation).
Can also contain a description of the routine.
Separate each attribute with a comma (,).
function block sheets Enter function block logic in sheets.
Attribute Description
Description Provide information about the routine.
Specify Description := ”text”
SheetSize Select one of these sizes.
• Letter (8.5x11in)
• Legal (8.5x14in)
• Tabloid (11x17.in)
• A4 (210x297mm)
• A3 (297x420mm)
Specify SheetSize := size
SheetOrientation Select the orientation of the sheet as Portrait or
Landscape.
Specify SheetOrientation := type
Enter Function Block Enter function block diagram logic in sheets within a FBD_ROUTINE
component in an import/export file.
Diagram Logic
(* sheet <sheet_number> *)
SHEET (Name := <sheet_name>)
<IREF_component>
<ICON_component>
<mnemonic_BLOCK_componment>
<OREF_component>
<OCON_component>
<WIRE_component>
<FEEDBACK_WIRE_component>
END_SHEET
Where:
Item Identifies
Name The name of the sheet.
Specify Name := ”text”
IREF Input references.
ICON Input wire connectors.
mnemonic_BLOCK Function block instructions and their locations.
OREF Output references.
OCON Output wire connectors.
WIRE Wires and what they are attached to.
FEEDBACK_WIRE Feedback wires and what they are attached to.
SHEET Guidelines
• The sheets in the routine appear in order in the export file. Each sheet
section contains all the drawing elements and wires for that sheet.
FBD_ROUTINE Example
SCL_BLOCK (ID := 1,
X := 240,
Y := 60,
Operand := SCL_01,
VisiblePins := "In, InEUMax, Out, MaxAlarm")
END_SCL_BLOCK
PI_BLOCK (ID := 2,
X := 260,
Y := 260,
Operand := PI_01,
VisiblePins := "In, Initialize, InitialValue, Out, HighAlarm,
LowAlarm")
END_PI_BLOCK
IREF (ID := 3,
X := 120,
Y := 120,
Operand := Input_Tag)
END_IREF
ICON (ID := 4,
X := 160,
Y := 320,
Name := ConnectorName)
END_ICON
OREF (ID := 5,
X := 520,
Y := 320,
Operand := Output_Tag)
END_OREF
OCON (ID := 6,
X := 680,
Y := 100,
Name := ConnectorName)
END_OCON
FEEDBACK_WIRE (FromElementID := 0,
FromParameter := Dest,
ToElementID := 0,
ToParameter := SourceB)
END_FEEDBACK_WIRE
WIRE (FromElementID := 3,
FromParameter := "",
ToElementID := 1,
ToParameter := In)
END_WIRE
WIRE (FromElementID := 4,
FromParameter := "",
ToElementID := 2,
ToParameter := In)
END_WIRE
WIRE (FromElementID := 0,
FromParameter := Dest,
ToElementID := 6,
ToParameter := "")
END_WIRE
WIRE (FromElementID := 1,
FromParameter := Out,
ToElementID := 0,
ToParameter := SourceA)
END_WIRE
WIRE (FromElementID := 2,
FromParameter := Out,
ToElementID := 5,
ToParameter := "")
END_WIRE
END_SHEET
END_FBD_ROUTINE
Export Function Block If you export function block logic that contains online edits, the export file
exports LOGIC blocks to indicate the original, test edits, and pending edits
Logic While Editing Online states. If there are no online edits, you will not see these LOGIC blocks.
Where:
Item Identifies
Online_Edit_Type Whether online edits exist when the logic is exported. If online edits exist, there will be a
LOGIC block for Online_Edit_Type := Orig and then the appropriate LOGIC block for the
existing edits. Online_Edit_Type : = Pend indicates pending edits.
Online_Edit_Type := Test indicates test edits.
If there are no online edits when the logic is exported, there are no LOGIC blocks and the
main components in the routine are SHEET components.
Enter IREFs and OREFs Input and output references have similar formats and identical attributes.
IREF (
ID := <unique_identifier>
X := <internal_grid_x_location>,
Y := <internal_grid_y_location>,
Operand := <tag_reference>)
END_IREF
OREF (
ID := <unique_identifier>
X := <internal_grid_x_location>,
Y := <internal_grid_y_location>,
Operand := <tag_reference>)
END_OREF
Where:
Item Identifies
ID The IREF or OREF identifier; uniqueness is important for
wiring.
Enter an unsigned, 32-bit integer value.
Specify ID := ”number”
X X-coordinates on internal grid.
Enter an unsigned, 32-bit integer value.
Specify X := ”number”
Y Y-coordinates on internal grid.
Enter an unsigned, 32-bit integer value.
Specify Y := ”number”
Operand The reference (optional).
Enter a tag or literal value for IREF; enter tag for OREF.
Specify Operand := ”tag”
• The X and Y grid locations are a relative position from the upper-left
corner of the sheet. X is the horizontal position; Y is the vertical
position.
IREF (ID := 8,
X := 200,
Y := 380,
Operand := PMUL_InitVal)
END_IREF
OREF (ID := 9,
X := 480,
Y := 340,
Operand := FB_PMUL)
END_OREF
Enter ICONs and OCONs Input and output wire connectors have similar formats and identical attributes.
Where:
Item Identifies
ID The ICON or OCON identifier; uniqueness is important for
wiring.
Enter an unsigned, 32-bit integer value.
Specify ID := ”number”
X X-coordinates on internal grid.
Enter an unsigned, 32-bit integer value.
Specify X := ”number”
Y Y-coordinates on internal grid.
Enter an unsigned, 32-bit integer value.
Specify Y := ”number”
Name The name of the wire connector (optional).
Specify Name := ”number”
• The X and Y grid locations are a relative position from the upper-left
corner of the sheet. X is the horizontal position; Y is the vertical
position.
ICON (ID := 1,
X := 140,
Y := 300,
Name := MyConnector)
END_ICON
OCON (ID := 4,
X := 460,
Y := 140,
Name := MyConnector)
END_OCON
Enter Wires and Feedback The wire and feedback wire formats describe a wire by specifying what it is
attached to at each end, which is always a pin on another drawing element.
Wires Wires and feedback wires follow this format:
WIRE
FromElementID := <indentifier_of_from_element>,
FromParameter := <name_of_output_pin>,
ToElementID := <indentifier_of_to_element>,
ToParameter := <name_of_input_pin>
END_WIRE
Where:
Item Identifies
FromElementID The source drawing element.
Enter an unsigned, 32-bit integer.
Specify FromElementID := ”number”
FromParameter The pin on the source drawing element.
For Enter
Blocks Parameter name
IREFs In
ICONs In
Specify FromParameter := ”pin”
ToElementID The destination drawing element.
Enter an unsigned, 32-bit integer.
Specify ToElementID := ”number”
ToParameter The pin on the destination drawing element.
For Enter
Blocks Parameter name
OREFs Out
OCONs Out
Specify ToParameter := ”pin”
WIRE Guidelines
• A feedback wire follows the same format as a wire. Just connect the
source and destination elements to form a feedback.
WIRE Example
mnemonic_BLOCK (
ID := <unique_identifier>
X := <internal_grid_x_location>,
Y := <internal_grid_y_location>,
Operand := <block_tag_reference>,
<Array_Name>Operand := <array_tag_reference>,
VisiblePins := “<parameter_name>, …”)
END_mnemonic_BLOCK
Where:
Item Identifies
ID The block identifier; uniqueness is important for wiring.
Enter an unsigned, 32-bit integer value.
Specify ID := ”number”
X X-coordinates on internal grid.
Enter an unsigned, 32-bit integer value.
Specify X := ”number”
Y Y-coordinates on internal grid.
Enter an unsigned, 32-bit integer value.
Specify Y := ”number”
Item Identifies
Operand Tag name for the block (optional).
Specify Operand := ”tag_name”
ArrayName Tag name for array (optional).
Specify ArrayName := ”array_name”
VisiblePins Comma-separated list of the names of all the parameters
with pins visible for wiring. The names match the
member names of the data type of the block tag.
Specify VisiblePins := ”parameter”
BLOCK Guidelines
• If the Operand is not a qualified tag of the correct data type, the block
will not be verified.
• Some function block instructions require specific arrays. This table lists
the valid Array Name for each of these instructions.
• The X and Y grid locations are relatives position from the upper-left
corner of the sheet. X is the horizontal position; Y is the vertical
position.
Enter Text Boxes The text box blocks hold descriptions about function block components. Text
boxes follow this format.
TEXT_BOX (
ID := <unique_identifier>,
X := <internal_grid_x_location>,
Y := <internal_grid_y_location>,
Width := <numerical_value>
Text := <“text”>)
END_TEXT_BOX
Where:
Item Identifies
ID The text box identifier. This ID uniquely identifies this
text box from all other blocks. Enter an unsigned, 32-bit
integer value.
Specify ID := number
X X-coordinate on internal grid. Enter an unsigned, 32-bit
integer value.
Specify X := number
Y Y-coordinate on internal grid. Enter an unsigned, 32-bit
integer value.
Specify Y := number
Width This attribute is not currently used; it is there for future
use. Enter 0.
Specify Width := 0
Text The descriptive text.
Specify Text := text
TEXT_BOX Guidelines
• All TEXT_BOX blocks in function block routines must come after all
BLOCK sections.
TEXT_BOX Example
TEXT_BOX (ID := 7, X := 40, Y := 80, Width := 0,
Text := "Group these blocks together")
END_TEXT_BOX
Enter Attachments The attachment blocks identify the attachments from text boxes to other
function block elements. Attachments follow this format.
ATTACHMENT (
FromElementID := <unique_identifier>,
ToElementID := <unique_identifier>,
END_ATTACHMENT
Where:
Item Identifies
FromElementID The ID of the attached object. Enter an unsigned, 32-bit
integer value.
Specify FromElementID := number
ToElementID The ID of the object that the FromID object is attached to.
Enter an unsigned, 32-bit integer value.
Specify ToElementID := number
ATTACHMENT Guidelines
ATTACHMENT Example
Enter Parameters for The following tables lists each function block instruction and its format in the
Block component of an import/export file. For details about a specific
Function Block Instructions instruction, see one of these manuals.
Instruction Default Operand and VisiblePins formats (components within the Block structure)
ABS Operand := ABS_01,
VisiblePins := “Source, Destination”)
ACS Operand := ACS_01,
VisiblePins := “Source, Destination”)
ADD Operand := ADD_01,
VisiblePins := “SourceA, SourceB, Destination”)
ALM Operand := ALM_01,
VisiblePins := “In, HHAlarm, HAlarm, LAlarm, LLAlarm, ROCPosAlarm,
ROCNegAlarm”)
ALMA Operand := ALMA_01,
VisiblePins := “In, HHInAlarm, HInAlarm, LInAlarm, LLInAlarm,
ROCPosInAlarm, ROCNegInAlarm, HHAcked, HAcked, LAcked, LLAcked,
ROCPosAcked, ROCNegAcked, Suppressed, Disabled”)
ALMD Operand := ALMD_01,
VisiblePins := “In, InAlarm, Acked, Suppressed, Disabled”)
AND Operand := AND_01,
VisiblePins := “SourceA, SourceB, Destination”)
ASN Operand := ASN_01,
VisiblePins := “Source, Destination”)
ATN Operand := ATN_01,
VisiblePins := “Source, Destination”)
BAND Operand := BAND_01,
VisiblePins := “In1, In2, In3, In4, Out”)
BNOT Operand := BNOT_01,
VisiblePins := “In, Out”)
BOR Operand := BOR_01,
VisiblePins := “In1, In2, In3, In4, Out”)
BTDT Operand := BTDT_01,
VisiblePins := “Source, SourceBit, Length, DestBit, Target, Dest”)
Instruction Default Operand and VisiblePins formats (components within the Block structure)
BXOR Operand := BXOR_01,
VisiblePins := “In1, In2, Out”)
COS Operand := COS_01,
VisiblePins := “Source, Dest”)
CTUD Operand := CTUD_01,
VisiblePins := “CUEnable, CDEnable, PRE, Reset, ACC, DN”)
D2SD Operand := D2SD_01,
VisiblePins := “ProgCommand, State0Perm, State1Perm, FB0, FB1, HandFB,
ProgProgReq, ProgOperReq, ProgOverrideReq, ProgHandReq, Out, Device0State,
Device1State, CommandStatus, FaultAlarm, ModeAlarm, ProgOper, Override,
Hand”)
D3SD Operand := D3SD_01,
VisiblePins := “Prog0Command, Prog1Command, Prog2Command, State0Perm,
State1Perm, State2Perm, FB0, FB1, FB2, FB3, HandFB0, HandFB1, HandFB2,
ProgProgReq, ProgOperReq, ProgOverrideReq, ProgHandReq, Out0, Out1, Out2,
Device0State, Device1State, Device2State, Command0Status, Command1Status,
Command2Status, FaultAlarm, ModeAlarm, ProgOper, Override, Hand”)
DEDT Operand := DEDT_01,
VisiblePins := “In, Out”,
Storage := array_name)
DEG Operand := DEG_01,
VisiblePins := “Source, Dest”)
DERV Operand := DERV_01,
VisiblePins := “In, ByPass, Out”)
DFF Operand := DFF_01,
VisiblePins := “D, Clear, Clock, Q, QNot”)
DIV Operand := DIV_01,
VisiblePins := “SourceA, SourceB, Dest”)
ESEL Operand := ESEL_01,
VisiblePins := “In1, In2, In3, In4, In5, In6, ProgSelector, ProgProgReq,
ProgOperReq, ProgOverrideReq, Out, SelectedIn, ProgOper, Override”)
EQU Operand := EQU_01,
VisiblePins := “SourceA, SourceB”)
FGEN Operand := FGEN_01,
VisiblePins := “In, Out”,
X1 := array_name,
X2 := array_name,
Y2 := array_name,
Y2 := array_name)
FRD Operand := FRD_01,
VisiblePins := “Source, Dest”)
Instruction Default Operand and VisiblePins formats (components within the Block structure)
GEQ Operand := GEQ_01,
VisiblePins := “SourceA, SourceB”)
GRT Operand := GRT_01,
VisiblePins := “SourceA, SourceB”)
HLL Operand := HLL_01,
VisiblePins := “In, Out, HighAlarm, LowAlarm”)
HPF Operand := HPF_01,
VisiblePins := “In, Out”)
INTG Operand := INTG_01,
VisiblePins := “In, Out”)
JKFF Operand := JKFF_01,
VisiblePins := “Clear, Clock, Q, QNot”)
LEQ Operand := LEQ_01,
VisiblePins := “SourceA, SourceB”)
LES Operand := LES_01,
VisiblePins := “SourceA, SourceB”)
LIM Operand := LIM_01,
VisiblePins := “LowLlimit, Test, HighLimit”)
LN Operand := LN_01,
VisiblePins := “Source, Dest”)
LOG Operand := LOG_01,
VisiblePins := “Source, Dest”)
LPF Operand := LPF_01,
VisiblePins := “In, Out”)
MAVE Operand := MAVE_01,
VisiblePins := “In, Out”,
Storage := array_name,
Weight := array_name)
MAXC Operand := MAXC_01,
VisiblePins := “In, Reset, ResetValue, Out”)
MEQ Operand := MEQ_01,
VisiblePins := “Source, Mask, Compare”)
MINC Operand := MINC_01,
VisiblePins := “In, Reset, ResetValue, Out”)
MOD Operand := MOD_01,
VisiblePins := “SourceA, SourceB, Dest”)
MSTD Operand := MSTD_01,
VisiblePins := “In, SampleEnable, Out”,
Storage := array_name)
Instruction Default Operand and VisiblePins formats (components within the Block structure)
MUL Operand := MUL_01,
VisiblePins := “SourceA, SourceB, Dest”)
MUX Operand := MUX_01,
VisiblePins := “In1, In2, In3, In4, In5, In6, In7, In8, Selector, Out”)
MVMT Operand := MVMT_01,
VisiblePins := “Source, Mask, Target, Dest”)
NEG Operand := NEG_01,
VisiblePins := “Source, Dest”)
NEQ Operand := NEQ_01,
VisiblePins := “SourceA, SourceB”)
NOT Operand := NOT_01,
VisiblePins := “Source, Dest”)
NTCH Operand := NTCH_01,
VisiblePins := “In, Out”)
OR Operand := OR_01,
VisiblePins := “SourceA, SourceB, Dest”)
OSFI Operand := OSFI_01,
VisiblePins := “InputBit, OutputBit”)
OSRI Operand := OSRI_01,
VisiblePins := “InputBit, OutputBit”)
PI Operand := PI_01,
VisiblePins := “In, Out”)
PIDE Operand := PIDE_01,
VisiblePins := “PV, SPProg, SPCascade, RatioProg, CVProg, FF, HandFB,
ProgProgReq, ProgOperReq, ProgCasRatReq, ProgAutoReq, ProgManuaReq,
ProgOverrideReq, ProgHandReq, CVEU, SP, PVHHAlarm, PVHAlarm, PVLAlarm,
PVLLAlarm, PVROCPosAlarm, PVROCNegAlarm, DevHHAlarm, DevHAlarm, DevLAlarm,
DevLLAlarm, ProgOper, CasRat, Auto, Manual, Override, Hand”)
PMUL Operand := PMUL_01,
VisiblePins := “In, Multipler, Out”)
POSP Operand := POSP_01,
VisiblePins := “SP, Position, OpenedFB, ClosedFB, OpenOut, CloseOut”)
RAD Operand := RAD_01,
VisiblePins := “Source, Dest”)
RESD Operand := RESD_01,
VisiblePins := “Set, Reset, Out, OutNot”)
RLIM Operand := RLIM_01,
VisiblePins := “In, ByPass, Out”)
Instruction Default Operand and VisiblePins formats (components within the Block structure)
RMPS Operand := RMPS_01,
VisiblePins := “PV, CurrentSegProg, OutProg, SoakTimeProg, ProgProgReq,
ProgOperReq, ProgAutoReq, ProgManualReq, ProgHoldReq, Out, CurrentSeg,
SoakTimeLeft, GuarRampOn, GuarSoakOn, ProgOper, Auto, Manual, Hold”,
RampValue := array_name,
SoakValue := array_name,
SoakTime := array_name)
RTOR Operand := RTOR_01,
VisiblePins := TimerEnable, PRE, Reset, ACC, DN”)
SCL Operand := SCL_01,
VisiblePins := “In, Out”)
SCRV Operand := SCRV_01,
VisiblePins := “In, Out”)
SEL Operand := SEL_01,
VisiblePins := “In1, In2, SelectorIn, Out”)
SETD Operand := SETD_01,
VisiblePins := “Set, Reset, Out, OutNot”)
SIN Operand := SIN_01,
VisiblePins := SIN(source,destination);
SNEG Operand := SNEG_01,
VisiblePins := “In, NegateEnable, Out”)
SOC Operand := SOC_01,
VisiblePins := “In, Out”)
SQR Operand := SQR_01,
VisiblePins := “Source, Dest”)
SRTP Operand := SRTP_01,
VisiblePins := “In, HeatOut, CoolOut, HeatTimePercent, CoolTimePercent”)
SSUM Operand := SSUM_01,
VisiblePins := “In1, Select1, In2, Select2, In3, Select3, In4, Select4,
Out”)
SUB Operand := SUB_01,
VisiblePins := “SourceA, SourceB, Dest”)
TAN Operand := TAN_01,
VisiblePins := “Source, Dest”)
TOD Operand := TOD_01,
VisiblePins := “Source, Dest”)
TOFR Operand := TOFR_01,
VisiblePins := “TimerEnable, PRE, Reset, ACC, DN”)
TONR Operand := TONR_01,
VisiblePins := “TimerEnable, PRE, Reset, ACC, DN”)
Instruction Default Operand and VisiblePins formats (components within the Block structure)
TOT Operand := TOT_01,
VisiblePins := “In, ProgProgReq, ProgOperReq, ProgStartReq, ProgStopReq,
ProgResetReq, Total, OldTotal, ProgOper, RunStop, ProgResetDone,
TargetFlag, TargetDev1Flag, TargetDev2Flag”)
TRN Operand := TRN_01,
VisiblePins := “Source, Dest”)
UPDN Operand := UPDN_01,
VisiblePins := “InPlus, InMinus, Out”)
XOR Operand := XOR_01,
VisiblePins := “SourceA, SourceB, Dest”)
XPY Operand := XPY_01,
VisiblePins := “SourceA, SourceB, Dest”)
Introduction This chapter explains how to enter sequential function chart logic in a
complete import/export file.
Topic Page
Enter a Sequential Function Chart Routine 131
Export Sequential Function Chart Logic While Editing Online 139
Enter Steps 141
Enter Transitions 145
Enter Subroutine Calls 147
Enter Stops 148
Enter Branches 149
Enter Directed Links 151
Enter Text Boxes 152
Enter Attachments 153
For more information on creating SFCs and correct syntax, see the Logix5000
Controller Common Procedures Programming Manual, publication
1756-PM001.
Enter a Sequential Function Enter sequential function chart logic in an SFC_ROUTINE component in an
import/export file. Each routine follows this structure.
Chart Routine
SFC_ROUTINE <routine_name> [Attributes]
<STEP_component>
<TRANSITION_componment>
<SBR_RET_component>
<STOP_component>
<BRANCH_component>
<DIRECTED_LINK_component>
<TEXT_BOX_component)
<ATTACHMENT_component>
END_SFC_ROUTINE
Where:
Item Identifies
routine_name The name of the SFC routine.
Attributes Attributes of the SFC routine.
STEP_component SFC step block, contains actions.
TRANSITION_component SFC transition block.
SBR_RET_component Subroutine call.
STOP_component SFC stop block.
BRANCH_component SFC branch.
DIRECTED_LINK_component SFC directed link.
TEXT_BOX_component SFC text box.
ATTACHMENT_component SFC attachment.
Where:
Item Identifies
Description Provide information about the routine.
Specify Description := ”text”
SheetSize The size of the SFC. Select one of these options.
• Letter (8.5x11in)
• Legal (8.5x14in)
• Tabloid (11x17in)
• A4 (210x297mm)
• A3 (297x420mm)
Specify SheetSize := option
SheetOrientation The orientation of the SFC sheet. Select Portrait or Landscape.
Specify SheetOrientation := option
StepName The prefix for the name of the step blocks within this SFC routine. RSLogix 5000 software
uses this prefix when it automatically generates an SFC_STEP tag.
Specify StepName := name
TransitionName The prefix for the name of the transition blocks with this SFC routine. RSLogix 5000
software uses this prefix when it automatically generates a transition tag.
Specify TransitionName := name
ActionName The prefix for the name of the action blocks in this SFC routine. RSLogix 5000 software
uses this prefix when it automatically generates an SFC_ACTION tag.
Specify ActionName := name
StopName The prefix for the name of the stop blocks in this SFC routine. RSLogix 5000 software uses
this prefix when it automatically generates an SFC_STOP tag.
Specify StopName := name
SFC_ROUTINE Example
exports to this:
'
END_BODY
END_ACTION
ACTION (ID := 26, Operand := UDT_Elem.Action_Member,
Qualifier := D,
IsBoolean := No, PresetUsesExpression := No,
IndicatorTag := "")
BODY (LanguageType := ST)
'
END_BODY
END_ACTION
ACTION (ID := 27, Operand := Action_000, Qualifier :=
R, IsBoolean := No,
PresetUsesExpression := No, IndicatorTag := "")
BODY (LanguageType := ST)
'
END_BODY
END_ACTION
Export Sequential Function If you export sequential function chart logic that contains online edits, the
export file exports LOGIC blocks to indicate the original, test edits, and
Chart Logic While Editing pending edits states. If there are no online edits, you will not see LOGIC
Online blocks.
Where:
Item Identifies
Online_Edit_Type Whether online edits exist when the logic is exported. If online edits exist, there will be a
LOGIC block for Online_Edit_Type := Orig and then the appropriate LOGIC block for the
existing edits. Online_Edit_Type : = Pend indicates pending edits.
Online_Edit_Type := Test indicates test edits.
If there are no online edits when the logic is exported, there are no LOGIC blocks and the
main components in the routine are SFC logic components.
STEP (
ID := <unique_identifier>,
X := <internal_grid_x_location>,
Y := <internal_grid_y_location>,
Operand := <tag_reference>,
HideDescription := <yes|no>
DescriptionX := <numerical_value>,
DescriptionY := <numerical_value>,
DescriptionWidth := <numerical_value>,
InitialStep := <yes|no>,
PresetUsesExpression := <yes|no>,
LimitHighUsesExpression := <yes|no>,
LimitLowUsesExpression := <yes|no>,
ShowActions := <yes|no>)
<PRESET_block>
<LIMIT_HIGH_block>
<LIMIT_LOW_block>
<ACTION_LIST_block>
END_STEP
Where:
Item Identifies
ID The step identifier. This ID uniquely identifies this step from all other blocks.
Enter an unsigned, 32-bit integer value.
Specify ID := number
X X-coordinate on internal grid. Enter an unsigned, 32-bit integer value.
Specify X := number
Y Y-coordinate on internal grid. Enter an unsigned, 32-bit integer value.
Specify Y := number
Operand The step tag. Enter a tag of datatype SFC_STEP. The import process uses this tag
name to name the step.
Specify Operand := tag
HideDescription Whether or not to hide the step description. Enter Yes or No.
Specify HideDescription := text
DescriptionX X-coordinate on internal grid of the description box. Enter an unsigned,
32-bit integer value.
Specify DescriptionX := number
DescriptionY Y-coordinate on internal grid of the description box. Enter unsigned,
32-bit integer value.
Specify DescriptionY := number
DescriptionWidth This attribute is not currently used; it is there for future use. Enter 0.
Specify DescriptionWidth := 0
Item Identifies
InitialStep Whether this step is the initial step of the routine. Enter Yes or No.
If you have multiple steps identified as the initial step (this is incorrect syntax),
the import process designates the last initial step it encounters as the initial step
and removes the initial step indicators from any other steps.
Specify InitialStep := text
PresetUsesExpression Whether the preset for the step timer is a structured text expression. Enter Yes if
you plan to enter an expression in a PRESET block, otherwise, enter No.
Specify PresetUsesExpression := text
LimitHighUsesExpression Whether the preset for the limit high alarm is a structured text expression. Enter
Yes if you plan to enter an expression in a LIMIT_HIGH block, otherwise, enter
No.
Specify LimitHighUsesExpression := text
LimitLowUsesExpression Whether the preset for the limit low alarm is a structured text expression. Enter
Yes if you plan to enter an expression in a LIMIT_LOW block, otherwise, enter
No.
Specify LimitLowUsesExpression := text
ShowActions Whether to show or hide the step’s actions. Enter Yes or No.
Specify ShowActions := text
PRESET_block A structured text expression that specifies the preset time in milliseconds for the
step timer. If the PresetUsesExpression attribute (above) is Yes, enter a PRESET
block.
LIMIT_HIGH_block A structured text expression that specifies the preset time in milliseconds for a
limit high alarm. If the LimitHighUsesExpression attribute (above) is Yes, enter a
LIMIT_HIGH block.
LIMIT_LOW_block A structured text expression that specifies the preset time in milliseconds for a
limit low alarm. If the LimitLowUsesExpression attribute (above) is Yes, enter a
LIMIT_LOW block.
ACTION_LIST_block The actions in the step.
The preset block contains a structured text expression that specifies the preset
time in milliseconds for the step timer. Each line of structured text begins with
a single quote (‘).
The limit high block contains a structured text expression that specifies the
preset time in milliseconds for a limit high alarm. Each line of structured text
begins with a single quote (‘).
The limit low block contains a structured text expression that specifies the
preset time in milliseconds for a limit low alarm. Each line of structured text
begins with a single quote (‘).
Each step can contain multiple actions. Each action follows this format.
ACTION (
ID := <unique_identifier>,
Operand := <tag_reference>,
Qualifier := <character(s)>,
IsBoolean := <yes|no>,
PresetUsesExpression := <yes|no>,
IndicatorTag := <tag_reference>)
<PRESET_block>
<BODY_block>
END_ACTION
Where:
Item Identifies
ID The action identifier. This ID uniquely identifies this action from all other blocks. Enter an
unsigned, 32-bit integer value.
Specify ID := number
Operand The action tag. Enter a tag of datatype SFC_ACTION. The import process uses this tag
name to name the action.
Specify Operand := tag
Qualifier The action qualifier.
Qualifier Description
N non-stored
R reset
S stored
L time limited
D time delayed
P pulse
P1 pulse (rising edge)
P0 pulse (falling edge)
SL stored and time limited
SD stored and time delayed
DS time delayed and stored
The preset block contains a structured text expression that specifies the preset time in
milliseconds for the action. Each line of structured text begins with a single quote (‘).
PRESET (LanguageType := ST)
‘<structured_text>
END_PRESET
BODY_block The structured text of the action.
The body block uses structured text to define an action. It can contain multiple structured
text statements. Each line of structured text begins with a single quote (‘).
BODY (LanguageType := ST)
‘<structured_text>
END_BODY
STEP Example
TRANSITION (
ID := <unique_identifier>,
X := <internal_grid_x_location>,
Y := <internal_grid_y_location>,
Operand := <tag_reference>,
HideDescription := <yes|no>,
DescriptionX := <numerical_value>,
DescriptionY := <numerical_value>,
DescriptionWidth := <numerical_value>,
Force := <TRUE|FALSE>)
<CONDITION_block>
END_TRANSITION
Where:
Item Identifies
ID The transition identifier. This ID uniquely identifies this transition from all other blocks.
Enter an unsigned, 32-bit integer value.
Specify ID := number
X X-coordinate on internal grid. Enter an unsigned, 32-bit integer value.
Specify X := number
Y Y-coordinate on internal grid. Enter an unsigned, 32-bit integer value.
Specify Y := number
Operand The transition tag. Enter a boolean tag. The import process uses this tag name to name
the transition.
Specify Operand := tag
HideDescription Whether or not to hide the transition description. Enter Yes or No.
Specify HideDescription := text
DescriptionX X-coordinate on internal grid of the description box. Enter an unsigned, 32-bit integer
value.
Specify DescriptionX := number
DescriptionY Y-coordinate on internal grid of the description box. Enter unsigned, 32-bit integer value.
Specify DescriptionY := number
DescriptionWidth This attribute is not currently used; it is there for future use. Enter 0.
Specify DescriptionWidth := 0
Force The transition is forced. Enter TRUE for forced true (set) or enter FALSE for forced false
(cleared). If the transition is not forced, do not enter this attribute.
Specify Force := text
CONDITION_block The condition to evaluate for the transition.
TRANSITION Example
Enter Subroutine Calls The subroutine calls pass values into and out of the SFC routine. Subroutine
calls follow this format.
SBR_RET (
ID := <unique_identifier>,
X := <internal_grid_x_location>,
Y := <internal_grid_y_location>,
In := <“list”>,
Out := <“list”>)
END_SBR_RET
Where:
Item Identifies
ID The SBR_RET identifier. This ID uniquely identifies this subroutine call from all other
blocks. Enter an unsigned, 32-bit integer value.
Specify ID := number
X X-coordinate on internal grid. Enter an unsigned, 32-bit integer value.
Specify X := number
Y Y-coordinate on internal grid. Enter an unsigned, 32-bit integer value.
Specify Y := number
In List of values to receive from the calling routine. Enter list of tags or literal values and
separate each entry by a comma (,). Enter empty quotes if there are no values to receive.
Specify In := “list”
Out List of values to pass to the calling routine. Enter list of tags or literal values and separate
each entry by a comma (,). Enter empty quotes if there are no values to pass.
Specify Out := “list”
SBR_RET Example
STOP (
ID := <unique_identifier>,
X := <internal_grid_x_location>,
Y := <internal_grid_y_location>,
Operand := <tag_reference>,
HideDescription := <yes|no>
DescriptionX := <numerical_value>,
DescriptionY := <numerical_value>,
DescriptionWidth := <numerical_value>)
END_STOP
Where:
Item Identifies
ID The stop identifier. This ID uniquely identifies this stop from all other blocks. Enter an
unsigned, 32-bit integer value.
Specify ID := number
X X-coordinate on internal grid. Enter an unsigned, 32-bit integer value.
Specify X := number
Y Y-coordinate on internal grid. Enter an unsigned, 32-bit integer value.
Specify Y := number
Operand The stop tag. Enter a tag of datatype SFC_STOP. The import process uses this tag name to
name the stop.
Specify Operand := tag
HideDescription Whether or not to hide the stop description. Enter Yes or No.
Specify HideDescription := text
DescriptionX X-coordinate on internal grid of the description box. Enter an unsigned, 32-bit integer
value.
Specify DescriptionX := number
DescriptionY Y-coordinate on internal grid of the description box. Enter unsigned, 32-bit integer value.
Specify DescriptionY := number
DescriptionWidth This attribute is not currently used; it is there for future use. Enter 0.
Specify DescriptionWidth := 0
STOP Example
Enter Branches The branch blocks in an SFC routine identify simultaneous or selection
branches in the routine.
BRANCH (
ID := <unique_identifier>,
Y := <internal_grid_y_location>,
BranchType := <text>,
BranchFlow := <text>,
Priority := <text>)
<LEG_block>
END_BRANCH
Where:
Item Identifies
ID The branch identifier. This ID uniquely identifies this branch from all other blocks. Enter an
unsigned, 32-bit integer value.
Specify ID := number
Y Y-coordinate on internal grid. Enter an unsigned, 32-bit integer value.
Specify Y := number
BranchType The type of branch. Enter Simultaneous or Selection.
Specify BranchType := text
BranchFlow The direction of the branch. Enter Converge or Diverge.
Specify BranchFlow := text
Priority Whether the priority of a divergent selection branch is defined by the user. This attribute
applies only to divergent selection branches. Enter Default or UserDefined.
Specify Priority := text
LEG_block The individual legs of the branch. Enter one leg block for each leg of the branch.
The leg block identifies a leg of a branch. Legs follow this format.
LEG (
ID := <unique_identifier>,
Force := <FALSE>)
END_LEG
Where:
Item Identifies
ID The leg identifier. This ID uniquely identifies this leg from all other blocks. Enter an
unsigned, 32-bit integer value.
Specify ID := number
Force Whether the leg is forced or not. You can force only a leg in a simultaneous branch. Either
omit this attribute (for no forces) or enter FALSE to force the leg false.
Specify Force := text
BRANCH Example
LEG (ID := 6)
END_LEG
LEG (ID := 7)
END_LEG
END_BRANCH
Enter Directed Links The directed link blocks in an SFC routine identify the links between SFC
components.
DIRECTED_LINK (
FromElementID := <unique_identifier>,
ToElementID := <unique_identifier>,
ShowLink := <TRUE|FALSE>)
END_DIRECTED_LINK
Where:
Item Identifies
FromElementID The source element of the link. Enter an unsigned, 32-bit integer value.
Specify FromElementID := number
ToElementID The destination element of the link. Enter an unsigned, 32-bit integer value.
Specify ToElementID := number
ShowLink Whether or not to show the link. Enter TRUE or FALSE.
Specify ShowLink := text
DIRECTED_LINK Guidelines
DIRECTED_LINK Example
Enter Text Boxes The text box blocks in an SFC routine hold descriptions about SFC
components. Text boxes follow this format.
TEXT_BOX (
ID := <unique_identifier>,
X := <internal_grid_x_location>,
Y := <internal_grid_y_location>,
Width := <numerical_value>
Text := <“text”>)
END_TEXT_BOX
Where:
Item Identifies
ID The text box identifier. This ID uniquely identifies this text box from all other blocks. Enter
an unsigned, 32-bit integer value.
Specify ID := number
X X-coordinate on internal grid. Enter an unsigned, 32-bit integer value.
Specify X := number
Y Y-coordinate on internal grid. Enter an unsigned, 32-bit integer value.
Specify Y := number
Width This attribute is not currently used; it is there for future use. Enter 0.
Specify Width := 0
Text The descriptive text.
Specify Text := text
TEXT_BOX Guidelines
• All TEXT_BOX blocks must come after all DIRECTED_LINK
blocks.
TEXT_BOX Example
TEXT_BOX (ID := 7, X := 40, Y := 80, Width := 0,
Text := "Action Body makes recursive call")
END_TEXT_BOX
Enter Attachments The attachment blocks in an SFC routine identify the attachments from text
boxes to other SFC elements.
ATTACHMENT (
FromElementID := <unique_identifier>,
ToElementID := <unique_identifier>,
END_ATTACHMENT
Where:
Item Identifies
FromElementID The ID of the attached object. Enter an unsigned, 32-bit integer value.
Specify FromElementID := number
ToElementID The ID of the object that the FromID object is attached to. Enter an unsigned, 32-bit
integer value.
Specify ToElementID := number
ATTACHMENT Guidelines
ATTACHMENT Example
Notes:
Introduction This chapter explains the how to enter structured text logic in a complete
import/export file.
Topic Page
Enter a Structured Text Routine 155
Enter Structured Text Logic 156
Enter Comments 157
Export Structured Text Logic While Editing Online 158
Enter Structured Text 159
‘<statements>;
END_ST_ROUTINE;
Where:
Item Identifies
<routine_name> the name of the structured text routine
Attributes attributes of the structured text routine
<statements> structured text logic
every line must begin with a single quote (‘)
Attribute Description
Description Provide information about the routine.
Specify Description := ”text”
Enter Structured Text Logic Enter structured text logic within an ST_ROUTINE component in an
import/export file. Each line of structured text must begin with a single
quote (‘).
Structured text is not case sensitive. Structured text can contain these
elements.
For details on these components, see the structured text appendix that is in
both the Logix5000 Controllers General Instructions Reference Manual,
publication 1756-RM003 and in the Logix5000 Controllers Process Control
and Drives Instructions Reference Manual, publication 1756-RM006.
ST_ROUTINE <routine_name>
(*------------------------------------------------------------------------------------------
----------- Sample of ST code --------------------------------------------------------------
------------------------------------------------------------------------------------------*)
‘IF (myInteger = 12) THEN
‘ myInteger := ((5 * myInputInteger1) + (7 * myInteger2)) - 71;
‘ WHILE (myTmpVar >= 0) DO
‘ myInteger := myInteger + 3;
‘ myTmpVar := myTmpVar - 1;
‘ END_WHILE;
‘END_IF;
END_ST_ROUTINE
Enter Comments Enclose comments between (* and *) characters. Comments can include
carriage returns. You can place comments anywhere in structured text logic.
For example:
(*------------------------------------------------------------------------------------------
----------- Example comment ----------------------------------------------------------------
------------------------------------------------------------------------------------------*)
Export Structured Text If you export structured text logic that contains online edits, the export file
exports LOGIC blocks to indicate the original, test edits, and pending edits
Logic While Editing Online states. If there are no online edits, you will not see these LOGIC blocks.
ST_ROUTINE MySTRoutine
LOGIC (Online_Edit_Type := Orig)
(* structured text logic here *)
END_LOGIC
ST_ROUTINE MySTRoutine
LOGIC (Online_Edit_Type := Orig)
(* structured text logic here *)
END_LOGIC
Where:
Item Identifies
Online_Edit_Type Whether online edits exist when the logic is exported. If online edits exist, there will be a
LOGIC block for Online_Edit_Type := Orig and then the appropriate LOGIC block for the
existing edits. Online_Edit_Type : = Pend indicates pending edits.
Online_Edit_Type := Test indicates test edits.
If there are no online edits when the logic is exported, there are no LOGIC blocks and the
main components in the routine are structured text statements.
Enter Structured Text The following tables lists each structured text instruction and function. For
more details, see one of these manuals.
Notes:
Introduction This chapter explains the overall structure of the TASK component.
Topic Page
Define a TASK 167
Specify TASK Attributes 168
TASK Guidelines 168
TASK Example 169
Where:
Item Identifies
task_name The task.
Attributes Attributes of the task.
Can also contain a description of the task.
Enclose in parenthesis.
Separate each attribute with a comma (,).
program_name Each program within the task.
All program names are followed by a semi colon (;).
Attribute Description
Description Provide information about the task.
Specify Description := ”text”
Type Specify the type of task (CONTINUOUS, PERIODIC, or EVENT). There can be only one
continuous task.
Specify Type := type
Class Specify the class of the task. This attribute applies only to safety controller projects. Enter
Standard or Safety.
Specify Class := text
Rate If the task is a periodic task, specify how often to run the task (1.000...2,000,000.000 us).
Specify Rate := number
Priority Specify the priority of a periodic task (1...15)
Specify Priority := number
Watchdog Enter the watchdog timeout for the task (1.000...2,000,000.000 us).
Specify Watchdog := number
EventTrigger Only used for event tasks.
Specify the trigger for the event task. Enter Axis Home, Axis Watch, Axis Registration 1,
Axis Registration 2, Motion Group Execution, EVENT Instruction Only, Module Input Data
State Change, Consumed Tag, or Windows Event.
Specify EventTrigger := text
EventTag Only used for event tasks with a Consumed Tag trigger or a Module Input Data State
Change trigger.
Specify the tag to consume.
Specify EventTag := tag_name
EnableTimeout Enter Yes to enable timeouts for the task. Otherwise enter No.
Specify EnableTimeout := text
DisableUpdateOutputs Enter Yes to disable updates to outputs while the task executes. Otherwise enter No. The
default for a periodic or continuous task is No. The default for an event task is yes.
Specify DisableUpdateOutputs := text
InihibitTask Enter Yes to inhibit the task. Otherwise enter No.
Specify InhibitTask := text
The task attributes (Type, Priority, Rate, and Watchdog) can be defined in any
order. The list of programs scheduled for a task are listed in the task
declarations block, as shown above. The programs are executed in the order
they are specified.
Notes:
Introduction This chapter explains the overall structure of the TREND component.
Topic Page
Define a TREND 171
Specify TREND Attributes 172
Specify a PEN Declaration 176
TREND Guidelines 177
TREND Example 178
Define a TREND A TREND component defines controller trend object and follows
this structure.
Where:
Item Identifies
trend_name The trend.
Attributes Attributes of the trend.
Can also contain a description of the trend.
Enclose in parenthesis.
Separate each attribute with a comma (,).
Template The trend template in a byte value list.
PEN declaration Individual pens within the trend.
Each trend can support as many as 8 pens.
Trend objects are optional. You can have as many as 32 trends per
import/export file.
Attribute Description
Description Provide information about the trend.
Specify Description := ”text”
SamplePeriod Specify how often trending tags are collected in msec (1 msec...30 minutes).
Specify SamplePeriod := number
NumberOfCaptures Specifies the maximum number of captures allowed (1...100).
Specify NumberOfCaptures := number
CaptureSizeType Define how the capture size is specified. Enter Samples, TimePeriod, or NoLimit.
Specify CaptureSizeType := text
CaptureSize Specify the number of samples for each capture. The maximum number of samples is
2-hours worth of data samples or 1000 samples, whichever is greater. If the
CaptureSizeType is Samples, the range is 1...(2 hours/SamplePeriod) or 1000 samples,
whichever is greater. If the CaptureSizeType is TimePeriod, the range is
SamplePeriod...2 hours or (SamplePeriod * 1000), whichever is greater.
Specify CaptureSize := number
StartTriggerType Specify the type of the start trigger. Enter NoTrigger or EventTrigger.
Specify StartTriggerType := text
StartTriggerTag1 Specify the tag name of the first start trigger. The name must be one of the pen names.
Specify StartTriggerTag1 := text
StartTrigger Specify the operation that is applied on StartTriggerTag1, and StartTriggerTargetValue1 or
Operation1 StartTriggerTargetTag1.
Enter For
0 Exact Equal (Tag EQU Target)
1 Trigger Level Equal (Tag = Target)
2 Not Equal (Tag != Target)
3 Less Than (Tag < Target)
4 Greater Than (Tag > Target)
5 Less Than or Equal To (Tag <= Target)
6 Greater Than or Equal To (Tag >= Target)
7 Positive Slope (slope of Tag is positive)
8 Negative Slope (slope of Tag is negative)
9 Bitwise OR ((Tag OR Target) = 0)
10 Bitwise OR ((Tag OR Target) != 0)
11 Bitwise AND ((Tag AND Target) = 0)
12 Bitwise AND ((Tag AND Target) != 0)
13 Bitwise XOR ((Tag XOR Target) = 0)
14 Bitwise XOR ((Tag XOR Target) != 0)
Attribute Description
StartTriggerLogical Specify a logical operation (AND or OR) that is performed on StartTriggerxxx1 and
Operation StartTriggerxxx2. StartTriggerxxx1 consists of StartTriggerTag1, StartTriggerOperation1,
StartTriggerTargetType1, and StartTriggerTargetValue1 or StartTriggerTargetTag1.
StartTriggerxxx2 consists of StartTriggerTag2, StartTriggerOperation2,
StartTriggerTargetType2, and StartTriggerTargetValue2 or StartTriggerTargetTag2.
Specify StartTriggerLogicalOperation := text
StartTriggerTag2 Specify the tag name of the second start trigger. The name must be one of the pen names.
Specify StartTriggerTag2 := text
StartTrigger Specify the operation that is applied on StartTriggerTag2, and StartTriggerTargetValue2 or
Operation2 StartTriggerTargetTag2.
Enter For
0 Exact Equal (Tag EQU Target)
1 Trigger Level Equal (Tag = Target)
2 Not Equal (Tag != Target)
3 Less Than (Tag < Target)
4 Greater Than (Tag > Target)
5 Less Than or Equal To (Tag <= Target)
6 Greater Than or Equal To (Tag >= Target)
7 Positive Slope (slope of Tag is positive)
8 Negative Slope (slope of Tag is negative)
9 Bitwise OR ((Tag OR Target) = 0)
10 Bitwise OR ((Tag OR Target) != 0)
11 Bitwise AND ((Tag AND Target) = 0)
12 Bitwise AND ((Tag AND Target) != 0)
13 Bitwise XOR ((Tag XOR Target) = 0)
14 Bitwise XOR ((Tag XOR Target) != 0)
Attribute Description
StopTrigger Specify the operation that is applied on StopTriggerTag1 and StopTriggerTargetValue1 or
Operation1 StopTriggerTargetTag1.
Enter For
0 Exact Equal (Tag EQU Target)
1 Trigger Level Equal (Tag = Target)
2 Not Equal (Tag != Target)
3 Less Than (Tag < Target)
4 Greater Than (Tag > Target)
5 Less Than or Equal To (Tag <= Target)
6 Greater Than or Equal To (Tag >= Target)
7 Positive Slope (slope of Tag is positive)
8 Negative Slope (slope of Tag is negative)
9 Bitwise OR ((Tag OR Target) = 0)
10 Bitwise OR ((Tag OR Target) != 0)
11 Bitwise AND ((Tag AND Target) = 0)
12 Bitwise AND ((Tag AND Target) != 0)
13 Bitwise XOR ((Tag XOR Target) = 0)
14 Bitwise XOR ((Tag XOR Target) != 0)
Attribute Description
StopTrigger Specify the operation that is applied on StopTriggerTag2 and StopTriggerTargetValue2 or
Operation2 StopTriggerTargetTag2.
Enter For
0 Exact Equal (Tag EQU Target)
1 Trigger Level Equal (Tag = Target)
2 Not Equal (Tag != Target)
3 Less Than (Tag < Target)
4 Greater Than (Tag > Target)
5 Less Than or Equal To (Tag <= Target)
6 Greater Than or Equal To (Tag >= Target)
7 Positive Slope (slope of Tag is positive)
8 Negative Slope (slope of Tag is negative)
9 Bitwise OR ((Tag OR Target) = 0)
10 Bitwise OR ((Tag OR Target) != 0)
11 Bitwise AND ((Tag AND Target) = 0)
12 Bitwise AND ((Tag AND Target) != 0)
13 Bitwise XOR ((Tag XOR Target) = 0)
14 Bitwise XOR ((Tag XOR Target) != 0)
Specify a PEN Declaration A TREND object can have as many as eight PEN declarations. A PEN
declaration follows this structure.
PEN <pen_name> [(Attributes)];
END_PEN
Where:
Item Identifies
pen_name The pen.
Attributes Attributes of the pen.
Can also contain a description of the pen.
Enclose in parenthesis.
Separate each attribute with a comma (,).
Attribute Description
Description Provide information about the pen.
Specify Description := ”text”
Color Specify the color of the line in RGB format. Enter the hex number for the color
(16#0000_0000 – 16#00FF_FFFF).
Specify Color := hex_number
Visible Specify whether or not the line should be visible. Enter TRUE or FALSE.
Specify Visible := text
Width Specify the width of the line in pixels (1...10).
Specify Width := number
Type Specify the line type. Enter Analog, Digital, or Full-Width.
Specify Type := text
Style Specify the style of line.
Enter For
0 …………….
1 … … ……
2 ...........
3 ….… . … . …
4 … .. … .. … ..
Attribute Description
Min Specify the minimum value for the pen. The minimum cannot be greater than or equal to
the maximum.
Specify Min := number
Max Specify the maximum value for the pen. The maximum cannot be less than or equal to the
minimum.
Specify Max := number
EngUnits Specify engineering units. For example, rpm, gallon, fps, and degrees.
Specify EngUnits := text
TREND Example
TREND trend1 (SamplePeriod := 10,
NumberOfCaptures := 1,
CaptureSizeType := Samples,
CaptureSize := 60000,
StartTriggerType := No Trigger,
StopTriggerType := No Trigger,
TrendxVersion := 5.2)
Template :=
[208,207,17,224,161,177,26,225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,3,0,254,255,9,0,6,0,0,0,0
,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,16,0,0,2,0,0,0,1,0,0,0,254,255,255,255,0,0,0,0,0,0,0
,0,255,255,255,255,255,255,....
PEN Local:1:I.CHA_Status (Color := 16#00ff_0000,
Visible := 1,
Width := 1,
Type := Analog,
Style := 0,
Marker := 0,
Min := 0.0,
Max := 100.0)
END_PEN
PEN Local:1:I.CHB_Status (Color := 16#0000_ff00,
Visible := 1,
Width := 1,
Type := Analog,
Style := 0,
Marker := 0,
Min := 0.0,
Max := 100.0)
END_PEN
END_TREND
Introduction This chapter explains how to enter project and configuration information in a
complete import/export file.
Topic Page
Define Controller Objects 179
Specify CONFIG Attributes 180
CONFIG Examples 184
Define Controller Objects A CONFIG component defines controller objects and follows this structure.
Item Identifies
object_name The controller object.
Attributes Attributes of the controller object.
Can also contain a description of the controller object.
Enclose in parenthesis.
Separate each attribute with a comma (,).
Controller objects are optional. There can be only one of each controller
object in an import/export file. Controller objects appear at the end of the
import/export file.
Specify CONFIG Attributes The attributes depend on the type on CONFIG object. Some objects do not
have any attributes.
CONFIG DF1
DuplicateDetection := -1,
ErrorDetection := BCC Error,
EmbeddedResponseEnable := -1,
DF1Mode := Pt to Pt,
ACKTimeout := 50,
NAKReceiveValue := 3,
DF1ENQs := 3,
DF1Retries := 3,
StationAddress := 0,
ReplyMessageWait := 50,
PollingMode := 0,
MasterMessageTransmit := 0,
NormalPollNodeFile := NA,
NormalPollGroupSize := 0,
PriorityPollNodeFile := NA,
ActiveStationFile := NA)
END_CONFIG
CONFIG SerialPort
(BaudRate := 19200,
Parity := No Parity,
DataBits := 8 Bits of Data,
StopBits := 1 Stop Bit,
ComDriverId := DF1,
RTSOffDelay := 0,
RTSSendDelay := 0,
ControlLine := No Handshake,
RemoteModeChangeFlag := 0,
ModeChangeAttentionChar := 27,
SystemModeCharacter := 83,
UserModeCharacter := 85)
END_CONFIG
Notes:
Introduction This chapter explains how to structure the import/export file using commas
(.CSV text file) or tabs (.TXT Unicode text file) to separate values in the file.
Topic Page
Place Information in a .CSV or .TXT File 187
Specify a Tag Record 188
Specify a Comment Record 191
Specify an Alarm Message Record 193
Example .CSV File 194
Example .TXT File 196
Place Information in a .CSV The structured import/export file contains these components of information.
or .TXT File Item Identifies
Remark Comment within the file.
TAG Tag.
RCOMMENT Rung comment.
TEXTBOX Text box comment.
You can enter comments to document import files. The import process
ignores these comments. You can place comments anywhere in an
import/export file, except in names and descriptions. Enter comments by
starting the line (record) with REMARK and a comma.
Specify a Tag Record Each tag record defines a tag within a controller project. A TAG record
includes this information.
Item Identifies
Type The type of tag.
TAG tag
ALIAS alias tag
COMMENT tag operand component
Scope What part of the project owns the tag.
If no scope is specified, the scope is controller.
If a scope is specified, it identifies the program or equipment phase.
Name Name of the tag
Description Description of the tag (optional)
Datatype Datatype of the tag - use any valid datatype name
Specifier Optional
• For an alias, specifies base tag.
• For a tag comment, specifies the tag name and member or bit.
Attributes The attributes of the tag, as exported in the .L5K format.
Define how the tag can be used and how it appears.
Attributes do not include tag values.
TAG,”Scope”,”Name”,”Description”,”Datatype”,”Specifier”,”Attributes”
To specify Enter
1 dimension [a]
2 dimensions [a,b]
3 dimensions [a,b,c]
ALIAS,”Scope”,”Name”,”Description”,”Datatype”,”Specifier”,”Attributes”
COMMENT,”Scope”,”Name”,”Description”,”Datatype”,”Specifier”,”Attributes”
Specify a Comment Record Each comment record defines a rung comment or text box in the controller
project. This is different than the COMMENT type that defines a comment
about a tag component. A comment record includes this information.
Item Identifies
Type The type of comment.
RCOMMENT ladder rung comment
TEXTBOX function block or sequential function chart comment
Scope What part of the project owns the comment.
A program or equipment phase must be specified.
Routine Name of the routine.
Comment Text of the comment.
Owning Element For RCOMMENT entries, neutral text for the last instruction on the rung that owns the
comment.
If there is no element on the rung, the Owning Element is a semi-colon (;).
By default, the Owning Element is used to match the comment to a rung on import.
For a TEXTBOX entry of an attached text box, neutral text identifies the element the text
box is attached to. The Owning Element contains the backing tag name and the full
specifier of the element, including the absolute location of the element.
Owning Element.
For a TEXTBOX entry of a free-floating text box, this entry is blank.
Location For RCOMMENT entries, the rung number of comment. The rung number in the Location
column is used to match the comment to a rung if either the Owning Element is blank for
that comment or if you override the import default by selecting Match all RLL rung
comments by rung number only.
For TEXTBOX entries, either the absolute location of free-floating text boxes or the
relative location from the owning element of attached text boxes. For absolute locations,
the location contains both the sheet number and the X and Y coordinates of the text box.
For relative locations, the location contains only the X and Y coordinates.
RCOMMENT,”Scope”,”Routine”,”Comment”,”Owning Element”,”Location”
TEXBOX,”Scope”,”Routine”,”Comment”,”Owning Element”,”Location”
Specify an Alarm Message An alarm tag can have several alarm message strings for different alarm
conditions and in different languages. An alarm message record includes this
Record information.
Item Identifies
Type The alarm message and its associated language as: ALMMSG:language
ALMMS:language,”Scope”,”Name”,”Description”,”Datatype”,”Specifier”
Example .CSV File The following examples use this ladder file.
Example .TXT File The following examples use the Motor_Starter_Program program file and
exports the program tags.
Notes:
Introduction This chapter explains the overall structure of the .L5X (Logix5000 XML) file
that can store a portion of an RSLogix 5000 project. With RSLogix 5000
version 13, this includes ladder diagram logic fragments and the configuration
for graphical trends.
Topic Page
Place Information in a Ladder Rung .L5X File 202
Define a DataType Component 202
Define a Module Component 205
Define an Add-on Instruction Component 206
Define a Tag Component 209
Define a Program Component 210
Example Ladder Rung .L5X File 213
Place Information in a Trend .L5X File 214
The .L5X file is an ASCII file that is based on the format of the .L5K file but
is structured using Extensible Markup Language (XML) tags. In addition to
being able to open and modify the file .L5X file in a text editor, such as
Notepad, you can also view the contents of the file in Microsoft Internet
Explorer and other tools that work with XML files.
In the Internet browser, you can view only the file. Use the plus (+) and minus (-) signs to expand and collapse the
viewable content. To edit the file, you must open the file in a text editor.
UIDs are not optional. They are required for each component in an .L5X file.
See the rest of this chapter for descriptions of the supported component types.
Place Information in a The .L5X file for ladder rungs uses this structure.
Ladder Rung .L5X File
Where:
Item Identifies
Use The use of the controller project.
Specify Context or Target.
Name The name of the controller project.
UID The controller project with a unique combination of
numbers and letters.
DataTypes Data type definitions.
Modules I/O module definitions.
AddOnInstructionDefintion Add-On Instruction definitions.
Tags Tag definitions.
Programs Program and routine(s) containing the rung logic.
The first part of the .L5X file is the header that defines the version of the
import/export feature. Following the header is the Controller component,
which is the overall structure for an .L5X file.
Define a DataType The DataType component defines the data types used in the section of rungs
you export. Or you can select to export a single user-defined data type. The
Component DataType component uses this structure.
Specify a DataType
Each data type declaration within this component defines a data type and the
members of that data type. Repeat this structure for each data type.
Where:
Item Identifies
Name The name of the data type.
Family Specify StringFamily for a string data type.
Specify NoFamily for all other data types.
Class Class of data type.
Specify User for user-defined.
UID The controller project with a unique combination of
numbers and letters.
Specify a Member
Each member declaration within a data type declaration defines the members
of that data type. Repeat this structure for each member.
Where:
Item Identifies
Name The name of the member.
DataType The data type of the member, such as SINT, INT, DINT,
REAL, BOOL.
Dimension Specify 0 (not an array) or 1, 2, 3 if an array.
Radix Specify decimal, hex, octal, binary, exponential, float,
or ASCII.
Hidden Whether the member is a hidden member of the
structure.
UID The controller project with a unique combination of
numbers and letters.
DataType Example
Define a Module The Module component defines any modules associated with the section of
rungs you export. For example, the Module component can contain I/O
Component modules referenced by I/O tags, modules accessed by GSV/SSV instructions,
or controllers referenced in consumed tags. The Module component uses this
structure.
Where:
Item Identifies
Use The use of the module.
Specify Context or Target.
Name The name of the module.
UID The controller project with a unique combination of
numbers and letters.
Where:
Item Identifies
Use The use of the Add-On Instruction.
Specify Context or Target.
Name The name of the Add-On Instruction.
Attributes Attributes of the Add-On Instruction.
Can also contain a description of the add-on instruction.
Parameters Parameters of the Add-On Instruction.
LocalTags Local tags of the Add-On Instruction.
Routine Logic that comprises the Add-On Instruction. Logic can
be relay ladder, function block, or structured text.
Define a Tag Component The Tag component defines the tags, either associated with the section of
rungs you selected or within the program you selected. The Tag component
uses this structure.
Where:
Item Identifies
Use The use of the tags.
Specify Context or Target.
Tag Name The name of the tag.
UID The tag with a unique combination of numbers and
letters.
TagType Specify Alias or Base.
DataType The data type of the tag, such as SINT, INT, DINT, REAL,
BOOL.
Radix Specify decimal, hex, octal, binary, exponential, float,
or ASCII.
AliasFor The base tag for an alias tag.
Within the .L5X file, Tag declarations before the Program component are for
controller-scope tags. Tag declarations within a Program component are
program-scope tags for that program.
Tag Example
Define a Program The Program component defines the programs used in the section of rungs
you export. The Program component uses this structure.
Component
Specify a Program
Each program declaration within this component defines a program and the
routines within that program. Repeat this structure for each program.
Where:
Item Identifies
Use The use of the program.
Specify Context or Target.
Name The name of the program.
UID The program with a unique combination of numbers and
letters.
Specify a Routine
Where:
Item Identifies
Use The use of the routine or rung.
Specify Context or Target.
Name The name of the routine.
Number The rung number.
Type The type of rung, such as N for normal or I for insert.
UID The routine or rung with a unique combination of
numbers and letters.
Program Example
Example Ladder Rung This example shows all the ladder rung components in one .L5X file.
.L5X File
Place Information in a The .L5X file for trends contains these components.
Trend .L5X File Component Identifies
Controller Name of the controller.
Trend The selected trends.
Specify a Trend
Each trend declaration within this component defines a trend and the pens
within that trend. Repeat this structure for each trend.
Where:
Item Identifies
Use The use of the trend.
Specify Context or Target.
Name The name of the trend.
Trend Example
Notes:
Introduction This appendix describes how using Microsoft Excel can affect a .CSV file.
Recommendations You can use Microsoft Excel to edit your .CSV tag file.
002
+2
=2
-2
.0
RSLogix 5000 Data When RSLogix 5000 programming software exports tags, it performs
these conversions.
Transformations
Original Content Content in .CSV File After Export
‘ $’
“ $Q
newline $N$L
tab $T
$ $$
Microsoft Excel Data When you open the exported .CSV file in Excel, these conversions occur.
Transformation
Original Content in .CSV Content After Content After Details
Content File After Opening in Saving from
Export Excel Excel
.0 “.0” 0 0 RSLogix 5000 addresses this as the specifier for a tag.
If you enter this as an entire comment, you lose any
preceding period (.). If you enter any text before or after
this, Excel maintains the content.
=2 “=2” 2 2 If you enter this as an entire comment, you lose any
preceding equal sign (=). If you enter any text before or
after this, Excel maintains the content.
+2 “+2” 2 2 If you enter this as an entire comment, you lose any
preceding plus sign (+). If you enter any text before or
after this, Excel maintains the content.
002 “002” 2 2 If you enter this as an entire comment, you lose any
preceding zeros. If you enter any text before or after this,
Excel maintains the content.
test string “test string” test string test string Excel puts quotes around cell contents only if there is an
embedded comma.
RSLogix 5000 always places double quotes around text.
But RSLogix 5000 can still handle the description without
quotes.
“test string” “$”test string$”” $test string$”” “$test Both Excel and RSLogix 5000 alter content when it
string$””””” includes a dollar sign ($).
has “quoted text” “has $”quoted has $quoted “has $quoted text Both Excel and RSLogix 5000 alter content when it
within string text$” within text$” within $”” within includes a dollar sign ($).
string” string” string”””
this has this has this has this has Single quotes work fine in both software packages.
‘embedded’ text $’embedded$’ $’embedded$’ $’embedded$’
text text text
Notes:
Topic Page
Backward compatibility 222
Import/export version 2.6 223
(RSLogix 5000 software version 15)
Import/export version 2.4 223
(RSLogix 5000 software version 13)
Import/export version 2.3 224
(RSLogix 5000 software version 12)
Import/export version 2.2 224
(RSLogix 5000 software version 11
Import/export version 2.1 225
(RSLogix 5000 software version 10)
Topic Page
Import/export version 2.0 227
(RSLogix 5000 software version 9)
Motion changes to support the SERCOS protocol 228
Import/export version 1.1 232
(RSLogix programming software version 8)
Backward Compatibility The import/export feature supports backward compatibility for import
operations. This means that the RSLogix 5000 programming software can
import .L5K files that were generated by a previous version of the
programming software. In some cases, an older .L5K file might not correctly
import into newer version of the programming software. The revision history
in this appendix will list any conditions when backward compatibility for an
import operation does not work as expected.
Each version of the RSLogix 5000 programming software exports .L5K files
with a specific import/export version number. The RSLogix 5000
programming software imports any .L5K file with the same major revision
number and the same or lower minor revision number. The major revision
number increments when there are conditions such that the programming
software cannot support backward compatibility for import operations. The
minor revision number increments whenever there is a change in the file (a
new module, an attribute is added, the set of options for an attribute is
changed) that does not affect backward compatibility for import operations.
Import/Export Version 2.6 Version 2.6 (major revision 2, minor revision 6) of the import/export feature
that is included with RSLogix 5000 programming software, version 15
RSLogix 5000 Version 15 included these major enhancements.
• Support for the 1769-L32C, 1769-L32CR CompactLogix and 1768-L43
CompactLogix controllers.
• Equipment Phase program type and its relay ladder and structured text
instructions.
• ControlLogix and SoftLogix controllers now support 100 programs per
task.
• Information about when an imported file modifies a project such that
you cannot go online and access a previously downloaded controller.
• Additional values for the Mode attribute of a MODULE component.
• New SERCOS IDN Read and SERCOS IDN Write message types.
• New motion AXIS_GENERIC_DRIVE type.
• Removal of the DescriptionWidth parameter from the STEP,
TRANSITION, and STOP components in SFC logic.
• Addition of an Attributes column to the .CSV format for exported tags.
Import/Export Version 2.4 Version 2.4 (major revision 2, minor revision 4) of the import/export feature
that is included with RSLogix 5000 programming software, version 13
RSLogix 5000 Version 13 included these major enhancements.
• Support for new controllers.
• ExtendedProp section to MODULE data.
• Support for new TAG attributes.
Attributes can be in any order in an import/export file. The order
shown in this document is the order the attributes export.
• Support for a TREND object in the import/export .L5K file.
• New MCSV instruction in ladder logic (chapter 4) and structured text.
• Online editing support for structured text and sequential function chart
logic.
• Updated CSV format now includes rung comments.
• New .L5X format for partial import/export of ladder rungs, tags, and
trends.
Import/Export Version 2.3 Version 2.3 (major revision 2, minor revision 3) of the import/export feature
that is included with RSLogix 5000 programming software, version 12.01
RSLogix 5000 Version 12 included these major enhancements.
• The structured text component changed from STX_ROUTINE
to ST_ROUTINE. The LanguageType attribute in SFC routines for
embedded structured text also changed from STX to ST.
• Support for new controllers.
• Addition of the ControlNetSignature attribute to the MODULE
component.
• Addition of the ProgrammaticallySendEventTrigger attribute to the
TAG component.
• New COORDINATE_SYSTEM tag.
• Addition of several new attributes to the axis tag types.
• Addition of DisableFlag attribute to the PROGRAM component.
• Addition of EventTrigger and EventTag attributes to the TASK
component to support Event tasks.
• New EVENT, IOT, MCCD, MCCM, MCLM, MCS, MCSD, and MCSR
instructions in ladder logic and structured text.
• Addition of information regarding the LOGIC block when exporting
online function block logic.
• Addition of new modules and their valid CommMethod and
ConfigMethod values.
Import/Export Version 2.2 Version 2.2 (major revision 2, minor revision 2) of the import/export feature
that is included with RSLogix 5000 programming software, version 11.10
RSLogix 5000 Version 11 included these major enhancements.
• Support for the 1756-L63 controller.
• New controller attributes to support sequential function charts.
• Corrected the DATATYPE attributes and added the FamilyType
attribute.
• Additional information for the CompatibleModule and KeyMask
attributes of the MODULE component.
• Addition of RSNetWorxFileName attribute to the MODULE
component.
• Addition of SFC_ACTION, SFC_STEP, and SFC_STOP tag types.
• Addition of 38400 as a supported serial port baud rate.
• Addition of structured text instructions.
• Addition of EOT, SFR, and SFP instructions to relay ladder and
structured text.
• Addition of sequential function chart components.
• Addition of an appendix that lists the valid CommMethod and
ConfigMethod values for the supported I/O modules.
Beginning with version 2.2, multi-line rung comments (with hard returns) are
no longer exported as one long string (in double-quotes). Instead, each line of
a multi-line rung comment is on a separate line in the .L5K file with
double-quotes around each line. When imported, the multiple quoted strings
are concatenated to form the rung comment. This improves the readability of
the .L5K text file using the existing multiple-string capability of the rung
comment syntax. Older formats still work on import.
Import/Export Version 2.1 Version 2.1 (major revision 2, minor revision 1) of the import/export feature
that is included with RSLogix 5000 programming software, version 10.0
RSLogix 5000 Version 10 included these major enhancements.
• Removal of the characters /A when specifying a controller type.
• Addition of the SecurityCode attribute to the Controller object.
• Enhancements to the Message tag structure (see page 225).
• The Program object now includes a Mode attribute.
• Correction to valid values for Watchdog and Rate attributes of the
Task object.
• Addition of MaxStationAddress and TokenHoldFactor attributes to the
Config DF1 object.
• Addition of new instructions: SIZE, SWPB, LOWER, and UPPER.
• The NumberOfAppendChars of the Config ASCII object is no longer
exported. If you have an import/export file with any of these attributes,
the file will correctly import into the software. This attributes will be
removed when you later export the file.
Attribute Description
Description Provide information about the tag.
Specify Description := ”text”
Comment Provide information about a tag component.
Specify Comment<specifier> := ”text”
Where the specifier is:
.bitnumber for a bit in the tag
[element] for an array element of the tag
.membername for a structure member of the tag
MessageType Enter Block Transfer Read, Block Transfer Write, CIP Data Table Read, CIP Data Table
Write, CIP Generic, PLC2 Unprotected Read, PLC2 Unprotected Write, PLC3 Typed Read,
PLC3 Typed Write, PLC3 Word Range Read, PLC3 Word Range Write, PLC5 Typed Read,
PLC5 Typed Write, PLC5 Word Range Read, PLC5 Word Range Write, SLC Typed Read, or
SLC Typed Write.
Specify MessageType := text
RequestedLength Specify the number of elements in the message instruction (0...32,767).
Specify RequestedLength := value
ConnectionPath Specify the connection path to the other device.
Specify ConnectionPath := string
DF1DHFlag If the communication method uses DH+, enter 1. If the communication method does not
use DH+, enter 0.
Specify DF1DHFlag := value
LocalTag Specify the tag name of the element in the local device.
Specify LocalTag := text
RemoteElement Specify the tag name of the element in the remote device.
Specify RemoteElement := value
DHPlusSourceLink If the communication method uses DH+, specify the source link (0...65,535).
Specify DHPlusSourceLink := value
DHPlusDestinationLink If the communication method uses DH+, specify the destination link (0...65,535).
Specify DHPlusDestinationLink := value
DHPlusDestinationNode If the communication method uses DH+, specify the destination node number (0...63 octal).
Specify DHPlusDestinationNode := value
DHPlusChannel If the communication method uses DH+, specify the DH+ channel. Enter either A or B.
Specify DHPlusChannel := letter
CacheConnections If the message is to cache connections, enter TRUE. If the message is not to cache
connections, enter FALSE.
Specify CacheConnections := text
ServiceCode If the message type is CIP Generic, specify the service code (0...255 hexadecimal).
Specify ServiceCode := #16value
ObjectType If the message type is CIP Generic, specify the object type (0...65,535 hexadecimal).
Specify ObjectType := 16#value
Attribute Description
TargetObject If the message type is CIP Generic, specify the target object (0...65,535 decimal).
Specify TargetObject := value
AttributeNumber If the message type is CIP Generic, specify the attribute number (0...65,535 hexadecimal).
Specify AttributeNumber := 16#value
DestinationTag Specify the tag name of the destination element.
Specify DestinationTag := text
Import/Export Version 2.0 Version 2.0 (major revision 2, minor revision 0) of the import/export feature
that is included with RSLogix 5000 programming software, version 9.0
RSLogix 5000 Version 9 included these major enhancements.
• The AXIS tag was replaced with AXIS_CONSUMED, AXIS_SERVO,
AXIS_SERVO_DRIVE, and AXIS_VIRTUAL tags.
• For any attribute that you can specify a “not applicable” state, you must
enter <NA>, rather than just NA.
• This revision of the manual includes a description and example of the
STRING data type.
Motion Changes to Support Version 2.0 (major revision 2, minor revision 0) of the import/export feature
that is included with RSLogix 5000 programming software, version 9.0 made
the SERCOS Protocol significant changes to motion-related tags to support the SERCOS protocol.
If you have a version 8.0 import/export file with AXIS tags that you
import into version 9.0 software (after changing the import/export
version line to 2.0), the AXIS tags convert to:
Attribute Description
Description Provide information about the tag.
Specify Description := ”text”
Comment Provide information about a tag component.
Specify Comment<specifier> := ”text”
Where the specifier is:
.bitnumber for a bit in the tag
[element] for an array element of the tag
.membername for a structure member of the tag
GroupType Specify the type of motion group, such as Independent.
Specify GroupType := text
CoarseUpdateMultiplier Specify the coarse update rate (5-320ms).
Specify CoarseUpdateMultiplier := value
ServoUpdatePeriod Specify the servo update period in milliseconds (any positive number)
Specify ServoUpdatePeriod := value
PhaseShift Specify the phase shift (0-65,535).
Specify PhaseShift := value
GeneralFaultType Specify whether an error generates a major fault or a non-major fault. Enter Major Fault or
Non Major Fault.
Specify GeneralFaultType := text
Attribute Description
Description Provide information about the tag.
Specify Description := ”text”
Comment Provide information about a tag component.
Specify Comment<specifier> := ”text”
Where the specifier is:
.bitnumber for a bit in the tag
[element] for an array element of the tag
.membername for a structure member of the tag
MotionGroup Enter the name of the associated motion group, or enter NA.
Specify MotionGroup := text
MotionModule Enter the name of the associated motion module, or enter NA.
Specify MotionModule := text
AxisState Enter Axis-Ready, Direct Drive Control, Servo Control, Axis Faulted, or Axis Shutdown.
Specify AxisState := text
PositionUnits Specify the type of units.
Specify PositionUnits := text
TimeUnits Enter Seconds or Minutes.
Specify TimeUnits := text
Attribute Description
InstructionSpeedUnits Enter Percentage or Engineering Units.
Specify InstructionSpeedUnits := text
InstructionAccelDecelUnits Enter Percentage or Engineering Units.
Specify InstructionAccelDecelUnits := text
InstructionMoveProfile Enter Trapezoidal or S-Curve.
Specify InstructionMoveProfile := text
InstructionJogProfile Specify Trapezoidal or S-Curve.
Specify InstructionJogProfile := text
ConversionConstant Specify the conversion constant. Enter a real number from 1.0...1.0e9.
Specify ConversionConstant := value
HomeMode Enter Passive or Active.
Specify HomeMode := text
HomeSequenceType Enter Immediate Home, Home To Switch, Home To Marker Only, or Home To Switch With
Marker.
Specify HomeSequenceType := text
HomePosition Specify the home position (any positive number).
Specify HomePosition := value
HomeSpeed Specify the home speed (any positive number).
Specify HomeSpeed := value
HomeReturnSpeed Specify the home return speed (any positive number).
Specify HomeReturnSpeed := value
MaximumSpeed Specify the maximum speed (any positive number).
Specify MaximumSpeed := value
MaximumAcceleration Specify the maximum acceleration (any positive number).
Specify MaximumAcceleration := value
MaximumDeceleration Specify the maximum deceleration (any positive number).
Specify MaximumDeceleration := value
ProgrammedStopMode Enter Fast Stop, Fast Shutdown, or Hard Shutdown.
Specify ProgrammedStopMode := text
AverageVelocityTimebase Specify the average velocity timebase (any positive number).
Specify AverageVelocityTimebase := value
ServoStatusUpdateBits Specify the servo status update bits. Enter a hexadecimal number.
Specify ServoStatusUpdateBits := 16#value
MotionConfigurationBits Specify the motion configuration bits. Enter a hexadecimal number.
Specify MotionConfigurationBits := 16#value
AxisType Enter Unused, Position Only, Servo, Consumed, or Virtual.
Specify AxisType := text
PositionUnwind Specify the unwind position (0-65,535).
Specify PositionUnwind := value
MaximumPositiveTravel Specify the maximum positive travel (any positive number).
Specify MaximumPositiveTravel := value
MaximumNegativeTravel Specify the maximum negative travel (any positive number).
Specify MaximumNegativeTravel := value
PositionErrorTolerance Specify the position error tolerance (any positive number).
Specify PositionErrorTolerance := value
Attribute Description
PositionLockTolerance Specify the position local tolerance (any positive number).
Specify PositionLockTolerance := value
PositionProportionalGain Specify position proportional gain (any positive number).
Specify PositionProportionalGain := value
PositionIntegralGain Specify the position integral gain (any positive number).
Specify PositionIntegralGain := value
VelocityFeedforwardGain Specify the velocity feedforward gain (any positive number).
Specify VelocityFeedforwardGain := value
AcclerationFeedforwardGain Specify the acceleration feedforward gain (any positive number).
Specify AccelerationFeedforwardGain := value
VelocityProportionalGain Specify the velocity proportional gain (any positive number).
Specify VelocityProportionalGain := value
VelocityIntegralGain Specify velocity integral gain (any positive number).
Specify VelocityIntegralGain := value
OutputFilterBandwidth Specify output filter bandwidth (any positive number).
Specify OutputFilterBandwidth := value
OutputScaling Specify the output scaling (any positive number).
Specify OutputScaling := value
OutputLimit Specify the output limit (any positive number).
Specify OutputLimit := value
OutputOffset Specify output offset (any positive number).
Specify OutputOffset := value
FrictionCompensation Specify friction compensation (any positive number).
Specify FrictionCompensation := value
SoftOvertravelFaultAction Enter Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify SoftOvertravelFaultAction := text
PositionErrorFaultAction Enter Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify PositionErrorFaultAction := text
EncoderLossFaultAction Enter Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify EncoderLossFaultAction := text
EncoderNoiseFaultAction Enter Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify EncoderNoiseFaultAction := text
DriveFaultAction Enter Shutdown, Disable Drive, Stop Motion, or Status Only.
Specify DriveFaultAction := text
ServoConfigurationBits Specify the servo configuration bits. Enter a hexadecimal number.
Specify ServoConfigurationBits := 16#value
MotorEncoderTestIncrement Specify the motor encoder test increment (any positive number).
Specify MotorEncoderTestIncrement := value
TuningTravelLimit Specify the tuning travel limit (any positive number).
Specify TuningTravelLimit := value
TuningSpeed Specify the tuning speed (any positive number).
Specify TuningSpeed := value
Attribute Description
DampingFactor Specify the damping factor (any positive number).
Specify DampingFactor := value
PositionServoBandwidth Specify position servo bandwidth (any positive number).
Specify PositionServoBandwidth := value
TuningConfigurationBits Specify the tuning configuration bits. Enter a hexadecimal number.
Specify TuningConfigurationBits := 16#value
Import/Export Version 1.1 Version 1.1 (major revision 1, minor revision 1) of the import/export feature
that is included with RSLogix 5000 programming software, version 8.0
RSLogix 5000 Version 8 included these major enhancements.
• Addition of function block instructions and routines.
• Addition of ASCII instructions.
• Verification of all instruction attributes and parameters.
A attributed (continued)
ACTION_LIST block 143 ROUTINE 101
ADD_ON_INSTRUCTION_DEFINITION safety CONTROLLER 29
attributes 57 safety MODULE 48
component 55 safety TAG 88
example 58 SFC_ROUTINE 132
guidelines 58 ST_ROUTINE 155
parameters 60 TAG 67
source protected 62, 99 TASK 168, 180
add-on instruction 55, 58 TREND 172
AddOnInstructionDefinition AXIS_CONSUMED TAG 75
component 206 AXIS_SERVO TAG 75
ALARM_ANALOG AXIS_SERVO_DRIVE TAG 75
ALMMSG 72 AXIS_VIRTUAL TAG 75
attributes 69
ALARM_DIGITAL B
ALMMSG 74 backward compatibility 222
attributes 72 BLOCK
aliases 67 component 121
ALMMSG guidelines 122
ALARM_ANALOG 72 block 143
ALARM_DIGITAL 74 BRANCH
record 193 entering 149
array specifications 67 example 150
ATTACHMENT LEG block 150
entering 124, 153 branches 103, 149
example 124, 153
guidelines 124, 153
attachments 124, 153 C
attributes COMMENT
ADD_ON_INSTRUCTION_DEFINITION 57 record 191
ALARM_ANALOG 69 comments 187
ALARM_DIGITAL 72 CSV format 187
AXIS_CONSUMED TAG 75 internal file 24
AXIS_SERVO TAG 75 rung logic 104
AXIS_SERVO_DRIVE TAG 75 structured text logic 157
AXIS_VIRTUAL TAG 75 TAG 90
CONTROLLER 28 TXT Unicode format 187
COORDINATE_SYSTEM TAG 84 complete
DATATYPE 41 ADD_ON_INSTRUCTION_DEFINITION 55, 58
EquipmentPhase PROGRAM 97 branches 103
FBD_ROUTINE 112 comments 24
LOCAL_TAGS 61 components 22
MESSAGE TAG 86 CONFIG 179
MODULE 46 connection list 49
MOTION_GROUP TAG 87 conventions 23
PEN declaration 176 DATATYPE 41
PROGRAM 96 display style 24
FBD_ROUTINE 111
examples (continued) F
DATATYPE 44 FBD_ROUTINE
DIRECTED_LINK 151 attributes 112
EquipmentPhase PROGRAM 98 BLOCK logic 121
function block logic 114 component 111
ICON 120 example 114
IREF 118 ICON logic 119
LOGIC 116, 139, 158 IREF logic 117
MODULE 51 LOGIC block 116
OCON 120 OCON logic 119
online fsequential function chart logic 139 OREF logic 117
online function block logic 116 SHEET logic 113
online structured text logic 158 WIRE logic 120
OREF 118 format
PROGRAM 98 CSV 187
ROUTINE 103 L5X 177, 199
rung logic 104 TXT Unicode 187
safety CONTROLLER 35 function block logic 112
safety partner MODULE 53 entering attachments 124
safety PROGRAM 99 online edits 116
safety TASK 169 structure 111
SBR_RET 148
sequential function chart logic 133
SFC_ROUTINE 133 G
SHEET 114 guidelines
ST_ROUTINE 157 ADD_ON_INSTRUCTION_DEFINITION 58
STEP 145 ATTACHMENT 124, 153
STOP 149 BLOCK logic 122
TAG 90, 91 CONTROLLER 30
TASK 169 DATATYPE 44
TEXT_BOX 123, 152 DIRECTED_LINK 151
TRANSITION 147 ICON logic 119
TREND 178 IREF logic 118
TXT Unicode files 196 MODULE 51
WIRE 121 OCON 119
Excel 217 OREF
exporting logic 118
complete project 14 PROGRAM 97
CSV format 16 rung logic 102
file structure 202 SHEET logic 113
L5K format 14 TAG 90
L5X format 19 TASK 168
ladder rungs 19 TEXT_BOX 123, 152
partial project 16, 19 TREND 177
project 14 WIRE logic 121
tags 16, 19
trends 19, 177
H
types 13
history, import/export feature 221
I Module
ICON component 205
component 119 MOTION_GROUP TAG 87
example 120
guidelines 119 N
importing neutral text 104, 125, 159
complete project 15
CSV format 17
file structure 202 O
L5K format 15 objects 179
L5X format 20 OCON
ladder rungs 20 component 119
partial project 17, 20 example 120
project 15 guidelines 119
tags 17, 20 online function block 116
trends 20 online sequential function chart 139
types 13 online structured text 158
initial values 89 OREF
instructions 104, 125, 159 component 117
internal file comments 24, 187 example 118
IREF guidelines 118
component 117 overview 202
example 118
guidelines 118 P
parameters
L ADD_ON_INSTRUCTION_DEFINITION 60
L5X format 19, 177, 199 partial
ladder logic 101 AddOnInstructionDefinition 206
LEG block 150 ALMMSG record 193
LIMIT_HIGH block 143 COMMENT record 191
LIMIT_LOW block 143 comments 187
LOCAL_TAGS CSV format 187
attributes 61 DataType 202
logic 102, 112, 131, 156 L5X format 199
LOGIC block 116, 139, 158 Module 205
Program 210
RCOMMENT 187
M remark 187
MESSAGE TAG 86 structure 202
Microsoft Excel 217 TAG 187
MODULE Tag 209
attributes 46 TAG record 188
component 45 TREND 177
connection list 49 Trend 214
example 51 TXT Unicode format 187
guidelines 51 using Excel 217
safety attributes 48 partial import/export 16, 17, 19, 20
safety partner example 53 PEN declaration 176
phase manager program 97
TAG (continued) W
component comments 90 WIRE
COORDINATE_SYSTEM 84 component 120
example 90 example 121
guidelines 90 guidelines 121
initial values 89
MESSAGE 86
MOTION_GROUP 87
partial 187
record 188
safety 88
Tag
component 209
tags 16, 17, 19, 20
TASK
attributes 168, 180
component 167
example 169
guidelines 168
text boxes 152
text file 14
TEXT_BOX
entering 152
example 123, 152
guidelines 123, 152
TEXTBOX record 191
TRANSITION
CONDITION block 146
entering 145
example 147
TREND
attributes 172
component 171
example 178
guidelines 177
partial 177
PEN declaration 176
Trend
component 214
TXT Unicode format
examples 196
U
Unicode TXT format 187
You can complete this form and mail it back to us, visit us online at www.ab.com/manuals, or
email us at [email protected]
Cat. No. Logix-based controllers Pub. No. 1756-RM084L-EN-P Pub. Date January 2007 Part No. 953030-21
Please complete the sections below. Where applicable, rank the feature (1=needs improvement, 2=satisfactory, and 3=outstanding).
Overall Usefulness 1 2 3 How can we make this publication more useful for you?
Other Comments You can add additional comments on the back of this form.
Other Comments
PLEASE REMOVE
PLEASE FOLD HERE
NO POSTAGE
NECESSARY
IF MAILED
IN THE
UNITED STATES
1 ALLEN-BRADLEY DR
MAYFIELD HEIGHTS OH 44124-9705
Notes:
Notes:
Rockwell Automation Rockwell Automation provides technical information on the Web to assist you in using
its products. At http://support.rockwellautomation.com, you can find technical
Support manuals, a knowledge base of FAQs, technical and application notes, sample code and
links to software service packs, and a MySupport feature that you can customize to
make the best use of these tools.
For an additional level of technical phone support for installation, configuration, and
troubleshooting, we offer TechConnect Support programs. For more information,
contact your local distributor or Rockwell Automation representative, or visit
http://support.rockwellautomation.com.
Installation Assistance
If you experience a problem with a hardware module within the first 24 hours of
installation, please review the information that's contained in this manual. You can also
contact a special Customer Support number for initial help in getting your module up
and running.
Rockwell 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, it may
need to be returned.
United States Contact your distributor. You must provide a Customer Support case
number (see phone number above to obtain one) to your distributor in
order to complete the return process.
Outside United Please contact your local Rockwell Automation representative for
States return procedure.