Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Rev 5058-CO900DApplying Modular Design Concepts toStructure...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved. 2AgendaAdditional ResourcesMeeting Code Development GoalsM...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Why Modular Programming? Machine development requires…3Bas...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Why Modular Programming? Machine development requires… Ad...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Why Modular Programming? Machine development requires… Ad...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Why Modular Programming? All while… Reducing development ...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Architecting Modular CodeWhat’s The Plan?
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Goals - Reliability Machine Code Reliability Runs Machin...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Goals - Flexibility Machine Code Flexibility Minimize the...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Goals - Reusability Machine Code Reusability Think in ter...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Defining Structure From a functional description of a mach...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Defining Structure Moving from basic to specific…12StatePr...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Adding Functionality As additional is required, the model ...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Linking Modules This logical separation creates a need…14S...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Linking Modules Why is this important?15Step 1Step 2Step 3...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Modular Structure Benefits Code Flexibility A modular str...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Machine Example Let’s examine a machine we should all be f...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Control Needs Operating Requirements: Scrub clothes with ...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Procedure Define states for machine: Running Stopped Fa...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Structural Overview In terms of machine control…20FillAgit...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Control Hardware Grouping Control hardware is grouped into...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Module Example - Agitator Control The Module for Agitator ...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Device Example – Motor Starter Device control triggered fr...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Device Example – VFD Interface between procedure and modul...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Meeting Code Development Goals Reliability Simple modules...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.More About Modular Programming Reference ISA-88.00.01 - B...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.www.rockwellautomation.comFollow ROKAutomation on Facebook ...
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Rev 5058-CO900DQuestions?
Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Rev 5058-CO900DThank you for participating!Please remember ...
Upcoming SlideShare
Loading in...5
×

Applying Modular Design Concepts to Machine Program Development

501

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
501
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Applying Modular Design Concepts to Machine Program Development"

  1. 1. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Rev 5058-CO900DApplying Modular Design Concepts toStructured Machine Program DevelopmentName – Brian McMullenDate – June 2013
  2. 2. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved. 2AgendaAdditional ResourcesMeeting Code Development GoalsMachine ExampleArchitecting Modular CodeWhy Modular Programming?
  3. 3. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Why Modular Programming? Machine development requires…3Basin Operation:1. Fill2. Agitate3. Drain4. Spin
  4. 4. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Why Modular Programming? Machine development requires… Adding machine functionality4Basin Operation:1. Fill2. Agitate3. Drain4. Fill5. Agitate6. Drain7. SpinBasin Operation:1. Fill2. Agitate3. Drain4. Spin
  5. 5. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Why Modular Programming? Machine development requires… Adding machine functionality Adopting new control technology5Basin Operation:1. Fill2. Agitate3. Drain4. Fill5. Agitate6. Drain7. SpinBasin Operation:1. Fill2. Agitate3. Drain4. Spin
  6. 6. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Why Modular Programming? All while… Reducing development time Increasing machine reliability Fostering collaborative codedevelopment6Basin Operation:1. Fill2. Agitate3. Drain4. Fill5. Agitate6. Drain7. SpinBasin Operation:1. Fill2. Agitate3. Drain4. Spin
  7. 7. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Architecting Modular CodeWhat’s The Plan?
  8. 8. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Goals - Reliability Machine Code Reliability Runs Machine meets or exceeds performance specifications Responds predictably to operator requests and process conditions Errors Machine responds appropriately to hardware / software / mechanical exceptionconditions Annunciates to operator that error occurred at a minimum Recovers Once the machine errors, it recovers from that error once the exceptioncondition is cleared Logic must never exhibit a condition that requires a power cycle to clear8
  9. 9. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Goals - Flexibility Machine Code Flexibility Minimize the time and cost impacts of late cycle design changes9And it should also be able to…And I want this hardware…And there will be 3 not 2 of those…And it needs to be compatible with…
  10. 10. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Goals - Reusability Machine Code Reusability Think in terms of a set of blocks Begin with a set of functional modules Assemble these functional modules as required Allows complex functions to be developed more quickly and with confidence10
  11. 11. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Defining Structure From a functional description of a machine, we can define Machine states to indicate what things can happen Procedures to define when things happen Hardware that makes things happen11StateProcedureHardware
  12. 12. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Defining Structure Moving from basic to specific…12StateProcedureHardwareStep 1Step 2Step 3RunningStoppedPausedFaultedSolenoidVFDServo
  13. 13. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Adding Functionality As additional is required, the model can be expanded…13Step 1Step 2Step 3RunningStoppedPausedFaultedSolenoidVFDServoStep 1Step 2Step 3RunningStoppedPausedFaultedSolenoidVFDServoStep 1Step 2Step 3Step nStep n+1StateProcedureHardware
  14. 14. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Linking Modules This logical separation creates a need…14Step 1Step 2Step 3RunningStoppedPausedFaultedValveMotorValveValveStep 1Step 2Step 3Step nStep n+1Linking LayerSeparation betweenmachine state andmode specificprocedures that areperformedLinking LayerSeparation betweenoperating procedureand logic to drive thehardware
  15. 15. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Linking Modules Why is this important?15Step 1Step 2Step 3RunningStoppedPausedFaultedSolenoidVFDServoStep 1Step 2Step 3Step nStep n+1Linking LayerLinking Layer1. Machine Mode / State control is independent of mode specificprocedure2. Procedural operation changes are independent of both overalldefined operation and hardware carrying out actions1. Hardware is independent of procedure2. Hardware control is specific to hardware selected
  16. 16. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Modular Structure Benefits Code Flexibility A modular structure allows device modules, technology modules, andprocedural code to be added or removed based on machinerequirements Code Reusability Device modules / technology modules developed with specificfunctionality can be developed and tested independent of specificmachine requirements Code Reliability The use of proven device, technology, and procedural modules in adefined framework facilitates rapid development of robust code16
  17. 17. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Machine Example Let’s examine a machine we should all be familiar with….17
  18. 18. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Control Needs Operating Requirements: Scrub clothes with water and detergent Rinse out detergent and dirt with water Machine Actions: Fill with water Scrub clothes Drain water Spin out excess water Procedures: Sequence machine actions Interact with control hardware Define operating parameter values when executing18
  19. 19. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Procedure Define states for machine: Running Stopped Faulted Define order of machine actions: Fill – Water temp and level Agitate – Speed and duration Spin – Speed and duration Define hardware for control needs: Valve(s) Motor(s) Sensor(s)19Clear FaultsMake ReadyWashFillAgitateDrainSpinRinseFillAgitateDrainSpinPauseResumeStopProcedure Steps
  20. 20. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Structural Overview In terms of machine control…20FillAgitateSpinFillSpinRunningStoppedPausedFaultedValveMotorValveValveFillAgitateSpinFillSpinFillSpinMachine StatesProcedure - Double Rinse CycleProcedure - Regular CycleHardware Control
  21. 21. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Control Hardware Grouping Control hardware is grouped into modules based on machine actionsperformed together21Hot Water ValveCold Water ValveDrain PumpAgitator Drive MotorWash BasinLevel Full SensorLevel Empty SensorModule - Fill ControlModule - Drain ControlModule - Agitator Control
  22. 22. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Module Example - Agitator Control The Module for Agitator Control is used to spin or agitate the basin. Threeparameters are required: Direction – Spin turns one direction and Agitate the other Speed – For different cycles Time – For amount of soiling Define hardware functions for: Motor control – Start, Stop, Direction Speed selector – High, Low Duration – Analog time value Define procedure steps for executing hardware functions to: Agitate Spin22
  23. 23. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Device Example – Motor Starter Device control triggered from procedure and managed through module Device commands are device specific Contacts for Run Forward or Run Reverse Aux Contact provides Running status23DeviceMotor StarterProcedureAgitate BasinRun ForwardRun ForwardStopModule Commands Device CommandsModule Conditions Device ConditionsRunningStoppedRunning (Aux)
  24. 24. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Device Example – VFD Interface between procedure and module does not change because it isbased on the module action VFD uses different commands and conditions from motor starter24DeviceVFDProcedureAgitate BasinForwardStartStopRun ForwardStopModule Commands Device CommandsModule Conditions Device ConditionsRunningStoppedFaultedActiveRunning
  25. 25. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Meeting Code Development Goals Reliability Simple modules for devices like a valve, pump, or motor starter areeasily tested and debugged Separating procedures from hardware control makes procedureseasier to monitor, test, and step through Flexibility: Motor starter logic easily replaced with VFD logic for Agitator Extra rinse or prewash cycle easily added to procedure with copy andpaste of steps. Reusability: Logic for a VFD can be reused for many applications Separating Agitate procedure from Agitator VFD control frees modulefrom washing machine specific requirements25
  26. 26. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.More About Modular Programming Reference ISA-88.00.01 - Batch Control Part 1: Models and Terminology (www.isa.org) ISA-TR88.00.02 - Machine and Unit States: An Implementation Example of ISA-88(www.isa.org) IA-RM001C-EN-P - Foundations of Modular Programming(www.rockwellautomation.com) 9300-MODPROG - Modular Programming Computer Based Training Sample Code PlantPAx Process Objects Library (Knowledgebase ID# 62682) Power Programming Developers Toolkit (Knowledgebase ID# 66060) Drives & Motion Accelerator Toolkit (www.ab.com/go/iatools) Safety Accelerator Toolkit (www.ab.com/go/iatools) Energy Management Accelerator Toolkit (www.ab.com/go/iatools) On-Machine Accelerator Toolkit (www.ab.com/go/iatools) Connected Components Building Blocks (www.ab.com/go/iatools)26
  27. 27. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.www.rockwellautomation.comFollow ROKAutomation on Facebook & Twitter.Connect with us on LinkedIn.Rev 5058-CO900D Why Modular Programming? Reduce Development Time Increase Machine Reliability Foster collaborative codedevelopmentBasin Operation:1. Fill2. Agitate3. Drain4. Fill5. Agitate6. Drain7. SpinBasin Operation:1. Fill2. Agitate3. Drain4. Spin
  28. 28. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Rev 5058-CO900DQuestions?
  29. 29. Copyright © 2013 Rockwell Automation, Inc. All Rights Reserved.Rev 5058-CO900DThank you for participating!Please remember to tidy up your work area for the next session.We want your feedback! Please complete the session survey!

×