Voraussetzungen
Im Folgenden wird für die S7-400 vorausgesetzt, dass
-
die Verbindungsbeschreibungen (SDBs) auf den Baugruppen vorhanden sind
-
die projektierten Verbindungen aufgebaut sind
-
bei jeder Anweisung der Aktualparameter für ID mit der projektierten Verbindungs-ID übereinstimmt.
Neustart (Warmstart) und Kaltstart
Im Neustart (Warmstart) und Kaltstart werden alle Anweisungen in den Zustand NO_INIT versetzt. Die in den Instanz-DBs gespeicherten Aktualparameter bleiben unverändert.
Neustart (Warmstart) und Kaltstart bei Anweisungen zum zweiseitigen Datenaustausch
In der Regel führen bei Anweisungen zum zweiseitigen Datenaustausch nicht beide Baugruppen gleichzeitig einen Neustart (Warmstart) oder Kaltstart aus. Die Anpassung wird implizit durch die Anweisung nach folgenden Regeln ausgeführt.
-
Empfangsbausteine ("URCV", "BRCV") verhalten sich wie folgt:
-
Hat die Anweisung einen Auftrag empfangen, aber zum Zeitpunkt des Neustarts (Warmstarts) oder Kaltstarts noch nicht quittiert, so generiert sie ein Sequenzabbruch-Telegramm ("BRCV") und verzweigt dann unmittelbar in den Zustand NO_INIT.
-
Bei "BRCV" kann der Fall eintreten, dass trotz gesendetem Sequenzabbruch noch ein weiteres Datensegment eintrifft. Dieses wird lokal verworfen.
-
Bei "URCV" erfolgt sofort der Übergang in den Zustand NO_INIT.
-
-
Sendebausteine ("USEND", "BSEND") verhalten sich wie folgt:
-
Hat die Anweisung "BSEND" eine Auftragssequenz begonnen, die noch nicht abgeschlossen ist, so sendet sie im Neustart (Warmstart) oder Kaltstart einen Sequenzabbruch. Unmittelbar danach verzweigt sie in den Zustand NO_INIT. Eine später noch eintreffende Quittung wird lokal verworfen.
-
Hat die Anweisung "BSEND" zum Zeitpunkt der Neustart- (Warmstart-) oder Kaltstartanforderung bereits einen Sequenzabbruch gesendet oder empfangen, geht sie sofort in den Zustand NO_INIT.
-
In allen anderen Fällen und wenn die Anweisung nur Meldungen absetzt (z. B. "USEND") wird die lokale Bearbeitung abgebrochen, und die Anweisung verzweigt sofort in den Zustand NO_INIT.
-
Neustart (Warmstart) und Kaltstart bei Anweisungen zum einseitigen Datenaustausch
Es wird davon ausgegangen, dass nach dem Aufbau der Verbindungen der Server auf dem Kommunikationspartner funktionsfähig ist, d. h. jederzeit Aufträge bearbeiten oder Meldungen absetzen kann.
Anweisungen, die Aufträge absenden und Quittungen erwarten, zeigen folgendes Verhalten:
-
Die momentane Bearbeitung wird abgebrochen, und es wird unmittelbar danach in den Zustand NO_INIT verzweigt. Eine später noch eintreffende Quittung für den vor dem Neustart (Warmstart) oder Kaltstart abgesendeten Auftrag wird lokal verworfen.
-
Es kann bereits ein neuer Auftrag abgesetzt werden, bevor die noch ausstehende Quittung eingetroffen ist.
Anweisungen, die Meldungen absetzen oder empfangen, verhalten sich wie folgt:
-
Die momentane Bearbeitung wird abgebrochen, und es wird unmittelbar in den Zustand NO_INIT verzweigt.
-
Bei "USTATUS" werden Meldungen, die in den Zuständen NO_INIT und DISABLED eintreffen, lokal verworfen.
Wiederanlaufverhalten
Die Anweisungen der S7-Kommunikation werden nur im Neustart (Warmstart) oder Kaltstart in den Zustand NO_INIT versetzt. Daraus ergibt sich, dass sie sich im Wiederanlauf wie fortsetzbare Anwenderfunktionsbausteine verhalten.
Verhalten nach Urlöschen
Urlöschen führt immer zum Abbruch aller Verbindungen. Da nach Urlöschen als Anlaufart für das Anwenderprogramm nur ein Neustart (Warmstart) oder Kaltstart möglich ist, werden alle Anweisungen der S7-Kommunikation (sofern noch vorhanden) in den Zustand NO_INIT versetzt und initialisiert. Partnerbausteine in einer nicht urgelöschten Baugruppe gehen aufgrund des Verbindungsabbruchs in die Zustände IDLE oder ENABLED oder DISABLED.