[ssi]

Settings for the SSI driver

[ssi] aliveInstrNr

Type
unsigned
Default
0
Range
>=0
This entry specifies which command number should be used when sending alive telegrams (of type impulse command). This entry is only required and only meaningful if the SSI driver is operating in redundancy mode, and the other replicas (see redundancy) are monitoring their connections with different pulse commands. The peripheral address of the datapoint used for this alive monitoring must be the same for all replicas, however; only the command number (which is set by this entry) may be different (see the "Command" section in the "Message formats" chapter).

Example:
(0) aliveInstrNr = 0
(1) aliveInstrNr = 1
The command numbers of the alive messages equal the replica numbers in this case.

[ssi] aliveName

Type
string
Default
_SSI_Alive_
Base name of the SSI alive data points. The driver number will be automatically appended to this base name. Example: "_SSI_Alive_1" for driver number 1. Type of this data points: _SSI_Alive

[ssi] connection

Type
string int int
Specifies the key connection parameters.

Syntax:
connection = <hostname> <portnumber> <time>
  • <hostname> - The host name of the communication partner (this must include the domain name).
  • <portnumber> - The port number for the connection which must be set to 0 if the driver is operating as a server (in this case the tcpServerPort statement must appear in the configuration file).
  • <time> - The time which specifies for client connections, how much time should elapse (in seconds) before attempting to reconnect after a connection has failed.

Example:
connection = "mymachine.co.at" 2073 6
This driver communicates with the pre-stored component having the internet address "mymachine.co.at". The driver is acting here as a client. Six seconds after detecting a connection failure, it tries to reconnect to the pre-stored component.

Example:
tcpServerPort = 2073
connection = "othermachine.co.at" 0 10
In this case the driver is acting as a server. There must be a tcpServerPort entry in the configuration file (see above) specifying the port number from which the driver provides its services. The last parameter (the reconnect time) has no meaning in this case.

[ssi] dadfName

Type
string
Default
_SSI_DaDf_Table
Name of the data point that can parameterize the allocation between data type and data format. Type of this data point: _SSI_DaDf

[ssi] defaultImpulseTime

Type
int
Default
8
Range
0 - 255
A time period can be set for pulse commands sent from the driver to the SAT devices (see the "Command" section of the "Message formats" chapter). A default value can be specified with this entry, so that the time period does not need to be set for every command datapoint. This time must be specified as a byte as required by the SAT format (see below). If this entry does not appear in the configuration file, then 8 (=00001000) is assumed as the default setting, corresponding to a switching time of 100 ms (= 2x50 ms - see below). The following data is contained in this byte:
  • Time (Bit 0 and 1) 0 for 50 ms, 1 for 500 ms, 10 for 1 s, 11 for 10 s
  • Factor (bits 2-6) 1 to 31: switching time = time x factor
  • OW (Bit 7) 1... overwrites command already running
0...Overwriting not permitted.

Example:
defaultImpulseTime = 4
Sets the default value for the pulse commands switching period to 50 ms.

Example:
defaultImpulseTime = 134
Sets the default value for the pulse commands switching period to one second with overwrite bit set.

[ssi] drvSmoothMode

Type
int
Range
0,1,2
Defines the smoothing behavior. The following values can be set for this config entry:
  • 0 - Filtering (smoothing ) is always carried out.
  • 1 - Only spontaneous value changes are filtered (smoothed).
  • 2 - Filtering (smoothing) is never carried out.
This value is written to the _Driver<num>.SM datapoint of the type _DriverCommon.

[ssi] hostId

Type
int int
Specifies the name of its own component in the system (<region> and <component>). If the driver is running in a redundant system, i.e. there are multiple instances for the driver, a separate HostId statement can be given for each instance by preceding each statement with the number of the replica (in round brackets, see tcpServerPort statement).

[ssi] impztName

Type
string
Default
_SSI_Impulse_Times
Name of the data point that contains a dynamic array of pulse time (for binary SSI commands). Type of this data point: _SSI_Impulse_Type

[ssi] keet

Type
int int
Region number and component number of the pre-stored component in the system (this is the component which is directly connected to WinCC OA). This is needed for initialization of the component-specific internal datapoints. The values must match the expected region numbers and component numbers of the SSI telegrams. See also keetConnection.

[ssi] keetConnection

Type
int int string int int
The config entry keetConnection combines the keet/connection statements or the redundancyKeet/redundancyConnection statements. More than 2 connections can be defined with this entry. The parameters are:
  • Region number for the connection
  • Component number for the connection
  • IIP name of the partner
  • Port number (0 if the driver is acting as a server), normally 2073
  • Timeout for a reconnect
The keet/connection or redundancyKeet/redundancyConnection statements continue to be supported for compatibility reasons. The entries can appear in any order; the driver sends commands to all partners and reads messages from all partners.

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

[ssi] mapComponent

Type
unsigned unsigned
Range
0..255, 0..255
With this config entry a component number can be mapped to another. Thereby it is possible to receive values from different, redundant SAT devices, however, to parameterize the corresponding datapoints only once. In the config entry the component number and its "alias" is set.

Example:
mapComponent = 2 22
If the driver receives a message with the component 2, then at first it is searching for a peripheral address for this component. If the search was not successful, it is searching one for the component 22.

[ssi] mapRegion

Type
unsigned unsigned
Range
0..255, 0..255
With this config entry a region number can be mapped to another. The order of the numbers in the config entry is <PLC region number> <WinCC OA region number>. In messages from the PLC the region number always is changed to this, which is valid in WinCC OA, before the corresponding datapoint is searched. In command messages and also in system messages from the driver for the source region number in the message header still the number is user, which is specified in the "hostId" config entry (without mapping). For a target region number in system messages the mapped from the DP is used. In the config file in 'hostID', 'keet', 'redundancyKeet' and 'reachableComponent' still the WinCC OA valid region numbers should be used. Each region number may be mapped maximum once per driver.

[ssi] mapUserBit

Type
int string
Range
1 - 8; TestMode, Spontan, NotSorted, NEZ, Available, Ersatzwert, HighPriority, AbschaltungManuell
The flags set in the SSI message can be mapped to user bits of the original value config, if required. For the first parameter the entries 1 to 8 are allowed (for 8 user bits) and for the second parameter the following entries can be set:
  • 'TestMode'
  • 'Spontaneous'
  • 'NotSorted'
  • 'NEZ'
  • 'Available'
  • 'Replacement value'
  • 'HighPriority'
  • 'Manual disable'
In WinCC OA the GA bit and the invalid bit always are mapped onto the intended and same named bits of the original value config.

[ssi] pollCount

Type
unsigned integer
Default
32
Range
>0

Defines the number of data points that can be polled at once. If several polling requests are queued they will be processed in the next driver cycle.

[ssi] reachableComponent

Type
int int
Region number and component number of a component in the system (except the pre-stored components - see "keet" entry). This is used for initialization of the component-specific internal datapoints. The values must match the expected region numbers and component numbers of the SSI messages.

[ssi] redundancyConnection

Type
string int int
The parameters here have the same meaning as those in the connection statement. This statement is necessary when there are two redundant remote devices (KE/ET) connected to one driver. Communication with more than two redundant KE/ET devices is currently not possible with the SSI driver.

Example:
connection = "firstmachine.co.at" 2073 10
redundancyConnection = "secondmachine.co.at" 2074 10
The driver should establish two connections (both as clients). All items of data coming from the two redundant KE/ET devices are processed by the driver (and forwarded to the Event Manager unless filtered). Normally, however, only the active device of the two KE/ET components actually sends useful data (alive messages are the exception, which are only used for monitoring the connection).

[ssi] redundancyKeet

Type
int int

[ssi] selectTime

Type
int int
Range
>=0; >=0
Maximum wait time in seconds (first parameter) and milliseconds (seconds parameter) for receiving new data in select.

[ssi] ssiMaxLength

Type
int
Default
1024
Range
>0
Specifies the maximum length of an SSI message in bytes.

[ssi] subAdrInUse

Type
string
Default
No
Range
Yes|No
Defines whether the subaddress in the source address of the telegram should be taken into account ("Yes") or should always be set to 0 ("No").

[ssi] sysAllName

Type
string
Default
_SSI_ALL_
Basis name of all KE/ET specific datapoints for management of the system telegrams in command direction (analog to sysMsgName).

[ssi] sysMsgName

Type
string
Default
_SSI_SYS_
Basis name of all component-specific datapoints for management of system messages. Per component in the system a datapoint must be created onto which incoming and outgoing system messaged are mapped (e.g. GA). Thus, the name consists of the here specified basis name and the region and component number separated by an "_" (for example: "_SSI_SYS_255_1" for component 1). Note that the base name must end with an "_".

[ssi] tcpServerPort

Type
int
Range
>0
Specifies the server port for the TCP connection maintained by this driver. This entry is only required if the driver is meant to provide services as a server. If the driver is linked in a redundant system, i.e. there are multiple instances of this driver, then a separate entry for the server port can be specified for each instance.