• 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

    FMU

    This simulation component adds a Functional Mock-up Unit (FMU) to the simulation.

    FMU

    When to use

    Use this simulation component if you want to add a Functional Mock-up Unit to the simulation. This enables the combination of any kind of physical effects and algorithms with the rigid body simulation. FMUs can be created by using e.g. Modelica as the modeling language.

    How to use

    Add this simulation component from the simulation component library and load an existing FMU file.

    Note

    The FMU simulation component only supports FMU files of type Co-Simulation.

    After loading the FMU, the defined inputs and outputs are created. Define the property RunningType. If the simulation is running, the FMU will be simulated either Before Simulation Step or After Simulation Step.

    Parameters

    FMUFilename

    Indicates the absolute path to the FMU-file which is loaded.

    Note

    The FMU-file is an absolute path. When reloading a project, the file must be available at the same location. If not, loading the FMU will fail.

    RunningType

    A value indicating when the FMU will be simulated. Possible values are:

    Value Description
    Before Simulation Step The FMU step is executed right before the simulation steps forward in time.
    After Simulation Step The FMU step is executed right after the simulation has stepped forward in time.

    Inputs

    After a FMU file is imported successfully, all defined inputs are listed here. If the simulation is running, the value is set in the FMU as soon as it changes.

    Outputs

    After a FMU file is imported successfully, all defined outputs are listed here. If the simulation is running, the value is read periodically from the FMU.

    Example

    In this example, the FMU simulation component is used to control the position of a turntable.

    FMU controls turntable Object3D

    Therefore, the PID controller and EC motor were designed in the object-oriented modeling language Modelica as shown in the picture below.

    Modelica with PID and Motor

    The FMU model is added to the simulation environment as a black-box. After loading the FMU all defined inputs and outputs are created.

    PLC Example Properties

    The SetValue input is set randomly after a given time interval. A DynamicRotationMover simulation component rotates the turntable by the calculated Torque output and returns the current angle to the controller. After another given time interval (which is not shown in this example) a new dynamic bottle object 3D is added to the turntable which increases the mass of the whole system which has to be controlled.

    FMU as PositionControl

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