100% found this document useful (1 vote)
208 views80 pages

Rockwell PLC

The document discusses ControlLogix controllers and their components. It describes the different types of tasks, programs, and routines used to organize a project. It also covers LED status indicators and how to create a new RSLogix5000 project file.

Uploaded by

Kamitkumar Patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
208 views80 pages

Rockwell PLC

The document discusses ControlLogix controllers and their components. It describes the different types of tasks, programs, and routines used to organize a project. It also covers LED status indicators and how to create a new RSLogix5000 project file.

Uploaded by

Kamitkumar Patel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 80

ALLEN BRADLEY

Logix Family
MODULAR OPEN
CompactLogixTM SoftLogixTM
ProcessLogixTM
ControlLogixTM

NetLinx™ Communications Architecture

FlexLogixTM
ViewAnyWare™
DISTRIBUTED HMI Devices

DriveLogix
Common EMBEDDED
RSLogix5000
Programming
System Components
ControlLogix
ControlBus
Motion

RSLogix5000

Networking 1756 I/O


Logix5550
Controller LEDs

RS232 off not operating


green data transmission working

BAT off battery operating


red battery to be replaced

OK off power supply missing


red fault that could be recover
flash.
red critical mistakes
steady reset the memory
replace the CPU

green Controller OK
Controller LEDs
Important: If all LEDs are off, the problem may be
with the power supply.

Important: For a detailed explanation of


ControlLogix LED states and colors, refer to the
ControlLogix Controllers Troubleshooting Guide.
System Structure : Chassis

4 slot 1756-A4
7 slot 1756-A7
10 slot 1756-A10
13 slot 1756-A13
17 slot 1756-A17
ControlLogix Redundant Power Supply
1756-PA75R / -PB75R
Power Supplies
• Panel Mount (-A4 footprint)
• Px75 equivalent capacity

1756-CPR Cables
• 3 Ft Length
• Only length available

1756-PSCA
Chassis Adapter Module
• Funnels power to backplane
• Series B Chassis only

Failure Annunciation
• NO Solid State Relay on each Supply
• Wire to any Input Module
ControlLogix Redundancy System
Logix5555™ ControlNET Redundancy Module
• Provides bumpless Transfer from Primary
Control System to Secondary Control
RUN I/O
A-B RS232 A#01 PRIM
Quality
Allen-Bradley BAT OK

CHA CHB OK PRI COM OK

System.
RUN REM PROG

• Software Configured
• Program Synchronization
• Ideal for High System Availability

Logix5555™ ControlNET Redundancy Module

RUN I/O
A-B RS232 A#01 PRIM
Quality
Allen-Bradley BAT OK

CHA CHB OK PRI COM OK


RUN REM PROG
ControlLogix I/O Overview
• Presently consists of over 50 I/O modules
– 37 Digital
– 12 Analog
– 5 Motion Modules
– High Speed Counter
– Programmable Limit Switch
– Configurable Flow Meter
– Hydraulics Module
• Options in termination
– Screw-style
– Spring-style
– Bulletin 1492 pre-wired
• 85-265VAC / 24, 48 and 125VDC Power Supply
choices, both Standard and Redundant
LED Status Information
LED indicators are located on the front of all I/O modules to show if
all connections and communications are functioning properly:

I/O Status
I/O Status
Fault
Status Fault
Module Status
Status
• I/O Status: The yellow status indicator shows the ON/OFF state of the
field device.
• Module Status: This green status indicator shows the module's
communication status.
• Fault Status: This display is only found on some modules and indicates
the presence or absence of various faults.
• Fuse Status: This display is only found on electronically fused modules
and indicates the state of the module's fuse.
Key Terms

The following terms are relevant to the creation and


organization of an RSLogix 5000 project file:

Project/Project File: The RSLogix 5000 software file used to


store all programming and configuration information for a
Logix5000™ controller.

Tag: A text address or name for an area of controller


memory.
Creating a New RSLogix5000 Project File

A project file is required to enter programming and


configuration information. The following button is used to
create a new project file:
Creating a New RSLogix5000 Project File
To create a new project file, the following properties must
be defined:
• Controller type
• Chassis slot size/type
• Slot number of the controller:
– To prevent communications to the wrong controller, the software will
compare the slot number of the controller selected in the RSWho Active
window with the controller slot number identified in the project.
• Description (optional)
• File path
• Name (file name):
– The same name is also automatically entered as the controller name.
– To easily match the project to the correct controller in the RSWho
Active window, the project name and the controller name should be
kept the same.
Creating a New RSLogix5000 Project File

Important: After the project is saved, the file name and


the controller name can be independently
changed, i.e, saving to a different file name
will not change the name of the controller
identified in the project.

Naming conventions are listed in the " Name" entry in the


Glossary of the Logix5000 Controllers Procedures Guide.
Project Organization

The controller system is a preemptive multitasking


system. This environment has the following characteristics:

• Is single-threaded in that only one task will be active at a time


• Has the ability to interrupt an executing task, switch to a different task, then
return control back to the original task when the interrupting task is
complete
Project Organization

To maximize the multitasking capabilities, the following


containers are available to organize an RSLogix 5000
project:
• Task: A scheduling mechanism for executing programs.
• Program: A set of related routines and tags.
• Routine: A set of executable code written in a single
programming language:
– Ladder logic
– Function block
Project Organization

Routines
Program
Tasks Folder
Task 1
Program A
The following graphic Task 2
shows how tasks,
programs, and routines
fit together within a
Routines
project:

Program B

Task 2
Creating a Task
The Create New Task button is shown in the following
graphic:

Create New Task


Creating a Task
A task triggers the execution of its scheduled programs.
The following table outlines the type of tasks that can be
created in a ControlLogix™ or SoftLogix5800 controller:
ControlLogix or Controller
Number
SoftLogix Task Usage Organizer
Allowed
Type Icon
A task that runs
continuously but can
Continuous 1
be interrupted by
periodic tasks
31 if there
is a
A task that interrupts continuous
the continuous task or task
Periodic
other periodic tasks at 32 if there
a user-specified rate is no
continuous
task
Creating a Task

Note that FlexLogix™ controllers support eight tasks


and CompactLogix™ controllers support four tasks.
Only one task for any controller can be continuous.
Continuous Task
A continuous task has the following characteristics:
• Is a background task that executes any time other operations such as
periodic tasks are not executing
• Operates in a self-triggered mode
• Automatically restarts after each completion
• Can be interrupted by a periodic task if the periodic task rate has expired
• By default, has the lowest priority (one lower than the lowest periodic
task)

A default continuous task is created with each new


project. This task is available for you to modify or
delete.
Periodic Task

A periodic task has the following characteristics:

• Is triggered at a repeated time interval


• Has a time range of 1 ms (milliseconds) to 2000 seconds:
– The default is 10 ms.
• Is used for applications requiring accurate and deterministic
execution
• Is triggered by the controller at a determined period of time
• Always interrupts and suspends the continuous task
• May interrupt other periodic tasks with lower priority:
– An interrupted task does not shift its start time.
– An interrupted task will stop mid instruction.
Example: Periodic Task

In the following example, the periodic task is triggered


every 20 ms:

5 ms
Task (Duration
of 5 ms)

0 ms 20 ms 40 ms 60 ms 80 ms

Task Execution Every 20 ms


Example: Periodic Task and Continuous Task
The following example shows how the periodic task
interrupts and suspends the continuous task:
Periodic Task Execution Every 20 ms

5 ms
Continuous Task

0 ms 20 ms 40 ms 60 ms 80 ms

Continuous Task
Interrupted for 5 ms

The software displays the maximum scan time and


the last scan time in microseconds for the selected
task in the Task properties dialog box.
Task Priority

Each task in a controller has a priority level that


determines which task executes when multiple tasks are
triggered:
• Priorities for periodic tasks are assigned by the user.
• There are 15 levels of priority, with 1 being the highest priority and 15
being the lowest priority.
• A task with a higher priority will execute first (i.e., 1 before 3)
• Task priorities are relative:
– If there are only three tasks, priorities of 6, 7, and 8 will function the same as
priorities of 1, 2, and 3.
• The continuous task is automatically one priority lower than the lowest
periodic task.
Task Priority
Each task in a controller has a priority level that
determines which task executes when multiple tasks are
triggered:

• In a FlexLogix controller, a dedicated task with a priority of 7


is used to process I/O data:
– This tasks executes at the fastest rate scheduled for the FlexLogix
system.
– The total execution time is as long as it takes to scan the I/O data.
• In a CompactLogix controller, a dedicated task with a priority
of 7 is also used to process I/O data:
– This tasks executes every 2 ms.
Task Priority

Important: The configuration of FlexLogix and


CompactLogix tasks can affect how I/O
data is received. If a program needs to react
to I/O at a deterministic rate, configure a
periodic task with a priority higher than 7
(1-6).
Example: Multiple Tasks
The following example shows how a periodic task
interrupts and suspends the continuous task. In the
example, task A is triggered every 20 ms and has a priority
of 3. Task B is triggered every 22 ms and has a priority of 1.
Tasks B will therefore interrupt task A.
22 ms 44 ms 66 ms 88 ms
Task B (Every 22 ms)
Task A (Every 20 ms)
Continuous Task

0 ms 20 ms 40 ms 60 ms 80 ms

Two tasks can be assigned the same priority. If this occurs,


the tasks will timeslice, or alternate execution, in 1 ms
intervals.
Example: Equal Priorities (Timeslicing)
The following example shows how two tasks of equal
priority will timeslice:
Task A, Priority 3 Task B, also Priority 3

5 ms

0 ms 1 ms 2 ms 3 ms 4 ms

Timeslicing is takes slightly more time than having


different priorities.
Creating a Program

A program is the second level of scheduling within a


project. A program has the following characteristics:

• Each task can schedule up to 32 programs.


• When a task is triggered, its programs execute in sequence from the first
scheduled to the last scheduled.
Creating a Program
Programs within a task can access input and output data
directly from controller-scoped memory, as described
below:

• Ladder logic or function blocks within any program can


modify controller-scoped data.
• Ladder logic or function blocks within a program can
also modify program-scoped data:
– Ladder logic or function blocks within one program
cannot access or modify the data that is local to a
different program.
• Data and I/O values are asynchronous and can change
during the course of a task's execution.
The default program (MainProgram) is scheduled in
the default MainTask.
Unscheduled Programs

Programs can be scheduled in a specific task or left


unscheduled:

• Original equipment manufacturers may create one project and then


schedule or unschedule a program depending on the equipment's
required functionality.
• Maintenance or field service technicians may create troubleshooting
programs that are left unscheduled until needed to test a project.
Creating a Routine

The Create New Routine button is shown in the following


graphic:

Create New Routine

A routine contains instructions for the project in a single


programming language such as ladder logic or function
block.
Creating a Routine
A routine can be assigned as one of the following types:
• Main Routine: A ladder logic or function block routine that
executes automatically when the controller triggers the
associated task and program:
– Can be ladder logic or function block
– Is marked with a 1 in the Controller Organizer
• Subroutine: A routine that is called by another routine:
– Is called by a JSR (Jump to Subroutine) instruction in the main
routine or another subroutine (conditioned or unconditioned)
– Returns to the other routine when complete or if a condition is met
• Fault Routine: A routine that executes if the controller finds
an instruction-execution fault within any routines in the
associated program.
– Is marked with a yellow triangle in the Controller Organizer
Creating a Routine
The following is an example of routine structure:

When the conditions


are met, the main
routine calls the Level
subroutine.

Example Ladder Logic in the Main Routine

Fault Routine
Creating a Routine

There are no restrictions, other than controller


memory, on the number of nested routines in a
project.

You can create a cross-reference report that lists all


JSR instructions that call a subroutine and their
location in the ladder logic.
Deleting Routines, Programs, and Tasks

To delete a routine, program, or task, any associated


elements must be removed in this order.

1 Remove tags
2 Unassign routines and then remove them
3 Unschedule programs and then remove them
4 Delete tasks
Project Organization Best Practices
To efficiently organize a project, keep the following best
practices in mind:
• Obtain a description of the process.
• Create plant naming conventions for tasks, programs, routines, and tags.
• Name tasks, programs, and routines descriptively and consider putting
how often the task executes (in ms) in the name.
• Divide the process into functional groups or sections that represent one
or more of the following facets of the process:
– Sequence of related actions that operators perform
– Group of related process events
– Machine or machine sections
• If the section is not required to occur at a specific time interval, identify
the section as a program to run under the continuous task.
Understanding
Logix5000™ basic ladder
logic
Rungs
The following graphic shows ladder logic rungs
and their related components:

0
Rung
Numbers
1

Power Rail
Power Rail
Instructions
Instructions are commands defining operations or
evaluations to be performed by a controller. There
are two types of instructions:

• Inputs: Instructions that evaluate data in a controller.


• Outputs: Instructions that set data in a controller.

Inputs

Outputs
Instructions
There are several rules for placing instructions on rungs:
• The same type of instruction can be in sequence on a rung (i.e.,
input instructions may be next to other input instructions).
• The last instruction on a rung must be an output.
• A rung does not need to contain any input instructions, but it must
contain at least one output instructions.

The following graphic shows alternating input and output


instructions on a rung:
Input Input Output

Important: Each rung must end with an output


instruction and have at least one output instruction.
Branches

Branches are used to create different paths that


direct the reading of the conditional inputs and
outputs, as shown in the following graphic of a
one level branch:
Branches
Branches can have more than one level and can
include two types:
• Parallel Branch: A branch that has the same start and end
point as the branch it is below.
• Nested Branch: A branch that starts and ends inside another
branch.

Parallel
Nested
Branch
Branch

A branch must contain at least one


instruction.
Logical Continuity
Logical continuity is a condition where a ladder logic rung
has a path of true instructions. It is dependent upon the
true/false condition(s) of the input instruction(s) on a rung.
If a rung has logical continuity, then all the outputs on the
rung are true.
As a rung is scanned, each input is evaluated to determine
if its value will be true or false:

If the condition for which an input


Then the input instruction is . . .
instruction is examining . . .
Is detected True
Is NOT detected False
Example: Logical Continuity

The following rung shows logical continuity


because all of the input instruction values are true:
True True True (enabled)
MEMORY STORAGE
Controller Memory

Traditional controllers have data files where


groups of the same types of data are stored
together.
There are no pre-defined data files in a
Logix5000™ controller. Users must define the
memory in a Logix5000 controller by creating tags.
From Data Table to Database

I:0 – I:37

O:0 – O:37

B3:0 – B3:999 LS_114


Motor5.Start
T4:0 – T4:999 Filler5.Uptime
Tanks[10].Level
C5:0 – C5:999 Tanks[10].Pressure
Recipes[Cookie].Milk
N7:0 – N7:999
Axis5.Speed
F8:0 – F8:999
Data Types

Data Type: The definition of the size (how many bits/bytes) and layout
of memory that will be allocated when a tag of the data type is created.
Each tag must have an assigned data type, which can be one of the
following two types:

• Atomic (basic)
• Structure
Atomic Data Types

Atomic Data: Data types used to allocate bit, byte, word, or double
word (Dword) memory units and define their numeric interpretation.
This includes BOOL, SINT, INT, DINT, and REAL data types.
Atomic data types, their corresponding memory storage units, and the
range of values their tags can store are outlined in the following table:

Memory
Atomic Range of Values
Description Storage Unit
Data Type (Layout)
(Size)
1 (on) or
BOOL Single bit status Bit
0 (off)
SINT Short integer Byte (8 bits) -128 to 127
INT Integer Word (16 bits) -32,768 to 32,767
-2,147,483,648 to
DINT Double integer Dword (32 bits)
2,147,483,647
Floating-point value Very large or very
REAL Dword (32 bits)
(decimal and exponent) small
Structure Data Types
Structure Data Type: A data type that stores members that may be of
different sizes and formats.
Two of the most common structure data types and their descriptions
are outlined in the following table:

Structure
Description
Data Type

Contains status and control information for


TIMER
timer instructions that increment in milliseconds
Contains status and control information for
COUNTER counter instructions that count an incrementing
or decrementing number

Structure data types occupy a block of memory in a controller with


each data member in sequence.

The two main factors that define tag size are the tag data type
and the amount of data stored in the tag.
Scope
Scope: The definition of where a controller can
access a tag or set of tags.
A tag must be designated as one of the following
scopes:
• Controller-Scoped Tag: A tag that can be used by all
tasks, programs, and routines within a project and is
accessible to other devices.
• Program-Scoped Tag: A tag that can be referenced only
by the routines within a specific program of a project.
Scope
The following graphic illustrates how program-scoped tags
are independent and cannot be shared with routines in
another program, whereas any routine may access
controller-scoped tags:

Program A- Routine in
Scoped Tags Program A

Controller-
Scoped Tags

Program B- Routine in
Scoped Tags Program B
Scope
Within a project, tags are located in different folders of the
Controller Organizer depending upon their scope:

Tags Controller-Scoped
Folder Tags
Icon

Program-Scoped
Tags

Program-Scoped
Tags

Different programs can contain tags of the same


name. Since the programs do not communicate with
each other, tags of the same name can be assigned
different values.
Alias Tag Usage Recommendation
• An alias tag is a tag name that is used to point to another tag’s
data
– An alias tag does not allocate memory to store data but references
another tag’s data
– Each alias tag requires memory to store the name of the tag
– Alias tags can not be used in a structure because structures require the
data to be contiguous
– Alias can be program or controller scoped and can point at tags at same
program scope or at controller scope
– Assumes the datatype of the tag it references
– Most tags and / or elements can be used as a target
• Base atomic tag (BOOL, SINT, INT, DINT, REAL)
• Member of an array (can not point at the array as a whole)
• Root of a Structured Tag
• Member of a structured tag
Alias Tag Usage
• Create a meaningful name for I/O
– Using an alias an application specific name can be used in place of the default
I/O address (descriptive names rather than system-generated names, which
makes I/O points more easily identifiable).

• Create an abbreviated reference to a longer name(s) such as a structure


reference
– Reduces typing during development
– Reduces space required to display and print logic
• Create modular reusable code
– Logic references alias, so a simple CSV tag import can reassign where the alias
points

Abbreviated Reference

I/O Alias Reference

Modular program reference


Nesting Tag Alias Names
• RSLogix 5000 permits the creation of an alias tag that
points to another alias tag
• During download the program is compiled to machine
executable code and physical memory addresses
• On upload the controller de-compiles the program and
uses the physical addresses to determine which tag is
being referenced by the code
– When multiple Alias Tags point to the same piece of data, the
software must assume the first alias tag it can find
(alphabetically)
– Even thought the program still referenced the same data, this will
result in different tags appearing in the program after an upload
• To prevent this:
– Avoid creating nested alias tags
– Only create one alias tag per program for any given piece of data
Data Transfer Options

Offline: Viewing or working with a project that resides on the computer


only.
Data Transfer Options
Online: Using the computer to view or work with a project that is loaded
in the controller. When online, the computer is in continuous
communications with the controller, so you can perform the following
actions:
• Monitor or modify a project loaded on a controller
• Monitor data while it is being collected
• Modify data stored in a controller

Data
Data Transfer Options
ATTENTION: Use extreme caution when entering or
! editing ladder logic or data, forcing values, or making
other changes online that will affect the control of
devices. Mistakes can cause unintended machine
motion or loss of process control, injuring personnel and
damaging equipment. Before performing procedures
online, complete these safety precautions:
 Determine if changes must be made online.
 Verify that your company permits online entering and
editing.
 Assess how machinery will respond to changes.
 Check proposed changes for accuracy.
 Notify all personnel of the changes.
 Verify that you are online to the correct controller.
Data Transfer Options
Download: Transfer a copy of a project from a computer to a controller
over a network.

Data

Click to Start Download

Important: A controller can only contain one project file at a


time. Downloading overwrites the current project in
the controller.
Data Transfer Options
Upload: Transfer a copy of a project from a controller to a computer over a
network.

Data
Data Transfer Options
Save: Write a copy of a project to the computer hard drive, which will
retain projects even when power is removed from the computer.

Important: Uploading transfers the file in the controller into the


temporary memory (RAM) of the computer. To
create a permanent copy, the file must be saved to
the hard drive of the computer.

Important: You cannot directly save to a floppy disk. If you


attempt to do so, you will receive an error message
indicating insufficient space on the disk, regardless
of the size of the project file. Instead, save the
project to the hard drive and then copy the file to a
floppy disk.
RSLinx™ Software

Communications Card: An interface device that allows a computer to


connect to a network and communicate with other devices on the network.

Driver: Software that allows a computer to use a specific type of


external device, such as a communications card.
RSLinx™ Software

RSLinx communications software is used to perform the


following actions:

• Add, configure, and modify the communications drivers required


to communicate with devices on a network
• Complete communications tasks, such as uploading,
downloading, going online, updating firmware, and sending
messages
• View configured networks and active nodes in the RSWho
window
RSLinx™ Software
The RSWho window in RSLinx software contains a network browser
interface that shows active networks and nodes, as shown in the following
graphic:
Modules in Selected Backplane

Configured
Networks
(Drivers)

Nodes on the
Expanded
Network
RSLinx™ Software

Important: Once opened, RSLinx software can be minimized


but not closed. Closing the software while it is in
use will discontinue communications.
Selecting and Changing a Controller's
Operating Mode

Logix5000 controllers have three keyswitch positions:

• Run
• Program
• Remote
Selecting and Changing a Controller's
Operating Mode

The key switch positions are shown in the following graphic:

RUN REM PR
OG Keyswitch Positions

Keyswitch
Selecting and Changing a Controller's
Operating Mode
The key switch position dictates the available controller modes, as
outlined in the following table:
Keyswitch Available Modes
Position ! ATTENTION!

Run Run mode: The controller is actively Run mode should only be
controlling the process/machine. used when all conditions are
safe.
Program Program mode: The Do not use Program mode
process/machine stops, allowing as an emergency stop (E-
modifications such as entering ladder stop). Program mode is not
logic to be safely made to the project. a safety device.
Remote Remote Run mode: Is identical to
Run mode except you can edit the Users are able to modify a
project online. project online in Remote
Remote Program mode: Is identical Program mode. Be sure to
to Program mode. control outputs with care to
Remote Test mode: Allows a avoid injury to personnel
program to run but disables its outputs and damage to equipment.
for troubleshooting and diagnostics.
Selecting and Changing a Controller's
Operating Mode

The three remote modes can be changed using the software,


as shown in the following graphic:

Physical
Current
Keyswitch in
Remote
Remote (REM)
Mode

Available
Remote
Modes
Uploading, Downloading, and Going Online to a
Logix5000 Controller

To upload, download, and go online, a communications path from


the computer (driver) to the controller must be specified. Paths can
be selected from the following methods:

• (Current) Path toolbar


• RSLinx Who Active dialog box
• Recent Path dialog box
RSLinx Who Active Dialog Box
A path from the computer (driver) to the destination controller can be
selected using the RSLinx Who Active dialog box, as shown in the
following graphic:

Communication
Options
Selected Driver
Module Address
Backplane
Destination
Controller Slot

Current
ommunications Path

Save Path with Project


RSLinx Who Active Dialog Box
When a path reaches a backplane, you can select a destination
module or connect to another network in the chassis.

The communications path shows the networks and modules in the


order in which information flows through them:

Driver Module Address Backplane Controller Slot

AB_ETH-1\130.151.138.105\Backplane \3
RSLinx Who Active Dialog Box

Driver names can be changed. The following are the default driver
prefixes:

• AB_DF1 for a serial driver


• AB_ETH for an Ethernet driver
• AB_KTC for a ControlNet driver
• AB_PCIC for a ControlNet driver
RSLinx Who Active Dialog Box
Important: As a safety feature, the slot for the controller
selected in RSLinx software must match the slot
number assigned to the project.

Important: Selecting the path from the tree is the safest route.

After selecting a communications path, it can be applied to all new


projects.
(Current) Path Toolbar
The current path is listed in the Path toolbar, as shown in the
following graphic:

Current Path

If there is no change, you can directly select go online, upload, or


download.
Recent Communications Path Dialog Box
You can also select a path from a list of all recently used paths, as
shown in the following graphic:

Controller/
Project
Name
Communications
Path
Matching Project Files
Documentation: User-entered text that describes the use of
components in a project, such as tasks, tags, or rungs of ladder
logic.

When you download a project into a controller, all information except


documentation is loaded into the controller. Documentation is stored
in computer memory only, as shown in the following graphic:

Descriptive
Tags and
Text
Other Data

You might also like