Download presentation
Presentation is loading. Please wait.
1
PLCopen Motion Control an introduction
Welcome here at this presentation on PLCopen Motion Control. Welcome also here in the notes of this presentation These notes provide you additional information on the subject For certain pictures we use several slides to construct it – making it easier for you to adapt them. And you can adapt them for your own use, as long as you refer to PLCopen in your slides. For feedback please contact Eelco van der Wal at – thanks in advance Learn and enjoy Check the notes in the notes view 1
2
PLCopen Motion Control: The software problem
This presentation is about PLCopen Motion Control, which has a software point of view to the application and implementation. 2
3
This looks like an old picture – but do not worry, the trend is still going on.
This is an overview of how the costs of software in production systems increased over the decades over mechanics and electric. And not only in productions systems, but also in your car software plays an ever increasing role 3
4
Managing Complexity 100 – 10,000 – 1mio – 100mio Lines of Code
The big problem with software is that the complexity increases exponentially. This means that software development is about managing complexity. And that is where PLCopen is targeted for. Combined with modern software development processes that provides a structured approach. Exponentially increasing complexity 4
5
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 Why Structuring? Because the requirements on the system have changed, as well as the role of software Basically, the development process of control software was not in line with the development of hardware. 5
6
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 Here are some basic characteristics listed, that every modern software process need to fulfill. 6
7
Decomposition with Sequential Function Chart SFC
Through decomposition we want to create smaller reusable components with which we can create an application program similar to a jigsaw puzzle: combining the pieces together in the right way. Although one must say that some additional programming, as glue, is often needed in the application. 7
8
Bottom-up after top-down
First decompose – then fill it in Top- down Bottom up This decomposition can also provide different levels of abstraction, which provide different ways to look at the ‘ problem’ . It starts with top down, and then solving the jigsaw puzzle is the other way around: bottom up. Ending in the application program. 8
9
Abstraction via Function Blocks
MC_MoveAbsolute AXIS_REF Axis BOOL Execute Done REAL Position Velocity CommandAborted WORD Acceleration Deceleration Jerk MC_DIRECTION Direction Error ErrorID ContinuousUpdate BufferMode Busy Active MC_BUFFER_MODE Here is an example of a FB as defined. It is called MoveAbsolute, has its inputs on the left, with the corresponding data types, and the outputs on the right, also with datatypes. What is different is the AXIS_REF, here in blue. It provides the reference to an axis via the derived datatype AXIS_REF. This datatype will be supplied by all manufacturers . It provides the interface to wards the drive itself. The technicalities of the real interface towards the drive are hidden within the structure and function block itself. In this way a distributed system looks the same as an integrated system towards the user, while giving access to all relevant parameters within the drive. Using VAR_IN_OUT is a very effective way to pass large multi-element variables into a Function Block. It only requires that the address of the variable is passed, rather than copying the whole variable. The value of an input/output variable is stored externally to the FB. The list of variables, acting both as input and output parameters, can be modified within the Function Block These variables can receive values from external variables Externally the value of these variables is accessible in the same way as other output parameters The value of an input/output variable is stored in a variable that is external to the Function Block one can use this to define one or more virtual axes 9
10
Axis_Ref as Var_In_Out
FB Axis1 Axis_Ref Structure You can imagine this like in this picture. External to the function block, somewhere in memory, is the axis ref structure. The FB is referring to Axis1 via Axis_Ref The FB reads the required values in Axes_Ref, and might update some of these values before it finishes its execution. For this it does not have to copy all the variables in Axis_Ref, which makes it very efficient. One can use this to define one or more virtual axes, in that sense that it exists as a datastructure but is not coupled to a physical drive and/or motor. 10
11
Abstraction / HW Independence via Function Blocks
Software View Hardware View Encapsulation / Information Hiding In order to create software that is independent of the motion control technology, we use function blocks. As you know, there is code within the function block. Code that will be different for a distributed system versus an integrated system. Nevertheless, form a software point of view, both look similar. It is just that another library of FBs is linked at the end, matching the underlying technology. I/F Intelligent Drive Motor E Inputs Name Outputs Drive Motor E PWM I/F 11
12
Abstraction with one FB
Axis1 FB Time or event driven So somewhere deep in your system, the data of the Axis_Ref is coiped to the drive itself via an interface, and vice versa. This copying is under control of a task manager. Task Manager Drive Conver- sion Axis_Ref Structure I/F 12
13
and with 2 FBs FB1 Axis1 Axis_Ref Structure I/F Drive Task Manager
Conver- sion Time or event driven FB2 Now if we add a second FB, for instance for compensation, both acting on the same axis, it will look like this. One can see that the role of the task manager gets very important, to make sure that only the latest, correct values are send to the drive. For good motion control one certainly needs a real-time multitasking operating system in the control system. 13
14
Mechatronic solutions
Mechanical solution. This implementation helps to switch from a mechanical solution (top) to a mechatronic solution (bottom). One takes out the big master axis including all the mechanical couplings for camming and gearing, etc., and replace these functionalities locally with smaller motors, now under software control. This provides the basis to make machines more efficient while being more flexible. And that is what the users want. Control solution 14
15
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 over 50 products (check website for full list) With this idea, PLCopen developed together with its members a suite of specifications for Motion Control. The basis is provided by Part 1 and 2, with which many machine applications can be built. Original these parts were separated due to the timing to release the first part for implementation. Since the Version 2.0 as published in 2011, both parts are merged. Part 3 – User Guidelines shows examples and supports the idea to create own application-specific function blocks based on the basic functionality provided. Part 4 – Coordinated Motion deals with movement of group of axes and their synchronization, and as such includes applications like robotics. In Part 5 – Homing procedures, the basic building blocks are defined to create one’s own application specific homing procedures. And Part 6 – Fluid Power adds a set of blocks that can be used especially in (mobile) hydraulics. 15
16
Administrative Motion Part 1 – MC FBs Single Multiple Single Multiple
Axis Axes Axis Axes Non-Interpolated Power In Part 1 there are Administrative and Motion releted FBs defined, both for single axis and for multiple axis. With Administrative FBs there is no movement. Examples are Power, to switch on th power, and ReadParameter to read a specific parameter. With the Motion related FBs there is movement. For instance with MoveAbsolute the relevant axis move to an absolut position. There are also several multiple axes FBs defined for Camming and Gearing. Some more details (if needed): MoveAbsolute This FB command a controlled motion to a specified absolute position. The parameters are used at the time the motion is started. To modify any parameter it is necessary to put the correct SET of values and to trigger again the motion. MoveRelative commands a controlled motion of a specified relative distance. MoveSuperimposed commands a controlled motion of a specified relative distance additional to an existing motion. The existing Motion is not interrupted, but is superimposed by the additional motion. MoveContinuous (opt. FB) command a controlled motion of a specified relative distance ending with the specified velocity. Triggering the «Execute» input will not replace the current motion but stack the new command that will begin immediately when the current one is done MoveVelocity command a never ending controlled motion at a specified velocity. Home command the axis to perform the « search home » sequence. The details of this sequence are manufacturer dependent and can be set by axis’ parameters. The position input is used to set the absolute position when the sequence is completed. A stop command terminates this sequence. Stop commands a controlled motion transferring to the state “StoppedMotion” . It aborts any ongoing functionblock execution. While the execute input of this block is true, no other FB can perform any motion on the same axis (see state diagram for details). The command buffer is cleared the same way as with «ClearPendingActions». Power controls the power stage (on or off). ClearPendingActions (opt. FB) clears the buffer of stacked «MoveContinuous» commands. The command currently executed is not modified by this FB. ReadStatus (opt. FB) returns in detail the status of the axis with respect to the motion currently in progress. ReadAxisError returns the error status. Indicates both hardware errors and faults due to other FB’s on the same axis. ReadParameter returns the value of a vendor specific parameter. The returned Value has to be converted to Real if necessary. If not possible, the vendor has to supply a supplier dependent FB for it WriteParameter modifies the value of a vendor specific parameter. ReadActualPosition returns the actual position. PositionProfile commands a time-position locked motion profile VelocityProfile commands a time-velocity locked motion profile AccelerationProfile commands a time-acceleration locked motion profile For real motion control, in the sense of coordinated multiple axes, the following set was defined. ( see slide) CamTableSelect MoveAbsolute CamIn ClearPendingActions MoveRelative CamOut ReadStatus MoveSuperImposed GearIn ReadAxisError MoveContinuous GearOut ReadParameter MoveVelocity WriteParameter Home ReadActualPosition Stop PositionProfile VelocityProfile AccelerationProfile 16
17
Administrative Motion Part 2 - Extensions Single Multiple Single
Axis Axes Axis Axes TouchProbe In Part 2 – Extensions, additions were made on both the administrative single axis side, with TouchProbe as fast input, as well on Motion related like Torque Control and GearInPos, to start gearing at a specific position. TorqueControl GearInPos AbortTrigger DigitalCamSwitch ReadDigitalInput ReadDigitalOutput WriteDigitalOutput SetPosition SetOverride ReadActualVelocity ReadActualTorque 17
18
Administrative Motion Part 4 – MC FBs Coordinated Coordinated
Synchronized 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
19
Administrative Motion Single Axis Multiple Axes Part 6 – Fluid Power
LoadControl LoadSuperimposed LimitLoad LimitMotion LoadProfile Part 6 – Fluid Power
20
Part 5 – 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
21
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
22
Example – Multiple FBs on 1 axis - LD
Let us look at can example. In this case in Ladder Diagram. We connect 3 instances of MoveVelocity to the same axis. Note that not all inputs and outputs are shown for a better overview. The first FB starts the axis moving with velocity 10 at event K. After a certain time the axis will move with commanded velocity 10, and so the output InVelocity is set. If after that event L occurs, FB1 is stopped and FB2 becomes active (FB2 aborts FB1), increasing the velocity of the axis to 20. When the commanded velocity is reached, InVelocity of FB2 is set. If now event M occurs, FB2 is stopped and FB3 moves the axis to velocity 0 (FB3 aborts FB2), i.e. standstill, and if reached the output InVelocity of FB3 is set. 22
23
Timing Diagram In the timing diagram the effect on the motion at the bottom of the drawing shows clearly the effect of the different velocities. Also the time delay in acceleration and deceleration before the axis has reached the new commanded velocity is clearly visible, which is signaled by the output InVelocity. Also clearly shown is that the execute of FB2 aborts the execution of FB1, although the Execute input of FB1 is still set. 23
24
Example – Multiple FBs on 1 axis - FBD
This is nearly the same example but now in FBD. The difference is that FB3 aborts FB2 at the event M even if the commanded velocity of FB2 is not reached. 24
25
Example with SFC And this is the same example as in LD, but now in SFC. In this case only one instance of the MoveVelocity FB is needed, and this is used in the different action blocks couple to the states (not graphically shown here). Also here, the InVelocity of the second call must be TRUE and M=TRUE before the velocity 0 is commanded. So the choice of programming language depends on your background and the problem at hand. 25
26
Example - GearIn MC_GearIn Master Master AXIS_REF AXIS_REF Slave Slave
BOOL Execute InGear BOOL Let us now look at a different example. In this case with GearIn. Here is the graphical representation. In this case we have to connect 2 axes, because the slave axis will follow the master axis with a certain ratio via RatioNumerator and RatioDenominator. Note that with these 2 inputs, gear ratios can be defined that have no direct mechanical equivalent. When the slave axis has reached the ratio, the output InGear is set. INT RatioNumerator CommandAborted BOOL UINT RatioDenominator Error BOOL REAL Acceleration ErrorID WORD REAL Deceleration REAL Jerk 26
27
GearIn In this example we have two instances of the GearIn FB, First and Second, linked to the axes MyMaster and MySlave. The input ratio is combined for convenience sake , and =1 and 2 resp. 27
28
GearIn In the timing diagram above, we see that at the First Execute set, and assuming that the master axis is moving with a certain constant velocity for clarity sake, the slave axis will need some time to reach the required ratio, at which time the output InGear is set. When the first execute is reset, the first InGear is also reset, however the movement continues and stays in gear, as shown in the velocity diagram at the bottom. The execute of the Second FB accelerates the slave and after some time the ration is reached and the InGear output is set in the FB Second. We have changed gear, like in your car. BTW, the master axis does not know that is followed by one or more slaves. And the master axis can be a virtual axis, meaning that there is no physical axis coupled to it. 28
29
Start-up procedure Is independent of the architecture
Consists of 3 commands: MC_Power MC_Home MC_Move….. To make any axis move. With PLCopen Motion Control the start-up procedure has been greatly simplified to 3 simple commands: MC_Power, MC_Home and than moving with some MC_Move command should start moving the axis. Perhaps not wit the best parameter settings, but one can easily test if the drive, motor and encoder are connected correctly. This greatly simplifies the installation procedure, using default settings and intelligence to configure a potential network. Isn’t that nice, although in praxis not all environments have implemented this yet. 29
30
Start-up procedure This is how the start-up procedure could look in FBD. This makes the installation simpler. 30
31
Error Handling Error - Rising edge – error during execution of the FB
MoveAbsolute AXIS_REF Axis BOOL Execute Done REAL Position Velocity CommandAborted WORD Acceleration Deceleration Jerk MC_Direction Direction Error ErrorID BufferMode MC_BufferMode Busy Active Apart from the installation, we have maintenance people, so we need to make sure that we can interface to them. Maintenance people will be called on an error condition. So we added a harmonized error handling outputs to all the FBs. It has two outputs: Error as BOOL, to indicate an error condition (so one can easily see which FB notified the error), And an ErrorID, which gives a number for the error condition. This number will not be displayed of course: it will be the input for an additional FB, converting the cryptic number in a message for instance. Or whatever you need. And in which language you need it. For a automatic , you can create your own FB. Error - Rising edge – error during execution of the FB ErrorID - Error identification 31
32
Part 4 – Coordinated Motion
Now let us look a little closer to Part 4 – Coordinated Motion. As showed previously we create a group of axis, couple that to a transformation and a coordinate system, and we start moving the group. So there is no master or slave in the group: all axes are equal in that sense. So it goes beyond the first PLCopen Motion Control parts, as is shown in this picture. 32
33
Synchronized Motion items
SyncAxisToGroup SyncGroupToAxis TrackConveyorBelt TrackRotaryTable We can synchronize a group to an axis, a group, and we can synchronize an axis to a group, or to an axis. This is shown in the picture above. On top we see two 1-Axis circles, and these can be synchronized with the horizontal arrow shown. Than we are on the level of MC_GearIn and MC_CamIn, as shown previously. The 1-Axis can be synchronized to a group like a master axis, as shown with the two down-arrows to the left Axes Group. This is called MC_SyncGroupToAxis. The other way around, that the group becomes a master for a single axis, is shown from the left Axes Group, and is called MC_SyncAxisToGroup. And last but not least, one can synchronize a group to a group, what is called tracking and is shown by the horizontal line at the bottom. There are several command there involved: MC_SetDynCoordTransform, MC_TrackConveyorBelt and MC_TrackRotaryTable. Let us look to some of these FBs. 33
34
Synchronization of single axis to an axes group
Here we have an example of MC_SyncAxisToGroup where a single axis (as slave) is synchronized to an axes group (master). The master follows its path and the slave is linked to the position, velocity, acceleration, or any other magnitude of the master. An example is glue dispensing, where the amount of glue to be dispensed is coupled to the velocity of the TCP of the robot. The single axis slave motor movement of the glue dispenser is coupled to the trajectory of the TCP of the group over the surface of the object via MC_AxisFollowGroup. Alternatively, if the position information is not critical, one can use MC_GroupReadActualVelocity, perhaps combined with a gearing factor, and thus providing the input to the motor of the glue dispenser. 34
35
Synchronization of an axes group to a single axis
This mode combines an axes group (as slave) with an axis as master in order that the slave executes its path with synchronization to the progress of the master, meaning linked to a 1-dimensional source for synchronization. Examples here include press synchronization. (Note: in case the slave is an axes group, a transformation to a virtual axis can be applicable to generate the 1-dimensional synchronization data. In case both the master and the slave are axes groups, a virtual master axis on the slave side is applicable (linked via cam profiles to the different axes) to use the 1-dimensional synchronization data of the master side). As an example of synchronization between a master single axis and a group can be the robot which places material in a press machine: the robot has to synchronize to the opening phase of the press. A second robot also synchronizes to take the material out. The master is the (single or virtual) axis controlling the press. The axes group for both robot 1 and robot 2 has to follow the press in a certain area of the master movement: opening for robot 2 to take the product out and closing for robot 1 to add the new product. For this synchronization the FB MC_SyncGroupToAxis is defined. 35
36
Tracking Tracking is characterized by an axis group (A) that follows with its movement the movement of a single axis or another axis group (B). During the coordinated following A is performing a movement/task relative to the movement of B. The tracking data is a multidimensional source incl. position and orientation. Solutions can include a moving coordinate system or a multi-dimensional gear functionality. Tracking can be seen as a superposition of two movements, although these movements are independent. One, which is the movement of the product (moving PCS) and the second one, which describes the path of the TCP that would be executed if the product is standing still (Positions have to be defined in PCS). The Position of the PCS and therefore also the movement of the PCS relative to MCS is described by the coordinate transformation MCS to PCS. For tracking the following function blocks are defined here: MC_SetDynCoordTransform as a general one, and MC_TrackConveyorBelt plus MC_TrackRotaryTable for specific applications. The basic example for the tracking of an axis group and a single axis is conveyor tracking, where the robot picks or places parts on the moving conveyor or is putting some crème on a cake moving on the belt. 36
37
Encapsulation What is a real benefit of the IEC standard is that one can create its own Function Blocks for dedicated functionalities, add them to a library, and make this available throughout the company for the next projects. In this way one encapsulates specifics functionality in a new package, e.g. FB. This gives a separation between responsibilities and provides the basis for the protection of the intellectual property rights by closing the content of the company specific FB. To show this concepts, four examples are included here. The end programs can be encapsulated in a new FB which then can be made available. 37
38
Labelling The first example is a labelling example.
The task is to place a label at a particular position on a product. The application has two drives, one to feed the product via a conveyor belt, the other to feed the labels and to place the labels on the products. The labeling process is triggered by a position detection sensor. From the detection of the product to the start of the label movement there is a delay depending on the velocity of the conveyor, the position of the sensor and the position of the label on the product. 38
39
The labelling program This program example shows a way to solve this task. Both axes move with the same velocity setpoint. The delay for TON is calculated from the sensor distance and the velocity. After a labeling step the LabelDrive stops again and waits for the next trigger, while the conveyor continuously moves. 39
40
Possible improvements
Of course this simple program is not perfect, so these are some suggestion of improvements, depending on the hardware and some other specifics. 40
41
Warehousing Example The second example deals with the basic warehousing functionality. The purpose of this application is to automatically retrieve goods from a storage cabinet with shelves. The goods are stored in pallets that can be retrieved with a fork system. The warehouse task is to move the fork with three axes to place or take the pallet: • Axis X moves along the floor; • Axis Y moves to the needed height; • Axis Z moves the fork into the shelf to fetch the pallet. The sequence is to move the axes X and Y to the requested position. As soon as both axes have reached this position, the Z axis moves into the shelf under the pallet, in this example for 1000 mm. Then the Y axis lifts the pallet for another 100 mm to lift the pallet from the shelf, so it can be moved out of the shelf and to the required position to deliver it. This example can be implemented in different ways. A straightforward approach is to use Part 1 Function Blocks. Alternatively, a XYZ group could be defined in controllers supporting PLCopen Part 4, Coordinated Motion, which can simplify and optimize the movements. 41
42
Application Program (1/2)
There are several way to solve this problem. This version is implemented by only using Function Blocks from Part 1, and includes the next slide. It is straightforward, with first the movements of X and Y without any synchronization. When the position is reached, the fork is move in to the pallet. 42
43
Application Program (2/2)
The fork, and so the pallet, is the lifted, and moved out of the pallet. In order to deliver it, we move X and Y back to the original position (origin). 43
44
Alt. Application Program
The nice thing is that we can solve this also with the FB of Part 4 – Coordinated Motion, providing even a smoother trajectory. What is not shown is the way to create the one Axis Group with axes X, Y and Z, and enable them for coordinated operation. (Details see to chapter 4.1 of the Part 4 specification) In this example, the group XYZLifter is made up from Axis_X, Axis_Y and Axis_Z. Blending is used to optimize the approach time to the end positions (The motion of the fork Axis_Z does not have to wait for completion of the movement of the Axis_X and Axis_Y to enter the pallet). This has to be done with a “TMCornerDistance” method to avoid collision with the shelf (in this particular case, we assume the distance from fork to shelf is bigger than 100). For this cornering to become effective, the ‘Busy’ output of precedent Function Blocks is triggering the ‘Execute’ of the buffered movement. 44
45
Encapsulation: Winding / Unwinding
To add another example of encapsulation, one can think about the winding/unwinding functionality for paper or foil, which need a certain torque for a good process. Winding with torque feedback can be done in several ways. A simple solution does not have any additional measuring inputs. Without measuring, the motor torque is used. This limits the torque range and accuracy due to the diameter transformation and variable losses. 45
46
Dancer Control Another option could use the feedback from a load cell, as seen on the left. A load cell is fast and accurate but expensive. Yet another solution could be with a dancer control as shown on the right side. A dancer control can be simpler as shown here. 46
47
Graphical representation of FB
If we use a constant surface velocity (csv) of the unwinding product (vs. constant tension), the graphical representation of the user derived FB could look like this. This is what the user of the functionality would see without having to know the internals. And these internals, the encapsulated application program, could look as follows: 47
48
UDFB for Winding (csv) Explanation:
The ‘SpoolRadius’ times 2 pi defines the relationship towards the ‘Velocity’, the ‘Acceleration’, ‘Deceleration’, and ‘Jerk’ (all surface related). These are issued as inputs for the MC_MoveVelocity Function Block. There is a check included if the ‘SpoolRadius’ is between the ‘Max_S_Radius’ and ‘Min_S_Radius’. If outside this range, it stops the winder while setting the ‘Error’ output. The combination of the two ‘ErrorIDs’ only works if there is only one ‘Error’ at a time, i.c. one ‘ErrorID’ valid. 48
49
With this encapsulate dfunctionality and the company specific lbraries, one can look differently to a machine: in a multi layered approach from a software point of view. On top one can define a state diagram to harmonize the look and feel of the machine and to interface to the outside world. Under that one can identify (or specify) two (or more) layers of user derived function blocks that are tuned to the application area. And these functionalities are built form the basic building blocks, be it PLCopen Motion Control, IEC , or own developed functionalities. With this, one creates flexible and reusable application programs faster and with less errrors, and with easier maintenance over the life-cycle. This will help to control your software costs of your installations. This is what we call: for efficiency in automation! 49
50
PLCopen Motion Control
So this is what PLCopen brings to the table w.r.t. 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 A suite of specifications A suite of implementations A suite of suppliers A very fast growing suite of users A suite of advantages 50
51
Combining Logic, Motion and Safety
PLCopen Combining Logic, Motion and Safety PLCopen provides the basis for the integration of Logic, Motion and Safety, and with that it provides the basis for you to get more efficiency in automation via structuring, decomposition, reuse and less training. Providing Structuring, Decomposition, Reuse and less training 51
52
Not-for-profit organization
This concludes the short overview of the technical committee 2 on Motion Control. Now let me tell you something about the not-for-profit organization PLCopen. As already shown, PLCopen provides efficiency in automation. How do we operate? Some words to the Not-for-profit organization 52
53
PLCopen started in 1992 and so in now over 22 years old: a mature organization with many things going on 53
54
PLCopen as a World-wide association
Main Office in Europe Office in Korea Office in North America Office in China Office in Japan PLCopen is a world wide non-profit organization, which is headquartered in The Netherlands, and has supporting offices in North America, Japan, and China. Currently we are setting office in Korea. These last organizations have or will have a local website in their local language, making it easier to access the information.
55
Organization TECHNICAL PROMOTIONAL COMMITTEES
PLCopen for efficiency in automation The organization of PLCopen looks like this. The Board of management (BOM), the managing director (MD), and the general meeting provide the guidelines and co-ordinate the strategic goals of PLCopen. The Technical Committees specify further developments like special application area profiles and compliance levels. The Promotional Committees, take care of the PLCopen representation, also at fairs and seminars. Let us look at some of them TECHNICAL PROMOTIONAL COMMITTEES 55
56
PLCopen – providing a suite of specifications
PLCopen brings a suite of specifications to the market covering different areas while combining in to a total concept. 56
57
PLCopen is primarily depending on its members.
They pay an annual fee which provides the basis to operate. And with a multitude of members the independency of the organization is guaranteed. So think about supporting this organization and be seen as such in the market while influencing your future. 57
58
www.PLCopen.org More Information...
Free-of-Charge electronic Newsletter ‘PLCopening’ (in english) More information?? See above 58
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.