Konfigurationsdatei IEC Treiber

Diese Seite enthält beispielhafte Config-Dateien für den IEC Treiber. Details zu den Einträgen entnehmen Sie dem Kapitel Mögliche Config-Einträge des IEC Treibers.

Anmerkung:

Ein Mischbetrieb des IEC101 und IEC 104 in einem Treiber ist nicht möglich! Dazu sind 2 Treiber erforderlich.

VORSICHT:

Mit der WinCC OA Version 3.10 wurde das interne DPE _IecConnection.Config.ConnInfo implementiert, welches die Config-Einträge "connection" und "connection_101" ersetzt. Somit kann das Erstellen neuer Verbindungen im Panel in den Verbindungseinstellungen erfolgen. Dadurch ist ein Treiberneustart, wenn ein neues IEC Gerät hinzugefügt wurde oder wenn sich Verbindungsparameter (z.B. IP-Adresse) geändert haben, nicht mehr erforderlich. Der Eintrag aus dem internen DPE (falls vorhanden) hat höheres Gewicht als der in der Config Datei (falls vorhanden).

IEC 104

Für den korrekten Start eines IEC104 Treibers sind folgende Config-Einträge möglich:

Beispiel für Config-Datei des IEC 104

Da hier WinCC OA als Client dient, muss kein tcpServerPort angeben werden:

 [iec_1]
 connection = "Gateway1" "GW1" 2404 10 //Verbindung zu Gateway1
 connection = "Gateway2" "GW2" 2404 10 //Verbindung zu Gateway2 

Dabei bedeuten:

  • "Gateway1" (name): (Logischer) Name dieser Verbindung. Für jede Verbindung gibt es einen Datenpunkt "_<name>" vom Typ "_IecConnection". Diese DP werden im Panel für Verbindungen automatisch angelegt. Bei redundanten Treibern muss sich der Name auf beiden Replicas wie folgt unterscheiden: z.B. "name" auf $HOST1 und "name_2" auf $HOST2.

  • "GW1" (host) : Name (oder IP-Adresse) des Hosts, zu dem sich der Treiber verbinden soll bzw. von dem er eine Verbindung akzeptiert z.B. eiwnt160, bei einem fremden Rechner oder localhost, wenn der eigene Rechner verwendet wird.

  • 2404 (port): Portnummer, wenn der Treiber ein TCP-Client ist und von sich aus eine Verbindung versucht, oder 0, wenn der Treiber ein TCP-Server ist. Im letzteren Fall muss der Eintrag "tcpServerPort" vorhanden sein.

  • 10 (timeout): Timeout Intervall, in dem der Treiber eine Verbindung auf TCP-Ebene versucht, wenn er TCP-Client ist.

Anmerkung:

Für IEC-104 können theoretisch bis zu 32766 Verbindungen aufgebaut werden! Die praktische Grenze richtet sich nach den Performanceanforderungen.

VORSICHT:

Für jede Verbindung ("connection = " in der Config-Datei) muss ein DP vom Typ _IecConnection existieren, welcher automatisch im Panel für Verbindungen angelegt wird (siehe Panel für Verbindungen).

IEC 101

Beispiel für Config-Datei des IEC 101, unbalanced Mode (unsymmetrische Übertragung)

WinCC OA ist dabei als Master konfiguriert:

 [iec_1]
 connection_101 = "Gateway1" "Com1" 2
 connection_101 = "Gateway2" "Com1" 1
 device_101 = "Com1" "V24" "com1"9600,e,8,1"
 balanced_101 = "No"
 master_101 = "Yes"
 timeout_t2 = 10000
 sizeof_LA_101 = 1

 # die Parametrierung des IEC101-Treibers unter Linux:
 [iec_1]
 connection_101 = "Gateway1" "Ser0" 5
 device_101 = "Ser0" "V24" "/dev/ttyS0"9600,e,8,1"
 station_101 = 1
 balanced_101 = "no"
 master_101 = "Yes"
 timeout_t2 = 1000
 sizeof_LA_101 = 1

Dabei bedeuten:

  • "Gateway1" (<name>): (Logischer) Name dieser Verbindung analog einer IEC104 Verbindung

  • "Com1" (<devname>): Name eines device_101

  • 2 (<101 Linkadresse>): logische Adresse des IEC101 Partners im unbalanced Mode

  • "V24" (<type>): Fix "V24" (für eine serielle Verbindung)

  • "com1"9600,e,8,1" (<Gerätedaten>): Je nach Type werden hier die gerätespezifischen Daten

    erfasst. Gerätedaten ist ein String der Form "port"baud,parity,datenbits,stopbits"

  • "No" (balanced_101): Damit ist Übertragungsart unsymmetrisch festgelegt ("unbalanced mode")

  • "Yes" (master_101): Damit ist "iec_1" als Hauptstation festgelegt. Alle anderen sind dann Unterstationen (Slave). Für die symmetrische Übertragung ist dieser Eintrag obsolet.

  • timeout_t2: Der Eintrag timeout_t2 ist nur für den unbalanced Mode relevant und er definiert das Pollintervall, in dem Daten abgefragt werden. Ist die Zeit z.B. 1s, so fragt der Treiber jede Unterstation im 1s Intervall ab. Der Eintrag wird in Millisekunden angegeben.

  • 1 (sizeof_LA_101): Anzahl Bytes für die Linkadresse. Im Unbalanced Mode muss dieser Config-Eintrag vorhanden und ungleich 0 sein!

Beispiel für Config-Datei des IEC 101, balanced Mode (symmetrische Übertragung).

Da hier balanced Mode verwendet wird, sind 2 Treiber erforderlich (beide Stationen gleich berechtigt" in diesem Beispiel werden 2 Treiber zu Testzwecken verwendet. Im Normalfall wir natürlich nur ein Treiber benötigt):

 [iec_1]
 connection_101 = "Gateway1" "Com1"
 device_101 = "Com1" "V24" "com1"9600,e,8,1"
 balanced_101 = "Yes" // symmetrische Übertragung, balanced mode

Dabei bedeuten:

  • "Yes" (balanced_101): Damit wird die symmetrische Übertragungsart ("balanced mode") festgelegt.

Die anderen Einträge entsprechen in Ihrer Bedeutung, jenen wie sie für die unsymmetrische Übertragung gelten.

IEC 101 - Erweiterung: Serielle Kommunikation über TCP Verbindung

Der IEC 101 Treiber wurde dahingehend erweitert, dass es möglich ist das serielle Protokoll auch über eine TCP Verbindung zu benutzen. Dies erleichtert die Handhabung von ethernet-serial Konvertern, da keine virtuelle COM Schnittstelle mehr notwendig ist. Der Konverter kann dabei TCP Server oder TCP Client sein und transparent oder im RFC2217 Modus betrieben werden.

Hierfür muss der Config-Eintrag "device_101" angepasst werden.

device_101 = <devName> <Typ> <Gerätedaten>

Die Einstellungen für <devName> und <Typ> werden analog zur herkömmlichen seriellen Konfiguration vorgenommen, jedoch müssen die <Gerätedaten> folgendermaßen angepasst werden:

tcp[s][rfc]:<Host:Port (IPv4 oder IPv6)> [tcp timeout]

Element Beschreibung
tcp Präfix, welches angibt, dass die Kommunikation via TCP erfolgen soll.
s Zusatz, der angibt, ob es sich um einen Server handelt. Wird s nicht gesetzt, handelt es sich um eine Client Verbindung (optional).
rfc Zusatz, der angibt, ob der RFC2217-Modus verwendet werden soll (optional).
Host

Name oder IP des Hosts

Hinweis

Bei einem Server kann der Hostname leer sein. Wenn einer angegeben wird so wird dieser ignoriert. D.h. der Server akzeptiert Verbindungen von beliebigen hostnamen.

Port Port, der für die Verbindung verwendet werden soll. Bei einem Server ist diese Portnummer der "listening port".
tcp timeout Timeout, welcher für die TCP Verbindung verwendet werden soll. Default: 10 Sekunden (optional).

Beispiel

Nachfolgend 3 Beispiele zur Konfiguration der Gerätedaten bei der Verwendung einer TCP Verbindung:

"tcp:127.0.0.1:3040" => Client mit 10sec timeout

"tcps:localhost:3041 5" => Server mit 5sec timeout

"tcprfc:[::1]:3042 2" => Client mit RFC2217-Modus, IPv6-Adresse und 2sec timeout