1 / 70

Programmable Logic Controllers Third Edition

Programmable Logic Controllers Third Edition. Frank D. Petruzella McGraw-Hill. Chapter 9. Program Control Instructions. Program Control Instructions.

tyrone-bean
Download Presentation

Programmable Logic Controllers Third Edition

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Chapter 9 Program Control Instructions

  3. 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.

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

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

  6. Hardwired Master Control Relay Circuit

  7. 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.

  8. MCR Instruction Programmed To Control An Entire Circuit

  9. Fenced Zone 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.

  10. MCR Instruction Programmed To Control A Fenced Zone MCR Zone True

  11. MCR Instruction Programmed To Control A Fenced Zone MCR Zone False

  12. 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.

  13. 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

  14. Jumps are normally allowed in both the forward and backward directions. Jumping over counters and timers will stop them from being incremented. 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.

  15. 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.

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

  17. 20 20 20 Jump-To-Label From Two Locations

  18. 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.

  19. 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.

  20. 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).

  21. 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.

  22. 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.

  23. 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.

  24. Flashing Pilot Light Subroutine Program

  25. 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.

  26. Setting Up A Subroutine File

  27. 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.

  28. Passing Subroutine Parameters

  29. 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.

  30. Nested Subroutines

  31. 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)

  32. 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

  33. 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)

  34. 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.

  35. 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

  36. 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

  37. Fault Routine PLC-5 and SLC-500 controllers allow you to design a subroutine file as a fault routine. If used, it determines how the processor responds to a programming error. There are two kinds of major faults that result in a processor fault: recoverable and nonrecoverable faults. When there is a fault routine, and the fault is recoverable, the fault routine is executed. If the fault is nonrecoverable, the fault routine is scanned once and shuts down. Either way, the fault routine allows for an orderly shutdown.

  38. Immediate Input And Immediate Output Instructions Allen-Bradley PLC-5 immediate input and immediate output instructions interrupt the normal program scan to update the input image table file with current input data or to update an output module group with the current output image table file data. These instructions are intended to be used only in areas where time or timing is critical.

  39. Immediate Input Instruction (IIN)

  40. Immediate Output Instruction (IOT)

  41. Immediate Input With Mask And Immediate Output With Mask Instructions The SLC-500 immediate I/O instructions are called immediate input with mask (IIM) and immediate output with mask (IOM). They allow the programmer to specify which of the 16 bits are to be copied from an input module to the input image data table (or from the output image table to an output module). The other bits in the input image table or output module are not affected by these instructions. In addition the SLC-500 instructions allow you to input or output a series of data words from a single input module or output a series of data words to an output module.

  42. The IIM instruction operates on the inputs assigned to a particular word of a slot. When the IIM rung is true, the program scan is interrupted, and data from a specific input slot is transferred through the mask to an input data file. This data is then available to the commands in the ladder, following the IIM instruction. Immediate Input With Mask Instruction

  43. The IOM operates on the physical outputs assigned to a particular word of a slot. When the IOM rung is true, the program scan is interrupted, to update output data to the module located in the slot specified in the instruction. This data is then available to the commands in the ladder, following the IOM instruction. Immediate Output With Mask Instruction

  44. L1 L2 Program Input "off" False Output Forced "on" 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.

  45. 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.

  46. 1 Forcing An Input Address On 0

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

  48. 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.

  49. Forcing An Output Address On

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

More Related