Konfiguration des TLS-Gateways
Die Konfiguration von TLS-Gateways erfolgt über Konfigurationsdateien die dem entsprechenden Gateway zugeordnet werden. Weiteres müssen Einstellungen in der WinCC OA Konfigurationsdatei vorgenommen werden.
TLS-Konfigurationsdatei
TLS-Konfigurationsdateien müssen im data-Ordner vom Projektverzeichnis abgelegt werden und dem TLS-Gateway durch Verwendung des Config-Eintrags TLSConfigFileName zugewiesen werden. Eine Konfigurationsdatei legt fest, in welchem Modus (Server, Client) ein TLS-Gateway betrieben wird und beinhaltet alle TLS-Endgeräte inklusive deren Parametrierung. Jedes dieser Endgeräte wird auf einen Datenpunkt abgebildet. Die entsprechenden Datenpunkte werden per Default automatisch beim Start angelegt. Die dafür notwendigen Datenpunkttypen müssen vorher in das Projekt eingespielt werden (siehe Voraussetzungen und Installation).
Folgende Beispiele dienen zum besseren Verständnis der Konfigurationsdateien für den jeweiligen Betriebsmodus:
Eine detaillierte Beschreibung zum korrekten Setzen der Config-Einträge entnehmen Sie dem TLS-Standard.
Verbindungsparameter
Die Schlüsselwörter zur Konfiguration der Verbindung stimmen nicht komplett mit jenen der TLS-Norm überein. Folgende Tabelle zeigt welche Schlüsselwörter in der TLS-Konfigurationsdatei verwendet werden müssen:
Konfigurationsdatei | TLS | Wert | Default |
---|---|---|---|
TLS_HelloDelay | C_HelloDelay | 1 - 3599 [s] | 30 |
TLS_HelloTimeout | C_HelloTimeout | 0 - 3600 [s] | 60 |
TLS_ReceiptDelay | C_ReceiptDelay | 1 - 59 [s] | 5 |
TLS_ReceiptTimeout | C_ReceiptTimeout | 1 - 600 [s] | 30 |
TLS_ReceiptCount | C_ReceiptCount | 1 - 255 [s] | 10 |
TLS_ReconnectDelay | C_ReconnectDelay | 0 - 3599 [s] | 60 |
ServerPort | C_AcceptPort | 49152 - 65535 | 5000 |
DebugPort | C_AcceptPort | 0, 49152 - 65535 | 5001 |
HostName | |||
AlternateHostName | y | ||
copyUZToMonitor | C_XmitRequest | y/n | y |
copyKRIToMonitor | C_XmitAnser | y/n | |
C_3_Address | C_3_Address | [UZ, KRI] | |
C_7_IDList | C_7_IDList | { alle } | { alle } |
C_7_JobRange | C_7_JobRange | [1, 255] | [1, 255] |
Diese Parameter müssen dem gewünschten Modus entsprechend in den Sektionen [params], [secondary] oder [uzconn] gesetzt werden.
Wichtige Hinweise und Einschränkungen:
-
Wird das TLS-Gateway im Monitor-Modus betrieben wird, so muss die Adresse des KRI-Rechners (HostName bzw. AlternateHostName) angegeben werden. In diesem Fall ist der angegebene ServerPort die Socket-Nummer der Mithörschnittstelle am zu überwachenden KRI. Der Parameter TLS_ReconnectDelay regelt den Verbindungsaufbau.
-
Bleibt HostName leer, so startet der KRI im Servermodus. In diesem Fall entspricht der ServerPort der Hauptverbindung, auf der die UZ kommuniziert. Der DebugPort dient für alle weiteren (im Sinne der TLS passiven) Verbindungen. Die Anzahl dieser Verbindungen ist nicht beschränkt (siehe unten).
-
Die Telegrammfilter-Parameter werden nur für den Servermodus berücksichtigt. Im Monitor-Modus wird auch nur eine Hauptverbindung unterstützt.
-
Der Parameter C_3_Address, der die Information für das TLS-Routing der Verbindung festlegt, muss für die Hauptverbindung entweder leer bleiben oder der Parametrierung der TLS-Teilnehmer entsprechen. Andernfalls wird die TLSLib nicht initialisiert.
Folgende TLS-Parameter werden nicht unterstützt bzw. intern gebildet:
-
C_SecureConnection: Die TLS-Implementierung unterstützt derzeit keine SSL-Verbindungen.
-
C_PortMode: Die TLS-Konfiguration behandelt immer Primärport (ServerPort) und zugeordnete Passiv-Ports (DebugPort) in einem Satz. Damit ergibt sich diese Einstellung automatisch.
-
C_ActivePort: Die Zuordnung der DebugPorts zum jeweiligen Primärport erfolgt implizit.
-
C_ClientCount: Der Wert wird automatisch gesetzt: Am Primärport wird genau eine Verbindung zugelassen, am DebugPort mehrere. Die Verbindungsanzahl ist in diesem Fall nicht beschränkt.
-
C_TelTypeList: Das TLS-Gateway liefert nur (Daten-)Telegramme vom Typ 11h.
[params]
In dieser Sektion können die Betriebsparameter für die Hauptverbindung des TLS-Gateways festgelegt werden.
Bei Definition eines Hostnamens schaltet die Bibliothek in den Client-Modus und versucht aktiv die Verbindung zu diesem Host herzustellen. In diesem Modus werden eingehenden Telegramme als von einem KRI kommend interpretiert. Es ist nur der Empfang von Datentelegrammen möglich.
Über die Debug-Schnittstelle können wahlweise die eingehenden und/oder ausgehenden Telegramme der Hauptverbindung ausgegeben werden. Falls das TLS-Gateway im Client-Modus betrieben wird, können auch die empfangenen KRI-Meldungen weitergeleitet werden.
Alle Layer2-Verbindungen eines Parameterblocks teilen sich die gleichen TLS-Parameter. Die Debug-Ports und das Main-Port kommunizieren also immer mit gleichen Layer2 Einstellungen. Der Parameter waitForTimeSync bestimmt, ob die Hauptverbindung nach einem Verbindungsaufbau zunächst auf ein TimeSync Telegramm wartet, oder ob die Kommunikation sofort möglich ist. Im Wartezustand wird nur ein TimeSync Telegramm akzeptiert, alle anderen Telegramme werden ignoriert.
[secondary]
Neben der Hauptverbindung können auch weitere Verbindungen gemäß TLS und PLaNT 420.111.10 unterstützt werden. Diese werden als „secondary“ Konfigurationen parametriert. Wenn die Hauptverbindung festgelegt ist, können beliebig viele weitere Verbindungen als secondaries definiert werden. Globale Parameter sind im Fall von Zweitverbindungen nicht mehr einstellbar, weswegen folgende Schlüsselwörter in dieser Sektion nicht erlaubt sind:
-
TunnelMode
-
HostName
-
AlternateHostName
-
PendingRequestTimeout
-
HerstellerCode
-
waitForTimeSync
-
TLS_ReconnectDelay
Das PLaNT 420.111.10 legt zwei weitere Konfigurationen fest. Eine Testkonfiguration mit dem gleichen Routing wie die UZ-Verbindung und eine BUS-Konfiguration, die auch ein anderes Routing sowie ID-Filter verwendet, um nur TLS-Abfragen zuzulassen. Die Sekundärverbindungen sind immer kommunikationsbereit. Dies bleibt unbeeinflusst durch den waitForTimeSync-Parameter der Hauptverbindung.
[uzconn]
Alternativ zum KRI/SSt Modus kann das TLS-Gateway auch im UZ-Modus betrieben werden. Hierbei werden entsprechende Stelltelegramme versendet. In der Konfigurationsdatei müssen die Parameter über diese Sektion definiert werden.
Es können mehrere dieser Blöcke angegeben werden, wobei jeder Block eine TCP/IP Verbindung zu einer SSt darstellt.
[default_FG1]
In dieser Sektion werden die Parameter für Funktionsgruppe FG1 festgelegt. Geschwindigkeitsklassen beginnen mit "K32 ", "K33 ", Lnn "(nn bezeichnet die Fahrzeugkategorie), die Konfigurationsparameter mit "V ". Es können maximal 15 Geschwindigkeitsklassen pro Eintrag angegeben werden. Die Anzahl wird automatisch ermittelt. Die angegebenen Werte bezeichnen jene Geschwindigkeit, die als höchste der Klasse anzusehen ist. Die letzte Geschwindigkeitsklasse liegt immer über dem letzten Grenzwert. Die Konfigurationsparameter bezeichnen das Zeitintervall für Kurzzeit- und Langzeitdaten, die Telegrammversion für Kurzzeitdaten (0 ... 6) und Langzeitdaten (10 ... 23), die beiden Glättungsfaktoren Alpha1 und Alpha2 sowie die Art und den Startwert der Mittelwertbildung.
Wird der Telegrammtyp auf 255 gesetzt (bei beiden Telegrammversionen möglich), so werden die entsprechenden Werte nicht berechnet und verschickt. Die Datenerfassung ist damit abgeschaltet.
"L1_defaults" "20,30,40,50,60,70,80,90,100,110,120,130,140,150,170"
"V_defaults" "3, 4, 13, 129, 128, 128, 80"
[default_FG3]
In dieser Sektion werden die Parameter für Funktionsgruppe FG3 festgelegt. Die Parameter bestehen aus dem Sendeintervall für die Daten in Sekunden (default 900, das entspricht 15 Minuten) und dem Sendetyp (0 Polling, 1 periodisch). Die Art der erfassten Daten wird pro Endgerät in der [tlsconfig]-Sektion festgelegt.
"V_defaults" "900,1"
[default_FG4]
In dieser Sektion werden die Parameter für Funktionsgruppe FG4 festgelegt. Die Parameter beinhalten zwei Strings. Im ersten String werden das Anzeigeprinzip und das Steuerungsprinzip angegeben (a ... e, x für Cluster, 1 für Komponentensteuerung oder 2 für Programmsteuerung). Derzeit wird nur die Programmsteuerung unerstützt.
Im zweiten String erfolgt die Angabe der Stellcodes. Jedem Stellcode kann in Klammern, durch Komma getrennt, eine Liste von beteiligten Komponenten mitgegeben werden. Besteht der Komponenteneintrag aus mehreren Bytes wie beispielsweise bei einem Cluster-Programm (DE + Anzeigeprinzip + Code + Funktionsbyte), so werden die einzelnen Bytes mit einem Plus-Zeichen zusammengehängt.
"WVZ_FG4_A" "b2" "22,24,26,28"
[default_FG6]
In dieser Sektion werden die Parameter für Funktionsgruppe FG6 festgelegt. Die Parameter bestehen aus dem Sendeintervall für die Daten in Sekunden (default 900, das entspricht 15 Minuten) und dem Sendetyp (0 Polling, 1 periodisch, 2 spontan). Die Art der erfassten Daten wird für jedes Endgerät in der [tlsconfig]-Sektion festgelegt.
"V_defaults" "900,2"
[tlsconfig]
Die Zeile zum Festlegen eines Endgerätes enthält folgende Einträge:
Eintrag | Beschreibung |
---|---|
TLS_UNIQUENAME | Name des Endgerätes. Es kann ein beliebiger Name verwendet werden. Ersetzt TLS_DP falls dieser nicht angegeben wird. |
TLS_KNOTENNUMMER | Eindeutige Kennung in der OSI-7-Schicht (3 Byte Nummer) |
TLS_PORT_UZ_DN | Ausgangsport an der Unterzentrale (1 - 254) |
TLS_PORT_KRI_UP | Uplink der KRI in Richtung UZ (1 - 254) |
TLS_PORT_KRI_DN | Ausgangsport der KRI in Richtung Streckenstation (1 - 254) |
TLS_PORT_SST_UP | Uplink der Streckenstation in Richtung KRI (1 - 254) |
TLS_EAK | EA-Kanal der Streckenstation (0 für Station selbst, 1 - 254, üblicherweise ≥ 32 für externe Kanäle der Streckenstation) |
TLS_EA | Ausgangsnummer des Endgeräts am Lokalbus |
TLS_FG | Funktionsgruppe des Endgeräts (1, 3, 4, 6, 254) |
TLS_DE | Logische Gerätenummer (1 - 255) |
TLS_TYP | Definiert welche Daten das Endgerät liefert. Nur relevant für FG3 und FG6. |
TLS_DP | Definiert den Datenpunktnamen für das entsprechende Endgerät. |
TLS_DEFAULTS | Definiert die Namen der Parametersätze zur Initialisierung. Die Parametersätze müssen zuvor in der Konfigurationsdatei angelegt werden. Endgeräte vom Typ FG1 können mehrere Datensätze zur Initialisierung verwenden. |
"UZ_SSt1_FG1_1" 4543567 200 1 200 1 32 1 1 1 "UZ_SSt1_FG1_1" "V_TYP55_lang"
"UZ_SSt1_FG3_1" 4543567 200 1 200 1 33 1 3 2 60 "UZ_SSt1_FG3_1" "V_defaults"
WinCC OA Config
Zusätzlich zu den TLS-Konfigurationsdateien muss die WinCC OA Config entsprechend konfiguriert werden. Die Beschreibung der möglichen Schlüsselwörter finden Sie im Kapitel Mögliche Config-Einträge in WinCC OA.
[TLSGateway]
FG3TypeName = "_TLS_FG3"
FG1TypeName = "_TLS_FG1"
FG4TypeName = "_TLS_FG4"
FG6TypeName = "_TLS_FG6"
FG254TypeName = "_TLS_FG254"
[TLSGateway_1]
# TLS configuration liegt im data folder
# TLS logs liegen im log folder
# TLSGateway_1 ist KRI
TLSConfigFileName = "KRI.txt"
TLSLogFileName = "KRIlogfile"
TLSLoggerFlags = 0
[TLSGateway_2]
# TLS configuration liegt im data folder
# TLS logs liegen im log folder
# TLSGateway_2 ist Monitor
TLSConfigFileName = "Monitor.txt"
TLSLogFileName = "Monitorlogfile"
TLSLoggerFlags = 0