Programmable Logic Controllers

Slides:



Advertisements
Similar presentations
Unit 7 Discrete Controllers
Advertisements

Copyright © 2005 Rockwell Automation, Inc. All rights reserved. 1 Micro Logix 1100 RSLogix 500 LAB#2 Timing, Counting & Comparing.
PLC Timer Instructions
HYDRAULICS & PNEUMATICS
Copyright © 2002 Delmar Thomson Learning Chapter 12 Basic Relay Instructions.
Programmable Logic Controllers
Programmable Logic Controllers
EUT 1040 Lecture 10: Programmable Logic Controllers.
Chapter 6 Introduction to Logic.
Drafting RLL. SLC 500 Processor Operating Cycle Event in Operating Cycle Input Scan Program Scan Output Scan Communications Processor Overhead.
Switchgears Control Using SCADA System Based on PLC
Introduction To Programmable Logic Controllers
FUNCTION OF OUTPUT CONTROLLER AND APPLICATION
PLC OPERATION & PROGRAMMING Dr. ONUR TOKER. What is a PLC ? PLC is a computer system controlling a process. inputs - the keyboard is analogous to a proximity.
Programmable Logic Controllers
Chapter 19 Fundamental PLC Programming
Logic Functions OR Operation
Timers.
6 PLC Programming. 6 PLC Programming Objectives List the rules for creating a PLC ladder logic diagram. Convert a relay logic diagram to a PLC ladder.
Programmable Logic Controllers
Programmable Logic Controllers
MOV,MOVM,COP,FLL,BSL,BSR, FRD,TOD
Chapter 10 PLC Processors.
1 FUNDAMENTOS DEL CONTROLADOR PROGRAMABLE. 2 ¿QUE ES UN CONTROLADOR PROGRAMABLE? PROGRAMMABLE CONTROLLER ENTRADAS A solid state device that controls output.
Program Control Instructions:
4 May I/O Control. 4 May What is I/O Control? A Doors feature that allows you to program input events to drive output responses – for example:
Programming PLCs using LADDER Logic
Welcome to the World of Programmable Logic Controllers
Copyright © 2002 Delmar Thomson Learning Chapter 1 Welcome to the World of Programmable Logic Controllers.
Memory Layout and SLC500™ System Addresses. Processor Memory Division An SLC 500 processor's memory is divided into two storage areas. Like two drawers.
Memory Layout and SLC500 System Addresses. Processor Memory Division An SLC 500 processor's memory is divided into two storage areas. Like two drawers.
Chapter 8.
PROGRAMMABLE LOGIC CONTROLLER (PLC) AND AUTOMATION
Chapter 10 Advanced Programming, PLC Interfacing, and Troubleshooting
CHAPTER 2: TYPES OF CONTROLLER
Copyright © 2002 Delmar Thomson Learning Chapter 10 PLC Processors.
Logic Functions and Symbols
Introduction to PLC by Dr. Amin Danial Asham.
PROGRAMMABLE LOGIC CONTROLLER
Timers and Counters by Dr. Amin Danial Asham. References  Programmable Controllers-Theory and Implementation, 2nd Edition, L.A. Bryan and E.A. Bryan.
LADDER PROGRAMMING LANGUAGE by Dr. Amin Danial Asham.
Sequencers SQO,SQC,SQL.
Copyright © 2002 Delmar Thomson Learning Chapter 13 Understanding Relay Instructions and the Programmable Controller Input Modules.
MECH 1500 Chapter 4. MECH 1500 The Binary Concept 4.1.
Timers. Mechanical Timing Relay Time delay relays are simply control relays with a time delay built in. Their purpose is to control an event based on.
PROGRAMMABLE LOGIC CONTROLLER
SEMINAR ON P.L.C. SUBMITTED BY HRIDAY MUKHERJEE AMIT DEBNATH SOMNATH SHIL
Actuators and Control, Part 4 Grant Agreement No LLP UK-LEONARDO-LMP Project acronym: CLEM Project title: Cloud services for E-Learning.
© 2013 Eaton Corporation. All rights reserved. PLC Programming Basics.
Chapter 5.
Chapter 11 & 13 PLC Math Instructions Permission granted to reproduce for educational use only. 11 PLC Compare, Jump, and MCR Instructions.
1 Introduction to PLCs: Programming Counters ELMT Basic Programmable Logic Controllers Chapter 0x_W Source: www Based on Ch 8 of Frank D. Petruzella.
Chapter 7.
6 CHAPTER PLC Programming. 6 CHAPTER PLC Programming.
Chapter 5.
Chapter 10 © 2011, The McGraw-Hill Companies, Inc.
Programmable Logic Controllers (PLCs) An Overview.
Chapter 14 Understanding Relay Instructions and the Programmable Controller Input Modules.
Programming Timers.
Programmable Logic Controllers
MicroEconomix 1500 RSLogix 500 LAB#2
MicroEconomix 1500 RSLogix 500 LAB#1
Lesson 19: PLC Programming Techniques
Programmable Controller Basics Files And Programs
Program Control Instructions.
Advanced Math Functions
Basic Relay Instructions
GE Integers, ZCL, Jump Commands
Presentation transcript:

Programmable Logic Controllers Third Edition Frank D. Petruzella McGraw-Hill

Chapter 9 Program Control Instructions

Program Control Instructions Program control instructions are used to alter the program scan from its normal sequence. Sometimes referred to as override instructions, they provide a means of executing sections of the control logic if certain conditions are met. They allow for greater program flexibility and greater efficiency in the program scan.

Typical Program Control Instructions Based On The SLC 500 And Associated RSLogix Software TND TND Temporary End Makes a temporary end that halts program execution RET RET Return from Subroutine Exits current subroutine and returns to previous condition MCR MCR Master Control Reset Clears all set outputs between the paired MCR instruction SUS SUS Suspend Identifies specific conditions for program debugging and system troubleshooting JMP JMP Jump to Label Jump forward/backward to a corresponding label instruction JSR Jump to Subroutine Jump to a designated subroutine instruction JSR SBR SBR Subroutine Identifies the subroutine program LBL LBL Label Specifies label location Program Control

Hardwired Master Control Relay Circuit Hardwired master control relays are used in relay circuitry to provide input/output power shutdown of an entire circuit.

Hardwired Master Control Relay Circuit

MCR Instruction MCR The master control reset (MCR) instruction can be programmed to control an entire circuit or to control only selected rungs of a circuit. When the MCR instruction is false, or de-energized, all nonretentive (nonlatched) rungs below the the MCR will be de-energized even if the programmed logic for each rung is true. All retentive rungs will remain in their last state. The MCR instruction establishes a zone in the user program in which all nonretentive outputs can be turned off simultaneously. Therefore, retentive instructions should not normally be placed within an MCR zone because the MCR zone maintains retentive instructions in the last active state when the instruction goes false.

MCR Instruction Programmed To Control An Entire Circuit

MCR Instruction Programmed To Control A Fenced Zone The Master Control Reset (MCR) instruction is used in pairs to disable or enable a zone within a ladder program and has no address. You program the first MCR with input instructions in the rung and the ending MCR without any other instructions in the rung. Fenced Zone

MCR Instruction Programmed To Control A Fenced Zone MCR Zone True

MCR Instruction Programmed To Control A Fenced Zone MCR Zone False

Programming MCR Instructions If you start instructions such as timers and counters in an MCR zone, instruction operation ceases when the zone is disabled. The TOF timer will activate when placed inside a false MCR zone. When troubleshooting a program that contains an MCR zone you need to be aware of which rungs are within zones in order to correctly edit the circuit. MCR controlled areas must contain only two MCR instructions – one to define the start and one to define the end.

JMP Jump Instruction As in computer programming, it is sometimes desirable to be able to jump over certain program instructions. The jump instruction (JMP) is an output instruction used for this purpose. The advantages to the jump instruction include: the ability to reduce the processor scan time by jumping over instructions not pertinent to the machines operation at that instant The PLC can hold more than one program and scan only the program appropriate to operator requirements Sections of a program can be jumped when a production fault occurs

Jump Operation By using the jump instruction, you can branch or skip to different portions of a program and freeze all affected outputs in their last state. Jumps are normally allowed in both the forward and backward directions. Jumping over counters and timers will stop them from being incremented.

Jump-To-Label With Allen-Bradley PLCs the jump (JMP) instruction and the label (LBL) instruction are employed together so the scan can jump over a portion of the program. The label is a target for the jump, it is the first instruction in the rung, and it is always true. A jump jumps to a label with the same address. The area that the processor jumps over is defined by the locations of the jump and label instructions in the program. If the jump coil is energized, all logic between the jump and label instructions is bypassed and the processor continues scanning after the LBL instruction.

Jump To Label Program Jumped program Timers should be programmed outside the jumped section Input conditions are not examined and outputs remain in their last state Jumped program rungs (5,6,7) are not scanned by the processor

Jump-To-Label From Two Locations 20

Jump-To-Label Instructions In a SLC 500 or PLC-5 the JMP will have a number from 0 to 255, and the corresponding LBL will have the same number. In the ControlLogix controller the JMP and LBL have the same number. Avoid jumping backwards in the program too many times as this may increase the scan beyond the maximum allowable time. The processor has a watchdog timer that sets the maximum time for a total program scan. If this time is exceeded, the processor will indicate a fault and shut down. You should never jump into an MCR zone. Instructions that are programmed within the MCR zone starting at the LBL instruction and ending at the end MCR instruction will always be evaluated as though the MCR zone is true, without consideration to the state of the start MCR instruction.

Jump - To - Subroutine Another valuable tool in PLC programming is to be able to escape from the main program and go to a program subroutine to perform certain functions and then return to the main program.

Allen-Bradley Subroutine-Related Instructions The JSR instruction causes the scan to jump to the program file designated in the instruction. It is the only parameter entered in the instruction. When rung conditions are true for this output instruction, it causes the processor to jump to the targeted subroutine file. Each subroutine must have a unique file number (decimal 3-255).

Allen-Bradley Subroutine-Related Instructions The SBR instruction is the first instruction on the first rung in the subroutine file. It serves as an identifier that the program file is a subroutine. This is the file number that is used in the JSR instruction to identify the target to which the program should jump. It always true and although its use is optional, it is still recommended.

Allen-Bradley Subroutine-Related Instructions The RET instruction is an output instruction that marks the end of the subroutine file. It causes the scan to return to the main program at the instruction following the JSR instruction where it exited the program. The scan returns from the end of the file if there is no RET instruction. The rung containing the RET instruction may be conditional if this rung precedes the end of the subroutine. In this way, the processor omits the balance of a subroutine only if its rung condition is true.

Flashing Pilot Light Subroutine If the weight on the conveyor exceeds a preset value, the solenoid is de-energized and the alarm light will begin flashing. Process When the weight sensor switch closes, the JSR is activated and the processor scan jumps to the subroutine area. The subroutine is continually scanned and the light flashes. When the sensor switch opens, the processor will no longer scan the subroutine area and will return to the on state.

Flashing Pilot Light Subroutine Program

Setting Up A Subroutine File PLC-5 and SLC-500 controller subroutines are located in different program files from the main program. The main program is located in program file 2, whereas subroutines are assigned to program file numbers 3 to 255. Note each ladder location where a subroutine should be called. Create a subroutine file for each location. Each subroutine file should begin with an SBR instruction. At each ladder location where a subroutine is called, program a JSR instruction specifying the subroutine file number. The RET instruction is optional as the end of a subroutine program will cause a return to the main program.

Setting Up A Subroutine File

Passing Subroutine Parameters An optional SBR instruction is the header instruction that stores incoming parameters. This feature lets you pass selected values to a subroutine before execution so the subroutine can perform mathematical or logical operations on the data and return the results to the main program.

Nested Subroutines Nesting subroutines allow you to direct program flow from the main program to a subroutine and then to another subroutine. Nested subroutines make complex programming easier and program operation faster because the programmer does not have to continually return from one subroutine to enter another.

Nested Subroutines

1. Program control instructions are used to alter the program scan from its normal sequence. (True/False) 2. Hardwired master control relays are used in relay circuitry to provide input/output power shutdown of an entire circuit. (True/False) 3. The master control reset (MCR) instruction can be programmed to control an entire circuit or to control only selected rungs of a circuit. (True/False)

4. When the MCR in the start fence is false a. all rungs within the zone are treated as false b. all non-retentive outputs within the zone are de-energized c. the scan ignores all of the inputs within the zone d. all of these

5. When the MCR instruction in the start rung is true, all rung outputs below the MCR will be controlled by their respective input conditions. (True/False) 6. The MCR instruction requires no address. (True/False) 7. Jumps are normally only allowed in the forward direction. (True/False)

8. The label (LBL) instruction is : (a) always logically true. (b) has the same address as the jump instruction with which it is used. (c) is used to identify the ladder rung that is the target destination of the JMP instruction. (d) all of these.

9. A subroutine is a section of program that is not scanned unless there is: a. a fault b. a request for the scan to go to that particular subroutine. c. a need to execute a section of the program on a time basis rather than on an event basis d. a forced input or output condition

10. Which of the following instructions would most likely be programmed outside the jumped area of a program? (a) Latch and unlatch instructions (b) Timer and counter instructions (c) Immediate inputs and outputs (d) Forced inputs and outputs

Forcing External I/O Addresses The forcing capability of a PLC allows the user to turn an external input or output "on" or "off" from the keyboard of the programmer. L1 L2 Input "off" False Output Forced "on" Program

Forcing Inputs Overriding of physical inputs on conventional relay control systems can be accomplished by installing hardwire jumpers. With PLC control this is not necessary as the input data table values can be forced to an "on" or "off" state. Forcing inputs manipulates the input image table file bits and thus affects all areas of the program that uses those bits. The forcing of inputs is done just after the input scan.

Forcing An Input Address On 1

Forcing An Input Address On Force> ON Forcing inputs affects all areas of the program that uses that bit.

Forcing Outputs Forcing outputs affects only the addressed output terminal. When we force an output address we are forcing only the output terminal to an on or off state. The output image table file bits are unaffected, therefore, your program will be unaffected. The forcing of outputs is done just before the output image table file is updated. By forcing outputs "off" you can prevent the controller from energizing those outputs, even though the ladder logic, which normally controls them, may be true.

Forcing An Output Address On

Forcing An Output Address On Forcing outputs affects only the addressed output terminal.

Using Forcing Functions The Force function can not be applied when the processor is in the run mode. An understanding of the potential effect that forcing given inputs or outputs will have on the machine operation is essential to avoid possible personal injury and equipment damage. Most programming terminals provide some visible means of alerting the user that a force is in effect.

Enter And Enable Or Disable Forces Using RSLogix software the steps are as follows: Open the program file in which you want to force the logic on or off. With the right mouse button, click the I/O bit you want to force. From the menu that appears select "Goto Data Table". From the associated data table that appears click on the "Forces" button. The Forces version of the data table appears with the selected bit highlighted. Click on this bit with the right mouse button. From the menu that appears you can force the selected bit "on“ or "off".

Enter And Enable Or Disable Forces Forced Version Of The Data Table

Safety Circuitry Sufficient emergency circuits must be provided to stop either partially or totally the operation of the controller or the controlled machine or process. These circuits should be hardwired outside the controller so that, in the event of total controller failure, independent and rapid shutdown is available.

Typical PLC Safety Wiring Diagram A main disconnect switch is installed on the incoming power lines as a means of removing power from the entire programmable controller system. An isolation transformer is used to isolate the controller from the main power distribution system and step the voltage down to 120 VAC. A hardwired master control relay is included to provide a convenient means for emergency controller shutdown.

Motor Starter Program Using The Auxiliary Contact An important safety consideration involves the use of a motor starter seal-in contact in place of a programmed contact referenced to the output coil instruction. The use of the field-generated starter auxiliary contact status in the program is more costly in terms of field wiring and hardware, but is safer because it provides a positive feedback to the processor about the exact status of the motor.

Motor Starter Program Using The Auxiliary Contact Motor overload occurs Motor operating normally If a programmed NO contact referenced to the M coil is used for the seal-in contact (in place of starter auxiliary contact) the processor would never know power has been lost to the motor. When the OL was reset, the motor would restart instantly, creating a potentially unsafe operating condition.

Wiring of Stop Pushbuttons The wiring of stop buttons is another important safety consideration. A stop button is generally considered a safety function as well as an operating function. As such, it should be wired using a NC contact and programmed to examine for an on condition. Using an NO contact programmed to examine for an off condition will produce the same logic, but is not considered to be as safe. Always use a NC button for a stop button NC Pushbutton

Wiring of Stop Pushbuttons Normally open pushbutton stop configuration NO Pushbutton NEVER use the NO button for a stop button. If a NO button is used and the circuit between the button and the input point were to be broken the PLC logic control could never react to the stop command - since the input would never be true.