[ssi]

Einstellungen für den SSI Treiber

[ssi] aliveInstrNr

Typ
unsigned
Default
0
Wertebereich
>=0
Über diesen Eintrag ist einstellbar, welche Befehlsnummer beim Versenden von Alive-Telegrammen (Typ Impulsbefehl) verwendet werden soll. Dieser Eintrag ist nur dann notwendig und sinnvoll, wenn der SSI-Treiber redundant betrieben wird und die verschiedenen Replicas (siehe Redundanz) ihre Verbindungen mit unterschiedlichen Impulsbefehlen überwachen. Die Peripherieadresse des Datenpunktes, der für diese Aliveüberwachung dient, muss trotzdem bei allen Replicas gleich sein, nur die Befehlsnummer (siehe Kapitel Telegrammformate - Befehl) darf unterschiedlich sein (dies ist durch diesen Eintrag einstellbar).

Beispiel:
(0) aliveInstrNr = 0
(1) aliveInstrNr = 1
Die Befehlsnummern der Alive-Telegramme entsprechen hier den Replicanummern.

[ssi] aliveName

Typ
string
Default
_SSI_Alive_
Basisname der SSI-Alive-Datenpunkte. An diesen Basisnamen wird vom Treiber automatisch die Treibernummer angehängt. Beispiel: "_SSI_Alive_1" für den Treiber Nummer 1 Typ dieser Datenpunkte: _SSI_Alive

[ssi] connection

Typ
string int int
Gibt die wichtigsten Verbindungsparameter an.

Syntax:
connection = <hostname> <portnumber> <time>
  • <hostname> - Der Hostname des Kommunikationspartners. Dieser muss inklusive der Domainbezeichnung angegeben werden.
  • <portnumber> - die Portnummer der Verbindung. Diese ist auf 0 zu setzen, wenn der Treiber als Server agiert (in diesem Fall muss der Eintrag tcpServerPort in der Konfigurationsdatei existieren).
  • <time> - Die Zeit gibt bei Clientverbindungen an, nach wie vielen Sekunden beim Verbindungsausfall versucht wird die Verbindung erneut aufzubauen.

Beispiel:
connection = "mymachine.co.at" 2073 6
Dieser Treiber kommuniziert mit der vorgelagerten Komponente, die die Internetadresse "mymachine.co.at" hat. Der Treiber agiert dabei als Client. Sechs Sekunden nach einem erkannten Verbindungsausfall versucht er einen erneuten Verbindungsaufbau zur vorgelagerten Komponente durchzuführen.

Beispiel:
tcpServerPort = 2073
connection = "othermachine.co.at" 0 10
In diesem Fall agiert der Treiber als Server. Es muss einen Eintrag tcpServerPort geben, der angibt, über welche Portnummer der Treiber seine Dienste zur Verfügung stellt. Der letzte Parameter (die Reconnect-Zeit) hat in diesem Fall keine Bedeutung.

[ssi] dadfName

Typ
string
Default
_SSI_DaDf_Table
Name des Datenpunkts, mittels dem die Zuordnung zwischen Datenart und Datenformat parametriert werden kann. Typ dieses Datenpunktes: _SSI_DaDf

[ssi] defaultImpulseTime

Typ
int
Default
8
Wertebereich
0 - 255
Bei den Impulsbefehlen, die vom Treiber an die SAT-Komponenten geschickt werden, kann eine Zeitdauer parametriert werden (siehe Kapitel Telegrammformate - Befehl). Damit nicht zu jedem Befehlsdatenpunkt diese Zeitdauer parametriert werden muss, gibt es die Möglichkeit, mit diesem Eintrag einen Defaultwert anzugeben. Dieser ist als Byte so anzugeben, wie er im SAT-Format erwartet wird (siehe unten). Fehlt dieser Eintrag in der Konfigurationsdatei, dann wird als Defaulteinstellung 8 (= 00001000) angenommen, was einer Schaltzeit von 100 ms (= 2x50 ms - siehe unten) entspricht. Folgende Informationen sind in diesem Byte enthalten:
  • Zeit (Bit 0 und 1) 0 für 50 ms, 1 für 500 ms, 10 für 1 s, 11 für 10 s
  • Faktor (Bit 2-6) 1..31 Schaltzeit = Zeit - Faktor
  • OW (Bit 7) 1...Überschreibt bereits laufendes Kommando
0...Überschreiben nicht erlaubt.

Beispiel:
defaultImpulseTime = 4
Setzt den Defaultwert für die Schaltzeit der Impulsbefehle auf 50 ms.

Beispiel:
defaultImpulseTime = 134
Setzt den Defaultwert für die Schaltzeit der Impulsbefehle auf eine Sekunde mit gesetztem Überschreibbit.

[ssi] drvSmoothMode

Typ
int
Wertebereich
0,1,2
Definiert das Glättungsverhalten. Folgende Werte können für diesen Config-Eintrag gesetzt werden:
  • 0 - Die Glättung wird immer durchgeführt.
  • 1 - Es werden nur spontane Wertänderungen geglättet.
  • 2 - Die Glättung wird nie durchgeführt.
Dieser Wert wird auf den Datenpunkt _Driver<num>.SM vom Typ _DriverCommon geschrieben.

[ssi] hostId

Typ
int int
Gibt den Namen der eigenen Komponente im System an (<region> und <component>). Läuft der Treiber in einem redundanten System und soll daher mehrfach betrieben werden, so kann für jede Instanz ein eigener Eintrag für die HostId angegeben werden, indem jedem Eintrag die Nummer der Replica vorangestellt wird (in runden Klammern, siehe Eintrag tcpServerPort).

[ssi] impztName

Typ
string
Default
_SSI_Impulse_Times
Name des Datenpunktes, der ein dynamisches Array von Impulszeiten (für binäre SSI-Befehle) enthält. Typ dieses Datenpunktes: _SSI_Impulse_Type

[ssi] keet

Typ
int int
Regionsnummer und Komponentennummer der vorgelagerten Komponente im System (das ist die Komponente, die unmittelbar mit WinCC OA verbunden ist). Wird benötigt zur Initialisierung der komponentenspezifischen internen Datenpunkte. Die Werte müssen mit den zu erwarteten Regionsnummern und Komponentennummern der SSI-Telegramme übereinstimmen. Siehe auch keetConnection.

[ssi] keetConnection

Typ
int int string int int
Der Config-Eintrag keetConnection fasst die Einträge keet/connection bzw. redundancyKeet/redundancyConnection zusammen. Mit diesem Eintrag können mehr als 2 Verbindungen definiert werden. Die Parameter sind:
  • Regionsnummer der Verbindung
  • Komponentennummer der Verbindung
  • IP-Name des Partners
  • Portnummer (0 falls der Treiber als Server agiert), üblicherweise 2073
  • Timeout für einen Reconnect
Die Einträge keet/connection bzw. redundancyKeet/redundancyConnection werden der Kompatibilität halber weiterhin unterstützt. Die Reihenfolge der Einträge ist beliebig, der Treiber schickt Befehle zu allen Partnern und liest Meldungen von allen Partnern.

Beispiel:
[ssi]
keetConnections = 1 101 "SSIHost" 1723 10

[ssi] mapComponent

Typ
unsigned unsigned
Wertebereich
0..255, 0..255
Mit diesem Eintrag kann eine Komponentennummer auf eine andere abgebildet werden. Damit ist es möglich, Werte von verschiedenen, redundanten SAT-Anlagen zu erhalten, die entsprechenden Datenpunkte jedoch nur einmal zu parametrieren. Im Config-Eintrag wird die Komponentennummer und ihr 'Alias' angegeben.

Beispiel:
mapComponent = 2 22
Erhält der Treiber ein Telegramm mit der Komponente 2, so sucht er erst nach einer Peripherieadresse für diese Komponente. Findet er keine, so sucht er eine für die Komponente 22.

[ssi] mapRegion

Typ
unsigned unsigned
Wertebereich
0..255, 0..255
Mit diesem Eintrag kann eine Regionsnummer auf eine andere abgebildet werden. Die Reihenfolge der Zahlen im Eintrag ist <SPS-Regionsnummer> <WinCC OA-Regionsnummer>. In Telegrammen von der SPS wird die Regionsnummer immer auf die abgeändert, die in WinCC OA gültig ist, bevor nach dem entsprechenden DP gesucht wird. In Befehlstelegrammen und auch in Systemtelegrammen vom Treiber wird als Source-Regionsnummer im Telegrammkopf weiterhin die in 'hostID' spezifizierte verwendet, also ohne Mapping, für eine Target-Regionsnummer in Systemtelegrammen die abgebildet aus dem DP. In der Config-Datei sollten in 'hostID', 'keet', 'redundancyKeet' und 'reachableComponent' weiterhin die in WinCC OA gültigen Regionsnummern verwendet werden. Jede Regionsnummer darf höchstens einmal je Treiber abgebildet werden.

[ssi] mapUserBit

Typ
int string
Wertebereich
1 - 8; TestMode, Spontan, NotSorted, NEZ, Available, Ersatzwert, HighPriority, AbschaltungManuell
Die im SSI-Telegramm gesetzten Flags können bei Bedarf auf Userbits des Originalwert-Konfigs abgebildet werden. Dabei sind für den 1. Parameter die Eintrage 1 bis 8 erlaubt (für 8 Userbits), für den 2. Parameter können die folgenden Einträge angegeben werden:
  • 'TestMode'
  • 'Spontan'
  • 'NotSorted'
  • 'NEZ'
  • 'Available'
  • 'Ersatzwert'
  • 'HighPriority'
  • 'AbschaltungManuell'
GA- und Invalid-Bit werden immer abgebildet und zwar auf die dafür vorgesehenen und gleichnamigen Bits des Originalwertkonfigs.

[ssi] reachableComponent

Typ
int int
Regionsnummer und Komponentennummer einer Komponente im System (außer der vorgelagerten - siehe Eintrag "keet" oben). Wird benötigt zur Initialisierung der komponentenspezifischen internen Datenpunkte. Die Werte müssen mit den zu erwarteten Regionsnummern und Komponentennummern der SSI-Telegramme übereinstimmen.

[ssi] redundancyConnection

Typ
string int int
Die Bedeutung der Parameter entspricht denen des Eintrags connection. Dieser Eintrag ist dann erforderlich, wenn es zwei redundante Fernwirkkomponenten (KE/ET) gibt, die mit einem Treiber verbunden werden. Die Kommunikation mit mehr als zwei redundanten KE/ET ist derzeit im SSI-Treiber nicht möglich.

Beispiel:
connection = "firstmachine.co.at" 2073 10
redundancyConnection = "secondmachine.co.at" 2074 10
Der Treiber soll zwei Verbindungen aufbauen (beide als Client). Alle Daten, die von den beiden redundanten KE/ET kommen, werden vom Treiber weiterverarbeitet (und an den Event-Manager weitergeleitet, sofern sie nicht geglättet werden). Normalerweise schickt nur das aktive der beiden KE/ET tatsächlich Nutzdaten (eine Ausnahme stellen Alive-Telegramme dar, die nur der Verbindungsüberwachung dienen).

[ssi] redundancyKeet

Typ
int int
Die Bedeutung der Parameter entspricht denen des Eintrags keet. Dieser Eintrag ist dann erforderlich, wenn es zwei redundante Fernwirkkomponenten (KE/ET) gibt, die mit einem Treiber verbunden werden. Soll mit mehr als 2 redundanten KE/ET kommuniziert werden, so müssen statt der Einträge "connection", "keet", "redundancyConnection" für jede KE/ET ein Eintrag "keetConnection" verwendet werden. The parameters here have the same meaning as those in the keet statement. This statement is necessary when there are two redundant remote devices (KE/ET) connected to one driver. If the system needs to communicate with more than 2 redundant KE/ET components, then one "keetConnection" entry must be used for each KE/ET instead of the entries "connection", "keet" and "redundancyConnection".

[ssi] selectTime

Typ
int int
Wertebereich
>=0; >=0
Maximalzeit in Sekunden (1.Parameter) und Millisekunden (2.Parameter), die im select auf das Eintreffen neuer Daten gewartet werden soll.

[ssi] ssiMaxLength

Typ
int
Default
1024
Wertebereich
>0
Gibt die maximale Länge eines SSI-Telegramms in Byte an.

[ssi] subAdrInUse

Typ
string
Default
No
Wertebereich
Yes|No
Gibt an, ob die Subadresse bei der Quelladresse des Telegramms berücksichtigt ("Yes") oder immer auf 0 gesetzt werden soll ("No").

[ssi] sysAllName

Typ
string
Default
_SSI_ALL_
Basisname aller KE/ET spezifischen Datenpunkte zur Verwaltung der Systemtelegramme in Befehlsrichtung (analog zu sysMsgName).

[ssi] sysMsgName

Typ
string
Default
_SSI_SYS_
Basisname aller komponentenspezifischen Datenpunkte zur Verwaltung der Systemtelegramme. Je Komponente im System muss ein Datenpunkt angelegt werden, auf den eingehende und ausgehende Systemtelegramme abgebildet werden (z.B. GA). Der Name besteht dann aus dem hier angegebenen Basisnamen und der Regions- und Komponentennummer, durch '_' getrennt (Beispiel: "_SSI_SYS_255_1" für Komponente 1). Es ist darauf zu achten, dass der Basisname immer mit einem "_" endet.

[ssi] tcpServerPort

Typ
int
Wertebereich
>0
Gibt den Serverport für die von diesem Treiber hergestellte TCP-Verbindung an. Dieser Eintrag ist nur dann erforderlich, wenn der Treiber als Server-Dienst zur Verfügung stellen soll. Wird der Treiber in ein redundantes System eingebunden und soll daher mehrfach laufen, so kann für jede Instanz ein eigener Eintrag für den Serverport angegeben werden.