Rockwell ControlLogix Programm Parameters
Rockwell ControlLogix Programm Parameters
Activities including installation, adjustments, putting into service, use, assembly, disassembly, and maintenance are required to be carried out by
suitably trained personnel in accordance with applicable code of practice. If this equipment is used in a manner not specified by the manufacturer,
the protection provided by the equipment may be impaired.
In no event will Rockwell Automation, Inc. be responsible or liable for indirect or consequential damages resulting from the use or application of this
equipment.
The examples and diagrams in this manual are included solely for illustrative purposes. Because of the many variables and requirements associated
with any particular installation, Rockwell Automation, Inc. cannot assume responsibility or liability for actual use based on the examples and
diagrams.
No patent liability is assumed by Rockwell Automation, Inc. with respect to use of information, circuits, equipment, or software described in this
manual.
Reproduction of the contents of this manual, in whole or in part, without written permission of Rockwell Automation, Inc., is prohibited.
Throughout this manual, when necessary, we use notes to make you aware of safety considerations.
WARNING: Identifies information about practices or circumstances that can cause an explosion in a hazardous environment, which may lead to
personal injury or death, property damage, or economic loss.
ATTENTION: Identifies information about practices or circumstances that can lead to personal injury or death, property damage, or economic
loss. Attentions help you identify a hazard, avoid a hazard, and recognize the consequence
Important: Identifies information that is critical for successful application and understanding of the product.
SHOCK HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that dangerous voltage may be
present.
BURN HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that surfaces may reach dangerous
temperatures.
ARC FLASH HAZARD: Labels may be on or inside the equipment, for example, a motor control center, to alert people to potential Arc Flash. Arc
Flash will cause severe injury or death. Wear proper Personal Protective Equipment (PPE). Follow ALL Regulatory requirements for safe work
practices and for Personal Protective Equipment (PPE).
Allen-Bradley, Rockwell Software, Rockwell Automation, and TechConnect are trademarks of Rockwell Automation, Inc.
Trademarks not belonging to Rockwell Automation are property of their respective companies.
Table of contents
Chapter 1
Chapter 2
This manual shows how to create and configure program parameters. This manual
is one of a set of related manuals that show common procedures for programming
and operating Logix5000 controllers.
The term Logix5000 controller refers to any controller that is based on the
Logix5000 operating system.
Studio 5000 environment The Studio 5000 Automation Engineering & Design Environment™ combines
engineering and design elements into a common environment. The first element is
the Studio 5000 Logix Designer™ application. The Logix Designer application is
the rebranding of RSLogix™ 5000 software and will continue to be the product to
program Logix5000™ controllers for discrete, process, batch, motion, safety, and
drive-based solutions.
Additional resources These documents contain additional information concerning related Rockwell
Automation products.
Resource Description
Industrial Automation Wiring and Grounding Guidelines, Provides general guidelines for installing a Rockwell
publication 1770-4.1 Automation industrial system.
Product Certifications webpage, available at Provides declarations of conformity, certificates, and other
http://ab.rockwellautomation.com certification details.
This table defines the terms that are important to understanding the concepts
Important terminology
described in this manual.
Term Definition
Argument An argument is assigned to a parameter and contains the specification of the data used by an
instruction in a user program. An argument can contain the following:
• A simple tag (for example, L101)
• A literal value (for example, 5)
• A tag structure reference (for example, Recipe.Temperature)
• A direct array reference (for example, Buffer[1])
• An indirect array reference (for example, Buffer[Index+1])
• A combination (for example, Buffer[Index+1].Delay)
InOut parameter An InOut parameter is a special usage program parameter that represents a reference to data that can
be used both as input and output during the execution of a program. Because InOut parameters pass by
reference rather than by value, they are merely a pointer to the original data and closely resemble the
behavior of an alias tag. With that in mind, it is possible that the InOut parameter values could change
during the execution of a program. Depending on your task structure, this behavior may be necessary.
Input parameter An Input parameter is a parameter that defines the data that is passed by value into an executing
program. Since Input parameters are passed by value, their values cannot change from external sources
during the execution of the program. An Input parameter supports a maximum of one sourcing
connection.
Output An Output parameter is a parameter that defines the data that is produced as a direct result of executing
parameter a program. Since Output parameters are always passed by value, their values only change at the end of
the scan of a program when the copy of the parameters is executed.
Tip: If using direct access another program can be a source for an Output parameter.
Passed by When an argument is passed to a parameter by reference, the logic directly reads or writes the value
reference that the tag uses in controller memory. External code or HMI interaction that changes the argument’s
value can change the value during execution of a program.
Passed by value When an argument is passed to a parameter by value, the value is copied in or out of the parameter
during execution of a program. The value of the argument does not change from external code or HMI
interaction.
Public A Public parameter is an encapsulated version of a controller scope tag, and typically it is used for large
parameter data structures that need to be shared among programs.
This chapter provides an overview of program parameters and then further defines
Introduction
each type of program parameter. Explanations are provided on when to use each
type of program parameter and the general rules to follow, and example procedures
are provided for connecting each type of program parameter.
Program parameters A program parameter is an argument that is exposed for external access by a
program. Unlike local tags, all program parameters are publicly accessible outside
of the program. Additionally, HMI external access can be specified for each
parameter. Data sharing between programs can be achieved either through
pre-defined connections between parameters or directly accessed through a special
notation.
• Input
• Output
• InOut
• Public
Among other benefits, program parameters allow you to clearly define the inputs
to the routines in a program, and the outputs from those routines. Input and
Output parameters also automatically buffer data, so that you do not need to
create separate tags to buffer IO data (although if desired, you can still buffer data
using the Synchronous Copy File [CPS] instruction).
• Properties pane on the Program Parameters and Local Tags dialog box
Input parameters An Input parameter is a parameter that defines the data that is passed by value
into an executing program. Since Input parameters are passed by value, their
values cannot change from external sources during the execution of the program.
An Input parameter supports a maximum of one sourcing connection.
For more information on the Input parameter connections that can be made, see
Program parameter connection rules on page 28.
Tip: This procedure demonstrates the use of the Properties pane on the Program Parameters and Local Tags
dialog box. You can alternatively connect parameters using any of the other methods shown in Program
parameter connection methods on page 8.
1. In the Controller Organizer, expand the folder for the program for which
you are connecting an Input parameter, and double-click Parameters and
Local Tags.
2. On the Program Parameters and Local Tags dialog box, choose the Input
parameter that you want to connect.
7. In the Tag Browser, locate and expand the desired controller scope tag.
8. Click to the right of the desired tag, and click the drop-down arrow.
9. Click the bit that you want to associate with this Input parameter.
10. In the Tag box, verify that the resulting information is correct, and click
OK. Notice that the first number in the brackets next to Parameter
Connections has incremented by one, indicating that the number of
connections to the parent tag have increased by one.
Output parameters An Output parameter is a parameter that defines the data that is produced as a
direct result of executing a program. Since Output parameters are always passed by
value, their values only change at the end of the scan of a program when the copy
of the parameters has executed.
Tip: If using direct access another program can be a source for an Output parameter.
For more information on the Output parameter connections that can be made, see
Program parameter connection rules on page 28.
Tip: This procedure demonstrates the use of the Parameters tab on the Program Properties dialog box. You can
alternatively connect parameters using any of the other methods shown in Program parameter connection
methods on page 8.
1. In the Controller Organizer, double-click the folder for the program for
which you are creating an Output parameter connection.
3. In the Name box, click the name of the Output parameter for which you
want to add a connection.
5. In the New Connection box, type the tag to which you want to connect
this Output parameter, and click Apply.
Tip: This procedure demonstrates the use of the Properties pane on the Program Parameters and Local Tags
dialog box. You can alternatively connect parameters using any of the other methods shown in Program
parameter connection methods on page 8.
1. In the Controller Organizer, expand the folder for the program for which
you are creating an Output parameter connection, and double-click
Parameters and Local Tags.
2. On the Program Parameters and Local Tags dialog box, choose the
Output parameter that you want to connect.
7. (optional) On the Tag Browser, clear one or more of the check boxes to
limit the number of available parameters that appear in the list.
8. In the Show parameters from other program list, choose the program to
which you want to connect this Output parameter.
InOut parameters An InOut parameter is a special usage program parameter that represents a
reference to data that can be used both as input and output during the execution
of a program. Because InOut parameters pass by reference rather than by value,
they are merely a pointer to the original data and closely resemble the behavior of
an alias tag. With that in mind, it is possible that the InOut parameter values
could change during the execution of a program. Depending on your task
structure, this behavior may be necessary.
Another useful scenario for InOut parameters is for instructions whose tags can
only be placed at the controller scope, such as the Message (MSG) instruction.
InOut parameters can connect directly to the MSG instruction tags in the
controller scope.
Finally, InOut parameters are useful for programs that have a large data structure,
and you do not want to pass the whole structure by value.
• InOut parameters can only support one connection. You cannot configure
connections to any member of an InOut parameter.
• An InOut parameter can only be connected to an Output parameter if the
InOut parameter is configured as a constant.
• InOut parameters are passed by reference, which means they point to the
base tag. In other words, when an InOut parameter is used in logic, the
current value of the parameter connected to the InOut parameter is used.
• Connections to InOut parameters cannot be changed online, unless using
the Partial Import Online (PIO) functionality.
For more information on the InOut parameter connections that can be made, see
Program parameter connection rules on page 28.
Tip: This procedure demonstrates the use of the Properties pane on the Program Parameters and Local Tags
dialog box. You can alternatively connect parameters using any of the other methods shown in Program
parameter connection methods on page 8.
1. In the Controller Organizer, expand the folder for the program for which
you are creating an InOut parameter connection, and double-click
Parameters and Local Tags.
2. On the Program Parameters and Local Tags dialog box, choose the InOut
parameter that you want to connect.
6. (optional) On the Tag Browser, clear all but the Show controller tags
check box to limit the number of available parameters that appear in the list.
8. Click OK.
Public parameters A Public parameter is an encapsulated version of a controller scope tag, and
typically it is used for large data structures that need to be shared among programs.
Public parameters are updated as the source updates, so higher priority tasks that
interrupt a program during execution have access to any updated values in the
lower priority task. Additionally, fan-in is supported with Public parameters,
which is useful in situations where a code module or object could receive a
command from many modules or objects. Input parameters can be used, but an
individual Input parameter is required for each connection. In other words, if a
code module or object had a command that could be invoked by 10 different code
modules or objects then 10 input parameters are required. However, if the
command is configured as a Public parameter, then all 10 code modules or objects
could have an Output parameter connected to a single Public parameter.
For more information on the Public parameter connections that can be made, see
Program parameter connection rules on page 28.
Tip: This procedure demonstrates the use of the Properties pane on the Program Parameters and Local Tags
dialog box. You can alternatively connect parameters using any of the other methods shown in Program
parameter connection methods on page 8.
1. In the Controller Organizer, expand the folder for the program for which
you are creating an Public parameter connection, and double-click
Parameters and Local Tags.
2. On the Program Parameters and Local Tags dialog box, click the Edit
Tags tab.
3. Locate the tag you want to change to a Public parameter, and in the Usage
box, choose Public Parameter.
7. On the Tag Browser, in the Show parameters from other program list,
choose the program to which you want to connect this Public parameter.
9. Click OK.
Safety program parameters Special considerations apply when using program parameters within safety
programs.
Program parameter The following information summarizes the program parameter connection rules.
connection rules
Standard program to standard program connection rules
The following table summarizes the rules for using program parameters to connect
two standard programs.
Tip: The connection rules for programs also apply to Equipment Phases.
Program_A
(Standard)
Program_B Input Output InOut Public Controller Scope Tag
(Standard) (Standard Class)
Tip: The connection rules for programs also apply to Equipment Phases.
Program_A
(Safety)
Program_B Input Output InOut Public Controller Scope
(Safety) Tag (Safety Class)
Tip: The connection rules for programs also apply to Equipment Phases.
Program_A
(Safety)
Program_B Input Output InOut Public Controller Scope
(Standard) Tag (Safety Class)
Output — — — — —
InOut — — — — —
Public — — — — —
This chapter provides an overview of direct access and an example procedure for
Introduction
directly accessing program parameters when working within code editors.
Direct access Direct access lets you reference the program parameters from another program in
logic without configuring parameters in the local program. The syntax used for
direct access is \ProgramName.ParameterName. For example, assume Program_A
has an output parameter called Tank_Level. Without creating a corresponding
input parameter to connect to Program_A, Program_B can reference the
Tank_Level parameter in logic using the syntax \A.Tank_Level.
Tip: While this example is specific to ladder logic, the notation is the same for all programming languages.
1. In the Controller Organizer, expand the folder for the program that
contains the ladder logic routine that contains instructions for which you
are configuring direct access, and double-click the routine.
2. In the Ladder Editor Routine, locate the instruction for which you want to
add a reference to a program parameter that is in another program.
4. (optional) On the Tag Browser, clear or select the check boxes to focus the
list of available parameters that appear to what you need.
5. In the Show parameters from other program list, choose the program to
which you want to connect this instruction.
A
P
argument 6
passed by reference 6
passed by value 6
C program parameter
connect connect 7
InOut parameter 22 connection methods 8
Input parameter 13 connection of UDT sub-elements 12
Output parameter 17, 18 connection syntax 11
Public parameter 25 Public parameter
connection methods 8 connect to another program 25
connection types and uses 23
general connection rules 24
D overview 23
direct access
behavior 31
overview 31
S
use 32 safety program parameters
general connection rules 27
overview 27
I
InOut parameter
connect to a controller scope tag 22
U
connection types and uses 20 UDT sub-elements 12
general connection rules 21
overview 20
Input parameter
connect to a controller scope tag 13
connection types and uses 12
general connection rules 12
overview 12
O
Output parameter
connect to a controller scope tag 17
connect to another program 18
connection types and uses 16
general connection rules 16
overview 16
In addition, we offer multiple support programs for installation, configuration, and troubleshooting. For more information, contact your local
distributor or Rockwell Automation representative, or visit http://www.rockwellautomation.com/services/online-phone.
Installation assistance
If you experience a problem within the first 24 hours of installation, review the information that is contained in this manual. You can contact
Customer Support for initial help in getting your product up and running.
United States Contact your distributor. You must provide a Customer Support case number (call the phone number above to obtain one) to
your distributor to complete the return process.
Outside United States Please contact your local Rockwell Automation representative for the return procedure.
Documentation feedback
Your comments will help us serve your documentation needs better. If you have any suggestions on how to improve this document, complete the
feedback form, publication RA-DU002.