Dieses Kapitel erläutert, welche Schritte unternommen werden müssen, um einen Lexium P Robot im Programm in Betrieb zu nehmen.
Dazu sind folgende Bibliotheken erforderlich:
oSchneiderElectricRobotics
oSchneiderElectricRobotics Parameters
oRobotic oder RoboticModule
Jeder Lexium P Robot benötigt seine eigene Instanz von SER.FB_RoboticPSeries. (zum Beispiel fbP4S0R : SER.FB_RoboticPSeries) und dessen Instanz von ROB.FB_Robot (zum Beispiel fbRobot: ROB.FB_Robot) oder eine Instanz des RM.FB_RoboticModule.
Initialisieren Sie den Lexium P Robot durch Aufruf der Methode fbP4S0R.InitializeRobot().
Wenn der Ausgang q_xRotationalAxisRequired TRUE ist, dann hat der von Ihnen ausgewählte Roboter eine Drehachse und Sie müssen fbP4S0R.InitializeRotationalAxis() aufrufen.
Verbinden Sie den FB_RoboticPSeries mit dem FB_Robot durch entsprechende Konfiguration des FB_Robot. Rufen Sie fbRobot.ifConfiguration.SchneiderElectricRobot() für das RoboticModule auf und dementsprechend stRobotInterface.iq_ifConfiguration.SchneiderElectricRobot(). Weisen Sie fbP4S0R.ifSchneiderElectricRobot am Eingang i_ifRobot zu.
Die Konfiguration wird durch den Aufruf der Methoden SetEmergencyParameter() und ConfigDone() abgeschlossen.
Der Lexium P Robot kann mittels mehrerer Methoden angepasst werden:
Aufrufen von SER.SR_SlowCyclicExecution
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;
fbPSeries : SER.FB_RobotPSeries;
etDiag : GD.ET_Diag;
etDiagExt : ROB.ET_DiagExt;
//etDiagExtRm : RM.ET_DiagExt;
etDiagExtSer : SER.ET_DiagExt;
etDiagExtSerp : SERP.ET_DiagExt;
sMsg : STRING[80];
xRotationalAxisRequired : BOOL;
lrPeriodStart : LREAL;
lrPeriodLength : LREAL;
END_VAR
// Get interface instance
ifConfiguration := fbRobot.ifConfiguration;
// ifConfiguration := stRobotInterface.iq_ifConfiguration;
// Initialize P-Series
fbPSeries.InitializeRobot(i_etRobotType := SERP.ET_RobotPSeries.VR,
i_ifDriveA := DRV_RobotDriveA,
i_ifDriveB := DRV_RobotDriveB,
i_ifDriveC := DRV_RobotDriveC,
q_etDiag => etDiag,
q_etDiagExt => etDiagExt,
q_sMsg => sMsg,
q_xRotationalAxisRequired => xRotationalAxisRequired);
IF xRotationalAxisRequired THEN
fbPSeries.InitializeRotationalAxis(i_ifDrive := DRV_RobotDriveRotAx,
i_lrPeriodStart := lrPeriodStart,
i_lrPeriodLength := lrPeriodLength,
q_etDiag => etDiag,
q_etDiagExt => etDiagExt,
q_sMsg => sMsg);
END_IF
// Configure P-Series
ifConfiguration.SchneiderElectricRobot( i_ifRobot := fbPSeries.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);
Erforderliche Parameter für die eingesetzten Antriebe
Parameter |
A |
B |
C |
Drehachse |
---|---|---|---|---|
MotorDirection |
FALSE |
FALSE |
FALSE |
|
GearIn |
2 |
2 |
2 |
1 |
GearOut |
77 |
77 |
77 |
10 |
UserDrivePeakCurrent |
5500 |
5500 |
5500 |
875 |
AdditionalIDNListMDT |
'P-0-1069.0.0' |
'P-0-1069.0.0' |
'P-0-1069.0.0' |
'P-0-1069.0.0' |
FeedConstant |
360 |
360 |
360 |
360 |
Parameter für das Tippen der Hauptachsen A, B, C
Parameter |
A |
B |
C |
---|---|---|---|
MaxVelocity |
1,0 |
1,0 |
1,0 |
MaxAcceleration |
10,0 |
10,0 |
10,0 |
MaxDeceleration |
0,0 |
0,0 |
0,0 |
Ramp |
50,0 |
50,0 |
50,0 |
Parameter für das Tippen der Hauptachsen RotationalAxis (AuxAx)
Parameter |
AuxAx |
---|---|
MaxVelocity |
1,0 |
MaxAcceleration |
10,0 |
MaxDeceleration |
0,0 |
Ramp |
50,0 |
Parameter für das Tippen in der kartesischen Richtung X, Y, Z
Parameter |
X13.3 |
S |
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 |