[PAProcessFunction] PAProcessFunction (developer guide)


  Document tree

;

Classname/ID Comment
ID 6624d10e-3bd2-4543-a993-a12a27e8abf5
ACIdentifier PAProcessFunction
ACUrlComponent Database\ACProject(Variolibrary)\ACClass(PAProcessFunction)
Is abstract
Is abstract
Namespace gip.core.autocomponent.PAProcessFunction
ACUrlComponent PAProcessFunction
Comment S Die PAProcessFunction wickelt einen ACMethod-Aufruf asynchron ab. Instanzen von PAProcessFunction werden immer unterhalb von ACComponent der Model- oder VarioBatch-Welt erzeugt. Es gibt drei Varianten der Implementierung 1. Direkte Ableitung in Form einer asynchronen Prozessfunktion (z.B. PAFDosing, PAFMixing) Nur einmal Instanziierbar (Meist mit Kopplung an Hardware/SPS) 2. Verwendung der Ableitung PWProcessFunction als Workflow (weitere Info siehe in PWProcessFunction.cs) 3. Direkte Ableitung als mehrfach Instanziierbar. Beispiel (abstract): SAPSchnittstelle : ACComponent (Modeltree) SAPExport : PAProcessFunction (Dynamische Instanzen beim SAPSchnittstelle.Exportstart) SAPImport : PAProcessFunction (Dynamische Instanzen beim SAPSchnittstelle.Importstart) Die Statusfolge und die Steuerung von außen ist an die S88 angelehnt https://www.isa.org/pdfs/microsites121/s-880001/ Methoden zur Steuerung von außen: -Start(acMethod) Starten/Initialisieren des Prozesses -Run() Aktivieren des Prozesses -Pause() Pausieren des Prozesses -Resume() Fortsetzen nach dem Pausieren -Hold() Anhalten des Prozesses (längere Pause) -Restart() Anfahren nach längerer Pause -Abort() Abbrechen des Prozesses -Stop() Stoppen des Prozesses -Reset() Wechsel in den Grundzustand SMIdle ACState | Auto-Next-State | | TRANSITION-METHODS | (No Method) | Start() | Run() | Pause() | Resume() | Hold() | Restart() | Abort() | Stopp() | Reset() ___________________________________________________________________________________________________________________________________________________________________________________ SMIdle | | SMStarting | | | | | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMStarting | | | SMRunning | | | | | | | SMResetting ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMRunning | SMCompleted | | | SMPausing | | SMHolding | | SMAborting | SMStopping | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMCompleted | | | | | | | | | | SMResetting ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMResetting | SMIdle | | | | | | | | | ___________________________________________________________________________________________________________________________________________________________________________________ SMPausing | SMPaused | | | | | | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMPaused | | | | | SMResuming | | | SMAborting | SMStopping | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMResuming | SMRunning | | | | | | | | | ___________________________________________________________________________________________________________________________________________________________________________________ SMHolding | SMHeld | | | | | | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMHeld | | | | | | |SMRestarting | SMAborting | SMStopping | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMRestarting | SMRunning | | | | | | | | | ___________________________________________________________________________________________________________________________________________________________________________________ SMAborting | SMAborted | | | | | | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMAborted | | | | | | | | | | SMResetting ___________________________________________________________________________________________________________________________________________________________________________________ SMStopping | SMStopped | | | | | | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMStopped | | | | | | | | | | SMResetting -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Classname/ID Comment
PAProcessFunction S Die PAProcessFunction wickelt einen ACMethod-Aufruf asynchron ab. Instanzen von PAProcessFunction werden immer unterhalb von ACComponent der Model- oder VarioBatch-Welt erzeugt. Es gibt drei Varianten der Implementierung 1. Direkte Ableitung in Form einer asynchronen Prozessfunktion (z.B. PAFDosing, PAFMixing) Nur einmal Instanziierbar (Meist mit Kopplung an Hardware/SPS) 2. Verwendung der Ableitung PWProcessFunction als Workflow (weitere Info siehe in PWProcessFunction.cs) 3. Direkte Ableitung als mehrfach Instanziierbar. Beispiel (abstract): SAPSchnittstelle : ACComponent (Modeltree) SAPExport : PAProcessFunction (Dynamische Instanzen beim SAPSchnittstelle.Exportstart) SAPImport : PAProcessFunction (Dynamische Instanzen beim SAPSchnittstelle.Importstart) Die Statusfolge und die Steuerung von außen ist an die S88 angelehnt https://www.isa.org/pdfs/microsites121/s-880001/ Methoden zur Steuerung von außen: -Start(acMethod) Starten/Initialisieren des Prozesses -Run() Aktivieren des Prozesses -Pause() Pausieren des Prozesses -Resume() Fortsetzen nach dem Pausieren -Hold() Anhalten des Prozesses (längere Pause) -Restart() Anfahren nach längerer Pause -Abort() Abbrechen des Prozesses -Stop() Stoppen des Prozesses -Reset() Wechsel in den Grundzustand SMIdle ACState | Auto-Next-State | | TRANSITION-METHODS | (No Method) | Start() | Run() | Pause() | Resume() | Hold() | Restart() | Abort() | Stopp() | Reset() ___________________________________________________________________________________________________________________________________________________________________________________ SMIdle | | SMStarting | | | | | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMStarting | | | SMRunning | | | | | | | SMResetting ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMRunning | SMCompleted | | | SMPausing | | SMHolding | | SMAborting | SMStopping | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMCompleted | | | | | | | | | | SMResetting ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMResetting | SMIdle | | | | | | | | | ___________________________________________________________________________________________________________________________________________________________________________________ SMPausing | SMPaused | | | | | | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMPaused | | | | | SMResuming | | | SMAborting | SMStopping | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMResuming | SMRunning | | | | | | | | | ___________________________________________________________________________________________________________________________________________________________________________________ SMHolding | SMHeld | | | | | | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMHeld | | | | | | |SMRestarting | SMAborting | SMStopping | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMRestarting | SMRunning | | | | | | | | | ___________________________________________________________________________________________________________________________________________________________________________________ SMAborting | SMAborted | | | | | | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMAborted | | | | | | | | | | SMResetting ___________________________________________________________________________________________________________________________________________________________________________________ SMStopping | SMStopped | | | | | | | | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SMStopped | | | | | | | | | | SMResetting -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PABase
PAClassAlarmingBase Baseclass for ACComponents, which has an alarming behaviour Basisklasse für ACComponents, die Alarme melden
ACComponent Baseclass for all Components
IACComponent Interface for ACComponent
IACObjectWithInit Interface for implementing simple objects with the life-cycle phases of iPlus
IACObject Base interface for classes that are registered (or known) in the iPlus-Type-System. They appear in the iPlus-Development-Environment in the Variolibrary-Project or Variobatch-Project. Instances of IACObject have a unique address (ACUrl) in Application-Trees and can be accessed by ACUrlCommand. Therefore every implmentation of IACObject should implement ACUrlCommand to be accessible. IACObject's also can have Designs to be able to be presented on the GUI.
IACObjectBase This is the ultimate base interface for implementing classes in the iPlus-Framework. It's comparable to the .net-Type System.Object. This interface helps to present objects on a GUI with its description and to indentify them inside a generic list through its uniqe indentifer (ACIdentifier)
IACMember Abstract interface for implementing classes which can be listed in the ACMemberList of a ACComponent. Members can be Properties, Points and other ACComponent-Instances (childs)
INotifyPropertyChanged
IACInteractiveObject Interface for classes that are used for the UI-Interaction. Primarily this interface implements WPF-Controls and IACComponents. WPF-Controls are bound to values from IACObjects or IACComponents which can be accessed through the ContextACObject-Property (Is the DataContext-Property of WPF-Frameworkelements). To bind values use the VBContent-Property instead of using a WPF-Binding on a classic way. Pass a ACUrl to the VBContent-Property in XAML and the WPF-Control that implement this interface automatically finds the proper Source and Path for it by calling the IACObject.ACUrlBinding()-Method. IACInteractiveObject's can also be used for Drag-And-Drop-Actions and Context-Menu-Operations. Whenever such a relevant interaction-event occured this information is delegated from the "Source-IACInteractiveObject" to the "Receiver-IACInteractiveObject" by invoking the ACAction-Method. e.g. When a user interacts with a WPF-Control this Action is delegated to the bound IACComponent (ContextACObject-Property).