Benutzer-Werkzeuge

Webseiten-Werkzeuge


terminal_status

Statusfiles für Email-Meldungen

Für externe Auswertungsprogramme der Terminal- und Beta-Zustände können von Comm optional Statusfiles geschrieben werden. Filenamen und Verzeichnisse

Terminalstatus: $BS_DIR/daba.d/trmstat.dat

Betastatus….: $BS_DIR/daba.d/betastat.dat

Pfade und Filenamen sind fest vorgegeben. Die Files haben Inifile-Charakter und können mit der Funktion OpenIniFile gelesen werden.

Filehandling

Am Beispiel der trmstat.dat vom Prozess tmgr, die Datei betastat.dat vom Prozess iomgr zeigt das gleiche Verhalten.

• Löschen der alten Datei trmstat.old, sofern sie existiert

• Umbenennen der aktuellen trmstat.dat nach trmstat.old

• Aufbau der neuen Statusdatei als trmstat.new

• Umbenennen trmstat.new nach trmstat.dat

Tritt in obiger Abfolge ein Filefehler auf (z.B. trmstat.dat kann nicht nach trmstat.old umbenannt werden), bricht die Verarbeitung mit einer Fehlermeldung im Protokollfile (DebugLevel=0) ab und versucht im nächsten Zyklus die Datei zu schreiben.

trmstat.dat

Das Statusfile wird vom tmgr ab Build 4.32 (06.11.2003) geschrieben Beispiel:

[global]

date=20050530174127

[terminal_1]

Term=0001/01/01

Beta=2

BetaID=3

Remote=0

State=0

[terminal_2]

Term=0002/02/02

Beta=1

BetaID=1

Remote=0

State=12

global Die Sektion enthält nur eine Variable date die den letzten Schreibvorgang im SAP-Format festhält.

terminal_x

Sektionen der angeschlossenen Terminals. Die Nummer entspricht der laufenden Nummer aus terminal.ini.

Term

Enthält die laufende Terminalnumme, Group-ID und Device-ID (0001/01/01).

Beta

Interne (tmgr) Nummer des Beta-Knotens, an dem das Terminal hängt. Numerierung ohne Lücken.

BetaID

Nummer der Beta-Sektion aus terminal.ini, [BETAx]. Nummerierung kann Lücken haben!

Zugrunde liegt diese Einstellung:

[BETA1]

BetaIPAdr=192.168.0.206

Terminals=2,2-2

[BETA3]

BetaIPAdr=192.168.0.205

Terminals=1,0-2

Remote

Flag aus terminal.ini, ob das Terminal Remote gesetzt ist.

State

Status des Terminals. Der Wert ist dezimal, stellt aber ein Bitfeld dar:

54 3210

11 1111

'|| ||++– Memory-Status (00=empty, 01=not empty, 11=full, 10=undefined!)'

'|| ++—- Online-Status (00=online, 01=offline, 11=autonom, 10=undefined!)'

'|+——- Batterie schwach bei 1 (=16)'

'+——– Speicherfehler bei 1 (=32)'

Standardzustände: 0=online, 12=autonom (z.B. nach Softwarestop)

Aktivierung des Statusfiles und Besonderheiten

Das Statusfile trmstat.dat wird mit folgender Einstellung in terminal.ini aktiviert:

[tmgr]

TrmCheckCycle=80s

Es sind die Suffixe 's' (Sekunden), 'm' (Minuten) und 'h' (Stunden) erlaubt.

Eckwerte:

0 oder Variable nicht definiert Funktion abgeschaltet

1 Minimum

86400s=1440m=24h Maximum

Im tmgr wird der Wert in Sekunden in der Variablen g_TrmCheckCycle gehalten.

Als Timervariable dient g_StateTimer, als Zeitvergleich die Funktion timesUp, die auch Systemzeitverstellungen rückwärts berücksichtigt.

Der Terminalstatus in trmstat.dat kann natürlich nur bei online erreichbaren Terminals korrekt geschrieben werden. Tmgr versendet zu diesem Zweck an alle Terminals, die nicht remote eingetragen sind, T4-Sätze und schreibt bei Eintreffen der Statussätze vom Terminal das termstat.dat-File.

Ein Erkennen von gestörten Terminals ist so nicht möglich!

betastat.dat

Das Statusfile wird vom Betatreiber des Prozesses iomgr ab Build 4.32 (06.11.2003) geschrieben.

Beispiel:

[global]

date=20050602155010

[beta_1]

ID=3

IP=192.168.0.205

State=3

LastAct=1234567890 20090214003130

Terminals=1,0-2,0,1,0,

[beta_2]

ID=1

IP=192.168.0.206

State=0

LastAct=1234567891 20090214003131

Terminals=2,2-2,0,

global

Die Sektion enthält nur eine Variable date die den letzten Schreibvorgang im SAP-Format festhält.

beta_x

Sektionen der Beta-Knoten. Die Nummer entspricht dem Index im Prozess iomgr und hat keine Lücken.

ID

ID entspricht der Numerierung der Beta-Sektionen in terminal.ini. Die ID kann Lücken enthalten.

IP

IP-Adresse des BETA-Knotens.

State

Zustand des Beta-Knotens im Treiber.

0 jammed/disconnected

1 Configrequest erhalten

2 Beta hat auf Configrecord geantwortet

3 Connected

4 Datensatz an Beta verschickt

Diese Zustände existieren nur kurzfristig. Die Wahrscheinlichkeit, daß sie im Statusfile auftauchen, ist sehr gering!

LastAct (ab Buildlevel 4.43.20)

Zeitpunkt des letzten Datenblocks vom Beta.

Der erste Wert stellt technisch die Systemzeit als Ganzzahl dar (C-Funktion „time()“).

Der zweite Wert ist diese Systemzeit in Textdarstellung im technischen Format YYYYMMDDhhmmss

Terminals

Dieser Eintrag führt alle fürs Beta definierten und die aktiv verbundenen Terminals auf.

Beispiele:

2,2-2,0,

'| ||| +– Status des Terminals, 0=not connected, sonst=connected'

'| +++—- DIDvon - DIDbis'

'+——– GID'

1,0-2,0,1,0,

'| ||| +-+-+– Status der Terminals, hier DID=0 und 2 sind nicht connected'

'| +++——– DIDvon - DIDbis'

'+———— GID'

Anmerkungen: die connectierten Terminals werden durch den Index der Sektion beta_x (=Index in der Beta-Liste im Prozess iomgr (=globales Array BCTabl in beta155.c)) gekennzeichnet. Gestörte oder sonst nicht vorhandene Terminals haben den Status '0'.

Aktivierung des Statusfiles und Besonderheiten

Das Statusfile wird fest, alle 20s geschrieben. Dies läßt sich nicht ändern oder abschalten.

terminal_status.txt · Zuletzt geändert: 2020/06/24 14:33 von 127.0.0.1