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 intgetAxlCurrentNumber()Liefert die laufende Nummer des Datensatzes der Einzelergebnisdaten der FG2.intgetAxlIntervalDuration()Liefert die IntervallDauer der Ergebnisdaten der FG2 in Sekunden.intgetAxlTotalNumber()Liefert die Gesamtzahl Datensatzes der Einzelergebnisdaten der FG2.de.bsvrz.dav.daf.main.ClientDavInterfacegetClientDavInterface()Ermöglicht den Zugriff auf die aktuelle Datenverteilerverbindung.intgetJobNumber()Liefert die Jobnummer des Einzeltelegramms.longgetLveIntervalDuration()Liefert die IntervallDauer der Ergebnisdaten der FG1 in Sekunden.intgetLveIntervalType()Liefert die IntervallArt der Ergebnisdaten der FG1.longgetTimeStamp()Liefert den Zeitstempel für das Einzeltelegramm aller Funktionsgruppen.intgetWzgNextSequenceNumber()Liefert die aktuelle Folgenummer der FG4.longgetZfrIntervalDuration()Liefert die IntervallDauer der Ergebnisdaten der FG9 in Sekunden.intgetZfrNextSequenceNumber()Liefert die aktuelle Folgenummer der FG9.voidprocessSingleTelegram(SingleTelegram singleTelegram)Verarbeitet ein EinzelTelegramm.protected voidsetTimeStamp(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 voidsetTimeStamp(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 Datensatzesim Typ 31 der FG 2.- Specified by:
getAxlCurrentNumberin interfaceEakConversionInterface- Returns:
- Laufende Nummer des Datensatzes.
-
getAxlIntervalDuration
public int getAxlIntervalDuration()Liefert die IntervallDauer der Ergebnisdaten der FG2 in Sekunden. Entspricht dem WertIntervalllängeim Typ 64 der FG 2.- Specified by:
getAxlIntervalDurationin interfaceEakConversionInterface- Returns:
- IntervallDauer in Sekungen.
-
getAxlTotalNumber
public int getAxlTotalNumber()Liefert die Gesamtzahl Datensatzes der Einzelergebnisdaten der FG2. Entspricht dem WertGesamtzahl der Datensätzeim Typ 31 der FG 2.- Specified by:
getAxlTotalNumberin 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:
getClientDavInterfacein interfaceEakConversionInterface- Returns:
- Gibt das aktuelle aktuelle Datenverteilerverbindung zurück.
-
getJobNumber
public int getJobNumber()Liefert die Jobnummer des Einzeltelegramms.- Specified by:
getJobNumberin 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ängeim Typ 48 und 64 der FG 1.- Specified by:
getLveIntervalDurationin interfaceEakConversionInterface- Returns:
- IntervallDauer in Sekungen.
-
getLveIntervalType
public int getLveIntervalType()Liefert die IntervallArt der Ergebnisdaten der FG1. Entspricht dem WertArt des Intervallsim Typ 48 und 64 der FG 1.- Specified by:
getLveIntervalTypein 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:
getTimeStampin interfaceEakConversionInterface- Returns:
- Zeitstempel für das Einzeltelegramm.
-
getWzgNextSequenceNumber
public int getWzgNextSequenceNumber()Liefert die aktuelle Folgenummer der FG4. Entspricht dem WertFolgenummerim Typ 31 der FG 4.- Specified by:
getWzgNextSequenceNumberin interfaceEakConversionInterface- Returns:
- Folgenummer der Datensätze.
-
getZfrIntervalDuration
public long getZfrIntervalDuration()Liefert die IntervallDauer der Ergebnisdaten der FG9 in Sekunden. Entspricht dem WertIntervalllängeim Typ 64 der FG 9.- Specified by:
getZfrIntervalDurationin interfaceEakConversionInterface- Returns:
- IntervallDauer in Sekungen.
-
getZfrNextSequenceNumber
public int getZfrNextSequenceNumber()Liefert die aktuelle Folgenummer der FG9. Entspricht dem WertFolgenummerim Typ 31 der FG 9.- Specified by:
getZfrNextSequenceNumberin 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:
processSingleTelegramin 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.
-