Common Behaviour Model Library Bibliotheksdokumentation

Company

3S - Smart Software Solutions GmbH

Title

Common Behaviour Model

Version

3.5.17.0

Categories

Intern

Namespace

CBML

Author

3S - Smart Software Solutions GmbH

Placeholder

CBML

Beschreibung [1]

Diese Bibliothek enthält eine komplette Implementierung des Common Behaviour Model als objektorientierte CODESYS Bibliothek. Der Funktionsbaustein BehaviourModel implementiert alles, was von einem zentralisierten BehaviourModel erwartet wird.

Diese Implementierung wird unter anderem mit einer IActionProvider Instanz parametriert. Ein ActionProvider implementiert die Operationen für die Methoden IStartActionProvider.StartAction (METH), ICyclicActionProvider.CyclicAction (METH), ICleanupActionProvider.CleanupAction (METH) oder IResetActionProvider.ResetAction (METH). Abhängig vom geforderten Verhalten kann der ActionProvider mit einem Dekorator versehen werden, wie zum Beispiel ILevelControlled oder IEdgeTriggered. Um zum Beispiel einen Funktionsbaustein mit LConC-Verhalten zu erstellen, muss sein ActionProvider mit den Schnittstellen ILevelControlled und IHasContinuousBehaviour dekoriert werden. Die Zustandsmaschine im BehaviourModel zwingt den ActionProvider dann zum geeigneten LConC-Verhalten. In diesem Fall kann STATE.EXECUTING nur über STATE.ABORTED oder STATE.ERROR verlassen werden. STATE.DONE ist nicht erreichbar.

Außerdem implementiert der Funktionsbaustein BehaviourModel die Schnittstelle IBehaviourModel. Die Schnittstelle unterstützt alle Methoden und Properties, die notwendig sind, um eine BehaviourModel-Instanz über Interface-Referenz-Variablen zu steuern. Wenn mit einer Interface-Referenz-Variablen gearbeitet wird, sollte es möglich sein, genau zu entscheiden, wenn die Zustandsmaschine aufgerufen wird. Zu diesem Zweck haben die Methoden BehaviourModel.StartModel (METH), BehaviourModel.AbortModel (METH), BehaviourModel.ResetModel (METH) und BehaviourModel.GetModelState (METH) den Parameter xCommit. Wenn eine dieser Methoden mit dem Wert xCommit:=FALSE aufgerufen wird, wird dies nur eine Zustandsänderung vorbereiten. Die StateMachine wird dadurch nicht aufgerufen, die zugehörigen Aktionen werden nicht ausgeführt, um den Zustand zu ändern. Wenn eine dieser Methoden mit dem Wert xCommit:=TRUE aufgerufen wird, wird eine Zustandsänderung vorbereitet. Außerdem wird dadurch die StateMachine aufgerufen, und die notwendigen Aktionen ausgeführt, um den nächsten stabilen Zustand zu erreichen. Manchmal benötigt die StateMachine mehr als eine Aufruf, um von einem Zustand zum nächsten stabilen Zustand über zu gehen. Wichtig ist, dass die StateMachine nur einmal pro Zyklus aufgerufen wird.

Jeder der Funktionsbausteine ETrig, LCon und LConC verwendet eine BehaviourModel-Instanz. Sie implementieren auch die Schnittstelle IBehaviourModel. Sie definieren eine eigene FB-Schnittstelle, während sie möglichst viel an die Implementierung des BehaviourModel delegieren (Siehe die dazugehörige Methode _Execute).

Diese Funktionsbausteine dienen dann als Basis für die Vererbung der Funktionsbausteine ETrigA, ETrigATl, ETrigATo, ETRigATlTo, ETrigTlTo, ETRigTo ETRigTl abgeleitet von ETrig, der Funktionsbausteine LConTl, LConTo, LConTlTo abgeleitet von LCon und des Funktionsbausteins LConTlC abgeleitet von LConC.

Die Implementierung eines IActionController kann die Bedingungen beeinflussen, unter denen das BehaviourModel die folgenden Methoden des entsprechenden IActionProvider ausführen darf: IStartActionProvider.StartAction, ICyclicActionProvider.CyclicAction, ICleanupActionProvider.CleanupAction, IExitActionProvider.ExitAction oder IResetActionProvider.ResetAction.

Indizes und Tabellen

[1]

Based on Common Behaviour Model.library, last modified 20.04.2021, 14:39:57. LibDoc 4.0.0.0

The content file Common Behaviour Model.clean.json was generated with CODESYS V3.5 SP16 Patch 3 on 20.04.2021, 14:39:57.