IEC-Funktionsaufruf mit Methode zum Herstellen eines Grundzustands
Beim Starten eines Roboterprogramms wird der sogenannte Grundzustand des Roboters hergestellt. Es besteht die Möglichkeit, dass beim Herstellen des Grundzustands durch den Roboter automatisch auch eine entsprechende Methode des an den Roboter geknüpften IEC-Funktionsaufrufs aufgerufen wird. In dieser "EstablishBasicState"-Methode können Zustände und Variablen der IEC-Funktionsaufrufe initialisiert werden. So kann man zu Beginn des Roboterprogramms einen definierten Zustand herstellen. Dies kann z. B. nützlich sein, wenn ein IEC-Funktionsaufruf interne Zustände hat oder mit Variablen/Merkern arbeitet. Insbesondere bei Abbruch des Roboterprogramms kann so im nächsten Durchlauf wieder ein definierter Zustand hergestellt werden und das Roboterprogramm funktioniert unabhängig von der Vorgeschichte.
Beispiel: In einem IEC-Funktionsaufruf soll eine bestimmte Zeit gewartet werden bevor eine Aktion ausgelöst wird. Wenn das Programm nun "irgendwann" abgebrochen wird, ist es über die "EstablishBasicState"-Methode möglich, beim Start des Programms die Zeit zurückzusetzen, sodass der IEC-Funktionsaufruf wieder mit einem definierten Zustand startet und nicht noch evtl. alte Werte aus dem abgebrochenen Programmablauf vorliegen.
Damit die EstablishBasicState-Methode des IEC-Funktionsaufrufs automatisch vom Roboter aufgerufen werden kann, muss der Baustein neben der ICallF-Schnittstelle zusätzlich die Schittstelle "IEstablichBasicState" implementieren (SEW_MK_Robotics.SEW_IRobLangPub.IEstablishBasicState). Zu diesem Interface gehört die Methode "EstablishBasicState" in welcher das Herstellen des Grundzustands der IEC-Funktionen realisiert werden kann. Diese Methode wird beim Starten eines Programms dann automatisch aufgerufen, sobald der Baustein wie im Kapitel IEC-Funktionsaufruf für das SRL-Programm beschrieben über LinkICallF an den Roboter verknüpft wurde.
HINWEIS: Die Methode "EstablishBasicState" wird bei Programmstart nur ein mal aufgerufen und muss dann den Wert TRUE zurückgeben. Falls nicht TRUE zurückgegeben wird, geht der Roboter in den Fehlerzustand und das Programm wird nicht gestartet.