Methode Abgleich / Konfiguration / Logik und ModuleInterface
Zwei Methoden müssen in einem Roboter programmiert werden: Abgleich und Logik.
Mit der Methode Abgleich können Sie einen Code hinzufügen, um einen Roboter zu kalibrieren. Ein Abgleich ist erforderlich, wenn zum Beispiel ein Motor oder ein Getriebe ausgetauscht wurde.
Die Methode Abgleich hat einen Eingang (i_ifCalibration: SER.IF_RobotPSeriesCalibration) und einen Ausgang (q_xRequest).
oWenn ein Abgleich ausgeführt werden soll, muss der Ausgang q_xRequest auf TRUE gesetzt werden und während des Abgleichs auf TRUE gesetzt bleiben.
Wenn q_xRequest auf TRUE gesetzt wird, wird der Roboter deaktiviert, sodass er die Antriebe nicht verwendet.
oWenn der Roboter deaktiviert wird, wird i_ifCalibration validiert und i_ifCalibration kann zur Durchführung eines Abgleichs eingesetzt werden.
i_ifCalibration.xDone gibt Rückmeldung, wenn der Abgleich beendet ist.
Wenn den Methoden Variablen hinzugefügt werden, sind diese Variablen flüchtige Variablen und werden mit jedem Aufruf der Methode neu initialisiert. Wenn Sie Variablen benötigen, die ihre Daten speichern, siehe Datenaustausch mit dem ModuleInterface Speichern von Daten.
Wenn Sie Variablen zur Steuerung des Codes benötigen, siehe Datenaustausch mit dem ModuleInterface.
Beispiel für Abgleichsmethode:
ModuleInterface (links):
oi_xEnableCalibration und i_xCalibrationStandard sind Eingangsvariablen, die zur Steuerung des Abgleichs angelegt wurden. Siehe Datenaustausch mit dem ModuleInterface.
oetDiagCalibration, etDiagExtCalibration, sMsgCalibration, xCalibrationDone und xCalibrationStarted sind Variablen, beispielsweise zum Lesen des aktuellen Zustands. Siehe Datenaustausch mit dem ModuleInterface Speichern von Daten.
Methode Abgleich (rechts):
oVerwenden Sie die im ModuleInterface in der Methode Abgleich angelegten Variablen.
oStellen Sie sicher, dass i_ifCalibration gültig ist, bevor es verwendet wird. (Zum Beispiel Zeile 3 der Implementierung der Methode Abgleich: IF (i_ifCalibration <> 0) THEN).
oEine Methode zum Start des Abgleichs (zum Beispiel StandardProcedure) darf nur einmal aufgerufen werden, nicht zyklisch. (Zeile 4 bis 9 der Implementierung der Methode Abgleich).
oi_ifCalibration.xDone gibt Rückmeldung, wenn der Abgleich ausgeführt worden ist. Für nähere Informationen über den Abgleich siehe das SchneiderElectricRobotics-Bibliothekshandbuch.
oAktualisieren Sie Ihren Aufruf des Roboters. (Fügen Sie i_xEnableCalibration und i_xCalibrationStandard zum Aufruf des Roboters hinzu.)
Wenn Sie die Option zur Codeerzeugung für Non TemplateNon Template-Roboter auswählen, wird der Aufruf des Roboters automatisch aktualisiert.
Um dieses Abgleichbeispiel zu starten, müssen Sie die Eingänge i_xEnableCalibration und i_xCalibrationStandard auf TRUE setzen. i_xEnableCalibration muss während des Abgleichs auf TRUE gesetzt sein.
Sie können die Methode Konfiguration für eine zusätzliche Konfiguration einsetzen, zum Beispiel, um ein Trackingsystem hinzuzufügen. Diese Methode wird vor ConfigDone einmal aufgerufen.
Mit der Methode Logik können Sie Code hinzufügen, zum Beispiel zur Unterstützung der Roboterbewegung.
Die Methode Logik hat einen Eingang (i_etRotationalAxis) und einen Ausgang (iq_stRoboticModuleItf).
oDer Eingang i_etRotationalAxis liefert Informationen darüber, welche Roboterkomponente (AuxAx) als Drehachse verwendet wird (wenn Sie einen Roboter mit Drehachse konfiguriert haben).
Ansonsten ist es 0 (ROB.ET_RobotComponent.None). Diese Information ist zum Beispiel für einen Befehl IF_Motion.MoveSync oder IF_RobotMotion.MoveAsync erforderlich.
oMit dem Eingang/Ausgang (iq_stRoboticModuleItf) erhalten Sie zum Beispiel Zugriff auf IF_RobotMotion zur Einstellung von Bewegungsbefehlen oder auf IF_RobotFeedback zur Abfrage von Informationen zum Zustand des Roboters.
Wenn Variablen von IF_RobotFeedback außerhalb der Logik-Methode verwendet werden sollen (zum Beispiel für ein Trace), dann kann eine Variable vom Typ ROB.IF_RobotFeedback im ModuleInterface hinzugefügt und iq_stRoboticModuleItf.iq_ifFeedback aus der Logik zur neuen Variablen kopiert werden.
Prüfen Sie vor Verwendung des Interface, dass es gültig ist (zum Beispiel iq_stRoboticModuleItf.iq_ifFeedback <> 0).
Wenn den Methoden Variablen hinzugefügt werden, sind diese Variablen flüchtige Variablen und werden mit jedem Aufruf der Methode neu initialisiert. Wenn Sie Variablen benötigen, die ihre Daten speichern, siehe Datenaustausch mit dem ModuleInterface Speichern von Daten.
Wenn Sie Variablen zur Steuerung des Codes benötigen, siehe Datenaustausch mit dem ModuleInterface.