Drive behavior
The Drive Behavior provides a detailed behavior to a Drive. This gives the flexibility to model all variety of ways to move objects. In realvirtual.io a few standard Drive Behaviors are included and you can extend them based on the components you are using in real life. Here is a list of the included Drive Behaviors. All Drive Behaviors are named with a prefix Drive_ from better clarification.
Adding Drive Behaviors
Drive behaviors can be added to a GameObject with a Drive component in two ways:
Add Component Menu: Select the GameObject with the Drive component, then use Component > realvirtual > Motion > Drive Behaviors to choose the desired behavior
QuickEdit Overlay (Professional): Use the QuickEdit overlay buttons to quickly add drive behaviors directly in the Scene view

This tutorial explains the relation between Signals and Behavior Models:
Drive_Cylinder
This is the model of a simple cylinder movement. The cylinder is defined by a maximum (MaxPos) and minimum (MinPos) position in millimeters in relation to a zero position. The speed of the cylinder to move in and out is defined by the time in seconds TimeOut and TimeIn.
Settings:
One Bit Cylinder: When enabled, uses single signal for control. Out=false moves cylinder in, Out=true moves cylinder out.
Invert Output Logic (new in 6.0.9-beta): Inverts the control logic. When enabled, Out=false extends the cylinder, Out=true retracts it. Useful for normally-closed valve configurations or inverted signal requirements.
Min Pos / Max Pos: Define the cylinder stroke in millimeters.
Time Out / Time In: Extension and retraction times in seconds.
Stop When Driving To Min/Max: Optional sensors to stop the cylinder before reaching end positions.
The cylinder can be controlled manually by setting the booleans under Behavior Signals. Under PLC IOs PLC signals can be connected to the cylinder.

Drive_Simple
The Simple Drive is controlled by boolean values for forward and backward movement with configurable speed and acceleration.
Settings:
Scale Speed: Scale factor for input/output speed and acceleration values
Current Position Scale (new in 6.0.9-beta): Scale factor for position feedback transformation
Current Position Offset (new in 6.0.9-beta): Offset in millimeters applied to position feedback
Scale Feedback Position (new in 6.0.9-beta): When enabled (default), applies scale and offset to position feedback. Disable to receive raw position values.
The scale and offset enable symmetric transformations for proper closed-loop control: position feedback uses the inverse transformation of position commands.

Drive_DestinationMotor
The Destination Motor is a drive controlled by target positions and target speeds. After setting the target speed and target position, the movement can be started by a boolean Signal StartDrive. After the drive reaches its target position the Signal IsAtDestination is set high.
Scale/Offset Properties (new in 6.0.9-beta):
Current Position Scale: Scale factor applied to both position commands and feedback
Current Position Offset: Offset in millimeters applied to both position commands and feedback
Scale Feedback Position: When enabled (default), applies symmetric scale/offset transformations for proper closed-loop control

Drive_FollowPosition
This is the behavior model of a drive where the drive exactly follows the current provided position of the PLC. This is especially useful for connecting motion controllers and robot controllers to realvirtual.
Settings:
Offset: Position offset in millimeters added to input signal
Scale: Scale factor applied to position input signal
Current Position Scale (new in 6.0.9-beta): Additional scale factor for position feedback
Scale Feedback Position (new in 6.0.9-beta): When enabled (default), applies symmetric transformation: feedback = ((CurrentPosition - Offset) / Scale) * CurrentPositionScale
The symmetric transformation ensures that the PLC receives properly scaled feedback values that match the coordinate system of the commanded positions.

Drive_Gear
This behavior model is useful for connecting two drives together. The master drive will control the position of the drive that the gear is attached to. This is useful for two gripper fingers where only one is controlled by a pneumatic model and the second one follows correspondingly. The formula for the position of a gear controlled drive is: CurrentPosition = MasterDrive.CurrentPosition x GearFactor + Offset.

Drive_ContinousDestination
This drive is continuously trying to follow the given destination with the given speed. Unlike Drive_FollowPosition, this Drive is not following exactly the given position because it might need some time to reach the destination. You don't need to set a start signal to start to drive like with Drive_DestinationMotor. This drive is always starting to drive to a different destination as soon as the SignalDestination is changed. Please note, that you need to turn on UseAccelearation in the connected drive to use acceleration values. This Drive is specially useful for users who are reusing Simit models which are connected to NX Mechatronics Concept Designer. In NX Mechatronics Concept Designer this type of Drive is called PositionControl.
Scale/Offset Properties (new in 6.0.9-beta):
Current Position Scale: Scale factor applied to both position commands and feedback
Current Position Offset: Offset in millimeters applied to both position commands and feedback
Scale Feedback Position: When enabled (default), applies symmetric scale/offset transformations

Drive_Speed
Drive_Speed is controlling a drive by a speed. You can't control directly the position. The drive is always driving in the given speed. Positive speed values means forward direction. Negative speed values means backward direction. Please note, that the smooth acceleration is not working with this drive. If you want to stop the drive the speed needs to be set to zero. This Drive is specially useful for users who are reusing Simit models which are connected to NX Mechatronics Concept Designer. In NX Mechatronics Concept Designer this type of Drive is called SpeedControl.
Position Feedback Properties (new in 6.0.9-beta):
Current Position Scale: Scale factor for position feedback transformation
Current Position Offset: Offset in millimeters applied to position feedback
Scale Feedback Position: When enabled (default), applies scale and offset to position feedback. Disable to receive raw position values.

Drive_ErraticPosition
This drive is only for test purposes. It is moves constantly to random positions between MinPos and MaxPos.

Drive_Sequence
We recommend to not use DriveSequence any more and to use the new LogicStep visual programming which is simpler and gives you more flexibility. Please check LogicSteps.
Starting a sequence step
The Drive_Sequence behavior allows to define simple sequences of motions. Each step in the sequence can set the Drive speed and the Drive Destination. The step is starting automatically after the step before. If a PLCSignal is defined in Wait For Signal the Step is not started before the Signal is set to true.
Ending a sequence step
In Wait After Step a time in seconds can be defined which should be waited after the drive is at its destination and before the next step is started. The Finished Signal is optionally and can be used to start external processes or Drive_Sequences. This signal is set to true as soon as the step is finished

© 2025 realvirtual GmbH https://realvirtual.io - All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including printing, saving, photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.
Last updated