MCA_CamStructureSelect (FB)
FUNCTION_BLOCK MCA_CamStructureSelect
This function block selects the CAM tables by setting the connections to the relevant tables
A virtual axis can be used as master axis.
CamExtended is an ABB specific data type.
MCA_CamStructureSelect makes data available. It prepares the provided data to be used by MC_CamIn or MCA_CamInDirect
- Example on adding a CAM table
camtable1 : AC500_MotionControl.CamExtended := (CamTabledata := ADR(Cam), CamPoints:= 4, Tappetdata:= ADR(Cam_T), TappetPoints:= 5, MasterEnd:= 360.0, MasterStart:= 0.0, CamName:= ‘Camtable1’); where Cam:ARRAY[0..2]OF MC_PProfile :=
- [
(Master_position:= 0, interpolation_point:= 0, Velocity_ratio:= 1, Acceleration_ratio:= 1 ), (Master_position:= 10, interpolation_point:= 10, Velocity_ratio:= 1, Acceleration_ratio:= 1 ), (Master_position:= 20, interpolation_point:= 15, Velocity_ratio:= 1, Acceleration_ratio:= 1 ),
];
Cam_T : Array[0..x] OF MCA_CamTappet.
Note
User can utilize CAM editor (Cam table ABB ) in Automation builder to generate Cam table automatically. For more details refer to Automation builder help.
- InOut:
Scope
Name
Type
Initial
Comment
Input
ExecuteBOOLStarts the function block at rising edge
ContinuousUpdateBOOLif this input is set to TRUE, before rising edge on Execute input, then any change to cam points will be taken on fly. This on fly Cam Points update can be disabled antime by setting this input to FALSE
MasterAbsoluteBOOLCamTable holds absolute positions for master. TRUE = Absolute, FALSE = Relative coordinates
SlaveAbsoluteBOOLCamTable holds absolute positions for slave. TRUE = Absolute, FALSE = Relative coordinates
iType- Type of interpolation. Possible values are:
MCA_SPLINE_COMPLETE
MCA_SPLINE_NATURAL
MCA_POLY5
MCA_POLY3
MCA_LINEAR
CamReference to CAM description, points to an array of CamExtended. User can use the Cam Editor (Cam table ABB ) to generate the Cam points
PeriodicBOOLTRUE
Cam table will run continuoulsy and start automatically again, if “EndOfProfile” is reached
ReverseBOOLCam should be run in the reverse direction, master axis will move from larger to smaller positions when the cam table is entered
OffsetModeOffset Mode for Slave axis, based on Mode Selection, CamTable Execution is different
Output
DoneBOOLShows the status of the function block. Done = TRUE if the execution is finished
BusyBOOLThe function block with Busy = TRUE has control on the axis
ErrorBOOLSignals that error has occurred within function block
ErrorIDError identification. For error details refer to Enumeration ERROR_ID
CamTableIDRefers to prepared data, to be used for MC_CamIn or MCA_CamInDirect
Inout
MasterReference to master axis
SlaveReference to slave axis