FUNCTION_BLOCK SMC_VIRTUAL_AXIS IMPLEMENTS ICmpEventCallback
This function block has been created in order to use a virtual axis without the need to add a virtual axis device to the "Softmotion general axis pool".
Employ the output variable Axis of type AXIS_REF_VIRTUAL_SM3 instead of a virtual axis. Axis is being initialized by once calling this FB with the desired axis properties (the default values correspond to the virtual axis device description). Calling this FB again does not have any effect (apart from changing the input variables): Axis won't be touched again.
InOut:
Scope |
Name |
Type |
Initial |
Comment |
Input |
wDriveID |
WORD |
1 |
Node number of drive on (field-)bus |
iMovementType |
linear |
|||
fPositionPeriod |
LREAL |
360.0 |
Length of Period for modulo drives in technical units [u] |
|
eRampType |
trapez |
Velocity ramp |
||
fSWMaxVelocity |
LREAL |
Maximum velocity (software limit) in [u/s] |
||
fSWMaxAcceleration |
LREAL |
Maximum acceleration (software limit) in [u/s²] |
||
fSWMaxDeceleration |
LREAL |
Maximum deceleration (software limit) in [u/s²] |
||
fSWMaxJerk |
LREAL |
Maximum jerk (software limit) in [u/s³] |
||
fSWLimitPositive |
LREAL |
1000.0 |
Position limit in positive direction in techn. units [u] |
|
fSWLimitNegative |
LREAL |
0.0 |
Position limit in negative direction in techn. units [u] |
|
fSWLimitDeceleration |
LREAL |
0 |
Deceleration [techn. units/s²] which the system will brake with in case of a software limit. |
|
bSWLimitEnable |
BOOL |
FALSE |
TRUE: Enables software end switches. |
|
fSWErrorMaxDistance |
LREAL |
0 |
Maximum deceleration distance for ramping down in case of an error [u]. |
|
Output |
Axis |
|||
bError |
BOOL |