Package de.bsvrz.kex.tls.osi7.conversion
Class EakDefault
java.lang.Object
de.bsvrz.kex.tls.osi7.conversion.EakDefault
- All Implemented Interfaces:
EakConversionInterface
- Direct Known Subclasses:
EakFg254FunkKriWeissElectronic
,EakHeuschBoesefeldt
public class EakDefault extends java.lang.Object implements EakConversionInterface
Standard-Umsetzungsmodul für Einzeltelegramme am Eak
-
Constructor Summary
Constructors Constructor Description EakDefault(de.bsvrz.dav.daf.main.ClientDavInterface daf, Sm sm, Eak eak)
Erzeugt eine neue Instanz von EakDefault -
Method Summary
Modifier and Type Method Description int
getAxlCurrentNumber()
Liefert die laufende Nummer des Datensatzes der Einzelergebnisdaten der FG2.int
getAxlIntervalDuration()
Liefert die IntervallDauer der Ergebnisdaten der FG2 in Sekunden.int
getAxlTotalNumber()
Liefert die Gesamtzahl Datensatzes der Einzelergebnisdaten der FG2.de.bsvrz.dav.daf.main.ClientDavInterface
getClientDavInterface()
Ermöglicht den Zugriff auf die aktuelle Datenverteilerverbindung.int
getJobNumber()
Liefert die Jobnummer des Einzeltelegramms.long
getLveIntervalDuration()
Liefert die IntervallDauer der Ergebnisdaten der FG1 in Sekunden.int
getLveIntervalType()
Liefert die IntervallArt der Ergebnisdaten der FG1.long
getTimeStamp()
Liefert den Zeitstempel für das Einzeltelegramm aller Funktionsgruppen.int
getWzgNextSequenceNumber()
Liefert die aktuelle Folgenummer der FG4.long
getZfrIntervalDuration()
Liefert die IntervallDauer der Ergebnisdaten der FG9 in Sekunden.int
getZfrNextSequenceNumber()
Liefert die aktuelle Folgenummer der FG9.void
processSingleTelegram(SingleTelegram singleTelegram)
Verarbeitet ein EinzelTelegramm.protected void
setTimeStamp(int tlsYear, int tlsMonth, int tlsDay, int tlsHourAndDST, int tlsMinute, int tlsSecond, int tlsMillisecond)
Ermittelt aus den übergebenen Zeitangaben eines TLS-Zeitstempel-DE-Blocks einen gültigen Zeitstempel und stellt das Ergebnis über die MethodegetTimeStamp()
zur Verfügung.protected void
setTimeStamp(long timeStamp)
Setzt den Zeitstempel für das Einzeltelegramm aller Funktionsgruppen.
-
Constructor Details
-
EakDefault
Erzeugt eine neue Instanz von EakDefault- Parameters:
daf
- Datenverteilersm
- Übergeordnetes SMeak
- Das EAK
-
-
Method Details
-
getAxlCurrentNumber
public int getAxlCurrentNumber()Liefert die laufende Nummer des Datensatzes der Einzelergebnisdaten der FG2. Entspricht dem Wertlaufende Nummer des Datensatzes
im Typ 31 der FG 2.- Specified by:
getAxlCurrentNumber
in interfaceEakConversionInterface
- Returns:
- Laufende Nummer des Datensatzes.
-
getAxlIntervalDuration
public int getAxlIntervalDuration()Liefert die IntervallDauer der Ergebnisdaten der FG2 in Sekunden. Entspricht dem WertIntervalllänge
im Typ 64 der FG 2.- Specified by:
getAxlIntervalDuration
in interfaceEakConversionInterface
- Returns:
- IntervallDauer in Sekungen.
-
getAxlTotalNumber
public int getAxlTotalNumber()Liefert die Gesamtzahl Datensatzes der Einzelergebnisdaten der FG2. Entspricht dem WertGesamtzahl der Datensätze
im Typ 31 der FG 2.- Specified by:
getAxlTotalNumber
in interfaceEakConversionInterface
- Returns:
- Gesamtzahl der Datensätze.
-
getClientDavInterface
public de.bsvrz.dav.daf.main.ClientDavInterface getClientDavInterface()Ermöglicht den Zugriff auf die aktuelle Datenverteilerverbindung.- Specified by:
getClientDavInterface
in interfaceEakConversionInterface
- Returns:
- Gibt das aktuelle aktuelle Datenverteilerverbindung zurück.
-
getJobNumber
public int getJobNumber()Liefert die Jobnummer des Einzeltelegramms.- Specified by:
getJobNumber
in interfaceEakConversionInterface
- Returns:
- Jobnummer für das Einzeltelegramm (0=spontan, 1..255=Antwort auf Telegramm mit dieser Jobnummer).
-
getLveIntervalDuration
public long getLveIntervalDuration()Liefert die IntervallDauer der Ergebnisdaten der FG1 in Sekunden. Entspricht dem WertIntervalllänge
im Typ 48 und 64 der FG 1.- Specified by:
getLveIntervalDuration
in interfaceEakConversionInterface
- Returns:
- IntervallDauer in Sekungen.
-
getLveIntervalType
public int getLveIntervalType()Liefert die IntervallArt der Ergebnisdaten der FG1. Entspricht dem WertArt des Intervalls
im Typ 48 und 64 der FG 1.- Specified by:
getLveIntervalType
in interfaceEakConversionInterface
- Returns:
- Intervalltyp: 1 = Kurzzeitdaten, 3 = streckenbezogene Daten
-
getTimeStamp
public long getTimeStamp()Liefert den Zeitstempel für das Einzeltelegramm aller Funktionsgruppen. Der Wert ist die Zeitdifferenz zum 01.01.1970 (Mitternacht) in Millisekunden in der Zeitzone UTC.- Specified by:
getTimeStamp
in interfaceEakConversionInterface
- Returns:
- Zeitstempel für das Einzeltelegramm.
-
getWzgNextSequenceNumber
public int getWzgNextSequenceNumber()Liefert die aktuelle Folgenummer der FG4. Entspricht dem WertFolgenummer
im Typ 31 der FG 4.- Specified by:
getWzgNextSequenceNumber
in interfaceEakConversionInterface
- Returns:
- Folgenummer der Datensätze.
-
getZfrIntervalDuration
public long getZfrIntervalDuration()Liefert die IntervallDauer der Ergebnisdaten der FG9 in Sekunden. Entspricht dem WertIntervalllänge
im Typ 64 der FG 9.- Specified by:
getZfrIntervalDuration
in interfaceEakConversionInterface
- Returns:
- IntervallDauer in Sekungen.
-
getZfrNextSequenceNumber
public int getZfrNextSequenceNumber()Liefert die aktuelle Folgenummer der FG9. Entspricht dem WertFolgenummer
im Typ 31 der FG 9.- Specified by:
getZfrNextSequenceNumber
in interfaceEakConversionInterface
- Returns:
- Folgenummer der Datensätze.
-
processSingleTelegram
Verarbeitet ein EinzelTelegramm. Enthält das Einzeltelegramm als ersten De-Block einen De-Block für die DeKanalNummer 255, so werden die Informationen dieses Blocks hier durch das Eak ausgewertet (Zeitinformationen und Intervalldaten etc.). Die für das Einzeltelegramm ermittelten allgemeinen Information stehen dann in den Umsetzungsmodulen für die De allen De's des Einzeltelegramms zur Verfügung.- Specified by:
processSingleTelegram
in interfaceEakConversionInterface
- Parameters:
singleTelegram
- Das zu verarbeitende EinzeltelegrammSingleTelegram
.
-
setTimeStamp
protected void setTimeStamp(long timeStamp)Setzt den Zeitstempel für das Einzeltelegramm aller Funktionsgruppen. Der Wert ist die Zeitdifferenz zum 01.01.1970 (Mitternacht) in Millisekunden in der Zeitzone UTC.- Parameters:
timeStamp
- Zeitdifferenz zum 01.01.1970 (Mitternacht) in Millisekunden in der Zeitzone UTC.
-
setTimeStamp
protected void setTimeStamp(int tlsYear, int tlsMonth, int tlsDay, int tlsHourAndDST, int tlsMinute, int tlsSecond, int tlsMillisecond)Ermittelt aus den übergebenen Zeitangaben eines TLS-Zeitstempel-DE-Blocks einen gültigen Zeitstempel und stellt das Ergebnis über die MethodegetTimeStamp()
zur Verfügung.- Parameters:
tlsYear
- Jahr aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird. Angabe kann sowohl vierstellig (z. B. 2004), als auch ohne Jahrhundert erfolgen (z.B. 4). Im letzeren Fall wird der Wert automatisch auf 2004 angepasst (tlsYear + 2000, wenn 0 kleiner gleich tlsYear kleiner gleich 100, sonst tlsYear).tlsMonth
- Monat aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird.tlsDay
- Tag aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird.tlsHourAndDST
- Stundenwert mit Sommerzeitbit aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird. Der übergebene Wert kann sowohl zu einer Anpassung aufgrund der Sommerzeit als auch bei Tageswechseln führen. Läuft der Rechner in Sommerzeit, die Streckensation aber nicht, wird der übergebene Wert um ein Stunde nach oben korrigiert. Läuft der Rechner auf Winterzeit aber die Streckenstation in Sommerzeit, wird entsprechend der übergebene Wert um eine Stunde nach unten korrigiert. Zudem wird der Tag korrigiert, wenn Telegramm vom Vortag erkannt wird, bzw. Streckenstation schon den Tageswechsel durchgeführt hat, der Rechner aber noch nicht. Die Korrektur des Tages erfolgt nur, wenn Jahr, Monat und Tag nicht vorgegeben wurden (alle drei Werte also auf -1).tlsMinute
- Minute aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird.tlsSecond
- Sekunde aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird.tlsMillisecond
- Millisekunde aus TLS-Telegramm oder -1. Angabe von -1 bedeutet, dass Wert aus aktuellem Rechnerdatum ermittelt wird.
-