Lesson 19: PLC Programming Techniques

Slides:



Advertisements
Similar presentations
Programming Examples Rung Examples:
Advertisements

Dc input modules can either be sources or sinks for dc current. This depends on the transistor used in the input card and the polarity of the dc supply.
Programming with Ladder Logic
Copyright © 2005 Rockwell Automation, Inc. All rights reserved. 1 Micro Logix 1100 RSLogix 500 LAB#2 Timing, Counting & Comparing.
PLC Timer Instructions
Copyright © 2002 Delmar Thomson Learning Chapter 11 Processor Data Organization.
Copyright © 2002 Delmar Thomson Learning Chapter 12 Basic Relay Instructions.
Switchgears Control Using SCADA System Based on PLC
5/20/2015IENG 475: Computer-Controlled Manufacturing Systems 1 IENG Lecture 14 Ladder Logic Programming of PLCs.
FUNCTION OF OUTPUT CONTROLLER AND APPLICATION
Lecture 4: Programmable logic Controllers
Programmable Logic Controllers
Chapter 19 Fundamental PLC Programming
Lecture 6: PLC: Timers and Counters
Logic Functions OR Operation
Timers.
Timer Instructions Overview Instructions: Use the Page Up and Page Down keys to navigate through this presentation. When you are done viewing the presentation,
Programmable Logic Controllers
Programmable Logic Controllers
Copyright © 2002 Delmar Thomson Learning Chapter 15 Timer and Counter Instructions.
MicroLogix Packaged Controllers Programmable Controller Basics Memory & Data.
Counter The CTU CTD instruction counts upward & Down wards over a range Each time the rung goes from false- to-true. We can make an Up-Down counter by.
Memory Layout and SLC500™ System Addresses. Processor Memory Division An SLC 500 processor's memory is divided into two storage areas. Like two drawers.
Processor Data Organization
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.
PLC Counter Instructions
Counters. Counter Applications Counters count events such as the number of: Parts passing a certain point on a conveyor system Good parts/bad parts manufactured.
Logic Functions and Symbols
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.
Ladder Concept.
Copyright © 2002 Delmar Thomson Learning Chapter 13 Understanding Relay Instructions and the Programmable Controller Input Modules.
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.
Actuators and Control, Part 4 Grant Agreement No LLP UK-LEONARDO-LMP Project acronym: CLEM Project title: Cloud services for E-Learning.
S7-200 PLC training courses
Chapter 5.
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.
9 CHAPTER PLC Counter Instructions. 9 CHAPTER PLC Counter Instructions.
Chapter 5.
PLC Timers MECH 1500 Two classes of timers: Retentive Non-Retentive.
ET 438B Sequential Control and Data Acquisition
IENG 475: Computer-Controlled Manufacturing Systems
Lesson 16: State-Based Sequential Design
Industrial Electronics
Chapter 14 Understanding Relay Instructions and the Programmable Controller Input Modules.
Programming Timers.
MicroEconomix 1500 RSLogix 500 LAB#2
Lesson 14: Introduction To Sequential Control
Introduction to Ladder Diagram
Timer Instructions Overview
Manisha Goel, Lecturer, EE Deptt Govt. Polytechnic Manesar
ET 438B Sequential Control and Data Acquisition
Lesson 17: State-Based Design Example
Programmable Controller Basics Files And Programs
Timer and Counter Instructions
MECH 1500 Motor Controls.
Basic Relay Instructions
Lesson 15: Boolean Representation of Ladder Diagrams
PROGRAMMABLE LOGIC CONTROLLERS
S RAJARAJAN_ASST PROF, BSARCIS&T
Programmable Logic Controllers (PLCs)
Programmable Logic Controllers (PLCs)
Ladder programming Counter Instruction S7 300
IENG 475: Computer-Controlled Manufacturing Systems Logic Diagrams
Presentation transcript:

Lesson 19: PLC Programming Techniques Lesson 19_et438b ET 438 b Digital Control and Data Acquisition Department of Technology Lesson 19: PLC Programming Techniques

Learning Objectives After this presentation you will be able to: Lesson 19_et438b Learning Objectives After this presentation you will be able to: Identify the similarities and differences between ladder logic and ladder programming of a PLC Convert ladder diagrams into PLC programs Use bit manipulating instructions to implement sequential logic control Use timer and counter instructions to implement more complex control functions.

PLC ladder logic Programming Lesson 19_et438b PLC ladder logic Programming Basic Concepts of PLC Ladder Logic Programming Instructions look like schematic symbols Symbols attached to bit addresses in data maps PLC ladder logic program based on logical “continuity” All input symbols must test true for the output symbol to be true et438b-9

PLC ladder logic Programming Lesson 19_et438b PLC ladder logic Programming Example system Boolean Equation Could program PLC in verbose language or use ladder logic symbols. Ladder logic used to reduce training of maintenance personnel et438b-9

Basic PLC Programming Instructions Lesson 19_et438b Basic PLC Programming Instructions Bit or relay Instructions - test memory location bits Examine if open: XIO examines an input bit for an open condition Examine if closed: XIC examines an input bit for closed condition Bit address Bit address Logic of XIC Logic of XIC Input bit Evaluation Rung Effect 1 TRUE Pass logical continuity FALSE Block logical continuity Input bit Evaluation Rung Effect 1 FALSE Block logical continuity TRUE Pass logical continuity et438b-9

Basic PLC Programming Instructions Lesson 19_et438b Basic PLC Programming Instructions Output Instructions – Toggle output map bits when rung evaluates true Output Energize (OTE) Instruction becomes true when all instructions to rung become true Bit address Output latch and Output unlatch Output latch become TRUE when input rung instructions become TRUE. Remains TRUE after rung becomes FALSE Output unlatch is used to reset the output latch instruction Bit address et438b-9

Basic PLC Programming Instructions Lesson 19_et438b Basic PLC Programming Instructions More Output Instructions One Shot Instruction Input that allows an event to occur only once during a program scan. OSR Instruction only responds to rising hardware input signal Responds to only FALSE to TRUE transitions et438b-9

Programming Examples Rung Examples: Lesson 19_et438b Programming Examples Rung Examples: What is the condition of the output instruction (T/F)? O:2 1 1746-OB16 I:0 1746-IA8 OTE Instruction XIC Instruction addr. 15 14 13 12 1 2 11 10 9 8 7 6 5 4 3 I:0 Input image table shows a 0 bit, so XIC evaluates to a FALSE I:3 I:4 et438b-9

Programming Examples Rung example continued: Lesson 19_et438b Programming Examples Rung example continued: What is the condition of the output instruction (T/F)? O:2 1 1746-OB16 Rung is FALSE. so OTE is FALSE. This gives 0 in output image I:0 1746-IA8 False False addr. 15 14 13 12 1 2 11 10 9 8 7 6 5 4 3 O:0 O:2 O:4 et438b-9

Programming Examples Rung Examples: Lesson 19_et438b Programming Examples Rung Examples: What is the condition of the output instruction? (T/F)? O:3 4 1746-OB16 I:1 2 1746-IA8 OTE Instruction XIO Instruction I:0 Input image table shows 0 bit in I:1/2 XIO evaluates TRUE. I:1 I:4 Input image table et438b-10.pptx

Programming Examples Rung Examples: Lesson 19_et438b Programming Examples Rung Examples: What is the condition of the output instruction? (T/F)? O:3 4 1746-OB16 I:1 2 1746-IA8 True TRUE Rung is TRUE, so OTE is TRUE. Output image table O:2 1 O:3 O:5 et438b-10.pptx

Programming Examples Rung Examples: Lesson 19_et438b Programming Examples Rung Examples: What is the condition of the output instruction? (T/F)? XIO Instruction I:2 5 1746-IA8 I:3 1746-IA8 O:1 3 1746-OB8 OTE Instruction XIC Instruction Input image table Location I:2/5 = 1. XIC evaluates as TRUE.. 1 I:2 I:3 I:4 Location I:3/0 = 0. XIO instruction evaluates as TRUE. et438b-10.pptx

Programming Examples Rung Examples: Lesson 19_et438b Programming Examples Rung Examples: What is the condition of the output instruction? (T/F)? I:2 5 1746-IA8 I:3 1746-IA8 O:1 3 1746-OB8 True TRUE TRUE Output image table TRUE AND TRUE = TRUE Output image will have 1 at address O:1/3 O:0 1 O:1 O:5 et438b-10.pptx

Programming Examples Rung Examples: Lesson 19_et438b Programming Examples Rung Examples: What is the condition of the output instruction? (T/F)? I:0 3 1746-IA8 O:0 5 1746-OB8 TRUE OR FALSE = TRUE so rung is TRUE, OTE is TRUE True FALSE I:0 7 1746-IA8 TRUE Output Image Table location O:0/5 = 1. This output will be energized Input image table Input image table shows I:0/0 = 1 and I:0/3 = 0 1 I:0 I:1 The first XIC instruction at input I:0/3 evaluates as a FALSE XIC at input I:0/7 evaluates as TRUE (bit =1) I:4 et438b-10.pptx

Programming Examples Rung Examples: Lesson 19_et438b Programming Examples Rung Examples: What is the condition of the output instruction? (T/F)? FALSE OR FALSE = FALSE The rung evaluates FALSE O:4 1746-OB16 I:1 1746-IA16 FALSE FALSE The instruction OTE evaluates FALSE I:0 2 1746-IA16 FALSE In the output image file, O:4/0 = 0 and output will not be energized Input image table 1 I:0 I:1 At input I:1/0 =0, XIC evaluates FALSE At input I:0/2 = 1, XIO evaluates FALSE et438b-10.pptx

Toggling Bits in the Bit File Lesson 19_et438b Toggling Bits in the Bit File The instructions XIC, XIO and OTE operate on bits in the B4 bit file also. Use these bits like control relays in electromechanical schemes. Not related to I/O points I:0/1=0 Rung Examples I:0 1 B3:2 2 B3:2/2=0 TRUE FALSE FALSE TRUE I:0/1=1 B3:2/2 = bit number 2 in word 2 of the B3 file This will be toggled by the input I:0/1 B3:2/2=1 I:0 2 B3:1 1 Input at location I:0/2 toggles the bit B3:1/1 TRUE TRUE FALSE FALSE The XIC instruction acts like a seal-in contact in electromechanical systems B3:1 1 TRUE FALSE et438b-10.pptx

Accumulated time since activation resets for Rung FALSE Lesson 19_et438b Timer Instructions Timer Type Enable Bit Timer on-delay (TON) Done Bit FALSE TRUE Time base selectable in some models Operation: when rung becomes TRUE, timer activates Preset time delay Timer stops when rung becomes FALSE Accumulated time since activation resets for Rung FALSE Addressable Bits DONE (DN) - bit set (1) when ACC=PRE ENABLE (EN) - bit set (1) when rung TRUE Timer Timing (TT) - bit set (1) when ACC<PRE and rung TRUE ACCUM = ACC, accumulated time value since activation PRESET = PRE, set time delay. depends on time base et438b-10.pptx

Timer Instructions Timer: off-delay (TOF) FALSE TRUE Operation Lesson 19_et438b Timer Instructions Timer: off-delay (TOF) FALSE TRUE Operation Timer activates when rung conditions become FALSE (make a TRUE to FALSE transition Timing Timer operated as long as rung remains FALSE Accumulator reset when rung goes TRUE Preset and Accumulator are the same as in TON Addressable bits DONE (DN) - bit is reset (0) when ACC = PRE ENABLE (EN) - bit is set (1) when rung conditions TRUE Timer Timing (TT) - bit is set (1) when rung conditions FALSE and ACC < PRE et438b-10.pptx

Timer Instruction Examples Lesson 19_et438b Timer Instruction Examples TRUE Timer T4:0 first timer in program I:0 FALSE Time base 0.01 sec, preset to 100 (1 sec) delay 2 Initial conditions I:0/2 = 0 Rung evaluates FALSE Bit status EN = 0 TT = 0 DN = 0 I:0/2 = 1 rung evaluates TRUE t= 0 sec Bit status EN = 1 TT =1 DN = 0 15 14 13 1 2 EN TT DN INTERNAL USE ONLY Preset Value (PRE) Accumulated Value (ACC) When PRE = ACC = 100 Bit status EN = 1 TT = 0 DN = 1 EN = 1 until I:0/2 = 0 1 1 et438b-10.pptx

Off-Delay Timer Example Lesson 19_et438b Off-Delay Timer Example TRUE Initial conditions: input bit instruction XIC B3:0/1 = 1 rung is TRUE . Timer is not activated B3:0 FALSE 1 B3:0/1 = 0 TRUE to FALSE transition timer starts Bit status EN = 0 TT = 1 ACC<PRE DN = 1 ACC<PRE Note: DN remains set until ACC = PRE When PRE = ACC = 100 (1 sec) Bit status EN = 0 TT = 0 ACC = PRE DN = 0 If rung goes TRUE ACC =0 EN = 1 DN = 1 TT = 0 15 14 13 1 2 EN TT DN INTERNAL USE ONLY Preset Value (PRE) Accumulated Value (ACC) 1 1 et438b-10.pptx

Lesson 19_et438b Timer Example Example: Using a timer to turn on an output after a 3 second delay FALSE TRUE I:1 1 1 3 When input changes state I:1/3 = 1 Rung is TRUE t Timer bit status EN = 1 TT=1 DN = 0 FALSE O:0 T4:0 2 DN Initial conditions: Input address I:1/3 = 0 Rung 1 evaluates FALSE Timer Bit status EN = 0 TT = 0 DN = 0 PRE = 300 Rung 2 T4:0/DN = 0 XIC instruction evaluates FALSE so O:0/0 = 0 et438b-10.pptx

Timer Example-Continued Lesson 19_et438b Timer Example-Continued Rung 2 T4:0/DN = 0 rung FALSE O:0/0 = 0 Output is de-energized I:1 1 1 3 1 FALSE TRUE O:0 T4:0 On 2 DN At t = 3 seconds Rung 1 I:1/3 = 1 PRE = ACC = 300 Timer bits EN = 1 TT = 0 DN =1 Rung 2: T4:0/DN = 1 XIC evaluates TRUE Rung is TRUE O:0/0 = 1 Output energized et438b-10.pptx

Lesson 19_et438b Counter Instructions Counters used to accumulate a count of events that cause FALSE to TRUE transitions on the input to the counter rung Count Up (CTU) and Count Down (CTD) Count up instruction Addressable Bits Counter up enable (CU) = bit is set (1) when the rung goes TRUE Counter Done (DN) = bit is set (1) when the preset and accumulated values are equal Counter accumulator values are retentive. The value is not cleared until a RES instruction is issued that addresses the counter et438b-10.pptx

Counter Instructions Count Down (CTD) Lesson 19_et438b Counter Instructions Count Down (CTD) Counter decrements the preset value by 1 each time the rung makes FALSE-TRUE transition When ACCUM < PRESET the DN = 1 Counter Done bit (CD) = set (1) when rung is TRUE Reset when the rung is FALSE Underflow and Overflow conditions Bit OV set (1) when ACC = 32,767 +1 BIt UV set (1) when ACC = -32768-1 et438b-10.pptx

Lesson 19_et438b The Reset Instruction Reset (RES) - instruction used to reset timing and counting functions Reset - output instruction resets counters and retentive timers having the same address as the RES instruction Reset occurs when rung becomes TRUE I:1 Input I:1/6 actuates RES instruction that clears counter C5:0 ACCUM = 0 CU = 0 4 C5 I:1 6 et438b-10.pptx

Counter Addressing Example Lesson 19_et438b Counter Addressing Example TRUE When I:1/5 = 1, rung 1 evaluates TRUE CTU increments I:1 1 C5:1/CU = 1 when rung 1 TRUE Turning on O:2/4 5 1746-IA8 TRUE +1 1 C5:1 O:2 C5:1/DN bit will be set when ACC = PRE = 100 setting O:2/5=1 2 1 CU 4 TRUE C5:1 O:2 3 1 DN 5 The overflow bit C5:1\OV = 1 when ACC = 32,767+1 Counter “wraps around” 32,767+1 = -32,768 C5:1 O:2 4 OV 6 et438b-10.pptx

Programming Ladder Logic in a PLC Lesson 19_et438b Programming Ladder Logic in a PLC Ladder Logic is similar to PLC rungs but not Identical Logical continuity not equivalent to electrical continuity Programming Process Must divide system into field inputs, field outputs and internal (bit) devices Evaluate the function of the field contacts when assigning XIO and XIC instructions to field inputs et438b-10.pptx

Programming Ladder Logic in a PLC Lesson 19_et438b Programming Ladder Logic in a PLC Example: Three wire motor starter control with overload protection relay on M1 is motor contactor coil, contact M1 is auxiliary contact mechanically linked to M1 Demonstrate operation et438b-10.pptx

Programming Ladder Logic in a PLC Lesson 19_et438b Programming Ladder Logic in a PLC Defining Field Devices Field Inputs Field Output Start/Stop, M1 contact and OL contacts are all field inputs for PLC operation. Contacts located on external equipment. M1 coil is a field output. PLC must energize the motor contactor coil based on the state of the inputs et438b-10.pptx

Programming Ladder Logic in a PLC Lesson 19_et438b Programming Ladder Logic in a PLC Step 1 – Defining I/O and Developing External Wiring Diagrams Define Address of I/O points and wire field devices to I/O points. Assume only slot 0 is populated with I/O points and all I/O 120 V ac Inputs STOP = I:0/0 START = I:0/1 OL = I:0/2 M1 = I:0/3 Output(s)M1 = O:0/0 Contacts need a source of 120 V ac to actuate the electronics of the I/O cards (120 V ac I/O) et438b-10.pptx

Programming Ladder Logic in a PLC Lesson 19_et438b Programming Ladder Logic in a PLC Module External Wiring I:0/0 O:0/0 I:0/1 I:0/2 I:0/3 Output wiring Input wiring et438b-10.pptx

Programming Ladder Logic in a PLC Lesson 19_et438b Programming Ladder Logic in a PLC Step 2 – Converting Ladder Diagram into PLC Program Having Field devices in the NC state does not automatically translate to XIC instruction (NC symbol) Rung instructions must evaluate to TRUE for OTE instruction to evaluate TRUE and energizing the external hardware Review logic of bit instructions Logic of XIC Bit Result 1 TRUE 0 FALSE Logic of XIO Bit Result 1 FALSE 0 TRUE et438b-10.pptx

Programming Ladder Logic in a PLC Lesson 19_et438b Programming Ladder Logic in a PLC Step 2 – Converting Ladder Diagram into PLC Program I:0/0 I:0/1 I:0/2 I:0/3 O:0/0 Programming rung exactly like ladder diagram will not work XIO XIO M1 N.O. False OL N.C. Logic to implement START PB N.O. (START OR M1) AND STOP AND OL = M1 3 2 1 XIO evaluates as FALSE for STOP and OL contacts 1 1 Input Image Map ( bit status) STOP PB N.C. et438b-10.pptx

Programming Ladder Logic in a PLC Lesson 19_et438b Programming Ladder Logic in a PLC Correct Rung Programming: Motor Control Example Start Input Image Map ( bit status) M1 Aux 1 1 1 3 2 1 For rung to be TRUE input statement must evaluate TRUE (START OR M1) AND STOP AND OL = M1 START = STOP = OL = 1 I:0/0 I:0/1 I:0/2 I:0/3 O:0/0 OR M1 = STOP = OL =1 Use XIC for Both OL and STOP Use XIC instruction TRUE = 1 FALSE = 0 et438b-10.pptx

Programming Ladder Logic in a PLC Lesson 19_et438b Programming Ladder Logic in a PLC PLC rung for motor control: note all instructions are XIC TRUE TRUE TRUE M1 O:0/0 STOP I:0/0 I:0/3 I:0/1 I:0/2 START OL XIC instructions all evaluate TRUE but M1 ((TRUE OR FALSE) AND TRUE) AND TRUE = M1 TRUE =M1 Output O:0/0 bit set Pressing START gives the following input image Start 1 1 1 M1 3 2 1 et438b-10.pptx

Programming Ladder Logic in a PLC Lesson 19_et438b Programming Ladder Logic in a PLC Rung Logic After the Release of START Contact M1 changes state due to mechanical linkage to contactor coil so.... TRUE TRUE START momentary contact returns to open M1 O:0/0 STOP I:0/0 I:0/3 I:0/1 I:0/2 START OL TRUE FALSE XIC instructions all evaluate TRUE but START input (START OR M1 ) AND STOP) AND OL = M1 (FALSE OR TRUE) AND TRUE AND TRUE = M1 TRUE = M1 (contactor remains energized) START 1 2 3 M1 et438b-10.pptx

Programming Ladder Logic in a PLC Lesson 19_et438b Programming Ladder Logic in a PLC Rung Logic After the Pressing Stop XIC at input I:0/0 evaluates as FALSE TRUE FALSE M1 O:0/0 STOP I:0/0 I:0/3 I:0/1 I:0/2 START OL M1 Output and M1 Input mechanically linked so M1 at I:0/3 evaluates FALSE TRUE FALSE FALSE (START OR M1 ) AND STOP) AND OL = M1 (FALSE OR TRUE) AND FALSE AND TRUE = M1 FALSE = M1 (contactor is de-energized) 1 2 3 et438b-10.pptx

End Lesson 19: PLC Programming Techniques Lesson 19_et438b ET-438b Sequential Control and Data Acquisition Department of Technology End Lesson 19: PLC Programming Techniques