BeckhoffMC2Base

It’s a motor controller based on Beckhoff MC2 library, an it’s gradually replacing the BeckhoffSimpleMotor (or SD_stepper_axis). Many base functionalities are similar from a user point of view. That’s why we focus here more to the MC2 specific features.

States

In addition to usual motor states (OFF, ON, MOVING, ERROR), MC2 motors have some state with specific meanings:

  • STOPPED: the motor is in ‘emergency stop’, i.e. has been stopped during a move before reaching the target (e.g. by hitting a limit). To clear this state ‘Reset Axis’ button must be used.
  • DISABLED: it means that the motor is used as slave in a coordinated motion group.

Self-generated scenes

By double clicking on the device (e.g. from Karabo System topology), the basic scene can be opened. Aside basic functionalities (i.e. position, target position, hi and low limits, on, off. move, stop), hi and low limits may be enabled/disabled, and StepUp and StepDown buttons will be displayed, if they are available in PLC framework (this may not be the case in older versions). Please note that the step size sign will toggle as you use StepUp and StepDown. Such sign is not relevant though (i.e. StepUp will always move by a step of :math:+|stepSize| as well as StepDown by :math:-|stepSize| ).

On basic scene the link to access advances scene is available. Advanced scene will give access to more properties, e.g.

  • encoderPosition: please note that until now (September 2019) the closed loop operation is not implemented yet, so the encoder position might differ from Position. This way, target position must be entered in actualPosition coordinates.
  • _Reset Axis button: it is needed to recover from an emergency stop, when the device is in STOPPED state
  • Velocity and acceleration set values
  • Calibrate button: sets actual position to calibrated position.
  • Calibrate to encoder button: actualPosition is set to the value read from the encoder.
  • Configurable as slave: this is read from the PLC (and is hard-coded in PLC framework). It tells whether the motor can be used as slave in a combined motion group.
  • is Master: it should tell whether the motor is currently used as master in a combined motion group. It is currently always false.
  • is Slave: it’s set when the motor is coupled in a combined motion group.
  • Couple/Decouple Axis buttons: these may be used on a motor where ‘Configurable as Slave’ is set, for coupling it to a master. The master device id is hard coded on the PLC framework, and it’s displayed in the Master Device property. If motor is not configurable as slave or master ID is blank, the couple/decouple will have no effect.
  • Coupling Numerator/Denominator: can be used to set gearing ratio on a slave w.r.t. master movements.

Known issues

  • Closed loop operation is currently not available. As a consequence, encoder positions and actual position values may be disaligned.
  • The length of a move is limited, i.e. longer moves end before reaching the target (e.g. displacement is set to 1 mm, while move ends ‘gracefully’at initial position + 0.1 mm). This means that longer moves must be performed in steps.

Other infos

  • Device class: BeckhoffMC2Base
  • Latest deployed version of Karabo Beckhoff package: 4.3.10-2.6.1
  • Known interdependencies of this device to other services: PLC framework
  • Deployment guidelines: The Karabo device comes together with Backhoff package, and it’s automatically instantiated upon recognition of a PLC function block type of class SD_Mc2*something*
  • Expert contact: Alessandro Silenzi (Controls), Marijan Stupar(EEE)