Allgemeine Regeln

  • Eingabeparameter
  • Bei Funktionsbausteinen mit einem Execute-Eingang, werden die Parameter mit steigender Flanke des Execute-Eingangs übernommen. Um einen Parameter zu ändern, müssen die Eingabeparameter geändert und am Execute-Eingang muss erneut eine steigende Flanke erzeugt werden.
  • Bei Enable werden die Parameter mit steigender Flanke des Enable-Eingangs übernommen und können kontinuierlich (ohne erneute steigende Flanke am Enable-Eingang) verändert werden.
  • Eingänge überschreiten Applikationsgrenzen
  • Wird ein Funktionsbaustein mit Parametern angesteuert, die zu einer Verletzung der Applikationsgrenzen führen, fährt die Achse los und generiert bei der tatsächlichen Überschreitung einer Applikationsgrenze einen Fehler.
  • Fehlende Eingabeparameter
  • Wird ein Eingang eines Funktionsbausteins nicht belegt, wird der Wert aus dem vorherigen Aufruf dieser Instanz verwendet. Beim ersten Aufruf wird der Initialwert angewendet.
  • Beschleunigungs-, Verzögerungs- und Ruckeingänge
  • Ist der Eingang Ruck auf 0 gesetzt, wird das als Maximalwert interpretiert.
  • Ist einer der Eingänge Bremsverzögerung oder Beschleunigung auf 0 gesetzt, fährt die Achse nicht los. Es wird in diesem Fall kein Fehler ausgegeben.
  • Exklusivität der Ausgangssignale
  • Mit Execute: Von den Ausgängen Busy, Done, Error und CommandAborted ist immer nur einer gesetzt wenn Execute TRUE ist.
  • Mit Enable: Von den Ausgänge Valid und Error ist immer nur einer gesetzt wenn Enable TRUE ist.
  • Ausgangsstatus
  • Mit Execute: Die Ausgänge Done, Error, ErrorID und CommandAborted werden mit fallender Flanke von Execute zurückgesetzt. Die fallende Flanke von Execute stoppt und beeinflusst jedoch nicht die Ausführung des tatsächlichen Funktionsbausteins. Die Ausgänge werden auch dann für einen Zyklus gesetzt, wenn der Eingang Execute noch während der Bearbeitung des Funktionsbausteins auf FALSE gesetzt wird.
  • Erhält eine Instanz eines Funktionsbausteins eine neue positive Flanke am Eingang Execute, bevor dieser beendet wurde (als Befehlsfolge auf derselben Instanz), gibt der Funktionsbaustein für die vorherige Aktion kein Feedback zurück, wie Done oder CommandAborted.
  • Bei Enable: Die Ausgänge Valid, Enabled, Busy, Error und ErrorID werden mit fallender Flanke Enable zurückgesetzt.
  • Verhalten des Done-Ausgangs
  • Der Ausgang Done wird gesetzt, wenn die angeforderte Aktion erfolgreich abgeschlossen wurde. Bei mehreren Funktionsbausteinen, die in einer Sequenz auf derselben Achse arbeiten, gilt Folgendes: Wenn eine Bewegung auf einer Achse mit einer anderen Bewegung auf derselben Achse unterbrochen wird, ohne das Ziel erreicht zu haben, wird Done des ersten Funktionsbausteins nicht gesetzt.
  • Verhalten des Busy-Ausgangs
  • Mit Execute kann jeder Funktionsbaustein einen Ausgang Busy haben, der anzeigt, dass der Funktionsbaustein noch nicht fertig ist und neue Ausgabewerte erwartet werden können. Busy wird mit der steigenden Flanke von Execute gesetzt und zurückgesetzt, wenn einer der Ausgänge Done, Aborted oder Error gesetzt wird.
  • Mit Enable kann jeder Funktionsbaustein einen Ausgang Busy haben, der anzeigt, dass der Funktionsbaustein arbeitet und neue Ausgangswerte erwartet werden können. Busy wird mit der steigenden Flanke von Enable gesetzt und bleibt so lange gesetzt, wie der Funktionsbaustein eine Aktion durchführt.
  • Es wird empfohlen, den Funktionsbaustein mindestens so lange in der aktiven Schleife des Applikationsprogramms zu belassen, wie Busy TRUE ist, da sich die Ausgänge weiterhin ändern können.
  • Verhalten von InVelocity, InGear, InTorque und InSync
  • Die Ausgänge InVelocity, InGear, InTorque und InSync (im Folgenden Inxxx) verhalten sich anders als der Ausgang Done.
  • Solange der Funktionsbaustein aktiv ist, wird Inxxx gesetzt, wenn der Sollwert gleich dem Istwert ist. Inxxx wird zurückgesetzt, wenn der Sollwert ungleich dem Istwert ist.
  • Der Ausgang InVelocity wird beispielsweise gesetzt, wenn die Istgeschwindigkeit gleich der vorgegebenen Geschwindigkeit ist. Dies ist bei den entsprechenden Funktionsbausteinen bei den Ausgängen InGear, InTorque und InSync ähnlich.
  • Inxxx wird auch dann aktualisiert, wenn Execute FALSE ist, solange der Funktionsbaustein die Achse steuert (Active und Busy sind gesetzt).
  • Ausgang "Aktiv"
  • Dieser Ausgang wird gesetzt, wenn der Funktionsbaustein die Bewegung der entsprechenden Achse steuert. Bei einer Achse können mehrere Funktionsbausteine Busy sein, aber es kann immer nur einer Active sein. Ausnahmen sind Funktionsbausteine, die parallel arbeiten, wie MC_MoveSuperimposed und MC_Phasing, bei denen mehr als ein Funktionsbaustein, der sich auf eine Achse bezieht, aktiv sein kann.
  • Verhalten des CommandAborted-Ausgangs
  • CommandAborted wird gesetzt, wenn eine Bewegung durch einen anderen Bewegungsbefehl unterbrochen wird.
  • Das Reset-Verhalten von CommandAborted entspricht dem von Done. Wenn CommandAborted auftritt, werden die anderen Ausgangssignale wie InVelocity zurückgesetzt.
  • Enable und Valid
  • Der Eingang Enable ist mit einem Valid-Ausgang gekoppelt. Enable ist pegelgesteuert und Valid bedeutet, dass am Funktionsbaustein gültige Ausgänge ausgegeben werden.
  • Liegt ein Funktionsbaustein-Fehler vor, wird Valid FALSE. Wenn der Fehlerzustand verschwindet, werden die Werte wieder angezeigt und der Ausgang Valid wird wieder gesetzt.
  • Position und Distance
  • Position ist ein Wert, der innerhalb eines Koordinatensystems definiert wird. Distance ist ein relatives Maß in Bezug auf technische Einheiten. Distance ist die Differenz zwischen 2 Positionen.
  • Vorzeichenregeln
  • Die Werte Bremsverzögerung, Beschleunigung und Ruck sind immer positiv. Geschwindigkeit, Position und Abstand können sowohl positiv als auch negativ sein.
  • Fehlerbehandlungsverhalten
  • Alle Funktionsbausteine haben 2 Fehlerausgänge. Diese Ausgänge sind wie folgt definiert:
    • Error: Steigende Flanke von Error meldet, dass während der Ausführung des Funktionsbausteins ein Fehler aufgetreten ist.
    • ErrorID: Eindeutige Fehlernummer
  • Fehlerarten:
    • Funktionsbausteine (z. B. Parameter außerhalb eines zulässigen Wertebereichs)
    • Kommunikation
    • Antriebsfehler
  • Ein Fehler an einer Funktionsbaustein-Instanz muss nicht zu einem Achsfehler und einem Zustandsübergang nach ErrorStop führen.
  • Die Fehlerausgänge des jeweiligen Funktionsbausteins werden mit fallender Flanke von Execute und Enable zurückgesetzt.
  • BufferMode
  • Einige der Funktionsbausteine haben einen BufferMode-Eingang. Mit diesem Eingang kann der Funktionsbaustein entweder in einem "ungepufferten Modus" (Standardverhalten) oder in einem "gepufferten Modus" arbeiten. Der Unterschied zwischen diesen Betriebsarten ist, wann sie ihre Aktion starten sollten: Ein Befehl in einem "ungepufferten Modus" wirkt sofort, auch wenn dadurch eine weitere Bewegung unterbrochen wird. Der Puffer wird gelöscht. Ein Befehl in einem "gepufferten Modus" wartet, bis der aktuelle Funktionsbaustein seinen Done-Ausgang (oder InPosition oder InVelocity,..) setzt.