Sapi2av

| ALPHA-VISION® Treiber

# Sapi2Av

Das Programm "Sapi2Av" (Small Application Program Interface to Alpha-Vision) läuft auf der OS(Operator Station) und stellt die Kommunikation zwischen der Visualisierung (OS) und der Prozesssteuerung S7 her. Die Kommunikation ist ereignisorientiert, d.h. nur Änderungen werden übertragen.
Neben der Option Test-Messages zu schicken bietet das Programm die Möglichkeit des Loggings, d.h. Informationen über die Kommunikation zur OS und S7 können am Bildschirm anezeigt und/oder in einem Logfile gespeichert werden. Der Umfang des Loggings kann definiert werden.
Üblicherweise wird der Aufruf dieses Programms in den Aufruf zum Start der Prozesssteuerung(Laufzeit) eingebunden.
Das Programm reagiert auf das Systemobjekt "$Shutdown" - wird der Wert dieses Objekts zu "1" beendet sich das Programm sebstständig.
Wird in VISION als Ereignis 'on shutdown, setze $Shutdown value 1' projektiert, wird bei Vision-Ende automatisch Sapi2Av beendet

### Aufruf

Sapi2Av.exe [argument] (Optionen)
Dem Programm muss als Aufrufparameter der name der zu verwendenden Datenobjekt-Datei "*.DO" mitgegeben werden.
Die Dateien

- Sapi2av_ini
- Sapi2av_cfg

spezifizieren das Laufzeitverhalten und müssen vorhanden sein.
Es wird ein Dialogfenster aufgeblendet.

### Funktionalität

Das Dialogfenster teilt sich in zwei Bereiche, der obere, grau hinterlegte Bereich für die Bedienung und Darstellung allgemeiner Informationen zur Kommunikation mit der, oder den Steuereinheiten (S7) und dem Listenfeld, das Zeilenweise und fortlaufend Informationen zum Kommunikationsablauf gibt, wenn Trace Display spezifiziert ist.
Dargestellt ist das Applikations-Dialogfenster nach dem Programmaufruf ohne Datenobjekt-File und ohne Verbindung zu einer definierten S7.
Bedienung und Darstellung
In der Kopfleiste des Dialogfensters wird neben der Programmbeschreibung die Version angezeigt. "Block" sagt aus, das "Block receive enable" gesetzt ist - keine Anzeige an dieser Stelle heißt "Block receive disable".
Über die Schaltfläche "Ende" in der Rollmenü-Leiste kann das Programm beendet werden
Über die Rollmenüs:

- Options
- SimuMessage
- AvisiDebugView
- SapiDebugView

kann die Aufzeichnung für die Logdatei, bzw. die Darstellung der Kommunikationsabläufe im Listenfeld parameterisiert werden, sowie Simu-Messages zur S7 geschickt werden.
Der Stern links oben ist der Indikator für die Verbindung zur Visualisierung, der Stern rechts unten für die Verbindung zur S7; blinken steht für eine aktive Verbindung, permanente Darstellung - keine Verbindung.
LoggBuff:
Die erste Spalte zeigt den Stand des Filezählers, die Zweite den noch freien Speicherplatz im Logfile in bytes.(max. 256 x 1024 = 262144)
Displ off:
Die Anzeige im Listenfeld wird nicht mehr aktualisiert.
Cancel:
Das Programm wird beendet, (identisch zur Schaltfläche "Ende")
Infos über die Kommunikation zur OS:

Spalte 1 | Nummer des PCs Adressdefinition aus dem Sapi2Av.cfg file
Spalte 2 | Verbindungsanzeige XXX: seit Programmstart keine Verbindung zum PC ON: Verbindung zum PC OFF: z.Zt. keine Verbindung zum PC
Spalte 3 | Rcv Anzahl der empfangenen Telegramme
Spalte 4 | Snd Anzahl der gesendeten Telegramme
Spalte 5 | AnzObj Anzahl der bei send/receive enthaltenen Datenobjekte

Infos über die Kommunikation zur S7:
Diese Information dupliziert sich für jede S7 zu der kommuniziert wird

Spalte 1 | Name der S7 der in der S7 konfigurierte Name
Spalte 2 | Verbindungsanzeige XXX: seit Programmstart keine Verbindung zur S7 ON: Verbindung zur S7 OFF: z.Zt. keine Verbindung zur S7
Spalte 3 | Rcv Anzahl der empfangenen Telegramme
Spalte 4 | Snd Anzahl der gesendeten Telegramme

Tile 15-0 / Tile 31-16
Die Information, die auf der S7 bereitgestellt wird, ist in 32 Kacheln zu je 240 bytes organisiert. Die dargestellte Anzeige in zwei Blöcken ist ein Spiegel über die Belegung des Kommunikationsspeichers aus der S7:
eine "0" sagt aus: diese Kachel ist nicht belegt
eine "1" in dieser Kachel ist neue Information abgelegt.
SEMA(phor) Information

| Sema 1 schreibt die S7 | Sema 2 schreibt der PC
Grundzustand | 0 | 0
Kachel gesendet | 0 | 1
Kachel erkannt | 1 | 1
warten auf Freigabe | 1 | 0
Grundzustand | 0 | 0

Listenfeld
Der Aufbau des Listenfensters ist Zeilenweise, neue Informationen werden unten angehängt.
Die Initialisierungszeilen sind:
Zeile 1 die Überschrift, mit Information zur Version und Modus
Zeile 2 Adresse des PCs
Zeile 3 Name des Datenobjekt-File
Zeile 4 Status der Unterprogramme "Wdog"(Watchdog), Logg(Logger), Recorder(Logfileaufzeichnung).
Mögliche Einträge zur Laufzeit:

Spalte 1 | Verbindungskennung z.B. Sapi(Kommunikation zur S7), Avis(Kommunikation zur OS)
Spalte 2 | Zusatzinfo z.Zt. nur * (=Fehler)
Spalte 3 | Verbindungsnummer

Spalte 4

Kurzbezeichnung
DevInf (Device Information)
-Fehlerinfo
-Anzahl gefundener Einträge
-CpName\VfdName\ConnectionName ConnPtr Cref MsgEv
GetDev (Devicenamen abfragen)
-wenn Fehler, dann welcher Name nicht gefunden wurde
vfdInf (Virtuell FieldDevice Namen abfragen)
-Fehlerinfo
-Anzahl der gefundenen Einträge
GetVFD (Virtuell FieldDevice Namen abfragen)
-wenn Fehler, dann welcher Name nicht gefunden wurde
DevIni (Schnittstelle initialisieren)
-Fehlernummer
GetCon (Verbindungsnamen abfragen)
-Fehlerinfo
GtCRev (Verbindungsreferenz abfragen)
-Fehlerinfo
MsgEv (Event Message Handl)
-Fehlerinfo
RdBlk (Block receive indication)
-Fehlerinfo: Länge ungültig
-Fehlerinfo: illegal data (Kennung fehlt)
-xxxx R_ID (hex)
dddd Zeit seit letztem Empfang in ms
xxxx Block-Empfangscounter
xx xx ... xx Hexdump
S7_Rcv (S7-Daten empfangen)
-Empfangskennung (analog SapiSpez)
-Auftragskennung
IniReq (Aufbau einer S7-Verbindung einleiten)
-Fehlerinfo
-Cp=nnnn Cref=nnnn
IniCnf (Bestätigung des Verbindungsaufbaus)
-wenn Fehler, dann Returnwert des Aufrufs

Spalte 5 | Information