Programming Manual

Logix5000 Controllers I/O and Tag Data
Catalog Numbers 1756 ControlLogix, 1756 GuardLogix, 1768 Compact GuardLogix, 1769 CompactLogix, 1789 SoftLogix, PowerFlex with DriveLogix

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://www.rockwellautomation.com/literature/) 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.
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 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. IMPORTANT Identifies information that is critical for successful application and understanding of the product.

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.2012

Summary of Changes
This manual contains new and updated information. IMPORTANT RSLogix 5000 programming software is now known as Studio 5000TM Logix Designer application, a component of the Studio 5000 Engineering and Design Environment.

The following controllers are no longer supported in Logix Designer application, version 21.
Catalog Number 1756-L61 1756-L61S 1756-L62 1756-L62S 1756-L63 1756-L63S 1756-L64 1756-L65 1768-L43 1768-L43S 1768-L45 1768-L45S 1769-L23E-QBF1 1769-L23E-QBFC1 1769-L23-QBFC1 1769-L31 1769-L32C 1769-L32E 1769-L35CR 1769-L35E Description ControlLogix 5561 Controller ControlLogix 5561S Controller ControlLogix 5562 Controller ControlLogix 5562S Controller ControlLogix 5563 Controller ControlLogix 5563S Controller ControlLogix 5564 Controller ControlLogix 5565 Controller CompactLogix 5343 Controller CompactLogix 5343S Controller CompactLogix 5345 Controller CompactLogix 5345S Controller CompactLogix 5323E-QB1 Controller CompactLogix 5323E-QBFC1 Controller CompactLogix 5323-QBFC1 Controller CompactLogix 5331 Controller CompactLogix 5332C Controller CompactLogix 5332E Controller CompactLogix 5335CR Controller CompactLogix 5335E Controller

Changes throughout this revision are marked by change bars, as shown in the margin of this page. This table contains the changes made to this revision.
Topic Extended Properties Using extended properties in logic Adding Extended Properties to a Tag Min and Max for DINT, INT, LINT, SINT, and REAL Data Types Adding Extended Properties to a User-Defined Data Type Paste a Pass-Through Description Project Documentation Page 25 30 33 34 43 46 55

Rockwell Automation Publication 1756-PM004D-EN-P - September 2012

1

Summary of Changes Notes: 2 Rockwell Automation Publication 1756-PM004D-EN-P .September 2012 .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Exact Match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Electronic Keying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Array Subscript Out of Range . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Purpose of This Manual . . . . . . . Create a Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paste a Pass-Through Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Assign an Indirect Address . . . . . . . . Describing a User-defined Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tag Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Ownership. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Communication Format . . . . . . . . . . . . . . . . . . . . . . Create an Array . . . . . . . . . . . . . . . 23 24 25 27 29 33 33 35 38 39 40 41 43 44 45 46 47 48 49 50 51 52 54 55 55 Rockwell Automation Publication 1756-PM004D-EN-P . .Table of Contents Preface Studio 5000 Engineering and Design Environment and Logix Designer Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Chapter 1 Communicate with I/O Modules Introduction. . Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scope. . . . . 19 Buffer I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring an Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Address Tag Data . . . . . . . . . . . . . . Activate Pass-Through and Append Descriptions . . . . . . . . . . . . . . . . . . . Creating a User-defined Data Type . . . . . . . . . . . . . . . Assign an Alias . . . . . . . . . . . . . . . . . . . . . . . Alias Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a User-defined Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Display Alias Information . Tag Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Project Documentation . . . . . . . . . Data Type . . . . . . . . . . . . . . . . . . . 20 Chapter 2 Organizing Tags Introduction. . . . . . . . . . . . . . . . . . . Guidelines for Tags. . . . . . . . . . . . 14 Address I/O Data . . . . Guidelines for User-defined Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Extended Properties to a Tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Requested Packet Interval. . . . . . . . . . . . . . . . . . . . 13 Compatible Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .September 2012 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Direct or Rack-Optimized Connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Extended Properties to a User-Defined Data Type . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Tag Mapping Considerations. . . . . . . . . . . . . Enable Forces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GSV Instruction . . . . . . . . . . . . . . . . 71 External Access Availability . 67 Set Up External Access in the Tag Properties Dialog Box . . . . . . . . . . Force an Input Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Disable All I/O Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Set Up a Constant in the New Tag Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 57 57 58 58 59 59 60 61 61 61 62 62 63 63 Chapter 4 Data Access Control Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 User-defined Type Considerations . . . . 65 Configure External Access. . . . . . . . . . . .Table of Contents Chapter 3 Force I/O Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Force an Output Value . . . . 66 Configure External Access in the New Tag Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Configure a Constant in the Tag Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remove an Individual Force . . . . . . . 80 Constant Checkbox Availability . . . . . . . . . . Precautions . . . . . . . . . . . . . . . . . . . . . . . . . 82 Index 4 Rockwell Automation Publication 1756-PM004D-EN-P . Disable or Remove a Force. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 External Access Options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Add-On Instructions Constant Value Considerations . . . . . . . . . . . . . . . . . . . . . 78 Designate a Constant in the Tag Editor. . . . . . . . . . . . FORCE Status Indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .September 2012 . . . . . . . . . . . . . . 73 Add-On Instructions External Access Considerations . . . . . . . . . . . . 76 Imported Tag Behavior . . . . . . . . . . . . . . . . . . . . Check Force Status . . . . . . . . . Add an I/O Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Configure Constant Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remove or Disable Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remove All I/O Forces . . 69 View and Select External Access Status on the Tag Editor Window 70 ‘Go To’ Search Menu . . . . . . . . . . . . . . . . . . . . . . . . . When to Use I/O Force. . . . . . 76 Constant Value Tags. . . . . . . . . . . 65 External Access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Rockwell Automation Publication 1756-PM004D-EN-P .Preface Studio 5000 Engineering and Design Environment and Logix Designer Application The Studio 5000™ Engineering and Design Environment combines engineering and design elements into a common environment. publication 1756-PM001. motion. • SoftLogix5800 controllers. The Studio 5000 environment is the foundation for the future of Rockwell Automation® engineering design tools and capabilities. The Logix Designer application is the rebranding of RSLogix™ 5000 software and will continue to be the product to program Logix5000™ controllers for discrete. The first element in the Studio 5000 environment is the Logix Designer application. such as: • CompactLogix and Compact GuardLogix controllers • ControlLogix and GuardLogix controllers • DriveLogix controllers. process. Purpose of This Manual This manual shows how to access I/O and tag data in Logix5000 controllers. and drive-based solutions. For a complete list of common procedures manuals. The term Logix5000 controller refers to any controller that is based on the Logix5000 operating system. refer to the Logix5000 Controllers Common Procedures Programming Manual. It is the one place for design engineers to develop all the elements of their control system. batch. This manual is one of a set of related manuals that show common procedures for programming and operating Logix5000 controllers. safety. • FlexLogix controllers.September 2012 5 .

Preface Notes: 6 Rockwell Automation Publication 1756-PM004D-EN-P .September 2012 .

September 2012 7 . these are some common options that you typically configure: · Requested Packet Interval · Communication Format · Electronic Keying Rockwell Automation Publication 1756-PM004D-EN-P . While the configuration options vary from module to module. Add I/O modules here. you add the module to the I/O Configuration folder of the controller. you also define a specific configuration for the module.Chapter 1 Communicate with I/O Modules Introduction To communicate with an I/O module in your system. When you add the module.

copy the value to another tag and use the data from there (buffer the values). Each format uses a different data structure. Many I/O modules support different formats. Requested packet interval (RPI) In Logix5000 controllers.September 2012 . · To prevent an input value from changing during a scan. such as between a controller and an I/O module. or another controller. · An input value referenced at the beginning of a task’s execution can be different when referenced later. The timing of this slot may not coincide with the exact value of the RPI. Connections are allocations of resources that provide more reliable communications between devices than unconnected messages. 8 Rockwell Automation Publication 1756-PM004D-EN-P . you configure an RPI in milliseconds (ms). ·If a ControlNet network connects the devices. Communication Format The communication format that you choose determines the data structure for the tags that are associated with the module. the controller updates a value independently from the execution of logic. The values update asynchronous to the execution of logic.Chapter 1 Communicate with I/O Modules Requested Packet Interval Term Connection Definition The Logix5000 controller uses connections to transmit I/O data. For example. At the specified interval. You can duplicate or buffer data at the beginning of the scan to provide reference values for your logic. You indirectly determine the number of connections the controller uses by configuring the controller to communicate with other devices in the system. The range is 0. · Data and I/O values are asynchronous and can change during the course of a task’s execution. The communication format that you choose also determines: · Direct or Rack-Optimized Connection. PanelView terminal.2 ms (200 microseconds)…750 ms. ATTENTION: Make sure that data memory contains the appropriate values throughout a task’s execution. The following types of communication use connections: ·I/O modules ·produced and consumed tags ·certain types of Message (MSG) instructions (not all types use a connection) The RPI specifies the period at which data updates over a connection. I/O values update at a period that you configure via the I/O configuration folder of the project. an input module sends data to a controller at the RPI that you assign to the module. ·Typically. the RPI reserves a slot in the stream of data flowing across the ControlNet network. · Logic within any task can modify controller-scoped data. A communication link between two devices. but the control system guarantees that the data transfers at least as often as the RPI. The number of connections that a single controller can have is limited. · Ownership. · Programs within a task access input and output data directly from controller-scoped memory.

sets fault bits in the data area associated with the module. you can select rack-optimized communication. there is one connection for the entire chassis (or DIN rail). Rather than having individual. A direct connection is any connection that does not use the Rack Optimization Comm Format. A rack-optimized connection consolidates connection usage between the controller and all the digital I/O modules in the chassis (or DIN rail). Rockwell Automation Publication 1756-PM004D-EN-P . These connections can be direct connections or rack-optimized connections. This means that multiple devices can receive the same data at the same time from a single device. direct connections for each I/O module. The controller maintains and monitors the connection with the I/O module. Term Direct connection Definition A direct connection is a real-time. data transfer link between the controller and an I/O module. Any break in the connection. Rack-optimized connection For digital I/O modules.Communicate with I/O Modules Chapter 1 Direct or Rack-Optimized Connection The Logix5000 controller uses connections to transmit I/O data. such as a module fault or the removal of a module while under power.September 2012 9 . modules multicast data. Rack-Optimized Connection Ownership In a Logix5000 system.

not listen-only) Listen-only Stop communication with the module if it loses communication with the other controller Output module Does not own the module Owns the module There is a noted difference in controlling input modules versus controlling output modules.Chapter 1 Communicate with I/O Modules When you choose a communication format. A controller using a listen-only connection only monitors the module. An owner connection is any connection that does not include Listen-Only in its Comm Format. 10 Rockwell Automation Publication 1756-PM004D-EN-P . The owner controller writes configuration data and can establish a connection to the module. Listen-only Owner (such as. Owner controller The controller that creates the primary configuration and communication connection to a module. Table 1 .Choose the Type of Ownership If module is Input module And another controller Does not own the module Owns the module Maintain communication with the module if it loses communication with the other controller And you want to Then use this type of connection Owner (not listen-only) Owner (not listen-only) Use the same configuration as the other owner controller. Listen-only Connection Use the following table to choose the type of ownership for a module. Listen-only connection An I/O connection where another controller owns/provides the configuration data for the I/O module.September 2012 . It does not write configuration data and can only maintain a connection to the I/O module when the owner controller is actively controlling the I/O module. you have to choose whether to establish an owner or listen-only relationship with the module.

Once an input module has been configured (and owned by a controller). the connection attempt is rejected. All other additional owners must have the identical configuration data and identical communications format that the original owner controller has. These controllers can receive multicast data while another controller owns the module. This lets additional owners to continue to receive multicast data if the original owner controller breaks its connection to the module. If all owner controllers break their connections to the input module.Communicate with I/O Modules Chapter 1 Table 2 . Once an output module has been configured (and owned by one controller). Only one-owner connection is allowed for an output module. the connection attempt is rejected. This configuring controller is the first controller to establish an owner connection.September 2012 11 . otherwise. other controllers can establish listenonly connections to that module. These controllers can receive multicast data while another controller owns the module. other controllers can establish a listen-only connection to that module. If the owner controller breaks its connection to the output module. other controllers can establish owner connections to that module. An output module is configured by a controller that establishes a connection as an owner. Once an input module has been configured (and owned by a controller). Listen-only Output modules Owner Listen-only Rockwell Automation Publication 1756-PM004D-EN-P . all controllers with listen-only connections no longer receive multicast data.Control Input and Output Modules Controlling Input modules This Ownership Owner Description An input module is configured by a controller that establishes a connection as an owner. If another controller attempts to establish an owner connection. all controllers with listen-only connections no longer receive multicast data.

Minor Revision You can find revision information on the General tab of a module’s Properties dialog box. When a Logix5000 controller begins communicating with a module. this set of keying attributes is considered. The general type of the module. Major Revision supports at least all of the data formats supported by an earlier. For each module in the I/O Configuration tree.General Tab IMPORTANT Changing electronic keying selections online may cause the I/O communication connection to the module to be disrupted and may result in a loss of data. for example. to the physical module before I/O communication begins. communication adapter. ·Exact Match ·Compatible Module ·Disable Keying You must carefully consider the benefits and implications of each keying option when selecting between them. generally represented by its catalog number. as shown in the Logix Designer I/O Configuration tree. that is lower. Attribute Vendor Product Type Catalog Number Major Revision Description The manufacturer of the module.September 2012 . 12 Rockwell Automation Publication 1756-PM004D-EN-P . Rockwell Automation/Allen-Bradley. the user-selected keying option determines if. for example. although not always. additional ones. fewer options are available. Major Revision of the same catalog number and. Figure 1 . a later. Electronic keying is based on a set of attributes unique to each product revision. Typically. For some specific module types. three keying options are available. that is higher. an electronic keying check is performed. and how. The specific type of module. AC drive.Chapter 1 Communicate with I/O Modules Electronic Keying The electronic keying feature automatically compares the expected module. You can use electronic keying to help prevent communication to a module that does not match the type and revision expected. possibly. or digital I/O. Typically. A number that represents the functional capabilities and data exchange formats of the module. for example. A number that indicates the module’s specific firmware revision. Minor Revisions typically do not impact data compatibility but may indicate performance or behavior improvement. 1756-IB16I.

communication is prevented because the Minor Revision of the module does not match precisely. In this case. Exact Match keying prevents I/O communication: The module configuration is for a 1756-IB16D module with module revision 3. Major Revision. that is. Use Exact Match keying when you need the system to verify that the module revisions in use are exactly as specified in the project.2.Communicate with I/O Modules Chapter 1 Exact Match Exact Match keying requires all keying attributes. as in the case of a communication module. of the physical module and the module created in the software to match precisely in order to establish communication. The physical module is a 1756-IB16D module with module revision 3. Module Configuration Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IB16D Major Revision = 3 Minor Revision = 1 Communication is prevented Physical Module Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IB16D Major Revision = 3 Minor Revision = 2 IMPORTANT Changing electronic keying selections online may cause the I/O Communication connection to the module to be disrupted and may result in a loss of data. Exact Match keying is also necessary to enable Automatic Firmware Update for the module via the Firmware Supervisor feature from a Logix5000 controller. Product Type. such as for use in highlyregulated industries. Catalog Number. I/O communication is not permitted with the module or with modules connected through it. and Minor Revision. Rockwell Automation Publication 1756-PM004D-EN-P . If any attribute does not match precisely. Vendor. EXAMPLE In the following scenario.1.September 2012 13 .

Major Revision. Compatible Module is the default setting.September 2012 . you can replace a 1756CNBR module with a 1756-CN2R module. Because of this. the module developers consider the module’s development history to implement capabilities that emulate those of the previous module.Chapter 1 Communicate with I/O Modules Compatible Module Compatible Module indicates that the module determines whether to accept or reject communication. lowest. With Compatible Module. Release notes for individual modules indicate the specific compatibility details. Compatible Module allows the physical module to accept the key of the module configured in the software. that is higher. For example. However. In some cases. When a module is created. the developers cannot know future developments. provided that the configured module is one the physical module is capable of emulating. communication adapters. revision of the physical module that you believe will be used in the system. the selection makes it possible to use a replacement that is a different catalog number than the original. 14 Rockwell Automation Publication 1756-PM004D-EN-P . and module types implement the compatibility check differently based on the family capabilities and on prior knowledge of compatible products. when a system is configured. we recommend that you configure your module using the earliest. The exact level of emulation required is product and revision specific. Different module families. you can replace a module of a certain Major Revision with one of the same catalog number and the same or later. that is.

September 2012 15 . Compatible Module prevents I/O communication: The module configuration is for a 1756-IB16D module with module revision 3. Module Configuration Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IB16D Major Revision = 3 Minor Revision = 3 Communication is prevented Physical Module Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IB16D Major Revision = 3 Minor Revision = 2 Rockwell Automation Publication 1756-PM004D-EN-P . you can avoid the case of a physical module rejecting the keying request because it is an earlier revision than the one configured in the software.3.3.Communicate with I/O Modules Chapter 1 By doing this. In this case.2. The physical module is a 1756-IB16D module with module revision 3. communication is prevented because the minor revision of the module is lower than expected and may not be compatible with 3. EXAMPLE In the following scenario.

2. communication is allowed because the major revision of the physical module is higher than expected and the module determines that it is compatible with the prior major revision. 16 Rockwell Automation Publication 1756-PM004D-EN-P .September 2012 . Compatible Module allows I/O communication: The module configuration is for a 1756-IB16D module with module revision 2. Module Configuration Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IB16D Major Revision = 2 Minor Revision = 1 Communication is allowed Physical Module Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IB16D Major Revision = 3 Minor Revision = 2 IMPORTANT Changing electronic keying selections online may cause the I/O communication connection to the module to be disrupted and may result in a loss of data.1. The physical module is a 1756-IB16D module with module revision 3.Chapter 1 Communicate with I/O Modules EXAMPLE In the following scenario. In this case.

Disable Keying prevents I/O communication: ATTENTION: The module configuration is for a 1756-IA16 digital input module. Module Configuration Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IA16 Major Revision = 3 Minor Revision = 1 Communication is prevented Physical Module Vendor = Allen-Bradley Product Type = Analog Input Module Catalog Number = 1756-IF16 Major Revision = 3 Minor Revision = 2 Rockwell Automation Publication 1756-PM004D-EN-P .September 2012 17 . you must take full responsibility for understanding whether the module being used can fulfill the functional requirements of the application. In this case. With Disabled Keying. are considered and must be acceptable before I/O communication is established. EXAMPLE ATTENTION: In the following scenario. if used incorrectly. If you use Disabled Keying. such as data size and format. or economic loss. communication is prevented because the analog module rejects the data formats that the digital module configuration requests. We generally do not recommend using Disabled Keying. this option can lead to personal injury or death. I/O communication may occur with a module other than the type specified in the I/O Configuration tree with unpredictable results. property damage. ATTENTION: Be extremely cautious when using Disabled Keying.Communicate with I/O Modules Chapter 1 Disabled Keying Disabled Keying indicates the keying attributes are not considered when attempting to communicate with a module. Other attributes. The physical module is a 1756-IF16 analog input module.

Disable Keying allows I/O communication: The module configuration is for a 1756-IA16 digital input module. In this case. 18 Rockwell Automation Publication 1756-PM004D-EN-P . Module Configuration Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IA16 Major Revision = 2 Minor Revision = 1 Communication is allowed Physical Module Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IB16 Major Revision = 3 Minor Revision = 2 IMPORTANT Changing electronic keying selections online may cause the I/O communication connection to the module to be disrupted and may result in a loss of data.Chapter 1 Communicate with I/O Modules EXAMPLE In the following scenario. communication is allowed because the two digital modules share common data formats.September 2012 . The physical module is a 1756-IB16 digital input module.

·For an analog module. When you add a module to the I/O Configuration folder… …the software automatically creates controllerscoped tags for the module. a Channel member (CH#) usually stores the data for a channel. depends on what type of data the module can store. · Each tag uses a structure of data.Bit = Optional Where Location Is Network location LOCAL = same chassis or DIN rail as the controller ADAPTER_NAME = identifies remote communication adapter or bridge module Slot Type Slot number of I/O module in its chassis or DIN rail Type of data I = input O = output C = configuration S = status Member Specific data from the I/O module. · The name of the tag is based on the location of the I/O module in the system.Communicate with I/O Modules Chapter 1 Address I/O Data I/O information is presented as a set of tags. An I/O address follows this format: Location :Slot :Type . a Data member usually stores the input or output bit values.Member . depends on the size of the I/O module (0…31 for a 32-point module) Rockwell Automation Publication 1756-PM004D-EN-P . The structure depends on the specific features of the I/O module.September 2012 19 . Specific point on a digital I/O module.SubMember . ·For a digital module. SubMember Bit Specific data related to a Member.

1. 2. On the rung after the function. 20 Rockwell Automation Publication 1756-PM004D-EN-P . the logic uses a copy of the I/O data.September 2012 . On the rung before the logic for the function. Buffer I/O in the following situations: · To prevent an input or output value from changing during the execution of a program. Instead. copy or move the data from the required input tags to their corresponding buffer tags. In the logic of the function.) · To copy an input or output tag to a member of a structure or element of an array. (I/O updates asynchronous to the execution of logic.Chapter 1 Communicate with I/O Modules Buffer I/O Buffering is a technique that logic does not directly reference or manipulate the tags of real I/O devices. reference the buffer tags. Follow these steps to buffer I/O. copy the data from the buffer tags to the corresponding output tags. 3.

0 drill[1].Data[0].home_limit / drill[1].retract drill[1].Data[0].retract The map_outputs routine copies the values of output tags in the drill routine to their corresponding output devices.part_advance / drill[1].forward drill[1].Communicate with I/O Modules Chapter 1 This example copies inputs and outputs to the tags of a structure for a drill machine.Data[0].home_limit The drill routine executes the logic for the drill machine. drill[1]. EXAMPLE Buffer I/O The main routine of the program executes the following subroutines in this sequence.depth_limit / drill[1].retract _1791_8AC:O.forward one_shots.4 drill[1].forward _1791_8AC:O. JSR Jump to Subroutine Routine name map_inputs JSR Jump to Subroutine Routine name drill JSR Jump to Subroutine Routine name map_outputs The map_inputs routine copies the values of input devices to their corresponding tags that are used in the drill routine.September 2012 21 .Data[0].depth_limit _1791_8AC:I. drill[1].0 drill[1].1 42369 Rockwell Automation Publication 1756-PM004D-EN-P . _1791_8AC:I.0 ONS drill[1].depth_limit drill[1].

September 2012 . – While the CPS instruction copies the data.Chapter 1 Communicate with I/O Modules This example uses the CPS instruction to copy an array of data that represent the input devices of a DeviceNet network. no I/O updates can change the data. the CPS instruction copies the input data to input_buffer.Data[0] Dest input_buffer[0] Length 20 42578 22 Rockwell Automation Publication 1756-PM004D-EN-P . EXAMPLE Buffer I/O Local:0:I. CPS Synchronous Copy File Source Local:0:I.Data stores the input data for the DeviceNet network that is connected to the 1756-DNB module in slot 0. it uses for its inputs the input data in input_buffer. – As the application executes. To synchronize the inputs with the application.

numeric format that depends on the type of data. The tag name itself identifies the data. and monitoring data. · In Logix5000 controllers. – Addresses follow a fixed. ·Tags are the basic mechanism for allocating memory. – document (through tag names) your application as you develop it. Rockwell Automation Publication 1756-PM004D-EN-P . F8:3. Term Tag Definition A text-based name for an area of the controller’s memory where data is stored. there is no fixed.Chapter 2 Organizing Tags Introduction With a Logix5000controller. – Symbols are required to make logic easier to interpret. a physical address identifies each item of data. but the data only fills the part it needs. the controller allocates four bytes. This lets you: – organize your data to mirror your machinery. referencing data from logic.September 2012 23 . ·When you create a tag that stores data that requires less than four bytes. you use a tag (alphanumeric name) to address data (variables). such as N7:8. ·The minimum memory allocation for a tag is four bytes. The controller uses the tag name internally and does not need to cross-reference a physical address. numeric format. · In conventional programmable controllers.

September 2012 . 24 Rockwell Automation Publication 1756-PM004D-EN-P . publication 1756-PM011. If you want the tag to Store a value or values for use by logic within the project Represent another tag Send data to another controller Receive data from another controller Then choose this type Base Alias Produced Consumed If you plan to use produced or consumed tags. you must follow additional guidelines as you organize your tags.Chapter 2 Organizing Tags EXAMPLE Tags Analog I/O Device Integer Value Storage Bit Counter Timer Digital I/O Device Tag Type The tag type defines how the tag operates within your project. See the Logix5000 Controllers Produced and Consumed Tags Programming Manual.

called a user-defined data type. members have a name and data type. Extended properties for a tag are added and modified in the Tag Properties pane. ·Like tags. Rockwell Automation Publication 1756-PM004D-EN-P . integer. ·Within a structure. The following table outlines the most common data types and when to use each. such as a bit. ·You can create your own structures.September 2012 25 .Organizing Tags Chapter 2 Data Type Term Data type Structure Definition The data type defines the type of data that a tag stores. and so forth. floating-point value. each individual data type is called a member. ·A Logix5000 controller contains a set of predefined structures (data types) for use with specific instructions such as timers. A data type that is a combination of other data types. Function Blocks. string. and so forth. ·A structure is formatted to create a unique data type that matches a specific need. counters. For Analog device in floating-point mode Analog device in integer mode (for very fast sample rates) ASCII characters Bit Counter Digital I/O point Floating-point number Integer (whole number) Sequencer Timer Select REAL INT String BOOL COUNTER BOOL REAL DINT CONTROL TIMER Extended Properties You have the option to add extended properties to select tags. their values are made available for use by some Rockwell Automation HMIs. The extended properties include: • Min • Max • Engineering Units • State0 • State1 When these properties are added.

17549435E-38 …3.40282347E38 (positive values) The COUNTER and TIMER data types are examples of commonly used structures. 26 Rockwell Automation Publication 1756-PM004D-EN-P . but the data only fills the part it needs. When you create a tag that stores data that requires less than four bytes. the controller allocates four bytes.147. publication 1756-RM003.40282347E38 Not used Not used Not used 16 15 8 7 1 0 0 or 1 -128…+127 -32. COUNTER Structure To collapse a structure and hide its members.483.Chapter 2 Organizing Tags The minimum memory allocation for a tag is four bytes.768…+32. click the + sign. click the – sign. TIMER Structure Members of running_seconds Data Type Members 42365 To copy data to a structure.17549435E-38 (negative values) 0 1.647 …-1. Data type Bits 31 BOOL SINT INT DINT REAL -3.September 2012 . Refer to the Logix5000 Controllers General Instructions Reference Manual.147.483.767 -2. use the COP instruction.648…+2. To expand a structure and display its members.

·You can reuse the tag name of a program-scoped tag in multiple programs. Tag_1 Tag_2 Tag_3 Program_A Program tags (Local data) Other routines Main routine Tag_4 Tag_5 Tag_6 Data Program_B Program tags (Local data) Other routines Main routine Tag_4 Tag_5 Tag_6 Data at the program scope is isolated from other programs.September 2012 27 .Organizing Tags Chapter 2 Scope When you create a tag. Rockwell Automation Publication 1756-PM004D-EN-P . Controller tags (Global data) All programs have access to data that is at the controller scope. There is no need to manage conflicting tag names between programs. This makes it easier to reuse both code and tag names in multiple programs. ·Routines cannot access data that is at the program scope of another program. both Program_A and Program_B can have a program tag named Tag_4. each with its own data. Project Controller tags (Global data) I/O data System-shared data Task Program Program tags (Local data) Other routines Main routine A Logix5000 controller lets you divide your application into multiple programs. For example. you define it as either a controller tag (global data) or a program tag for a specific program (local data).

you cannot reference a controller tag if a tag of the same name exists as a program tag for that program. Within a program. Table 3 . Certain tags must be controller scope (controller tag).September 2012 .Controller Scope Tags If you want to use the tag In more than one program in the project In a Message (MSG) instruction To produce or consume data In any of the seven AXIS data types To communicate with a PanelView terminal None of the above Program scope (program tags) Controller scope (controller tags) Then assign this scope 28 Rockwell Automation Publication 1756-PM004D-EN-P .Chapter 2 Organizing Tags Avoid using the same name for both a controller tag and a program tag.

·Otherwise. ·Each individual piece of data (member) gets a descriptive name. Details User-defined data types (structures) let you organize data to match your machine or process. valve positions. Read Only and None. ·You organize the data in one. define each tag at the program scope (program tags) for a different program. Avoid using the same name for both a controller tag and a program tag. or three dimensions to match what the data represents.September 2012 29 . Each element of the array represents a single tank. But it takes extra execution time and memory. pressures. External access limits the exposure of controller tags by defining a user’s ability to edit tags to Read/Write. the controller typically converts the value back to a SINT or INT value. If you want multiple tags with the same name. use a two-dimensional array to organize the data for a tank farm. See “Constant Value Tags” on page 77. This keeps related data together and easy to locate.Organizing Tags Chapter 2 Guidelines for Tags Table 4 . use the DINT data type Then assign this scope Controller scope (controller tags) Program scope (program tags) To increase the efficiency of your logic. ·Typically. For example. This helps: ·reduce the risk of inadvertently changing tags. Important: Minimize the use of BOOL arrays. For example. Use arrays to quickly create a group of similar tags Take advantage of program-scoped tags If you want the tag In more than one program in the project In a Message (MSG) instruction To produce or consume data In any of the seven AXIS data types To communicate with a PanelView terminal None of the above For integers. minimize the use of SINT or INT data types. use the DINT data type for integers.Tag Guidelines Table 5 . ·The conversion to or from SINTs or INTs occurs automatically with no extra programming. Use most restrictive external access Enable constant attribute for tags that should not be changed by logic Rockwell Automation Publication 1756-PM004D-EN-P . two. An array creates multiple instances of a data type under a common tag name. Then create a tag for each of your tanks based on that data type. This helps reduce the risk of inadvertently changing tags. and preset values. The location of the element within the array represents the geographic location of the tank. Whenever possible.Guideline Create user-defined data types Use the following guidelines to create tags for a Logix5000 project. ·reduce the number of tags to browse when configuring HMI. A constant value can be assigned to a tag to prevent the table-backed data from being changed programmatically. use the individual bits of a DINT tag or an array of DINTs. Within a program. Certain tags must be controller scope (controller tag). ·The controller typically converts a SINT or INT value to a DINT or REAL value before it uses the value. Many array instructions do not operate on BOOL arrays. regardless of its data type. ·You can use the data type to create multiple tags with the same data layout. ·Arrays let you organize a block of tags that use the same data type and perform a similar function. use a user-defined data type to store all the parameters for a tank. ·If the destination is a SINT or INT tag. This makes it more difficult to initialize and clear an array of BOOL data. you cannot reference a controller tag if a tag of the same name exists as a program tag for that program. A user-defined data type provides these advantages: ·One tag contains all the data related to a specific aspect of your system. use a BOOL array for the bit-level objects of a PanelView screen. This lets you reuse both logic and tag names in multiple programs. See “External Access” on page 65. including temperatures. This automatically creates an initial level of documentation for your logic. ·A Logix5000 controller typically compares or manipulates values as 32-bit values (DINTs or REALs).

To make it easier to monitor related tags. Use mixed case These tags are easier to read Tank_1 Tank1 Than these tags TANK_1 TANK1 tank_1 tank1 Consider the alphabetical order of tags Logix Designer application displays tags of the same scope in alphabetical order.Guideline Limit a tag name to 40 characters Details Here are the rules for a tag name: ·Only alphabetic characters (A-Z or a-z). However. numeric characters (0…9). and underscores (_) ·Must start with an alphabetic character or an underscore ·No more than 40 characters ·No consecutive or trailing underscore characters (_) ·Not case sensitive Although tags are not case sensitive (upper case A is the same as lower case a). q.Chapter 2 Organizing Tags Table 4 . the tags may end up separated from each other. you cannot write to extended properties values in logic.September 2012 . … Using extended properties in logic You can access limit extended properties defined on tags using the . p. and so forth. Starting each tag for a tank with ‘Tank’ keeps the tags together.Tag Guidelines Table 5 . mixed case is easier to read. Tag Name Tank_North Tank_South Otherwise. 30 Rockwell Automation Publication 1756-PM004D-EN-P .@Min and . you can use limit extended properties on an instruction’s source operand. For example: In the Ladder Editor. Tag Name North_Tank … … … South_Tank Other tags that start with the letters o. use similar starting characters for tags that you want to keep together.@Max syntax.

Organizing Tags

Chapter 2

Table 4 - Tag Guidelines Table 5 - Guideline
Using extended properties in logic (continued)

Details
In the Function Block Editor, you can access extended properties in logic by wiring an Input Reference to a block’s input pins.

In the Structured Text Editor, you can access limit extended properties in logic on the right hand side of an assignment operation or in a comparison statement. You can also access limit extended properties in logic when you embed structured text in the Sequential Function Chart Editor.

You need to know which tags have limit extended properties associated with them as there is no indication in the Tag Browser that extended properties are defined for a tag. If however, you try to use extended properties that have not been defined for a tag, the editors show a visual indication (that is: a rung error in Ladder Logic, a verification error X in Function Block Diagrams, and the error underlined in Structured Text) and the routine does not verify. ·Restrictions to adding extended properties in logic The following restrictions apply when you use extended properties in logic. · Extended properties must be used as an input operand Extended properties can be used on an instruction as long as the input (source) operand is a non-boolean atomic data type. That is, if an instruction has operands whose data type is non-atomic or BOOL, limit extended properties can not be used. For example, the ALMD instruction in Ladder Logic does not support extended properties because its configurable operands are of type BOOL. In the Ladder Editor, when limit extended properties is used in logic, the value field associated with the source operand is unavailable. You can change the tag's extended properties only in the Tag Properties Pane. · Alias Tags with Extended Properties cannot be accessed in Logic If alias tag extended properties are used in logic, the routine does not verify.

Rockwell Automation Publication 1756-PM004D-EN-P - September 2012

31

Chapter 2

Organizing Tags

Table 4 - Tag Guidelines Table 5 - Guideline
Using extended properties in logic (continued)

Details
·Array Tags are constrained A constraint on array tags apply if the array tag uses indirect addressing to access limit extended properties. If an array tag is using indirect addressing to access limit extended properties in logic, the following conditions apply. – If the Array Tag has limit extended properties configured, the extended properties are applied to any array element that does not explicitly have that particular extended property configured. For example, if the MyArray has Max configured to 100, then any element of the array that does not have Max configured inherits the value of 100 when being used in logic. However, it will not be visible to you that the value inherited from MyArray is configured in the tag properties. – At least one array element must have specific limit extended property configured for indirectly referenced array logic to verify. For example, if MyArray[x].@Max is being used in logic, at least one array element of MyArray[] must have Max extended property configured if Max is not configured by MyArray. If this is not done, if you attempt to access Max in logic on MyArray in logic, the routine does not verify. – Under the following circumstances a data type default value is going to be used: - Array is accessed programmatically with indirect reference. - Array tag does not have the extended property configured. - Member of array does not have the extended property configured. For example for Array of SINT type, when max limit is called in logic for a member, the value 127 will be used. ·Removing Extended Properties You cannot remove extended properties that are accessed in logic when the project is online with the controller. The Max and Min check boxes in the Extended Properties box in the Tag Editor are unavailable. You have to go offline in order to remove the extended properties. Removing extended properties in logic on structure tags is unavailable at the tag level. For example, if MyUDTTag has 2 members, Mem1 being a DINT and the Mem2 being a SINT, if you define limit extended properties in Logic on both members, but are only accessing Max extended properties on Mem1, the Max check box is unavailable in the Extended Properties box in the Tag Properties Pane for both members. You are not able to remove the Max extended properties for MyUDTTag .Mem2 online. The same applies for Array tags. If limit extended properties is define on an array element and that element is accessed in logic, then limit extended properties cannot be removed from any of the array elements.

32

Rockwell Automation Publication 1756-PM004D-EN-P - September 2012

Organizing Tags

Chapter 2

Create a Tag

The Tag Editor window lets you create and edit tags by using a spreadsheet-style view of the tags.
IMPORTANT

The Logix Designer application also automatically creates tags when you:
– Add an element to a sequential function chart (SFC). – Add a function block instruction to a function block diagram.

Follow these steps to create a tag by using the Logix Designer application. 1. On the Controller Organizer, right-click Controller Tags and choose Edit Tags. The Tag Editor window appears.

42350

2. Choose a scope for the tag.
If You Use The Tag
In more than one program within the project As a producer or consumer In any of the seven AXIS data types In a message In only one program within the project Program that will use the tag Name_of_controller

Then Select

3. Type a name, data type, and description (optional) for the tag. 4. Specify the External Access and Constant attributes. See Chapter 4 on page 65 for information on the External Access and Constant attributes.

Adding Extended Properties to a Tag
To add extended properties to a tag: 1. Select the tag in the Tag Editor. 2. In the Tag Properties pane, check the properties that you want to add from the Extended Properties list.

Rockwell Automation Publication 1756-PM004D-EN-P - September 2012

33

Chapter 2

Organizing Tags

The entries in the list depend on the tag’s data type. You can check more than one property.
For data type
Array and string Bool

You can add the following extended property
Engineering Unit State0 State1 Engineering Unit Min Max Engineering Unit

DINT, INT, LINT, SINT, and REAL and corresponding array member

The added properties are displayed in the Data properties category in the Tag Properties pane. Clear the check box to remove the property from the tag. This also removes the properties from the Data properties category. Note that once the property is removed, any value associated to the property is removed from the system. The list is not available for other types of tags.

Min and Max for DINT, INT, LINT, SINT, and REAL Data Types
Data Type
DINT INT LINT SINT REAL

Range
-2,147,483,648...2,147,483,647 -32,768...32,767 0...32535129599999999 -128...127 -3.402823E38 to -1.1754944E-38 (negative values) and 0 and 1.1754944E-38 to 3.402823E38 (positive values)

34

Rockwell Automation Publication 1756-PM004D-EN-P - September 2012

Organizing Tags

Chapter 2

Create an Array
Term
Array

Logix5000 controllers also let you use arrays to organize data.
Definition
A tag that contains a block of multiple pieces of data. ·An array is similar to a file. ·Within an array, each individual piece of data is called an element. ·Each element uses the same data type. ·An array tag occupies a contiguous block of memory in the controller, each element in sequence. ·You can use array and sequencer instructions to manipulate or index through the elements of an array. ·You organize the data into a block of one, two, or three dimensions.

A subscript (s) identifies each individual element within the array. A subscript starts at 0 and extends to the number of elements minus 1 (zero based).
To expand an array and display its elements, click the + sign.

To collapse an array and hide its elements, click the – sign.

This array contains six elements of the DINT data type. Six DINTs

Elements of Timer_Presets

42367

The following example compares a structure to an array.
This is a tag that uses the Timer structure (data type). Tag Name Data Type
TIMER DINT DINT BOOL BOOL BOOL

This is a tag that uses an array of the Timer data type. Tag Name Data Type
TIMER[3] TIMER TIMER TIMER

− Timer_1 + Timer_1.PRE + Timer_1.ACC
Timer_1.EN Timer_1.TT Timer_1.DN

− Timers + Timer[0] + Timer[1] + Timer[2]

Rockwell Automation Publication 1756-PM004D-EN-P - September 2012

35

click the – sign. Because all the values are the same data type (DINTs) an array is used. click the + sign.Chapter 2 Organizing Tags EXAMPLE Single-dimension array In this example. This array contains six elements of the DINT data type. Each step requires a different preset value.September 2012 . To collapse an array and hide its elements. Six DINTs Elements of Timer_Presets 42367 36 Rockwell Automation Publication 1756-PM004D-EN-P . a single timer instruction times the duration of several steps. To expand an array and display its elements.

The machine requires a value for the position of each hole from the leading edge of the book.0 1.5 7. Subscript of Second Dimension 0 0 1 Subscript of First Dimension 2 3 4 5 1. When the rightmost dimension starts over. The first subscript indicates the hole that the value corresponds and the second subscript indications how many holes will be drilled (one…five).5 9. the elements are in the order depicted below.75 1. Rockwell Automation Publication 1756-PM004D-EN-P .25 5. six elements x six elements.25 3.5 7.5 9.5 8. To organize the values into configurations.5 2. 42367 The rightmost dimension increments to its maximum value then starts over.5 9.September 2012 37 . a two-dimension array is used. the dimension to the left increments by one.Organizing Tags Chapter 2 EXAMPLE Two-dimension array ATTENTION: A drill machine can drill one…five holes in a book.25 3.5 5.75 1 2 3 4 5 Description Position of first hole from leading edge of book Position of second hole from leading edge of book Position of third hole from leading edge of book Position of fourth hole from leading edge of book Position of fifth hole from leading edge of book In the Tags window.75 1. This array contains a two-dimensional grid of elements.

you create a tag and assign dimensions to the data type. Assign the array dimensions.September 2012 . right-click Controller Tags and choose Edit Tags. If the tag is One-dimension array Two-dimension array Three-dimension array Then type Data_type[x] Data_type[x. Type a name for the tag and select a scope for the tag. 3.Chapter 2 Organizing Tags Configuring an Array To create an array. Y is the number of elements in the second dimension.z] Where Data_type is the type of data that the tag stores.y. On the Controller Organizer. 1. The Tag Editor window appears. 38 Rockwell Automation Publication 1756-PM004D-EN-P . X is the number of elements in the first dimension. Z is the number of elements in the third dimension.y] Data_type[x. 42350 2.

each tank can run a variety of recipes. ATTENTION: In a system of several tanks. Array of Recipes First Recipe This array contains three elements of the TANK data type. so forth). Because the recipe requires a mix of data types (REAL.September 2012 39 . BOOL. Members of the Recipe 42368 Rockwell Automation Publication 1756-PM004D-EN-P . DINT.Organizing Tags Chapter 2 Creating a User-defined Data Type EXAMPLE User-defined data types (structures) let you organize your data to match your machine or process. User-defined data type that stores a recipe. Name (of data type): TANK Member Name Temp Deadband Step Step_time Preset Mix Data Type REAL REAL DINT TIMER DINT[6] BOOL ATTENTION: An array that is based on this data type would look like this example. a user-defined data type is used.

Array of Drills First Drill This array contains four elements of the DRILL_STATION data type. Name (of data type): DRILL_STATION Member Name Part_advance Hole_sequence Type Hole_position Depth Total_depth Data Type BOOL CONTROL DINT REAL REAL REAL ATTENTION: An array that is based on this data type looks like this example. you must use logic to copy the data between the members in the structure and the corresponding I/O tags. limit the array to a single dimension. use these guidelines: · If you include members that represent I/O devices. Data for the Drill 42583 Guidelines for User-defined Data Types When you create a user-defined data type. Refer to “Address I/O Data” on page 19. 40 Rockwell Automation Publication 1756-PM004D-EN-P . use a user-defined data type. · If you include an array as a member. Because several drill stations require the following mix of data.September 2012 .Chapter 2 Organizing Tags EXAMPLE User-defined data type that stores the data that is required to run a machine. Multi-dimension arrays are not permitted in a user-defined data type.

or INT data types. 2. place members that use the same data type in sequence. Choose New Data Type. Rockwell Automation Publication 1756-PM004D-EN-P .Organizing Tags Chapter 2 · When you use the BOOL. On the Controller Organizer from the User-defined folder under Data Types.September 2012 41 . right-click User-Defined. SINT. More Efficient BOOL BOOL BOOL DINT DINT Less Efficient BOOL DINT BOOL DINT BOOL Creating a User-defined Data Type 1.

style. type a name. data type. To display the value of the member in a different style (radix). 4. 7. 42196 Limit any arrays to a single dimension. and description. Add as many members as needed. A description is optional. 42 Rockwell Automation Publication 1756-PM004D-EN-P . Click Apply.September 2012 . 6. Click the External Access column. Type a name and description for the user-defined data type. For each member of the user-defined data type. 5.Chapter 2 Organizing Tags 3. select the style. and choose an attribute.

Min and Max for DINT.647 -32. The entries in the list depend on the selected member’s data type.. SINT...648.. Engineering Units.402823E38 to -1.483. SINT. INT. 1.768. These extended properties are added and modified in the Data Type Editor Properties pane. check the properties that you want to add from the Extended Properties list.. You can check more than one property. and REAL Data Types Data Type DINT INT LINT SINT REAL Range -2..September 2012 43 . LINT. their values are made available for use by some Rockwell Automation HMIs. State 0. Max.147.1754944E-38 (negative values) and 0 and 1.2.. For data type Array and string Bool You can add the following extended property Engineering Unit State 0 State 1 Engineering Unit Min Max Engineering Units DINT.32535129599999999 -128. In the Data Type Editor Properties pane.127 -3.767 0.147. INT.32.402823E38 (positive values) Rockwell Automation Publication 1756-PM004D-EN-P .483.1754944E-38 to 3.Organizing Tags Chapter 2 Adding Extended Properties to a User-Defined Data Type You can add Min. and State 1 properties to a data type or its member. Select the data type member in the Data Type Editor 2. and REAL IMPORTANT The list is unavailable for other types of data type members.. When these properties are added. LINT.

This greatly reduces the amount of time you have to spend documenting your project. Pass through of descriptions – When possible. Tank became West Tank. Paste pass-through description – Use the data type and array description as a basis for more specific descriptions. As you organize your user-defined data types. In this example. element. or member.September 2012 . It starts with the description of the tag and then adds the description of the member from the data type. Table 6 .Chapter 2 Organizing Tags Describing a User-defined Data Type Version 13. ·Description of an array tag ripples through to the elements and members of the array. the Logix Designer application looks for an available description for a tag. The Logix Designer application uses different colors for descriptions. ·Descriptions in user-defined data types ripple through to the tags that use that data type. keep in mind the following features of the Logix Designer application. The Logix Designer application lets you automatically build descriptions out of the descriptions in your user-defined data types.Color Descriptions If Color Description Is Gray Black This Is Pass-through description Manually entered description 44 Rockwell Automation Publication 1756-PM004D-EN-P . Append description to base tag – the Logix Designer application automatically builds a description for each member of a tag that uses a user-defined data type.0 or later of the application.

from the Tools menu choose Options. 2. Under Application. 4. 1. The Work Station Options screen appears. Check Show Pass-Through Descriptions and Append to Base Tag Descriptions. Click OK. Rockwell Automation Publication 1756-PM004D-EN-P . 3. In the Logix Designer application.Organizing Tags Chapter 2 Activate Pass-Through and Append Descriptions Follow these steps to use pass-through descriptions and append to base tag descriptions. select Display.September 2012 45 .

1.Chapter 2 Organizing Tags Paste a Pass-Through Description Choose this command to paste a pass-through value of an item into the Description. and choose Paste Pass-Through. On the Controller Tags screen. right-click the pass-through description. 2. Edit the description and press CTRL + Enter. Engineering Unit. Follow these steps to use a pass-through description as the starting point for a more specific description. 46 Rockwell Automation Publication 1756-PM004D-EN-P .September 2012 . or State 1 field of another item. State 0.

Tag_1-Tag_2. then the value of the tag or numeric expression must be 0…9 (10 elements). For example. Tag_1-Tag_2. operators. constants. ·If the structure contains another structure as one of its members.Bit or . and functions to calculate a value. For example.Organizing Tags Chapter 2 Address Tag Data A tag name follows this format. Tag_3+4. operators. ABS (Tag_4).Member format to identify the required member. For example. use additional levels of the. and functions to calculate a value. ·Keep the value of the tag or numeric expression within the dimensions of the array. [2. To indirectly (dynamically) reference a bit of an integer. or DINT). ·A numeric expression uses a combination of tags. Name [Element] . use a tag or numeric expression that provides the element number. Subscript or subscripts that point to a specific element within an array. ·Use the element identifier only if the tag or member is an array. ·Keep the value of the tag or numeric expression within the range of bits of the integer tag.7].[Index] = Optional Where Name Element Is Name that identifies this specific tag. Tag_3+4. ·Use the member identifier only if the tag is a structure. Bit Index Specific bit of an integer data type (SINT.Member [Element] .September 2012 47 . ·Use one subscript for each dimension of the array. then the value of the index must be 0…31 (32-bits). constants.8]. For example. INT. use a tag or numeric expression that provides the bit number. To indirectly (dynamically) reference an element. if a dimension of an array contains 10 elements. Rockwell Automation Publication 1756-PM004D-EN-P . if the integer tag is a Dint (32-bits). ABS(Tag_4). [3. For example: [5].2. ·A numeric expression uses a combination of tags. Member Specific member of a structure.

the alias tag also turns on. the output tag also turns on. 2. · Use a descriptive name for an element of an array. drill_1_depth_limit is an alias for Local:2:I. 48 Rockwell Automation Publication 1756-PM004D-EN-P . Program your logic by using the descriptive tag names. 1. You can even test your logic without connecting to the I/O. · Both tags share the same value. For each I/O device.Data. When the input turns on. 42360 The (C) indicates that the tag is at the controller scope. Later. 4.Data.3 (a digital input point). drill_1_on is an alias for Local:0:O. north_tank is an alias for tanks[0. such as conveyor for the conveyor motor. add the I/O modules to the I/O configuration of the controller. the other tag reflects the change as well. convert the descriptive tags to aliases for their respective I/O points or channels. When the alias tag turns on. Finally. · Assign a descriptive name to an I/O device. · When the value of one of the tags changes. A common use of alias tags is to program logic before wiring diagrams are available.2 (a digital output point). when wiring diagrams are available. Use aliases in the following situations: · Program logic in advance of wiring diagrams. create a tag with a name that describes the device.1]. The tags window displays alias information. 3.Chapter 2 Organizing Tags Alias Tags An alias tag lets you create one tag that represents another tag. · Provide a more simple name for a complex tag.September 2012 .

3. such as stop and conveyor_on.1> start <Local:2:I. Click the Ladder Display tab.0 The starter contactor for the conveyor motor) 42351 Display Alias Information Follow these steps to show (in your logic) the tag to which an alias points.September 2012 49 .Data.2> drill_1. 2. Check Show Tag Alias Information.Data. the tags were converted to aliases for the corresponding I/O devices.Data. Later. From the Tools menu.Organizing Tags Chapter 2 The following logic was initially programmed by using descriptive tag names.Data.part_advance conveyor_on <Local:0:O. 1. stop is an alias for Local:2:I. choose Options.0> conveyor_on is an alias for Local:0:O. 4.1 (the stop button on the operator panel) stop <Local:2:I. Click OK.0> machine_on drill_1_on machine_on <Local:0:O.Data. Rockwell Automation Publication 1756-PM004D-EN-P .Data.

3. 42360 2. Click the required bit. B. 5. C. To Select a tag Select a bit number >.September 2012 . A. Choose the tag that the alias will represent.Chapter 2 Organizing Tags Assign an Alias Follow these steps to assign a tag as an alias tag for another tag. Do This Double-click the tag name. right-click Controller Tags and choose Edit Tags. Select the scope of the tag. click the Alias For cell. 50 Rockwell Automation Publication 1756-PM004D-EN-P . The Tag Editor window appears. Click >. click >. 6. Click the tag name. To the right of the tag name. The cell displays a 4. Click another cell. 1. To the right of the tag name. On the Controller Organizer.

B. you change the element of the array that your logic references.September 2012 51 . array[0] array[1] array[2] array[3] When index equals 2. A. By changing the value of the tag. array[index] points here. 4500 6000 3000 2500 The following table outlines some common uses for an indirect address. Perform the required action on the first element. use a tag in the subscript of the array (an indirect address).Organizing Tags Chapter 2 Assign an Indirect Address If you want an instruction to access different elements in an array. When index equals 1. one element at a time Log error codes Perform several actions on an array element and then index to the next element Use a tag in the subscript and Enter the number of the recipe in the tag. Enter the desired setup in the tag. array[index] points here. Rockwell Automation Publication 1756-PM004D-EN-P . To Select a recipe from an array of recipes Load a specific machine setup from an array of possible setups Load parameters or states from an array. Use an ADD instruction to increment the tag value and point to the next element in the array.

step exceeds the size of the array. one value (array element) at a time.step] 60000 Dest north_tank.step_time.Chapter 2 Organizing Tags The following example loads a series of preset values into a timer.) EQU Equal Source A north_tank. The timer_presets array stores a series of preset values for the timer in the next rung. 52 Rockwell Automation Publication 1756-PM004D-EN-P . MOV Move Source timer_presets[north_tank. the instruction loads timer_presets[0] into the timer (60.DN Add Source A ADD 1 Source B north_tank. (The array contains elements 0…3. EXAMPLE Step through an array.DN / TON Timer On Delay Timer north_tank.step 0 Dest north_tank.PRE 60000 north_tank. For example.step equals 0. such as + or -. north_tank.step 0 Source B 4 MOV Move Source 0 Dest north_tank.step_time is done.step_time Preset 60000 Accum 0 EN DN When north_tank.step to the next number and that element of the timer_presets array loads into the timer.step 0 42358 Expressions You can also use an expression to specify the subscript of an array.September 2012 . the rung increments north_tank.step_time. · An expression uses operators.step 0 When north_tank.000 ms). The north_tank. the rung resets the tag to start at the first element in the array. · The controller computes the result of the expression and uses it as the array subscript. when north_tank.step tag points to which element of the array to use. to calculate a value.step_time.

Table 7 .September 2012 53 . Operator + * / ABS AND FRD Description Add Subtract/negate Multiply Divide Absolute value AND BCD to integer Operator MOD NOT OR SQR TOD TRN XOR Description Modulo Complement OR Square root Integer to BCD Truncate Exclusive OR Format your expressions as follows. or expressions) Use this format operator(value) value_a operator value_b Example ABS(tag_a) ·tag_b + 5 ·tag_c AND tag_d ·(tag_e ** 2) MOD (tag_f / tag_g) Rockwell Automation Publication 1756-PM004D-EN-P .Organizing Tags Chapter 2 You can use these operators to specify the subscript of an array. constants.Format Expressions If the operator requires One value (tag or expression) Two values (tags.

54 Rockwell Automation Publication 1756-PM004D-EN-P . EXAMPLE e For more information on handling major faults. refer to the Logix5000 Controllers Major and Minor Faults Programming Manual. The controller checks the array subscript in these instructions even if the rung is false.Chapter 2 Organizing Tags Array Subscript Out of Range Every instruction generates a major fault if the array subscript is out of range. publication 1756-PM014. Transitional instructions also generate a major fault even if the rung is false.September 2012 .

user-defined data types. routines. you can describe the tag that your alias tag references. equipment phases. In the description of your Consumed tag. and Function Block Diagram text boxes You can store project documentation for multiple languages in a single project file rather than in language-specific project files. user-defined data types. Sequential Function Chart text boxes. and Add-On Instructions • Engineering units and state identifiers added to tags. A Consumed tag refers to a tag that is produced by another controller and whose data you want to use in your controller. Since base tags enable you to create your own internal data storage. However. and optional custom localized language. such as: • Component descriptions in tags. you have the option to display project documentation variables for any supported localized language. Rockwell Automation Publication 1756-PM004D-EN-P . A Produced tag refers to a tag that is consumed by another controller. Tag Base Alias Produced Consumed Project Documentation With version 17 and later of the application. programs. Description When you create a tag without specifying a tag type. The application uses the default language if the current language's content is blank for a particular component of the project. you can assign your own name to an existing tag. You define all the localized languages that the project will support and set the current. default. you can describe the remote controllers that you want to make your Produced tag available through controller-to-controller messaging. you can describe how you want to use a produced tag’s data or the data-producing controller. In the description of your Alias tag. you can use a custom language to tailor documentation to a specific type of project file user. By creating an Alias tag. you can document in your tag description the nature of the data being stored. structure tag member. the Logix Designer application automatically assigns your tag a default type of Base. IMPORTANT The Logix Designer application automatically assigns what are called pass-through descriptions of the tags you have created. or Add-On Instructions • Trends • Controllers • Alarm messages (in configuration of ALARM_ANALOG and ALARM_DIGITAL tags) • Tasks • Property descriptions for a module in the Controller Organizer • Rung comments. You may or may not want to use these descriptions.Organizing Tags Chapter 2 Tag Documentation The table outlines the four types of tags that can be created and the descriptions that you can document for each one. In the description of your Produced tag.September 2012 55 . or bit.

either when programming in that language or by using the import/export utility to translate the documentation off-line and then import it back into the project. 56 Rockwell Automation Publication 1756-PM004D-EN-P . Once you enable documentation languages in the Logix Designer application. For more information on enabling a project to support multiple translations of project documentation. you can dynamically switch between languages as you use the application.September 2012 .Chapter 2 Organizing Tags Enter the localized descriptions in your Logix Designer project. see the online help.

or tag element. They are not intended to be a permanent part of your application. · You can enable I/O forces and SFC forces separately or at the same time. You can only enable and disable forces at the controller level. tag collection. For example. produced. take these precautions. Rockwell Automation Publication 1756-PM004D-EN-P . Enable Forces For a force to take effect. ATTENTION: Forcing can cause unexpected machine motion that could injure personnel. use forces to: · test and debug your logic.September 2012 57 . Enabling SFC forces causes your machine or process to go to a different state or phase. you enable forces. · You cannot enable or disable forces for a specific module. IMPORTANT If you download a project that has forces enabled.Chapter 3 Force I/O Introduction Use a force to override data that your logic either uses or produces. If forces are enabled and you install a force. · temporarily keep your process functioning when an input device has failed. Before you use a force. Precautions When you use forces. Removing forces may still leave forces in the enabled state. · check wiring to an output device. Use forces only as a temporary measure. the new force immediately takes effect. determine how the force will effect your machine or process and keep personnel away from the machine area. or consumed values to change. output. – – – – Enabling I/O forces causes input. the application prompts you to enable or disable forces after the download completes.

To determine status I/O forces Use any of the following ·Online toolbar ·FORCE status indicator ·GSV instruction Online toolbar SFC forces 58 Rockwell Automation Publication 1756-PM004D-EN-P . · Removing a force on an alias tag also removes the force on the base tag. determine the status of forces for the controller. state to which the element is forced Disable or Remove a Force To stop the effect of a force and let your project execute as programmed.Chapter 3 Force I/O When forces are in effect (enabled). determine how the change will effect your machine or process and keep personnel away from the machine area. Check Force Status Before you use a force. · You can disable or remove I/O and SFC forces at the same time or separately. ATTENTION: Changes to forces can cause unexpected machine motion that could injure personnel. Before you disable or remove forces. disable or remove the force.September 2012 ▼ . You can check force status. a appears next to the forced element.

·Force values may or may not exist. Rockwell Automation Publication 1756-PM004D-EN-P . It does not show that status of SFC forces. ·I/O forces are inactive (disabled). use it to determine the status of any I/O forces. ·I/O forces are inactive (disabled). At least one force of this type exists in the project. ·At least one tag contains a force value. This example shows how to use a GSV instruction to get the status of forces. ·I/O forces are active (enabled). It shows the status of I/O forces and SFC forces separately. IMPORTANT The FORCE Status Indicator shows only the status of I/O forces. If the project contains any forces of this type. the new force immediately takes effect Forces of this type are inactive.September 2012 59 . they are overriding your logic. FORCE Status Indicator Off Flashing Solid GSV Instruction IMPORTANT The ForceStatus attribute shows only the status of I/O forces. they are not overriding your logic. ·If you add a force of this type. No forces of this type exist in the project. It does not show the status of SFC forces. Forces tab This Enabled Disabled Installed None Installed Means ·If the project contains any forces of this type. FORCE Status Indicator If your controller has a FORCE Status Indicator.Force I/O Chapter 3 The Online toolbar shows the status of forces. Then ·No tags contain force values.

I/O forces are held by the controller and not by the programming workstation. · If the tag is an array or structure. a consumed tag). INT. · override your logic and specify an output value for another controller (that is. · If a produced tag is also Constant. INT. force a BOOL. 60 Rockwell Automation Publication 1756-PM004D-EN-P . or consumed tag. IMPORTANT Use these guidelines when forcing an I/O value. so forcing an alias tag also forces the associated base tag. Forces remain even if the programming workstation is disconnected. – An alias tag shares the same data value as its base tag. To determine if Forces are installed No forces are installed Forces are enabled Forces are disabled Examine this bit 0 0 1 1 For this value 1 0 1 0 When to Use I/O Force Use an I/O force to: · override an input value from another controller (that is. you cannot use forces. The more values you force. DINT.Chapter 3 Force I/O where: Force_Status is a DINT tag. the longer it takes to execute the logic. produced tag. SINT. you can force the entire value or you can force individual bits within the value. · You can force all I/O data. – Removing a force from an alias tag removes the force from the associated base tag. Individual bits can have a force status of: – No force – Force on – Force off · You can also force an alias to an I/O structure member. · If the data value is a SINT.September 2012 . such as an I/O tag. a produced tag). · override your logic and specify the state of an output device. except for configuration data. IMPORTANT Forcing increases logic execution time. or REAL element or member. or DINT. · override an input value from an input device.

Force an Output Value Forcing an output or produced tag overrides the logic for the physical device or other controller. I/O forces are enabled (active).Force I/O Chapter 3 · If a produced tag is forced. or consumed tag. determine how the force will effect your machine or process and keep personnel away from the machine area. produced. 1. use an I/O force. the new force immediately takes effect.September 2012 61 . Force an Input Value Forcing an input or consumed tag: · overrides the value regardless of the value of the physical device or produced tag. · does not affect the value received by other controllers monitoring that input or produced tag. 2. 3. When you install (add) a force. expand the tag to show the value that you want to force (that is. What is the state of the I/O Forces status indicator? If Off Flashing Solid Then note No I/O forces currently exist. Before you use a force. When you enable I/O forces. you cannot make it Constant. Right-click the tag and choose Monitor. BOOL value of a DINT tag). Other controllers monitoring that output module in a listen-only capacity will also see the forced value. – Enabling I/O forces causes input. ATTENTION: Forcing can cause unexpected machine motion that could injure personnel. If necessary. it immediately takes effect. Add an I/O Force To override an input value. output. output value. or consumed values to change. Rockwell Automation Publication 1756-PM004D-EN-P . produced tag. – If forces are enabled and you install a force. all existing I/O forces will also take effect. Open the routine that contains the tag that you want to force. But at least one force already exists in your project. No I/O forces are active.

In the Force Mask column for the tag. 5. ATTENTION: Before you remove a force.) If No Yes Then From the Logic menu. Stop. Go to step 4.Chapter 3 Force I/O 4. forces remain in the enabled state and any new force immediately takes effect. Go to step 3. ATTENTION: Changes to forces can cause unexpected machine motion that could injure personnel. Choose Yes to confirm. determine how the change will effect your machine or process and keep personnel away from the machine area.September 2012 . Install the force value. determine how the change will effect your machine or process and keep personnel away from the machine area. Open the routine that contains the force that you want to remove. Press Enter. Before you disable or remove forces. To force a BOOL value Non-BOOL value Do this Right-click tag and choose Force On or Force Off. Go to step 3. type the value that you want to force the tag. Are I/O forces enabled? (See step 1. 62 Rockwell Automation Publication 1756-PM004D-EN-P . 2. If you want to Stop an individual force Stop all I/O forces but leave all SFC forces active And Leave other forces enabled and in effect Leave the I/O forces in the project Remove the I/O forces from the project Then Remove an Individual Force Disable All I/O Forces Remove All I/O Forces Remove an Individual Force ATTENTION: If you remove an individual force. choose I/O Forcing > Enable All I/O Forces. Remove or Disable Forces This section describes how to remove and disable forces. What is the language of the routine? If SFC Ladder logic Function block Structured text Then Go to step 4. 1.

Remove All I/O Forces To remove. Disable All I/O Forces To disable. BOOL value of a DINT tag. Right-click a tag or element that has the force and choose Remove Force. choose Logic>I/O Forcing>Disable All I/O Forces. Right-click a tag that has the force and choose Monitor.September 2012 63 .Force I/O Chapter 3 3. expand the tag to show the value that is forced. 4. If necessary. Click Yes to confirm. Click Yes to confirm. Rockwell Automation Publication 1756-PM004D-EN-P . choose Logic>I/O Forcing>Remove All I/O Forces. for example.

September 2012 .Chapter 3 Force I/O Notes: 64 Rockwell Automation Publication 1756-PM004D-EN-P .

can access tags. you can also reduce the time required to develop HMI screens. These attributes are: • External Access • Constant The External Access attribute controls how external applications. • PanelView terminals.September 2012 65 . It has possible values of Read/Write. Also. such as HMIs.Chapter 4 Data Access Control Introduction In the Logix platform. and None. Rockwell Automation Publication 1756-PM004D-EN-P . and cache. This volume can impact the performance of the RSLinx data server and other related applications. version 18 or later of the application. External applications and devices include: • RSLinx Classic and RSLinx Enterprise software. by using FactoryTalk Security software. you can control how external applications and devices can access tags. See page 77 for more information on the Constant attribute. you can help safeguard tag data by preventing unwanted changes to tag values. External Access By using the External Access attribute. This process can help you manage the thousands of tags you might have in a project that have similar names that can get easily confused when referencing them in applications or devices. it is possible to control which users are permitted to change tags designated as constants in the Logix Designer application. • FactoryTalk Historian software. See “Configure External Access” on page 66. • other Logix controllers. Also. Read Only. • other third-party software. Using this attribute also can help improve system performance by reducing the number of tags RSLinx has to maintain. The Constant attribute value determines if a tag can be modified by controller logic. there are two tag attributes that allow you to control access to tag data. By using these two attributes. by reducing the number of tags exposed to external applications. scan. • PLC/SLC controllers.

The standard tags will have the same behavior as in the unlocked mode. External applications cannot read or change the tag’s value. only the safety tags will be disabled from being accessed. The following table describes the values. IMPORTANT The Logix Designer application has full access to all tags. If the controller is in safety locked mode.(1) Equipment phase output parameters (1) The External Access default value for tag creation is stored per Windows login account. Read Only.Chapter 4 Data Access Control Configure External Access You configure external access from a menu when you create a new tag or data type. These changes can be made throughout the application.(1) Out-of-box is Read Only. External applications can read. Thereafter. they can be made in the User-defined Data Type Editor. None from the External Access box on the following Logix Designer dialog boxes: • New Tag (See page 67) • Tag Properties (See page 69) The default value in the External Access box is dependent on the usage. and the Tag Properties Dialog. New Tag Dialog. Thereafter. and type of the tag. and Add-On Instruction scoped tags. 66 Rockwell Automation Publication 1756-PM004D-EN-P . External Access Settings Read/Write Read Only None Description External applications and devices have full access to the tag and can read and change the tag’s value. You can also modify that value just like other tag attributes. the tag’s value. See Important note below. when creating a new tag. regardless of their External Access settings.September 2012 . the default external access tag retains the value of the user’s previous choice. but cannot change. controller. External Access Options You can choose one of three options—Read/Write. External access applies to all program. For example. when creating a new tag. Out-of-box is Read/Write. the default external access tag retains the value of the user’s previous choice. If the tag is Alias Controller/program scoped and equipment phase input parameters Default value is Same as its target.

Follow these steps. see page 24. 1. the External Access box is disabled.Data Access Control Chapter 4 IMPORTANT For Alias type. You are not allowed to change the external access of an alias tag. However. For tag descriptions. On the Controller Organizer. right-click Controller Tags and choose New Tag . See “‘Go To’ Search Menu” on page 71 for procedures to locate the base tag for an alias. the External Access box will update its value to be the same as the external access of the base target. Rockwell Automation Publication 1756-PM004D-EN-P . Configure External Access in the New Tag Dialog Box You can create these types of tags on the New Tag dialog box: • Base tag • Alias tag • Produced tag • Consumed tag The parameters on the dialog box depend on the type of tag you are creating.September 2012 67 . See “External Access Availability” on page 72 for additional tag considerations. The External Access box on the New Tag dialog box lets you assign the external access attribute for the tag being created.

To locate an associated base tag to assign an external access. 3.September 2012 . As shown in the example below. From the Type menu. 2. 68 Rockwell Automation Publication 1756-PM004D-EN-P . See page 71 for details.Chapter 4 Data Access Control The New Tag Dialog Box appears. choose a tag type. Click OK . choose an external access option. 4. use the ‘Go To’ feature. From the External Access menu. the External Access box is dimmed for an alias tag. There may be many alias tags in a program.

On the Tag Editor window. The Connection button (next to the Type box) becomes active when either a produced or consumed tag type is selected. The Tag Properties dialog box appears. 1. 2. 3. Set Up External Access in the Tag Properties Dialog Box The Tag Properties dialog box is used to edit properties of existing tags. right-click a tag and choose Edit (tag name) Properties.Data Access Control Chapter 4 For other tag considerations. choose an external access option. Rockwell Automation Publication 1756-PM004D-EN-P . See the Logix5000 Controllers Produced and Consumed Tags Programming Manual. Follow these steps to choose an external access option for an existing tag. such as base and alias. The button accesses a dialog box for setting up produced/consumed tag connections. From the Type menu. choose a tag type. You can change tag attributes and modify tag types. see “External Access Availability” on page 72. publication 1756-PM011.September 2012 69 . From the External Access menu.

1. A menu displays. 2.September 2012 . View and Select External Access Status on the Tag Editor Window You can view the external access status of a tag in the Tag Editor window. 3. Click Set External Access for (tag name) to select an external access option. Right-click a selected tag.Chapter 4 Data Access Control The External Access box is dimmed for an alias tag. The External Access column displays the tag as ‘Read/Write’. 4. To select multiple individual rows. 70 Rockwell Automation Publication 1756-PM004D-EN-P . Follow these steps to select multiple rows and set the external access at one time on the Tag Editor. See “External Access Availability” on page 72 for other considerations. ‘Read Only’. hold down the Ctrl key and click the desired rows. or ‘None’. the only external access option is Read/Write. If a tag is a module tag. Click OK . All highlighted rows that are enabled for changing External Access will change their external access setting.

From the Go To menu. ‘Go To’ Search Menu The external access setting of an alias tag can only be changed through its base tag.September 2012 71 . The box will display the target of the alias tag. choose a target of the alias tag. The Go To window appears. The ‘Go To’ option on the Search menu of the Logix Designer application is a convenient way to find the base tag among all the cross-reference records. from the Logix Designer Search menu. select the desired alias tag and choose Go To. Follow these steps to locate a base tag. In the Go to what column. all alias tags in this chain will display in a list in the Go To column.Data Access Control Chapter 4 See “External Access Availability” on page 72 for considerations when the External Access column is disabled. Click Go To. 2. If there is an alias chain. 1. With the Tag Editor window open. 3. Rockwell Automation Publication 1756-PM004D-EN-P . 4. choose Base Tag. The target is located with a black box around it.

• the Scope is an equipment phase and the equipment phase feature is not activated in the current license. • the redundancy controller is in any state that does not allow changes. The External Access box is disabled if: • you do not have permission to change the external access settings. the External Access box remains disabled and the external access value appears in the External Access box. The external access status is always Read/Write for these data types. bit. You also cannot change external access for the data type members. all of these tag members will have the same external access level because: • they are all hard-coded to ‘Read/Write’ and you can only view. not change. • the controller is user-locked online. • the controller is safety-locked and the tag is a safety tag. this value. • of all data members for predefined or module-defined data types will have the same external access setting. • the redundancy controller is in any state that does not allow changes. IMPORTANT The External Access box is always disabled for any tag whose data type is Alarm Analog or Alarm Digital. • the row represents an expanded array dimension. Considerations The External Access box is disabled if: • the tag is an alias tag. Module-defined Data Types and String. • the controller is safety-locked and the tag is a safety tag. • of each data member for user-defined type (UDT) and Add-On Instruction will have the more restrictive external access setting between the element external access setting and the external access setting of the member in the type definition. • the tag is an alias tag. or data member. the External Access box becomes disabled and appears blank. If you change the Type box from Base to Alias. Only the safety tags’ External Access cell is disabled. • the controller is user locked online. For tags of Predefined (Atomic and Structural). Dialog Box/Window New Tag Tag Properties Tag Editor 72 Rockwell Automation Publication 1756-PM004D-EN-P . • the controller is in hard-run mode. all elements: • must have the same external access level. The external access setting of an alias tag can only be changed through its base tag. For Array tags. • the controller is user-locked online from another computer.September 2012 .Chapter 4 Data Access Control External Access Availability The following table describes the conditions in which the External Access box is disabled. • an external access change on the tag results in an update on all tag members. The External Access box is disabled if: • you do not have permission to change the external access settings. • the tag is an alias tag. • the Scope is an equipment phase and the equipment phase feature is not activated in the current license. • the controller is in hard-run mode. If you choose a target for an alias tag in the Alias For box.

• If the member’s data type is Predefined structural. Rockwell Automation Publication 1756-PM004D-EN-P . • You can only set external access for the top members of that User-defined data type. External Access cells for the child-members are disabled on the User-defined Data Type dialog box. For example. Add-On Instructions External Access Considerations External Access settings can be used with parameters and local tags of Add-On Instructions. but it is always disabled. the member that represents that parameter in the Add-On Instruction data type cannot be written. Predefined. The external access level of the parent member is given to its child-members. the more restrictive external access level is applied. The external access column is always visible but disabled. if an input parameter is defined with external access of read only.(1) • the redundancy controller is in any state that does not allow changes. None—are chosen from the External Access column on the Data Type dialog box. Note: Data type size is not affected by the external access attribute. module-defined. you cannot set external access of child-members. • If the member’s data type is User-defined and the child-member has a different external access level from its parent. • the data type is applied to tags and the controller is online. Read Only. The following table describes the conditions in which the External Access column is disabled. or String. Strings type (1) If you have User-defined Data Type Modify permission.Data Access Control Chapter 4 User-defined Type Considerations The three external access options—Read/Write (default). Module-defined. The Set External Access entry is added to the bottom of the row header context menu.September 2012 73 . Topic Modify existing data type Considerations The External Access column is disabled if: • you do not have permission to change the external access settings. you also can modify external access of a User-defined data type. Three external access rules apply for members of User-defined data types.

• InOut parameter .the External Access box is enabled and the displayed value is your last selection when creating an equipment phase input parameter or Add-On Instruction input parameter. For alias parameters.the External Access box is enabled and the displayed value is your last selection when creating an equipment phase output parameter or Add-On Instruction output parameter.Chapter 4 Data Access Control The table below describes the External Access options for various Add-On Instruction parameters and tags. • Output parameter . Add-0n Instruction Parameters and Tags Local tag Input parameter Output parameter EnableIn parameter EnableOut parameter InOut parameter Read Only Not Applicable Read/Write Read Only None External Access Options The external access for an Add-On Instruction tag can be chosen from the box on the New Tag dialog box or from the External Access column on the Tag Editor window. The external access of an Add-On Instruction’s parameters and local tags can be configured in the Add-On Instruction Definition dialog box and on the Add-On Instruction Parameters and Local Tags dialog boxes.the External Access box is disabled and blank. 74 Rockwell Automation Publication 1756-PM004D-EN-P . • Local tag . the external access type is equal to the type configured for the base local tag. Dialog Box/Window New Add-On Instruction Parameter or Local Tag Considerations If the current usage is: • Input parameter .September 2012 .the External Access box is disabled and the displayed value is None.

• you do not have permission to change the external access settings. which default ‘Read Only’.Local Tags Tab Add-On Instruction Edit Tags (1) If you have Add-On Instruction Modify permission. or data member.(1) • the controller is online.External Access column cell is blank and disabled. you also can modify external access of an Add-On Instruction tag. • the Add-On Instruction is in Source Protection mode. bit. • the tag is an alias tag. • EnableIn and EnableOut parameters. • no change if you switch between Input. • the Add-On Instruction is in Source Protection mode.(1) • the controller is online.equipment phase input parameter and Add-On Instruction input parameter. Changing external access attributes will cause: • an error message if you change a tag from Input or Output parameter to InOut parameter and the present attribute is either Read/Write. changing usage causes the External Access column auto update to default to: • Input parameter . • Local tag .equipment phase input parameter and Add-On Instruction input parameter.External Access column cell is blank and disabled. • the row represents an expanded bit. The External Access column is disabled if: • InOut parameters. • Local tag . • Output parameter . • the tag is an alias tag. • InOut parameter . The External Access box also is disabled if: • you do not have permission to change external access settings.(1) • the controller is online. The External Access column is disabled if: • you do not have permission to change external access settings. • the row represents an expanded array dimension. • no change if you switch between Input and Output parameters.the External Access is updated to None and the box is disabled. • Output parameter .Parameters Tab Add-On Instruction Definition . Add-On Instruction Definition . changing usage causes the External Access column auto update to default to: • Input parameter . Changing external access attributes will cause: • a warning message if you change a tag from Input or Output parameter to InOut parameter and the present attribute is either Read/Write. bit.Data Access Control Chapter 4 Dialog Box/Window Parameters/Local Tab Properties Considerations No change is applied to the External Access box if you switch the usage among Input parameter.the External Access box is enabled and your last selection for creating an equipment phase/Add-On Instruction input parameter or an equipment phase/Add-On Instruction output parameter is displayed accordingly. Note: External access is not applicable for InOut parameters because they are just references until invoked. Output parameters and Local tag • the value of the external access updates to the new target for an alias. which default Read Only. When creating a new parameter. • the value of the external access updates to the new target for an alias. which are blank. • the Add-On Instruction is in Source Protection mode. If you change the usage from InOut parameter to: • Input or output parameter .(1) • the controller is online. The External Access column is disabled if: • EnableIn and EnableOut parameters. • the row represents an expanded array dimension. • you do not have permission to change the external access settings. except when the usage is a Local tag. the box is disabled. • the Add-On Instruction is in Source Protection mode. or data member. Output parameter or Local tag. or data member.external access is updated to None. or Read Only. • the tag is an alias tag. or Read Only. When creating a new parameter.equipment phase output parameter and Add-On Instruction output parameter. • InOut parameter .September 2012 75 . Rockwell Automation Publication 1756-PM004D-EN-P .equipment phase output parameter and Add-On Instruction output parameter.

an error message displays. Object Name Controller and program-scoped standard tags All safety tags Add-on Instruction local tags Add-on Instruction Input parameters Add-on Instruction Output.Chapter 4 Data Access Control Tag Mapping Considerations Only tags with external access settings of Read/Write or Read Only can be mapped to a PLC-2 controller and PLC-5/SLC controllers. A default value is assigned to unspecified tags that are imported from programs that have software with versions earlier than 18. Dialog Box/Window PLC-2. If you manually type the name of a tag whose external access is set to None. EnableIn and EnableOut parameters Add-on Instruction InOut parameters Equipment phase output parameters Members of all data types Default External Access Read/Write Read Only Read/Write Read/Write Read Only N/A Read Only Read/Write 76 Rockwell Automation Publication 1756-PM004D-EN-P . PLC-5/SLC Mapping Considerations To map a tag: • Type a file number. • Choose a tag from the Name box. Read Only.September 2012 . and None. • Click OK. Only eligible tags that are set to either Read/Write or Read Only will display in the menu. Imported Tag Behavior The Logix Designer application preforms a check to verify an imported program file has a valid external access value. An error message displays in the Logix Designer application for imported files that contain tags with any value other than Read/Write.

publication FTSEC-QS001. When you designate an InOut parameter as a constant. • logic in the controller. Rockwell Automation Publication 1756-PM004D-EN-P . A check mark in the Constant box on tag creation dialog boxes and tag editor/monitor windows indicates a ‘constant’ designation. To modify the constant attribute of a tag. For an alias tag. You cannot pass a constant tag to an InOut parameter that is not also designated as a constant value. Tags that cannot be designated as constants are User-defined type members. you can designate tags as constants to protect them from being changed programatically via: • the controller programming application.Data Access Control Chapter 4 Constant Value Tags Version 18 and later of the application. For details on setting permissions. it cannot be written to within the Add-On Instruction. you must have the Tag: Modify Constant Tag Values permission. the default value is unchecked. For all other conditions. To change the value of a constant. you must have the Tag: Modify Constant Property permission. see the FactoryTalk Security System Configuration Guide. TIP You cannot pass a constant value tag as an argument to an Output parameter of an Add-On Instruction. and local tags. Add-On Instruction input and output parameters. indicating the tag is not a constant value tag. the default constant setting of this tag is the same as its target tag.September 2012 77 . FactoryTalk security is used to control who is permitted to modify values of constants and who can modify the constant attribute of a tag.

4. 2. From the Type menu. The New Tag Dialog Box appears. Check Constant. 1. Click OK . See “Constant Checkbox Availability” on page 81 for considerations. choose a tag type. 3. Set Up a Constant in the New Tag Dialog Box Follow these steps to configure a tag as a constant on the New Tag dialog box. 78 Rockwell Automation Publication 1756-PM004D-EN-P . right-click Controller Tags and choose New Tag.September 2012 .Chapter 4 Data Access Control Configure Constant Tags This section describes the various ways a constant attribute can be configured. On the Controller Organizer. Configure a Constant in the Tag Properties Dialog Box Follow these steps to designate a tag as a constant on the Tag Properties dialog box.

choose a tag type. See “Constant Checkbox Availability” on page 81 for considerations.September 2012 79 . right-click a tag and choose Edit (tag name) Properties. Check Constant. 4. The Tag Properties dialog box appears. On the Tag Editor window. Rockwell Automation Publication 1756-PM004D-EN-P . 3. Click OK. From the Type menu.Data Access Control Chapter 4 1. 2.

the constant setting of the tag displays in the same Constant column as shown in the above illustration. 80 Rockwell Automation Publication 1756-PM004D-EN-P . The Constant property applies to an entire tag. all members of the tag take on the same setting.Chapter 4 Data Access Control Designate a Constant in the Tag Editor The Constant column on the Tag Editor window lets you designate tags that cannot be modified in the Logix Designer program. 2. A menu appears. you cannot change the value. An error message displays if a user tries to change the data type of a constant tag to a data type that cannot be constant. However. Click the checkbox in the Constant column. The Tag Editor window appears. 1. The Constant column also is available on the Equipment Phase Tag Edit window and Equipment Phase Tag Monitor window. Follow these steps to add a constant value in the Tag Editor window.September 2012 . The Constant column cells are blank for members of the constant tag. right-click Controller Tags and choose Edit Tags. On the Controller Organizer. IMPORTANT In the Tag Monitor window.

Dialog Box/Window New Tag Considerations The Constant box is disabled if: • the tag is an alias tag. The Constant value box will be disabled in the Tag Properties dialog box only if the tag is a safety tag. • the tag’s Usage setting is not ‘InOut’.(1) • if the Scope is an equipment phase and the equipment phase feature is not activated in the current license.) • the new tag is a Consumed tag. publication 1756-PM015. only the safety tags will be disabled from being accessed. • you do not have permission to modify tag properties (Factory Talk Security Tag Modify is denied. see the Logix5000 Controllers Information and Status Programming Manual. You cannot modify a constant value in any of the language editors or any other tag browser. • the tag’s Data Type is not a data table-backed type. • the controller is in hard-run mode. The icon in the Value column indicates that you are changing a constant value tag’s value. The value of a constant tag can be modified by using the Tag Monitor window if you have both standard Tag: Modify Values permission and Tag: Modify Constant Tag Values permission. • redundancy controller is in any state that does not allow changes.September 2012 81 . • the Add-On Instruction is in Source Protection mode. • the controller is safety-secured and the tag is a safety tag. For controller logging. the standard tags will have the same behavior as in the unlocked mode.Data Access Control Chapter 4 Constant Checkbox Availability The state of the Constant checkbox depends on a number of conditions. Rockwell Automation Publication 1756-PM004D-EN-P . Tag Properties Tag Editor Tag Monitor (1) If the controller is in safety-locked mode. • the Factory Talk Security action is not enabled for changing constant value property of a tag. Same considerations apply as for New Tag above. Any modifications to the values of constant tags are recorded in the Controller Log for future reference.

The Constant attribute will not apply to Input. It will not apply to Add-On Instruction Local tags. The default setting of the property will be not a Constant Value. that parameter cannot be written to. 82 Rockwell Automation Publication 1756-PM004D-EN-P .Chapter 4 Data Access Control Add-On Instructions Constant Value Considerations The Constant attribute applies only to InOut parameters. EnableIn and EnableOut Add-On Instruction parameters. The project will fail verification if this type of write is attempted. By denoting an InOut parameter of an Add-On Instruction as a constant. Output. Appropriate usage of Constant tags is monitored by logic verification.September 2012 . it means that within the Add-On Instruction.

73 user-defined data type external access 73 constant value availability 81 dialog box 78 tag editor 80 E electronic keying I/O 12 enable force 57 exact match electronic keying 13 keying 12 expression calculate array subscript 52 extended properties 25 adding extended properties to a tag 33 user-defined data type 43 external access 65 Add-On Instruction 73 availability 72.Index A access external 65 add extended properties to a tag 33 add extended properties to user-defined data type 43 Add-On Instruction constant value considerations 82 external access variables 74 address assign indirect 51 tag 47 tag I/O module 19 alias create 50 show/hide 49 use of 48 array calculate subscript 52 create 38 index through 51 organize 29 overview 35 availability constant value 81 external access 72. 62 document tag description 44 user-defined data type 44 B buffer I/O data 20 C communication format 8 ownership 9 I/O module 8 module I/O configuration 7 compatible keying 12 configure external access 66 I/O module 7 connection direct 8 listen-only 9 overview 8 rack-optimized 8 reduce the number of 8 considerations Add-On Instructions constant value 82 external access 73 external access 72. 73 configure 66 configure tag dialog 67 configure tag properties 69 options 66 user-defined data type considerations 73 view tag editor 70 Rockwell Automation Publication 1756-PM004D-EN-P . 73 tag properties 78 value configuration 78 value tags 77 controller tags 27 use of 27 create alias 50 tag 33 user-defined data type 41 D data block See array (create) force 60. 61 I/O 19 table ?See tag (organize) type choose 25 overview 25 structure 25 description tag 44 user-defined data type 44 direct connection 8 disable electronic keying 17 force 58.September 2012 83 .

Index F file ?See array force disable 58. INT. SINT.September 2012 . 43 module I/O configuration 7 84 Rockwell Automation Publication 1756-PM004D-EN-P . 62 requested packet interval (RPI) 8 S scope guidelines 29 tag 27 sequential function chart force element 57 structure create 41 organize 29 overview 25 user-defined 39 structured text force a value 57 Studio 5000 Engineering and Design Environment 5 symbol See alias. 62 enable 57 options 60 remove 58. and REAL data types 34. K keying ?See electronic keying L ladder logic force a value 57 override a value 57 local data See scope Logix Designer application 5 tag T address 47 alias 48 array 35 assign dimensions 38 constant value 77 configuration 78 create 33 create alias 50 data type 25 dialog external access 67 editor view external access 70 M memory allocation for tags 25 Min and Max for DINT. LINT. 62 safety precautions 57 tag 60. 61 function block diagram force a value 57 N name guidelines for tag 29 reuse of tag name 27 O ownership I/O module 9 P pass-through description 44 program tags 27 project documentation 55 G global data ?See scope I I/O module buffer data 20 communication format 8 configuration 7 configure 7 document ?See alias electronic keying 12 ownership 9 synchronize with logic 20 tag address 19 update period 8 index See indirect address indirect address 51 format 47 use of expression 52 R rack-optimized connection 8 remove force 58.

September 2012 85 .Index force 60. 61 guidelines 29 I/O 19 mapping considerations 76 memory allocation 25 name 27 organize 29 overview 23 properties external access 69 reuse of name 27 scope 27 type 24 U user-defined data type create 41 external access variables 73 guidelines 40 overview 39 V variables constant value 81 external access 72. 73 user-defined data type external access 73 Rockwell Automation Publication 1756-PM004D-EN-P .

September 2012 .Index 86 Rockwell Automation Publication 1756-PM004D-EN-P .

.

com/support/.rockwellautomation. Rockwell Otomasyon Ticaret A. and troubleshooting. . Printed in the U.646. publication RA-DU002. we offer TechConnect support programs.com/support/americas/phone_en. You can contact Customer Support for initial help in getting your product up and running. However. sample code and links to software service packs. Inc.rockwellautomation. Please contact your local Rockwell Automation representative for the return procedure. available at http://www.com/support/. Installation Assistance If you experience a problem within the first 24 hours of installation. United States Outside United States Contact your distributor. İstanbul.com/literature/. You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor to complete the return process. you can find technical manuals.html. follow these procedures. Kar Plaza İş Merkezi E Blok Kat:6 34752 İçerenköy. If you have any suggestions on how to improve this document.. United States or Canada Outside United States or Canada 1. technical and application notes. Documentation Feedback Your comments will help us serve your documentation needs better.S.October 2009 Copyright © 2012 Rockwell Automation. Tel: +90 (216) 5698400 Publication 1756-PM004D-EN-P .3434 Use the Worldwide Locator at http://www. review the information that is contained in this manual.440. complete this form. contact your local distributor or Rockwell Automation representative. At http://www. if your product is not functioning and needs to be returned.rockwellautomation.September 2012 88 Supersedes Publication 1756-PM004C-EN-P .rockwellautomation. and a MySupport feature that you can customize to make the best use of these tools. configuration. All rights reserved. a knowledge base of FAQs. For an additional level of technical phone support for installation. or visit http://www.Ş. New Product Satisfaction Return Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility. For more information. or contact your local Rockwell Automation representative.Rockwell Automation Support Rockwell Automation provides technical information on the Web to assist you in using its products.A.