MC_CamStartPos
Description
This function block returns the slave axis position for the specified profile, based on the current position of the master axis. This slave axis position can be used to command the slave axis to move to the proper location prior to commanding a MC_CamIn move with StartMode = 0 (Start mode).
The typical application of MC_CamStartPos is to aid in positioning a slave axis to its starting position for a MC_CamIn move with a slave absolute profile. See Positioning an Axis Before Starting Camming for complete instructions.
-
- This function block starts a motion-related action and therefore stores data for calculations and error checking. Please see Calling Function Blocks Multiple Times in the Same Cycle if you are using a dual-core controller.
Arguments
Inputs
Enable | Description | Enables execution of the function block |
Data Type | BOOL | |
Range | n/a | |
Units | n/a | |
Default | — | |
Master | Description | Master axis |
Data Type | AXIS_REF | |
Range | [1,256] for .AXIS_NUM | |
Units | n/a | |
Default | — | |
Slave | Description | Slave axis |
Data Type | AXIS_REF | |
Range | [1,256] for .AXIS_NUM | |
Units | n/a | |
Default | — | |
MasterOffset | Description | Master axis offset |
Data Type | LREAL | |
Range | — | |
Units | User Units | |
Default | — | |
SlaveOffset | Description | Slave axis offset |
Data Type | LREAL | |
Range | — | |
Units | User Units | |
Default | — | |
MasterScaling | Description | Master axis scale factor. Scaling must be a positive value that is greater than 0. |
Data Type | LREAL | |
Range | — | |
Units | User Units | |
Default | — | |
SlaveScaling | Description | Slave axis scale factor. Scaling must be a positive value that is greater than 0. |
Data Type | LREAL | |
Range | — | |
Units | User Units | |
Default | — | |
CamTableID | Description | Profile ID number. This number was generated by MC_CamTblSelect. |
Data Type | INT | |
Range | [0,255] | |
Units | n/a | |
Default | — |
Outputs
Done | Description | TRUE = the function block has successfully calculated the slave position. The slave position is available at the SlavePos output. |
Data Type | BOOL | |
Units | n/a | |
Error | Description | TRUE = an invalid input was specified or an error occurred in the calculations. The value at the SlavePos output is undefined. |
Data Type | BOOL | |
Units | n/a | |
ErrorID | Description | Indicates the error if Error output is set to TRUE. See table in PLCopen Function Block ErrorID Output |
Data Type | INT | |
Units | n/a | |
SlavePos | Description | If the Done output is TRUE, this output returns the position for the slave axis given the profile and the current master axis position. |
Data Type | LREAL | |
Units | User Units |
Examples
ST
Inst_MC_CamStartPos( TRUE, Axis1, Axis2, MasterOffset, SlaveOffset, MasterScale, SlaveScale, Profile1CamTableID);
IL
CAL Inst_MC_CamStartPos( TRUE, Axis1, Axis2, MasterOffset, SlaveOffset, MasterScale, SlaveScale, Profile1CamTable ID)
FBD
FFLD