• Home
  • User Manual
  • Tutorials
  • Updates
Search Results for

    Show / Hide Table of Contents
    • Welcome to twin
    • Getting Started
      • Install and uninstall twin
      • Install and uninstall a licence
      • Start twin
    • Simulation Component Library
      • Automation
        • ScriptComponent
        • Sequence
      • BitManipulator
        • BitsToBytesConverter
        • BytesToBitsConverter
        • EndiannessChanger
      • BooleanOperations
        • BooleanFunction
        • Invert
        • InputSwitch
      • ControlPanel
        • ControlPanel
      • Conveyor
        • Conveyor
        • VacuumConveyor
      • Debug
        • Counter
      • DataManipulator
        • DataReader
        • DataTypeConverter
        • DataWriter
      • FMU
        • FMU
      • Gripper
        • KinematicGripper
        • ObjectCoupler
        • VacuumGripper
      • HardwareConnector
        • PLCConnector
        • RobotControllerConnector
      • Math
        • Gain
        • LinearFunction
        • LowPassFilter
        • NumberComparer
        • Sum
      • Motor
        • FCControlledMotor
        • ServoMotor
      • Movers
        • BoolToSignedDirection
        • DynamicCylinder
        • DynamicRotationMover
        • DynamicTranslationMover
        • KinematicCylinder
        • KinematicPathMover
        • KinematicRotationMover
        • KinematicTranslationMover
      • ObjectManipulator
        • Colorizer
        • Object3DCutter
        • VisiblityChanger
      • Sensors
        • AngleLimitSwitch
        • CollisionObserver
        • DistanceSensor
        • DynamicObjectDetector
        • LightBarrier
        • PositionLimitSwitch
        • PositionTracker
      • Sinks
        • FileLogger
        • CollisionSink
        • RaySink
      • Sources
        • BoolConstant
        • BoxSource
        • DoubleConstant
        • Object3DFileSource
        • Object3DSource
        • RandomBoolean
        • RandomNumber
        • SinusGenerator
        • SphereSource
        • StringConstant
      • Timers
        • IntervalTrigger
        • TOF
        • TON
    • Collision Detection
      • What is essential for collision detection?
      • Where can I find the mesh simplifiers?
      • Which mesh simplification methods are available?
    • twin Mirror
      • Install the twin Mirror
      • Embed the twin Mirror into your HMI
      • React on user-events
      • Manipulate 3D objects
      • Add labels and buttons
    • Video Guides
      • How to install twin
      • How to organize projects
      • How to import CAD files
      • How to handle 3D objects
      • How to activate physics in your simulation
      • How to simulate conveyor systems
      • How to simulate cylinders
      • How to simulate axis systems and portals
      • How to simulate sensors
      • How to simulate grippers
      • How to create program sequences
      • How to connect to PLCs
      • How to simulate robots
      • How to model complex mechanical motion systems
      • How to debug and analyse signals in twin

    ServoMotor

    This simulation component emulates the behavior of a servo motor.

    ServoMotor

    When to use

    Use this simulation component if you want to emulate the behavior of a servo motor. It generates a position and speed output whose values are computed according to a configurable acceleration time and maximum speed.

    For example, you can use this simulation component to move an axis by speed.

    ServoMotor controls an Axis

    How to use

    Add this simulation component from the simulation component library.

    Set the MaxSpeed, AccelerationTimeOverride, SpeedOverride and IsMotorEnabled inputs. If there is no PLC available to control the motor, you could use f.e. the DoubleConstant or BoolConstant simulation component to set constant values.

    Decide whether the positioning should be started after the target position changes by setting the StartPositioningOnTargetChange property or on a positive edge of the StartPositioning input.

    Depending on the setting you have chosen before, you only need to set a new TargetPosition input or additionally activate the positioning by triggering the StartPositioning input to start the positioning process.

    Note

    The servo motor will only start positioning if the simulation is running.

    Parameters

    AccelerationTime

    A value indicating the time needed to reach the maximum speed, starting from zero.

    JoggingSpeed

    A value indicating the jogging speed in m/s.

    PositioningMode

    A value indicating how the target position is interpreted.

    InitialPosition

    A value indicating the initial position of the motor.

    Note

    This value takes effect after reset.

    StartPositioningOnTargetChange

    A value indicating whether positioning should be started after the target position changes or not - therefore the StartPositioning input must be set to True. If StartPositioningOnTargetChange is not activated, positioning is started on a positive edge of the input StartPositioning.

    Inputs

    AccelerationTimeOverride

    An input indicating the override of the acceleration time. The used acceleration time is AccelerationTime/AccelerationTimeOverride.

    IsMotorEnabled

    An input indicating whether the servo motor is allowed to move or not. If this input changes to False the current positioning process stops until the input is reactivated again.

    JogNegativeDirection

    An input which starts jogging the motor in negative direction. Used speed is defined JoggingSpeed.

    JogPositiveDirection

    An input which starts moving in positive direction. Used speed is defined JoggingSpeed.

    MaxSpeed

    An input indicating the maximum speed.

    SpeedOverride

    An input indicating the override of the maximum speed. The used maximum speed is SpeedOverride * MaxSpeed.

    StartPositioning

    An input which starts positioning on positive slope.

    TargetPosition

    An input indicating the target position of the servo motor.

    Outputs

    CurrentPosition

    An output indicating the current position.

    CurrentSpeed

    An output indicating the current speed.

    IsMotorStopped

    An output indicating whether the servo motor is not moving or is.

    IsPositioningActive

    An output indicating whether the servo motor is moving to the target position or not.

    IsTargetPositionReached

    An output indicating whether the target position is reached or not.

    Example

    In this example, an axis is fully controlled by a PLC with help of the PLCConnector simulation component as seen in the picture below.

    ServoMotor controlled by an PLC

    The 3D object of the servo axis is moved by the KinematicTranslationMover simulation component which is connected to the CurrentPosition output of the ServoMotor simulation component.

    In the following video you can see another example of using the ServoMotor in combination with the KinematicTranslationMover simulation component.

    Further Information

    For more details visit the Video Guides section, where you can find a video guide demonstrating this topic under How to control conveyor belts.

    In This Article
    Back to top Copyright © Eberle Automatische Systeme GmbH & Co KG