Erste Inbetriebnahme

Übersicht

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

Instanzen

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.

Initialisierung

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.SchneiderElec­tricRobot(). Weisen Sie fbP4S0R.ifSchneiderElectricRobot am Eingang i_ifRobot zu.

Die Konfiguration wird durch den Aufruf der Methoden SetEmergencyParameter() und ConfigDone() abgeschlossen.

Zusätzliche Konfiguration

Der Lexium P Robot kann mittels mehrerer Methoden angepasst werden:

oOptionalEquipment()

oSetKinematicParameter()

oSetControlLoopParameter()

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 Schneide­rElectricRobotics verwendet werden.

Deklaration


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

Code

// 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