Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens SIMOTION SCOUT Funktionshandbuch Seite 84

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

Werbung

Programmieren mit Technologieobjekten
3.2 Programmierung der Technologieobjekte (TO)
Statusabfrage nach Ende oder Abbruch eines Befehls
Standardmäßig wird ein Befehl nach Beendigung oder Abbruch aus der internen
Befehlsverwaltung des TO entfernt. Somit kann der Status
Befehles nicht durch den Aufruf o. g. Systemfunktionen diagnostiziert werden.
Damit es möglich ist, den Befehlszustand auch nach Beendigung oder Abbruch des Befehls
abzufragen, muss die CommandId des betreffenden Befehls der internen Befehlsverwaltung
des TO mitgeteilt werden. Dies geschieht über die Systemfunktion
(z. B. _bufferAxisCommandId)
Nach erfolgter Auswertung des Status
der Befehlsverwaltung des TO entfernt werden. Dies geschieht über die Systemfunktion
_removeBuffered...CommandId
Beispiel 1
Ergebnis
Beispiel 2
Ergebnis
Die Größe des CommandID-Puffers ist begrenzt und kann z.B. an der Achse mit dem
Konfigdatum
werden. Sie können so dem TO mitteilen, wie viele Befehle maximal gleichzeitig verwaltet
werden müssen
Beim STOP-RUN Übergang werden die gepufferten Command-ID gelöscht. Der
CommandID-Puffer ist danach also leer.
Beispiel: siehe Asynchrone Programmbearbeitung (zyklische Programmierung), Teil 1 und
Teil 2.
Das Verhalten der "buffer und removeBuffer" Befehle ist bei allen TO, die diese
Funktionalität unterstützen gleich (Ausnahmen: Namen der Befehle und Name des
Konfigdatums für die Größe des Puffers).
Hinweis
Die Beschreibung gilt sinngemäß auch für den Externen-Geber.
84
.
(z. B.
Der _buffer... Befehl wird nicht abgesetzt und der _pos Befehl, für den die Abfrage
erfolgen soll, ist bereits beendet
Da zu der im _getStateOf...CommandId angegebenen CommandId kein passender
Befehl gefunden wird (der _pos ist ja bereits beendet), wird NOT_EXISTENT
('commandId' ist nicht bekannt oder Befehl ist bereits beendet) zurückgegeben.
Der _buffer... Befehl wird abgesetzt und der _pos Befehl, für den die Abfrage erfolgen
soll, ist bereits beendet.
Der _pos Befehl wird zwar nicht mehr gefunden, aber das Ergebnis wurde im
CommandId-Puffer abgelegt. Das Ergebnis ist jetzt entweder EXECUTED (Bearbeitung
des Befehls beendet) oder ABORTED (Bearbeitung des Befehls abgebrochen).
TypeOfAxis.DecodingConfig.NumberOfMaxBufferedCommandId
Ende
Ende
Abbruch
bzw.
muss die CommandId explizit aus
_removeBufferedAxisCommandId
Abbruch
oder
eines
_buffer...CommandId
).
eingestellt
Basisfunktionen
Funktionshandbuch, 05/2009

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis