klementine
Level-1
- Beiträge
- 8
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Guten Tag,
zuerst möchte ich mich herzlich für die viele gegenseitige Unterstützung der Community bedanken.
Ich habe ein Projekt streng nach OOP entwickelt. Wir können und dürfen die klassischen schrittkette und Ablauf nicht verwenden. Es wurden Modelle erstellt, Klassen gebaut und schließlich für jede der 12 Stationen in der Zelle eigene Objekte erstellt. Soweit alles gut und es funktioniert wunderbar. Nun suche ich eine Möglichkeit die Objekte:
1- Vollständig zu Simuliert: (Das Funktioniert schon)
Hier ist gemeint, den Objekten die Inputs NUR vom HMI vollständig vorzugaukeln.
2- In Echten Betrieb laufen lassen: (Das Funktioniert schon)
Die Objekten kommunizieren vollständig untereinander.
3- Teilweise zu Simuliert:
Hier ist gemeint, den Objekten die Inputs abwechselt vom HMI vorzugaukeln oder die Objekte untereinander kommunizieren zu lassen. Das Wechselt wird auch im normalen echten Betrieb verwendet. Der Betrieb darf aber nicht unterbrochen werden. Es darf auch nicht neue Referenziert werden.
Z.B: Ein Objeckt mit 17 Zustände arbeitet seine Zustände ein nach der andere durch je nachdem welche Transition da ist. Befindet sich das Objekt mal gerade im Zustand 9 und ihm die Input nun vom HMI vorgegaukelt wird, muss er dort weiter fahren (10-11-12-…) je nachdem welche Transition da ist. Wechseln wir wieder die Input auf die echten Kommunikation mit anderen Objekten, dann muss er auch hier weiter fahren (…-13-14-15…) je nachdem welche Transition da ist.
Das Wechselt wird verriegelt und mit Passwort nur für befugte personal. Die Punkte (1) und (2) sind erfolgreich realisiert. Aber der Punkt (3) bereitet noch Schwierigkeiten. Hier meine bisherige Ansätze:
a) Das Objekt einmal instanziieren. Die Daten vom Echten betrieb (Daten von andere Objekten) mit den simulierten Daten vom HMI verodern und das als Input an das Objekt anschließen.
Es funktioniert soweit gut, aber das Verhalten ist dann deterministisch. Es sind nicht nur Boolesche aber auch Felder und Komplexe Datentypen und deren Veroderung führt zu sehr sehr komische Verhalten und Ergebnisse.
b) Das Objekt zweimal instanziieren. das eine mit dem HMI und das andere mit den echten Daten verbinden. mit "EN" Enable wird das eine oder andere Objekt eingeschaltet. Beide schreiben ihre Ergebnisse auf demselben Output. Das lauft gut aber dafür muss ich die Modelle umbauen, dass der laufenden Zustand zw den Instanzen austauschbar ist. Im erstenlauf war alled OK. Aber im wechseln wird der zuletzt gelaufene Zustand in einem Instanz nochmal im neue enableten Instanz durchgefürht. Bei Timer und enty/ do/ Exit/ Aktivitäten führt das zu Fehler....
jetzt bitte ich Ihre Erfahrung und Empfehlungen für diese Problem
Gruß
Klementine
zuerst möchte ich mich herzlich für die viele gegenseitige Unterstützung der Community bedanken.
Ich habe ein Projekt streng nach OOP entwickelt. Wir können und dürfen die klassischen schrittkette und Ablauf nicht verwenden. Es wurden Modelle erstellt, Klassen gebaut und schließlich für jede der 12 Stationen in der Zelle eigene Objekte erstellt. Soweit alles gut und es funktioniert wunderbar. Nun suche ich eine Möglichkeit die Objekte:
1- Vollständig zu Simuliert: (Das Funktioniert schon)
Hier ist gemeint, den Objekten die Inputs NUR vom HMI vollständig vorzugaukeln.
2- In Echten Betrieb laufen lassen: (Das Funktioniert schon)
Die Objekten kommunizieren vollständig untereinander.
3- Teilweise zu Simuliert:
Hier ist gemeint, den Objekten die Inputs abwechselt vom HMI vorzugaukeln oder die Objekte untereinander kommunizieren zu lassen. Das Wechselt wird auch im normalen echten Betrieb verwendet. Der Betrieb darf aber nicht unterbrochen werden. Es darf auch nicht neue Referenziert werden.
Z.B: Ein Objeckt mit 17 Zustände arbeitet seine Zustände ein nach der andere durch je nachdem welche Transition da ist. Befindet sich das Objekt mal gerade im Zustand 9 und ihm die Input nun vom HMI vorgegaukelt wird, muss er dort weiter fahren (10-11-12-…) je nachdem welche Transition da ist. Wechseln wir wieder die Input auf die echten Kommunikation mit anderen Objekten, dann muss er auch hier weiter fahren (…-13-14-15…) je nachdem welche Transition da ist.
Das Wechselt wird verriegelt und mit Passwort nur für befugte personal. Die Punkte (1) und (2) sind erfolgreich realisiert. Aber der Punkt (3) bereitet noch Schwierigkeiten. Hier meine bisherige Ansätze:
a) Das Objekt einmal instanziieren. Die Daten vom Echten betrieb (Daten von andere Objekten) mit den simulierten Daten vom HMI verodern und das als Input an das Objekt anschließen.
Es funktioniert soweit gut, aber das Verhalten ist dann deterministisch. Es sind nicht nur Boolesche aber auch Felder und Komplexe Datentypen und deren Veroderung führt zu sehr sehr komische Verhalten und Ergebnisse.
b) Das Objekt zweimal instanziieren. das eine mit dem HMI und das andere mit den echten Daten verbinden. mit "EN" Enable wird das eine oder andere Objekt eingeschaltet. Beide schreiben ihre Ergebnisse auf demselben Output. Das lauft gut aber dafür muss ich die Modelle umbauen, dass der laufenden Zustand zw den Instanzen austauschbar ist. Im erstenlauf war alled OK. Aber im wechseln wird der zuletzt gelaufene Zustand in einem Instanz nochmal im neue enableten Instanz durchgefürht. Bei Timer und enty/ do/ Exit/ Aktivitäten führt das zu Fehler....
jetzt bitte ich Ihre Erfahrung und Empfehlungen für diese Problem
Gruß
Klementine