Allgemeine Regeln für MC-Funktionsbausteine

Für alle MC-Funktionsbausteine gelten die nachfolgend beschriebenen Regeln. Diese stellen eine definierte Abarbeitung durch das SPS-Programm sicher.

Ausschließlichkeit der Ausgänge

Die Ausgänge „Busy“, „Done“, „Error“ und „CommandAborted“ schließen sich gegenseitig aus, d. h. an einem Funktionsbaustein kann zur gleichen Zeit nur einer dieser Ausgänge TRUE sein. Sobald der Eingang „Execute“ TRUE wird, muss einer der Ausgänge TRUE werden. Zur gleichen Zeit kann dabei jedoch nur einer der Ausgänge „Active“, „Done“, „Error“ und „CommandAborted“ TRUE sein.

Eine Ausnahme ist das Bewegungskommando MC_Stop. Dieses setzt den Ausgang „Done“ auf TRUE, sobald die Achse gestoppt ist. Dennoch bleiben auch die Ausgänge „Busy“ und „Active“ TRUE, da die Achse verriegelt wird. Erst nachdem der Eingang „Execute“ auf FALSE gesetzt wird, wird die Achse entriegelt und die Ausgänge „Busy“ sowie „Active“ werden auf FALSE gesetzt.

Ausgangszustand

Wenn der Funktionsbaustein nicht aktiv ist, werden die Ausgänge „Done“, „Error“, „ErrorID“ und „CommandAborted“ mit einer fallenden Flanke am Eingang „Execute“ zurückgesetzt. Die fallende Flanke am Eingang „Execute“ beeinflusst jedoch nicht die Kommandoausführung.

Wenn der Eingang „Execute“ bereits während der Kommandoausführung zurückgesetzt wird, ist sichergestellt, dass einer der Ausgänge am Ende des Kommandos für einen SPS-Zyklus gesetzt wird. Erst danach werden die Ausgänge zurückgesetzt.

Wenn der Eingang „Execute“ während der Ausführung eines Kommandos mehrfach getriggert wird, gibt der Funktionsbaustein keinerlei Rückmeldung, führt aber auch kein weiteres Kommando aus.

Eingangsparameter

Die Eingangsparameter werden mit steigender Flanke übernommen. Um die Parameter zu ändern, muss das Kommando neu getriggert werden, nachdem es beendet wurde. Wenn ein Eingangsparameter nicht an den Funktionsbaustein übergeben wird, bleibt der zuletzt an diesen Baustein übergebene Wert gültig. Beim ersten Aufruf sind sinnvoller Werte zu parametrieren.

Position und Distanz

Der Eingang „Position“ bezeichnet einen definierten Wert innerhalb eines Koordinatensystems. Der Eingang „Distance“ ist dagegen ein relatives Maß, also der Abstand zweier Positionen. Sowohl „Position“, als auch „Distance“ werden in technischen Einheiten, z. B. mm oder °, entsprechend der Skalierung der Achse angegeben.

Dynamikparameter

Die Dynamikparameter für Move-Funktionen werden in technischen Einheiten mit der Zeitbasis Sekunde angegeben. Ist eine Achse beispielsweise in Millimetern skaliert, haben die Parameter folgende Einheiten:

Velocity

mm/s

Acceleration

mm/s2

Deceleration

mm/s2

Fehlerbehandlung

Alle Funktionsbausteine haben zwei Fehlerausgänge, um Fehler während der Kommandoausführung anzuzeigen. Der Ausgang „Error“ zeigt den Fehler an und der Ausgang „ErrorID“ gibt eine ergänzende Fehlernummer aus. Die Ausgänge „Done“ und „InVelocity“ bezeichnen eine erfolgreiche Kommandoausführung und werden nicht gesetzt, wenn der Ausgang „Error“ TRUE ist.

Am Ausgang der Funktionsbausteine werden Fehler unterschiedlichen Typs signalisiert. Der Fehlertyp wird nicht explizit angegeben, sondern hängt von der Fehlernummer ab, die systemweit eindeutig vergeben ist.

Fehlertypen

Verhalten des Done-Ausgangs

Der Ausgang „Done“ (oder auch alternativ „InVelocity“) wird gesetzt, wenn ein Kommando erfolgreich ausgeführt wurde.

Verhalten des CommandAborted-Ausgangs

Der Ausgang „CommandAborted“ wird gesetzt, wenn ein Kommando unterbrochen wird.

Verhalten des Busy-Ausgangs

Der Ausgang „Busy“ zeigt an, dass der Funktionsbaustein aktiv ist. Der Baustein kann nur dann mit einer steigenden Flanke am Eingang „Execute“ getriggert werden, wenn der Ausgang „Busy“ FALSE ist. „Busy“ wird sofort mit der steigenden Flanke am Eingang „Execute“ gesetzt und erst zurückgesetzt, wenn das Kommando erfolgreich oder auch nicht erfolgreich beendet wurde. Solange der Ausgang „Busy“ TRUE ist, muss der Funktionsbaustein zyklisch aufgerufen werden, um das Kommando ausführen zu können.

Verhalten des Active-Ausgangs

Der Ausgang „Active“ eines Bausteins zeigt an, dass der Baustein die Kontrolle über die Achse hat.

Options-Eingang

Viele Funktionsbausteine haben einen Eingang „Options“, der in einer Datenstruktur zusätzliche selten benötigte Optionen enthält. Um die Grundfunktion des Funktionsbausteins auszuführen, werden die Optionen oft nicht benötigt, sodass der Eingang unbelegt bleiben kann. Nur wenn in der Dokumentation ausdrücklich auf bestimmte Optionen hingewiesen wird, muss die Options-Datenstruktur vom Anwender belegt werden.