You are on page 1of 58

Logix5000 Controllers I/O and Tag

Data

Programming Manual
Catalog Numbers 1756 ControlLogix,

1769 CompactLogix, 1789 SoftLogix,
1794 FlexLogix, PowerFlex 700S 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://literature.rockwellautomation.com) describes some important differences between solid state equipment and hardwired 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

IMPORTANT
ATTENTION

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.

Identifies information that is critical for successful application and understanding of the product.
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.

Allen-Bradley, Rockwell Automation, and TechConnect are trademarks of Rockwell Automation, Inc.
Trademarks not belonging to Rockwell Automation are property of their respective companies.

Table of Contents
Preface

Purpose of this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
How to Use this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Chapter 1
Communicating with I/O

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Requested Packet Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Communication Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Direct or Rack-Optimized Connection . . . . . . . . . . . . . . . . . . . . . . 9
Ownership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Electronic Keying. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Address I/O Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Buffering I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Buffer I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Chapter 2
Organizing Tags

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Tag Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Data Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Guidelines for Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Create a Tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Create an Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Create an Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Create a User-Defined Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Guidelines for User-Defined Data Types. . . . . . . . . . . . . . . . . . . . 32
Create a User-Defined Data Type. . . . . . . . . . . . . . . . . . . . . . . . . . 32
Describe a User-Defined Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Turn Pass-Through and Append Descriptions On or Off . . . . . . 35
Paste a Pass-Through Description . . . . . . . . . . . . . . . . . . . . . . . . . 35
Address Tag Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Assigning Alias Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Display Alias Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Assign an Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Assigning an Indirect Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Array Subscript Out of Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Tag Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Base Tag Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Alias Tag Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Produced Tag Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Consumed Tag Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Language Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Chapter 3
Force I/O

3Publication 1756-PM004B-EN-P - July 2008

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3

Table of Contents

Enable Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Disable or Remove a Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Check Force Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
FORCE LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
GSV Instruction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
When to Use an I/O Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Force an Input Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Force an Output Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Add an I/O Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Remove or Disable Forces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Remove an Individual Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Disable All I/O Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Remove All I/O Forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4

Publication 1756-PM004B-EN-P - July 2008

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.
The term Logix5000 controller refers to any controller that is based on the
Logix5000 operating system, such as:
• CompactLogix controllers
• ControlLogix controllers
• DriveLogix controllers
• FlexLogix controllers
• SoftLogix5800 controllers

How to Use this Manual

Some text is formatted differently from the rest of the text.

Text that is

Identifies

Italic

the actual name of an item that you Right-click User-Defined …
see on your screen or in an example

Right-click the item that is named
User-Defined.

courier

information that you must supply
based on your application (a
variable)

Right-click
name_of_program …

You must identify the specific program in
your application. Typically, it is a name or
variable that you have defined.

Press [Enter].

Press the Enter key.

enclosed in brackets a keyboard key

Publication 1756-PM004B-EN-P - July 2008

For example

Means

5

Preface Notes: 6 Publication 1756-PM004B-EN-P .July 2008 .

July 2008 7 . While the configuration options vary from module to module.Chapter 1 Communicating with I/O To communicate with an I/O module in your system. Introduction Add I/O modules here. you also define a specific configuration for the module. When you add the module. you add the module to the I/O Configuration folder of the controller. there are some common options that you typically configure: • Requested Packet Interval • Communication Format • Electronic Keying 7Publication 1756-PM004B-EN-P .

but the control system guarantees that the data transfers at least as often as the RPI. the RPI reserves a slot in the stream of data flowing across the ControlNet network. you configure an RPI in milliseconds (ms). Connections are allocations of resources that provide more reliable communications between devices than unconnected messages. 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) Requested packet interval (RPI) The RPI specifies the period at which data updates over a connection. In Logix5000 controllers. or another controller. 8 Publication 1756-PM004B-EN-P . The range is 0. • To prevent an input value from changing during a scan. • Logic within any task can modify controller-scoped data. an input module sends data to a controller at the RPI that you assign to the module. such as between a controller and an I/O module. The timing of this slot may not coincide with the exact value of the RPI. copy the value to another tag and use the data from there (buffer the values). • Programs within a task access input and output data directly from controller-scoped memory.2 ms (200 microseconds) to 750 ms. • An input value referenced at the beginning of a task’s execution can be different when referenced later. The number of connections that a single controller can have is limited. For example.Chapter 1 Communicating with I/O Requested Packet Interval The Logix5000 controller uses connections to transmit I/O data. The values update asynchronous to the execution of logic. the controller updates a value independently from the execution of logic. • Typically. ATTENTION Take care to ensure that data memory contains the appropriate values throughout a task’s execution. PanelView terminal. You indirectly determine the number of connections the controller uses by configuring the controller to communicate with other devices in the system. I/O values update at a period that you configure via the I/O configuration folder of the project. Term Definition Connection A communication link between two devices. • Data and I/O values are asynchronous and can change during the course of a task’s execution. At the specified interval.July 2008 . • If a ControlNet network connects the devices. You can duplicate or buffer data at the beginning of the scan to provide reference values for your logic.

Any break in the connection. These connections can be direct connections or rack-optimized connections. such as a module fault or the removal of a module while under power. sets fault bits in the data area associated with the module. A direct connection is any connection that does not use the Rack Optimization Come Format. Each format uses a different data structure. Many I/O modules support different formats.Communicating with I/O Communication Format Chapter 1 The communication format that you choose determines the data structure for the tags that are associated with the module.July 2008 9 . A rack-optimized connection consolidates connection usage between the controller and all the digital I/O modules in the chassis (or DIN rail). The communication format that you choose also determines: • Direct or Rack-Optimized Connection • Ownership Direct or Rack-Optimized Connection The Logix5000 controller uses connections to transmit I/O data. Rack-optimized connection For digital I/O modules. Rather than having individual. you can select rack-optimized communication. data transfer link between the controller and an I/O module. Rack-optimized connection Publication 1756-PM004B-EN-P . there is one connection for the entire chassis (or DIN rail). The controller maintains and monitors the connection with the I/O module. direct connections for each I/O module. Term Definition Direct connection A direct connection is a real-time.

Chapter 1 Communicating with I/O Ownership In a Logix5000 system. 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. 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. Listen-only connection An I/O connection where another controller owns/provides the configuration data for the I/O module. Listen-only connection 10 Publication 1756-PM004B-EN-P . modules multicast data. The owner controller writes configuration data and can establish a connection to the module. When you choose a communication format. Owner controller The controller that creates the primary configuration and communication connection to a module. you have to choose whether to establish an owner or listen-only relationship with the module.July 2008 . This means that multiple devices can receive the same data at the same time from a single device.

otherwise the connection attempt is rejected. Only one owner connection is allowed for an output module. all controllers with listen-only connections no longer receive multicast data. These controllers can receive multicast data while another controller owns the module. Publication 1756-PM004B-EN-P . If another controller attempts to establish an owner connection.. all controllers with listen-only connections no longer receive multicast data.July 2008 11 . not listen-only) Owns the module Listen-only There is a noted difference in controlling input modules versus controlling output modules. This configuring controller is the first controller to establish an owner connection. These controllers can receive multicast data while another controller owns the module. Controlling This ownership Description Input modules Owner An input module is configured by a controller that establishes a connection as an owner. This lets additional owners to continue to receive multicast data if the original owner controller breaks its connection to the module. Does not own the module Owner (i. Once an input module has been configured (and owned by a controller). If the owner controller breaks its connection to the output module. other controllers can establish owner connections to that module.e. Listen-only Once an output module has been configured (and owned by one controller). All other additional owners must have the identical configuration data and identical communications format that the original owner controller has. the connection attempt is rejected. Owner An output module is configured by a controller that establishes a connection as an owner. other controllers can establish a listen-only connection to that module. other controllers can establish listen-only connections to that module. If all owner controllers break their connections to the input module. Output modules Listen-only Once an input module has been configured (and owned by a controller).Communicating with I/O Chapter 1 Use the following table to choose the type of ownership for a module: If the module is an And another controller Input module Does not own the module Owns the module Output module And you want to Then use this type of connection Owner (not listen-only) Maintain communication with the module if it loses communication with the other controller Owner (not listen-only) Stop communication with the module if it loses communication with the other controller Listen-only Use the same configuration as the other owner controller.

However. If Then Select All information must match: Exact Match • type • catalog number • vendor • major and minor revision number 12 All information except the minor revision number Compatible Module No information must match Disable Keying Publication 1756-PM004B-EN-P . or economic loss. property damage. When you configure a module. The keying option you choose determines how closely any module in a slot must match the configuration for that slot.Chapter 1 Communicating with I/O Electronic Keying ATTENTION Be careful when you disable electronic keying. Electronic keying lets you protect your system against the accidental placement of the wrong module in a slot.July 2008 . you specify the slot number for the module. If used incorrectly. it is possible to place a different module in that slot. either on purpose or accidently. this option can lead to personal injury or death.

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

perform these actions. 14 Publication 1756-PM004B-EN-P . copy the data from the buffer tags to the corresponding output tags. (I/O updates asynchronous to the execution of logic. Buffer I/O To buffer I/O. On the rung before the logic for the function (s). copy or move the data from the required input tags to their corresponding buffer tags.July 2008 . 2. 3. the logic uses a copy of the I/O data.) • To copy an input or output tag to a member of a structure or element of an array. reference the buffer tags.Chapter 1 Communicating with I/O Buffering I/O Buffering is a technique in which logic does not directly reference or manipulate the tags of real I/O devices. 1. Buffer I/O in the following situations: • To prevent an input or output value from changing during the execution of a program. On the rung after the function (s). In the logic of the function (s). Instead.

depth_limit drill[1].Data[0].0 drill[1].July 2008 15 .0 ONS drill[1].forward drill[1].retract The map_outputs routine copies the values of output tags in the drill routine to their corresponding output devices. drill[1].1 42369 Publication 1756-PM004B-EN-P .4 drill[1].forward _1791_8AC:O.part_advance / one_shots. EXAMPLE Buffer I/O The main routine of the program executes the following subroutines in this sequence.Data[0].retract _1791_8AC:O.0 drill[1].home_limit The drill routine executes the logic for the drill machine.Data[0].depth_limit _1791_8AC:I. _1791_8AC:I. 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.retract drill[1].Communicating with I/O Chapter 1 This example copies inputs and outputs to the tags of a structure for a drill machine.home_limit / drill[1]. drill[1].forward drill[1].Data[0].depth_limit / drill[1].

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

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

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. If you want the tag to Then choose this type Store a value or values for use by logic within the project Base Represent another tag. Alias Send data to another controller Produced Receive data from another controller Consumed If you plan to use produced or consumed tags.July 2008 . 18 Publication 1756-PM004B-EN-P .

counters. • You can create your own structures. Function Blocks. Structure A data type that is a combination of other data types. string.July 2008 For Select Analog device in floating-point mode REAL Analog device in integer mode (for very fast sample rates) INT ASCII characters String Bit BOOL Counter COUNTER Digital I/O point BOOL Floating-point number REAL Integer (whole number) DINT Sequencer CONTROL Timer TIMER 19 . integer. The following table outlines the most common data types and when to use each. etc. Publication 1756-PM004B-EN-P . members have a name and data type. • Within a structure. floating-point value.Organizing Tags Chapter 2 Data Type Term Definition Data type The data type defines the type of data that a tag stores. • Like tags. • A Logix5000 controller contains a set of predefined structures (data types) for use with specific instructions such as timers. such as a bit. etc. • A structure is formatted to create a unique data type that matches a specific need. each individual data type is called a member. called a user-defined data type.

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

Controller tags (global data) All programs have access to data that is at the controller scope. For example. you define it as either a controller tag (global data) or a program tag for a specific program (local data). both Program_A and Program_B can have a program tag named Tag_4. Publication 1756-PM004B-EN-P . Tag_1 Tag_2 Program_B Program_A Other routines Program tags (local data) Tag_4 Main routine Other routines Data Main routine Tag_5 Program tags (local data) Tag_4 Tag_5 Data at the program scope is isolated from other programs: • Routines cannot access data that is at the program scope of another program.Organizing Tags Chapter 2 Scope When you create a tag. There is no need to manage conflicting tag names between programs.July 2008 21 . 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. each with its own data. • You can re-use the tag name of a program-scoped tag in multiple programs. This makes it easier to re-use both code and tag names in multiple programs.

Within a program. • 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. 22 Publication 1756-PM004B-EN-P . similar tags. This keeps related data together and easy to locate. or 3 dimensions to match what the data represents. Then create a tag for each of your tanks based on that data type. Important: Minimize the use of BOOL arrays. use a 2 dimension array to organize the data for a tank farm. Create user-defined data types. use a BOOL array for the bit-level objects of a PanelView screen. • Each individual piece of data (member) gets a descriptive name. Use arrays to quickly create a group of An array creates multiple instances of a data type under a common tag name. ‰ 2. • Otherwise. This automatically creates an initial level of documentation for your logic. • You organize the data in 1.July 2008 . User-defined data types (structures) let you organize data to match your machine or process. This makes it more difficult to initialize and clear an array of BOOL data. For example.Chapter 2 Organizing Tags Avoid using the same name for a both controller tag and a program tag. including temperatures. Certain tags must be controller scope (controller tag). pressures. valve positions. and preset values. Each element of the array represents a single tank. Many array instructions do not operate on BOOL arrays. A user-defined data type provides these advantages: • One tag contains all the data related to a specific aspect of your system. regardless of its data type. you cannot reference a controller tag if a tag of the same name exists as a program tag for that program. • Typically. For example. If you want to use the tag Then assign this scope In more than one program in the project In a Message (MSG) instruction To produce or consume data Controller scope (controller tags) To communicate with a PanelView terminal None of the above Guidelines for Tags Program scope (program tags) Use the following guidelines to create tags for a Logix5000 project: Guideline Details ‰ 1. use the individual bits of a DINT tag or an array of DINTs. 2. • You can use the data type to create multiple tags with the same data lay-out. The location of the element within the array represents the geographic location of the tank.

• The conversion to or from SINTs or INTs occurs automatically with no extra programming. But it takes extra execution time and memory. define each tag at the program scope (program tags) for a different program. Whenever possible. This lets you re-use both logic and tag names in multiple programs. Publication 1756-PM004B-EN-P .July 2008 23 . • If the destination is a SINT or INT tag. If you want to use the tag Then assign this scope In more than one program in the project In a Message (MSG) instruction To produce or consume data Controller scope (controller tags) To communicate with a PanelView terminal None of the above ‰ 4. 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. you cannot reference a controller tag if a tag of the same name exists as a program tag for that program. If you want multiple tags with the same name. the controller typically converts the value back to a SINT or INT value. • A Logix5000 controller typically compares or manipulates values as 32-bit values (DINTs or REALs). minimize the use of SINT or INT data types. use the DINT data type for integers. For integers. Take advantage of program-scoped tags.Organizing Tags Chapter 2 Guideline Details ‰ 3. Within a program. Program scope (program tags) To increase the efficiency of your logic. Avoid using the same name for both a controller tag and a program tag. use the DINT data type.

South_Tank 24 Publication 1756-PM004B-EN-P . Consider the alphabetical order of tags. use similar starting characters for tags that you want to keep together. etc.Chapter 2 Organizing Tags Guideline Details ‰ 5. Here are the rules for a tag name: • only alphabetic characters (A-Z or a-z). Limit a tag name to 40 characters. Tag Name Tag Name Tank_North North_Tank Tank_South … … … … Other tags that start with the letters o.July 2008 . Use mixed case. These tags are easier to read Than these tags Tank_1 TANK_1 Tank1 TANK1 tank_1 tank1 ‰ 7. q. Starting each tag for a tank with Otherwise. separated from each other. mixed case is easier to read. 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 ‰ 6. RSLogix 5000 software displays tags of the same scope in alphabetical order. p. the tags may end up Tank keeps the tags together. Although tags are not case sensitive (upper case A is the same as lower case a). To make it easier to monitor related tags. numeric characters (0-9).

Organizing Tags Chapter 2 Create a Tag IMPORTANT RSLogix 5000 software automatically creates tags when you: • add an element to a sequential function chart (SFC). Publication 1756-PM004B-EN-P . 1. 42350 If you will use the tag: Then select: In more than one program within the project name_of_controller(controller) As a producer or consumer In a message In only one program within the project Program that will use the tag 3. 2.July 2008 25 . select Edit Tags. Type a name. From the Logic menu. • add a Function Block instruction to a Function Block diagram. and description (optional) for the tag. Select a scope for the tag. The Tags window lets you create and edit tags using a spreadsheet-style view of the tags. data type.

A subscript (s) identifies each individual element within the array. Term Definition Array A tag that contains a block of multiple pieces of data. each element in sequence. Elements of timer_presets Six DINTs 42367 26 Publication 1756-PM004B-EN-P . • Each element uses the same data type.Chapter 2 Organizing Tags Create an Array Logix5000 controllers also let you use arrays to organize data. • An array is similar to a file. A subscript starts at 0 and extends to the number of elements minus 1 (zero based). 2.July 2008 . • An array tag occupies a contiguous block of memory in the controller. • 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 1. To collapse an array and hide its elements. • Within an array. To expand an array and display its elements. each individual piece of data is called an element. or 3 dimensions. click the – sign. This array contains six elements of the DINT data type. click the + sign.

Tag Name − Timer_1 Data Type TIMER This is a tag that uses an array of the Timer data type. To expand an array and display its elements. a single timer instruction times the duration of several steps.PRE DINT + Timer[0] TIMER + Timer_1. click the + sign.ACC DINT + Timer[1] TIMER Timer_1. Each step requires a different preset value.TT BOOL Timer_1. click the – sign. This array contains six elements of the DINT data type.EN BOOL + Timer[2] TIMER Timer_1.Organizing Tags Chapter 2 The following example compares a structure to an array: This is a tag that uses the Timer structure (data type). Elements of timer_presets Six DINTs 42367 Publication 1756-PM004B-EN-P . To collapse an array and hide its elements.DN BOOL EXAMPLE Single dimension array In this example.July 2008 27 . Because all the values are the same data type (DINTs) an array is used. Tag Name − Timers Data Type TIMER[3] + Timer_1.

To organize the values into configurations. This array contains a two-dimensional grid of elements. The first subscript indicates the hole to which the value corresponds and the second subscript indications how many holes will be drilled (one to five).Chapter 2 Organizing Tags EXAMPLE Two dimension array A drill machine can drill one to five holes in a book.25 1. When the right-most dimension starts over.75 7.75 7. the elements are in the order depicted below.5 1.July 2008 . a two dimension array is used. 28 Publication 1756-PM004B-EN-P .25 Position of first hole from leading edge of book 8.75 Position of fifth hole from leading edge of book 0 1 Subscript of first dimension 2 3 4 5 In the Tags window.5 Position of third hole from leading edge of book 9. The machine requires a value for the position of each hole from the leading edge of the book. Subscript of second dimension 0 Description 1 2 3 4 5 1. 42367 The right-most dimension increments to its maximum value then starts over.5 5.5 Position of fourth hole from leading edge of book 9. six elements by six elements.25 1.5 2.5 Position of second hole from leading edge of book 9.5 3.0 5. the dimension to the left increments by one.5 3.

Two dimension array data_type[x. you create a tag and assign dimensions to the data type: 1. select Edit Tags.July 2008 29 . Three dimension array data_type[x. 42350 2.y. From the Logic menu.z] y is the number of elements in the second dimension. Publication 1756-PM004B-EN-P . z is the number of elements in the third dimension. Type a name for the tag and select a scope for the tag: If you will use the tag Then select In more than one program within the project name_of_controller(controller) As a producer or consumer In a message In only one program within the project Program that will use the tag 3. Assign the array dimensions: If the tag is Then type Where One dimension array data_type[x] data_type is the type of data that the tag stores.y] x is the number of elements in the first dimension.Organizing Tags Chapter 2 Create an Array To create an array.

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

First drill Data for the drill 42583 Publication 1756-PM004B-EN-P .July 2008 31 .Organizing 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 Hole_sequence CONTROL Type DINT Hole_position REAL Depth REAL Total_depth REAL An array that is based on this data type looks like: Array of drills This array contains four elements of the DRILL_STATION data type.

Multi-dimension arrays are not permitted in a user-defined data type. you must use logic to copy the data between the members in the structure and the corresponding I/O tags. right-click User-Defined and select New Data Type. limit the array to a single dimension. • When you use the BOOL. Refer to Address I/O Data on page 13. • If you include an array as a member. 32 Publication 1756-PM004B-EN-P . place members that use the same data type in sequence: More efficient Less efficient BOOL BOOL BOOL DINT BOOL BOOL DINT DINT DINT BOOL Create a User-Defined Data Type 1. From the User-Defined folder under Data Types. SINT.Chapter 2 Organizing Tags Guidelines for User-Defined Data Types When you create a user-defined data type. keep the following in mind: • If you include members that represent I/O devices.July 2008 . or INT data types.

and description (optional). Type a name for the array. For each member of the array. data type. 5. Publication 1756-PM004B-EN-P . Add as many members as needed. 3. Click Apply. type a name. style. 4.July 2008 33 . To display the value (s) of the member in a different style (radix). 42196 Limit any arrays to a single dimension. select the style. description for the array.Organizing Tags Chapter 2 2.

RSLogix 5000 software uses different colors for descriptions: 34 A description in this color Is a Gray Pass-through description Black Manually entered description Publication 1756-PM004B-EN-P . This greatly reduces the amount of time you have to spend documenting your project. • Description of an array tag ripples through to the elements and members of the array. RSLogix 5000 software looks for an available description for a tag.Chapter 2 Organizing Tags Describe a User-Defined Data Type RSLogix 5000 software 13. keep in mind the following features of RSLogix 5000 software: Pass through of descriptions – When possible. Append description to base tag – RSLogix 5000 software automatically builds a description for each member of a tag that uses a user-defined data type. In this example. Paste pass-through description – Use the data type and array description as a basis for more specific descriptions.July 2008 .0 or later RSLogix 5000 software lets you automatically build descriptions out of the descriptions in your user-defined data types. or member. It starts with the description of the tag and then adds the description of the member from the data type. As you organize your user-defined data types. element. • Descriptions in user-defined data types ripple through to the tags that use that data type. Tank became West Tank.

Right-click the pass-through description and choose Paste Pass-Through. 3. Publication 1756-PM004B-EN-P . choose Tools > Options. Edit the description and press {Ctrl] + [Enter]. Paste a Pass-Through Description To use a pass-through description as the starting point for a more specific description: 1. 2. Select the Application > Display.July 2008 35 . Turn on (check) or turn off (uncheck) the desired options. 2.Organizing Tags Chapter 2 Turn Pass-Through and Append Descriptions On or Off 1. In RSLogix 5000 software.

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

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

the tags were converted to aliases for the corresponding I/O devices.July 2008 .0 conveyor_on <Local:0:O.Data.0> machine_on drill_1_on machine_on <Local:0:O. 3.2> drill_1.Data.1> start <Local:2:I. stop is an alias for Local:2:I. do the following. 38 Publication 1756-PM004B-EN-P .1 (the stop button on the operator panel) stop <Local:2:I.part_advance conveyor_on is an alias for Local:0:O. Later. Select the Ladder Display tab. 4. From the Tools menu. 2. such as stop and conveyor_on. select Options. Check the Show Tag Alias Information check box.Data. 1.Data.Data.Chapter 2 Organizing Tags The following logic was initially programmed using descriptive tag names. Click OK.0> (the starter contactor for the conveyor motor) 42351 Display Alias Information To show (in your logic) the tag to which an alias points.Data.

5. From the Logic menu. 3. 1.Organizing Tags Chapter 2 Assign an Alias To assign a tag as an alias tag for another tag. C. Click the >. To the right of the tag name. 42360 2. select Edit Tags. Select the tag that the alias will represent: To Do this Select a tag Double-click the tag name. 6. 4. To the right of the tag name. B. Publication 1756-PM004B-EN-P . Select a bit number A. do the following. Click the required bit.July 2008 39 . The cell displays a >. Select the scope of the tag. click the Alias For cell. Click the tag name. Press [Enter] or click another cell. click >.

array[index] points here. one element at a time A. array[0] 4500 array[1] 6000 array[2] 3000 array[3] 2500 When index equals 2. Perform the required action on the first element. Log error codes B. array[index] points here.Chapter 2 Organizing Tags Assigning 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). you change the element of the array that your logic references. of possible setups Load parameters or states from an array. Load a specific machine setup from an array Enter the desired setup in the tag. The following table outlines some common uses for an indirect address: To Use a tag in the subscript and Select a recipe from an array of recipes Enter the number of the recipe in the tag. When index equals 1. Perform several actions on an array element and then index to the next element 40 Publication 1756-PM004B-EN-P .July 2008 . By changing the value of the tag. Use an ADD instruction to increment the tag value and point to the next element in the array.

The north_tank.) EQU Equal Source A north_tank.step_time.step to the next number and that element of the timer_presets array loads into the timer.step 0 Source B 4 MOV Move Source 0 Dest north_tank.step_time Preset 60000 Accum 0 EN DN When north_tank.Organizing Tags Chapter 2 The following example loads a series of preset values into a timer.step] 60000 Dest north_tank.step 0 42358 Publication 1756-PM004B-EN-P . the rung resets the tag to start at the first element in the array. north_tank.PRE 60000 north_tank.July 2008 41 .step 0 Dest north_tank. the rung increments north_tank.000 ms).step 0 When north_tank.step_time.step exceeds the size of the array.step tag points to which element of the array to use.DN ADD Add Source A 1 Source B north_tank. one value (array element) at a time.DN / TON Timer On Delay Timer north_tank. (The array contains elements 0 to 3. the instruction loads timer_presets[0] into the timer (60. EXAMPLE Step through an array The timer_presets array stores a series of preset values for the timer in the next rung.step_time. MOV Move Source timer_presets[north_tank.step equals 0. For example.step_time is done. when north_tank.

constants. You can use these operators to specify the subscript of an array: Operator Description Operator Description + Add MOD Modulo - Subtract/negate NOT Complement * Multiply OR OR / Divide SQR Square root ABS Absolute value TOD Integer to BCD AND AND TRN Truncate FRD BCD to integer XOR Exclusive OR Format your expressions as follows: If the operator requires Use this format Examples One value (tag or expression) operator(value) ABS(tag_a) Two values (tags. • An expression uses operators. such as + or -. to calculate a value.July 2008 . • The controller computes the result of the expression and uses it as the array subscript.Chapter 2 Organizing Tags Expressions You can also use an expression to specify the subscript of an array. or expressions) value_a operator value_b • tag_b + 5 • tag_c AND tag_d • (tag_e ** 2) MOD (tag_f / tag_g) 42 Publication 1756-PM004B-EN-P .

the descriptions you document for each tag will vary. publication 1756-PM014. descriptions you may or may not want to use. EXAMPLE e For more information on handling major faults. You can create tags of these types: • • • • Base Alias Produced Consumed IMPORTANT Publication 1756-PM004B-EN-P .Organizing Tags Chapter 2 Array Subscript Out of Range Every instruction generates a major fault if the array subscript is out of range. refer to the Major and Minor Faults Programming Manual. The controller checks the array subscript in these instructions even if the rung is false. 43 . Transitional instructions also generate a major fault even if the rung is false. Tag Documentation Since you can create four different types of tags.July 2008 RSLogix 5000 programming software automatically assigns what are called pass-through descriptions of the tags you have created.

In the description of your Produced tag. Language Switching With RSLogix 5000 software. However. you can describe the ways in which you want to use a produced tag’s data or the data-producing controller. such as tag descriptions and rung comments for any supported localized language. you can use a custom language to tailor documentation to a specific type of project file user.July 2008 . You define all the localized languages that the project will support and set the current. Produced Tag Documentation A Produced tag refers to a tag that is consumed by another controller. The software uses the default language if the current language's content is blank for a particular component of the project. Consumed Tag Documentation A Consumed tag refers to a tag that is produced by another controller and whose data you want to use in your controller. In the description of your Alias tag. RSLogix 5000 will automatically assign your tag a default type of Base. you can assign your own name to an existing tag. you can describe the tag to which your alias tag refers. Alias Tag Documentation By creating an Alias tag. In the description of your Consumed tag. you have the option to display project documentation. and optional custom localized language. you can describe the remote controllers to which you want to make your Produced tag available through controller-to-controller messaging. version 17. You can store project documentation for multiple languages in a single project file rather than in language-specific project files. Since base tags enable you to create your own internal data storage. default. structure tag member.Chapter 2 Organizing Tags Base Tag Documentation When you create a tag without specifying a tag type. you can document in your tag description the nature of the data being stored. or bit. 44 Publication 1756-PM004B-EN-P .

programs. you can dynamically switch between languages as you use the software. routines.July 2008 45 . • Controllers. Once you enable language switching in RSLogix 5000 software. see the online help. and Add-On Instructions. Publication 1756-PM004B-EN-P . • Tasks.Organizing Tags Chapter 2 Enter the localized descriptions in your RSLogix 5000 project. and FBD text boxes. 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. • Equipment phases. Project documentation that supports multiple translations within a project includes: • Component descriptions in tags. • Alarm Messages (in ALARM_ANALOG and ALARM_DIGITAL configuration). • Trends. • Property descriptions for modules in the Controller Organizer. For more information on enabling a project to support multiple translations of project documentation. • Rung comments. user-defined data types. SFC text boxes.

Chapter 2 Organizing Tags Notes: 46 Publication 1756-PM004B-EN-P .July 2008 .

• Enabling I/O forces causes input. • Removing forces may still leave forces in the enabled state. output. • Enabling SFC forces causes your machine or process to go to a different state or phase. produced. For example. 47Publication 1756-PM004B-EN-P . Precautions ATTENTION Forcing can cause unexpected machine motion that could injure personnel. or consumed values to change. the new force immediately takes effect. • check wiring to an output device. They are not intended to be a permanent part of your application. take these precautions. determine how the force will effect your machine or process and keep personnel away from the machine area.July 2008 47 . Before you use a force. Introduction Use forces only as a temporary measure.Chapter 3 Force I/O Use a force to override data that your logic either uses or produces. • temporarily keep your process functioning when an input device has failed. use forces to: • test and debug your logic. When you use forces. • If forces are enabled and you install a force.

When forces are in effect (enabled). disable or remove the force.Chapter 3 Force I/O Enable Forces For a force to take effect. 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. • You cannot enable or disable forces for a specific module.July 2008 . Publication 1756-PM004B-EN-P . Before you disable or remove forces. you enable forces. tag collection. a ▼ IMPORTANT appears next to the forced element. • You can enable I/O forces and SFC forces separately or at the same time. • You can disable or remove I/O and SFC forces at the same time or separately. or tag element. determine how the change will effect your machine or process and keep personnel away from the machine area. If you download a project that has forces enabled. ATTENTION 48 Changes to forces can cause unexpected machine motion that could injure personnel. the programming software prompts you to enable or disable forces after the download completes. • Removing a force on an alias tag also removes the force on the base tag. You can only enable and disable forces at the controller level.

• If you add a force of this type. It shows the status of I/O forces and SFC forces separately. they are not overriding your logic. they are overriding your logic. None Installed No forces of this type exist in the project. the new force immediately takes effect Publication 1756-PM004B-EN-P . Installed At least one force of this type exists in the project. determine the status of forces for the controller.Force I/O Check Force Status Chapter 3 Before you use a force.July 2008 Disabled Forces of this type are inactive. If the project contains any forces of this type. Forces tab This Enabled Means • If the project contains any forces of this type. You can check force status: To determine the status of Use any of the following • Online toolbar I/O forces • FORCE LED • GSV instruction SFC forces Online toolbar The Online toolbar shows the status of forces. 49 .

Chapter 3 Force I/O FORCE LED If your controller has a FORCE LED. If the FORCE LED is Then • No tags contain force values. Flashing • I/O forces are inactive (disabled). • At least one tag contains a force value. This example shows how to use a GSV instruction to get the status of forces. It does not show that status of SFC forces. 50 To determine if Examine this bit For this value Forces are installed 0 1 No forces are installed 0 0 Forces are enabled 1 1 Forces are disabled 1 0 Publication 1756-PM004B-EN-P . IMPORTANT The FORCE LED shows only the status of I/O forces. where: Force_Status is a DINT tag. use the LED to determine the status of any I/O forces. Solid • Force values may or may not exist.July 2008 . It does not show the status of SFC forces. GSV Instruction IMPORTANT The ForceStatus attribute shows only the status of I/O forces. • I/O forces are active (enabled). Off • I/O forces are inactive (disabled).

or DINT. Publication 1756-PM004B-EN-P . except for configuration data. • If the data value is a SINT. – An alias tag shares the same data value as its base tag. • override your logic and specify the state of an output device. • override an input value from an input device. The more values you force. When you force an I/O value: • You can force all I/O data.July 2008 51 . or REAL element or member.. DINT. the longer it takes to execute the logic. Force an Input Value Forcing an input or consumed tag: • overrides the value regardless of the value of the physical device or produced tag. force a BOOL. • does not affect the value received by other controllers monitoring that input or produced tag. you can force the entire value or you can force individual bits within the value. or consumed tag. INT. a consumed tag). so forcing an alias tag also forces the associated base tag. produced tag.e.Force I/O When to Use an I/O Force Chapter 3 Use an I/O force to: • override an input value from another controller (i. SINT. INT. – 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.. such as an I/O tag. Forces remain even if the programming workstation is disconnected. • If the tag is an array or structure. a produced tag).e. IMPORTANT I/O forces are held by the controller and not by the programming workstation. • override your logic and specify an output value for another controller (i. IMPORTANT Forcing increases logic execution time.

Chapter 3 Force I/O Force an Output Value Forcing an output or produced tag overrides the logic for the physical device or other controller (s). Solid I/O forces are enabled (active). But at least one force already exists in your project. or consumed tag. produced tag. use an I/O force: Add an I/O Force ATTENTION Forcing can cause unexpected machine motion that could injure personnel. Publication 1756-PM004B-EN-P . Install the force value: 52 To force a Do this BOOL value Right-click the tag and choose Force ON or Force OFF. expand the tag to show the value that you want to force (e. 2. or consumed values to change. output value.g. it immediately takes effect. 4. Other controllers monitoring that output module in a listen-only capacity will also see the forced value. Then press the Enter key. Before you use a force. Flashing No I/O forces are active. To override an input value. determine how the force will effect your machine or process and keep personnel away from the machine area. • If forces are enabled and you install a force. 3. • Enabling I/O forces causes input. When you install (add) a force. the new force immediately takes effect.. BOOL value of a DINT tag). 1. Right-click the tag and choose Monitor… If necessary. When you enable I/O forces. Non-BOOL value In the Force Mask column for the tag. output.July 2008 . all existing I/O forces will also take effect. Open the routine that contains the tag that you want to force. type the value to which you want to force the tag. What is the state of the I/O Forces indicator? If Then note Off No I/O forces currently exist. produced.

Open the routine that contains the force that you want to remove. determine how the change will effect your machine or process and keep personnel away from the machine area. Are I/O forces enabled? (See step 1. Structured text Go to step 3. choose I/O Forcing > Enable All I/O Forces. determine how the change will effect your machine or process and keep personnel away from the machine area. What is the language of the routine? Publication 1756-PM004B-EN-P . 2. Remove or Disable Forces ATTENTION Changes to forces can cause unexpected machine motion that could injure personnel.July 2008 If Then SFC Go to step 4. Then choose Yes to confirm. forces remain in the enabled state and any new force immediately takes effect. Before you disable or remove forces. 53 . Function block Go to step 3. 1.Force I/O Chapter 3 5. If you want to And Then Stop an individual force Leave other forces enabled and in effect Remove an Individual Force Stop all I/O forces but leave all SFC forces active Leave the I/O forces in the project Disable All I/O Forces Remove the I/O forces from the project Remove All I/O Forces Remove an Individual Force ATTENTION If you remove an individual force. Yes Stop. Before you remove a force. Ladder logic Go to step 4.) If Then No From the Logic menu.

Disable All I/O Forces From the Logic menu. choose I/O Forcing > Remove All I/O Forces.July 2008 . Right-click the tag or element that has the force and choose Remove Force. Then choose Yes to confirm. choose I/O Forcing > Disable All I/O Forces. expand the tag to show the value that is forced. Remove All I/O Forces From the Logic menu. Right-click the tag that has the force and choose Monitor… If necessary.Chapter 3 Force I/O 3. for example. 4. 54 Publication 1756-PM004B-EN-P . Then choose Yes to confirm. BOOL value of a DINT tag.

1794 FlexLogix. Title/Type Logix5000 Controllers I/O and Tag Data Cat. No. Mayfield Hts. No. OH 44124-9705 Fax: 440-646-3525 Publication CIG-CO521D-EN-P.How Are We Doing? Your comments on our technical publications will help us serve you better in the future. You can complete this form and mail (or fax) it back to us or email us at RADocumentComments@ra. 1756 ControlLogix. Date July 2008 Part No. 1789 SoftLogix. 1 Allen-Bradley Dr.. 2=satisfactory. there is no need to contact me ___Yes. and 3=outstanding). Thank you for taking the time to provide us feedback. 1768 Pub. rank the feature (1=needs improvement. Where applicable. Pub. Overall Usefulness Completeness (all necessary information is provided) Technical Accuracy (all provided information is correct) 1 2 3 How can we make this publication more useful for you? 1 2 3 Can we add more information to help you? 1 Clarity 1 (all provided information is easy to understand) 2 3 procedure/step illustration feature example guideline other explanation definition Can we be more accurate? text 2 Other Comments 3 illustration How can we make things clearer? You can add additional comments on the back of this form. please contact me via _____________________ Return this form to: Rockwell Automation Technical Communications.com.rockwell. None Please complete the sections below. please email me at _______________________ ___Yes. Your Name Your Title/Function Location/Phone Would you like us to contact you regarding your comments? ___No. PowerFlex 700S with DriveLogix 1756-PM004B-EN-P Pub.. please call me ___Yes.com .rockwell.July 2007 Email: RADocumentComments@ra. CompactLogix. 1769 CompactLogix.

18235 CLEVELAND OH POSTAGE WILL BE PAID BY THE ADDRESSEE 1 ALLEN-BRADLEY DR MAYFIELD HEIGHTS OH 44124-9705 PLEASE REMOVE Other Comments .PLEASE FASTEN HERE (DO NOT STAPLE) PLEASE FOLD HERE NO POSTAGE NECESSARY IF MAILED IN THE UNITED STATES BUSINESS REPLY MAIL FIRST-CLASS MAIL PERMIT NO.

.

configuration. United States Contact your distributor. contact your local distributor or Rockwell Automation representative.Rockwell Automation Support Rockwell Automation provides technical information on the Web to assist you in using its products.S. if your product is not functioning and needs to be returned.rockwellautomation. you can find technical manuals. and troubleshooting. Printed in the U. You can also contact a special Customer Support number for initial help in getting your product up and running.July 2007 Copyright © 2008 Rockwell Automation.July 2008 57 Supersedes Publication 1756-PM004A-EN-P . However. technical and application notes. please review the information that's contained in this manual. . For an additional level of technical phone support for installation. At http://support. and a MySupport feature that you can customize to make the best use of these tools. Outside United States Please contact your local Rockwell Automation representative for the return procedure.3434 Monday – Friday. United States 1. Installation Assistance If you experience a problem within the first 24 hours of installation. sample code and links to software service packs. follow these procedures. All rights reserved. we offer TechConnect support programs.646. a knowledge base of FAQs. New Product Satisfaction Return Rockwell Automation tests all of its products to ensure that they are fully operational when shipped from the manufacturing facility.A. or visit http://support.rockwellautomation.440. Inc.com. For more information. Publication 1756-PM004B-EN-P .com. 8am – 5pm EST Outside United States Please contact your local Rockwell Automation representative for any technical support issues. You must provide a Customer Support case number (call the phone number above to obtain one) to your distributor in order to complete the return process.