MC_LoadProfile (FB)
FUNCTION_BLOCK MC_LoadProfile
This Function Block commands a time-load locked motion profile. The load in the final element in the profile should be maintained. The state remains ‘ContinuousMotion’.
Following points gives more details on using the function block
An array of MC_TProfile has to be created to hold pairs of Load/time. The address of this array has to be used at the TimeLoad input.
The values “first_derivative” and “second_derivative” are just used when a polynomial interpolation is applied.
When the first delta_time value is different from 0, this time is used to approach the first load value. Otherwise, the first value is used as a jump.
Note
This functionality does not mean it runs one profile over and over again: it can switch between different profiles.
Note
When ProfileCompleted = TRUE (profile is completed), Axis will run with the last load value.
- InOut:
Scope
Name
Type
Initial
Comment
Input
ExecuteBOOLStarts the function block at rising edge.The axis will be controlled with the last load value from the profile, and be kept in load control when finished.
TimeScaleLREAL1
Scaling for time value in profile. Range: TimeScale > 0
LoadScaleLREAL1
Scaling for load value in profile. Range: LoadScale <> 0
OffsetLREAL[u] = technical unit. Overall offset for torque, force or pressure profile
Number_Of_PairsINTNumber of sampling points (time/load). Value should be less than or equal to Array size of TimeLoad input. Range: Number_Of_Pairs >2
iTypeMC_ABB_iTypes_enum- Type of interpolation. Possible values are:
MCA_SPLINE_COMPLETE,
MCA_SPLINE_NATURAL,
MCA_POLY5,
MCA_POLY3,
MCA_LINEAR
TimeLoadPOINTER TO MC_TProfile
Reference to time/load. MC_TProfile is an ABB specific data type
DirectionMC_DirectionDefault
Supported direction: Positive, negative, current, default. The direction determines if just positive or negative load values are to be limited, or both (default)
BufferModeMC_BufferModeNot supported, default mcABORTING used
Output
ProfileCompletedBOOLProfile completed, Commanded position finally reached
BusyBOOLThe function block is not finished
ActiveBOOLIndicates that the function block has control on the axis
CommandAbortedBOOLCommand is aborted by another command from other PLCopen function block
ErrorBOOLSignals that error has occurred within function block
ErrorIDAC500_MotionControl.ERROR_IDError identification. For error details refer to enumeration ERROR_ID from AC500_MotionControl library
Inout
Load_AxisReference to axis