Allen Bradley ControlLogix
Training Manual
INTECH Process Automation Nigeria (Ltd.)
50 Herbert Macauley Street Old G.R.A., Port Harcourt, Nigeria.
Tel: +234 84 462776 Fax: +234 84 234738
TABLE OF CONTENTS
MODULE 1 ... 10
1.
INTRODUCTION... 11
2.
CONTROLLOGIX SYSTEM OVERVIEW ... 11
2.1
C
ONTROLL
OGIXC
ONTROLLER... 13
2.2
C
ONTROLL
OGIXC
OMMUNICATIONM
ODULES... 13
2.3
C
ONTROLL
OGIXP
OWERS
UPPLIES... 13
2.4
C
ONTROLL
OGIXC
HASSIS... 13
3.
CONNECTING A COMPUTER TO NETWORK ... 14
3.1
M
ANAGEP
ROJECTF
ILES... 16
3.1.1
Save your Changes ... 18
3.2
O
RGANIZET
ASKS... 19
3.2.1
Organize your Logic ... 19
3.2.2
Verify the Controller ... 22
3.3
P
ROJECTP
ROPERTIES... 22
3.3.1
Tabs description ... 23
3.3.2
Project organization ... 24
3.4
T
ASKS,
PROGRAMS AND ROUTINES... 26
3.4.1
Definitions... 26
3.4.2
Task ... 26
3.4.3
Continuous Task ... 27
3.4.4
Periodic Task ... 27
3.4.5
Creating a periodic task ... 28
3.5
P
ROGRAM... 29
3.5.1
Creating a Program ... 29
3.6
R
OUTINE... 31
3.6.1
Creating a Routine ... 31
3.6.2
Main Routine ... 32
3.7
D
ATA ORGANIZATION... 34
4.1.1
Requested packet interval (RPI) ... 41
4.2
C
OMMUNICATIONF
ORMAT... 41
4.2.1
Direct or Rack-Optimized Connection ... 41
4.2.2
Direct connection ... 42
4.2.3
Rack-optimized connection ... 42
4.3
O
WNERSHIP... 43
4.3.1
Owner controller ... 43
4.3.2
Listen-only connection... 44
4.4
E
LECTRONICK
EYING... 45
4.5
M
ANAGE AC
ONNECTIONF
AILURE... 47
4.5.1
Loss of communication ... 47
4.5.2
Configure a Major Fault to Occur ... 47
4.5.3
Monitor the Health of a Module ... 48
4.6
A
DDRESSI/O
D
ATA... 50
4.6.1
Add 1756 I/O at Runtime ... 52
4.7
D
ETERMINEW
HEND
ATAI
SU
PDATED... 52
4.8
R
ECONFIGURE ANI/O
M
ODULE... 54
4.8.1
Reconfigure a module via RSLogix 5000 software ... 54
4.9
D
ATAS
TRUCTURES... 55
4.9.1
Predefined structures ... 55
4.9.2
Creating structures ... 56
4.9.3
Arrays ... 58
4.9.4
Indirect Addressing ... 59
5.
COMMUNICATION WITH CONTROLLER ... 60
5.1
D
RIVERC
ONFIGURATION INRSL
INX... 60
5.2
C
ONFIGUREP
ATH TOT
ARGETC
ONTROLLER INRSL
OGIX5000 ... 65
6.
HOW TO MODIFY PROGRAM ONLINE ... 66
6.1
H
OW TOA
DD AN
EWR
UNG IN THEO
NLINEP
ROGRAM... 66
6.2
H
OW TOE
DIT AR
UNG IN THEO
NLINEP
ROGRAM... 73
7.
HOW TO MONITOR A TAG IN THE ONLINE PROGRAM ... 75
7.1
E
ND OFS
ESSIONE
XERCISES: ... 77
MODULE 3 ... 78
8.
HOW TO FORCE ANY I/O IN ONLINE PROGRAM ... 79
9.
HOW TO PRINT INFO FROM THE PROGRAM ... 83
9.1
H
OW TOP
RINTC
ONTROLLERP
ROPERTIES... 83
9.2
H
OW TOP
RINTR
OUTINEL
OGIC... 84
9.3
H
OW TOP
RINTU
SERD
EFINED
ATAT
YPES... 85
10.
GET SYSTEM VALUE (GSV) & SET SYSTEM VALUE (SSV)
INSTRUCTIONS ... 88
10.1
GSV/SSV
I
NSTRUCTIONA
TTRIBUTES... 89
10.2
GSV/SSV
I
NSTRUCTIONP
ROGRAMMING... 90
10.2.1
Get Fault Information ... 90
10.3
GSV/SSV
I
NSTRUCTIONF
AULTC
ODES... 93
11.
MONITORING SYSTEM USING TREND CHART ... 94
MODULE 4 ... 100
12.
MAINTENANCE AND TROUBLESHOOTING STRATEGIES ... 101
12.1
C
ONTROLL
OGIXC
HASSIS... 101
12.1.1
Precaution for I/O Chassis ... 102
12.2
C
ONTROLL
OGIXP
OWERS
UPPLY... 102
12.2.1
Precaution for Power Supply ... 103
12.2.2
Troubleshooting the Power Supply ... 105
12.2.3
Noise Related Problems ... 106
12.3
C
ONTROLL
OGIXC
ONTROLLER... 107
12.3.1
Precaution for Controller ... 107
12.3.2
Troubleshooting the ControlLogix Controller ... 108
12.4
C
ONTROLL
OGIXC
ONTROLLERB
ATTERY... 110
12.4.1
Precaution for ControlLogix Controller Battery ... 110
12.4.2
Troubleshooting the ControlLogix Controller Battery ... 112
12.5
C
ONTROLL
OGIXD
IGITALI
NPUTM
ODULE... 114
12.5.1
Interpreting Status Indicator ... 115
12.5.2
Troubleshooting the Digital Input Module ... 115
12.6
C
ONTROLL
OGIXD
IGITALO
UTPUTM
ODULE... 117
12.6.1
Interpreting Status Indicator ... 118
12.6.2
Troubleshooting the Digital Output Module... 118
12.7
C
ONTROLL
OGIXA
NALOGI
NPUTM
ODULE... 120
12.7.1
Troubleshooting the Analog Input Module... 121
12.8
C
ONTROLL
OGIXA
NALOGO
UTPUTM
ODULE... 122
LIST OF FIGURES:
Figure 1: ControlLogix System ... 11
Figure 2: ControlLogix System Overview ... 12
Figure 3: Local Area Connection ... 14
Figure 4: Local Area Connection Properties ... 15
Figure 5: Internet Protocol (TCP/IP) Properties ... 15
Figure 6: New Controller ... 16
Figure 7: Name of the Controller ... 17
Figure 8: Task Folder ... 20
Figure 9: Control Properties... 22
Figure 10: Control Property Window ... 23
Figure 11: Control Application ... 25
Figure 12: Tasks, Programs and Routines ... 26
Figure 13: Execution order ... 27
Figure 14: New Task ... 28
Figure 15: New Task Window ... 28
Figure 16: Main Task ... 29
Figure 17: New Program Window ... 30
Figure 18: Creating a Routine ... 31
Figure 19: New Routine Window ... 32
Figure 20: Program Properties ... 33
Figure 21: Creating Tags ... 36
Figure 22: Defining Alias ... 37
Figure 23: New Tag Window ... 37
Figure 24: Configuring I/O Module ... 39
Figure 25: New Module Window ... 42
Figure 26: Rack-Optimized Connection ... 42
Figure 27: Owner Connection Window ... 43
Figure 28: Listen Only Connection... 44
Figure 29: Configuring a Major Fault To Occur ... 48
Figure 41: RSLinx Serial Driver Configuration (Continued) ... 62
Figure 42: RSLinx Ethernet Driver Configuration ... 63
Figure 43: RSLinx Ethernet Driver Configuration (Continued) ... 63
Figure 44: RSLinx Ethernet Driver Configuration (Continued) ... 64
Figure 45: RSWho Window (Continued) ... 64
Figure 46: RSWho Window (Continued) ... 65
Figure 47: RSWho Window (Continued) ... 65
Figure 48: Add new rung ... 66
Figure 49: Add new rung (Continued) ... 67
Figure 50: Add new rung (Continued) ... 67
Figure 51: Add new instruction ... 68
Figure 52: Tag Browser ... 68
Figure 53: Tag Selected from Tag Browser ... 69
Figure 54: Tag Browser for Output element ... 69
Figure 55: Tag Selected from Tag Browser ... 70
Figure 56: Accept pending Edits... 70
Figure 57: Finalize all Edits in the Program ... 71
Figure 58: Finalize all Edits in the Program (Continued) ... 71
Figure 59: New rung Added ... 72
Figure 60: Edit Rung ... 73
Figure 61: Edit Rung (Continued) ... 73
Figure 62: Edit Rung (Continued) ... 74
Figure 63: Edit Rung (Continued) ... 74
Figure 64: Monitor Tag ... 75
Figure 65: Monitor Tag (Continued) ... 75
Figure 66: Monitor Tag (Continued) ... 76
Figure 67: Controller Tag ... 79
Figure 68: Controller Tag Window ... 80
Figure 69: Controller Tag Window (Continued) ... 80
Figure 70: Forcing IO Tag ... 81
Figure 71: Forcing IO Tag (Continued) ... 81
Figure 72: Forcing IO Tag (Continued) ... 82
Figure 73: Select Controller ... 83
Figure 74: Printing Controller Properties ... 84
Figure 75: Select Routine... 84
Figure 76: Printing Routine ... 85
Figure 77: Printing UDT ... 85
Figure 78: Printing UDT (Continued)... 86
Figure 79: Printing Tags ... 86
Figure 80: Printing Tags (Continued) ... 87
Figure 81: GSV/SSV Instruction ... 88
Figure 82: GSV Instruction example ... 90
Figure 84: GSV Instruction example (Continued) ... 91
Figure 85: SSV Instruction example ... 92
Figure 86: Trend Chart... 94
Figure 87: Tag Trend ... 94
Figure 88: Tag Trend (Continued) ... 95
Figure 89: Save Trend (Continued) ... 95
Figure 90: Save Trend (Continued) ... 96
Figure 91: Save Trend (Continued) ... 96
Figure 92: Save Trend (Continued) ... 97
Figure 93: Save Trend in External File ... 97
Figure 94: Save Trend in External File (Continued) ... 98
Figure 95: Importing Trend ... 98
Figure 96: Importing Trend (Continued) ... 99
Figure 97: Importing Trend (Continued) ... 99
Figure 98: 1756 IO Chassis... 101
Figure 99: IO Chassis Grounding ... 102
Figure 100: Power Supply mounted on a ControlLogix Chassis ... 102
Figure 101: Earth Ground Protection for Power Supply ... 103
Figure 102: Screwing Power Supply in the Chassis ... 104
Figure 103: Troubleshooting the Power Supply ... 105
Figure 104: ControlLogix Controller ... 107
Figure 105: Installation of Controller in the Chassis ... 108
Figure 106: Controller LED’s ... 108
Figure 107: ControlLogix Controller battery ... 110
Figure 108: ControlLogix battery location ... 111
Figure 109: ControlLogix battery location (Continued) ... 111
Figure 110: ControlLogix Digital Input Module ... 114
Figure 111: DC Input Module Status Indicators Display ... 115
Figure 112: ControlLogix Digital Output Module... 117
Figure 113: DC Output Module Status Indicators Display ... 118
Figure 114: ControlLogix Analog Input Module... 120
Figure 115: Analog Input Module Status Indicators Display ... 121
LIST OF TABLES:
Table 1: Saving Changes ... 18
Table 2: Tasks of a controller ... 19
Table 3: Tasks for the Controller ... 21
Table 4: Types of Tags ... 35
Table 5: Data Types ... 35
Table 6: Request Packet Interval ... 40
Table 7: Electronic keying ... 45
Table 8: Electronic keying (Continued) ... 46
Table 9: Electronic Keying Configuration ... 46
Table 10: Loss of Connection ... 47
Table 11: I/O Address Details ... 51
Table 12: Arrays ... 58
Table 13: GSV/SSV Instruction attributes ... 89
Table 14: GSV/SSV Instruction Fault Code ... 93
Table 15: Controller LED’s Status Indicator ... 109
Table 16: Controller BAT LED Indicator ... 110
Table 17: Batteries Replacement Date ... 112
Table 18: Worst-case Estimates of Battery Life ... 113
Table 19: DC Input Module Status Indicators Description ... 116
Table 20: DC Output Module Status Indicators Description... 119
Table 21: Analog Input Module Status Indicators Description ... 121
Table 22: Analog Output Module Status Indicators Description ... 123
Table 23: Ethernet Module Status Indicators Description ... 126
Table 24: Ethernet Module Status Indicators Description (Continued) ... 127
Table 25: ControlNet Module Status Indicators Description ... 131
1. Introduction
This course provides students with the necessary resources and hands-on practice to efficiently troubleshoot a ControlLogix. It builds upon the student’s fundamental knowledge of common controller terms and operation, the student’s ability to identify and create fundamental
RSLogix 5000 project components and the student’s experience interpreting basic ladder logic. This course adds to the student’s skill set by introducing new tasks such as connecting to a network, interpreting project execution, editing ladder logic, and more.
After practicing such skills, students will be presented with a systematic strategy for diagnosing and troubleshooting a variety of system errors, for example, software configuration, electrical noise, controller, I/O, and other possible problems.
2. ControlLogix System Overview
The ControlLogix system provides sequential, process, motion, and drive control together with communication and I/O in a chassis-based system. A simple ControlLogix system consists of a stand-alone controller and I/O modules in a single chassis as shown in the figure.
Figure 1: ControlLogix System For a more flexible system, use:
Multiple controllers in a single chassis.
Multiple controllers joined across networks.
Figure 2: ControlLogix System Overview
ControlLogix system includes:
ControlLogix Controllers
ControlLogix Communication Modules
ControlLogix I/O Modules
ControlLogix Power Supplies
ControlLogix Chassis Optional system components include:
Operator Interface and Computers
2.1
ControlLogix Controller
ControlLogix controller provides a variety of controller solution that is capable of addressing a large amount of I/O points. Controller can be placed into any slot of a ControlLogix I/O chassis and multiple controllers can be installed in the same chassis. Multiple controllers in the same chassis communicate with each other over the backplane but operate independently.
2.2 ControlLogix Communication Modules
Different communication modules are available for different networks (i.e. ControlNet, Ethernet, DeviceNet etc.).
2.3 ControlLogix Power Supplies
Power supplies are used with 1756 chassis to provide power to the chassis backplane. These power supplies provide all voltages necessary for any ControlLogix module to operate in the chassis.
2.4 ControlLogix Chassis
The ControlLogix system is a modular system that requires a 1756 I/O chassis. Standard chassis are available in sizes of 4, 7, 10, 13, and 17 module slots. Any card can be place in any slot. The backplane provides a high-speed communication path between modules.
3. Connecting a Computer to Network
1. Make sure that NIC (Network Interface Card) card is installed in the computer. 2. Connect one end of the Ethernet cable to the NIC of the computer and other end to the
Ethernet switch of the network.
3. Go to Start and click on the control panel icon. 4. Double click on the Network Connections icon.
Figure 4: Local Area Connection Properties
7. Click on the Properties Tab and select “Use the following IP address” radio button as shown in the figure
Figure 5: Internet Protocol (TCP/IP) Properties
8. Asked IP address from your Network Administrator. Enter IP address in the “IP address” field and click OK.
9. In order to verify that your computer is connected to network “ping” other systems on the network by using command prompt. If you receive response from systems on the network it means that your computer is successfully connected to the network.
3.1 Manage Project Files
Before you program a Logix5000 controller, you must create a project File: 1. Start the RSLogix 5000™ software.
2. From the File menu, select New. 8 7 6 5 4 3
7. Select or type the slot number where the controller is installed
8. To store the file in a different folder (other than the default Create In path), click Browse and select a folder.
9. Click OK.
When you create a project, the name of the project file is the same as the name of the controller.
3.1.1 Save your Changes
As you create logic and make configuration changes, save the project.
To: Do this:
save your changes From the File menu, select Save. make a copy of the open
project A. From the File menu, select Save As.
but keep the existing
name of B. Type a name for the project file. Use
the controller Underscores [ _ ]in place of spaces.
C. Click Save. make a copy of the
project and A. From the File menu, select Save As.
assign a different name to the controller
B. Type a name for the project file. Use Underscores [_] in place of spaces. C. Click Save.
D. In the controller organizer, right-click Controller name_of_controller Folder and select Properties.
E. Type a new name for the controller. F. Click OK.
3.2 Organize Tasks
After you create a project file, organize your project into tasks. To organize your project into tasks, do the following steps:
Identify the Available Programming Languages
Organize Your Logic
Verify the Controller
3.2.1 Organize your Logic
To execute your logic, you use a task (s). There are two types of Tasks:
This type of task: Will:
continuous task Continuously execute your logic (You can only
have one Continuous task.)
periodic task · interrupt the continuous task
· execute logic one time
· return control to the continuous task (You can have more than one periodic task.)
Table 2: Tasks of a controller The Tasks folder contains the tasks for the controller (i.e., your logic).
Main Task is the default continuous task. It runs all the time and repeatedly executes Main Program. Whenever Main Program executes, any logic in Main Routine will execute. You can use Main Routine to call other routines (subroutines) within Main Program.
Figure 8: Task Folder
If you execute: Then: Detailed steps:
a function at a constant rate (e.g., execute a PID loop every 100 ms)
1.Create a Periodic Task A. In the controller organizer, Right-click Tasks and select New Task.
B. Type:
name_of_task
description (optional) C. From the Type list, select Periodic.
routine to execute first in the Program) B. Right-click name_of_program and select Routine. C. Type: name_of_main_routine description (optional) D. From the Type drop-down list, select the Programming language for the routine.
E. Click OK.
F. Right-click name_of_program and select Properties.
G. Click the Configuration tab. H. From the Main drop-down list, select
name_of_main_routine
I. Click OK.
J. To add additional routines (subroutines) To the program repeat steps B. to E
3.2.2 Verify the Controller
As you program your project, periodically verify your work:
1. In the top-most toolbar of the RSLogix 5000 window, clicks verify. 2. If any errors are listed at the bottom of the window:
To go to the first error or warning, press the F4 key.
Correct the error according to the description in the Results Window.
Go to step 1.
3. To close the Results window, press the Alt + 1 key.
3.3 Project Properties
To view the Controller Properties:
1. Place the cursor over the Controller folder.
2. Click the right mouse button and select Properties.
Figure 10: Control Property Window
3.3.1 Tabs description
General: modify the controller name, description, and controller properties for the current
project.
Date/Time: online only view and edit the controller’s wall clock time and the coordinated system
time status.
Communications: configure communication information that is stored with the project file. Serial Port: view and configure the serial port on the controller.
Serial Port Protocol: configures the serial port for: DF1 point-to-point
DF1 slave
DF1 master
Major Faults: online only view any major faults that have occurred on the controller. Minor Faults: online only view any minor faults that have occurred on the controller.
Advanced: some features are online only view and edit advanced controller properties, which
include the system fault program, the power loss program, and system overhead time slice
File view: information about the project file.
3.3.2 Project organization
The controller operating system is a preemptive multitasking system that is IEC-1131-3 compliant. This environment provides:
Tasks to configure controller execution.
Programs to group data and logic.
3.4 Tasks, programs and routines
3.4.1 Definitions
Figure 12: Tasks, Programs and Routines
3.4.2 Task
A task provides scheduling and priority information for a set of one or more programs that execute based on specific criteria. Once a task is triggered (activated), all the programs assigned (scheduled) to the task execute in the order in which they are displayed in the controller organizer. Tasks can be continuous or periodic.
Tasks can be scheduled, edited, and controlled. Each task can contain multiple programs, status information, and configuration information.
a task; you can later change its descriptive information if you wish.
3.4.3 Continuous Task
The continuous task runs in the background. Any CPU time not allocated to other operations (such as motion, communications, and periodic tasks) is used to execute the programs within the continuous task.
The continuous task runs all the time. When the continuous task completes a full scan, it restarts immediately.
A project does not require a continuous task. If used, there can be only one continuous task.
3.4.4 Periodic Task
A periodic task performs a function at a specific rate. Whenever the time for the periodic task expires, the task interrupts the continuous task, executes one time, and then returns control to where the continuous task left off. You can configure the time period from 1 ms to 2000 s. The default is 10 ms. You can create up to 32 periodic tasks and assign a priority to each:
The highest priority task interrupts all lower priority tasks. A higher priority task can interrupt a lower priority task multiple times. Tasks at the same priority execute on a time-slice basis at 1 ms intervals. There are 15 configurable priority levels for periodic tasks, from 1 to 15, with 1 being the highest and 15 being the lowest priority
Example:
Task execution order for a project with two periodic tasks and one continuous task
3.4.5 Creating a periodic task
To create a periodic task:1. In the controller organizer, right-click the Tasks folder and choose New Task.
3. From the Type list, choose Periodic (default).
4. In the Watchdog list, type the watchdog time for the task.
5. In the Rate text box, type the rate at which you want the task to execute. 6. In the Priority text box, type the priority for the task.
7. Choose OK
3.5 Program
A program is a subdivision of a task. When a task is triggered, the scheduled programs within the task execute to completion from first to last.
Each program contains a local data area (referred to as program tags), main executable routine, subroutines, and a fault routine. The controller supports up to 32 programs. The programs within a task execute from first to last.
When you create a project, the Main Program is already defined in the Main Task.
Once you create a program, you must then configure the main routine and, optionally, a fault routine. You can later change the program’s descriptive information if you wish.
3.5.1 Creating a Program
Each task requires at least one program. You can create multiple programs for a task.
1. In the controller organizer, right-click the task that will execute the program and choose New Program.
2. In the Name text box, type a name for the program.
Figure 17: New Program Window 3. Choose OK
3.6 Routine
Routines provide the executable code for the project in a controller (similar to a program file in a PLC or SLC controller). Each routine uses a specific programming language, such as ladder logic.
Each program must have a main routine configured. You can also specify fault routine and additional subroutines. You can have as many routines per program as the controller memory allows.
When you create a project, the Main Routine is already defined in the Main Program. Once you create a routine, you can later change its descriptive information.
3.6.1 Creating a Routine
Each program requires at least one routine. Use a routine to execute your logic. To create a routine:
1. In the controller organizer, right-click the program that will execute the routine and choose New Routine.
Figure 19: New Routine Window 2. In the Name text box, type a name for the routine.
3. From the Type list, choose the programming language for the routine 4. Choose OK
3.6.2 Main Routine
When a program executes, its main routine executes first. Use the main routine to call (execute) other routines (subroutines). To call another routine within the program, use a Jump to Subroutine (JSR) instruction.
Each program requires a main routine. The main routine executes whenever the program executes.
1. In the controller organizer, right-click the program that will execute the routine and choose Properties.
Figure 20: Program Properties 2. Click the Configuration tab.
3. From the Main list, choose the name of the routine. 4. Choose OK
3.7 Data organization
Logix5000 controllers store data in tags (in contrast to fixed data files that are numerically addressed). With tags, you can
Organize your data to mirror your machinery
Document (through tag names) your application as you develop it
The controller stores tags as you create them and as they fit into the controller memory. There are not pre-defined data tables, such as in PLC controllers. Tags of similar data types are not necessarily grouped together in memory. To group data, use arrays.
The minimum allocation unit within the controller is four bytes.
3.7.1 Properties of a tag
A tag has the following properties:Scope: defines which routines can access the data
Name:
identifies the data (Tags with different scopes can have the same name.)
Data type: defines the organization of the data, such a bit, integer, or floating-point number
3.7.2 Naming Tags
Tag names follow IEC-1131-3 identifier rules:
Name must begin with an alphabetic character or an underscore
Must contain only alphabetic, numeric characters and underscores
Can have as many as 40 characters
3.7.3 Types of tags
There are three types of tags:Base A base tag is a tag that actually defines the memory where a data element is
stored. It stores one value at a time.
Alias An alias tag is a tag that references memory defined by another tag. An alias
tag can refer to a base tag or another alias tag.
Alias tags are useful for creating standardized programs that can be duplicated without having to readdress instructions. By using alias tags, each copy of the program can reference different base tags.
Consumed A consumed tag is a tag whose data value comes from another controller.
Table 4: Types of Tags
3.7.4 Data Types
Data type Description Range
BOOL 1-bit Boolean 0 = off
1 = on
SINT 1-byte integer -128 to 127
INT 2-byte integer -32,768 to 32,767
DINT 4-byte integer -2,147,483,648 to 2,147,483,647
REAL 4-byte floating-point
number
-3.402823E38 to -1.1754944E38 (negative values) and
0 and
3.7.5 Creating Tags
1. From the Logic menu, select Edit Tags. 2
3 4 5
Figure 21: Creating Tags
2. Select a scope for the tag (Controller tags or Programs tags) 3. Type a name for the tag.
4. Type the data type:
3.7.6 Alias Tags
A tag alias lets you create one tag that represents another tag. This is useful for defining simplified tag names for elements of structures or arrays.
To define an alias:
1. Select the tag name in tag editor. 2. Right-click on the tag name.
Figure 22: Defining Alias 3. Define the tag.
4. Click Alias.
Figure 23: New Tag Window 5. Choose OK
4. Communication With I/O
This chapter provides basic information on how a Logix5000 controller communicates with I/O modules.
4.1 Configure an I/O Module
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
Figure 24: Configuring I/O Module
When you add the module, you also define a specific configuration for the Module. While the configuration options vary from module to module, there are some common options that you typically configure:
Requested Packet Interval
Communication Format
The Logix5000 controller uses connections to transmit I/O data.
Term: Definition:
Connection
A communication link between two devices, such as between a controller and an I/O module, Panel View terminal, or another controller.
Connections are allocations of resources that provide more reliable communications between devices than Unconnected messages. The number of connections that a single controller can have is limited.
You indirectly determine the number of connections the controller uses by configuring the controller to communicate with other devices in the system. 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. For example, an input module sends data to a controller at the RPI that you assign to the module.
• Typically, you configure an RPI in milliseconds (ms). The range is 0.2 ms (200 microseconds) to 750 ms.
• If a Control Net network connects the devices, the RPI reserves a slot in the stream of data flowing across the 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.
Table 6: Request Packet Interval
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. At the specified interval, the controller updates a value independently from the execution of logic.
4.1.1 Requested packet interval (RPI)
Take care to ensure that data memory contains the appropriate values throughout a task’s execution. You can duplicate or buffer data at the beginning of the scan to provide reference values for your logic.
Programs within a task access input and output data directly from controller-scoped memory.
Logic within any task can modify controller-scoped data.
Data and I/O values are asynchronous and can change during the course of a task’s execution.
An input value referenced at the beginning of a task’s execution can be different when referenced later.
To prevent an input value from changing during a scan, copy the value to another tag and use the data from there (buffer the values).
4.2 Communication Format
The communication format that you choose determines the data structure for the tags that are associated with the module. Many I/O modules support different formats. Each format uses a different data structure. The communication format that you choose also determines:
Direct or Rack-Optimized Connection
Ownership
4.2.1 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.
4.2.2 Direct connection
A direct connection is a real-time, data transfer link between the controller and an I/O module. The controller maintains and monitors the connection with the I/O module. Any break in the connection, 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 Comm. Format
Figure 25: New Module Window
4.2.3 Rack-optimized connection
For digital I/O modules, you can select rack-optimized communication. A rack-optimized connection consolidates connection usage between the controller and all the digital I/O modules in the chassis (or DIN rail). Rather than having individual, direct connections for each I/O module, there is one connection for the entire chassis (or DIN rail).
4.3 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.
4.3.1 Owner controller
The controller that creates the primary configuration and communication connection to a module. The owner controller writes configuration data and can establish a connection to the module.
An owner connection is any
connection that does not include Listen-Only in its Comm. Format.
4.3.2 Listen-only connection
An I/O connection where another controller owns/provides the configuration data for the I/O module. A controller using a listen-only connection only monitors the module. 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.
Listen-only connection Figure 28: Listen Only Connection
4.4 Electronic Keying
Table 7: Electronic keying
. And another
controller:
And you want to: Then use this type of
connection:
input module does not own the module
owner (i.e., not listen-only) owns the
module
maintain communication with the module if it loses communication with the other controller
owner (i.e., not listen-only) Use the same configuration as the other owner
controller. stop communication with
the module if it loses communication with the other controller
listen-only
output module
does not own the module owner (i.e., not listen-only)
owns the module listen-only
There is a noted difference in controlling input modules versus controlling output modules.
Controlling: This
ownership:
Description:
input modules owner An input module is configured by a controller that establishes a connection as an owner. This configuring controller is the first controller to establish an owner connection.
Once an input module has been configured (and owned by a controller), other controllers can establish owner
connections to that module. This allows additional owners to continue to receive multicast data if the original owner controller breaks its connection to the module. All other additional owners must have the identical configuration data and identical communications format that the original owner controller has, otherwise the connection attempt is rejected.
listen-only
Once an input module has been configured (and owned by a controller), other controllers can establish a listen-only connection to that module. These controllers can receive multicast data while another controller owns the module. If all owner controllers break their connections to the input module, all controllers with listen-only connections no longer receive multicast data.
Table 8: Electronic keying (Continued)
Be careful when you disable electronic keying. If used incorrectly, this option can lead to personal injury or death, property damage, or economic loss.
When you configure a module, you specify the slot number for the module. However, it is possible to place a different module in that slot, either on purpose or accidently. Electronic keying lets you protect your system against the accidental placement of the wrong module in a slot. The keying option you choose determines how closely any module in a slot must match the configuration for that slot.
If: Then select:
all information must match: Exact Match
type
catalog number
vendor
major and minor revision number
all information except the minor revision number
Compatible Module
no information must match Disable Keying
output modules
owner An output module is configured by a controller that
establishes a connection as an owner. Only one owner connection is allowed for an output module. If another controller attempts to establish an owner connection, the connection attempt is rejected.
listen-only Once an output module has been configured (and owned by one controller), other controllers can establish listen-only connections to that module. These controllers can receive multicast data while another controller owns the module. If the owner controller breaks its connection to the output module, all controllers with listen-only connections no longer receive multicast data.
4.5 Manage a Connection Failure
Outputs respond to the last, non-faulted state of the controlling inputs. To avoid potential injury and damage to machinery, make sure this does not create unsafe operation. Configure critical I/O modules to generate a controller major fault when they lose their connections to the controller. Or, monitor the status of I/O modules.
If the controller loses communication with a module, data from that device does not update. When this occurs, the logic makes decisions on data that may or may not be correct.
4.5.1 Loss of communication
Controller B requires data from controller A. If communication fails between the controllers, then controller B continues to act on the last data that it received from controller A.
If communication with a device in the I/O configuration of the controller does not occur for 100 ms, the communication times out. If this occurs, you have these options:
If you want the controller to: Then:
fault (major fault) Configure a Major Fault to occur continue operating Monitor the Health of a Module
Table 10: Loss of Connection
4.5.2 Configure a Major Fault to Occur
You can configure modules to generate a major fault in the controller if they lose their connection with the controller. This interrupts the execution of logic and executes the Controller Fault Handler. If the Controller Fault Handler does not clear the fault, then the controller shuts down.
If the connection times out, produce a major fault in the controller.
Figure 29: Configuring a Major Fault To Occur
4.5.3 Monitor the Health of a Module
If you do not configure the major fault to occur, you should monitor the module status. If a module loses its connection to the controller, outputs go to their configured faulted state. The controller and other I/O modules continue to operate based on old data from the module.
Figure 30: Health Monitoring Window
The I/O LED on the front of the controller flashes green.
A shows over the I/O configuration folder and over the device (s) that has timed out.
A module fault code is produced, which you can access through:
Module Properties window for the module
GSV instruction
To monitor the health of your connections, use a Get System Value (GSV) instruction to monitor the MODULE object for either the controller or a specific module:
4.6 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 tags is based on the location of the I/O module in the system.
When you add a module to the I/O Configuration folder…
…the software automatically creates Controller-scoped tags for the module.
Location :Slot :Type .Member .SubMember .Bit
Refer the below table for detailed description
Table 11: I/O Address Details
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; depends on what type of data the module can store. • For a digital module, a Data member usually stores the input or output bit values. • For an analog module, a Channel member (CH#) usually stores the data for a channel. Sub Member Specific data related to a Member.
Bit Specific point on a digital I/O module; depends on the size of the I/O module (0-31 for a 32-point module)
4.6.1 Add 1756 I/O at Runtime
With RSLogix 5000 programming software, version 15, you can add 1756 I/O modules to the Controller Organizer at runtime:
You can only add 1756 I/O modules at runtime
You can add the 1756 I/O modules to the local chassis, remotely via the unscheduled portion of a Control Net network, and remotely via an Ethernet/IP network.
4.7 Determine When Data Is Updated
ControlLogix controllers update date asynchronous with the execution of logic. Use the following flowchart to determine when a producer (controller, input module, or bridge module) will send data.
4.8 Reconfigure an I/O Module
If an I/O module supports reconfiguration, you can reconfigure the module via:
Module Properties dialog in RSLogix 5000 software
MSG instruction in program logic
Use care when changing the configuration of an I/O module. You could inadvertently cause the I/O module to operate incorrectly.
4.8.1 Reconfigure a module via RSLogix 5000 software
To change the configuration of an I/O module via RSLogix 5000 software, highlight the module in the I/O Configuration tree. Right-click and select Properties.
4.9 Data Structures
Data structures allow storing a group of data. Each member can be a different data type. Each I/O module has its own predefined structure. User can create specialized user defined structures using any combination of predefined data type and other structures. Structures can be created, edited and deleted in offline mode. Memory allocation depends on the data types for each member within the structure. Each member is allocated memory to start on an appropriate byte, INT or DINT. This makes a more efficient use of memory.
4.9.1 Predefined structures
AXIS: control structure for an axis
CONTROL: control structure for array (file) instructions
COUNTER: control structure for counter instructions
MESSAGE: control structure for the MSG instruction
MOTION_GROUP: control structure for a motion group
MOTION_INSTRUCTION: control structure for motion instructions
PID: control structure for the PID instruction
4.9.2 Creating structures
1. Select Data Types.2. Click the right mouse button and select New Data Type.
For each member of the structure
Name: Enter the name of the member.
Data Type: Select the data type. The programming software displays a list of the available data types. The list consists of the predefined data types and any user-defined data types.
Style: Select the display style of the member. The programming software displays a list of the available styles, which depends on the data type.
4.9.3 Arrays
Arrays let you group a set of data (of the same data type) by the same name and to use subscripts to identify individual elements. An array can have as many as three dimensions.
4.9.4 Indirect Addressing
If the user wants an instruction to access different elements in an array, can 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.
Mathematical expressions can be used to specify the subscript of an array.
5. Communication with Controller
This section of manual will be used to connect to a ControlLogix Controller. Following are the steps involved,
Driver Configuration in RSLinx
Configuring path to the ControlLogix Controller in RSLogix5000
5.1 Driver Configuration in RSLinx
Figure 38: Launch RSLinx from the Rockwell Software There are two communication protocols available for communicating with the ControlLogix Controller.
Serial (RS232)
Ethernet
For connecting with the controller through its serial port select the RS232 DF1 devices in the driver drop down list as shown in the figure
3. Click add new button, the following window will open
Figure 40: RSLinx Serial Driver Configuration (Continued) 4. Give any name to the driver and press OK.
down list as shown in the figure
Figure 42: RSLinx Ethernet Driver Configuration 6. Click add new button, the following window will open
7. Give any name to the driver and press OK.
Figure 44: RSLinx Ethernet Driver Configuration (Continued) 8. Type IP address in the Host Name field and press OK.
Click on RSWho icon and ensure that the controller is accessible through the configured drivers as shown in the figure.
5.2 Configure Path to Target Controller in RSLogix5000
1. Click on the Who Active button in RSLogix5000 as shown in the figure below
Figure 46: RSWho Window (Continued)
2. Click on the Configured driver in section 7.1 and select the target controller
Figure 47: RSWho Window (Continued) 3. Click on the Set Project path button.
If you want to download or Upload the program or go online with controller press the respective button as shown in the above figure.
Who Active Go online with the Controller Upload program from the Controller Download program into the Controller
6. How to Modify Program Online
This section of manual will be used,
How to add new rung in the online program
How to edit a rung/Tag in the online program
6.1 How to Add a New Rung in the Online Program
Following steps are required to add a new rung in the online program.
1. Select the routine where you want to add new rung according to your requirement.
Figure 49: Add new rung (Continued)
3. After clicking add new rung a new rung will be added and it is identified with “e” which means editable.
Figure 50: Add new rung (Continued) New Rung
4. When the new rung is added than go to language element toolbar and add logic instructions as it is shown in the figure below.
Figure 51: Add new instruction
5. Double Click on instruction as it is shown in the figure below. The Tag Browser displays with the Tag Name, Data Type, and Description. Use it to quickly select the tag to which you would like to refer. The Tag Browser lists all the tags available in the current scope
Language Toolbar
Instruction Element
Figure 53: Tag Selected from Tag Browser
7. Double Click on the output instruction element as shown in the figure below. The Tag Browser displays will get open with the Tag Name, Data Type, and Description of the selected tag. Use it to quickly select the tag to which you would like to refer. The Tag Browser lists all the tags available in the current scope
8. The figure below shows when the tag is selected from the tag browser
Figure 55: Tag Selected from Tag Browser
9. After making all the editing go to the Edit toolbar as shown in the figure below and click Accept Pending Program Edits
Accept Edits
correct and no error log in the error window. Than after assuring it click on the tab Finalize all edits in the program as shown in the figure below.
Figure 57: Finalize all Edits in the Program
11. Figure below will appear when you click on the tab Finalize all the edits in the program. Click Yes the edits you made in your online program will be implemented.
Figure 58: Finalize all Edits in the Program (Continued)
Finalize Edits
12. A new rung is added in the online program as shown in the figure.
6.2 How to Edit a Rung in the Online Program
Following steps are required to edit a rung in online program.
1. Select the rung which you want to edit as shown in the figure below
Figure 60: Edit Rung
2. Double click on the rung. Now you can see there are two rungs one is denoted with “r” which means replace and one is denoted with “I” which means instruction. You make changes in the “I” rung.
3. Double Click on instruction as it is shown in the figure below. The Tag Browser displays will get open with the Tag Name, Data Type, and Description of the selected tag. Use it to quickly select the tag to which you would like to refer. The Tag Browser lists all the tags available in the current scope.
Figure 62: Edit Rung (Continued)
4. Now After making all the editing click Accept Pending Program Edits. After clicking Accept pending program edits make sure that all the program edits are right and no error log in the error window. After assuring it click on the tab Finalize all edits. Following window will appear when you click on the tab Finalize all the edits in the program. After clicking Yes the edits you made in our online program will be implemented.
7. How to Monitor a Tag in the Online Program
Following steps are required to monitor a tag in online program.
1. Select the tag which you want to monitor as shown in the figure below
Figure 64: Monitor Tag
2. Right click on the tag and select Monitor as shown in the figure.
3. Below window will open which shows the current value of the Tag.
Figure 66: Monitor Tag (Continued)
Current Value
7.1 End of Session Exercises:
8. How to Force Any I/O in Online Program
To force any Digital or Analog IO the procedure will remain the same. 1. First click on controller tags as shown in the figure below”.
Figure 67: Controller Tag
Controller Tag
2. A window of monitor tags will pop up on the working area.
Figure 68: Controller Tag Window
3. Select the tag which you want to be forced, as it is shown in the figure below a tag has been selected and its force mask value is empty.
desire tag. As you can see the color of forces in the online toolbar is turned to red. This means forces have been installed but not enabled.
Figure 70: Forcing IO Tag
5. Now forces have been installed but not enabled yet. So go to online toolbar and click forces to open a drop down menu. Click enables all IO forces which will enable all the IO whose forces have been installed and afterwards whenever you force any IO it will be forced directly.
Figure 71: Forcing IO Tag (Continued)
Force Installed Value Force Installed Forced Value
6. Figure below shows the color of forces tab change after enabling all IO forces
Figure 72: Forcing IO Tag (Continued) Forced Tab
9. How to Print Info from the Program
This section of manual will be used,
How to print Controller Properties
How to print Routine
How to print Data Types
How to print Tags
9.1 How to Print Controller Properties
Following steps are followed for printing Controller Properties
1. Click on the Controller in the IO tree. As it is shown in the figure.
2. Open the File menu and go to print. A sub menu will open select Controller Properties from this sub menu as shown in the figure below.
Figure 74: Printing Controller Properties
9.2 How to Print Routine Logic
Following steps are followed for printing routines
menu as shown in the figure below.
Figure 76: Printing Routine
9.3 How to Print User Define Data Types
Following steps are followed for printing Data Types 1. Select any UDT as shown in the figure below.
2. Open the File menu and go to print. A sub menu will open select Data Type from this sub menu as shown in the figure below.
Figure 78: Printing UDT (Continued)
9.4 How to Print Tags
Following steps are followed for printing tags
1. Double click on the controller tags and open the monitor tags window as shown in the figure.
menu as shown in the figure below.
10. Get System Value (GSV) & Set System Value (SSV)
Instructions
The GSV/SSV instructions get and set controller system data that is stored in objects. The controller stores system data in objects. When enabled, the GSV instruction retrieves the specified information and places it in the destination. When enabled, the SSV instruction sets the specified attribute with data from the source. When you enter a GSV/SSV instruction, the programming software displays the valid object classes, object names, and attribute names for each instruction. For the GSV instruction, you can get values for all the available attributes. For the SSV instruction, the software displays only those attributes are allowed to set (SSV).
Figure 81: GSV/SSV Instruction
DANGER
Use the GSV and SSV instructions carefully. Making changes to objects may cause unexpected controller operation or injury to personnel. You must test and confirm that the instructions don’t change data that you don’t want them to change. The GSV and SSV instructions write or read past a member into other members of a tag. If the tag is too small, the instructions don’t write or read the data. They log a minor fault instead.
10.1 GSV/SSV Instruction Attributes
Operand Type Format Description
Class Name name name of object class
Instance name name name of specific
object
Attribute name name attribute of object data
type depends on the attribute you select
Destination (GSV) SINT INT DINT REAL Structure tag Destination of attribute Data Source (SSV) SINT INT DINT REAL Structure
tag tag that contains data
you want to copy to the attribute
10.2 GSV/SSV Instruction Programming
10.2.1 Get Fault Information
The following examples use GSV instructions to get fault information.
Example1:
This example gets fault information from the I/O module disc_in_2 and places the data in a user-defined structure disc_in_2_info.
This example gets status information about program discrete and places the data in a user-defined structure discrete_info.
Figure 83: GSV Instruction example (Continued)
Example3:
This example gets status information about task IO_test and places the data in a user-defined structure io_test_info.
Example4:
The following example uses the SSV instruction to enable or disable a program. You could also use this method to enable or disable an I/O module.
Based on the status of SW.1, place the appropriate value in the disableflag attribute of program discrete.
10.3 GSV/SSV Instruction Fault Codes
Fault Condition
A minor fault will occur if: Fault Code
invalid object address 5
specified an object that does not support GSV/SSV
6
invalid attribute 6
did not supply enough information for an SSV instruction
6 the GSV destination was not large enough to hold the requested data
7
11. Monitoring System Using Trend Chart
The Trend Chart window is a graphical display which is capable of displaying both digital and analog data for up to 8 tags. The chart window includes features for running and stopping the trend in the controller, configuring chart display properties, and viewing sampled tag data.
At the top of the Trend Chart, the trend control bar is used to start and stop data sampling in the controller, view trending errors, save or delete captured trend logs, or view a specific capture. The control bar also provides information about the state of the trend in the controller, as well as data collection and sampling information. A typical chart display with the default settings and at least one tag configured also includes a Line Legend, Chart Title, Display Pen Values field, X and Y axis scales, and scroll buttons.
Figure 86: Trend Chart
1. Select the tag which you want to monitor as shown in the figure below
Trend Toolbar
Figure 88: Tag Trend (Continued)
3. When you close the trend a message will prompt as shown in the following figure to create trends. Click yes if you want to save the trend or NO if you don’t want.
4. After clicking Yes the following window prompt. Where you add the Name of the trend, Description about the trend and sample period of the trend.
Figure 90: Save Trend (Continued)
5. After clicking next the following window will prompt and you can add new tags in a trend. The trend of new tag will be shown on the same trend sheet but with a different color pen. By clicking on finish we can save the trend.
the figure.
Figure 92: Save Trend (Continued)
7. If you want to save the trend data on the hard drive of the PC stop the trend and click on the Log button on the Trend toolbar as shown in the figure.
Figure 93: Save Trend in External File
Log Trend button
8. Select “Save Trend log as”, a window will popup. Select the folder where you want to save the trend data and type the file name as shown in the figure
Figure 94: Save Trend in External File (Continued)
9. If you want to import the trend data from the external file into RSlogix500, right click on the trend folder and select “open trend log” as shown in the figure
Figure 96: Importing Trend (Continued) 11. A trend will open in the RSLogix5000 as shown in the figure.
12. Maintenance and Troubleshooting Strategies
This section of the Training manual contains complete details of ControlLogix system’s hardware components, their installation and functionality. This will serve as guidelines during routine maintenance and troubleshooting.
12.1 ControlLogix Chassis
Being a modular system ControlLogix system requires a 1756 I/O chassis to contain the various modules. Any module can be placed in any slot. The backplane provides a high-speed communication path between modules. Multiple controller modules on the backplane can pass messages between one another. With multiple communication interface modules on the backplane, a message can be sent from across a link into a port on one module, routed across the backplane and out another module’s port, and sent across another link to its ultimate destination. The ControlLogix chassis are available in five different sizes 4, 7, 10, 13, 17 and slot number beginning with zero.