00196840-01_IM_EDM_1.9_DE.pdf - 第50页

Installations anleitung SIPLACE Engin eering Data Manager ( EDM) Version 1.9 Ausgabe 0 2/2011 50 Um An w endung sfälle, wie das Auftr eten von für alle Z ustände gültige n Fehlerzuständ e – wie Sie in EDM durch die as yn…

100%1 / 66
Installationsanleitung SIPLACE Engineering Data Manager (EDM) Version 1.9 Ausgabe 02/2011
49
<transition name="getTemplateList" currentState="clientIdle" event="pullData">
<newState name="waitTemplateList">
<action
class="Siemens.SiplacePro.EDM.DataExchange.Actions.AcquireTempl
ateListAction,DataExchange" />
<action
class="Siemens.SiplacePro.EDM.DataExchange.Actions.SendRequestA
ction,DataExchange" />
</newState>
</transition>
Abbildung 12 Beispiel einer einfachen Transition
Diese Transition geht vom Zustand clientIdle in den Zustand waitTemplateList über, wenn das Ereignis
pullData ausgelöst wird. Beim Übergang werden zwei Aktionen ausgeführt, die jeweils in der bereits aus
der Applikationskonfiguration bekannten Notation für Klassen angegeben werden. Die Aktionen werden in
der Reihenfolge ihres Auftretens in der Datei ausgeführt.
<transition name="selectTemplate" currentState="waitTemplateList"
event="templateList"
class="Siemens.SiplacePro.EDM.DataExchange.Actions.AskForTemplateAction,D
ataExchange">
<newState name="waitTemplate" value="OK">
<action
class="Siemens.SiplacePro.EDM.DataExchange.Actions.AcquireTempl
ateAction,DataExchange" />
<action
class="Siemens.SiplacePro.EDM.DataExchange.Actions.SendRequestA
ction,DataExchange" />
</newState>
<newState name="canceled" value="Cancel" />
</transition>
Abbildung 13 Beispiel einer bedingten Transition
Diese Transition führt den Zustandsübergang unter Berücksichtigung eines Controllers aus. Diese
spezielle Aktion wird über das Attribut „class“ in der Notation für Klassen angegeben. In diesem Fall
existiert nicht nur wie im ersten Beispiel in Abbildung 12 ein „newState“-Tag, sondern für jedes mögliche
Ergebnis des Controllers eines. Um dies handhaben zu können, wird das „newState“-Tag um ein Attribut
„value“ erweitert. Ein Controller liefert immer einen Zeichenkettenwert zurück, so dass das Ergebnis auf
jeden Fall in der XML-Datei darstellbar ist.
Installationsanleitung SIPLACE Engineering Data Manager (EDM) Version 1.9 Ausgabe 02/2011
50
Um Anwendungsfälle, wie das Auftreten von für alle Zustände gültigen Fehlerzustände – wie Sie in EDM
durch die asynchrone Kommunikation in Form von Timeouts auftreten – für den Ersteller der
Workflowkonfiguration leichter handhaben zu können, besteht die Möglichkeit Transitionen wie in
Abbildung 14 zu definieren:
<transition name="timeoutDefault" currentState="all" event="timeOut">
<newState name="timedOut" />
</transition>
Abbildung 14 Defaulttransition
Durch die Angabe von „all“ als Ausgangszustand wird diese Transition für alle Zustände übernommen.
Obige Transition definiert ergo ein allgemeines Timeoutverhalten. Eine Defaulttransition wird nur
ausgeführt, wenn für das jeweilige Ereignis keine spezifische Transition definiert ist. Hiermit besteht implizit
die Möglichkeit mehrere Transition für ein Zustands/Ereignispaar zu definieren. Es ist jedoch nicht möglich,
mehrere Defaulttransitionen für ein Ereignis zu beschreiben.
Installationsanleitung SIPLACE Engineering Data Manager (EDM) Version 1.9 Ausgabe 02/2011
51
5.3.2.2 Workflowbausteine
5.3.2.2.1 Grundlagen
Abbildung 15 zeigt alle zurzeit verfügbaren Bausteine, aus denen ein Workflow gebildet werden kann. Da
aber zukünftige Anforderungen an die Prozessgestaltung schwer einzuschätzen sind, hat man sich bei der
Implementierung für diesen flexibel erweiter- und konfigurierbaren Weg entschieden.
Um die Rekonfiguration vor Ort so einfach wie möglich zu halten, sind in der Fehler! Verweisquelle
konnte nicht gefunden werden. (siehe Kapitel 5.3.3) alle möglichen Zustände, auch diese, die nicht
benutzt sind, ebenso alle Ereignisse und Transitionen enthalten. Von den Transitionen sind die obligat
durchzuführenden (in der Abbildung ohne farbigen Rahmen) sowie die für den Standardablauf (in der
Abbildung grau hinterlegt) aktiv geschaltet. Diese Transitionen können beliebig durch auf gleicher Ebene
im Ablaufdiagramm stehende Alternativen ersetzt werden. Dazu wird die „alte“ Transition aus- und die
neue einkommentiert. Gehören zu einem Baustein mehrere Transitionen, so sind diese alle ein bzw.
auszukommentieren.
Ein Beispiel zur Verdeutlichung. Der Standardablauf für die Auswahl der Objekte sieht in der
Standardkonfiguration wie folgt aus:
<transition name="selectIdentities" currentState="selectObjects"
event="selectIds"
class="Siemens.SiplacePro.EDM.DataExcha nge.Actions.SelectIdentitiesAction,Dat
aExchange">
…
</transition>
<!-- Pull workflow variants -->
<!-- Use fixed selection
<transition name="useIdentities" currentState="selectObjects"
event="selectIds"
class="Siemens.SiplacePro.EDM.DataExchange.Actions.UseConfiguredIdentitiesA
ction,DataExchange">
…
</transition> -->
Dies soll nun in eine fixe Menge zu transferierender Objekte geändert werden. Dann muss die
Konfiguration dergestalt angepasst werden:
<!--
<transition name="selectIdentities" currentState="selectObjects"
event="selectIds"
class="Siemens.SiplacePro.EDM.DataExchange.Actions.SelectIdentitiesAction,Data
Exchange">
…
</transition>
-->