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.