MC_CamTblSelect
Description
Arguments
For more detail on how inputs and outputs work, refer to PLCopen Function Blocks - General Rules
Input
Execute |
Description |
Requests to queue the slave gear ratio move |
Data type |
BOOL |
|
Range |
0, 1 |
|
Unit |
n/a |
|
Default |
— |
|
CamTable |
Description |
Profile name as defined in the CAM Profile Properties dialog |
Data type |
STRING |
|
Range |
— |
|
Unit |
n/a |
|
Default |
— |
|
Periodic |
Description |
Selects if the profile is periodic |
Data type |
BOOL |
|
Range |
0, 1 |
|
Unit |
n/a |
|
Default |
— |
|
MasterAbsolute |
Description |
Selects if master profile is absolute or relative |
Data type |
BOOL |
|
Range |
0, 1 |
|
Unit |
n/a |
|
Default |
— |
|
SlaveAbsolute |
Description |
Selects if Slave profile is absolute or relative |
Data type |
BOOL |
|
Range |
0, 1 |
|
Unit |
n/a |
|
Default |
— |
Output
Done |
Description |
Indicates the function block has completed successfully |
Data type |
BOOL |
|
Range |
0, 1 |
|
Unit |
n/a |
|
Busy |
Description |
Indicates this function block is executing |
Data type |
BOOL |
|
Range |
0, 1 |
|
Unit |
n/a |
|
Error |
Description |
Indicates an invalid input was specified |
Data type |
BOOL |
|
Range |
0, 1 |
|
Unit |
n/a |
|
ErrorID |
Description |
Indicates the error if the Error output is high
|
Data type |
INT |
|
Range |
— |
|
Unit |
n/a |
|
CamTableID |
Description |
Indicates the ID number of the profile to be used with MC_CamIn |
Data type |
INT |
|
Range |
0 - 255 |
|
Unit |
n/a |
Usage
- Each positive transition of the Enable input will create a unique Cam ID and store the profile information in a table. The number of unique Cam IDs is limited to 256. If the application attempts to create more than 256 Cam IDs, the Error output will be true and the ErrorID output will be
22
(Too Many Profiles
). It is only necessary to call MC_CamTblSelect once for each Profile/Periodic/MasterAbsolute/SlaveAbsolute configuration to be used. - The Periodic input selects if the profile is to repeat each cycle. If the profile is not periodic and the master axis moves beyond the profile range, the slave stops at the end of the profile.
If the master axis moves back into the profile range, the slave resumes following the profile.
- If the MasterAbsolute input is ON, the profile is in reference to the Master axis position.
If the MasterAbsolute input is OFF, the profile is in reference to the Master axis position at the time the MC_CamIn function block is executed. - Similarly, the SlaveAbsolute input selects if the slave positions are in reference to the Slave axis position or the Slave axis position at the time the MC_CamIn function block is executed.
If the SlaveAbsolute input is set to TRUE, the axis jumps back to the starting position. If you set this input to FALSE, the axis will no longer jump back; but rather, as the profile repeats, the slave moves relative to the start of each period.
Related Functions
Example
Structured Text
(* MC_CamTblSelect ST example *) //call this function block every scan until "Done"
Inst_MC_CamTblSelect(DoSelect, 'Profileb', TRUE, TRUE, TRUE ); //Inst_MC_CamTblSelect is instance of MC_CamTblSelect
CamSelDone := Inst_MC_CamTblSelect.Done; //store Done output to user defined variable
IF CamSelDone = TRUE THEN//when function block is "done" store
CamTableID := Inst_MC_CamTblSelect.CamTableID; //CamTableID in user defined variable
END_IF;
See also how this function is used in the Hole punch project here
Ladder Diagram
See also MC_CamIn for examples.