This chapter explains what steps have to be taken to operate a Lexium T Robot in the program.
The required libraries are:
oSchneiderElectricRobotics
oSchneiderElectricRobotics Parameters
oRobotic or RoboticModule
Every Lexium T Robot requires its own instance of SER.FB_RoboticTSeries. (for example fbTSeries: SER.FB_RoboticTSeries) and its instance of ROB.FB_Robot (for example fbRobot: ROB.FB_Robot) or an instance of the RM.FB_RoboticModule.
Initialize the Lexium T Robot by calling the method fbTSeries.InitializeRobot().
For the main drives A and B, the parameter needs to be adapted.
Connect the FB_RoboticTSeries to the FB_Robot by configuring the FB_Robot. Call fbRobot.ifConfiguration.SchneiderElectricRobot() for the RoboticModule and accordingly stRobotInterface.iq_ifConfiguration.SchneiderElectricRobot(). At the input i_ifRobot, assign fbTSeries.ifSchneiderElectricRobot.
The configuration is completed by calling the methods SetEmergencyParameter() and ConfigDone().
See example below.
The Lexium T Robot can be adapted with several methods:
Call SER.SR_SlowCyclicExecution
Call the program SER.SR_SlowCyclicExecution in a task with task interval 10 ms.
The program has to be called only once, even if several robots of SchneiderElectricRobotics are used.
VAR
ifConfiguration : ROB.IF_RobotConfiguration;
//ifConfiguration : RM.IF_Configuration;
fbTSeries : SER.FB_RobotTSeries;
etDiag : GD.ET_Diag;
etDiagExt : ROB.ET_DiagExt;
//etDiagExtRm : RM.ET_DiagExt;
etDiagExtSer : SER.ET_DiagExt;
etDiagExtSerp : SERP.ET_DiagExt;
sMsg : STRING[80];
END_VAR
// Get interface instance
ifConfiguration := fbRobot.ifConfiguration;
// ifConfiguration := stRobotInterface.iq_ifConfiguration;
// Initialize T-Series
fbTSeries.InitializeRobot(i_etRobotType := SERP.ET_RobotTSeries.VRK,
i_ifDriveA := DRV_RobotDriveA,
i_ifDriveB := DRV_RobotDriveB,
i_etConfigurationA := SERP.ET_RobotTSeriesConfiguration. ,
i_etConfigurationB := SERP.ET_RobotTSeriesConfiguration. ,
i_etPlane := ROB.ET_WorkingPlane.XZ,
q_etDiag => etDiag,
q_etDiagExt => etDiagExt,
q_sMsg => sMsg);
// Configure T-Series
ifConfiguration.SchneiderElectricRobot( i_ifRobot := fbTSeries.ifSchneiderElectricRobot,
q_etDiag => etDiag,
q_etDiagExt => etDiagExtSer,
q_sMsg => sMsg);
// Call configuration method for the emergency parameter
ifConfiguration.SetEmergencyParameter( i_lrMaxDeceleration := 10000.0,
i_lrRamp := 25.0,
q_etDiag => etDiag,
q_etDiagExt => etDiagExt,
q_sMsg => sMsg);
// Sign config done
ifConfiguration.ConfigDone(q_etDiag => etDiag,
q_etDiagExt => etDiagExt,
q_sMsg => sMsg);
Necessary Parameters for Applied Drives
Parameter |
A - SH3 |
B - SH3 |
A - SH3 - Heavy duty |
B - SH3 - Heavy duty |
A - ILM |
B - ILM |
---|---|---|---|---|---|---|
MotorDirection |
TRUE |
FALSE |
TRUE |
FALSE |
TRUE |
FALSE |
GearIn |
2 |
|||||
GearOut |
77 |
|||||
UserDrivePeakCurrent |
8185 |
8325 |
5800 |
|||
AdditionalIDNListMDT |
'P-0-1069.0.0' |
|||||
FeedConstant |
360 |
Parameters for Iogging Main Axes A, B
Parameter |
A |
B |
---|---|---|
MaxVelocity |
1.0 |
1.0 |
MaxAcceleration |
10.0 |
10.0 |
MaxDeceleration |
0.0 |
0.0 |
Ramp |
50.0 |
50.0 |
Parameters for Jogging Cartesian Direction X, Y, Z
Parameter |
X |
Y |
Z |
---|---|---|---|
MaxVelocity |
10.0 |
10.0 |
10.0 |
MaxAcceleration |
100.0 |
100.0 |
100.0 |
MaxDeceleration |
0.0 |
0.0 |
0.0 |
Ramp |
50.0 |
50.0 |
50.0 |