Page 1
Logix5000 Controllers I/O and Tag Data Catalog Numbers 1756 ControlLogix, 1756 GuardLogix, 1768 Compact GuardLogix, 1769 CompactLogix, 1789 SoftLogix, PowerFlex with DriveLogix Programming Manual...
Page 2
Labels may be on or inside the equipment, for example, a drive or motor, to alert people that surfaces may reach dangerous temperatures. Allen-Bradley, Rockwell Automation, RSLogix 5000, Logix5000, RSLinx Classic, RSLinx Enterprise, PanelView, PLC-2, PLC-5, SLC, CompactLogix, ControlLogix, GuardLogix, FlexLogix, DriveLogix, SoftLogix, Rockwell Software, FactoryTalk Security, and TechConnect are trademarks of Rockwell Automation, Inc.
Page 3
Summary of Changes Introduction The release of this document contains new information. New Information New information is marked by change bars in the side column, as shown to the right. Section Changes Chapter 1 New information and examples for electronic keying. Chapter 4 Procedures and descriptions for the external access and constant tag attributes that control access to...
Page 4
Summary of Changes Notes: Publication 1756-PM004C-EN-P - October 2009...
Preface Purpose of This Manual This manual shows how to access I/O and tag data in Logix5000 controllers. This manual is one of a set of related manuals that show common procedures for programming and operating Logix5000 controllers. For a complete list of common procedures manuals, refer to the Logix 5000 Controllers Common Procedures Programming Manual, publication 1756-PM001.
Page 8
Preface Notes: Publication 1756-PM004C-EN-P - October 2009...
Chapter Communicate with I/O Modules Introduction To communicate with an I/O module in your system, you add the module to the I/O Configuration folder of the controller. Add I/O modules here. When you add the module, you also define a specific configuration for the module.
ControlNet network. The timing of this slot may not coincide with the exact value of the RPI, but the control system guarantees that the data transfers at least as often as the RPI. In Logix5000 controllers, I/O values update at a period that you configure via the I/O configuration folder of the project. The values update asynchronous to the execution of logic.
• Direct or Rack-Optimized Connection. • Ownership. Direct or Rack-Optimized Connection The Logix5000 controller uses connections to transmit I/O data. These connections can be direct connections or rack-optimized connections. Term Definition Direct connection A direct connection is a real-time, data transfer link between the controller and an I/O module.
Communicate with I/O Modules Ownership In a Logix5000 system, modules multicast data. This means that multiple devices can receive the same data at the same time from a single device. When you choose a communication format, you have to choose whether to establish an owner or listen-only relationship with the module.
Page 13
Communicate with I/O Modules Chapter 1 Use the following table to choose the type of ownership for a module. Choose the Type of Ownership If module is And another controller And you want to Then use this type of connection Input module Does not own the module Owner (not listen-only)
For some specific module types, fewer options are available. Electronic keying is based on a set of attributes unique to each product revision. When a Logix5000 controller begins communicating with a module, this set of keying attributes is considered. Keying Attributes...
Page 15
Exact Match keying is also necessary to enable Automatic Firmware Update for the module via the Firmware Supervisor feature from a Logix5000 controller. In the following scenario, Exact Match keying prevents I/O EXAMPLE...
Page 16
Chapter 1 Communicate with I/O Modules Changing electronic keying selections online may cause the I/O IMPORTANT Communication connection to the module to be disrupted and may result in a loss of data. Compatible Keying Compatible Keying indicates that the module determines whether to accept or reject communication.
Page 17
3.2. In this case, communication is prevented because the minor revision of the module is lower than expected and ith 3.3. may not be compatible w Module Configuration Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IB16D Major Revision = 3...
Page 18
Module Configuration Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IB16D Major Revision = 2...
Page 19
1756-IF16 analog input module. In this case, communication is prevented because the analog module rejects the data formats that the digital module configuration requests Module Configuration Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IA16 Major Revision = 3...
Page 20
1756-IB16 digital input module. In this case, communication is allowed because the two digital modules share common data formats Module Configuration Vendor = Allen-Bradley Product Type = Digital Input Module Catalog Number = 1756-IA16 Major Revision = 2...
Communicate with I/O Modules Chapter 1 Address I/O Data I/O information is presented as a set of tags. • Each tag uses a structure of data. The structure depends on the specific features of the I/O module. • The name of the tag is based on the location of the I/O module in the system.
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. Instead, the logic uses a copy of the I/O data. Buffer I/O in the following situations: •...
Page 23
Communicate with I/O Modules Chapter 1 This example copies inputs and outputs to the tags of a structure for a drill machine. Buffer I/O EXAMPLE The main routine of the program executes the following subroutines in this sequence. Jump to Subroutine Jump to Subroutine Jump to Subroutine Routine name map_inputs...
Page 24
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. Buffer I/O EXAMPLE Local:0:I.Data stores the input data for the DeviceNet network that is connected to the 1756-DNB module in slot 0. To synchronize the inputs with the application, the CPS instruction copies the input data to input_buffer.
Chapter Organize Tags Introduction With a Logix5000 controller, you use a tag (alphanumeric name) to address data (variables). Term Definition A text-based name for an area of the controller’s memory where data is stored. • Tags are the basic mechanism for allocating memory, referencing data from logic, and monitoring data.
Receive data from another controller Consumed If you plan to use produced or consumed tags, you must follow additional guidelines as you organize your tags. See the Logix5000 Controllers Produced and Consumed Tags Programming Manual, publication 1756-PM011. Publication 1756-PM004C-EN-P - October 2009...
• Within a structure, each individual data type is called a member. • Like tags, members have a name and data type. • A Logix5000 controller contains a set of predefined structures (data types) for use with specific instructions such as timers, counters, Function Blocks, and so forth.
Page 28
– sign. Members of Data Type Members running_seconds 42365 To copy data to a structure, use the COP instruction. Refer to the Logix5000 Controllers General Instructions Reference Manual, publication 1756-RM003. Publication 1756-PM004C-EN-P - October 2009...
Other routines Main routine A Logix5000 controller lets you divide your application into multiple programs, each with its own data. 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.
In any of the seven AXIS data types To communicate with a PanelView terminal None of the above Program scope (program tags) Guidelines for Tags Use the following guidelines to create tags for a Logix5000 project. Tag Guidelines Guideline Details Create user-defined data types User-defined data types (structures) let you organize data to match your machine or process.
Page 31
To increase the efficiency of your logic, minimize the use of SINT or INT data types. Whenever possible, use the DINT data type for integers. • A Logix5000 controller typically compares or manipulates values as 32-bit values (DINTs or REALs).
Page 32
Chapter 2 Organize Tags Tag Guidelines Guideline Details Limit a tag name to 40 characters Here are the rules for a tag name: • Only alphabetic characters (A-Z or a-z), numeric characters (0…9), and underscores (_) • Must start with an alphabetic character or an underscore •...
Organize 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. RSLogix 5000 programming software also automatically creates IMPORTANT tags when you: • add an element to a sequential function chart (SFC). •...
Chapter 2 Organize Tags Create an Array Logix5000 controllers also let you use arrays to organize data. Term Definition Array 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.
Page 35
Organize Tags Chapter 2 The following example compares a structure to an array. This is a tag that uses the Timer structure (data type). This is a tag that uses an array of the Timer data type. Tag Name Data Type Tag Name Data Type −...
Page 36
Chapter 2 Organize Tags Two-dimension array EXAMPLE A drill machine can drill one…five holes in a book. The machine requires a value for the position of each hole from the leading edge of the book. To organize the values into configurations, a two-dimension array is used.
Organize Tags Chapter 2 Configure an Array To create an array, you create a tag and assign dimensions to the data type. 1. On the Controller Organizer, right-click Controller Tags and choose Edit Tags. The Tag Editor window appears. 42350 2.
Chapter 2 Organize Tags Create a User-defined Data User-defined data types (structures) let you organize your data to match your machine or process. Type User-defined data type that stores a recipe. EXAMPLE In a system of several tanks, each tank can run a variety of recipes. Because the recipe requires a mix of data types (REAL, DINT, BOOL, so forth), a user-defined data type is used.
Page 39
Organize Tags Chapter 2 User-defined data type that stores the data that is required to run a machine. EXAMPLE Because several drill stations require the following mix of data, use a user-defined data type. Name (of data type): DRILL_STATION Member Name Data Type Part_advance BOOL...
Chapter 2 Organize Tags Guidelines for User-defined Data Types When you create a user-defined data type, use these guidelines: • If you include members that represent I/O devices, you must use logic to copy the data between the members in the structure and the corresponding I/O tags.
Page 41
Organize Tags Chapter 2 3. Type a name and description for the user-defined data type. A description is optional. 4. For each member of the user-defined data type, type a name, data type, style, and description. 5. Click the External Access column, and choose an attribute. 42196 Limit any arrays to a single dimension.
Chapter 2 Organize Tags Describe a User-defined RSLogix 5000 programming software lets you automatically build descriptions out of the descriptions in your user-defined data types. This greatly reduces the Data Type amount of time you have to spend documenting your project. RSLogix 5000 software 13.0 or later As you organize your user-defined data types, keep in mind the following...
Organize Tags Chapter 2 RSLogix 5000 software uses different colors for descriptions. Color Descriptions If Color Description Is This Is Gray Pass-through description Black Manually entered description Activate Pass-Through and Append Descriptions Follow these steps to use pass-through descriptions and append to base tag descriptions.
Chapter 2 Organize Tags Paste a Pass-Through Description Follow these steps to use a pass-through description as the starting point for a more specific description. 1. On the Controller Tags screen, right-click the pass-through description, and choose Paste Pass-Through. 2. Edit the description and press CTRL + Enter. Publication 1756-PM004C-EN-P - October 2009...
Organize Tags Chapter 2 Address Tag Data A tag name follows this format. Name [Element] .Member [Element] .Bit .[Index] = Optional Where Name Name that identifies this specific tag. Element Subscript or subscripts that point to a specific element within an array. •...
Chapter 2 Organize Tags Alias Tags An alias tag lets you create one tag that represents another tag. • Both tags share the same value. • When the value of one of the tags changes, the other tag reflects the change as well.
Organize Tags Chapter 2 The following logic was initially programmed by using descriptive tag names, such as stop and conveyor_on. Later, the tags were converted to aliases for the corresponding I/O devices. stop start stop is an alias for Local:2:I.Data.1 <Local:2:I.Data.1>...
Chapter 2 Organize Tags Assign an Alias Follow these steps to assign a tag as an alias tag for another tag. 1. On the Controller Organizer, right-click Controller Tags and choose Edit Tags. The Tag Editor window appears. 42360 2. Select the scope of the tag. 3.
Organize Tags Chapter 2 Assign an Indirect Address If you want an instruction to access different elements in an array, use a tag in the subscript of the array (an indirect address). By changing the value of the tag, you change the element of the array that your logic references. When index equals 1, array[index] points here.
Page 50
Chapter 2 Organize Tags The following example loads a series of preset values into a timer, one value (array element) at a time. Step through an array. EXAMPLE The timer_presets array stores a series of preset values for the timer in the next rung. The north_tank.step tag points to which element of the array to use.
Organize Tags Chapter 2 Expressions You can also use an expression to specify the subscript of an array. • An expression uses operators, such as + or -, to calculate a value. • The controller computes the result of the expression and uses it as the array subscript.
The controller checks the array subscript in these instructions even if the rung is false. EXAMPLE For more information on handling major faults, refer to the Logix5000 Controllers Major and Minor Faults Programming Manual, publication 1756-PM014. Publication 1756-PM004C-EN-P - October 2009...
Organize 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. RSLogix 5000 programming software automatically assigns IMPORTANT what are called pass-through descriptions of the tags you have created, descriptions you may or may not want to use.
Page 54
Chapter 2 Organize Tags Enter the localized descriptions in your RSLogix 5000 project, 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. Once you enable language switching in RSLogix 5000 software, you can dynamically switch between languages as you use the software.
Chapter Force I/O Introduction Use a force to override data that your logic either uses or produces. For example, use forces to: • test and debug your logic. • check wiring to an output device. • temporarily keep your process functioning when an input device has failed.
Chapter 3 Force I/O Enable Forces For a force to take effect, you enable forces. You can only enable and disable forces at the controller level. • You can enable I/O forces and SFC forces separately or at the same time.
Force I/O Chapter 3 Check Force Status Before you use a force, determine the status of forces for the controller. You can check force status. To determine status Use any of the following • Online toolbar I/O forces • FORCE status indicator •...
Chapter 3 Force I/O FORCE Status Indicator If your controller has a FORCE Status Indicator, use it to determine the status of any I/O forces. The FORCE Status Indicator shows only the status of I/O forces. IMPORTANT It does not show that status of SFC forces. FORCE Status Indicator Then •...
Force I/O Chapter 3 When to Use I/O Force Use an I/O force to: • override an input value from another controller (that is, a consumed tag). • override an input value from an input device. • override your logic and specify an output value for another controller (that is, a produced tag).
Chapter 3 Force I/O 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.
Force I/O Chapter 3 4. Install the force value. To force a Do this BOOL value Right-click tag and choose Force On or Force Off. Non-BOOL value In the Force Mask column for the tag, type the value that you want to force the tag.
Chapter 3 Force I/O Remove an Individual Force If you remove an individual force, forces remain in the ATTENTION enabled state and any new force immediately takes effect. Before you remove a force, determine how the change will effect your machine or process and keep personnel away from the machine area.
Chapter Data Access Control Introduction In the Logix platform, software version 18 or later, there are two tag attributes that allow you to control access to tag data. These attributes are: • External Access • Constant The External Access attribute controls how external applications, such as HMIs, can access tags.
Chapter 4 Data Access Control Configure External Access You configure external access from a pull-down menu when you create a new tag or data type. You can also modify that value just like other tag attributes. These changes can be made throughout the software. For example, they can be made in the User-defined Data Type Editor, New Tag Dialog, and the Tag Properties Dialog.
Page 65
Data Access Control Chapter 4 The default value in the External Access box is dependent on the usage, and type of the tag. The following table describes the values. Default Tag’s External Access If the tag is Default value is Alias Same as its target.
Chapter 4 Data Access Control 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. page For tag descriptions, see The External Access box on the New Tag dialog box lets you assign the...
Page 67
The Connection button (next to the Type box) becomes active when either a produced or consumed tag type is selected. The button accesses a dialog box for setting up produced/consumed tag connections. See the Logix5000 Controllers Produced and Consumed Tags Programming Manual, publication 1756-PM011. Publication 1756-PM004C-EN-P - October 2009...
Chapter 4 Data Access Control Set Up External Access in the Tag Properties Dialog Box The Tag Properties dialog box is used to edit properties of existing tags. You can change tag attributes and modify tag types, such as base and alias. Follow these steps to choose an external access option for an existing tag.
Data Access Control Chapter 4 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. The External Access column displays the tag as ‘Read/Write’, ‘Read Only’, or ‘None’.
Chapter 4 Data Access Control ‘Go To’ Search Menu The external access setting of an alias tag can only be changed through its base tag. The ‘Go To’ option on the Search menu of the RSLogix 5000 programming software is a convenient way to find the base tag among all the cross-reference records.
Data Access Control Chapter 4 External Access The following table describes the conditions in which the External Access box is disabled. Availability The External Access box is always disabled for any tag whose IMPORTANT data type is Alarm Analog or Alarm Digital. The external access status is always Read/Write for these data types.
Page 72
Chapter 4 Data Access Control External Access Variables Dialog Box/Window Considerations Tag Editor The External Access box is disabled if: • you do not have permission to change the external access settings. • the redundancy controller is in any state that does not allow changes.
Data Access Control Chapter 4 User-defined Type The three external access options—Read/Write (default), Read Only, None— are chosen from the External Access column on the Data Type Considerations dialog box. Three external access rules apply for members of User-defined data types. •...
Chapter 4 Data Access Control Add-On Instructions External Access settings can be used with parameters and local tags of Add-On Instructions. For example, if an input parameter is defined with External Access external access of ‘read only’, the member that represents that parameter in the Considerations Add-On Instruction data type cannot be written.
Page 75
Data Access Control Chapter 4 For alias parameters, the external access type is equal to the type configured for the base local tag. Add-On Instruction External Access Variables Dialog Box/Window Considerations New Add-On If the current usage is: Instruction Parameter or Local Tag •...
Page 76
Chapter 4 Data Access Control Add-On Instruction External Access Variables Dialog Box/Window Considerations Add-On Instruction The External Access column is disabled if: Definition - Parameters • InOut parameters, which are blank. • EnableIn and EnableOut parameters, which default ‘Read Only’. •...
Page 77
Data Access Control Chapter 4 Add-On Instruction External Access Variables Dialog Box/Window Considerations Add-On Instruction Edit Note: External access is not applicable for InOut parameters Tags because they are just references until invoked. The External Access column is disabled if: •...
Chapter 4 Data Access Control Tag Mapping 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. Considerations PLC-2, PLC-5/SLC External Access Variables Dialog Box/Window Considerations PLC-2, PLC-5/SLC To map a tag: Mapping •...
Data Access Control Chapter 4 Constant Value Tags In RSLogix 5000 software version 18 and later, you can designate tags as constants to protect them from being changed programatically via: • the controller programming application. • logic in the controller. Tags that cannot be designated as constants are User-defined type members, Add-On Instruction input and output parameters, and local tags.
Chapter 4 Data Access Control Configure Constant Tags This section describes the various ways a constant attribute can be configured. 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. 1.
Data Access Control Chapter 4 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. 1. On the Tag Editor window, right-click a tag and choose Edit (tag name) Properties.
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 RSLogix 5000 software program. The Constant property applies to an entire tag; all members of the tag take on the same setting.
Page 83
Data Access Control Chapter 4 2. Click the checkbox in the Constant column. In the Tag Monitor window, the constant setting of the tag IMPORTANT displays in the same Constant column as shown in the In the above illustration. However, you cannot change the value. The Constant column also is available on the Equipment Phase Tag Edit window and Equipment Phase Tag Monitor window.
Controller Log for future reference. For controller logging, see the Logix5000 Controllers Information and Status Programming Manual, publication 1756-PM015. If the controller is in safety-locked mode, only the safety tags will be disabled from being accessed, the standard tags will have the same behavior as in the unlocked mode.
Data Access Control Chapter 4 Add-On Instructions The Constant attribute applies only to InOut parameters. The default setting of the property will be ‘not a Constant Value’. Constant Value Considerations The Constant attribute will not apply to Input, Output, EnableIn and EnableOut Add-On Instruction parameters.
Chapter 4 Data Access Control Notes: Publication 1756-PM004C-EN-P - October 2009...
Page 87
Index constant value access availability 84 external 63 dialog box 80 Add-On Instruction tag editor 82 constant value considerations 85 tag properties 81 external access variables 75 value configuration 80 address value tags 79 assign indirect 49 controller tag 45 tags 29 tag I/O module 21 use of 29...
Page 88
Index external access 63 ladder logic Add-On Instruction 74 force a value 55 availability 71 override a value 55 configure 64 local data configure tag dialog 66 See scope configure tag properties 68 options 64 user-defined data type consider- ations 73 memory view tag editor 69 allocation for tags 27...
Page 89
Index symbol memory allocation 27 name 29 See alias. organize 30 overview 25 properties external access 68 address 45 reuse of name 29 alias 46 scope 29 array 34 type 26 assign dimensions 37 constant value 79 configuration 80 user-defined data type create 33 create 40 create alias 48...
Page 90
Index Notes: Publication 1756-PM004C-EN-P - October 2009...
Page 92
Rockwell Automation Support Rockwell Automation provides technical information on the Web to assist you in using its products. At http://www.rockwellautomation.com/support/, you can find technical manuals, a knowledge base of FAQs, technical and application notes, sample code and links to software service packs, and a MySupport feature that you can customize to make the best use of these tools.
Need help?
Do you have a question about the Logix5000 and is the answer not in the manual?
Questions and answers