Published on

Published in: Education, Business, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Design and Programming Advanced PLC By Dr. Palitha Dassanayake
  2. 2. Content  Designing Advanced PLC  Programming Advanced PLC
  3. 3. Industrial Applications on Automation When a plant is to be replaced by Automation we have to consider Why? Accuracy Productivity Cost Other How? User requirements System requirements What to use? Select Sensors, actuators and control methods Many automation plant uses PLC
  4. 4. Planning your automation Approach Model Driven Approach Component Based Approach
  5. 5. Model Driven Approach Coupled with IT approach and UML
  6. 6. Component Based automation Component based automation (CBA), the decentralized approach to automation with distributed intelligence in technological modules, is picking up speed. Component based automation clearly simplifies planning, engineering and commissioning of complex plans and reduces the time needed for the start of production by between 10% and 15%.
  7. 7. Planning your automation Main system requirements Under this, the main requirement and functions expected from the system has to be identified. Outputs: Reports, UML based diagrams etc. Component Selection Design the system to match the main requirement and fail safe design in terms of programming testing as well as maintenance. Industrial Survey could be very helpful Outputs: Layout diagrams, component diagrams
  8. 8. Planning your automation Inclusion of monitoring and Control from higher levels It should be identified the requirements of monitoring and controlling from higher levels to decide whether SCADA systems to be included or not Outputs: Report or UML format Maintenance and Scheduling support Preventive maintenance reminders, auto scheduling requirements, historical records etc. Outputs: Reports
  9. 9. PLC programming Micro level Macro level Macro-level Programming Organizational Blocks Programmable Blocks Data blocks and Data words
  10. 10. Basics of designing a program structure The CPU run two programs 1. The operating system 2. User program
  11. 11. Operating Systems  Handling start  Update the process images  Calling user programs  Acquisition interrupt programs and calling relevant OBs  Error handling  Memory Management  Communicating with other devices
  12. 12. User program  Specifying conditions to restart  Processing process data  Reactions to interrupt  Handling disturbances in the normal program cycle
  13. 13. Block Types S7-300  Organization blocks  Functions (FC)  Function blocks (FB)  Data Blocks  System Function Blocks (SFB and SFC)
  14. 14. Organization Blocks  Main organization Block (OB1)  Time of Day interrupts (OB10 to OB 17)  Time Delay interrupts (OB 20 to OB 23)  Cycle interrupts (OB 30 to OB 38)  Hardware interrupts (OB 40 to OB 47)  Start up (OB 100, OB 101 and OB 102)
  15. 15. Functions  A logic block without memory. Temp. variables are stacked on a local area and lost after leaving the block.  You can use data blocks to write permanently.
  16. 16. Function Blocks  Program with memory. An instance data block is created with the function block.  By calling more than one IDB with one FB you can get similar functions working simultaneously.
  17. 17. Ex. Function Block (FB) Formal parameter Start INT IN Speed INT IN History DT IN_OUT Run_time TIME IN_OUT FB 20:Motor Integer 16 Bits: Start Integer 16 Bits: Speed Data and Time : 48 bits Time 32 bits: run time Actual parameter DB 202:Motor_2
  18. 18. FB Ex. Contd. FB 21: Motor Processing Variable declaration Start Motor_1, FB 22 Start Motor_2, FB 22 Start Motor_3, FB 22 DB 100 Data for Motor_1 Data for Motor_2 Data for Motor_3 FB 22: Motors Call FB 21 from logic block CALL FB 21,DB 100 Transfer data CALL Motor_1 CALL Motor_2 CALL Motor_3
  19. 19. Data Blocks FC 10 FC 11 FB 12 Shared DB DB 20 (Access by all blocks or any block) Instance DB DB 112 (access only by FB 12)
  20. 20. SFC and SFB They are in built functions and functions Blocks that can be used.
  21. 21. Use of Word logic L MW 30 L MW 28 OW T MW 32 L MW 60 L MW 64 AW T MW 10 L MW 16 L MW 12 XORW T MW 40
  22. 22. Load When an input, output or memory of a byte, word or double word is loaded it is stored in the accumulator L MB 10 ACC2 ACC1 MB10 L MB 20 ACC1 ACC2 MB10 MB20
  23. 23. Load L MW 20 ACC1 ACC2 MB21 MB11MB10 MB20 MB11MB10 When an input, output or memory of a byte, word or double word is loaded it is stored in the accumulator L MW 10 ACC2 ACC1
  24. 24. Load L MD 20 ACC1 ACC2 MB23MB22MB21MB20 MB13MB12MB11MB10 MB13MB12MB11MB10 When an input, output or memory of a byte, word or double word is loaded it is stored in the accumulator L MD 10 ACC2 ACC1
  25. 25. Transfer LLLHHLHHAcc1 T MB 10 // MB10=LL T MW 10// MB10=LH, M11=LL T MD 10 // MB10=HH,MB11=HL, MB12=LH,MB13=LL
  26. 26. L Iw 12 L w#16#18FF AW T Qw 12 L Iw 18 L w#16#F4FF AW T Qw 18 L Qw 18 L w#16#0020 Ow T Qw 18 L QW 18 L QW 12 XORW T MW 20
  27. 27. END