Planar-Part
Ab Version V3.2.60: Das Part Feature, um welches es in diesem Abschnitt geht, steht zur Verfügung.
Der MC_PlanarPart ist ein PLC-Softwareobjekt, das den Part in der PLC repräsentiert. Es zeigt den Zustand des Parts an und bietet Methoden, um den Zustand zu ändern.
Die Verbindung des MC_PlanarParts wird indirekt über die MC_PlanarEnvironment hergestellt. Dazu muss nach dem Starten der PLC die Initialize-Methode des MC_PlanarParts mit der korrekten Objekt-ID des Parts aufgerufen werden. Danach kann der Zustand des MC_PlanarParts sowohl gelesen als auch durch Methodenaufrufe verändert werden.
Mögliche Befehle für den MC_PlanarPart sind die ActivatePosition-Methode und die AllowEnable-, ForceDisable- sowie Reset-Methoden. Die ActivatePosition-Methode verschiebt den Part zu einer der möglichen Positionen. Die Methoden AllowEnable, ForceDisable und Reset verändern den PlanarState des MC_PlanarParts.
Ab Version V3.3.19: Die ForceEnable-Methode des Planar-Parts hebt, wenn nötig, einen vorherigen ForceDisable-Befehl auf und schaltet den Planar-Part an. Sowohl ForceEnable als auch Reset werden nun bei Zeitüberschreitung mit einem Timeout-Fehler beendet, siehe Parameter „Timeout for state machine“ in Konfiguration.
Nach dem Aufruf der AllowEnable-Methode ist es dem PlanarPart erlaubt, die PlanarState Machine hochzufahren (bis zum CoE Zustand OperationEnabled). Sobald der erste Mover in einem Koordinatensystem mit einem Enable() Kommando aktiviert wird, werden alle Parts in diesem System aktiviert. Das Aktivieren des Parts, auf dem der Mover sich befindet, ist notwendig für das Aktivieren des Movers und erfolgt entsprechend zeitlich zuerst. Das Aktivieren der restlichen Parts in einem Koordinatensystem ist optional und darf fehlschlagen, ohne das Aktivieren zu verhindern bzw. abzubrechen. Umgekehrt führt das Aufrufen des Disable() Kommandos auf dem letzten aktiven Mover in einem Koordinatensystem dazu, dass alle Parts ausgeschaltet werden. Das Ausschalten der Parts ist nicht notwendig für das Ausschalten des Movers und erfolgt zeitlich nach dem Ausschalten des Movers.
Analog werden Parts aktiviert oder abgeschaltet, wenn der erste/letzte aktivierte Mover ein Koordinatensystem durch einen Aufruf der ActivatePosition-Methode seines Parts betritt oder verlässt. Die Parts werden auch deaktiviert, wenn der letzte aktive Mover einen Fehler mit Fehlerreaktion „abort“ hat. Hat ein Mover einen Fehler mit der Fehlerreaktion „quick stop“, dann bleiben die Parts aktiviert. Dies gilt während des Fehlers und des anschließenden resets bis der Part wieder aktiviert ist. Sollte während des Fehlers oder des Reset-Kommando durch ein Disable() Kommando des Movers die Fehlerreaktion auf „abort“ geändert werden, schalten sich die Parts aus.
Wird ein Part durch den Aufruf der ForceDisable-Methode in den Disabled Zustand gezwungen so werden alle Mover auf diesem Part in den Fehlerzustand gebracht und andere Parts im Koordinatensystem eventuell ausgeschaltet, sollten sich keine weiteren aktiven Mover im Koordinatensystem befinden. Der Part bleibt im Disabled Zustand bis mindestens zum nächsten AllowEnable-Aufruf.
Fehlerzustände des Parts erzwingen Fehler aller Mover auf diesem Part. Die Fehler der Mover werden zeitlich vor dem Part Fehler erreicht. Andere Mover oder Parts im Koordinatensystem werden durch diese Fehler nicht beeinflusst.
Im Fehlerfall eines Parts kann ein Reset-Kommando angestoßen werden, um den Fehler zu beheben. Eventuelle Mover Fehler werden hiervon nicht berührt. Umgekehrt bewirkt ein Reset-Kommando eines Movers ein Reset-Kommando für alle Parts im Koordinatensystem mit einem Fehler. Das Reset-Kommando des Movers hat als notwendige Bedingung die Fehlerfreiheit des eigenen Parts, entsprechend wird der Part zeitlich vor dem Mover resettet.