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] 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.