Sapi2av

| ALPHA-VISION® Treiber

# Sapi2Av

## Sapi2Av.ini

Sektion/Eintrag | Beschreibung
--- | ---
[AVIS] Parameter für die Kommunikation mit Alpha-Vision (Visualisierung auf der OS)

ShowObject=

Objektnummer des zu überwachenden Datenobjekts

Das hier spezifizierte Datenobjekt kann, im Rollmenü av_debug unter "Objektnummer" für das logging freigegeben werden.

DataLogg=

Rückmeldung des Systems über den Umfang des gewählten TRACE

Im Dialogfenster kann über das Rollmenü AvisiDebugView der Umfang des TRACE spezifiziert werden.

DoFile= | Das System trägt den bei Programmstart als Argument angegebenen Namen hier ein.
| Liste von Objekten in der Visionprojektierung die Informationen über den Sapi2Av Treiberstatus liefern
InfoObject0= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_INIT) Treiber-Initialisierung (Werte: 0/1)
InfoObject1= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_LASTERR) Letzter Fehler des SAPI-Treibers, Wertebereich: int32
InfoObject2= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_LASTIECERR) Letzter Fehler des SAPI-Treibers, IEC Kennung, Wertebereich int32
InfoObject3= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_LASTDETERR) Letzter Fehler des SAPI-Treibers, detailierte Fehlernummer, Wertebereich: int32
InfoObject4= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_INIT) Verbindung 0: Initialisierung, (Werte: 0/1)
InfoObject5= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_CONFIRM) Verbindung 0: Confirmierung, (Wertebereich 0/1)
InfoObject6= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_RqLstReadPos) Verbindung 0: Auftragslistenposition für Sendaufträge abarbeiten, Wertebereich int32
InfoObject7= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_RqLstWritePos) Verbindung 0: Auftragslistenposition für Sendaufträge neu eintragen, Wertebereich int32
InfoObject8= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_TimeAvg) Verbindung 0: Durchschnittliche Antwortzeit von Aufträgen, Wertebereich int32
InfoObject9= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_TimeMin) Verbindung 0: Minimale Antwortzeit von Aufträgen, Wertebereich int32
InfoObject10= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_TimeMax) Verbindung 0: Maximale Antwortzeit von Aufträgen, Wertebereich int32
InfoObject11= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_TimeAvgRd) Verbindung 0: Durchschnittliche Antwortzeit von Leseaufträgen, Wertebereich int32
InfoObject12= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_TimeMinRd) Verbindung 0: Minimale Antwortzeit von Leseaufträgen, Wertebereich int32
InfoObject13= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_TimeMaxRd) Verbindung 0: Maximale Antwortzeit von Leseaufträgen, Wertebereich int32
InfoObject14= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_TimeAvgWr) Verbindung 0: Durchschnittliche Antwortzeit von Schreibaufträgen, Wertebereich int32
InfoObject15= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_TimeMinWr) Verbindung 0: Minimale Antwortzeit von Schreibaufträgen, Wertebereich int32
InfoObject16= | Name eines Objektes für Information über Treiberschnittstelle:( z.B. SAPIDRV_0_TimeMaxWr) Verbindung 0: Maximale Antwortzeit von Schreibaufträgen, Wertebereich int32
[Runtime] Parameter für das DataLogging.
LoggDisplay= | Soll der Datenlogger auf dem Bildschirm angezeigt werden (0=nein; 1=ja)
LoggFileActiv= | Soll ein Log-File geschrieben werden (0=nein; 1=ja)
LoggFileBase= | Basisname für die Log-Files
LoggFileIncrease= | Gibt an, ob die Log-Filesbei Neustart des Programms überschrieben werden sollen
LoggFileCounter= | Das System trägt hier den aktuellen Log-Session-File-Count ein.
[SAPI] Parameter für die Kommunikation mit der SIMATIC S7

DataLogg=

Rückmeldung des Systems über den Umfang des gewählten TRACE

Im Dialogfenster kann über das Rollmenü SapiDebugView der Umfang des TRACE spezifiziert werden.

CycleTime= | definiert den Zeitintervall(ms) der Abfrage ob neue Daten auf der S7 bereitliegen. siehe auch: Kommunikationsablauf.
WorkTime= | definiert den Zeitintervall(ms) der für die Datenübertragung zur Verfügung steht, bevor eine Quittierung für die übertragenen Daten erfolgt. siehe auch: Kommunikationsablauf.

CycleUse=

0=Cycle-Funktionalität von Sapi2Av; 1=Cycle-Funktionalität von "SIMATIC NET"

die Cycle-Funktion "SIMATIC NET" in der S7 sendet zur definierten "CycleTime=" unaufgefordert die Information, wo neue Daten abgelegt sind
die Cycle-Funktion in "Sapi2Av" fragt zur definierten "CycleTime=" ob neue Daten vorhanden sind, die S7 liefert die Information wo.

TraceDepth=

0=Keine TRACE-Funktion der S7; ungleich 0=TRACE-Funktion der S7

die S7 bietet TRACE-Funktionen, diese können hier spezifiziert werden; über deren Funktionalität, siehe dort.

## Organisation der Logfiles

Wird die Kommunikation zur S7 und OS aufgezeichnet, werden Logfiles von je 256 KB Größe geschrieben. Ein Logfile hat einen vorgegebenen, zweiteiligen Namen und die Dateierweiterung ".log"
Der erste Namensteil, der Basisname, ist unter "LoggFileBase=AvTrace" definiert; der Zweite ist eine vierstellige Ziffer, wobei die beiden unteren Ziffern den File-Zähler, die Oberen den Session-Inkrement darstellen. Eine Session ist die Zeit vom Aufruf des Programms bis zum Programmstop.
"LoggFileIncrement=0"

    1.Programmstart: 1.Logdatei = AvTrace0000
                     2.Logdatei = AvTrace0001
                     u.s.w
        2.Programmstart: 1.Logdatei = AvTrace0000
                         2.Logdatei = AvTrace0001
                         u.s.w

"LoggFileIncrement=1"

    1.Programmstart: 1.Logdatei = AvTrace0000
                     2.Logdatei = AvTrace0001
                     u.s.w
        2.Programmstart: 1.Logdatei = AvTrace0100
                         2.Logdatei = AvTrace0101
                         u.s.w

           13.Programmstart: 1.Logdatei = AvTrace1200
                             2.Logdatei = AvTrace1201
                             u.s.w

Es sind also 100 Sessions mit je 100 Logfiles möglich;
100 Logfiles (mal 256 KB) belegen ca.25 MB
Bei 100 Sessions werden maximal ca. 2,5 GB belegt.

## Kommunikationsablauf

Im folgenden Beispiel wird eine CycleTime=400, WorkTime=200, CycleUse=1 angenommen.

    CycleTime
    |die S7 meldet, auf A, B, E, F, H liegen neue Daten
    |WorkTime
    || hole A
    || empfangen A
    || hole B
    || empfangen B
    || hole E
    || empfangen E
    |-----QUITTIERUNG---->A,B,E erhalten -
    |                     A,B,E können neu belegt werden
    |WorkTime
    || hole F
    || empfangen F
    || hole H
    || empfangen H
    ||  idle
    ||  idle
    CycleTime
    |die S7 meldet, ...........