[all drivers]

Settings valid for all drivers. Define the entries in the driver specific section (e.g. [apc], [opc], ...).

[all drivers] commitCount

Type
unsigned integer
Default
100
The driver can send a certain number of messages in advance to the Event Manager without waiting for an acknowledgement. This number can be adjusted by this Config entry. The config entry applies particularly to the overload behavior of the driver.

[all drivers] connectForAlerts

Type
bool
Default
n
Range
y|n
Enables/disables connecting for alert attributes upon driver startup. For drivers which support alarming, this entry is internally set to "y". For every driver that does not support alarming, the entry is set to "n" by default. You may safely disable this if alarming is not necessary.

[all drivers] drvDisableCommands

Type
string
Default
_Driver<num>.DC | <drvDpName>.DC
Defines the name of the data point with which the sending of commands to the periphery can be inhibited.

[all drivers] drvDpName

Type
string
Default
_Driver<num>
Defines the datapoint name for the general driver internal datapoint.

[all drivers] drvErrorMode

Type
string
Default
_Driver<num>.EM | <drvDpName>.EM
Defines the name of the datapoint with which the error mode can be set. The following values are relevant for this datapoint:
  • 0: No additional error messages into the log file.
  • 1: Additional error messages into the log file.

[all drivers] drvGQ

Type
string
Default
_Driver<num>.GQ | <drvDpName>.GQ
Defines the name of the datapoint, with which a general query can be triggered.

[all drivers] drvPollEpsilon

Type
string
Default
_Driver<num>.PE | <drvDpName>.PE
Defines the name of the datapoint with which the pollEpsilon can be defined. The value of pollEpsilon defines how much time (in percent) of the poll interval the polling point in time may be overdue before it will be skipped. The default for pollEpsilon is 200%.

[all drivers] drvPollMode

Type
string
Default
_Driver<num>.PM | <drvDpName>.PM
Specifies the datapoint name that is used to set the polling mode. In general polling mode is only disabled for diagnostic purposes. Valid values for the pollmode are:
  • 0: no datapoints will be polled.
  • >0: datapoints will be polled.

[all drivers] drvSmoothMode

Type
string
Default
_Driver<num>.SM bzw. <drvDpName>.SM
Specifies the datapoint that can be used to configure the filter (smoothing) action. The following values are relevant for this datapoint:
  • 0 : All values are smoothed.
  • 1 : All values except GQ are smoothed.
  • 2 : No values are smoothed.

[all drivers] drvSQ

Type
string
Default
_Driver<num>.SQ | <drvDpName>.SQ
Defines the name of the datapoint, with which a single query can be triggered.

[all drivers] histDataBits

Type
string
The entry defines which userbits have to set simultaneously for marking historical data. Historical data are written as correction values and not as original values for sorting them temporal in the database. That means, that the system use only values and time of the periphery, but not status bits or other userbits or the invalid bit. The periphery has to return a time for these values. The entry has the format "Userbit x, Userbit y, ...".

Example:
histDataBits = "Userbit 1, Userbit 3"
causes the driver to interpret all values of the periphery, which have set the userbits 1 and 3 as historical data. Only the last entry is valid. it is not possible to define alternatives. The userbits can be switched off, with a leading "-". e.g.: histDataBits = "+Userbit 1,+Userbit 2,-Userbit 3,+Userbit 4,+Userbit 5,-Userbit 6,-Userbit 7,-Userbit 8,+Userbit 9,+Userbit 10,-Userbit 11,+Userbit 12,+Userbit 13,-Userbit 14,-Userbit 15,-Userbit 16,+Userbit 17,+Userbit 18,-Userbit 19,+Userbit 20,+Userbit 21,-Userbit 22,-Userbit 23,-Userbit 24,+Userbit 25,+Userbit 26,-Userbit 27,+Userbit 28,+Userbit 29,-Userbit 30,-Userbit 31,-Userbit 32" CAUTION: Do not use BLANKS after the comma for the "-" entries. For "+" it is not relevant.

[all drivers] IOTransitionTimeout

Type
int
Default
10
There is an attribute in the original value config in order to display the transition of a DPE when a new initial value was sent - the _transition attribute. This indicates when a value has been sent but no confirmation was received yet. If, for example, a value is set in WinCC OA, the transition bit is set automatically to 1 and a confirmation is expected from the periphery. The waiting period (default 10 seconds) can be defined via the IOTransitionTimeout config entry in the driver specific section. If the timeout elapses and no confirmation was received from the periphery, the original value is reset to the value that the periphery contains at that time. Also the transition bit is changed automatically to 0. If a confirmation is received before the timeout elapses also the transition bit is reset.

NOTE:
The value for the config entry IOTransitionTimeout should be two times bigger than
the biggest parameterized poll interval, to prevent the polling process from running
into an timeout all the time.
If you set the config entry IOTransitionTimeout to 0 in the driver specific section of the config file, the original value will not be reset and the transition bit will not be used.

[all drivers] loopTime

Type
unsigned long
Default
10
Range
>0
This entry gives the time in milliseconds the driver is permitted in the dispatch routine, which defines the cycle time of the driver.

[all drivers] maxConnectMachineSend

Type
int
Default
100
Number of registrations to outgoing datapoints at driver start, after which the sending of the message queue to the Event manager is triggered. Thereby less messages will be collected on the driver side (overflow is prevented), the Event manager the Event Manager can handle them in the meantime and the time needed for driver start-up is shortened.

[all drivers] maxOutputQueueSize

Type
unsigned integer
Default
1000*
Serves for restriction of the output queue to the Event Manager. In case of an overload behavior of the driver the queue would increase fast. This entry sets a limit for this. Relation between the number of values and the used bytes of memory: The objects contained in the queue are "DpIdVarFlgObj" objects. Such an object has a size of 68 bytes. This size, however, also includes a reference to a "Variable" object. The size of the "Variable" object depends much on the type of the variable. A rough value for simple variable types (e.g. integer) is 100 bytes/value change. *.. The default equals the number of HWObjects or at least 1000.

[all drivers] maxVcMessageSize

Type
unsigned integer
Default
200
Range
>= 0
Defines how many value changes a VC (value change) message, which is sent to the Event, may maximal contain.

[all drivers] passiveDriverWrites

Type
bool
Default
0
Range
0|1
This entry allows to define if the driver in passive mode shall write output values.

[all drivers] pollEpsilon

Type
float
Default
200.0
Range
> 0.0
This entry defines how much time (in percent) of the poll interval the polling point in time may be overdue and is still polled. The value 200 means that the double poll interval may remain, before this value will be polled at the next polling point again. This value can be changed in the drvPollEpsilon data point.

[all drivers] pollMode

Type
bool
Default
1 (Simulator: 0)
Range
0|1
Enables (=1) or disables (=0) the polling mode. This config entry is valid for all drivers, which use the polling function of the common driver (ComDrv).

[all drivers] pollTime

Type
float
Default
1.0
Range
>0.0
Specifies the time in seconds for the polling procedure. After expiration of this time the left polling requests will be processed in the next driver cycle. With this and the 'loopTime' entry the time the driver is outside of the workProc can be restricted.

[all drivers] reconnectToEvent

Type
string
Default
no
Range
yes|no
If this entry is set to "no" the driver stops when losing the connection to the Event Manager. Otherwise it tries to establish the connection to the event for any time. The previous behavior was to establish the connection to the event.

[all drivers] smoothBit

Type
string
Range
Userbit 1..Userbit 32
This entry specifies which user bits will be taken into account in case of smoothing (Low level old/new comparison or parameterized old/new comparison). If one user bit (or the invalid bit) changes, the value passes the old/new comparison even if the original value is not changed. This entry has to exist once for each user bit, which should be taken into account. Possible values for the user bits are e.g.:

smoothBit = "Userbit 1"
smoothBit = "Userbit 2"
...
smoothBit = "Userbit 32"

[all drivers] srcTimeCheckMode

Type
int
Default
0
Range
0,1,2
Data with timestamp outside a certain time range, can be logged in the log file or discarded. For this reason there are three config entries:

srcTimeCheckMode
srcTimeMaxBefore
srcTimeMaxBehind
srcTimeCheckMode is the mode for checking the source time:
  • 0 = no check
  • 1 = only error message
  • 2 = error message and the data is discarded

[all drivers] srcTimeMaxBefore

Type
float
Default
120 [s]
Maximum allowed time difference if the source time is before WinCC OA time (in seconds).

[all drivers] srcTimeMaxBehind

Type
float
Default
3600 [s]
Maximum allowed time difference if the source time is after WinCC OA time (in seconds).

[all drivers] useCRC

Type
bool
Default
0
Range
0|1

useCRC is a safety feature of the WinCC OA messaging system. It offers extended failure detection capabilities compared to the Standard messaging system. To ensure data integrity in WinCC OA Messages, these messages are divided into CRC telegrams of appropriate length each containing a 32 bit CRC. On reception of the messages the values are checked and if the values do not match, an error is detected. The error is shown in the log viewer and the connection between the WinCC OA managers is closed.

  • The entry "useCRC" can be used in the [event] or in a driver specific section of the config file. It can be used in one of these sections or in both sections.
  • The entry is always manager specific. The "stronger" manager wins and decides the type of connection:
    EXAMPLE The connection between the driver and the event will use the extended data integrity check. As will all other managers that connect to the event manager.
    [event]
    useCRC  = 1
    [mod]
    useCRC = 0
    EXAMPLE The connection between the driver and the event will use the extended data integrity check. All other managers that connect to the event manager will not use it (unless specified in their section).
    [event]
    useCRC  = 0
    [mod]
    useCRC = 1
  • The information whether a specific connection uses extended data integrity check or not is written to the connection data point of the manager. In addition a log entry will be written upon startup of the manager reporting its way of communication.
  • In a redundant system the entry can be used in one or both system(s) of the redundant system.
  • In a DRS system the entry can be used in one or both of the DRS system(s).
  • If distributed systems are used and one of the systems is a safety system and the other system is not, use the entry only for the safety system. The distributed partner of the safety system will use CRC checks when communicating with the safety system's event. CRC checks will not be used when communicating with the non-safety system's event manager.

    NOTE Default behavior is communication without extended CRC checks.

  • In case an invalid value is entered to the config file for the keyword "useCRC", a warning will be output in the log file and the manager will use default behaviour in its communication.
  • Log messages are output when CRC is used or when CRC was configured but is not used due to a localhost connection.
  • A message is also output when CRC is configured and should be used but is not being used (WARNING).

For a safety project see also the "Basic and operating Conditions" document in the ETM portal.

[all drivers] waitSecondsForIdps

Type
unsigned int
Default
60s
Range
> 0
A driver mostly requires some information during its start until it is completely initialized (the information contains mostly values of internal DPs). With this config entry can be specified how long the driver should maximally wait for this information. The time is specified in seconds. If a too small value is specified the driver might not have all values yet and it stops with an error message after the expiration of the timeout.