Basics of PLC Programming PDF [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Basics of PLC Programming Industrial Control Systems Fall 2006



Lecture – PLC Programming Basics



MME 486 – Fall 2006



1 of 62



PLC Architecture



Lecture – PLC Programming Basics



MME 486 – Fall 2006



2 of 62



PLC System



Lecture – PLC Programming Basics



MME 486 – Fall 2006



3 of 62



Processor Memory Organization The memory of a PLC is organized by types. The memory space can be divided into two broad categories: program and data memory. Advanced ladder logic functions allow controllers to perform calculations, make decisions and do other complex tasks. Timers and counters are examples of ladder logic functions. They are more complex than basic inputs contacts and output coils and rely heavily upon data stored in the memory of the PLC. Lecture – PLC Programming Basics



MME 486 – Fall 2006



4 of 62



Memory Map A memory map can be used to show how memory is organized in a PLC. § Input/output locations § Internal relay and timer/counter locations



Data table



User program



The user program causes the controller to operate in a particular manner



Housekeeping memory



Used to carry out functions needed to make the processor operate (no access by user)



Lecture – PLC Programming Basics



MME 486 – Fall 2006



5 of 62



Program Files The user program will account for most of the memory of a PLC system.



• Program files contain the logic controlling machine operation.



Program file organization for SLC-500 controller. Lecture – PLC Programming Basics



• This logic consists of instructions that are programmed in a ladder logic format. MME 486 – Fall 2006



6 of 62



Data Files Data file organization for SLC-500 controller.



The data file portion of memory stores input and output status, processor status, the status of various bits and numerical data.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



7 of 62



Data Files Data files are organized by the type of data they contain



Lecture – PLC Programming Basics



MME 486 – Fall 2006



8 of 62



Input Table File Operation Input module Switch Open



Binary 0 stored 0



Lecture – PLC Programming Basics



MME 486 – Fall 2006



9 of 62



Input Table File Operation Input module Processor continually reads current input status and updates input image table file



Switch Closed



Binary 1 stored 1



Lecture – PLC Programming Basics



MME 486 – Fall 2006



10 of 62



Output Table File Operation Output module Output OFF



Processor continually activates or deactivates output status according to output image table file status 0 Status 0



Lecture – PLC Programming Basics



MME 486 – Fall 2006



11 of 62



Output Table File Operation Output module Processor continually activates or deactivates output status according to output image table file status



Output ON 1



Status 1



Lecture – PLC Programming Basics



MME 486 – Fall 2006



12 of 62



Program Scan During each operating cycle, the processor reads all inputs, takes these values, and energizes or de-energizes the outputs according to the user program. This process is known as a scan. I/O scan – records status data of input devices. Energizes output devices that have their associated status bits set to ON (1)



Program scan – instructions are executed sequentially



Because the inputs can change at any time, the PLC must carry on this process continuously. Lecture – PLC Programming Basics



MME 486 – Fall 2006



13 of 62



Scan Process The scan time indicates how fast the controller can react to changes in inputs. Scan times vary with computer model and program content, and length. If a controller has to react to an input signal that changes states twice during the scan time, it is is possible that the PLC will never be able to detect this change.



Scan time may be a concern in high speed operations



Lecture – PLC Programming Basics



MME 486 – Fall 2006



14 of 62



Scan Process Read inputs



The scan is a a continuous and sequential process Adjusts outputs



Lecture – PLC Programming Basics



Run program



MME 486 – Fall 2006



15 of 62



Data Flow Overview



Input modules



Input data



Input image table file



Output image table file



Examine data



Output data



Output modules



Return results Program



Check/compare/examine specific conditions Lecture – PLC Programming Basics



MME 486 – Fall 2006



Take some action 16 of 62



Scan Process Output Module



Input Module Input device



Input file



Output file



I:3/6



O:4/7



Output device



O:4/7



I:3/6 Program When the input is closed, the input module senses a voltage and an ON condition (1) is entered into the input table bit I:3/6



I:3/6



O:4/7



During the program scan the processor sets instructions I:3/6 and O:4/7 to ON (1)



Lecture – PLC Programming Basics



MME 486 – Fall 2006



The processor turns light output O:4/7 ON during the next I/O scan



17 of 62



Scan Patterns Horizontal Scanning Order The processor examines input and output instructions from the first command, top left in the program, horizontally, rung by rung.



End of ladder



In addition to the program itself, the scan time is also dependent on the clock frequency of the processor! Lecture – PLC Programming Basics



MME 486 – Fall 2006



18 of 62



Scan Patterns Vertical Scanning Order The processor examines input and output instructions from the first command, vertically, column by column and page by page. Pages are executed in sequence.



End of ladder Misunderstanding the way the PLC scans can cause programming bugs! Lecture – PLC Programming Basics



MME 486 – Fall 2006



19 of 62



PLC Programming Languages The term PLC programming language refers to the method by which the user communicates information to the PLC.



The three most common language structures are: ladder diagram language, Ladder diagram language Boolean language, and functional chart. Functional chart Boolean language Lecture – PLC Programming Basics



MME 486 – Fall 2006



20 of 62



Comparing Programming Language PB1



CR1



CR2



SOL



Relay Schematic



LS1 PB1 CR1



CR2



SOL



Equivalent ladder diagram language LS1



Equivalent Boolean language



Lecture – PLC Programming Basics



MME 486 – Fall 2006



21 of 62



Relay-Type Instructions The ladder diagram language is basically a symbolic set of instructions used to create the controller program. These ladder instructions symbols are arranged to obtain the desired control logic.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



22 of 62



Examine If Closed (XIC) Instruction Symbol



Analogous to the normally open relay contact. For this instruction we ask the processor to EXAMINE IF (the contact is) CLOSED (XIC)



Typically represents any input. Can be a switch or pushbutton, a contact from a connected output, or a contact from an internal output. Has a bit-level address which is examined for an ON condition. The status bit will be either 1 (ON) or 0 (OFF). Lecture – PLC Programming Basics



MME 486 – Fall 2006



23 of 62



Examine If Closed (XIC) Instruction



I:012 I:012 04



Lecture – PLC Programming Basics



MME 486 – Fall 2006



24 of 62



Examine If Closed (XIC) Instruction



I:012 I:012 04 If the status bit is 0 (OFF), then the instruction is FALSE. Lecture – PLC Programming Basics



MME 486 – Fall 2006



25 of 62



Examine If Closed (XIC) Instruction



I:012 I:012 04 If the status bit is 1 (ON), then the instruction is TRUE.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



26 of 62



Examine If Open (XIO) Instruction Symbol



Analogous to the normally closed relay contact. For this instruction we ask the processor to EXAMINE IF (the contact is) OPEN (XIO).



Typically represents any input. Can be a switch or pushbutton, a contact from a connected output, or a contact from an internal output. Has a bit-level address which is examined for an OFF condition.



The status bit will be either 1 (ON) or 0 (OFF). Lecture – PLC Programming Basics



MME 486 – Fall 2006



27 of 62



Examine If Open (XIO) Instruction



I:012 I:012 04 If the status bit is 0 (OFF), then the instruction is TRUE.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



28 of 62



Examine If Open (XIO) Instruction



I:012 I:012 04 If the status bit is 1 (ON), then the instruction is FALSE.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



29 of 62



Output Energize (OTE) Instruction Symbol



Analogous to the relay coil. The processor makes this instruction true (analogous to energizing a coil) when there is path of true XIC and XIO instructions in the rung.



Typically represents any output that is controlled by some combination of input logic. Can be a connected device or an internal output (internal relay). If any left-to-right path of input conditions is TRUE, the output is energized (turned ON). Lecture – PLC Programming Basics



MME 486 – Fall 2006



30 of 62



Output Energize (OTE) Instruction O:013



I:012 I:012



I:012



11



15



O:013



01



OUTPUT ENERGIZE instruction - TRUE Lecture – PLC Programming Basics



MME 486 – Fall 2006



31 of 62



Output Energize (OTE) Instruction O:013



I:012 I:012



I:012



11



15



O:013



01



OUTPUT ENERGIZE instruction - FALSE Lecture – PLC Programming Basics



MME 486 – Fall 2006



32 of 62



Status Bit Examples Input module



A



Bit status



Button not actuated Output



A



OFF



False A



Output ON



True Lecture – PLC Programming Basics



MME 486 – Fall 2006



33 of 62



Status Bit Examples Input module



A



Bit status



Button actuated Output



A



ON



True Output



A



OFF



False Lecture – PLC Programming Basics



MME 486 – Fall 2006



34 of 62



Ladder Rung A



B



C



Output instruction



Input conditions D



A ladder rung consists of a set of input conditions, represented by contact instructions, and an output instruction at the end of the rung, represented by the coil symbol. Lecture – PLC Programming Basics



MME 486 – Fall 2006



35 of 62



Ladder Rung A



B



C



Output instruction



Input conditions D



For an output to be activated or energized, at least one left-to-right path of contacts most be closed. A complete path is referred to as having logic continuity. When logic exists the rung condition is said to be TRUE. Lecture – PLC Programming Basics



MME 486 – Fall 2006



36 of 62



Rung Continuity Bit in memory



Bit in memory



1



1 LS_1



SOL_5



The Examine If Closed instruction is TRUE making the rung TRUE Lecture – PLC Programming Basics



MME 486 – Fall 2006



37 of 62



Rung Continuity Bit in memory



Bit in memory



0



0 LS_1



SOL_5



The Examine If Closed instruction is FALSE making the rung False Lecture – PLC Programming Basics



MME 486 – Fall 2006



38 of 62



Allen-Bradley SLC-500 Controller Addressing Output image table file 0



Address output terminal O0:4/6



O:0:4/6 Bit address Address input terminal I1:3/12



Input image table file 1



Energized output



I:3/12 Bit address Closed input



I1:3



O:0:4



User-programmed rung



12 Lecture – PLC Programming Basics



MME 486 – Fall 2006



6 39 of 62



Structure of A 16-Bit Word Bit



OFF ON



Word (16 bits)



0 1 15 14 13 12 11 10 9



8



7



6



5



4



3



2



1



0



I/O Connection Diagram L1



L2



L1



L2



PB1



SOL 1 O:2/3



I:4/5



PL 1 LS1



O:3/6



I:4/6



Lecture – PLC Programming Basics



MME 486 – Fall 2006



R



40 of 62



Parallel Input Branch Instructions A



C



B



Lecture – PLC Programming Basics



Branch instructions are used to create parallel paths of input condition instructions. If at least one of these parallel branches forms a true logic path, the logic is enabled.



MME 486 – Fall 2006



41 of 62



Parallel Output Branching A



C D



B



E On most PLC models, branches can be established at both the input and output portion of the rung. With output branching, you can program parallel outputs on a rung to allow a true logic path to control multiple outputs. Lecture – PLC Programming Basics



MME 486 – Fall 2006



42 of 62



Nested Input and Output Branches



Input and output branches can be nested to avoid redundant instructions and to speed up the processor scan time. A nested branch starts or ends within another branch. Lecture – PLC Programming Basics



MME 486 – Fall 2006



43 of 62



Nested Contact Program A



B



C



Y



Nested contact



D



On some PLC models, the programming of a nested branch circuit cannot be done directly.



E A



B



C



D



Y



C



Contact instruction C repeated



Reprogrammed to obtain the required logic.



E Lecture – PLC Programming Basics



MME 486 – Fall 2006



44 of 62



PLC Matrix Limitation Diagram Max series contacts



No. outputs per rung and location of the output in the rung



Max parallel lines



There may be limitations to the number of series contacts instructions, number of parallel lines, and the number of outputs and their location on the rung. Lecture – PLC Programming Basics



MME 486 – Fall 2006



45 of 62



Programming of Vertical Contacts A



D



Y



Original program



C E D



B A B



C



A



C



Y



D E



B



Y = (AD) + (BCD) + (BE) + (ACE)



Reprogrammed to obtain the required logic



E



Lecture – PLC Programming Basics



MME 486 – Fall 2006



46 of 62



Programming for Different Scan Patterns B



A



D



C



Y



Original program



E



F



Y = (ABC) + (ADE) + (FE) + (FDBC)



A



B



C



A



D



E



F



E



F



D



Y



Reprogrammed to obtain the required logic B C



Lecture – PLC Programming Basics



MME 486 – Fall 2006



47 of 62



Internal Control Relay The internal output operates just as any other output that is controlled by programmed logic; however, the output is used strictly for internal purposes. The internal output does not directly control an output device. The advantage of using internal outputs is that there are many situations where an output instruction is required in a program, but no physical connection to a field device is needed. Their use in this type of instance can minimize output card requirements.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



48 of 62



Extending the Number of Series Contacts Using an Internal Control Relay Internal relay coil Rung 1



Rung 2 Internal relay contact



Lecture – PLC Programming Basics



Discrete output (requires one physical connection on the output module)



MME 486 – Fall 2006



49 of 62



Programming The XIC Instruction PB1



PB2



Hardwired Circuit PL



PB1



PB2



PL



User program providing the same results



Note that both pushbuttons are represented by the XIC symbol. This is because the normal state of an input (NO or NC) does not matter! What does matter is that if contacts need to close to energize the output, then the XIC instruction is used. Since both PB1 and PB2 must close to energize the PL, the XIC instruction is used for both.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



50 of 62



Programming The XIO Instruction PB1



PB1 CR



PL



CR1 PL



User program providing the same results



Hardwired Circuit When the pushbutton is open in the hardwired circuit, relay coil CR is deenergized and contacts CR1 close to switch the PL on. When the pushbutton is closed, relay coil CR is energized and contacts CR1 open to switch the PL off. The pushbutton is represented in the user program by an XIO instruction. This is because the rung must be true when the external pushbutton is open, and false when the pushbutton is closed.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



51 of 62



Operation of The XIC and XIO Instructions Summary of status conditions The status of the instruction is: XIC Examine If Closed



XIO Examine If Open



Logic 0



False



True



False



Logic 1



True



False



True



If the data table bit is:



Lecture – PLC Programming Basics



MME 486 – Fall 2006



OTE Output Energize



52 of 62



Operation of The XIC and XIO Instructions State of the output as determined by the changing state of the inputs in the rung Inputs



Time



XIC



XIO



OTE



0



0



0



Goes true



1



0



1



False



Goes false



1



1



0



False



Remains false



0



1



0



XIC



XIO



t1 (initial)



False



True



t2



True



True



t3



True False



t4



Input instructions XIC



XIO



Bit status



Output OTE False



Output instruction OTE



Lecture – PLC Programming Basics



MME 486 – Fall 2006



53 of 62



Entering the Ladder Diagram A personal computer is most often used to enter the ladder diagram.



The computer is adapted to the particular PLC model using the relevant programmable controller software.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



54 of 62



RSLogix Main Screen Different screens, toolbars and windows dialog boxes are used to navigate through the Windows environment



Lecture – PLC Programming Basics



MME 486 – Fall 2006



55 of 62



Bit Instructions Tool Bar



To place an instruction on a rung, click its icon on the toolbar and simply drag the instruction straight off the toolbar onto the rung of the ladder.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



56 of 62



Select Processor Type Screen The programming software needs to know what processor is being used in conjunction with the program. 1747-L40E



You simply scroll down the list until you find the processor you are using and select it.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



57 of 62



I/O Configuration Screen The I/O screen lets you click or drag-and-drop a module from an all inclusive list to assign it to a slot in your configuration.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



58 of 62



Data File Screen Data file screens contain data that is used in conjunction with ladder program instructions. These include: Input Output Timer Counter Integer Bit



Lecture – PLC Programming Basics



MME 486 – Fall 2006



59 of 62



Monitoring a Ladder Logic Program Operation of the logic is apparent from the highlighting of rungs of the various instructions on screen, which identifies the logic state in real time and has logic continuity.



Highlighted rungs indicate the instruction is true Lecture – PLC Programming Basics



MME 486 – Fall 2006



60 of 62



Modes of Operation A processor has basically two modes of operation: the program mode or some variation of the run mode. Program Mode – may be used to Ø enter a new program Ø edit or update an existing program Ø upload files Ø download files Ø document programs Ø change software configurations When the PLC is switched into the program mode, all outputs from the PLC are forced off regardless of their rung logic status, and the ladder I/O scan sequence is halted.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



61 of 62



Variations of the Run Mode Run Mode – is used to execute the user program. Input devices are monitored and output devices are energized accordingly. Test Mode – is used to operate, or monitor, the user program without energizing any outputs.



Remote Mode – allows the PLC to be remotely changed between program and run mode by a personnel computer connected to the PLC processor.



Lecture – PLC Programming Basics



MME 486 – Fall 2006



62 of 62