1 / 58

PLCopen Motion Control an introduction

PLCopen Motion Control an introduction. Check the notes in the notes view. PLCopen Motion Control: The software problem. Managing Complexity. 100 – 10,000 – 1mio – 100mio Lines of Code. Exponentially increasing complexity. Why Structured Software Development ?.

Download Presentation

PLCopen Motion Control an introduction

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. PLCopen Motion Control an introduction Check the notes in the notes view

  2. PLCopen Motion Control:The software problem

  3. Managing Complexity 100 – 10,000 – 1mio – 100mio Lines of Code Exponentially increasing complexity

  4. Why Structured Software Development ? Software = key to system quality: errors cost money Increased requirements: 100 lines of codes now 10,000 lines or even 100,000 Not a one-man job - but a team with different know how and background Commissioning, Installation, Maintenance, and Improvements essential phases

  5. Modern Software Development Process Defined in several clearly separated phases - project definition Top-down approach Multiple disciplines involved Multiple people involved Different backgrounds Based on Functional Requirements

  6. Decompositionwith SequentialFunctionChartSFC

  7. Bottom-up after top-down First decompose – then fill it in Top- down Bottom up

  8. Abstraction via Function Blocks MC_MoveAbsolute Axis Axis AXIS_REF AXIS_REF Done BOOL BOOL Execute Busy BOOL BOOL ContinuousUpdate REAL BOOL Active Position BOOL REAL CommandAborted Velocity BOOL Error REAL Acceleration WORD ErrorID REAL Deceleration Jerk REAL MC_DIRECTION Direction MC_BUFFER_MODE BufferMode

  9. Axis_Ref as Var_In_Out Axis1 FB Axis_Ref Structure

  10. Abstraction / HW Independence via Function Blocks Intelligent Drive Motor I/F Name Outputs Inputs E PWM Drive Motor I/F E Software View Hardware View Encapsulation / Information Hiding

  11. Abstraction with one FB Drive Axis1 FB Time or event driven Task Manager Conver- sion Axis_Ref Structure I/F

  12. and with 2 FBs Axis1 FB1 FB2 Time or event driven Task Manager Conver- sion Axis_Ref Structure I/F Drive

  13. Mechatronic solutions Mechanical solution. Control solution

  14. Status PLCopen Motion Control Part 1 – Function Blocks for Motion Control Part 2 – Extensions Part 3 – User Guidelines Part 4 – Coordinated Motion Part 5 – Homing procedures Part 6 – Fluid Power (hydraulics) Around 30 companies certified with over40 products (check website for full list)

  15. Administrative Motion Part 1 – MC FBs Single Multiple Single Multiple Axis Axes Axis Axes Non-Interpolated Power CamTableSelect MoveAbsolute CamIn ClearPendingActions MoveRelative CamOut ReadStatus MoveSuperImposed GearIn ReadAxisError MoveContinuous GearOut ReadParameter MoveVelocity WriteParameter Home ReadActualPosition Stop PositionProfile VelocityProfile AccelerationProfile

  16. Administrative Motion Part 2 - Extensions Single Multiple Single Multiple Axis Axes Axis Axes TouchProbe TorqueControl GearInPos AbortTrigger DigitalCamSwitch ReadDigitalInput ReadDigitalOutput WriteDigitalOutput SetPosition SetOverride ReadActualVelocity ReadActualTorque

  17. Administrative Motion Part 4 – MC FBs Coordinated Synchronized Coordinated AddAxisToGroup/ RemoveAxisFromGroup GroupHome SyncAxisToGroup UngroupAllAxes GroupStop SyncGroupToAxis GroupReadConfiguration GroupHalt TrackConveyorBelt GroupEnable / GroupDisable GroupInterrupt TrackRotaryTable SetKin/Cartesian/CoordinateTransform GroupContinue ReadKin/Cartesian/CoordinateTransform MoveLinearAbsolute GroupSetPosition / GroupReset MoveLinearRelative GroupReadActualPosition/Vel/Acc MoveCircularAbsolute GroupReadStatus/ReadError MoveCircularRelative PathSelect MoveDirectAbsolute GroupSetOverride MoveDirectRelative SetDynCoordTransform MovePath

  18. Administrative Motion Part 6 – Fluid Power Single Multiple Single Multiple Axis Axes Axis Axes LimitLoad LoadControl LimitMotion LoadSuperimposed LoadProfile

  19. Part 5 – Homing Procedures • Homing Procedures • HomeAbsoluteSwitch, HomeLimitSwitch, HomeBlock, HomeReferencePulse, HomeReferencePulseSet, HomeDistanceCoded, HomeDirect, HomeAbsolute • Homing Step Function Blocks • FBs: MC_StepAbsoluteSwitch, MC_StepLimitSwitch, MC_StepBlock, MC_StepReferencePulse, MC_StepDistanceCoded • Finalizing: MC_HomeDirect, MC_HomeAbsolute, MC_FinishHoming • Homing on-the-fly: MC_StepReferenceFlyingSwitch, MC_StepReferenceFlyingRefPulse, MC_AbortPassiveHoming

  20. Part 3 – User Guidelines • Shows examples for ease-of-use • Shows user-derived Function Blocks • Shows higher level encapsulation (e.g. Winding) • Stresses the creation of own FB libraries • Uses FBD, LD, and ST • 82 pages in total • Not a training guideline

  21. Example – Multiple FBs on 1 axis - LD

  22. Timing Diagram

  23. Example – Multiple FBs on 1 axis - FBD

  24. Example with SFC

  25. Example - GearIn MC_GearIn Master Master AXIS_REF AXIS_REF Slave Slave AXIS_REF AXIS_REF InGear BOOL BOOL Execute CommandAborted BOOL RatioNumerator INT RatioDenominator Error UINT BOOL Acceleration REAL ErrorID WORD Deceleration REAL Jerk REAL

  26. GearIn

  27. GearIn

  28. Start-up procedure Is independent of the architecture Consists of 3 commands: MC_Power MC_Home MC_Move….. To make any axis move.

  29. Start-up procedure

  30. Error Handling MoveAbsolute Axis Axis AXIS_REF AXIS_REF Done BOOL BOOL Execute BOOL REAL CommandAborted Position Busy BOOL Velocity REAL Active BOOL Acceleration REAL BOOL Error Deceleration REAL ErrorID WORD Jerk REAL MC_Direction Direction MC_BufferMode BufferMode • Error - Rising edge – error during execution of the FB • ErrorID - Error identification

  31. Part 4 – Coordinated Motion

  32. Synchronized Motion items SyncAxisToGroup SyncGroupToAxis TrackConveyorBelt TrackRotaryTable

  33. Synchronization of single axis to an axes group

  34. Synchronization of an axes group to a single axis

  35. Tracking

  36. Encapsulation

  37. Labelling

  38. The labelling program

  39. Possible improvements

  40. Warehousing Example

  41. Application Program (1/2)

  42. Application Program (2/2)

  43. Alt. Application Program

  44. Encapsulation: Winding / Unwinding

  45. Dancer Control

  46. Graphical representation of FB

  47. UDFB for Winding (csv)

  48. PLCopen Motion Control A suite of specifications A suite of implementations A suite of suppliers A very fast growing suite of users A suite of advantages

More Related