Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens SIMOTION SCOUT Funktionshandbuch Seite 81

Vorschau ausblenden Andere Handbücher für SIMOTION SCOUT:
Inhaltsverzeichnis

Werbung

END_VAR
r_trig_1 (boStartCommand); // Aufruf der Flankenerkennung
IF r_trig_1.q THEN
// Anforderung einer systemweit eindeutigen CommandId
sCommandId := _getCommandId ();
// CommandId am TO registrieren
// --> Diagnose von Abbruch und Ende des Befehls möglich
i32Ret := _bufferAxisCommandId (
axis := Axis_1,
commandId := sCommandId );
// Auswertung des Rückgabewertes der Systemfunktion
// ...
// Absetzen eines Befehls - Bewegen mit USER_DEFAULT-Werten
i32Ret := _move(
axis := Axis_1,
nextCommand := IMMEDIATELY,
commandId := sCommandId );
// Auswertung des Rückgabewertes der Systemfunktion
// ...
// Hilfsvariablen zur Koordination der Befehlsbearbeitung
boCommandStarted := TRUE;
boCommandDone := FALSE;
//---------------------------------------------------------------------
// Fortsetzung folgt
Tabelle 3- 13 Beispiel für asynchrone Programmbearbeitung (zyklische Programmierung) - Teil 2
// Fortsetzung
//---------------------------------------------------------------------
ELSIF boCommandStarted AND NOT boCommandDone THEN
// Abfrage Status der Befehlsbearbeitung
sRetCommandState := _getStateOfAxisCommand(
axis := Axis_1,
commandId := sCommandId );
IF sRetCommandState.functionResult = 0 THEN
IF sRetCommandState.commandIdState = EXECUTED THEN
// Befehl wurde ausgeführt (beendet)
boCommandStarted := FALSE;
boCommandDone := TRUE;
// Registrierte CommandId am TO entfernen
i32Ret := _removeBufferedAxisCommandId(
axis := Axis_1,
commandId := sCommandId );
END_IF;
ELSE
// Fehlerbehandlung Funktionsaufruf _getStateOfAxisCommand
Basisfunktionen
Funktionshandbuch, 05/2009
Programmieren mit Technologieobjekten
3.2 Programmierung der Technologieobjekte (TO)
81

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis