1.Beginn Startvorgang
- Alle KO (Kommunikationsobjekte) werden auf den Init-Wert (Initialisierungswert) des KO gesetzt.
- Die Werte für die remanenten KO werden aus dem Speicher geladen und überschreiben den Init-Wert des KO.
- Bei remanenten EIB-KO mit gesetztem übertragen-Flag im HS/FS wird der Wert auf den EIB gesendet.
- Scan der EIB-KO wird gestartet (das betrifft nur die im Experten/Kommunikationsobjekt mit "Beim Starten abfragen" gekennzeichneten KO).
- Gescannte KO werden bei einer Antwort vom EIB auf den zurückgelieferten Wert gesetzt.
- Scan des EIB wird beendet, wenn alle abgefragten KO geantwortet haben oder ein Timeout abgelaufen ist.
2.Beginn Logikinitialisierung
- Jetzt werden alle Logikbausteine initialisiert. Die Reihenfolge ist so gewählt, dass alle mit den Ausgängen verbundenen Logikbausteine bereits initialisiert sind; es wird sozusagen von rechts nach links vorgegangen:
Bei der Initialisierung eines Logikbausteines passiert folgendes:
- Setzen aller Ausgänge von allen Logikmodulen auf den Initi-Wert des Ausganges (siehe Doku).
Es findet noch kein Senden von Werten statt.
Das Setzen der Ausgänge auf einen Wert ist aber für alle "Send-by-Change"-Ausgänge wichtig. - Setzen aller Eingänge auf einen definierten Wert. Dabei werden die Regeln der folgenden Tabelle verwendet.
Es findet noch keine Berechnung von Ausgängen statt.
3.Was liegt auf dem Eingang?
Fall | Fixwert | Anzahl KO | Anzahl Ausgänge* | Verwendeter Wert |
---|---|---|---|---|
E1 | X | 0 bis n | 0 bis n | Fixwert |
E2 | - | 0 | 0 | Initwert des Eingangs (siehe Doku) |
E3 | - | 1 | 0 | KO |
E4 | - | 2 bis n | 0 | Undefiniert** |
E5 | - | 0 | 1..n | Initwert des Eingangs (siehe Doku) |
E6 | - | 1 | 1..n | KO |
E7 | - | 2..n | 1..n | Undefiniert** |
* = eines oder mehrerer anderer Logikbausteine
** = Es kann nicht vorhergesagt werden, welches K-Objekt für die Initialisierung herangezogen wird.
** = Es kann nicht vorhergesagt werden, welches K-Objekt für die Initialisierung herangezogen wird.
- Einlesen der remanenten Daten aller Logikmodule (z.B. Betriebsstundenzähler, ...). Es findet noch keine Berechnung der Ausgänge statt.
- Alle Logikmodule mit "Neuberechnen bei Start = JA" werden berechnet. Welche Ausgänge beim Init-Vorgang berechnet werden, hängt von der Definition der Logikbausteine ab und kann deren Dokumentation entnommen werden.
- Die beim Init-Vorgang berechneten Ausgänge können Werte von KO setzen, Befehle ausführen und Neuberechnungen in verbundenen Logikbausteinen anstoßen. Durch die Reihenfolge der Initialisierung ist gewährleistet, dass die verbundenen Logikbausteine bereits initialisiert sind.
Hinweis
Während der Initialisierungsphase können alle bereits initialisierten Logikbausteine von einem KO zur Neuberechnung angestoßen werden.
4.Ende Logikinitialisierung
Das dem "Systemstart" zugeordnete KO wird auf 1 gesetzt.
Siehe dazu auch die Dokumentation zu den Statusobjekten.
Siehe dazu auch die Dokumentation zu den Statusobjekten.
Hinweis
Den Fixwert auf dem Eingang verwendet man im Großteil der Fälle nur, wenn keine Verbindung am Eingang liegt. Ein Fixwert zusammen mit einer Verdrahtung ist ein Sonderfall und nur für bestimmte Dinge sinnvoll.