AbvSpu

| ALPHA-VISION® PMU

# AbvSpuOpt-MsPv

## Funktionalitäten

### Anlaufverhalten

Die Anlaufkennung der AbvSpu wird im OB1 über die Anweisungsfolge

U DB195.DBX 161.0;
BEB;

abgefragt. Nur bei positiver Anlaufkennung (DB195.DBX161.0 = 0) darf die Ausführung des OB1 fortgesetzt werden. Die Anlauffunktionalität der AbvSpu wird mittels der Anlauf-OBs OB100 (Neustart) und OB101 (Wiederanlauf) aktiviert. Die entsprechenden AbvSpu-Calls in den Anlauf-OBs lauten

CALL FC 100; // Initialisierung ABVspu

Dieser Vorgang der AbvSpu-Initialisierung kann je nach Anzahl der Datenobjekte in der AbvSpu-Database einige Zeit in Anspruch nehmen. Dies kann dazu führen, dass die für die jeweilige CPU eingestellte maximale Zykluszeit überschritten wird. In diesem Fall muss die maximale Zykluszeit entsprechend nach oben korrigiert werden.
Im Anlauf werden die im folgenden beschriebenen Aktionen durchgeführt:
Initialisierung der ABVspu-Datenobjekte
Die Datenobjekte MS (Messstellen) und PV(Prozessvariablen) werden initialisiert. Diese Initialisierung muss immer stattfinden wenn eine neue AbvSpu-Database ins AG geladen wurde.
Datenbausteine prüfen/initialisieren
Der Anwender kann per AVET-Projektierung vorgeben, welche Datenbausteine im Anlauf von der AbvSpu auf Existenz geprüft und initialisert (der gesamte DB wird NULL beschrieben) werden sollen. Die Größe der Datenbausteine ist ohne Bedeutung, d.h. wird nicht geprüft. Wenn einer dieser DB nicht vorhanden ist, wird eine negative Anlaufkennung gesetzt.
Datenbausteine erzeugen/initialisieren
Die AbvSpu erzeugt alle DB-Adressen, die durch die in der Prozessverbindungsprojektierung angegebene S7-Adresse referenziert werden. Diese Datenbausteine werden online erzeugt, d.h. sie sollten nicht noch zusätzlich im Offline-Behälter des S7-Programms angelegt sein. Die Vorgehensweise ist die folgende: Wenn der entsprechende DB nicht existiert, wird er mit der benötigten Größe erzeugt. Wenn er bereits existiert, aber nicht die erforderliche Größe besitzt, wird er gelöscht und neu erzeugt. Wenn er mit der korrekten Größe existiert (z.B. bei Wiederanlauf), wird er entweder neu initialisiert (mit NULL beschrieben) oder aber nicht. Dies kann der Anwender per AVET-Projektierung festlegen.
Wichtiger Hinweis: Der o.g. Hinweis, dass diese Datenbausteine nicht noch zusätzlich im Offline-Ordner existieren sollten, beruht auf folgendem Hintergrund: Wenn sich das S7-Anwenderprogramm auf Flash-Eprom befindet, können Datenbausteine, die sich auch im Offline-Ordner befinden, im AG nicht gelöscht werden. Dieser Umstand kann dann dazu führen, dass die AbvSpu-Initialisierung nicht erfolgreich durchlaufen wird und damit der OB1 nicht ausgeführt wird.
Anfangswerte
Für alle Datenobjekte mit Prozessverbindungen der Art DBn.DB... bzw. PAW/A können Anfangswerte projektiert werden. Diese projektierten Anfangswerte werden bei Neustart (Wiederanlauf) in die entsprechenden S7-Adressen eingetragen. Wenn gewünscht ist, dass bei Neustart/Wiederanlauf der alte Signalwert erhalten bleibt, darf die Anfangswert-Funktionalität nicht verwendet werden.
Initialisierung Kommunikations-Schnittstelle
Je nach Kommunikationsart (SAPI, BSND/BRCV, ACI-Direkt) werden die entsprechenden Initialisierungsvorgänge durchgeführt. Wenn die Initialisierung der Kommunikationsschnittstelle fehl schlägt, wird ebenfalls eine negative AbvSpu-Anlaufkennung gesetzt.

### Zyklischer Uhrzeitabgleich

Der zyklische Uhrzeitabgleich dient zum kontinuierlichen Synchronisieren der PC-Uhren. Per Projektierung kann das Zeitraster, in dem dieser erfolgt, festgelegt werden. Das Zeitraster wird in Anzahl Sekunden in der Zelle DB195.DBW166 in der AbvSpu-Database hinterlegt. Wenn dieser Wert verschieden 0 ist, wird von dieser S7-Station aus im angegebenen Sekunden-Raster ein Datum-/Uhrzeit-Telegramm an alle angeschlossenen OSen versendet. Auch wenn die Uhren aller S7-Stationen gleich laufen, ist es zweckmäßig, dass das zyklische Uhrzeittelgeramm nur von einer ausgewählten Station gesendet wird (i.d.R. ist das die S7-Zeitmaster-Station).

### S7-Zeitmaster

Jede der Prozessstationen kann grundsätzlich zum Uhrzeitmaster erklärt werden. Innerhalb des gesamten Automatisierungssystem sollte aber nur eine der Prozessstationen mit dieser Eigenschaft versehen sein. Grundsätzlich kann von einer beliebigen OS aus Datum und Uhrzeit für das Gesamtsystem vorgegeben werden. Die Uhren werden nach dem folgenden Prinzip verstellt:

- Das OS-Uhrzeittelegramm geht an alle S7-Stationen, d.h die Uhren aller S7-Stationen werden auf diese Zeit eingestellt. Eine eigenständige Uhrzeitsynchronisation zwischen den S7-Stationen ist damit nicht zwingend erforderlich.
- Diejenige S7-Station, die das Attribut S7-Zeitmaster besitzt, meldet die aktuelle S7-Zeit (sofern die im PC-Uhrzeittelgramm vorgegebene Zeit gültig war) sofort an alle angeschlossenen Osen zurück. Alle anderen S7-Stationen (die kein S7-Zeitmaster sind) tun dies nicht.
- Damit wird gewährleistet, dass die Uhren aller Stationen (OSen und PLCs) auf den gleichen Wert gesetzt werden.

### Kommunikation

Sende-Zyklus
Dieser Parameter legt fest, nach wieviel OB1-Zyklen die bis dahin festgestellten Prozesswertänderungen an die OSen gesendet werden. Die Prozesswertänderungen zwischen den Sendezyklen werden in den sogenannten Änderungs-DBs zwischengespeichert. Die Anzahl der Sendezyklen ist in der Zelle DB195.DBW190 der AbvSpu-Database hinterlegt.