Dieses Kapitel erläutert, welche Schritte unternommen werden müssen, um einen Lexium T Robot im Programm in Betrieb zu nehmen.
Dazu sind folgende Bibliotheken erforderlich:
SchneiderElectricRobotics
SchneiderElectricRobotics Parameters
Robotic oder RoboticModule
Jeder Lexium T Robot benötigt seine eigene Instanz von SER.FB_RoboticTSeries. (zum Beispiel fbTSeries: SER.FB_RoboticTSeries) und dessen Instanz von ROB.FB_Robot (zum Beispiel fbRobot: ROB.FB_Robot) oder eine Instanz des RM.FB_RoboticModule.
Initialisierung von Lexium T Robot durch Aufruf der Methode fbTSeries.InitializeRobot().
Für die Hauptantriebe A und B muss der Parameter angepasst werden.
Verbinden Sie den FB_RoboticTSeries mit dem FB_Robot durch entsprechende Konfiguration des FB_Robot. Rufen Sie fbRobot.ifConfiguration.SchneiderElectricRobot() für das RoboticModule auf und entsprechend stRobotInterface.iq_ifConfiguration.SchneiderElectricRobot(). Weisen Sie am Eingang i_ifRobot fbTSeries.ifSchneiderElectricRobot zu.
Die Konfiguration wird durch den Aufruf der Methoden SetEmergencyParameter() and ConfigDone() abgeschlossen.
Siehe Beispiel unten.
Der Lexium T Robot kann mittels mehrerer Methoden angepasst werden:
SetKinematicParameter()
SetControlLoopParameter()
Aufrufen des Programms SER.SR_SlowCyclicExecution in einer Task mit 10-ms-Taskintervall.
Das Programm muss nur einmal aufgerufen werden, selbst wenn mehrere Roboter von SchneiderElectricRobotics verwendet werden.
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);
Parameter |
A – MH3 |
B – MH3 |
A – MH3 – Schwerlast |
B – MH3 – Schwerlast |
A - ILM |
B - ILM |
---|---|---|---|---|---|---|
|
TRUE |
FALSE |
TRUE |
FALSE |
TRUE |
FALSE |
|
1 |
|||||
|
55 |
|||||
|
3222 |
3222 |
3222 |
|||
|
'P-0-1069.0.0' |
|||||
|
360 |
Parameter |
A – MH3 |
B – MH3 |
A – MH3 – Schwerlast |
B – MH3 – Schwerlast |
A - ILM |
B - ILM |
---|---|---|---|---|---|---|
|
TRUE |
FALSE |
TRUE |
FALSE |
TRUE |
FALSE |
|
2 |
|||||
|
77 |
|||||
|
8185 |
8325 |
5800 |
|||
|
'P-0-1069.0.0' |
|||||
|
360 |