[/quote=Taxus;20110]
a) der Experte bei der Übertragung des Projekts die Module in eine bestimmte Reihenfolge bringt (möglicherweise blattorientiert)
[quote]
Ja, so in etwa. Über das gesammte Projekt gesehen und in Laufzeit gilt allerdings das was Michel schon gesagt hatte: Die Blattstruktur ist nur eine logische Gliederung, eigentlich ist alles eine grosse Logik. Nur solange es keine Konnektoren zwischen zwei Blättern gibt sind diese defakto getrennte Logiken da es keine direkte Verbindung gibt (Verbindungen über KOs sind indirekt). Die Blätteraufteilung spielt eigentlich nur bei der Initialisierung eine Rolle.
Nein, Bausteine werden nur aufgerufen wenn eine Event eintrifft, d.h. ein Wert an einem Eingang aufläuft oder ein Timer abgelaufen ist.
Ja, aber nur die Bausteine die ein Event erhalten haben.
Nein, ohne eine diese xC wird der Baustein gar nicht ausgeführt.
Jetzt schon 

Da der Baustein nur aufgerufen wird wenn ein Event eintrift ist dies nicht möglich, bzw. nötig. Aber es gibt bausteine die zwar mehrere Eingänge haben, wo die Berechnung aber nur ausgeführt werden muss wen einige davon sich ändern, bei anderen Eingänge ist der neue Wert erst relevant wenn einer der ersten Eingänge sich ändert. Hier kann man dann bei komplexen berechnungen durch eine Abbruchbedingung optimieren wobei dies in den meisten Fällen eher Kontraproduktiv wäre.
Ich hoffe ich habe nun alle Klarheiten beseitigt
Gruss,
Gaston
a) der Experte bei der Übertragung des Projekts die Module in eine bestimmte Reihenfolge bringt (möglicherweise blattorientiert)
[quote]
Ja, so in etwa. Über das gesammte Projekt gesehen und in Laufzeit gilt allerdings das was Michel schon gesagt hatte: Die Blattstruktur ist nur eine logische Gliederung, eigentlich ist alles eine grosse Logik. Nur solange es keine Konnektoren zwischen zwei Blättern gibt sind diese defakto getrennte Logiken da es keine direkte Verbindung gibt (Verbindungen über KOs sind indirekt). Die Blätteraufteilung spielt eigentlich nur bei der Initialisierung eine Rolle.
b) der HS diese Reihenfolge zyklisch abarbeitet, unabhängig davon, ob für das in der Liste gerade berechnete Modul ein Event (Telegramm) eingetroffen ist,
c) jeder Baustein vollständig durchlaufen und berechnet wird, bis eine Abbruchbedingung (oder eof) erfüllt ist,
d) die Schreibvorgänge des Bausteins auf S, O und A aber nur ausgeführt werden, wenn bei der Berechnung ein EI oder OC oder EC festgestellt wird
Paßt das so etwa für den Hausgebrauch?



Da die Ausgangsfrage dieses Threads ja die Performance war, stelle ich mir schon die Frage, warum bei komplexen Modulen eine a-priori-Abbruchbedingung zum Performancetuning vom Entwickler eingetragen werden muss. Der Experte könnte dies anhand der Komplexität eines Bausteins selbstständig optimieren, sogar für jeden Baustein unterschiedlich. Vermutlich ist der HS für die meisten Anwendungen einfach schnell genug
.

Ich hoffe ich habe nun alle Klarheiten beseitigt

Gruss,
Gaston
Kommentar