Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens SIMOTION SCOUT Funktionshandbuch Seite 80

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

Werbung

Programmieren mit Technologieobjekten
3.2 Programmierung der Technologieobjekte (TO)
Im Wesentlichen unterscheidet man zwischen asynchroner und synchroner
Befehlsbearbeitung:
● Asynchrone Befehlsbearbeitung:
● Synchrone Befehlsbearbeitung:
Tabelle 3- 12 Beispiel für asynchrone Programmbearbeitung (zyklische Programmierung) - Teil 1
INTERFACE
USEPACKAGE CAM;
PROGRAM ProgramCycle;
END_INTERFACE
IMPLEMENTATION
PROGRAM ProgramCycle
VAR
boStartCommand : BOOL; // Kommando - Befehl absetzen
boCommandStarted : BOOL; // Hilfsvariable - Befehl abgesetzt
boCommandDone : BOOL; // Hilfsvariable - Befehl ausgeführt
i32Ret : DINT; // Rückgabewert Systemfunktionen
sCommandId : CommandIdType; // CommandId
// Rückgabewert - _getStateOfAxisCommand
sRetCommandState : StructRetCommandState;
// Instanz des System-FB zur Flankenerkennung
r_trig_1 : R_TRIG;
80
Die TO-Funktion wird an das Technologieobjekt übergeben und das Programm
unmittelbar fortgesetzt. Hierzu wird der
In diesem Fall ist seitens der Applikation sicherzustellen, dass TO-Funktionen nur
einmalig angestoßen werden und Rückmeldungen durch Abfrage des Achs- bzw.
Befehlsstatus explizit ausgewertet werden (siehe Diagnose der Befehlsbearbeitung).
Beispiel: siehe die beiden folgenden Bilder
Diese Art der Bewegungsführung wird als
in allen Tasks des Systems zulässig und ist insbesondere für die Programmierung
zyklischer Tasks vorgesehen.
Die asynchrone Befehlsbearbeitung ist die Voreinstellung, wenn der Parameter
nextCommand
nicht angegeben wird.
Die TO-Funktion wird inklusive der Parametrierung zur Weiterschaltung an das
Technologieobjekt übergeben und die aufrufende Task angehalten. Das
Technologieobjekt führt die Funktion aus und veranlasst die Fortsetzung der
Programmbearbeitung, sobald die spezifizierte Weiterschaltbedingung erfüllt ist oder der
Befehl abgebrochen wurde. Hierzu wird der
Weiterschaltbedingung gesetzt.
Beispiel: siehe Asynchrone Programmbearbeitung (sequentielle Programmierung).
Diese Art der Bewegungsführung wird als
wird insbesondere durch die MotionTasks unterstützt.
Die Programmierung von sequentiellen Befehlsabläufen in zyklischen Tasks führt zu
Zeitüberschreitungen der Tasks und somit zu Laufzeitfehlern.
nextCommand
= IMMEDIATELY gesetzt.
zyklische Programmierung
nextCommand
auf die gewünschte
sequentielle Programmierung
bezeichnet. Sie ist
bezeichnet. Sie
Basisfunktionen
Funktionshandbuch, 05/2009

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis