Possible Config Entries in WinCC OA

SectionDescription
[all drivers] Settings valid for all drivers. Define the entries in the driver specific section (e.g. [apc], [opc], ...).
[all sections] Settings which can be used in all sections
[all sections except general] Settings for all sections except [general]
[ascii] Settings for the ASCII Manager
[asx] Settings for the ASX driver
[asx_<k_komReceiver>]
[attentionEffectEWO] Settings for the AttentionEffectEWO.
[auth] The settings for the auth section start with this keyword.
[bacnet] Settings for the BACnet driver
[bacnetdefault] Settings for the BACnet Application.
[calcstate] Settings for the calculateState.ctl CTRL script.
[commandChannel] Settings for the Command Channel.
[ctrl] Settings for the Control Manager
[data] Settings for the Data Manager
[different sections] Settings for different sections
[DisRec] Settings for the Disaster Recovery System
[dist] Settings for the Distribution Manager
[distsync] Settings for Dist management.
[dnp3] Settings for the DNP3 driver
[driver] Config Entries for Drivers.
[eip] Settings for the EIP driver
[event] Settings for the Event Manager
[general] Global settings valid for all managers
[httpServer] Defines options for the httpServer running inside a CTRL manager
[iec] Settings for the IEC driver
[iec61850] Settings for the IEC 61850 client.
[mod] Settings for the Modbus driver
[modsrv] Settings for the Modbus/TCP server
[mqtt] Settings for the MQTT driver.
[mqttpub] Settings for the MQTT Publisher.
[NextGenArch] Settings for the NextGenArchive (NGA)
[oaTest] Settings for the WinCC OA Unit Dynamic Link Library.
[oledb] Settings for the OLE DB provider.
[onlineBackup] Settings for the online backup
[opc] Settings for the OPC client
[opcae] Settings for the OPC A&E Client
[opcaesrv] Settings for the WinCC OA OPC A&E server.
[opcae_<servername>]
[opchda] Settings for the OPC HDA client
[opchdasrv] Settings for the OPC HDA Server
[OPCSERVER] Settings for the OPC server
[opcsrv] General settings for the OPC DA server.
[opcua] Settings for the OPC UA client
[opcuasrv] Settings for the OPC UA server
[opc_<symbolic_servername>] Server-specific settings for the OPC client
[PMAgent] Settings for the PM-Add-On.
[pmon] Settings for the Process Monitor (Pmon)
[pmonWatchdog] The settings for the pmonWatchdog section start with this keyword.
[profisafe] Settings for the PROFIsafe driver.
[proxy] Settings for the WCCILproxy
[redu] Settings for the Redundancy Manager
[reporting] Settings for the Reporting Manager.
[rk512] Settings for the RK512 driver
[s7] Settings for the S7 driver
[s7plus] Settings for the S7Plus driver
[sbus] Settings for the S-Bus driver
[sinaut] Settings for the SINAUT driver
[snmpa] Settings for the SNMP Live Agent
[snmpdrv] Settings for the SNMP manager
[split] Settings for the split mode manager
[ssi] Settings for the SSI driver
[stdlib] Settings for the Standard Object Library (Stdlib).
[TLSGateway] Settings for the TLS gateway. The TLS standard is only used in the German-speaking part of Europe. Therefore the full documentation is only available in German. Please contact an ETM key account manager for further information.
[ui] Settings for the User Interface
[ulcUX] Settings for the ULC UX client.
[valarch] Settings for the Value Archive
[ValueArchiveRDB] Settings for the RDB Archiving
[webClient] Settings for the WinCC OA mobile UI application and the Desktop UI.
[wssServer] Settings for specialized WebSocket servers (as used for e.g. Dashboard or Node-RED).

[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] drvDpName

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

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

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

[all sections]

Settings which can be used in all sections

[all sections] aliveTimeout

Type
integer
Default
-10
Range
MIN_INT..MAX_INT
The entry defines at which intervals (in seconds) the alive telegrams of this manager must be received, when the target manager provides an alive port. The manager itself sends about 10 alive telegrams over this period. If the target manager does not receive any telegrams over this period, the target manager closes the connection. The value 0 deactivates the sending of alive telegrams and the monitoring of the target manager. Negative values are only valid for connections between managers that run on different computers. Positive values are valid for all manager connections. The target of alive managers can be any manager to which the alive manager builds a connection and which provides an alive port. Normally this is the Event and possibly the Data Manager. For Dist Manager also the Dist Managers of the coupled systems. The receiving of the respective manager can be deactivated by using the config entry "alivePort = 0".

[all sections] allowLocalMessageCompression

Type
bool
Default
0
Range
0|1
The config entry allowLocalMessageCompression = 1 can be used to activate the message compression on the local computer. You can set the config entry, for example, when using the Web Client.

[all sections] chainPrefix

Type
string
The certificate "chain" is a concatenation of the subjects of the daisy chained certificates. If you, for example, use the following certificates: e.g. root-CA ^ sub-CA1 signed by | ^ sub-CA2 signed by | ^ HOST_CERT signed by | the certificate chain in the example would be "rootCA;sub-CA1;sub-CA2;HOST_CERT". If the config file entry chainPrefix is set, the start of the certificate chain of the peer has to match the given string.

[all sections] cipherSuiteList

Type
string
Default
TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-GCM-SHA256
A cipher suite is a set of cyptographic methods. A comma separated list of all cipher suites to be offered for communication. The server chooses the first cipher suite of its list which is also offered by the client. By default TLSv1.3 is enabled using a list of default ciphers (see the default above). By default the following cipher suites are enabled: TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-GCM-SHA256 When listing the cipher suites, the values are separated by comma. Therefore, the default value of the config entry is: cipherSuiteList = "TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-GCM-SHA256" The syntax is: cipherSuiteList = "<cipherSuite0>, <cipherSuite1>,...,<cipherSuiteN>" To disable either TLSv1.2 or TLSv1.3, change this cipherSuiteList config entry to only contain the specific ciphers, e.g. if no TLSv1.3 cipher is in the list, v1.3 will be disabled, and vice versa. Use the debug flag "-dbg BCM" to display which ciphers will be used. The allowed v1.3 ciphers are described on the openSSL web page. Example cipherSuiteList = "TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-GCM-SHA256" The supported cipher suites can be found in the Security Guidelines on winccoa.com.

[all sections] connectDelay

Type
int
Default
20
Range
>0
Time remaining until next attempt is made to connect to another program (see connectRetries).

[all sections] connectRetries

Type
int
Default
30
Range
>0
Number of connection attempts to another program. The delay between the attempts is defined in connectDelay.

[all sections] coverageReportFile

Type
string
Defines the file to write the output of "-report CTRL_COVERAGE" to. The file will be created in the log directory of the project. The placeholder $MAN$, $DATE$, and $TIME$ will be replaced by manager name and number, current date in the format YYYYMMDD and current time in the format HHMMSS, resp. Special names are "stderr" for output to stderr and "stdout" for output to "stdout". Default is the same file as all other output from "-report ...".

[all sections] ctrlBreakFunctionCall

Type
bool
Default
0
Range
0|1
Defines if nested function calls shall be processed in one go (or until a waiting function call is reached) (= 0) or if the script can also be interupted during the function code execution (= 1).

[all sections] data

Type
string
Default
local host name, port 4897
This entry defines the host name of the Data Manager. Optionally with the port number. If a host name should be specified together with the port number, use the "data" entry. Host name and port number are separated by a colon. For redundant systems both data hosts are entered with a dollar sign separately. The complete syntax is: data = "host1[:port1]" Or (in case of redundancy): data = "host1[:port1]$host2[:port2]" For further information on the redundancy feature see chapter Redundancy, basics. Or (in case of redundant network connections): data = "host1-1[:port1],host1-2[:port1]" For further information on redundant network connections in WinCC OA see chapter Redundant network connections. Or generally: data = "host1-1[:port1],host1-2[:port1]$host2-1[:port2],host2-2[:port2]" Instead of specifying the host name you can also use IP addresses, e.g. data = "192.168.154.26". The use of IP addresses can possibly bring undesirable effects (resolution of IP - host name when using in scripts). If there are problems with the functionality when using IP addresses, you have to use the host names! Note: This entry replaces the config entries "dataHost" resp. "dataPort" (known from former versions) which remain for compatibility reasons.

[all sections] dataHost

Type
string
Default
local host name
Obsolete entry. The computer name of the computer on which the Data Manager (WCCILdata) was started. All programs that want to connect to the Data Manager search the Data Manager on the specified computer. Redundancy: The primary and secundary host are separated through '$'. This format of dataHost/eventHost switches on the redundancy. Caution: This entry should not be used anymore. For defining the host names use the "data" entry.

[all sections] dataPort

Type
integer
Default
4897
Range
1024 .. 65535 (see RFC 1340 | /etc/services)
Port number of the Data Manager. Caution: This entry should not be used anymore. For defining the port numbers use the "data" entry.

[all sections] dbg

Type
string
With this entry debug flags for managers can be defined. This is especially useful for the PMON when it is used as Windows-Service, as you can not define commandline arguments in this case. Example: dbg = "2,16,SOME_FLAG"

[all sections] dbgOffset

Type
integer
Default
1
Range
>0
Defines an offset for dbgCount. dbgCount = 100 and dbgOffset = 2 means that debug messages will be printed after 2, 102, 202, ... messages. Therefore the manager has to be started with the command line option '-dbg 17'. This option is implemented in the Data- and Event Manager as well as all drivers.

[all sections] DHParamFile

Type
string
Default
2048-bit MODP group 14
The path, relative to the projects root directory, and the name of a PEM file containing the DHparameter structure. The format of the structure is described by the PKCS#3 standard. This Parameter is only relevant for Cipher Suites supporting Diffie-Hellman(DHE) key exchange protocol.

[all sections] discreteImpulseAlertWithoutWent

Type
bool
Default
0
Range
0|1
Is this config file entry set no WENT event are created for discrete impulse alarms. This way state messages can be created for example: 1 open, 2 closed, 3 between, 4 error. According to the sequence of values in the alarm log is stored: open CAME; between CAME; closed CAME; error CAME ... - without this config file entry the WENT events are listed too in the alarm log (open CAME; open WENT; ...)

[all sections] distributed

Type
bool
Default
0
Range
0|1
Obligatory entry for a distributed system. A distributed system requires the "distributed = 1" entry. In addition, this value may be overwritten for individual managers. [ctrl_1] distributed = 0 In this case the Control Manager with the number 1 cannot access DPs of other systems (DP identification is not transmitted to this manager).

[all sections] ECDHCurve

Type
string
Default
prime256v1
For Cipher Suites using the Ecliptic curve Diffie-Hellman (ECDHE) key exchange protocol, the name of the Elliptic curve to be used can be specified. Please run openssl.exe ecparam -list_curves to get a list of all curves supported by the installed version of OpenSSL

[all sections] event

Type
string
Default
lokaler Hostname, Port 4998
Specifies the host names and optional the port numbers of the Event Manager. The syntax of this entry is the same like the syntax of the config entry "data" (see above). Caution: This entry replaces the config entries "eventHost" resp. "eventPort" (known from former versions) which remain for compatibility reasons.

[all sections] eventHost

Type
string
Default
lokaler Hostname
Obsolete entry. The computer name of the computer on which the Event Manager (WCCILevent) was started. All programs that want to connect to the Event Manager search the Event Manager on the specified computer. Redundancy: Primary and secondary host are separated through '$'. This format of dataHost/eventHost switches on the redundancy. Caution: This entry should not be used anymore. For defining the host names use the entry "event".

[all sections] eventPort

Type
int
Default
4998
Range
1024 .. 65535 (siehe RFC 1340 | /etc/services)
Port number of the Event Manager. Caution: This entry should not be used anymore. For defining the port numbers use the entry "event".

[all sections] exitDelay

Type
uint
Default
0
Range
>=0
Defines how many seconds a manager has to wait before final exit (in this case a log message will be returned). If a manager is closed by a signal, this delay should not be used (e.g. stopping by console/pmon), otherwise it will be always used.

[all sections] ignoreManager

Type
string int
A driver ignores the hotlinks of a value change from certain managers. The manager name and numbers identifies each manager. The name corresponds to the section keyword without the brackets: e.g. "ctrl, or "ascii" for the ASCII Manager. Exceptions: All drivers are identified as "driver", all API as "api" and all device managers (SCA-RS) as "device". Example: [ssi] ignoreManager = "ascii" 1

[all sections] ip_allow, ip_deny

Type
string
Defines IP access control lists for servers providing TCP listening sockets (Event, Data, HTTP, etc.) which can limit the access to these for the defined clients. Wildcard characters * and ? are supported (e.g. "*.etm.at"). The special value "-empty list-" clears the list entries defined up till now (e.g. ip_deny = "-empty-list-") Multiple occurences will add the entries to the list. For further information see also IP access lists for TCP server sockets in the Online Help.

[all sections] kerberosSecurity

Type
string
Default
none
Range
none,auth,int,enc
Controls the behaviour of the client-server connection. "none" is the default and specifies that Kerberos is not used. "authenticate" specifies that clients and servers must authenticate themselves. Messages are neither signed nor encrypted. "integrity" specifies that clients and servers must authenticate themselves and sign all messages thereafter. If one of the partners fails to verify the signature of a message from the other partner, the connection is aborted. "encryption" specifies that clients and servers must authenticate themselves and encrypt all messages thereafter. If one of the partners fails to decrypt the message from the other partner, the connection is aborted. If a client and a server contain different settings, the stronger (in the sequence: auth/ int/ enc) will win and determine the message behaviour. The (initial) INIT_SYS and KEEP_ALIVE messages are neither signed nor encrypted. These messages do not contain sensible data and the sending in clear text is not a problem. The reason for sending the messages in clear text is that one peer might be ready to sign or encrypt the message but the other side still needs more data to verify or decrypt the message.

[all sections] localAddress

Type
string
localAddress allows to specify the local network address of a server. By default a server can be reached via all local addresses. An exception is the Pmon, which by default listens to "localhost" and is reachable from the same computer only and not from others. localAddress allows to specify via which local IP addresses a server can be reeached, e.g. from the loopback address only (localhost or 127.0.0.1) or via a specific network card. Valid entries are "" for all addresses, "0.0.0.0" for all IPv4 addresses, "::" for all IPv6 addresses, "127.0.0.1" or "localhost for IPv4 loopback, "::1" for IPv6 loopback address, or every other local IP address.

[all sections] logFile

Type
bool
Default
1
Range
0|1
Directs the output of the error messages to a file. In the directory "log" of the project path each manager has such a file. 1...On, 0...Off.

[all sections] logStdErr

Type
bool
Default
0
Range
0|1
Defines if messages from the standard WinCC OA Error handler shall be written to stderr (Standard Error Output). stderr is redirected into a file {Manager}{Number}.log per Manager.

[all sections] maxDpNamesCount

Type
unsigned integer
Default
1.000.000
Range
>=0
Specifies how many data point elements the dpNames() or equivalent functions (getIdSet and similar functions) in API may return. If the number of DPEs is exceeded, the functions do not return anything (dpNames()) or an error. The value 0 allows an arbitrary number of values. Note that this number may also be exceeded, if for a DP the requested search object (DPE, alias, comment, etc) does not exist, but, however, the DP matches the filter criterion. For example, the number of DPEs (that match the filter criterion) in the function dpGetAllAliases() is compared with the number set in maxDpNamesCount, even if not all DPEs have an alias. NOTE: If the result list of a function is bigger than the value of the config entry "maxDpNamesCount", the query is stopped. This applies, e.g. to the following functions: - dpGetAllAliases() - dpTypes() - dpAliases() - dpNames() - All Query functions that use a pattern such as FROM '*.**' to filter by in the FROM part of a query.

[all sections] messageCompression

Type
string
Default
none
Range
none, zlib, bzip2, zlib-bzip2
Use the config entry "messageCompression" to specify the compression scheme. The config entry may contain the following schemes: "none" - no compression "zlib" - compression using zlib (gzip, zip); see http://www.zlib.org "bzip2" - compression by using the bzip2 algorithm (bzip2 is a freely available, high-quality data compressor; see http://www.bzip.org). "bzip2" compresses better than "zlib" at the cost of higher CPU utilization. "zlib-bzip2" - compresses short messages using zlib and bigger messages like Identification using bzip2. You can use the config entry in all config file sections. You can specify several schemes, for example, messageCompression = "zlib-bzip2,zlib". The client and the server agree on the first common scheme. Therefore, if you parameterize "zlib" on the client and "bzip,zlib" on the server, the "zlib" scheme is used. The default value is "none" and if you want to use compressed messages we recommend to use "zlib-bzip2".

[all sections] messageCompressionThreshold

Type
int
Default
0
Range
0 - MAX_INT
This entry specifies the threshold in bytes below which messages are not compressed. "0" means "compress all". Message compression always comes with a penalty of CPU usage. Sometimes it can be more effective to transmit small messages uncompressed because the throughput in the network would not change. A good estimate for this entry is the MTU, i.e. the max number of bytes which can be transmitted in one TCP packet. The MTU depends on the transmission used and can be as low as a few 100 bytes in case of PPP up to approximately 1200 bytes in case of Ethernet.

[all sections] mxProxy

Type
string
Default
derived from various settings
Range
n.a.
Syntax: mxProxy = "<serverHost> <proxyHost[:proxyPort]> <securityMode>" | "none" e.g. mxProxy = "system36 etmFW:5678 cert" mxProxy = "system314 system314 cert" mxProxy = "system310 system310 none" mxProxy = "none" This entry can occur multiple times, once for each connection. serverHost - Name of the host running the server (e.g. WCCILdata) to be communicated with. proxyHost - Name of the host running the WCCILproxy. proxyPort - Port that is used by the WCCILproxy (default port: 5678). securityMode - Please see the description for securityMode. If no proxy configuration is available, the client will directly connect to the host specified by the data config file entry, assuming that data and event managers as well as the proxy manager run on this host. If you use an IPv6 address for the "server" and "mxProxy" entries, the [ ] (square brackets) must be used. [general] mxProxy = "[::1] [::1]:5678 cert" [proxy] server = "[fe80::2c5c:5415:98f1:82f3]:1234" If the entry mxProxy="none" is used the WCCILproxy will be disabled.

[all sections] noReverseLookup

Type
bool
Default
0
Range
0|1
Defines if the IP address for a manager connection shall be resolved to an IP name. Default is 1 for Android and iOS and 0 for all other platforms

[all sections] optimisedRefresh

Type
Bool
Default
1
Range
0|1
During a redundancy switch a client sends a DISCONNECT_ALL message to the switching system. Because processing such a message is expensive a client usually does this only if there are dpConnects and the like for this system. With this config entry the client can be forced to send the message also, if there are no connects. Earlier systems like 3.11 need this message because they couldn't recognize in other ways if a manager was restarted.

[all sections] osErrorMode

Type
int
Default
1
Range
0,1,4,2,32768
The config entry deactivates the Windows error reporting dialogs. Several options can be used simultaneously for the entry as a mask. In this case use the binary operator (or) |. Option 0 - Use the system default, which is to display all error dialog boxes. Option 1 (SEM_FAILCRITICALERRORS) - The system does not display the critical-error-handler message box. Instead, the system sends the error to the calling process. Option 4 (SEM_NOALIGNMENTFAULTEXCEPT) - The system automatically fixes memory alignment faults and makes them invisible to the application. Option 2 (SEM_NOGPFAULTERRORBOX) - The system does not display the Windows Error Reporting dialog. Option 32768 (SEM_NOOPENFILEERRORBOX) - The system does not display a message box when it fails to find a file. Instead, the error is returned to the calling process. e.g. [general] osErrorMode=4|2

[all sections] outstandingMsgTimeout

Type
int
Default
-1
Every manager is periodically checking if all outstanding messages (requests) receive their answers in a period defined by outstandingMsgTimeout (in seconds). In case the timeout runs out a warning is traced. After that the warning is also traced every outstandingMsgTimeout seconds until the answer arrives. To enable this feature, set this config entry to a value >= 0. The value -1 (default) disables the feature.

[all sections] refreshDelay

Type
int
Default
0
Range
>=0
Delay time in seconds for a refresh of connects after a redundancy switch. The given time is randomized per manager for better load distribution and is calculated based on this value.

[all sections] reportFile

Type
string
Defines the file to write the output of "-report ..." to. The file will be created in the log directory of the project. The placeholder $MAN$, $DATE$, and $TIME$ will be replaced by manager name and number, current date in the format YYYYMMDD and current time in the format HHMMSS, resp. Special names are "stderr" for output to stderr and "stdout" for output to "stdout". Default is to write to stderr.

[all sections] securityMode

Type
string
Default
cert
Range
plain | cert | winCert | none
cert SSL/TLS with PEM format certificate files are used for Multiplexing Proxy and the SSL communication between the managers and for the HTTP server between the client and server winCert SSL/TLS with certificates stored in Windows Certificate Store are used for Multiplexing Proxy and the SSL communication between the managers and for the HTTP server between the client and server. none The communication does not take place via WCCILproxy but directly with the server. This is introduced to support distributed system with different WinCC OA versions where the old versions do not have SSL capabilities.

[all sections] singleSourceConnect

Type
integer
Default
0
Range
0|1
The source IP addresses have to be different for redundant network connections. The second connect is closed if it has the same source IP address as the existing connection. If a computer establishes a connection to a redundant network via a network interface card, both connections have the same source IP address. In this case the config entry singleSourceConnect has to be set to 1.

[all sections] ssaCertCheck

Type
String
Range
chainPrefix=%chainPrefix%
With this entry you can set the ChainPrefix. This is required when Windows Cert Store certificates are used. ssaChertCheck = "chainPrefix=rootCA;sub-CA1;sub-CA2;HOST_CERT" If the config file entry ssaChertCheck is set, the start of the certificate chain has to match the given string.

[all sections] ssaCertificate

Type
string
"[type]:[value]" type: can be "file" or "store" describing where the certificate is stored. value: dependent on the "type", "value" is either the relative path of the certificate (type == "file") or is split into "loc:store:subject" - loc: Location of the store. "USER" is the current Windows Certificate Store user: CERT_SYSTEM_STORE_CURRENT_USER, "MACHINE" is the Windows Certificate Store account of the local machine: CERT_SYSTEM_STORE_LOCAL_MACHINE - store: is name of certificate store to be used - subject: search criteria to find the certificate by subject/SHA1 property

[all sections] ssaChainFile

Type
string
ssaChainFile = "[value]" Value is the path of the certificate chain-file (can be either relative or absolute).

[all sections] ssaCRL

Type
string
ssaCRL = "[value]" Value is the path of the CRL(Certificate revocation list) file. The path can be either relative or absolute.

[all sections] ssaPrivateKey

Type
String
"[type]:[value]" type: can be "file" or "store" describing where the private key is stored. value: dependent on the "type", "value" is either the relative path of the key (type == "file") or is split into "loc:store:subject" - loc: Location of the store. "USER" is the current Windows Certificate Store user: CERT_SYSTEM_STORE_CURRENT_USER, "MACHINE" is the Windows Certificate Store account of the local machine: CERT_SYSTEM_STORE_LOCAL_MACHINE - store: is name of certificate store to be used - subject: search criteria to find the key by subject/SHA1 property

[all sections] sslCertificate

Type
string
Default
[path]/host-cert.pem [path]/host-key.pem [path]/root-cert.pem
syntax: sslCertificate = "<[path]/cert-file> <[path]/private-key> <[path]/CAFile>" e.g. D:/certificates/host-cert.pem This entry is used when the security mode cert is configured. The sslCertificate entry specifies the absolute path of the 3 files needed for SSL/TLS encrypted communication. All files have to be PEM encoded. <cert-file> X509 certificate of the host <private-key>Private Key of the host <CAFile> X509 certificate of the trusted CA (Certificate Authority) which signed the certificates of all hosts

[all sections] sslCRLfile

Type
string
The path, relative to the projects root directory, and the name of a PEM file containing the CRL. Please see the OpenSSL documentation ( openssl ca ) for details about CRL files.

[all sections] sslVerifyTime

Type
Bool
Default
1
Range
0 | 1
If sslVerifyTime = 1 is configured, certificates are checked for valid times.

[all sections] valueChangeTimeDiff

Type
unsigned integer
Default
30 (sec)
Range
>=0
If the original value is changed, the Event Manager checks if the provided source time is more than valueChangeTimeDiff seconds in the future. In this case the system adjusts the source time to the current time and additionally sets the status bit invalid source time (_original.._stime_inv). Thereby, the system also sets the invalid bit. Redundancy: When a manager starts, it determines the time difference between its own computer and the computer of the server. If the system times differ for more than "valueChangeTimeDiff/2" seconds, the manager shows an error message. If the system times differ for more than "valueChangeTimeDiff" seconds, the manager closes the connection and shows an error message. If the valueChangeTimeDiff entry is set in the [event] section in older projects, the system shows an error message. The permitted time difference is 30 seconds. Caution: If a difference between the system times arises during the operation, the system does not check the difference.

[all sections] winCert

Type
string
syntax: winCert = "<location>:<store>:<cert-id>" e.g. winCert = "USER:MY:IOWASystem34" winCert = "MACHINE:MY:3E 27 B3 87 52 25 70 E6 64 6B C8 FC 06 78 AD 62 CC 89 46 A2" If security mode wincert is configured the config entry winCert determines which certificate from the Windows Certificate Store is used for SSL/TLS communication. <location> Possible values are USER | MACHINE. If the value USER is specified the certificate is searched in CERT_SYSTEM_STORE_CURRENT_USER. If the value MACHINE is specified the certificate is searched in CERT_SYSTEM_STORE_LOCAL_MACHINE. <store>The name of the store within location to be used. <cert-id> Search criteria to find the certificate. If not specified differently by winCertSearchBy the given string is considered certificates subject name. If subject is not unique within the given location the first certificate valid regarding time is used. If sslVerifyTime = 0 is configured, each certificate is considered valid. NOTE! If a private key for a certificate is available it is stored along with the certificate in the Windows Certificate store.

[all sections] winCertSearchBy

Type
string
Default
SubjectName
Range
SubjectName | SHA1
Specifies if the <cert-id> given in the winCert or winRootCA config entry is a subject string or the SHA1 fingerprint of the certificate given as string of hex digits. e.g. SHA1 fingerprint given as string of hex digits "3E 27 B3 87 52 25 70 E6 64 6B C8 FC 06 78 AD 62 CC 89 46 A2"

[all sections] winRootCA

Type
string
syntax: winRootCA = "<location>:<store>:<cert-id>" e.g. winRootCA = "MACHINE:ROOT:IOWARootCA" winRootCA = "MACHINE:ROOT:58 BA 02 2F 3A 6F 0F 42 27 3E 87 F8 43 3B EB 53 FE B9 E0 AD" If security mode winCert is configured the config entry winRootCA determines which certificate from the Windows Certificate Store to be used for certificate verification during SSL/TLS session negotiation. Please see the description of the SecurityMode entry. <location> Possible values are USER | MACHINE. If USER is specified the certificate is searched in CERT_SYSTEM_STORE_CURRENT_USER. If MACHINE is specified the certificate is searched in CERT_SYSTEM_STORE_LOCAL_MACHINE. <store>The name of the store within location to be used. <cert-id> Search criteria to find the certificate. If not specified differently by winCertSearchBy the given string is considered the certificates subject name. Please see the description of the config entry "winCertSearchBy". If subject is not unique within the given location the first certificate valid regarding time is used. If sslVerifyTime = 0 is configured, each certificate is considered valid.

[all sections except general]

Settings for all sections except [general]

[all sections except general] alivePort

Type
unsigned integer
Default
0
Range
0..64k
Defines the port on which a manager wants to receive alive messages. The alive check mechanism is only used between managers which define an alivePort and also have an aliveTimeout != 0. The alive check is done on the receiver side only - the one which defines the alivePort. See also aliveTimeout.

[all sections except general] alivePriorityClass

Type
bool
Default
1
Range
0|1
Increases the priority of the alive thread under Windows to TIME_CRITICAL, under Linux to maximum "Scheduling priority".

[all sections except general] as_activeAlarmBackCol, as_activeAlarmForeCol, as_activeCurrAlarmBackCol, as_activeCurrAlarmForeCol, as_alarmBackCol, as_alarmForeColI

Type
string
Range
WinCC OA-Color
In the open and closed mode of the alert and event panel, the foreground and background color (blink color) of the last active alarm entry can be specified. Example: text: red, background: white. Active alarm always means the last "CAME unacknowledged" or "CAME acknowledged" alarm. Examples: as_activeAlarmBackCol = "<{255,0,255},4,{255,255,255},4>" as_activeAlarmForeCol = "<{255,255,255},4,{255,0,255},4>" In the open and closed mode of the alert and event panel, the foreground and background color (blink color) of a non-active alarm can be specified. A non-active alarm means when an alarm (alert direction/value) changes to WENT/False. Examples: as_alarmBackCol = "_3DFace" as_alarmForeCol = "blue"

[all sections except general] as_descriptionMode

Type
bool
Default
0
Range
0|1
With as_descriptionMode = 1 you can set that the alias is shown in the alert view, if a data point description is not available. If also the alias does not exist, the datapoint name is shown.

[all sections except general] as_ShowMilliseconds

Type
integer
Default
0
Range
0|1|2
Display of milliseconds on the alert screen. 0: Milliseconds delimited by '.' 1: Milliseconds in () 2: like 0

[all sections except general] as_SpecialWentText

Type
bool
Default
0
Range
0|1
Shows the text of a went alarm on the alarm screen in brackets (=1).

[all sections except general] connectDp

Type
string
Defines the datapoint, which is used by a manager to notify its manager connections.

[all sections except general] connectToRedundantHosts

Type
unsigned
Default
0
Range
0,1
This entry specifies if a manager that normally connects to only one Event Manager (e.g. CTRL) should connect to both Event Managers in a redundant system. The entry can be used in all sections except [general]. This means that all managers can establish a connection to both Event Managers. Example: [ctrl] connectToRedundantHosts = 1

[all sections except general] distSystemIds

Type
string
With this config entry you can parameterize per manager from which distributed system it accepts/holds the DP identification. Example: [ctrl_3] distSystemIds = "1-28, 46, 280-290, 320" Either ranges or single numbers can be entered. Blanks are ignored. If this config entry is not defined, all DP identifications are accepted. If the value of the distributed config entry (see Configuration file for distributed systems in the Online Help) for a manager is 0, the DP identification is not transmitted to this manager. With the debug level -dbg 31you can check, which identifications are accepted or ignored.

[all sections except general] requestDejaVu

Type
bool
Default
0
Range
0|1
In a redundant system the passive Event processes only value changes which are received from the active Event manager. Messages, which it receives from a manager connected to both event mangers, e.g. an UI, are hold back in a buffer until it receives the same message (with identical ID) from the active event manager. Messages, which it receives from a manager connected to one event manager only, e.g. a driver, are discarded, because it expects that the active event manager will receive a similar message and forward it to the passive one. In case of a failure, e.g. a break-down of the driver or the active event itself, it can take several seconds to recognize this. Value changes in this time would be lost because the passive event manager could not receive them via the active event manager and had already discarded those which it received directly. To prevent this data loss manager could be configured such that the passive event manager would not discard these messages immedeately but keep them for some time in a buffer. After the failover switch the now active event manager would start processing these messages. Value changes, which are older than the last value change in the process image, i.e. a similar message from the former active event has been processed, are discarded. By default this behavior is enabled for drivers only. For other managers it can be enable with the "requestDejaVu" config entry.

[all sections except general] requestedCNSViews

Type
string
Range
CNS view names
Specifies which CNS views a WinCC OA manager keeps in its memory. Use the entry to save memory of processes by only specifying the CNS views you need. Syntax: comma separated list of paths to the corresponding CNS views. Example: requestedCNSViews = "System1.View1, .View2, System2.View3:" Views defined in the local system can be referenced either via e.g. System1.View1, or via .View2. In case a view name that does not exist in the CNS, is specified in the filter, all views will be filtered out. If the entry is configured for the DATA and DIST managers, the entry will be ignored.

[ascii]

Settings for the ASCII Manager

[ascii] alwaysSendCommon

Type
bool
Default
false
Range
0|1
The ASCII manager sends continuously the actual state of "description" and "alias" to the event manager, even if it haven't changed. This option serves for actualization of the entries in the database, if they couldn't be written (e.g. RDB breakdown), but they changed in the meantime.

[ascii] commit

Type
uint
Default
10
Specifies after how many sent messages the ASCII manager waits for an response from the Event manager. The default value is 10. The ASCII manager waits for the answer of the Event manager after 10 messages. The data is imported with the highest speed and the Event manager is loaded the most. 1 means that the ASCII Manager waits for a response after each message and the load on the Event manager is the lowest. Values >1 offer a good compromise between import speed and load on the Event manager.

[ascii] forceScan

Type
bool
Default
0
Range
0|1
Defines the strategy when using Dp-Filters (-filterDp). If set to 0, a list of matching dps will be generated before the database will be read. If set to 1, the whole database will be read and a wildcard-match will be done with every DP element (which usually is much slower).

[ascii] multiUserMode

Type
bool
Default
0
Range
0|1
If set to 1, the database will be opened in multi user mode, if 0 then in single user mode. On Windows this entry is ignored and the database is always opened in multi user mode.

[ascii] noAlertConfigHist

Type
bool
Default
0
Range
0|1
If this config entry is set to 1, alert configs will be imported without increasing the RAIMA parameterization history. The alert configs are sent with a timestamp of 0 and overwrite the previous entry of this config in the parameterization history. For the same purpose, the manager command line option -noAlertConfigHist can be used. The command line option has precedence over the config entry. If noAlertConfgiHist = 0 or the option -noAlertConfigHist is not used the known behavior of the ASCII manager remains, i.e. new alert configs will be created in the parameterization history.

[asx]

Settings for the ASX driver

[asx] autoGA

Type
string
Default
yes
Range
yes/ no

[asx] k_komReceiver

Type
string
Default
keiner

[asx] k_komSender

Type
string
Default
keiner

[asx] net

Type
Ganzzahl
Default
0
Range
>=0

[asx] pvssAddress

Type
string
Default
keiner

[asx] reduPostfix

Type
string

[asx] statCheckInterval

Type
Ganzzahl
Default
10
Range
1-200

[asx] UserBitAD

Type
Ganzzahl
Default
0
Range
0-8

[asx] UserBitDS

Type
Ganzzahl
Default
0
Range
0-8

[asx] UserBitNK

Type
Ganzzahl
Default
0
Range
0-8

[asx] UserBitST

Type
Ganzzahl
Default
0
Range
0-8

[asx] UserBitSY

Type
Ganzzahl
Default
0
Range
0-8

[asx] UserBitTC

Type
Ganzzahl
Default
0
Range
0-8

[asx] UserBitTO

Type
Ganzzahl
Default
0
Range
0-8

[asx] UserBitTS

Type
Ganzzahl
Default
0
Range
0-8

[asx_<k_komReceiver>]

[asx_<k_komReceiver>] k_komReserve1

Type
string

[asx_<k_komReceiver>] k_komReserve2

Type
string

[asx_<k_komReceiver>] k_komReserve3

Type
string

[attentionEffectEWO]

Settings for the AttentionEffectEWO.

[attentionEffectEWO] updateIntervalFlashLight

Type
int
Default
40
Range
40-1000
Defines the update interval (in milliseconds) of the EWO-type FlashLight.

[attentionEffectEWO] updateIntervalRotatingRect

Type
int
Default
40
Range
40-1000
Defines the update interval (in milliseconds) of the EWO-type RotatingRect.

[attentionEffectEWO] updateIntervalSphere

Type
int
Default
40
Range
40-1000
Defines the update interval (in milliseconds) of the EWO-type Sphere.

[attentionEffectEWO] updateIntervalWaterDrop

Type
int
Default
40
Range
40-1000
Defines the update interval (in milliseconds) of the EWO-type WaterDrop.

[auth]

The settings for the auth section start with this keyword.

[auth] lowestUserId

Type
unsigned int
Default
0
Range
0-unsigned
The config entry "lowestUserId" specifies the lowest user ID that is assigned when creating a user. Use the entry when Dist management is used with Active Directory to prevent a different user ID for the same user on different systems. Use this config entry for the master system in combination with the config entry "firstLoginEnabled" on the slave systems in a distributed system with AD scenario. See also chapter: Dist Management in Combination with Active Directory - Re-sorting/Synchronization of Users without Lost of History. CAUTION! When you set the config entry, you must restart the CommandChannel script. See also chapter Command Channel.

[auth] passwordPolicy

Type
bool
Default
1
Range
0|1
The password policy specifies that a password must contain at least eight characters. One character must be an uppercase letter and one character a special character. The password policy is valid for users created in WinCC OA. You can use the config entry passwordPolicy to deactivate the password policy. Set the passwordPolicy to 0: [auth] passwordPolicy = 0 The policy is not valid for users of the OS Auth. User Administration (Windows/Linux).

[bacnet]

Settings for the BACnet driver

[bacnet] alarmExternAckFirst

Type
bool
Default
0
Range
0|1
Due to the combination of the WinCC OA alert class acknowledgement mode "CAME or WENT must be acknowledged" and the BACnet notification class "AckRequired: TO_OFFNORMAL=1, TO_NORMAL=0", the following behavior may occur: Alarms are acknowledged in the wrong order (WENT before CAME). Therefore, alarms in the device won't be acknowledged. Setting this entry will avoid this behavior, however, it must only be set if the combination is really needed in the project. By setting this entry to 1, the transition that requires extern acknowledgement will be acknowledged first. Thus, you can ensure acknowledgement in the devise (see also Intrinsic and Algorithmic Alarming).

[bacnet] APDURetries

Type
int
Default
1
Range
0..5
Defines the number of retransmissions, if no response is received from the device.

[bacnet] APDUSegmentTimeout

Type
int
Default
2000
Range
100..5000
Defines the time in milliseconds, which is used to wait for a telegram segment response. This value must be lower than the value of APDU timeout.

[bacnet] APDUTimeout

Type
int
Default
4000
Range
500..10000
Defines the time in milliseconds, which is used to wait for a telegram response.

[bacnet] autoGQ

Type
uint
Default
0
Range
0-3
Specifies whether the driver is executing an automatic general query (GQ). 0 -> no automatic GQ 1 -> automatic GQ during connection establishment 2 -> automatic GQ during redundancy switchover 3 -> automatic GQ during connection establishment and redundancy switchover

[bacnet] bacnetBdtLocation

Type
string
Default
data
This config entry allows to define in which location the bdt file is created. Per default the /data folder in the project directory is defined. For further information refer to Driver - BACnet - BACnet driver config file - BBMD.

[bacnet] bbmdUdpPort

Type
uint
Default
47808
Range
>0
This entry specifies the UDP port of the BBMD, if the driver should register as foreign device.

[bacnet] certPath

Type
string
Default
cert
Relative path of the certificate store under <project>/data/bacnet/.

[bacnet] connUserBitPrio

Type
integer
Default
8
Range
0-16
Defines the user bit, which is used by the driver for command priorization (see chapter "Drivers->BACnet->Command Priorization"). 0 -> no user bit is used and the value is written normally.

[bacnet] COVLifeTime

Type
uinteger
Default
7200
Range
>=0
This config entry allows the specification of the COV subscription life time. I.e. COVs are registered with an expiration time in seconds. After the half time the subscription is renewed by the driver (by default every 60 minutes). If the value is 0, COV are subscribed without expiration time.

[bacnet] deviceStatusPollProperty

Type
integer
Default
112
Range
>0
BACnet property, which is read in life check from the device object. The property id 112 means System_Status.

[bacnet] deviceStatusPollTimeout

Type
integer
Default
30
Range
>0
Time in seconds after which all parameterized devices in the network are polled.

[bacnet] eventGQMode

Type
integer
Default
0
Range
0|1
If the eventGQmode is activated (=1) the additional values will also be transmitted with the GetEventInformation. Note The ReadPropertyMultiple service is required for this feature.

[bacnet] foreignRegistrationAddress

Type
string
This entry allows the definition of a BBMD, where the driver shall register as "foreign device". The entry can be defined several times in this section if the driver shall register at more than one BBMD as "foreign device". The syntax of the entry is <IP address>:<Port number>". For example: foreignRegistrationAddress = "192.168.2.100:47808"

[bacnet] localDeviceId

Type
unsigned integer
Default
10
Range
>0
The local ID for the WinCC OA driver device. This ID will appear to all other devices on the network and thus it must be unique.

[bacnet] localDeviceName

Type
string
Default
WinCCOA_OWS_<localDeviceId>
The local name for the WinCC OA driver device. This name will appear to all other devices on the network.

[bacnet] mapEventValuesToComment

Type
bool
Default
0
Range
0|1
Obsolete since version 3.10. Defines whether the string with the Notification parameters of an event type (CHANGE_OF_STATE, COMMAND_FAILURE or OUT_OF_RANGE) should be written to the alarm comment of the Event_State property of the corresponding BACnet data point (TRUE (=1) = yes, FALSE (=0) = no). Fur further information on event types see Intrinsic and Algorithmic Reporting.

[bacnet] mapOutOfServiceToInvalid

Type
bool
Default
0
Range
0|1
Specifies whether the driver sets WinCC OA invalid bit, if BACnet OUT_OF_SERVICE status bit is set.

[bacnet] maxNumForReadMultiple

Type
integer
Default
8
Range
>0
Specifies the maximum number of properties that are read in one Read Multiple Request. Read Requests are grouped into Multiple Read Requests in order to improve the performance during requests in large projects.

[bacnet] maxReadRangeCount

Type
integer
Default
32767
Range
>0
Specifies the maximum number of records, which are read in one ReadRange request.

[bacnet] net

Type
This entry is mandatory for configuration of the connection to the BACnet network. Syntax for BACnet IP: net = <Network> "IP" <IPAddress> <Subnetmask> <UDPPort> <BBMDAddress> <BBMDMaxForeignDevices> <ForeignDeviceHoldingTime> or for BACnet Secure Connect: net = <Network> "SC" <IP-Address> <PrimaryHub> <SecondaryHub> Network - The unique assigned network number. Currently the BACnet driver is able to communicate with only one network. IP/SC - Protocol type. The current version supports IP (BACnet/IP) and SC (BACnet Secure Connect). IPAddress - IP address of the network card, over which the BACnet/IP net is accessible. If the entry is empty, the IP address is specified by the own host name. The latter works only then when there is only one network card attached/used in the computer. Subnetmask - The subnetmask defines the broadcast addresses, with which the broadcasts are sent into the BACnet net. If the subnetmask entry is empty ("") so the subnetmask of the configures network connection is used. UDPPort - UDP port is used for the BACnet/IP communication. In the most cases the port has to be set to 47808 (0xBAC0). BBMDAddress - IP address of "BACnet/IP Broadcast Management Devices". This value has to be set in the current version to 0, because foreign devices are not supported. BBMDMaxForeignDevices - Maximum number of foreign devices (default = 0). This entry is not relevant for the current version. ForeignDeviceHoldingTime - Holding time for foreign devices (default = 120 seconds). PrimaryHub - URL of primary BACnet Secure Hub (mandatory). SecondaryHub - URL of secondary BACnet Secure Hub. This must be set to an empty string if there is none. Examples: [bacnet_1] net = 1 "IP" "" "" 47808 "" 0 120 [bacnet_2] net = 1 "SC" "" "wss://192.168.10.11:4443" "wss://192.168.10.12:4443"

[bacnet] onlyActivePolls

Type
bool
Default
0
Range
0|1
Only the active driver polls in a redundant system.

[bacnet] processIdentifier

Type
uint
Default
1
Range
>0
This entry defines the process identifier, which is used by the BACnet driver for COV registration and alarm acknowledgement.

[bacnet] reportHomelessAlarms

Type
bool
Default
0
Range
0|1
Specifies whether the driver maps alarms/events, which cannot be mapped to addresses, to the DPE _Bacnet.State.HomelessAlarm in string form.

[bacnet] requestQueueMaxSize

Type
integer
Default
1000
Range
>0
The BACnet driver manages the output queue for different BACnet requests.  This config entry determines the maximum size of this queue. If this size is exceeded, requests are discarded and error messages are written into the WinCC OA log.

[bacnet] requestsPerCycle

Type
integer
Default
1
Range
>0
Defines how many BACnet requests are issued in one driver cycle per device. If a low value is set, the request load, caused by frequent queries, is reduced, what reduces also the data throughput. A to high value might cause connection problems.

[bacnet] secureCACertificate

Type
string
Name of the file containing the trusted root certificates for BACnet Secure Connect, which are used to sign the peer certificates. The file can contain more than one certificate. It must be located in the directory defined by certPath entry.

[bacnet] secureCertificate

Type
string
Name of the file containing the driver application certificate for BACnet Secure Connect, It must be located in the directory defined by certPath entry.

[bacnet] secureCertificateKey

Type
string
Name of the file containing the driver application certificate private key for BACnet Secure Connect, It must be located in the directory defined by certPath entry.

[bacnet] sendUnicastIam

Type
bool
Default
0
Range
0|1
Defines whether an I-Am answer to an Who-Is is sent as Unicast. Per default, this entry is 0 and I-Am answers will be sent as broadcasts. However, sometimes there is no BBMD functionality. Therefore, broadcast answers will be blocked. This problem can be solved with sendUnicastIam=1 .

[bacnet] statCheckInterval

Type
unsigned
Default
20
Range
>2
Time interval (in seconds) in which statistical data point elements are refreshed.

[bacnet] staticRouterBinding

Type
string
This entry allows the definition of a static router to a specific BACnet network. The definition of a static router is necessary if automatic router detection to a network with broadcast telegrams is not possible due to network configuration. The Syntax of the entry is <Network number>:<IP address>:<Port number>". For example: staticRouterBinding = "100:192.168.2.100:47808" This entry defines that the network 100 is reached via router 192.168.2.100 and port 47808. The entry can be defined several times in the section, if more than one router exists.

[bacnet] useJsonFormat

Type
bool
Default
1
Range
0|1
This entry defines if JSON format is used for complex properties (structure data type) mapping.

[bacnet] userBitStatusFlagx

Type
integer
Default
0
Range
0-31
Defines how the BACnet status flags are mapped on the WinCC OA user bits. The value 0 means that the corresponding status flag is not mapped. The value for "x" stands for the bit number in the status flags word: 0 -> in alarm 1 -> fault 2 -> overwritten 3 -> out of service 4 -> not specified 5 -> not specified ... 31 -> not specified

[bacnet] userBitTrendLog

Type
uint
Default
0
Range
0-32
Defines the user bit onto which the incoming values to the TrendLog object are stored, in addition to the designated Log_Buffer property. If this config entry is set to 0 or has not been set in the config file, the values are stored only in the Log_Buffer property and can only be read from it. This config entry provides additional protection against data loss, for example, if a TrendLog object is not longer needed and will be deleted (thus also the data from his Log_Buffer property will be lost) its values can still be read from the defined user bit. If the TrendLog values should be written as correction values (this is necessary iff original values of the trended property also are written by other sources) it is required to set also the config entry histDataBits in the [bacnet] section.

[bacnet] userByteAlarmPrio

Type
uint
Default
0
Range
0-4
Obsolete since version 3.10. This config entry enables the mapped BACnet priority (see Config.AlarmPrioMapping) also for the BACnet Application. This config entry defines to which user byte number (1 - .4) the BACnet priority is reflected. Default is 0 (= no mapping).

[bacnet] userByteLogStatus

Type
uint
Default
0
Range
0-4
This entry specifies if logstatus records are written to DPE and which userbyte is used to receive the logstatus value. If the value is 0 the logstatus records are filtered out.

[bacnet] useWriteMultiple

Type
bool
Default
0
Range
0|1
Defines if the WriteMultiple service is used for grouping write requests. If the result of write requests should be shown in the application this entry must be set to false.

[bacnetdefault]

Settings for the BACnet Application.

[bacnetdefault] defaultAddressDirection

Type
int
Default
11
Range
1..13
Defines the default for _address.._direction attribue for addresses created by the BACnet AddOn.

[bacnetdefault] TimeOutObjectBrowsing

Type
int
Default
180
Defines the maximum time that is needed for browsing the device for objects before the browsing process will be cancelled.

[calcstate]

Settings for the calculateState.ctl CTRL script.

[calcstate] useOfflineErrorstateInfo

Type
bool
Default
0
Range
0|1
If redundant nodes lose the connection in a redundant project and re-establish the connection, the node with the lower error state becomes active. The error state is specified by using the error weighting - see description of error weighting. The error weighting is a value between 0 and 999. The data point element ReduHost(_2).offlineErrorStatus is used to specify the error state if the config entry useOfflineErrorstateInfo is set to 1: [calcstate] useOfflineErrorstateInfo = 1 The data point element ReduHost(_2).offlineErrorStatus contains the difference between the current error state value and the maximum error state value while the redundant servers had no connection.

[commandChannel]

Settings for the Command Channel.

[commandChannel] rsaKeyRotationInterval

Type
uint
Default
1 day/24 hrs
Range
1..max uint
The command channel uses a key pair for the encrypted communication. A private key will be kept in memory of the command channel. A public key will be written to an internal DPE so that all other managers can use this key to encrypt their commands. The keypair(public and private keys) is changed at an interval. This is called key rotation. Interval for the "key rotation" can be configured in the config file: [commandChannel] rsaKeyRotationInterval = uint minutes 1 to max uint NOTE: The default interval is 1 day/24 hrs. The recommended minimum interval is 10 minutes. If you enter a shorter interval, a warning is shown in the log viewer.

[ctrl]

Settings for the Control Manager

[ctrl] ctrlDLL

Type
string
This config entry loads a CtrlExtension DLL. First, the DLL is searched in <proj_path>/bin. If it does not exist there, it will be searched in the <wincc_oa_path>/bin. This entry can only be set in the [ui] or the [ctrl] section. If a DLL should be used by the UI and CTRL, this must be loaded in both sections. The number of DLLs to be load is not limited. Note: It is recommended to load a CtrlExtention DLL directly from the Ctrl script using the #uses statement.

[ctrl] minWorkInterval

Type
int
Default
1
Range
>= 0
Minimal time in seconds the CTRL Manger waits between two work() calls.

[ctrl] queryRDBdirect

Type
bool
Default
0
Range
0|1
Indicates the mode of database read queries: 0 = Standard CTRL read functions (dpGet...()) via the WinCC OA Event Manager and the WinCC OA Data Manager. 1 = The standard CTRL read functions (dpGet...()) are redirected to directly contact the database server. Note that the two required CTRL extensions must also be loaded in order to be able to use the RDB read functions. Can be used in [ui] and [ctrl] sections. CtrlDLL = "CtrlRDBArchive" CtrlDLL = "CtrlRDBCompr" CAUTION: If you use queryRDBdirect = 1 and query DPEs using the event screen, enter the DPEs or *.* for the query. Otherwise the event screen does not show the DPEs.

[data]

Settings for the Data Manager

[data] alertDpList

Type
bool
Default
1
Range
0|1
Can be used for a faster query of historical alerts when using the RAIMA alert database. An internal list of DP elements available in an alert file set is created. By using the list you can check whether a queried element is available in this alert file set.

[data] archiveReqTimeout

Type
unsigned short
Default
0
Range
>= 0
Specifies the amount of retries the DataBG tries to open the database before stopping. This setting is used to ensure that, if an archive is stopped, running queries will still be answered "sometime" (that is, after maximum xxx seconds). With the config entry you define how many seconds the Data Manager (=History DB) should wait (maximum) for these answers from archives (with dpPeriodRequest(), dpGetAsynch() and dpQuery()). If no answer has been received from all the archives during this period, the query will be terminated with an error. The value should remain 0 (default value), meaning unlimited waiting time. Otherwise, values beginning from 120 [secs] would be meaningful as some queries can take longer. e.g. [data] archiveReqTimeout = 120

[data] bgOpenRetryCount

Type
int
Default
5
Range
0 - 25
Specifies the amount of retries the DataBG tries to open the database before stopping.

[data] checkDiskSpace

Type
bool
Default
1
Range
0|1
With this config entry the disc checking can be enabled or disabled. A disabling is only required if the specified value for EmergencyKBLimit in the DiskSpaceCheck datapoint is too high and thus the Data manager changes to the emergency mode already at start-up.

[data] checkMemory

Type
bool
Default
1
Range
0|1
With this config entry the memory checking can be enabled or disabled. A disabling is only required if the specified value for EmergencyKBLimit in the MemoryCheck datapoint is too high and thus the Data manager changes to the emergency mode already at start-up.

[data] checkNetworkBackupPath

Type
bool
Default
1
Range
0|1
Enabling (=1) this entry allows the data manager, using an icmp ping, to check if the configured backup path is available. This avoids a blocking data manager if the network resource is not available. The config entry is only required for Windows operating systems. This config entry is recommended if the backup path for the data manager is located on a windows network drive or shared folder and it is likely or common that the network connection to the backup path is unstable.

[data] dataBgName

Type
string
Default
WCCILdatabg
Specifies the name of the Data Background Manager. The given Data Background Manager will be started automatically by the Data Manager. If you specify "", the Data Background Manager will not be started. When using only Oracle archiving the DataBG manager is not required and can be deactivated using the value "". In this case the recovery of the database can be directly started after starting your project as the data manger is already running in multi-user mode. For projects with default archiving you must wait for the start of the DataBG manager before a recovery can be performed.

[data] dbTmpDir

Type
string
Default
OS specific tmp directory
Defines the temporary directory for lock manager files of the RAIMA database. An empty string "" means that the lock manager uses its default directory.

[data] DP_AlertDataSet

Type
string
Default
_AlertDataSet
Defines the name of the datapoint of the type _DataSet that is used for administering data sets of the alert history.

[data] DP_AlertSaveRestore

Type
string
Default
_AlertSaveRestore
Defines the name of the datapoint of the type _AlertSaveRestore that is used when managing and importing stored data of the alert history.

[data] DP_DataBgManager

Type
string
Default
_DataBgManager
Range
-
Internal data point name of the Data Background Manager.

[data] DP_DataManager

Type
string
Default
_DataManager
Internal datapoint name of the Data Manager.

[data] DP_DataSaveRestore

Type
string
Default
_DataSaveRestore
Defines the name of the datapoint of the type _DataSaveRestore that is used when managing and importing exported data of the value history.

[data] DP_DataSet

Type
string
Default
_DataSet
Defines the name of the datapoint of the type _DataSet that is used for administering data sets of the value history.

[data] DP_DiskCheck

Type
string
Default
All DP from type _DiskSpaceCheck
Range
-
Defines for what data points of the type _DiskSpaceCheck a check will be performed. The entry specifies a data point name and can be executed several times. The disk check can be disabled with DP_DiskCheck = "" or checkDiskSpace = 0.

[data] DP_MemoryCheck

Type
string
Default
_MemoryCheck
Range
-
Defines the name of the data point of the type _MemoryCheck. Through this data point, the checking of the virtual memory will be realized. The memory check can be disabled with checkMemory = 0.

[data] DP_RaimaErr

Type
string
Default
_RaimaErr
Range
-
When setting the [data] config entry "DP_RaimaErr" to a DPE element name of type Integer, whenever a RAIMA error occurs, the code of the error is written to this DPE. When a problem during DB repair at DataManager startup happens, the DPE is set to -1000. 1 The DPE is not cleared by itself except after (successful) DataManager startup, where it is reset to 0 (= no error). Note that all "relevant" error codes are negative (e.g. -27), positive codes are warnings (and normally should not be shown). In a redundant system, on the secondary system the DPE name gets an "_2" added to the base name (i.e. "RaimaErr_2.value" when the config entry is "RaimaErr.value"). The DPE has to be considered as "forward DP" in the redu config file.

[data] DP_RDBArchive

Type
string
Default
_RDBArchive
Defines the name of the datapoint of the type _RDBArchive containing the settings for archiving using the relational database. See also RDB archiving.

[data] DP_RDBArchiveGroup

Type
string
Default
_RDBArchiveGroups
Defines the name of the datapoint of the type _RDBArchiveGroups containing the settings of the archive groups. See also Setting archive group parameters.

[data] DP_ValueArchiveMedia

Type
string
Default
_ValueArchiveMedia
Defines the name of the datapoint of the type _ValueArchivMedia containing the settings of the data transfer when an archive set changes and the settings when archives are exported. See also History DB.

[data] fileSwitchRoundOff

Type
unsigned integer
Default
360
Range
Seconds
The config entry "fileSwitchRoundOff" can be used to round up the time so that the directory names of the alert archives are identical in redundant systems. The name of the alert archives corresponds to seconds since 01.01.1970.

[data] flushTimeForAliasCache

Type
ushort
Default
2
Range
0..maxshort
Delay time (in seconds) between flushes of cache for alias changes. Higher value = better performance but higher chance of data loss on system crash.

[data] flushTimeForDpConfigCache

Type
ushort
Default
2
Range
0..maxshort
Delay time (in seconds) between flushes of cache for config changes. Higher value = better performance but higher chance of dataloss on system crash.

[data] ignoreCorruptDB

Type
bool
Default
0
Range
0|1
This config entry specifies whether the Data manager should be started when the database is broken. If you specify the option "-repair", the system tries to repair the database. If the database cannot be repaired, the Data manager cannot start. This behavior can be changed via the config entry "ignoreCorruptDB = 1" in the [data] section. When this config entry is used the data manager also starts if the database was not repaired. If the entry "ignoreCorruptDB = 0" or no entry is used, the Data manager does not start in case of a broken database.

[data] keepLastTimeSmoothedValue

Type
bool
Default
0
Range
0|1
With the config entry keepLastTimeSmoothedValue = 1 it is possible to archive the current value at the end of a smoothing period if it is different than the last archived value which started the smoothing period. The value will be archived when a new value change occurs after the smoothing period and not at the end of the period. This feature only applies to time based smoothing and smoothing periods configured using the "archive" config; see _archive (Archiving). This feature is deactivated by default and no additional value is archived.

[data] lastValBgUpdateCycle

Type
unsigned integer
Default
600
Range
>= 0
If values in the past have changed, the DataBg manager sends messages for the update of last values to the data manager. Since this is realized per DPE, a significant load for the data manager can result. When using this entry, the requests of the DataBG are collected and only executed every "lastValBgUpdateCycle" seconds.

[data] lmcType

Type
string
Default
LMC_IP (UNIX) / LMC_INTERNAL (Windows)
Range
LMC_INTERNAL, LMC_IP
Defines the type of the lock manager to be used. CAUTION: The internal lock manager is not working across multiple processes under Linux. Therefore, it can only be used if it is ensured that only ONE process access the database at one time (thus only the data manager, only the ascii manager or only the dataBG manager). E.g. if the RAIMA is used for alarm archiving the internal lock manager must not be used under Linux. In this case the dataBG manager and the data manager can access the RAIMA database at the same time. This also applies to data export via the ascii manager.

[data] lockVATimeout

Type
int
Default
600
Range
1..7200
Specifies how long the data manager waits for the value archives to report that the archive sets are closed (during a redundancy balancing). Time is specified in seconds. CAUTION! If you change the [data] passiveRecoveryTimeout to a value smaller than lockVATimeout, it can cause a Redu project not to start.

[data] maxAlertRequestCount

Type
int
Default
1000000
Range
>= 0
Defines the number of elements (=number of rows x number of columns) that are queried in a query with alarms. If the set number is exceeded the query is canceled as soon as possible and an error is returned. This config entry is valid for dpQuery() and dpGetPeriod(). Queries for the history DB are also limited with this config entry. If the entry is set to 0 there is no limitation. NOTE: If you set higher values than the default values for this config entry, this can lead to a significant increase in memory consumption (RAM) by the WinCC OA runtime.

[data] maxLinesInQuery

Type
unsigned long
Default
80000
Range
<number of dpe>.. MAX_UINT
Defines the maximum number of lines in a table. NOTE: If you set higher values than the default values for this config entry, this can lead to a significant increase in memory consumption (RAM) by the WinCC OA runtime.

[data] maxRequestLineCount

Type
int
Default
0
Range
>= 0
The entry maxRequestLineCount defines the limit (in returned lines) for an answer of a query (dpGetPeriod, dpQuery). Exceeding the limit causes a query break and an error message. Use getLastError() in CTRL to find out the occurring error. With queries no data are returned, with dpGetPeriod()all data until the break (+ some more) are returned. Only for History DB and RAIMA. This entry is additional to maxRequestMemSize, i.e. only one limit have to exceed for a query break. In case of data queries (no alarm data) this config entry is only used for RDB archiving. Default 0: no limit.

[data] maxRequestMemSize

Type
int
Default
0
Range
>= 0
The entry maxRequestMemSize defines the limit for the memory request in a query (dpQuery, dpGetPeriod). Exceeding the limit causes a query break and an error message. Only for HistoryDB and RAIMA. Default 0: no limit.

[data] maxUpdateMsgCount

Type
unsigned
Default
1000
Range
>=0
This entry specifies how many identification changing messages (DP_MSG_MANIP_xxx) the data manager will buffer. If there are more messages as specified in the queues the data manager will remove some messages. When a client connects to the data manager and request the identification the data manager will try to send only updates from these queues. Only if the request cannot be satisfied this way the data manager will send the entire identification.

[data] maxValueRequestCount

Type
int
Default
1000000
Range
>= 0
Defines the number of elements (=number of rows x number of columns)that are queried. If the set number is exceeded the query is canceled as soon as possible and an error is returned. This config entry is valid for dpQuery() and dpGetPeriod(). Queries for the history DB are also limited with this config entry. If the entry is set to 0 there is no limitation. NOTE: If you set higher values than the default values for this config entry, this can lead to a significant increase in memory consumption (RAM) by the WinCC OA runtime.

[data] multiUserMode

Type
bool
Default
1
Range
0|1
If 1, the database is opened in multiple-user mode. If 0, in multiple-user mode.

[data] numberOfAlertsToBuffer

Type
short
Default
500
Range
10..500
Maximum number of alerts read from the incoming-message queue until the alerts are flushed. The alerts are not flushed after this counter only. There can also be an implicit flush if, for example, the buffer is full or the Data manager currently does not receive messages. Realistic values are between 10 and 500. The value is project-dependent.

[data] numberOfDatapointsToCache

Type
int
Default
10
Range
>= 1
Number of blocks created in the memory as a cache. Each block reserves 1 KB of memory. The number should be modified depending on the total of values to be archived. The value is project-dependent.

[data] numberOfValuesInOneInitMessage

Type
int
Default
10
Range
1..100
Number of items that are sent in a initialization message. Larger values mean faster start-up, but other processes are slowed down by it.

[data] numberOfValuesToBuffer

Type
short
Default
500
Range
10..500
Maximum number of values read from the incoming-message queue until the blocks are flushed. The blocks are not flushed after this counter only. There can also be an implicit flush if, for example, a block is full. Realistic values are between 10 and 500 (the larger the numberOfDatapointsToCache, the larger the resource may be, up to a maximum of 10*numberOfDatapointsToCache). The value is project-dependent.

[data] passiveRecoveryTimeout

Type
unsigned integer
Default
1800
The maximum time that may be used for the copying of the database files. CAUTION! If you change the passiveRecoveryTimeout to a value smaller than [data] lockVATimeout, it can cause a redu project not to start.

[data] quickStart

Type
bool
Default
1
Range
0|1
Defines whether the DataBGManager will be started at the end of the project startup (0) or at the start of Data manager (1). The first method is faster, the second more compatible with original behaviour. When using the quickstart mode no other manager (ASCII, DataBG) can access the database until all processes before the DataBG process are started. For Linux the quickstart mode can be disabled as the RAIMA performance differences are not significant. Depending on the particular use case it might be beneficial to disabe the quickstart.

[data] repair

Type
string
Default
on
Range
on, off, ignore, last, lastonly, only:dbname
If the Data manager option "-repair" is used, the system tries to fix the specified database. If the database cannot be fixed, the Data manager does not start anymore. This behavior can be changed by using the config entry "ignoreCorruptDB = 1" in the [data] section. When this config entry is used, the Data manager starts even in case of a broken database. If you do not specify the -repair option, the Data manager tries to detect whether the database was correctly stopped and whether the database should be repaired. The alert database is not automatically repaired. Mode of database repair: on = checks and repairs the DB, if the file dbase.status' exists. off = if the file dbase.status' exists, then exit DM ignore = ignore the file 'dbase.status' and start DM last = repairs only the last data, if 'dbase.status' exists. lastonly = repairs the last changed data and exit. only:dbname = repairs only the specified data and exit.

[data] repairDchain

Type
bool
Default
1
Range
0|1
Specifies whether the RAIMA utility "dchain" shall be started for a defective database. RAIMA data sets that shall be deleted are only marked as deleted at first. This "marked as deleted" entries are stored in the dchain (delete chain). If the data manager is shut down unexpectedly it may occur that the actual deleted entries as well as the entries that are marked as deleted do not match the dchain. This config entry repairs this by using the "dchain" utility.

[data] sendAlertsToRAIMA

Type
bool
Default
0
Range
0|1
Requires useRDBArchive = 1. A value of 1 indicates that alerts are sent to RAIMA as well as to the RDB. Caution: No comparison is performed which can lead to gaps inside the archiving. A value of 0 indicates that the alerts are only sent to the RDB.

[data] sendUDAGNullValues

Type
bool
Default
1
Range
0|1
Using this config entry you can specify whether the Data manager should send a null (sendUDAGNullValues =1) or the latest value (sendUDAGNullValues =0) to the RDB database when a single value is changed. This means that when there are several data point elements and the value of only one element is changed, the value of the other elements is set to the latest value of the element or to zero.

[data] smoothBit

Type
string
Range
Userbit 1.. Userbit 32, _active, _exp_default, _aut_default, _out_prange, _out_range, _exp_inv, _aut_inv, _online_bad, _default_bad, _from_GI, _from_SI, _per_active, _stime_inv, _uncertain
This entry specifies which status bits should be considered for a smoothing (low-level old/new comparison before archiving). If one of these user bits changes, the value is not smoothed out even if the original values would not have changed. This entry has to exist for each user bit that should be considered. Possible values for the user bits are: smoothBit = "_active" smoothBit = "_exp_default" smoothBit = "_aut_default" smoothBit = "_out_prange" smoothBit = "_out_range" smoothBit = "_exp_inv" smoothBit = "_aut_inv" smoothBit = "_online_bad" smoothBit = "_default_bad" smoothBit = "_from_GI" smoothBit = "_from_SI" smoothBit = "_per_active" smoothBit = "_stime_inv" smoothBit = "_uncertain" smoothBit = "Userbit 1" smoothBit = "Userbit 2" smoothBit = "Userbit 3" smoothBit = "Userbit 4" smoothBit = "Userbit 5" ... smoothBit = "Userbit 30" smoothBit = "Userbit 31" smoothBit = "Userbit 32"

[data] startTimeVACorrection

Type
bool
Default
1
Range
0|1
With the config entry startTimeVACorrection = 1 changes Data Manager last value timestamp in start message sent to the Valarch Manager to the start time of the current archive record, if the first time is before that. With startTimeVACorrection = 0 is this feature disabled. Note: It is not recommended to disable this feature.

[data] statFctInitInterval

Type
unsigned integer
Default
7200
Range
0..7200
Specifies (when using RDB) the time how long after an archive is finished, value changes of static datapoints that are dated back (can be detected via time stamp milliseconds = 0) are still sent to the archive when the archive is restarted. If an archive is e.g. finished at 14:30 , the Data Manager normally sends all last values with a time stamp after 14:30 to a new starting archive. For statistical datapoints, however, all last values are sent with the time stamp after 12:30 (7200) and thus sent to the old archive (since statistical functions are calculated delayed and the last calculated value could otherwise get lost.). Maximum value: 2 hours (7200) old values are sent to the old archive.

[data] transactionLogging

Type
bool
Default
0
Range
0|1
Since the data is written only block by block into the RAIMA database an unsaved block can be lost at system crash and the stored data can be corrupted. The transaction logging, however, prevents a permanent damage of the database since an internal (data internal) transaction is only finished after all data is written to the disk. When the transactionLogging is activated (= 1), no database repair is necessary. If transaction logging is used, it takes priority over the values in the internal data manager DP. Activated transaction logging causes the data manager to operate slower as without transaction logging. In order to disable transactionLogging, set the config entry to 0. TransactionLogging cannot be disabled by deleting the config entry.

[data] useAlertDpListCache

Type
bool
Default
1
Range
0|1
Increases read performance for historic alerts (RAIMA database) by creating an "index" database (adplist.db, adplist.key) in each alertset directory to record which alerts for a given DP are saved in this alert dataset. The entry is used by the Data and DataBG managers.

[data] useCurrentTimeForStartValue

Type
bool
Default
0
Range
0|1
With this config entry it is possible to force that a datapoint element value is written to the database with the current timestamp at a specific point of time (but not at start-up) when setting the _archive.._archive config (useCurrentTimeForStartValue = 1).

[data] waitForRecoveryFlag

Type
int
Default
1800 sec
Range
0-MAXINT, negative values are not allowed
The entry specifies the waiting period when connecting to the other redundant partner during the run-up of passive recovery. This is the time within the redundant partner must connect to the partner. If the redundant partner does not connect to the partner and the time elapses, the computer restarts (active).

[data] waitTimeForBGStart

Type
unsigned integer
Default
60
Range
>= 0
Accelerates the project start by not starting the DataBG immediately. The config entry defines the time that is waited after the initialization of managers, before the DataBGManager is started. The DataBG supports the Data manager in case of none time-critical operations. The time is specified in seconds. The default value is 60. If an incorrect value is specified the default value is used.

[different sections]

Settings for different sections

[different sections] dbgCount

Type
integer
Default
100
Range
>1
Defines how often a debug message will be printed when a managers sends VC (Value Change) messages. Therefore the manager has to be started with the command line option '-dbg 17'. This option is implemented in the Data- and Event Manager as well as all drivers.

[different sections] debugFormat

Type
string
This entry can be used in the section [ctrl] or [ui]. It defines the output format for all Debug(), DebugN(), etc. function calls in CTRL scripts. The string can include the following placeholder texts, which will be replaced during runtime. All other characters will be used literally. %{time} current time in std. WinCC_OA format %{time format} current time in defined format The format string can contain any % placeholders which can be used in the formatTime() CTRL function. %{time delta} time difference to the last Debug() output in this thread %{message} the sum of all formatted arguments, viz. the actual debug output %{line} current line number in the script %{file} script file path or output of module/panel/script %{location} current position e.g. script file path or module/panel/script incl. line number %{function} name of current function inside which Debug() is executed %{stack} current stack trace (see also getStackTrace()) \n newline character. Has to be written as \\n \t tab character. Has to be written as \\t

[different sections] ignoreDebug

Type
bool
Default
0
Range
0|1
If this entry is set to 1, all variations of debug statements (DebugN, DebugTN, ..) will be ignored. This entry can be set in the section of all managers which are able to run a script ([general], [ctrl], [ui] or [event]).

[different sections] independentAlertAck

Type
bool
Default
0
Range
0|1
Defines whether alarms can be acknowledged independent of each other (default = no). If this entry is set to 1, alarms can be acknowledged in the AEScreen without the consideration of a sequence (younger before older alarms, WENT before CAME).

[different sections] loadAllCtrlLibs

Type
bool
Default
0
Range
0|1
Can be used in all driver sections and in the sections [event], [ctrl] and [ui]. 0: Load only explicitly defined Ctrl libraries (see loadCtrlLibs). 1: Load all files from the scripts/libs directory. This keyword means that the entries LoadCtrlLibs and UnloadCtrlLibs have no effect. Scripts that are empty or begin with "." will not be loaded!

[different sections] loadCtrlLibs

Type
string
Can be used in all driver sections and in the sections [event], [ctrl] and [ui]. Loads all specified libraries (files names are separated by commas). This entry can be used as many times as required. Example: loadCtrlLibs = "std.ctl, libCTRL.ctl, hosts.ctl, va.ctl, archiv.ctl" A library loaded by this entry can be removed again by a subsequent UnloadCtrlLibs entry.

[different sections] priorityClass

Type
integer
Default
0
Range
Linux: -20-19 Windows:-1-2
Controls the priority of managers. Windows: -1: lower than normal 0: Priority normal (Default) 1: higher than normal 2: Priority high Linux: 1..19: increase priority (the Manager has to be a root process) 0: normal (Default) -20..-1: decrease priority Can be set in the sections valarch, ui, data, event, ctrl, redu, dist, ascii, oledb, opc and iec.

[different sections] queryFunction

Type
bool
Default
0
Range
0|1
With the config entry queryFunction = 1 a database function is used for dpGetPeriod() instead of a query. Therefore, the limitations such as the number of tables and the length of the SQL statement cease to exist. With queryFunction = 0, a query is used as so far. The entry can be used in ValueArchiveRDB and UI sections. Note: Please note that this entry is not intended for use in regular projects, but can only be used for specific, proprietary database schemas. Use in different projects means that correct functioning can no longer be guaranteed.

[different sections] queryHLBlockedTime

Type
long (milliseconds)
Default
0
Range
0..32767
The entry can be made in the [event], [ctrl] or [ctrl] section. Timerange in milliseconds where the call of the work function from open queries is blocked. After this block time a hotlink is returned with all values within the timerange. CAUTION: queryHLBlockedTime has to be <= 32767[ms], otherwise this config entry is ignored.

[different sections] unLoadCtrlLibs

Type
string
Can be used in all driver sections and in the sections [event], [ctrl] and [ui]. Does NOT load all specified libraries (library names are separated by commas). The keyword can be used as many times as required. Example: unloadCtrlLibs = "std.ctl, libCTRL.ctl, hosts.ctl, va.ctl, archiv.ctl"

[DisRec]

Settings for the Disaster Recovery System

[DisRec] switchingDriverActiveTimeout

Type
int
Default
0
Time in seconds after a DRS switch-over (manually or automatically) which should be waited before the driver connections will be activated on the active DRS system.

[DisRec] syncStatusBits

Type
bool
Default
0
Range
0|1
Defines whether the _online.._status bits are synchronized or not. 0 => status bits are not synchronized 1 => status bits are synchronized

[DisRec] syncUserBits

Type
bool
Default
0
Range
0|1
Defines whether the _online.._userbits are synchronized or not. 0 => userbits are not synchronized 1 => userbits are synchronized

[DisRec] useOfflineErrorstateInfo

Type
bool
Default
0
Range
0|1
If this entry is set to 1, the DRS stores the maximal current error state during a network interruption between the systems. This system, which had the higher error state during the interruption, becomes passive. If the MaxOffline error state of both systems is the same, the current error state will be compared. If these equal, the system becomes active, which was already the active one before the interruption.

[dist]

Settings for the Distribution Manager

[dist] connectDp

Type
string
Default
_DistConnections
Defines the default name for the internal connections datapoint of the type _Connections, which contians a list with all managers to which the Dist manager has an established connection.

[dist] distDpName

Type
string
Default
_DistManager
Sets the name of the internal DP. The DP must be of the type _DistManager.

[dist] distPeer

Type
string
distPeer = "host1[:port1][$host2[:port2]]" System number [UTF8] Specifies the hosts and the system number the distribution manager will connect to as a "client" (the other system is the "server"). If the other system is redundant both host names are separated by a dollar sign $. Caution: The order, in which the hosts are set in the config file, must always be the same. This means that if e.g. the hosts are set as follows in the data config entry: data = "host1-1,host1-2$host2-1,host2-2" the hosts in the distPeer config entry must be set in the same order: distPeer = "host1[:port1][$host2[:port2]]" system number [UTF8] Another order (distPeer = "host2[:port1][$host1[:port2]]" system number) causes connection failures. As an optional third parameter the literal UTF8 can be supplied: its presence means that the remote party (server) uses UTF-8 character encoding. The absence of this parameter implies usage of ISO encoding at the other party. This parameter is only available starting with v3.16, and it is required when the server we want to connect to is a pre-3.16 using UTF-8 character encoding. As versions >=3.16 are less restrictive in terms of language configuration, this setting allows systems in a distributed configuration to use the same languages, but different character encoding. Versions prior to 3.16 are not prepared for this, therefore this information is sometimes (again, when client is >=3.16 but server is <3.16) necessary to be configured explicitly by the engineer using this optional parameter.

[dist] distPort

Type
int
Default
4777
Range
> 0
Specifies the port numbers that the distribution manager uses to accept connections from other systems. The default value is port = 4777. Note that you do not have to define the port numbers if your projects run on different computers. If your projects, however, run on the same computer, you have to define the port numbers.

[dist] enforceAccessControl

Type
boolean
Default
1
Range
0|1
Enables communication between SSA projects and older projects without SSA (<=3.15). For the server-side authentication, see chapter Server-side Authentication for UI Managers Configuration), use the entry "enforceAccessControl=0" where an SSA project communicates with an older SSA project. Note: Projects >3.15 always need the same plugin loaded.

[dist] maxSystemsToInitialize

Type
int
Default
0
Range
>= 0
Defines the maximum number of foreign systems which can be initialized (= exchange of the DP identification) simultaneously. If the number is exceeded, each initialization will be rejected and not accepted until the number of running initializations falls below "maxSystemsToInitialize" - this can be achieved by closing the initializations. Note: maxSystemsToInitialize = 0 means that an unlimited number of simultaneous initializations is allowed.

[dist] maxUpdateMsgCount

Type
unsigned
Default
1000
Range
>=0
This entry specifies how many identification changing messages the dist manager will buffer. If there are more messages as specified in the queues the dist manager will remove some messages. When a remote system connects to the dist manager and request the identification the dist manager will try to send only updates from these queues. Only if the request cannot be satisfied this way the dist manager will send the entire identification.

[dist] requestIdDelay

Type
int
Default
0
Range
>= 0
Time between receiving of an idnetification and the request of the next one. With this setting one can stack the distribution of the identification in the event manager, i.e. give the Event enough time to distribute one identification to all clients before the identification of the next system is requested.

[dist] updateStatusForHiddenSystems

Type
bool
Default
0
Range
0|1
If the one-way-dist is used, the dist manager is enabled to request the identification only from certain systems but still connect to all systems (see the config entry distSystemIds). Therefore, the systems or their managers still know if the partner system is connected or not. However, due to the lack of the identification,  the system is not shown in the system overview panel and you cannot access the data points. The config entry "updateStatusForHiddenSystems" can be used for systems that are not included in the distSystemIds list. With the updateStatusForHiddenSystems you activate the status updates for the identifications of these systems (see also chapter One Way Dist).

[distsync]

Settings for Dist management.

[distsync] distSyncPopup

Type
int
Default
1
Range
0|1
The dist management is used in a distributed system for the distribution of user accounts, DP groups etc. On the UI a pop-up window that informs about the synchronization is shown after the synchronization process. In order to disable the pop-up window, for example, when a user does not own the necessary rights to confirm the pop-up, set the config entry to 0.

[distsync] firstLoginEnabled

Type
boolean
Default
1
Range
0|1
Use the config entry "firstLoginEnabled" with value 0 on all slave systems to prevent the first user login on a slave system. The user must log on to the master system first. Use the entry when Dist management is used togehter with Active directory to prevent that the user ID will be different for the same user on different systems. See also: Dist Management in Combination with Active Directory - Re-sorting/Synchronization of Users without inconsistent History. Set the config entry on the slave systems to 0 to prevent the first login on the slave systems.

[dnp3]

Settings for the DNP3 driver

[dnp3] authKeyChangeInterval

Type
uint
Default
600000
Range
>10000
Specifies the time in milli-seconds after that a key change shall be done.

[dnp3] authMACAlgorithm

Type
uint
Default
4
Range
1-6
Specifies the algorithm to use for the message authentication code (MAC). 1 -> SHA1 4-OCTET 2 -> SHA1 10-OCTET 3 -> SHA256 8-OCTET 4 -> SHA256 16-OCTET 5 -> SHA1 8-OCTET 6 -> AESGMAC 12-OCTET

[dnp3] authMaxKeyChangeCount

Type
uint
Default
1000
Range
>0
Specifies the number of DNP3 telegrams until a key change shall be done.

[dnp3] authReplyTimeout

Type
uint
Default
2000
Range
>1000
Timeout in milli-seconds for waiting on a authentication reply message.

[dnp3] autoClearRestart

Type
bool
Default
1
Range
0|1
Defines whether the driver deletes the restart bit automatically after it has been reported by the outstation. 0 -> the restart bit is not reset automatically 1 -> the restart bit is reset automatically

[dnp3] autoCmdMode

Type
bool
Default
1
Range
0|1
Determines the command execution behavior. 0 -> no automatic handling for select and execute 1 -> automatic handling of select and execute

[dnp3] autoConfirm

Type
bool
Default
1
Range
0|1
Defines whether a confirmation is sent from the application layer automatically (default = automatic sending).

[dnp3] autoDisableUnsol

Type
bool
Default
0
Range
0|1
Defines whether the function for unsolicited response is disabled on driver startup (default = deactivated).

[dnp3] autoEventPoll

Type
bool
Default
0
Range
0|1
Defines whether the driver issues an automatic integrity poll when the DNP3 device sets "Class Data 1", "Class Data 2" and "Class Data 3" bits in IIN (default = automatic poll is deactivated).

[dnp3] autoIntegrityLocal

Type
bool
Default
1
Range
0|1
Defines whether the driver issues an automatic integrity poll when the device sets or removes the "local" IIN bit (default = the poll is issued automatically).

[dnp3] autoIntegrityOverflow

Type
bool
Default
1
Range
0|1
Defines whether the driver issues an automatic integrity poll when the device sets the "buffer overflow" IIN bit (default = the poll is issued automatically).

[dnp3] autoIntegrityRestart

Type
bool
Default
1
Range
0|1
Defines whether the driver issues an automatic integrity poll when the device sets the restart bit in IIN (default = the poll is issued automatically).

[dnp3] autoTimeSync

Type
bool
Default
0
Range
0|1
Defines whether an automatic time synchronization shall be executed, when the DNP3 device sets "Need Time" bit in IIN (default = automatic time synchronization deactivated).

[dnp3] channelWatchdogTimeout

Type
uint
Default
180
Range
>0
Defines the timeout between two watchdog checks. The checks are used to verify if a channel is still active. Timeout in seconds.

[dnp3] deviceSerial

Type
string, string, string
With this entry the parameters of a serial device can be set. Syntax: deviceSerial = <device name> <serial port> <serial parameter> device name - This is an arbitrary name. It is used as reference in the DNP3 panel (e.g. "dev1"). serial port - Defines the interface (e.g. "COM1"). serial parameter - Depending on the used port, the device specific parameters (e.g. baud rate, parity, bit number, stop bits = "9600,e,8,1") are set.

[dnp3] dnp3DummyRead

Type
uint
Default
1
Range
0-2
Allows to specifiy the behavior of the connection check using dummy read operations. 0 => no dummy read operations 1 => Group 0 variant 252 is used for dummy read operations 2 => Group 60 variant 44 is used for dummy read operations

[dnp3] integrityPollAtStartup

Type
bool
Default
1
Range
0|1
Specifies whether an integrity poll (general query) is executed on connection establishment (default = TRUE).

[dnp3] linkAddress

Type
unsigned integer
Default
3
Range
>=0
Defines the link address of the DNP3 driver. This address corresponds to the "Destination" address in the outstations.

[dnp3] linkStatusPeriod

Type
unsigned integer
Default
10
Range
>=0
Interval for link status period in seconds. If the value is 0, no link status telegrams are sent, if no data telegrams are transmitted.

[dnp3] readStationTime

Type
unsigned integer
Default
0
Range
>=0
Reads the time from the outstation every x seconds. x stands for the here entered value in seconds. The read time is written to the internal data point _Dnp3Station.State.StationTime.

[dnp3] sesDefaultResponseTimeout

Type
uint
Default
5
Range
>=0
The config entry sets the time-out for session level telegrams responses. If the time-out expires the session will be set to Offline. The value must be specified in seconds.

[dnp3] timeStampMode

Type
unsigned integer
Default
0
Range
0 | 1 | 2
This config entry determines how WinCC OA time stamps are generated. The different possibilities are: 0 -> use computer time as timestamp 1 -> use time of device and assume time of device is normal local time (no daylight saving) 2 -> use time of device and assume time of device is UTC

[dnp3] userBitEvent

Type
integer
Default
0
Range
0-32
As the event data affects the same point indices as normal data in telegrams, they are specified on the same peripheral address. Thereby in each case the "not-event" group is used. That means group 1 for binary input. The DNP3 driver maps then group 1 data as well as group 2 data on 1. In case of event data the driver sets the here specified user bit. Default = 0 = the user bit will not be set.

[dnp3] userBitXX

Type
integer
Default
0
Range
0-32
Defines how DNP3 status bits are mapped on WinCC OA user bits. The value "0" means that the corresponding status bit is not mapped. The value for xx stands for: OL -> online (automatisches Mapping) RS -> restart CL -> communication lost RF -> remote forced LF -> local forced CF -> chatter filter RO -> rollover OR -> over range DC -> discontinuity RE -> reference error

[driver]

Config Entries for Drivers.

[driver] driverAckClassPrefix

Type
string
Alerts with this prefix in the alert class are also acknowledged on the device by the driver. This means that all alerts whose alert classes have this prefix are acknowledged not only in the User Interface but also on the device by the driver (the acknowledgements is received by the device). This config entry has to be set in the config file of this WinCC OA system, where the User Interface is running. By default this mechanism is inactive and the alerts are acknowledged by the UI. This config entry can be used for all drivers which support the acknowledge mechanism over the _DriverCommon data point.

[eip]

Settings for the EIP driver

[eip] aliveInterval

Type
ulong
Default
10
Range
2-100
Number of idle seconds before a keep-alive poll

[eip] autoGQ

Type
bool
Default
1
Range
0|1
Defines whether general queries shall be executed automatically. 0 = no automatic general query 1 = automatic general query when connection is established

[eip] connectTimeout

Type
ulong
Default
3000
Maximum time in milliseconds to establish a connection

[eip] gqSingles

Type
ushort
Default
2
Range
0..2
0 = single query addresses are not included in a general query 1 = single query addresses are queried separately in a general query 2 = single query addresses are queried collectively in a general query

[eip] idleCloseTimeout

Type
uint
Default
0
Time interval (in seconds) after which the master closes an idle connection

[eip] implicitPort

Type
ushort
Default
2222
Range
0-65535
By default, all implicit connections would be processed in one instance of the EIP driver, because PLCs typically send implicit data to port 2222 and only one process can listen to a given port. When this entry is set the driver requests that the PLC uses this port instead of the default one. Every driver instance must have a unique port. The value 0 means that no port for implicit communication is opened.

[eip] MaxGap

Type
uint
Default
5
When reading elements of the same array into separate non-dynamic data points, nearby elements are optimized into blocks for efficient transfer, up to the defined MaxGap number. The value for this entry can be increased if reading sparse elements of an array to optimize the performance.

[eip] maxQueueSize

Type
ulong
Default
100
Maximum number of queued requests per PLC

[eip] onlyActivePolls

Type
bool
Default
0
Range
0|1
Only the active driver polls in a redundant system

[eip] serverPort

Type
ushort
Default
44818
Range
0..65535
IP port number of host system driver instance. The Ethernet/IP specification defines that the TCP/IP port number for all devices shall be 44818. The port number is normally not changed from this default. However, since the driver does not support incoming connections, changing this port number is permitted, for example if multiple instances of the driver are necessary for some reason. The value 0 means that no port for incoming connections is opened. Also, running other Ethernet/IP software on the same system (such as RSLinx) will cause a port conflict, causing the driver to fail to start, unless this port number is changed from the default. All EIP PLCs are assumed to be using port 44818. This cannot be specified.

[eip] StatCheckInterval

Type
uint
Default
10
Range
max 200
Time interval (in seconds) in which statistical data point elements are refreshed

[event]

Settings for the Event Manager

[event] activeRecoveryTimeout

Type
unsigned int (seconds)
Default
1800
Range
>= 0
Maximum time period in seconds the active Event may need for initialization of the passive Event. If after this period the initialization is still not completed, the Event cancels the initialization. This avoids that the initialization process takes too long in case of problems on the passive host. Caution: The time must be sufficient so that both Event managers are able to connect to each other. This means that in this time Redu managers and CTRL managers are started and both Redu managers od the redundant systems are connected to each other.

[event] alertConditionBit

Type
string
Default
no check of a status bit
Range
identifier of a status bit
The alert handling of original values will be executed only if the here defined status bit (of the same DP element) has been set or not. This depends on the alertConditionLogic entry (see the entry below). This means that if you want to execute an alert handling of a particular datapoint element, the status bit of exactly this datapoint has to be set. All other values will be ignored by the alert handling. If the status bit has been set to the value of alertConditionLogic, an alert handling of the current value will follow immediately. The alertConditionBit = "_invalid" and alertConditionLogic = 0 for example, prevent the alert handling of invalid values. The value of the alertConditionBit can be any of the status attributes: _userbit1, _userbit2 (up to _userbit32), invalid or bad bit.

[event] alertConditionLogic

Type
bool
Default
1
Range
0|1
Defines to what value the status bit specified by the alertConditionBit has to be set to execute an alert handling of the corresponding original or online value. If the value of alertConditionLogic has been set to 1, an alert handling will be executed. If the value of alertConditionLogic has been set to 0, no alert handling will be executed. These two entries are dependent on each other. Thus, alertConditionBit = "_invalid" and alertConditionLogic = 0 for example, prevent an alert handling of invalid values.

[event] alertSignOrder

Type
string
Default
vVwWaA
For sum alerts, the Event must be able to sort alerts by the abbreviation. This string is used for the sorting. The first character has the lowest priority. Characters that are not contained in the string are all of the same priority and are placed before the first character of the string.

[event] attributesFromAddValues

Type
int
Default
1
Range
0-3
Defines whether additional values are written to alarm attributes and are shown in the specific columns of the AEScreen. 0 -> no transfer of additional values (_alert_hdl_add_values) to alarm attributes. 1 -> additional value with the index 2 (_alert_hdl.._add_value_2) is written to the alarm text (_alert_hdl.._text) if defined and shown in the alert screen. The attribute _alert_hdl.._mapped_text can be used additionally to query the additional value. Note: Applies only to multiinstance alarms. If _alert_hdl.._add_value_2 is mapped to the _alert_hdl.._text attribute it may only be set in the same command (dpSet() or Message) when the alarm comes or goes (_event : DPATTR_ALERTEVENT_CAME/WENT) and is locked for later changes. If _alert_hdl.._add_value_2 should be freely available, attributesFromAddValues must be set to 0. 2 -> additional value with the index 1 (_alert_hdl.._add_value_1) is written to the alarm value (_alert_hdl.._value) if defined. 3 -> additional values are written to alarm text an alarm value (combination of 1+2). Note: The use of this entry only makes sense when the alarm value and text are written to the first both additional values by the driver/manager. If 'attributesFromAddValue' is set, it's considered as definitely mapping to text and value. After an alarm occured, the alarm value and text mustn't be changed (reason: alarm value and text describe the value and associated text which has triggered the alarm. Therefore, the mapped add_values mustn't be changed). The mapped values are only allowed to be passed at the coming (ALERTEVENT_CAME, ALERTEVENT_CAME_IMPULSE) or going (ALERTEVENT_GONE, ALERTEVENT_GONE_IMPULSE) of an alarm in the same message after an event. During the event ALERTEVENT_GONE_INACTIVE, value and text can't be set, because normally it modifies multiple alarm instances. In this case, as well as if there are no associated values, the value and text are provided by the parameterization or the current value. The config entry only applies to multi instance alerts and is ignored in case of normal alarms.

[event] copyDp

Type
string string
Range
<Name of source DP element> <Name of target DP element>
config.redu Changes of the original attributes of the specified source DP element are also made on the same element of the specified target datapoint by the Event manager.The target datapoint has to be of the same type as the source datapoint. If the element is a node this applies for all leaves under the node. In order to duplicate different elements the entry can also be specified several times. Some specific datapoint elements (alerts from WinCC OA, e.g. HD is full) can have in redundant systems different values. Therefore for such elements system-specific datapoints are created. Unfortunately, these datapoints also contain elements (commands to WinCC OA, e.g. file switch) which actually should not be copied. As this would be only possible via a change of the datapoint type, the here described possibility is available. This config entry is for the redundancy, but can also be used in non-redundant systems.

[event] copyDpType

Type
string
Range
name of the source DP element
config.redu With the entry copyDpTypes all changes of the original attributes in the specified source datapoint element are also made to the elements of all datapoints of the specified target datapoint type, analogous to copyDp. Syntax: [event] copyDpTypes = "<datapoint type>.<datapoint element>" If two datapoints of this type have the names <DPname> and <DPname>_2, <DPname>.<element> will be copied to <DPname>_2.<element>. Restriction: <DPname> must not end with _2. For example: The datapoints Iec_2 and Iec_2_2 will never match for a copyDpType configuration.

[event] createUsersAllowed

Type
bool
Default
1
Range
0|1
Config entry for the Kerberos authentication. Specifies whether the Event manager may add new users to the _Users DP. The new user obtains a user ID, which is the highest user ID + 1. The system also sets the group membership and user rights etc.

[event] discardOldValues

Type
bool
Default
0
Range
0|1
discardOldValues = 1 discards old values which were received by the driver and, normally, would be set to invalid using negativeSourceTimeDiff. This entry should only be used in combination with negativeSourceTimeDiff and if it is guaranteed that there is always only one WinCC OA system connected to the periphery.

[event] dpFctActivate

Type
bool
Default
1
Range
0|1
This entry deactivates the execution of datapoint functions in the Event Manager, when indicated.

[event] dpFuncOldNewCompare

Type
bool
Default
0
Range
0|1
Value 0 = unchanged Event manager functionality. Value 1 = For all datapoint functions a new/old comparision is enabled, regardless of the value of _dp_fct.._old_new_compare. This means the result of the calculation is only written if it differs from the current value in the process image.

[event] driverNegativeSourceTimeDiff

Type
double
Default
actual value of negativeSourceTimeDiff
Range
>= 0
Normally the active event manager discards the values from the driver within an old time stamp in a redundant operation, in case that it has already received a more recent value from the other event manager. The entry driverNegativeSourceTimeDiff causes that the event manager processes the values, which are younger then the values of negativeSourceTimeDiff. That applies only to value changes from the driver, which do not have a peripheral time stamp. This entry has no effect on values with a peripheral time stamp. Default: The default value is the current value of the negativeSourceTimeDiff config entry. That means that if driverNegativeSourceTimeDiff is not entered, the set value will be taken from negativeSourceTimeDiff (not the default value, but the current value).

[event] enableAlertPreview

Type
bool
Default
0
Range
0|1
By default the EVENT manager will not process deactivated "_alert_hdl" configurations, and, in contrast to previous versions, no alert previews are generated. To reenable the old behavior, this config entry must be activated.

[event] eventsFileStateBit

Type
unsigned integer
Default
1
Range
0..32
Defines the user bit for switching the debug of the event file (-dbg 19 in the command line). Only datapoints with this user bit will be displayed. The output file is in the log directory of <wincc_oa_proj>/events.YYMMDD. The outputs contains a bit pattern according to the status bit of the original value. The last 32 bits define the user bits, the others define the status bits and the first bit defines the data type of the original value. Note: The value 0 sets all user bits. The value 1 sets the user bit 1, etc

[event] evStatusDP

Type
string
Range
a bool element of an arbitrary datapoint
Using this datapoint the Event manager reports its active / passive state to the redundancy.

[event] forceActiveDP

Type
string
Default
_ReduManager[_2].ForceActive
Range
-
Using this data point element the event manager can be forced to close the connection to the active event manager and become active, even if the active event manager does not work properly. Must not be set using the PARA!

[event] fwdDp

Type
string
Range
name of the datapoint element
config.redu Changes of the original attributes of the specified datapoint element are forwarded by the Event manager to the redundant Event manager (relates to redundancy). If the element is a node this applies for all leaves under the node. In order to forward different elements the entry can also be specified several times. Forwarding is used to report changes that can occur in only one of two systems (e.g. DM HD full) also to the other redundant system.

[event] fwdDpType

Type
string
Range
name of the datapoint element
config.redu Analog to fwdDp, all changes at this datapoint element are forwarded by the Event manager to the redundant Event manager. In contrast to fwdDp not the name of a datapoint element of an existing datapoint is specified, but the element of a datapoint type in the format 'Type.Element' (e.g. 'ExampleDP_Bit.' for the root element of the datapoint type ExampleDP_Bit). Thus, the corresponding elements of all datapoints of this type are forwarded, independing of whether they already exist at start of the Event manager or they not. If the element is a node this applies for all leaves under the node. In order to forward different elements the entry can also be specified several times.

[event] heartbeatTime

Type
uint
Default
1
Defines the interval in which the datapoint element _Event[_2].Heartbeat is incremented.

[event] link0DP

Type
string
The Event manager tries to establish the connection to the peer only if the Redu manager verifies that the primary network connection is alive. If the alive check sets this datapoint to FALSE, the connection is shutdown and buffering is started. Note: normally _ReduManager*.PeerAlive.Link0 element of the own Redu manager.

[event] maxAlertConnectCount

Type
uint
Default
1000000
Defines the number of elements (= the number of rows x the number of columns) that will be queried in a query with alarms. If the set number has been exceeded, the query will be canceled as soon as possible and an error will be returned. This config entry is valid for dpQueryConnect(). If the entry is set to 0 there is no limitation.

[event] maxAlertRequestCount

Type
uint
Default
1000000
Defines the number of elements (= the number of rows x the number of columns) that will be queried in a query with alarms. If the set number has been exceeded, the query will be canceled as soon as possible and an error will be returned. This config entry is valid for dpQuery(). If the entry is set to 0 there is no limitation. NOTE: If you set higher values than the default values for this config entry, this can lead to a significant increase in memory consumption (RAM) by the WinCC OA runtime.

[event] maxInputMsgCount

Type
unsigned
Default
100000
Range
>= 1000
Upper limit of messages (amount of messages) in the message queue container of the Event Manager (receiving direction). If the limit of 'msgQueueLimitTimeout' seconds has been exceeded, the connection to the concerned manager is closed.

[event] maxParseTime

Type
unsigned integer
Default
20
Range
>= 0
Defines the time (in seconds) that a query to the event manager can take at parse time. This entry can be used to analyze what queries block the system.

[event] maxValueConnectCount

Type
uint
Default
1000000
Defines the number of elements (=number of rows x the number of columns) that are queried. If the set number has been exceeded, the query will be canceled as soon as possible and an error will be returned. This config entry is valid for dpQueryConnect(). If the entry is set to 0 there is no limitation.

[event] maxValueRequestCount

Type
uint
Default
1000000
Defines the number of elements (=number of rows x number of columns) that are queried in a query. If the set number is exceeded the query is canceled as soon as possible and an error is returned. This config entry is valid for dpQuery() and dpGetPeriod(). Queries for the history DB are also limited with this config entry. If the entry is set to 0 there is no limitation.

[event] msgQueueHoldTime

Type
int
Default
60
During the time (in seconds) between the failure of driver communication and the switch to the passive system, the passive system will buffer the values from the driver until it receives a current value from the active driver. The buffering time is specified in the config file with the config entry msgQueueHoldTime.

[event] msgQueueLimitTimeout

Type
unsigned
Default
60
Range
>= 20
Time period in seconds within the limit of the message queue container in the Event manager (in receiving direction) may be exceeded. For the reset of the timeout the fall of 10% below the limit is necessary. If the double value of the limit is reached, after only one tenth of the time an emergency treatment occurs. Handling when the timeout expires: The Data manager issues only one error message. For all other managers the connection is closed. For managers in other systems the queue of the Event manager is cleared.

[event] negativeSourceTimeDiff

Type
unsigned integer
Default
0
Range
>= 0
Time in seconds between one source time and the last source time without that the bit is set to "invalid source time". The source time will be corrected to "last source time + 1 millisecond".

[event] passiveRecoveryTimeout

Type
unsigned integer
Default
300
Range
>= 0
The maximum time period in seconds which the passive Event waits for the end of its initialization by the active Event. If after this period the initialization is still not completed, it becames active by itself and does not buffer any messages anymore. This prevents that the passice Event waits too long when the connection fails during the initialization of the connection. Caution: The time must be sufficient so that both Event managers are able to connect to each other. This means that in this time Redu managers and CTRL managers are started and both Redu managers od the redundant systems are connected to each other.

[event] redConnTryInterval

Type
unsigned integer
Default
60
Range
>= 0
Defines in which intervals (in seconds) the connection between the redundant Event managers (redundancy) is tried to be established when the connection is not established.

[event] redOldNewComp

Type
bool
Default
1
Range
0|1
This setting is relevant in redundant systems only. After a redundancy switch drivers will do a GQ which will forward all values from the PLC to the event manager without any smoothing. That way it is ensured that the values the driver uses for smoothing are the same as the values in the process image. Instead the event manager can compare the values from a GQ with the process image and discard identitical values. That way the load of the Event manager during a redundancy switch is reduced. Value 0 = the Event manager will not do an old/new comparision Value 1 = the Event manager will do an old/new comparision

[event] refuseCNS

Type
bool
Default
1
Range
0|1
Specifies if a manager shall hold CNS data of the identification in memory. CNS data is still tranferred with the identification but the manager discards this data.

[event] updateUsersAllowed

Type
bool
Default
1
Range
0|1
Specifies whether the WinCC OA Event may update the _Users DP when a user contained in the _Users DP, logs on. Under Windows, the system runs a search for the OSID, under Linux for the name. The WinCC OA Event manager updates the name (only under Windows), description, group membership, authorization bits and primary group. If the config entry createUsersAllowed is set to 1 (Default value), the Event manager ignores the updateUsersAllowed entry, and updates of the _User-DP are basically allowed.

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

[event] useSourceTime

Type
bool
Default
0
Range
0|1
If attributes of other configs than _default, _corr and _original are changed, the time of the Message is ignored and the current time is used. This ensures, that the parameterization is always timed ascending. If useSourceTime = 1 is set, the Message's time is taken for all configs.

[event] validTimeDiff

Type
unsigned int (minutes)
Default
10
Range
>= 0
Maximum time in minutes, the source time of a value change may lie in the future. If the time lies further in the future, the corresponding ValueChangeMsg will be discarded and an error message is issued.

[general]

Global settings valid for all managers

[general] accessControlPlugin

Type
string
The AccessControlPlugin is a shared library with a user-defined name. To use the library inside of your project, add the entry accessControlPlugin = AccessControlPluginFilename to the [general] section of the config file. If you omit the shared library extension, the configuration is OS independent. When loading the shared library on WINDOWS, the extension ".dll" and on UNIX the extension ".so" is automatically appended to the given name. To be found, the plug-in has to be located in one of the bin directories (windows, windows-64) of the project-Hierarchy. The value is an empty string by default. This means that no plug-in will be loaded. The value is the file name of the shared library, with or without extension. e.g. [general] accessControlPlugin = "CommonConfigPlugin"

[general] activateAlertFiltering

Type
bool
Default
1
Range
0|1
Set this config entry to 0 to disable the automatic alarm reduction.

[general] alertPermissionsCompatibilityMode

Type
bool
Default
1
Range
0|1
Before version 3.17 the event manager checked permissions required for an alertSet against those requierd by _auth._alert_hdl._write. Starting with 3.17 the event manager will check alertSet against _auth._alert._write, and only dpSet, i.e. changes in the alert handling configuration, are still checked against _auth._alert_hdl._write. This entry activates a compatibility mode so that an alertSet is still checked against _auth._alert_hdl._write. To be consitent for reading alertGet will be checked against _auth._alert_hdl._read, too, when this config entry is set. Because other manager have to check permissions as well this config entry has to be in [general].

[general] atomicDpSet

Type
bool
Default
0
Range
0|1
Setting multiple values in one dpSet operation might cause inconsistencies because certain write operations might fail while others succeed. Atomic dpSet operations verify that no write operation fails before changing any values. Therefore, no inconsistencies can arise. By enabling "atomicDpSet" in the "general" section of the config file, i.e, setting "atomicDpSet = 1", all dpSet operations for Original, Lock, and General configs are atomic, except for write operations initiated by WinCC OA drivers, which are never atomic. If atomic behavior is activated but a datapoint set operation includes other configs besides Original, Lock, and General, the operation is handled non-atomic. By default atomic set behavior is deactivated. Atomic behavior can be used for all datapoint set operations supported by WinCC OA ("dpSet", "dpSetWait", etc.). If these operations are restricted to Original, Lock, and General configs either all dpSet operations succeed or no operations are executed. In case of a failure, the return code is set accordingly and further error messages can be retrieved in the usual way.

[general] authCheckPasswordExpired

Type
bool
Default
1
When this config entry is 1 (true), the linux PAM account validation will report errors as errors and therefore fail the verifyOSUser() call. When this config entry is 0 (false), the account validation will report any error in validation, for example an expired password only as a warning in the log, but the verifyOSUser() call will succeed. This config entry is only used for Linux configurations. Windows based configurations will not be effected.

[general] autoRemoveOrphanedData

Type
bool
Default
1
Range
0|1
Automatically removes orphaned data from the SQLite database during the project startup. E.g. Deletes a data point if its type does not exist Deletes a config if its data point element does not exist Deletes a last value if its data point element does not exist NOTE:When this function is active, the found orphaned data is reported with the debug flag "WORK". You do not need to change the data. If this feature is disabled, any orphaned data found will be reported as WARNINGs, and you have to clean up the orphaned data manually.

[general] bcmBufferLimitTimeout

Type
unsigned
Default
60
Range
>=20
Time during which the limit of the message queue container of a manager (in the send direction) may be exceeded. For resetting the timeout, the time has to be lower than the limit by 10 %. Handling when the timeout has elapsed: The data manager prints only an error message. The connection will be broken off for all other managers. For managers in all other systems, the queue of the respective manager will be emptied.

[general] cnsUseDoubleAsterisk

Type
bool
Default
1
This config entry influences the behaviour of the CNS functions ( and ) that use pattern matching. If the value of this config entry is "1", then the wildcard '*' cannot represent any characters and multiple characters in the CNS identification, except '.' and ':'. The wildcard '**' cannot represent any character and several characters including '.' and ':', and is therefore suitable for pattern matching across several CNS levels. If the config entry is "0", then '*' and '**' have the same behaviour. Both can then represent all characters, including '.' and ':'.

[general] CtrlAdoMSBoolFormat

Type
bool
Default
1
Range
0|1
When "CtrlAdoMSBoolFormat = 1" is set, TRUE is saved as -1 and FALSE as 0 in the database. When "CtrlAdoMSBoolFormat = 0", TRUE is saved as 1 and FALSE is saved as 0.

[general] CtrlAdoNumericalPrecision

Type
string
Range
double|int32|int64
Defines the reduced precision in which numerical values will be delivered from a database, if the database specified data type can not be stored in a standard CTRL data type (int, long, float). If this config entry is not used, numerical values might be delivered as string. This is database driver dependent. Note: Drivers that don't support fetching numerical values with low precision will ignore the precision policy. This config entry is not used under Windows.

[general] ctrlAllowedFeatures

Type
string
This entry has currently no functionality. It is here for compatibility with versions newer than 3.16.13

[general] ctrlMaxBlockedPendings

Type
integer
Default
3000
Range
>0
Defines how many pending runs (unprocesses hotlinks) may be pending for a blocked query. Every row in all hotlinks is counted, not only the number of hotlinks. For unblocked queries the upper limit is defined with ctrlMaxPendings.

[general] ctrlMaxPendings

Type
int
Default
200
Range
> 0
If a work function (e.g. of a dpConnect()) is not yet completed and this event occurs again, the system waits until the first occurrence has been processed. If the frequency of the events is higher than can be processed, the queue of pending events and with it the memory consumption of the CTRL Manager or UI Manager keeps on growing. To prevent this, the CTRL discard all pending runs after ctrlMaxPendings and an error message is issued. This entry can also be used in the sections of single managers: [ui_5] ctrlMaxPendings = 120

[general] ctrlMaxWeight

Type
integer
Default
10000 (CTRL) bzw. 5000 (UI, Event, ASCII, etc.)
The Control Interpreter cyclically processes all running scripts. The sum of the weights of the instructions processed in one cycle can be defined here. See also chapter Optimization of WinCC OA.

[general] defaultArchive

Type
uint
Default
97
Range
>=0
Defines which archive should be used as default. (97 = RDBManager)

[general] discreteImpulseAlertWithoutWent

Type
bool
Default
0
Range
0|1
If this config file entry is set, no WENT event is created for discrete impulse alerts. This way state messages can be created, for example: 1 open, 2 closed, 3 between, 4 error. According to the sequence of values the following text is shown in the alert log: open CAME; between CAME; closed CAME; error CAME ... - without this config file entry also the WENT events are listed in the alert log (open CAME; open WENT; ...).

[general] displayName

Type
string
Defines the displayed name of the project within the project selection of the Desktop/Mobile UI. The configured displayName is also used for the name of the local caching directory on the client.

[general] dnsLookupTimeout

Type
32bit unsigned integer
Default
2500 milliseconds
Range
milliseconds
Use the config entry dnsLookupTimeout to define the maximum DNS lookup timeout. DNS resolution is now performed in an asynchronous time-limited lambda function, which can be configured to be shorter than the default DNS timeout value (30 seconds). The default value for the DNS timeout is 2500 milliseconds and can be configured via ([general] dnsLookupTimeout). If the timeout is exceeded, DNS resolution will fail. If the DNS resolution takes longer than 500ms, a warning is issued. This warning can be deactivated by using the config entry [general]suppressDnsLookupWarnings = 1. NOTE: Do not use values below 100 or above 30000 if you are not familiar with the DNS lookup functionality.

[general] DpCommentSeparator

Type
char
Default
@
Separator for the description text (description@format@unit).

[general] dpFuncLoopCount

Type
int
Default
20
Range
>=20
Specifies the limit for an infinite loop (for datapoint functions). An infinite loop is diagnosed when a datapoint function receives more hotlinks (hotlinks with same time stamp)than the number specified via the dpFuncLoopCount entry. If the limit is exceeded the loop is broken. If a GREAT deal of hotlinks (e.g. many CTRL parameters) is used in a datapoint function the default value may be too small (define a bigger value).

[general] dpGetDescriptionMode

Type
int
Default
1
Range
-2 ... 3
Controls the mode of operation of dpGetDescription(). For detailed information see the specific chapter of this CTRL function.

[general] DP_StatisticsPrefix

Type
string
Default
_Stat
Range
-
The data points for Msg statistics have the following names: _Stat_<ManagerType>_<ManagerNo>_to_<ManagerType>_<ManagerNo>. To obtain an explicit name for each node in case of redundancy, you can change the prefix _Stat. e.g. _Stat_2

[general] DP_UserForceSet

Type
string
Default
_Users.ForceSet
Range
-
Data point element which holds all permission bits which are independent of the operator station.

[general] DP_UserId

Type
uint
Default
_Users.UserId
Range
-
Data point element that contains all the User IDs defined in WinCC OA in a dyn_uint.

[general] DP_UserName

Type
string
Default
_Users.UserName
Range
-
Data point element that contains all user names defined in WinCC OA in a dyn_string. All user arrays must have the same length and all the same indexes define the same user. Examples for this are: user 0 = Username[0], UserId[0], Password[0], ... user 1 =Username[1], UserId[1], Password [1],

[general] DP_UserPassword

Type
string
Default
_Users.Password
Range
-
Data point element that contains all the user passwords defined in WinCC OA in a dyn_string. Passwords are saved encrypted (see crypt()).

[general] DP_UserPermissions

Type
string
Default
_Users.Permissions
Range
-
Data point element that contains all the user permission strings defined in WinCC OA in a dyn_string. The interpretation of this string is up to the user.

[general] DP_UserPermSet

Type
string
Default
_Users.PermissionSet
Range
-
Data point element which holds all permission bits for a user. The interpretation of these bits is up to the user.

[general] externErrHdl

Type
string
WinCC OA uses an internal error handler that is also used to write logs for each manager. By using this config entry an external error handler plugin can be defined that should be loaded in addition to the internal WinCC OA error handler. For this config entry the name of the plugin library must be stated, which needs to be located within the bin/ folder of the WinCC OA installation directory. How to write an external error handler is described in the API chapter.

[general] keepAckColorOnMultipleAck

Type
bool
Default
0
Range
0|1
The color used for acknowledged pending alarms is shown also when the alarm is not pending anymore (=1). A CAME alarm is always shown in the color of "CAME acknowledged". The color is used for all acknowledgement types and regardless of whether the CAME or WENT alarms or both were acknowledged. Can be used for open and closed modes of the alert screen.

[general] kerberosRootGroup

Type
string
Range
PVSSRoot or any valid domain group, Default: PVSSRoot
Config entry for the Kerberos authentication. This config entry controls which OS accounts (users and computers) have the permission to act as a root user. "root" is treated like a unix root user: allowing everything and controlling nothing. This is a desirable behavior for drivers but not for a UI. Therefore, the right to act as root can be restricted to certain users namely those who belong to the specified group.

[general] lang

Type
string
Default
first 'langs' entry
Range
one of project languages
The entry can be used to set a project language to active language in the UI. This language is used as the active WinCC OA UI language. Multilingual texts will be displayed in this language in the user interface. You can also use the option "auto" to set the WinCC OA user interface automatically to the users display language. Users display language on Windows: Control panel -> Region and Language -> Display language Note that the language that is set via the "lang" entry must be a project language. You cannot set a language for the UI if the language was not selected as a project language when creating a project.

[general] langs

Type
string
Range
project languages
'locale' string(s) of the languages which shall be used in the WinCC OA project. Multiple entries of "langs" define the list of all languages to be used. The language entries must be unique. The entries must not be modified after the initial database creation. Example: langs = "de_AT.utf8" langs = "en_US.utf8" langs = "hu_HU.utf8"

[general] limitCryptVersion

Type
int
Default
0
Range
0|3|4
0 means, that there is no limitation, all versions, including v4 are allowed. 3 limits to version 3 (as in 3.19 and older versions). 4 allows version 4 as well. The crypt() function will automatically downgrade to the maximum permitted version. So if limitCryptVersion=3, then crypt("pwd", 4) generates the same hash format as crypt("pwd", 3).

[general] lowestAutoManNum

Type
unsigned integer
Default
1 | 7
Range
1-255
This value specifies a manager number limit for the Data Manager. The Data Manager may assign numbers freely beginning from this manager number. The Data Manager assigns the Manager numbers self when UI, ASCII, CTRL, OPC Srv, OLE DB, COM and API Manager were started without -num argument resp. with "-num 0". The entry is evaluated only by the Data Manager. The default value is 7 in case of redundant projects.

[general] lowestAutoManNumUI

Type
unsigned
Default
1 | 7
Range
1-255
The entry "lowestAutoManNumUI" gives the lowest manager number for the UI Manager. The entry "lowestAutoManNum" in the config file sets also "lowestAutoManNumUI". Thus, if you want to set both values separately "lowestAutoManNum" has to be specified BEFORE "lowestAutoManNumUI" in the config file. The default for "lowestAutoManNumUI" is 7 in redundant projects, otherwise 1.

[general] maxBcmBufferSize

Type
unsigned integer
Default
10000
Range
>1000
Upper limit in kB in the BCM output buffer of all managers. When this threshold is exceeded for 'bcmBufferLimitTimeout' seconds, the connection to the corresponding manager will be closed.

[general] maxConnectMessageSize

Type
unsigned integer
Default
100
Range
>=0
Defines the maximum number of data points for each dpConnect. A value of 0 indicates, that no limitation will be used.

[general] maxLogFileSize

Type
unsigned integer
Default
10
Range
>=0
Specifies the maximum size of the file <proj_path>/log/PVSS_II.log in MB (0 = unlimited). All managers and drivers evaluate this entry (for their own log files). If the file exceeds this size, it is renamed to PVSS_II.log.bak and a new file is created. An existing PVSS_II.log.bak file will be overwritten. Under Windows the script postLogFileHandler.cmd resp and under Linux the script postLogFileHandler.sh are called. The size of the log file is checked every 30 seconds (the size of the file might be, however, higher depending on the system load and the speed the data is written to the log file).

[general] messageDiagSec

Type
unsigned integer
Default
30
Range
0 - MAX_UINT
The entry 0 switches the message statistics and the config statistics off. Any other value specifies the interval (in seconds) for writing the statistics to the _Stat datapoints. An entry < 0 is overwritten by the value of the datapoint _Stat_Message.SecsToRefresh:_original.._value.

[general] parallelCtrlADO

Type
bool
Default
0
Range
0|1
Activates the parallel processing (multi-threaded) of database operations in the Control-Extension 'CtrlADO'. By default all requests to the database will be sent sequentially as parallel (thread-save) support is not guaranteed by all database systems.

[general] paramLang

Type
string
Default
first 'langs' entry
Range
one of project languages
'locale'-string of the language in which language dependent texts will be defined. These texts will be used for automatic translation.

[general] password

Type
string
Password for the defined user in the config entry "userName".

[general] pmonPort

Type
integer
Default
4999
Range
1024-65535
The port for the TCP/IP communication with Pmon.

[general] proj_path

Type
string
Defines the path to the directory, which includes dynamic files (project-oriented files such as database).

[general] proj_version

Type
string
Defines the WinCC OA version with which the current project was created or last updated.

[general] pvss_path

Type
string
Defines the path to the directories, which includes the WinCC OA static files (such as executables, error texts, icons, etc.).

[general] refuseCNS

Type
bool
Default
0
Range
0|1
Specifies if a manager shall hold CNS data of the identification in memory. CNS data is still tranferred with the identification but the manager discards this data if the config entry is activated. Please note, that this setting uses a different default value for the sections [event] and [valarch]

[general] saveLastValueBit

Type
unsigned
Default
0
Range
1-32, 0 = off
With this entry you avoid the saving of the last value for datapoint elements, which have set a userbit (1-32). No archiving is executed, even if the datapoints have parameterized an _archive config. If the value is 0 (default), the last values of all datapoints will be saved.

[general] serverSideAuthentication

Type
bool
Default
0
Range
0|1
Session Binding is activated via the server-side authentication for UI managers. When an Access Control Plug-in of ETM is loaded, the Session Binding is automatically active and cannot be deactivated. By default (standard project) the session binding is deactivated. Session Binding (see Server-side Authentication for UI Managers, Basics) can be activated irrespective of the Access Control Plug-in (see Access Control Plug-in, Basics) by using the config entry serverSideAuthentication=1 in the [general] section. Grundlagen zum Login-Framework

[general] statFctActivate

Type
bool
Default
1
Range
0|1
This entry deactivates the execution of statistical functions in the Event Manager, when indicated. When accessing the statistical functions the first time, a corresponding warning will be printed (just) once. This can be used for testing purposes, in case that the Event Manager needs to much time during the start and it is not clear where it has been spent - so the statistical functions (which may consume a lot of time) can be deactivated. Although this entry is defined in the [general] section, it affects only the Event Manager (this has a historical matter).

[general] statFctInheritCorrValues

Type
bool
Default
1
Range
0|1
You can set the behavior of statistical functions in the config file. The config entry statFctInheritCorrValues decides whether the correction values should be accepted. By default, the correction value changes are accepted. If 0, changes are not accepted, e.i. the statistical functions work as usual.

[general] statFctLimitForMarkAsCorrected

Type
integer
Default
0
Range
0 - 1000
The config entry statFctLimitForMarkAsCorrected (condition: statFctInheritCorrValue = 1) specifies the threshold for the accepted correction values. If 0, all values are marked as corrected. Values greater than 0 only mark values as of a change greater than x%.

[general] statFctMaxIntervalsInPast

Type
unsigned integer
Default
3
Range
0 - MAX_UINT
If more periods than defined via this config entry are not calculated (for a statistical function) in the past yet these periods are discarded and a message is shown. Default value is 3, e.i. 3 periods are considered (interval beginning from the end of the interval until the current time). Beginning from a delay of 3 intervals (regardless of a possible delay time of the statistical functions) all older intervals are discarded and a message is shown.

[general] statFuncMinInitTimeRange

Type
int
Default
0
Range
minimum 0
NOTE: The config entry statFuncMinInitTimeRange in the [general] section is only considered for NGA projects. For historical initialization of statistical functions a dpGetPeriod with bonus 1 is needed. This dpGetPeriod with bonus 1 may cause performance issues in large projects using the NGA. When setting this config entry to a value other than 0, instead of executing a query by using bonus 1, the time period of the dpGetPeriod is extended into the past and into the future by the period used to calculate the statistical function. In the event that no bonus value can be determined with this procedure, a query is run again with bonus 1 to ensure correct functionality. The calculation period for a statistical function is configured in the PARA module -> config dp_fct -> Synchronization tab -> calc.time interval. If this period is less than statFuncMinInitTimeRange, the range is increased by statFuncMinInitTimeRange instead. With the default value 0 the standard behavior with bonus 1 is performed.

[general] suppressDnsLookupWarnings

Type
bool
Default
0
Range
0|1
If the DNS resolution takes longer than 500ms, a warning is issued. For DNS resolution, see the config entry [general]dnsLookupTimeout. This warning can be deactivated by setting the config entry [general] suppressDnsLookupWarnings = 1.

[general] tlsHandshakeTimeout

Type
uint
Default
5000 msecs
Range
250-5000 msecs
This config entry defines the timeout duration for the TLS handshake negotiation on a secure socket. We recommend a minimum of 250 msecs, but bear in mind that this may vary depending on network performance. Higher values (tens of seconds) basically disable DoS mitigation.

[general] translateConfig

Type
string
Default
'' '|'
Defines the filename of the translation table and the delimiter character for automatic translation. The translation table must be located in the 'config' directory. The columns must be separated by the defined delimiter character. Syntax: translateConfig = <filename> <delimiter>

[general] translationFile

Type
string
Default
[automatic]
Defines the filename (without suffix) for the translation texts per project hierarchy level in a config.level file. Every project level must use a unique name. By default, the file is named as the project name. If this entry is used in the project config file, then it must be set after the proj_path entries.

[general] translationSourceLang

Type
string
Default
[automatic]
Range
any known language
Defined in a config.level file, this entry defines which language to use as source reference language for a specific project hierarchy level if the level uses multiple languages in existing panel files. If this entry is used in the project config file, then it must be set after the proj_path entries. Note: Normally you don't need to define this. It is mainly a config entry used when dealing with already existing legacy panel files.

[general] useCMContainerSerialNumber

Type
string
Default
0-0
Range
Serial number
The config entry "useCMContainerSerialNumber" specifies which license container is used for the licensing. The config entry specifies which container is used by using the serial number of a container. The format of the serial number is "number-number". You can copy the serial number of a container directly from the WIBU WebAdmin web page. The default value is "0-0" and means that the first license container, which contains an EVENT manager license, is used. Example: [general] useCMContainerSerialNumber = "3-4736110"

[general] useCMLicense

Type
bool
Default
1
Range
0|1
The config entry "useCMLicense" can be used to deactivate the WinCC OA licensing. By default the WinCC OA licensing is activated (useCMLicense=1). In order to deactivate the WinCC OA licensing, set the entry to 0.

[general] useDbAsIso

Type
bool
Default
0
Range
0|1
From WinCC OA version 3.16 on, creating projects with ISO character sets (e.g. en_US.iso88591) is no longer supported. Already existing projects are still supported and the conversion of ISO settings to utf8 settings is done internally. This new regulation influences the upgrade procedure of existing projects. The following projects can be converted automatically: - Monolingual projects and - Multilingual projects if all project languages belong to the same ISO character set (e.g. iso8859-1). The config entry useDbAsIso is being used when converting an ISO project to an utf8 project. The config entry useDbAsIso = 1 is set in the config file.

[general] useNGA

Type
bool
Default
0
Range
0|1
To enable NextGen Archiver, the config entry "useNGA" must be used. It is automatically created when NGA is selected during project creation. When converting an existing project to NGA this entry must be added manually. NOTE: Converting an existing project to NGA is currently not recommended.

[general] useNGADirectRead

Type
bool
Default
0
Range
0|1
By using the config entry "useNGADirectRead" (can be used in [general], [ui] or [ctrl] sections) the behavior of the standard WinCC OA historical read functions can be changed to always use their "NGA" counterpart, i.e. use direct read. This means, e.g., that when a client calls dpGetPeriod(), the direct read counterpart dpGetPeriod-NGA() is called instead.

[general] useRDBArchive

Type
bool
Default
0
Range
0|1
0 = RDB Archive Manager not functional. 1 = RDB Archive Manager activated (RDB write/read). No Value Archives (History DB) may be running parallel to RDB archiving.

[general] useRDBGroups

Type
bool
Default
1 if RDB is configured
Range
0|1
Defines, whether archive groups can be used (= 1) or not (= 0).

[general] userName

Type
string
The user name all managers use when they start. If $USER is used, it is replaced by the current OS user. This means that the manager is started with the current OS user as WinCC OA user. You can also use the manager option -user $user, e.g. WCCOActrl -user $user.

[general] useValueArchive

Type
bool
Default
1
Range
0|1
Per default this entry is set to 1, which means that the history DB is used for archiving historical values. Using data archiving in the RAIMA database is not supported anymore. The RAIMA can archive only historical alarm information. Therefore, this config entry must not be set to 0.

[httpServer]

Defines options for the httpServer running inside a CTRL manager

[httpServer] accessLog

Type
bool
Default
0
Range
0|1
Defines if the HTTP Server shall write the IP address of each incoming connection into the log/httpAccess.log file

[httpServer] allowPanelParam

Type
bool
Default
0
Range
0|1
Defines if the HTTP Server shall allow the "panel" parameter in the URL to start the ULC User Interface Manager.

[httpServer] autoEncryption

Type
bool
Default
1
Range
0|1
Defines if the HTTP Server shall automatically encrypt all files below the "panels" and "scripts" folder, before sending them to the client. Note: This negatively influences the transferred file size, since encrypted files will not shrink when compressed via gzip.

[httpServer] compatIgnoreForwardedFor

Type
bool
Default
0
Range
0|1
NV compatibility mode. Defines which IP address is used for ULC UX clients connected through a reverse proxy: 0: the original IP address of the browser in which the ULC UX client is running will be read from the HTTP header X-Forwarded-For and used for myDisplayName() and UI settings. 1: the IP address of the reverse proxy is used for myDisplayName() and UI settings (compatible to versions below 3.19 P009).

[httpServer] compressionCacheEnabled

Type
bool
Default
1
Range
0|1
Defines if the HTTP server shall send a gzip compressed file to a capable client, where the HTTP server creates the gzipped version automatically and stores it below the <proj_path>/cache directory. The HTTP server makes sure that a change in the timestamp of the original file leads to an update of the compressed file in the cache the next time the file is requested.

[httpServer] externalAuthHeader

Type
string
Defines the name of a special HTTP header which, when present, is used to specifiy the user for this request, which was already authenticated by an external application. The HTTP Server will therefore not do any authentication on this request and relies on the external application to be trustable. NOTE: If used incorrectly, this is a security leak.

[httpServer] externalAuthParam

Type
string
Defines the name of a special URL query parameter which, when present, is used to specifiy the user for this request, which was already authenticated by an external application. The HTTP Server will therefore not do any authentication on this request and relies on the external application to be trustable. NOTE: If used incorrectly, this is a security leak.

[httpServer] favIcon

Type
string
Default
/pictures/StandardIcons/Console_20.png
Defines the relative path for the icon which is delivered when the server is asked for "/favicon.ico".

[httpServer] httpHeader

Type
string
Default
See Description
The entry allows to set the content of the HTTP header entries. HTTP header specific settings can be configured for the HTTP(S) communication. The httpHeader entry can be set multiple times to apply addional settings. Each entry creates a new HTTP header for the HTTP(S) Requests. Default: httpHeader = "X-XSS-Protection: 1; mode=block" httpHeader = "X-Content-Type-Options: nosniff" httpHeader = "Cache-Control: private" httpHeader = "Cache-Control: must-revalidate" To remove all entrys of the HTTP header (including the default values) following entry can be used: httpHeader = "-empty list-" Note: Mandatory header entries will not be removed.

[httpServer] indexPage

Type
string
Default
/data/index.html
Defines the start page which the HTTP server delivers when the root URL "/" was requested. This is only used if the root URL "/" was not already registered with httpConnect().

[httpServer] loadBalance

Type
string
Range
hostname [max=5]
Is used for load balancing of started ULC 2.0 User Interface Managers. This entry can be used multiple times. Each entry defines an additional host, on which an HTTP server is running, which is allowed to start a ULC 2.0 Users Interface Manager. The maximum number of UI managers on this host can be defined with the max=x option. If the max option is not given, 5 is the default. Example: loadBalance = "win10-140 max=10 exts=extern.etm.at:445 ext=extern.etm.at:82" loadBalance = "win10-141 max=10 exts=extern.etm.at:446 ext=extern.etm.at:83" exts= is used when the connection is encrypted, i.e. when working via https://. ext= is sent to the client (the ULC JavaScript part) if the connection is not encrypted, i.e. if http:// is used. Note: In a redundant system, when this config entry is not given, the HTTP server uses both redu-servers as load balancer hosts (when the HTTP server is running on either of the servers). In this case it is required to run the HTTP Server CTRL Manager with -connectToRedundantHosts, otherwise the other host does not know that a CTRL manager is running as the Event manager only writes onto its local connections dp

[httpServer] pngCompression

Type
int
Default
100
Range
0..100
Sets the compression of the transferred png data. 0 = no compression (fast, but uses more bandwidth), 100 = max compression (slower, uses less bandwidth)

[httpServer] strictTransportSecurityMaxAge

Type
uint
Default
31536000 (= ~1 year)
Defines the value for the "max-age" parameter that should be used for the Strict-Transport-Security of the HTTP server. If a value of 0 or no value is set the Strict-Transport-Security is not used. Note: If there are problems with untrusted certificates, this value can be set to 0. However, this will open a security leak.

[httpServer] uiArguments

Type
string
Default
-p vision/login.pnl -centered -iconBar -menuBar
Startparameter for the Ultralight Client 2.0. A UI Manager is being started, therefore all commandline arguments, as when started from the console, can be used. The HTTP Server always automatically passes the following commandline arguments in addition: -lang XXXX ... active language, uses the preferred language received from the Web-Browser -server XXXXX ... When the HTTP server does not run on the same host as the Event Manager, we assume that the UI manager can not read the project files (panels, CTRL-lib, etc.) from the local disc. Therefore with this option the UI will request the files via HTTP requests from the main server. This feature requires a running HTTP server on the machine on which the Event Manager runs (in case of a redundant project, there must be an HTTP server running on each of the redu hosts) You can disable this behavior with the config entry 'uiUsesMainServerAsFileServer = 0'

[httpServer] uiStartPermissionBit

Type
int
Default
-1
Defines the permission bit a user needs to have set to be allowed to start the ULC 2.0 client. To know the user of an HTTP request, the HTTP Server must be used with authentication (e.g. "Basic", "Negotiate")

[httpServer] uiUsesMainServerAsFileServer

Type
bool
Default
1
Range
0|1
Defines if the HTTP Server, when run on a different machine than the Event Manager, shall pass the -server XXX option to the ULC 2.0 User Interface started to be able to request project files from the main server via HTTP requests instead of reading project files from the local disc. However, it is recommended to keep project files locally on the HTTP Server and to set this option to 0, as described in the ULC UX Architecture documentation

[httpServer] ulcAliveTimeout

Type
uint
Default
60
The timeout in seconds after the UI manager for an unresponsive ULC UX client (e.g. if there is a network interruption) is terminated by the server. If 0, no timeout is checked If the value is part of the interval [1..10], 10 seconds is used as the timeout value The default value if not specified is 60 seconds

[httpServer] ulcUseClientTimeZone

Type
bool
Default
0 on Windows, 1 on all other platforms
Range
0|1
Defines the timezone used to display time values in ULC UX clients. If set to 1(true) the time zone from the ULC UX client is used, with 0(false) the server's time zone is used. Due to the limited support for a different time zone for a single process in Windows the default is set to 0 for those systems. Should ulcUseClientTimeZone be set to 1 in Windows the following problems may occur: incomplete historical information about time zones inaccurate or missing dates for transitions between standard and daylight saving time (DST) no DST support for the Southern hemisphere

[httpServer] XFrameOptions

Type
string
Default
SAMEORIGIN
Range
none
A security measurement prevents to load content from a different website. This is called "clickjacking" protection. To nevertheless load the content of the foreign server inside your own website the HTML Header parameter X-Frame-Options can be used to configure the expected behavior. This parameter must be set on the remote server and contain the URL of your server to display the foreign content on your server. There are 4 different options available for the XFrameOptions config entry: "none": is used to completely deactivate this option "DENY":  Foreign content is not loaded. "SAMEORIGIN": Only content from your own server is loaded.  "ALLOW-FROM": Only the content is loaded for which the X-Frame-Options HTML Header parameter is set correctly. Must be configured on the foreign server! Example: First server: www.myFirstServer.com Second server: www.mySecondServer.com To display the content from the second server within the first server (e.g. using an iframe) the second server must state the parameter "XFrameOptions: ALLOW-FROM http://www.myFirstServer.com" within the HTML header. This can be configured by setting following config entry within the config of the second webserver. [httpServer] XFrameOptions = "ALLOW-FROM http://www.myFirstServer.com"

[iec]

Settings for the IEC driver

[iec] asymmInit_101

Type
unsigned
Default
0
Range
0-1
For IEC 101 only. When the entry is set to 1, the link is always built after the peer.

[iec] autoAnswerReadComm

Type
string
Default
No
Range
Yes|No
For IEC 101 and 104. This config entry defines whether the driver should answer read telegrams (Type 102) automatically. This makes only sense, if the driver is operated in 'Controlled Station' mode and not as usual in 'Controlling Station' mode.

[iec] autoGQ

Type
int
Default
3
Range
0-3
For IEC 101 and 104. General query after connection establishment (autoGQ <mode>). <mode> 0 ... no automatic GQ 1 ... automatic GQ after connection establishment 2 ... automatic GQ at redundancy change-over 3 ... as well as For a GQ no wildcard ('*') may occur in the Common Address (first 2 bytes from left) in the Local/Global list! The automatic GQ requires that the locale/global list are correctly filled out for all connections.

[iec] autoNegativeConf

Type
string
Default
No
Range
Yes|No
For IEC 101 and 104. Automatic negative confirmation of commands. Command confirmation in IEC 60870 is done by a mirror of the command telegram. In controlled station mode, this must be done in WinCC OA using a CTRL script, which presumes that corresponding addresses are parameterized. This means if a positive confirmation should be sent, a script has to be created. Using the config entry autoNegativeConf = "Yes" you can specify that the IEC driver automatically sends a negative response to a command, if it cannot be mapped to an input address. The default value of the config entry is "No". This only applies to command telegram types in the range of C_SC_NA_1..C_BO_TA_1.

[iec] balanced_101

Type
string
Default
No
Range
Yes, No
For IEC 101 only. Driver mode: "Yes" Balanced", "No" Unbalanced".

[iec] certPath

Type
string
Relative path of the certificate store under <project>/data/IEC61850/. The directory is defined by the config entry, e.g.: [iec]certPath="myCertificates" Creates the directory <projectpath>\data\IEC61850\myCertificates.

[iec] checkDSR_101

Type
string
Default
No
Range
Yes|No
For IEC 101 only. Specifies whether the DSR line should be checked before sending a telegram. If the line is active, the telegram is sent, otherwise an error message is shown and the telegram discarded.

[iec] compareTransType

Type
string
Default
Yes
Range
Yes|No
For IEC 104 only. If the config entry discardBlocked = "Yes" is set, all data of "Blocked" Information Objects are discarded in the driver. For further information to the quality information "Blocked" see Quality identification.

[iec] connection

Type
string string int int
For IEC 104 only. Defines what connection the driver is to support: <name> <host> <port> <timeout> name - (logical) name of this connection. For each connection there must be one datapoint "_<name>" of the "_IecConnection" type. These DPs are automatically created on the panel for connections. For redundant drivers the second connection name is created automatically ("*_2"), whereby the connection name on both servers is the same and has not to be specified for each host separately (since WinCC OA release 3.9). host - Name (or IP address) of the host the driver is supposed to connect to and from which it accepts a connection. port - Port number if the driver is a TCP client and attempts to connect on its own, or 0 if the driver is a TCP server. In the latter case, the "tcpServerPort" entry must exist. timeout: - Interval at which the driver attempts to connect on the TCP level if it is a TCP client. You can optionally also specify the local host name/IP address and local port number e.g. connection = "IEC_Server" "host1$localip:9999" 2404 10. This means that the local socket uses the host localip and the local port 9999. If only "host1" is specified, the socket parameters are specified by the operating system.

[iec] connection_101

Type
string string string
For IEC 101 only. Defines an IEC 101 connection on a device defined above. <name> <devname> <101 link address> <name> - (logical) name of this connection analogous to an Iec104 connection (datapoint name from connection panel) <devname> - name of a device_101 <101 link address> - logical address of the IEC101 partner in unbalanced mode

[iec] connUserByteCOT

Type
int
Default
0
Range
0-4
For IEC 101 and 104. This entry allows to specify the cause of transmission, which is sent by the driver, in a user byte. The value specifies the number of the user byte. If the value 0 is set, no user byte mapping is done.

[iec] connUserByteOrigin

Type
int
Default
0
Range
0-4
For IEC 101 and 104. This entry allows to specify the origin address, which is sent by the driver, in a user byte. The value specifies the number of the user byte. If the value 0 is set, no user byte mapping is done.

[iec] connUserByteQ

Type
int
Default
0
Range
0-4
For IEC 101 and 104. This entry allows to specify quality information, which is sent by the driver, in a user byte. The value specifies the number of the user byte. If the value 0 is set, no user byte mapping is done.

[iec] defaultImpulseTime

Type
int
Default
8
Range
0..255
For IEC 101 and 104. A time period can be set for pulse commands sent from the driver to the SAT devices (see Quality identification). 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 (bits 0 and 1) 0 for 50 ms, 1 for 500 ms, 10 for 1 sec, 11 for 10 sec. Factor (bits 2-6) 1..31: switching time = time - factor OW (Bit 7) 1... overwrites command already running 0... no overwrite allowed Example: Sets the default value for the pulse commands switching period to 50 ms. defaultImpulseTime = 4 Sets the default value for the pulse commands switching period to one second with overwrite bit set. defaultImpulseTime = 134

[iec] defaultLinkAddress_101

Type
int
Default
0
For IEC 101 only. This is an address field in 101 frames.

[iec] device_101

Type
string string string
For IEC 101 only. Defines which devices to use for an IEC101 protocol. <devname> <type> <specific device data> <devname> - Symbolic name of the device to get a connection to a Connection_101. <type> - "V24" or "V24s" for a serial connection. "V24s" means that in a redundant system the device is only open on the active system. <specific device data> - Used for device-specific data depending on type. Device data is a string with this format: "port;baud,parity,databits,stopbits". For "V24", for example, "com;9600,e,8,1". Example of a device entry: "Device" "V24" "com1;9600,e,8,1" In order to trigger the line with RTS when sending, you have to specify the RTS mode in the "device_101". Possible modes are: 0 = RTS Disabled 1 = RTS Enabled 2 = RTS Handshake 3 = RTS Toggle Example of a device entry with RTS Toggle mode: "Device" "V24" "com1;9600,e,8,1:3" Delay times (Pre and Post delay times) in the RTS mode, can be set with the config entries "preDelayRTS" and "postDelayRTS" (a description of these entries you can also find in this table).

[iec] discardBlocked

Type
string
Default
No
Range
Yes|No
For IEC 101 and 104. If the config entry discardBlocked = "Yes" is set, all data of "Blocked" Information Objects are discarded in the driver. For further information to the quality information "Blocked" see Quality identification.

[iec] extendedCOT

Type
string
Default
Yes
Range
Yes|No
For IEC 101 and 104. The config entry extendedCOT = "Yes" specifies that the connection index is entered into the 16-31 bits (this means into the upper 16 bit) when the IEC "Cause of Transmission" is mapped on the datapoint. This index is only meaningful in case of redundant connections. On the input side then index can be used to detect the connection that was used to receive the telegram. On the output side the index can be used to send a telegram via a specific connection. The config entry also means that upper 16 bits have to be masked out if you only want to use the IEC COT.

[iec] ftInSubDir

Type
string
Default
iecIn
For IEC 101 and 104. Subdirectory for incoming files. This subdirectory will not be created automatically in the "data" directory of the current project. You have to create the directory manually.

[iec] ftMaxQueuedReq

Type
unsigned
Default
4
Range
1..100
For IEC 101 and 104. With this option it could be selected up to what level file requests are put into the output queue. So it is possible to restrict bandwidth usage by file transfer. If the selected value is a high one, the file is transferred faster, but maybe other telegrams must wait for a longer time in the output queue, what normally is not wanted for commands.

[iec] ftMaxSectionGap

Type
int
Default
0
Range
0,1
For IEC 101 and 104. The config entry specifies that a file transfer is not interrupted although certain sections (queried sections) do not exist. The default 0 means that the driver does not interrupt when a section is missing. The value 1 specifies that the driver skips the missing sections.

[iec] ftOutSubDir

Type
string
Default
iecOut
For IEC 101 and 104. Subdirectory for outgoing files. This subdirectory will not be created automatically in the "data" directory of the current project. You have to create the directory manually.

[iec] ftRootDir

Type
string
Default
'data' project directory
For IEC 101 and 104. Root directory for the incoming and outgoing files.

[iec] ftSegmentsPerLoop

Type
unsigned
Default
1
Range
1..10
For IEC 101 and 104. Defines the number of segments send in one main loop pass (default: 10ms).

[iec] ftTimeout

Type
unsigned
Default
10
Range
1..1000
For IEC 101 and 104. Defines the time limit in seconds for a response to a file transfer telegram.

[iec] GQResponseWithoutTimestamp

Type
string
Default
No
Range
Yes|No
For IEC 101 and 104. To answer a general query in controlled station mode a CTRL script must set the corresponding output data points. In order to force the sending of the telegrams without timestamp, the [iec] section config file entry GQResponseWithoutTimestamp = "Yes" must be set. Default value ist "No". This means that a dpSet on an output address with a type including a timestamp (e.g. type 30) will send a telegram without timestamp (e.g. type 1), if the COT is in the GQ range of 20 .. 36. This is only applicable for the timestamp version of the telegram types M_SP_NA_1, M_DP_NA_1, M_ST_NA_1, M_BO_NA_1, M_ME_NA_1, M_ME_NB_1, M_ME_NC_1, M_IT_NA_1.

[iec] iecDpName

Type
string
Default
_Iec_num
For IEC 101 and 104. Obsolete since version 3.9. Name of the internal datapoint of type "_Iec". For redundant drivers the name of both replicas must differ as follows, e.g. "_Iec_1" and "_Iec_2".

[iec] iecTlsCert

Type
string
Default
iec.crt
For IEC 104 only. Name of certificate file for TLS encryption. The file must be located in the "certs" folder of the PKI directory.

[iec] iecTlsCertCA

Type
string
Default
iecRoot.crt
For IEC 104 only. Name of the file containing the trusted root certificates, which are used to sign the peer certificates. The file can contain more than one certificate. It must be located in the "certs" subdirectory of the IEC driver certificate store PKI directory.

[iec] iecTlsCertKey

Type
string
Default
iec.key
For IEC 104 only. Name of certificate file for TLS encryption. The file must be located in the "private" folder of the PKI directory.

[iec] iecTlsCertStore

Type
string
Default
<WinCC OA Project>/data/iec104
For IEC 104 only. Path to the directory in which the Public Key Infrastructure directory is located.

[iec] iecTlsCipherSuite

Type
string
Default
AES256-SHA256,AES256-SHA
For IEC 104 only. A comma separated list of ciphers, which can be used for communication. The server selects the first cipher algorithm, which is also in the client cipher suite.

[iec] iecTlsCrl

Type
string
For IEC 104 only. Optional name of the file containing the certificate revocation list. This file must be in the "crl" subdirectory of the IEC driver certificate store PKI directory.

[iec] master_101

Type
string
Default
Yes
Range
Yes|No
For IEC 101 only. Master or slave in unbalanced mode (not used in balanced mode): "Yes" Master (default) , "No" Slave.

[iec] maxOSI7Len_101

Type
unsigned
Default
247
Range
> 64
For IEC 101 only. This entry specifies the maximum size in bytes of sent IEC telegrams. The config entry determines the maximum length of the OSI7 data area. It is possible to make the telegram length small than it is designed in the norm.

[iec] maxOutputQueue_101

Type
unsigned
Default
128
Range
>= 0
For IEC 101 only. This entry specifies the maximum size of the output queue (max. number of telegrams). If the output queue is full, the telegrams are discarded and an error message displayed.

[iec] max_k

Type
int
Default
12
Range
1-32767 (2^15-1)
For IEC 104 only. Defines how many outstanding telegrams without acknowledgement the driver is allowed to have. If this number is reached, the driver sends no further telegrams to the partner until the outstanding acknowledgements are sent by the driver.

[iec] max_w

Type
int
Default
8
Range
1-32767 (2^15-1)
For IEC 104 only. Defines how many telegrams have to be sent before the driver has to sent acknowledgements to the partner. To set this value to 2/3 of max_k is recommended.

[iec] negativeBitToInvalid

Type
string
Default
No
Range
Yes|No
"Yes" activates the mapping of the negative bit from the COT address on the invalid bit.

[iec] originatorAddress

Type
unsigned
Default
0
Range
0..255
For IEC 101 and 104. This entry specifies the default value of the originator address, which the driver is inserting into the second byte of the cause of transmission if a telegram is sent.

[iec] postDelayRTS

Type
unsigned
Default
0
Range
0..1000
For IEC 101 only. Defines, how many milliseconds after sending a telegram the RTS line should remain active. Only supported for Windows and only if the mode of the serial interface is not RTS_TOGGLE, i.e. no ":3" is set in the configuration string for the serial interface (see also "device_101" entry above).

[iec] preDelayRTS

Type
unsigned
Default
0
Range
0..1000
For IEC 101 only. Defines, how many milliseconds before sending a telegram the RTS line should be opened. Only supported for Windows and only if the mode of the serial interface is not RTS_TOGGLE, i.e. no ":3" is set in the configuration string for the serial interface (see also "device_101" entry above).

[iec] priorityClass

Type
int
Default
0
Range
Linux: -20-19; Windows:-1-2
For IEC 101 and 104. Controls the priority of the IEC driver manager under Windows and Linux (see entries for different sections).

[iec] reduStartDTtimeout

Type
uint
Default
0
Range
>=0
For IEC 104 only. Waiting time in seconds before the driver starts a new connection after a redundancy switch. Requires sendStartDTwhenPassive = 0

[iec] reqInactTime_101

Type
unsigned
Default
0
Range
0-300
For IEC 101 only. This config entry guarantees a minimum time (in milliseconds) between the sending of two IEC telegrams.

[iec] retry_101

Type
int
Default
0
For IEC 101 only. Number of attempts to send a frame. Default: 0, i.e. by default the driver makes no repetition of sending the frame, if the destination station does not respond to a query (within timeout_t1). If the frame cannot be sent after the defined number of retries, the driver begins with the establishment of the connection after expiry of timeout t3 (timeout_t3), i.e. if the driver looses a station, it tries the next connection establishment after 20s.

[iec] sendStartDTwhenPassive

Type
int
Default
1
Range
0|1
For IEC 104 only. If 1 then the driver sends a StartDT signal after establishing the connection even if it is connected to the passive system. If 0 then a StartDT is not send after establishing the connection if the driver is connected to the passive system.

[iec] singleAck_101

Type
string
Default
No
Range
Yes, No
For IEC 101 only. Specifies whether the driver should send acknowledgements as single byte telegrams in the 101 mode. Mode for sending ack: "Yes" use single ack, "No" use complete ack.

[iec] sizeof_COA

Type
int
Default
2
Range
1-2
For IEC 101 and 104. Defines the number of bytes the 'Common Object Address' in the IEC telegram consists of. For IEC 104 connections this value must be 2.

[iec] sizeof_COT

Type
int
Default
2
Range
1-2
For IEC 101 and 104. Defines the number of bytes the 'Cause of Transmission' in the IEC telegram consists of. For IEC 104 connections this value must be 2.

[iec] sizeof_IOA

Type
int
Default
3
Range
1-3
For IEC 101 and 104. Defines the number of bytes the 'Information Object Address' in the IEC telegram consists of. For IEC 104 connections this value must be 3.

[iec] sizeof_LA_101

Type
int
Default
0
Range
0-2
For IEC 101 only. Number of bytes for the Link Address. In Unbalanced Mode this config entry must exist and must have a value unequal 0!

[iec] station_101

Type
int
Default
0
Range
0, 1
For IEC 101 only. Number of the station in balanced mode.

[iec] swapModuleValue

Type
string
Default
No
Range
No, Yes
For IEC 101 and 104. Defines whether the byte order of "Module" and "Value" (the first bytes of the Information Object Address) should be swapped. This is necessary for AK1703, for example, when the HB and MB values have to be swapped before being sent.

[iec] tcpServerPort

Type
int
Default
0
Range
gt;= 0
For IEC 104 only. Indicates the port on which the driver should wait for incoming connections. The driver can be either TCP client, in this case the entry must not exist, or TCP server, then the entry must exist. A TCP server is automatically also an IEC slave, i.e. the other side must also initialize the connection.

[iec] tgFilterTimeout

Type
unsigned
Default
0
Range
>= 0
For IEC 104 only. Timeout in milliseconds for filtering telegrams in case of redundant connections. If this entry is set to > 0, telegrams received via redundant connections are compared and filtered out if they are identical. The timeout defines how long a telegram will be stored in the driver for comparison. This entry only functions for IEC 104 (use the option "-dbg filter" for debugging purposes).

[iec] timeoutAfterIsolation

Type
uint
Range
gt;= 0
For IEC 104 only. Time in seconds the driver waits before reestablishing his connections after he changed back from isolated state to connected to the network.

[iec] timeout_t1

Type
int
Default
1 sec
Range
>0
For IEC 101 only. The entry timeout_t1 defines the time within which the destination station has to respond to a request. If the station does not respond within this time the request is repeated (retry_101).

[iec] timeout_t1(IEC 104)

Type
int
Default
15
Range
1..255
Unit
sec
For IEC 104 only. Time-out for receiving the response to a send or test APDUs.

[iec] timeout_t2

Type
int
Default
1500 msec
Range
>0
For IEC 101 only. The entry timeout_t2 is only relevant for the unbalanced mode and defines the polling interval within which the data is queried. If the time is e.g. 1 second the driver queries each substation in 1 second interval.

[iec] timeout_t2(IEC 104)

Type
int
Default
10
Range
1..255
Unit
sec
For IEC 104 only. Timeout for acknowledgement in case of no data messages.

[iec] timeout_t3

Type
int
Default
20 sec
Range
>0
For IEC 101 only. The entry specifies the interval within which the link status should be checked. If a station falls out, the driver tries to reconnect after the end of this timeout (before the driver makes "retry_101" attempts to reconnect).

[iec] timeout_t3(IEC 104)

Type
int
Default
20
Range
1..255
Unit
sec
For IEC 104 only. Timeout for sending test frames in case of a long idle state.

[iec] timeSync

Type
string
Default
N
Range
Y/N
For IEC 101 and 104. Activates the use of a time synchronization message (type 103,C_CS_NA_1). In this case the PLC always sends a synchronization message with the absolute time CP56Time2a. The hourly value of this message is used as a basis for the following CP24Time2a time stamp (this time stamp contains only the time within an hour with millisecond resolution). If the hour changes a new synchronization message is sent. The driver notes internally per Common Object Address the time of the last time synchronization message and uses this as basis for the following CP24Time2a time stamp.

[iec] tlsServerPort

Type
int
Default
0
Range
gt;= 0
For IEC 104 only. Indicates the port on which the driver should wait for incoming connections using transport layer security encryption.

[iec] useCOTGQ

Type
string
Default
No
Range
Yes|No
For IEC 101 and 104. Defines whether COT 20 resp. 37 should be used with frames due to a IGQ. For more details on the cause of transmission see chapter IEC driver details.

[iec] useIECFlatAddress

Type
string
Default
No
Range
Yes|No
For IEC 101 and 104. Defines the Endianity of address fields on the transmission line. "Yes" = Big Endian (high byte transmitted first) "No" = Little Endian (high byte transmitted last) that is also in the standard. If useIECFlatAddress = "No", the address bytes become swapped (opposite the panel) and the transmission is as followed: Common Address (LB = low byte) Common Address (HB = high byte) Information Object Address (LB) Information Object Address (MB) Information Object Address (HB) If useIECFlatAddress = "Yes", the address bytes are not swapped and the transmission is like the parameterization in the panel: Common Address (HB = high byte) Common Address (LB = low byte) Information Object Address (HB) Information Object Address (MB) Information Object Address (LB)

[iec] UserBitDST

Type
int
Default
0
Range
1-32
For IEC 101 and 104. Maps the summer time bit from the time stamps, if the config entry timeSync is set.

[iec] UserBitEI

Type
int
Default
0
Range
1-32
Maps the Elapsed Time Invalid Bit of the types 17, 18 and 19.

[iec] UserBitIVT

Type
int
Default
0
Range
1-32
For IEC 101 and 104. When messages arrive and no time synchronization took place before, a time stamp of an input value is composed of the CP24Time2a time stamp and the WinCC OA time. The time stamp is marked as invalid. The invalidity of the time stamp can be mapped on a WinCC OA userbit via this entry. The defined user bit is set in the following messages until the next time synchronization command (with a valid time stamp). The invalidity of the time stamp of a message (CP24Time2a) is also mapped on the defined userbit.

[iec] UserBitXX

Type
int
Default
0
Range
1-32
For IEC 101 and 104. Maps the quality bits on the WinCC OA user bits (see also chapter Quality information). This mapping only applies in alert direction. The both least characters (here "XX") of the entry define the type of the quality information: IV: Invalid Bit NT: Not topical SB: Substituted CA: Counter adjusted CY: Carry BL: Blocked OV: Overflow EI: Elapsed time invalid IVT: Invalid time stamp DST: daylight saving time bit set Default 0 in each case (= no mapping).

[iec] userByteCOT

Type
int
Default
0
Range
0-4
For IEC 101 and 104. Input-sided mapping of cause of transmission to a user byte. The value specifies the number of the user byte, which shall be used for the COT. If the value 0 is set, no user byte mapping is done.

[iec] userByteOrigin

Type
int
Default
0
Range
0-4
For IEC 101 and 104. Input-sided mapping of origin address to a user byte. The value specifies the number of the user byte, which shall be used for the origin address. If the value 0 is set, no user byte mapping is done.

[iec] userByteQ

Type
int
Default
0
Range
0-4
For IEC 101 and 104. Input-sided mapping of the command mirror of the QU bits. This config entry provides input-sided mapping of the quality / Command Qualifier on an user byte. Thereby the userBitXX config entries are not required anymore, but they are still valid. An exception of the rule are the configs userbitDST and userbitIVT, because these bits are mapping information from the timestamp. Note that the usage of this config entry does not allow overlapping/overwriting with other config entries, e.g. with userbitDST or userbitIVT.

[iec] utcTimestamps

Type
bool
Default
0
Range
0|1
For IEC 101 and 104. Allows to enable or disable the usage of UTC timestamps for the IEC driver.

[iec61850]

Settings for the IEC 61850 client.

[iec61850] abortOnMismatch

Type
bool
Default
0
Range
0|1
Defines if enabling an RCB shall be aborted if the RCB on the server is configured with a different data set than the RCB in WinCC OA.

[iec61850] aliveInterval

Type
uint
Default
20
Range
0 - 600 (in sec)
Determines the interval for sending alive telegrams for checking the connectivity of a peripheral device. 0 indicates no alive check.

[iec61850] aliveTimeout61850

Type
uint
Default
10
Range
1 - 600 (in sec)
Determines the time after which the client recognizes a loss of connection to the peripheral device. Note: The alive timeout is only triggered if a TCP connection is still available but the device does not respond. If the TCP connection fails on the hardware level (power-outage, etc) the time-out of the underlying stack is triggered (approx. 10 seconds). The time-out is OS dependent and cannot be changed. Under Linux the maximum time until a connection loss is recognized is aliveTimeout61850 + aliveInterval.

[iec61850] autoGQ

Type
uint
Default
3
Range
0 - 3
Determines whether the client sends a General Query automatically after connecting to a device. 0: No automatic GQ 1: Automatic GQ on connecting 2: Automatic GQ after redundancy changeover or failover. 3: Automatic GQ on connecting and on redundancy changeover/failover. Note The settings also apply to General Interrogation (GI) and will trigger a GI for all enabled report control blocks.

[iec61850] certPath

Type
string
Relative path of the certificate store under <project>/data/IEC61850/. The directory is defined by the config entry, e.g.: [iec61850]certPath="myCertificates" Creates the directory <projectpath>\data\IEC61850\myCertificates.

[iec61850] clientIedName

Type
string
Default
<WinCC OA Client Name>
The config entry assigns a spearate (Client) IED name to an IEC 61850 driver instance in WinCC OA. The entry must be set in a instance specific section [iec61850_<manager number>]. The RCB management panel only displays unassigned RCBs as well as RCBs that are directly assigned to the Client instance if the config entry is set. A corresponding entry to the SCL configuration file must be made according to the norm: e.g. <ClientLN ... IedName="WinCC OA Client Name"> The <ClientLN> entry must be placed inside of the <ReportControl> node. An example can be found within the "Report Control Blocks" chapter of the IEC61850 Engineering documentation.

[iec61850] connRetryInterval

Type
uint
Default
30
Range
1 - 600 (in sec)
Determines the interval for periodically trying re-establishing the connection to a peripheral device after  connection loss.

[iec61850] debugMsgQueueLimit

Type
uint
Default
10000
Range
1 - 50000
Determines the maximum number of debug messages the debug message queue can hold.

[iec61850] fileTransferTimeout61850

Type
uint
Default
15
Range
1 - 60
Unit
Seconds
The timeout defines how long a file transfer operation, e.g. downlowding a file from the server, is allowed to take.

[iec61850] maxReadRequests

Type
uint
Default
20
Range
1 - 1000
Maximum read requests that the client sends to the server in a single MMS Packet.

[iec61850] maxWriteRequests

Type
uint
Default
40
Range
1 - 1000
Limits the number of write-requests, being sent to the connected server. Each write-request contains one or more output DP elements - depending on the number of DP elements in the executed dpSet() call.

[iec61850] originatorCategory

Type
uint
Default
2
Range
1 - 3
Applies to the IEC 61850 command model and modifies the definition of the originator category. Possible values are: 1 -> Bay 2 -> Station 3 -> Remote

[iec61850] originatorIdentifier

Type
string
Default
<hostname>_<project name>_<driver number>
Range
30 (characters)
Applies to the IEC 61850 command model and allows modifying the originatorIdentifier. By defaults this is built as <hostname>_<project name>_<driver number>

[iec61850] rcbReleaseTimeout

Type
uint
Default
10
Range
0 - 120
Unit
seconds
In a redundant WinCC OA system, on a redundancy switch, the driver becoming passive releases all server connections where "Passive host connects to device" has been activated. This timeout determines the interval in seconds after which the client re-establishes these connections.

[iec61850] readRequestQueueLimit

Type
uint
Default
50000
Range
1 - 1000000
Determines the maximum number of read requests the read request queue can hold.

[iec61850] readResponseQueueLimit

Type
uint
Default
50000
Range
1 - 1000000
Determines the maximum number of read responses that the read response queue can hold.

[iec61850] reportEnaMaxRetry

Type
uint
Default
10
Range
0 - 50000
Maximum number of retries to enable RCB after a connection establishment with the device or redundancy changeover. 0 -> Infinite retry. Note: If the enabling attempt fails, an appropriate error is written to _IEC61850_RCB.State.RCBState. In case that the maximum number of retries is exhausted, an log message is displayed in addition.

[iec61850] reportEnaRetryInterval

Type
uint
Default
6
Range
1 - 600 (in sec)
Determines the time interval after which the client tries to enable an RCB if the previous attempt was not successful.

[iec61850] sequentialConnSetup

Type
bool
Default
n
Range
y|n
The config entry defines if the driver serializes initializing, activating and connecting of IEDs and RCBs or if these steps should be performed in parallel. Procesing the steps in parallel (= "n"; default) will speed up the start-up of the driver but may result in a forced shutdown of the driver in case the project contains a high number of IEDs with lots of RCBs. Therefor it is recommended to enable the sequential mode (= "y") reducing the message load between driver and event/ data manager.

[iec61850] setInvalidForConnLoss

Type
uint
Default
2
Range
0 - 2
Defines if the invalid bit should be set if the driver loses the connection to the device. 0-> Invalid bit will not be set by the driver after connection loss. 1-> Invalid bit will be set by the driver with connection loss time. 2-> Invalid bit will be set by the driver with last data update time. Note The invalid bit is reset as soon as the first valid value is received after connection reestablishment. If there is no value change, the invalid bit is not reset. The invalid bit can also be reset by GI. In this case the optional field Reason for Inclusion must be enabled and autoGQ must be set to 3.

[iec61850] userBitReduSourceDevice

Type
uint
Default
6
Range
1 - 32
Defines which user bit shall be used to distinguish between messages sent from the primary and secondary redundancy partner. The config entry is only used if "userByteQualityMode" is disabled.

[iec61850] userByteCommandMode

Type
uint
Default
1
Range
1 - 4
Determines the User Byte in write direction used for commands of the control model. 1 -> _userbyte1 2 -> _userbyte2 3 -> _userbyte3 4 -> _userbyte4

[iec61850] userByteQualityDetail

Type
uint
Default
0
Range
0 - 4
Determines the user byte in read direction used for mapping IEC 61850 Quality information for the attributes validity, source, test and operator blocked. 0 -> No mapping 1 -> _userbyte1 2 -> _userbyte2 3 -> _userbyte3 4 -> _userbyte4 Note: The config entries userByteTimeQuality, userByteQualityDetail and userByteQualityMode refer to the detailed quality information provided by the IEC standard. You might set either or none of these config entries. If none is set, quality and time related, quality bits are not mapped to the user bytes of the _original config. The data quality (valid/invalid) is always considered and does not require the setting of any config entries.

[iec61850] userByteQualityMode

Type
uint
Default
0
Range
0 - 4
Determines the user byte in read direction used for mapping IEC 61850 Quality information for the attributes of the structure Quality/detailQual. 0 -> No mapping 1 -> _userbyte1 2 -> _userbyte2 3 -> _userbyte3 4 -> _userbyte4 Note: The config entries userByteTimeQuality, userByteQualityDetail and userByteQualityMode refer to the detailed quality information provided by the IEC standard. You might set either or none of these config entries. If none is set, quality and time related, quality bits are not mapped to the user bytes of the _original config. The data quality (valid/invalid) is always considered and does not require the setting of any config entries.

[iec61850] userByteTimeQuality

Type
uint
Default
0
Range
0 - 4
Determines the user byte in read direction used for mapping IEC 61850 Time Quality information. 0 -> No mapping 1 -> _userbyte1 2 -> _userbyte2 3 -> _userbyte3 4 -> _userbyte4 Note: The config entries userByteTimeQuality, userByteQualityDetail and userByteQualityMode refer to the detailed quality information provided by the IEC standard. You might set either or none of these config entries. If none is set, quality and time related, quality bits are not mapped to the user bytes of the _original config. The data quality (valid/invalid) is always considered and does not require the setting of any config entries.

[iec61850] writeIntDpQueueLimit

Type
uint
Default
10000
Range
1 - 50000
Determines the maximum number of elements the queue storing values to be written to internal data points can hold.

[iec61850] writeRequestQueueLimit

Type
uint
Default
50000
Range
1 - 1000000
Determines the maximum number of write requests the write request queue can hold.

[mod]

Settings for the Modbus driver

[mod] addUnicosMarker

Type
int
Default
-1
Range
-1..65535
Defines the reference number that is used by the driver to decide whether it is a Modbus or a UNICOS frame. The entry is deactivated by default.

[mod] aliveInterval

Type
unsigned
Default
10 [s]
Range
>= 0
Specifies an alive interval for the driver in seconds. The Value 0 means that no keep-alive messages are sent. A value > 0 means that the driver sends a read request to all connected PLCs every aliveInterval seconds.

[mod] aliveTimeoutMsg

Type
unsigned unsigned
Default
3 1
Specifies the function code and the reference number for the alive request.

[mod] autoGQ

Type
bool
Default
1
Range
0|1
Defines whether general queries shall be executed automatically. 0 = no automatic general query 1 = automatic general query when connection is established

[mod] idleCloseTimeout

Type
unsigned
Default
0 [s]
Range
>= 0
The driver closes the connection to the PLC if the connection is idle for the specified time (in seconds). This is done only for connections in master mode.

[mod] littleEndianRegister

Type
int
Default
-1
Range
-1|0|1
Defines the order of registers (16bit words) within 32bit or 64bit process data. Possible values: -1 - No preferred value is defined. (Default). 0 - bigEndianRegister is preferred. 1 - littleEndianRegister is preferred.

[mod] maxConnRetryNumber

Type
unsigned
Default
0
Range
>= 0
Specifies how many times the driver retries to establish a connection when sending a telegram, if the connection request fails.

[mod] maxGap

Type
uint
Default
16
Range
0..100
If the difference of two consecutive address reference numbers is lower or equal the value in maxGap, than these addresses are grouped together in one poll block. If not, then a second poll block is created. This entry provides the poll query optimization.

[mod] maxPendingRequests

Type
unsigned
Default
1
Range
1..8
The maximum number of outstanding requests without response. The entry can be used for sending more requests in advance in order to speed up the communication. If you set the value of the entry to higher than 1, you have to verify that the PLCs controlled by the driver are able to handle several requests.

[mod] maxQueueSize

Type
int
Default
256
Defines the size of the request queue for master mode. For example maxQueueSize = 1000

[mod] maxRequestRetryNumber

Type
unsigned
Default
0
Range
>= 0
Specifies the number of retries for a requests if a response is missing.

[mod] onlyActivePolls

Type
bool
Default
0
Range
0|1
Only the active driver polls in a redundant system

[mod] plc

Type
string
Obsolete since WinCC OA version 3.9. The datapoint name of PLC the driver cares for. An entry must exist for each PLC (e.g. plc = "_Mod_Plc_2"). The datapoints are created automatically by defining the parameters in the parameterization panel of the Modbus/TCP driver (see chapter Parameterization panel of the Modbus/TCP driver).

[mod] pollOptForBlob

Type
bool
Default
1
Range
0|1
Defines whether a poll query optimization is used for blobs (default = yes).

[mod] requestDelay

Type
uint
Default
0
Range
>= 0
Time in milliseconds, which must be between two requests. The value should not be set to high, because it reduces data throughput. This entry is only relevant if gateways are involved.

[mod] simUnicosEvents

Type
unsigned
Default
24
Range
1..24
The parameter specifies the number of items for a simulated Event Report.

[mod] simUnicosPlc

Type
bool
Default
0
Range
0|1
Determines if the master should send UNICOS frames for specific, normally unused function codes. If you specify the function code 120 in to a peripheral address, a data status frame containing arbitrary data is generated. If you specify the function code 121, an Event Report frame containing arbitrary data is generated. Used only for TEST PURPOSES. The function code is used to inform the driver to generate a UNICOS frame. The code is not sent outside.

[mod] statCheckInterval

Type
uint
Default
20 [s]
Range
5-100
Time interval where request statistic datapoint elements are written by the driver.

[mod] suspendTimeFactor

Type
int
Default
10
Range
1-100
If there are several RTU slaves behind a gateway and one or more of this slaves does not reply, the communication to the failing slaves is suspended for an interval of suspendTimeFactor*transactionTimeout to avoid big performance degradation of the communication to the remaining available slaves.

[mod] tcpConnectTimeout

Type
unsigned
Default
2000 [ms]
Range
>=1000
Connection timeout. When the connection is established, the driver waits until the connection is initialized and until an acknowledgement is received from the PLC. If the driver does not receive the acknowledgement within a timeout, the driver re-establishes the connection. The timeout is specified using the config entry tcpConnectTimeout in the Modbus section.

[mod] tcpReceiveBufferSize

Type
unsigned
Default
0
Range
>=300
With this entry the TCP receive buffer size can be adjusted. This is only needed in exceptional cases if an old Modbus device can not handle modern operating system TCP windows size setting. The default setting 0 means that operating system default for receive buffer is used. If a connection to an old device cannot be established, it might be that a low value of e.g. 512 makes a connection possible.

[mod] tcpServerPort

Type
unsigned
Default
0
Range
0..65535
The port number of the TCP server. The driver opens a server socket for Modbus clients. If the port is 0 the driver does not open a server socket and it is operating in client mode only.

[mod] unicosMarker

Type
int
Default
65535(0xFFFF)
Range
-1..65535
The driver decides with this reference number whether a Modbus or a UNICOS frame should be used. The entry is deactivated with -1. In order to deactivate UNICOS completely, set the entry to -1 (nothing may be set for addUnicosMarker!).

[modsrv]

Settings for the Modbus/TCP server

[modsrv] tcpServerHost

Type
string
Defines to which host name or IP address the server is bound (if 2 or more network adapters are available).

[modsrv] tcpServerPort

Type
int
Default
502
Range
>=0
Defines the listening TCP port of the Modbus/TCP server.

[modsrv] useUTC

Type
bool
Range
0|1
Defines whether UTC time format shall be used for data point elements of type time.

[mqtt]

Settings for the MQTT driver.

[mqtt] certPath

Type
string
Default
cert
Relative path of the certificate store under <project>/data/mqtt/.

[mqtt] delta

Type
ushort
Default
5
Unit
milliseconds
Time delta to suppress duplicates from redundant connection.

[mqtt] jsonProfileStatus

Type
ushort
Default
0 (not used)
Range
0..1
Defines whether the driver subscribes to all 32 user bits. Required if the JSON profile incl. status is used. By default, no user bits are subscribed to.

[mqtt] jsonTimeFormat

Type
ushort
Default
0
Range
0..1
Format of timestamp from JSON profile. 0 = ISO 8601, 1 = milliseconds since 1970

[mqtt] onlyActiveSubscribes

Type
bool
Default
0
Range
0|1
Only the active driver in a redundant system subscribes to topics.

[mqtt] reduClientIdPostfix

Type
string
Default
_2
If the MQTT client id for a broker connection is explicitely defined, this posfix is appended on the second host in a redundant system. This is required because typically two client cannot connect to a broker with the same client id.

[mqtt] statisticsRefreshTime

Type
ushort
Default
60
Unit
seconds
Refresh interval (in seconds) for the statistics on the internal data points.

[mqtt] userBitQoS1

Type
ushort
Default
0 (not used)
Range
1..16
User bit for the first QoS bit. No user bit is used by default.

[mqtt] userBitQoS2

Type
ushort
Default
0 (not used)
Range
1..16
User bit for the second QoS bit. No user bit is used by default.

[mqtt] userBitRetain

Type
ushort
Default
0 (not used)
Range
1..16
User bit for the retain flag. No user bit is used by default.

[mqttpub]

Settings for the MQTT Publisher.

[mqttpub] certPath

Type
string
Default
cert
Relative path of the certificate store under <project>/data/mqtt/.

[mqttpub] connDp

Type
string
Default
MqttPublisher
Specifies the name for the internal datapoint (without leading "_") of the MQTT Publisher.

[mqttpub] mqttPubGroup

Type
string
Default
MQTTPub
Defines the data point group that is used for the MQTT Publisher published data. The group alias must be used. Every MQTT Publisher can use a separate data point group. Note: If a data point group is generated for the MQTT Publisher, it is necessary to specify an alias for the generated group!

[mqttpub] statisticsRefreshTime

Type
ushort
Default
60
Unit
seconds
Refresh interval (in seconds) for the statistics on the internal data points.

[mqttpub] useAlias

Type
bool
Default
0
Range
0|1
Specifies whether the MQTT Publisher uses the datapoint name or the alias as MQTT topic: 0 -> DP name 1 -> DP alias

[mqttpub] useCnsDisplayPath

Type
bool
Default
0
Range
0|1
Specifies whether the MQTT Publisher uses the CNS identifier or the CNS display name path (active language) as MQTT topic: 0 -> CNS identifier 1 -> Display name path

[mqttpub] userBitQoS1

Type
ushort
Default
0 (not used)
Range
1..16
With this entry the QoS can be specified by setting a user bit of the corresponding DPE. User bit for the first QoS bit. No user bit is used by default.

[mqttpub] userBitQoS2

Type
ushort
Default
0 (not used)
Range
1..16
With this entry the QoS can be specified by setting a user bit of the corresponding DPE. User bit for the second QoS bit. No user bit is used by default.

[mqttpub] userBitRetain

Type
ushort
Default
0 (not used)
Range
1..16
User bit for the retain flag. No user bit is used by default. If this entry is set != 0 and the userbit is set that the value is published with retain flag.

[NextGenArch]

Settings for the NextGenArchive (NGA)

[NextGenArch] backendRestartDelay

Type
uint
Default
20
Allows to configure the delay (in seconds) between the startup attempts of the database backend.

[NextGenArch] importSourceDbAsIso

Type
boolean
Default
0
Range
0|1
In the case of importing a non-project-specific, historical WinCC OA database, which is ISO-coded, you must manually add this configuration entry to the configuration file of the new project by setting it to [NextGenArch] importSourceDbAsIso = 1.

[NextGenArch] maxSecondsToWaitForInitialQueriesBeforeConnectingToEvent

Type
uint
Default
60
Range
Seconds
Unit
Seconds
Specifies the time how long the error messages (that the EVENT manager was not started) are suppressed in NGA. The value must be as high as the time that EVENT manager requires in order to start. In general changing this entry is only required for larger projects where the start of the EVENT Manager may take some time. Directly connecting to the EVENT Manager without this delay would cause the log to be filled with "cannot connect to event manager" messages. NOTE: The EVENT Manager connection can still be configured as before by using the config entries connectDelay and connectRetries.

[NextGenArch] triggeredArchiving

Type
int
Default
0
Allows to define the behavior for triggered archiving. A triggered archiving is performed, if the _archive config is set active. In this case all DPEs of this archive configuration are handled as if they received a hotlink with the current value. Note: Can only be used for DPEs that have a _archive config. Possible settings are: 0 - default; Triggered archiving is not performed. 1 - When the value is sent to the backends, the latest timestamp of the DPE is used. 2 - When the value is sent to the backends, the timestamp of the dpSet() operation is used.

[NextGenArch] useOriginalValue

Type
int
Default
0
Range
0|1
0: NGA connects to _online values as before. The behavior is unchanged. 1: NGA connects to _original values instead of _online values. This changes the meaning of the columns in the database as _original values are now archived instead of _online values. The config entry can be used for large data point structures that contain many sub elements since NGA connects to all _online configs and the EVENT manager becomes slower.

[oaTest]

Settings for the WinCC OA Unit Dynamic Link Library.

[oaTest] testCaseIdPrefix

Type
string
With the config entries "testCaseIdPrefix" and "testCaseIdSuffix" you can add a test case prefix or suffix for each test case ID. Therefore, test cases can be started with the prefix/suffix. If a manager runs and a config entry is changed, the manager must be restarted. Note also that you may not use leading or trailing spaces for the entries. Enter the prefix or suffix into the config file and start your test case in the console, the test case is started with the prefix/suffix. Example: [oaTest] testCaseIdPrefix = "TST_String" testCaseIdSuffix = "TST_Customer1"

[oaTest] testCaseIdSuffix

Type
string
With the config entries "testCaseIdPrefix" and "testCaseIdSuffix" you can add a test case prefix or suffix for each test case ID. Therefore, test cases can be started with the prefix/suffix. If a manager runs and a config entry is changed, the manager must be restarted. Note also that you may not use leading or trailing spaces for the entries. Enter the prefix or suffix into the config file and start your test case in the console, the test case is started with the prefix/suffix. Example: [oaTest] testCaseIdPrefix = "TST_String" testCaseIdSuffix = "TST_Customer1"

[oledb]

Settings for the OLE DB provider.

[oledb] maxOleDbArchiveConnectTime

Type
int
Default
5
Range
>0
Maximum time (in seconds) that the provider uses for establishing a connection to the ValueArchive.

[oledb] maxOleDbIdleTime

Type
int
Default
0
Range
>=0 (max. 2147483648)
Time (in seconds) that the provider runs without active queries before it terminates itself. The provider continues running with the default 0 setting.

[oledb] maxOleDbWaitAnswerTime

Type
int
Default
60
Range
>=0 (max. 2147483648)
Longest time (in seconds) that the provider waits, after having sent all the queries to the ValueArchive, for the receipt of responses to these questions. Setting the value to 0 means that the provider does not wait at all (not recommended). If the time has expired, the responses that have been received up to then are forwarded and an error message sent to the log.

[oledb] num

Type
int
Default
1
Manager number of the OLE DB provider.

[oledb] oleDbServerPort

Type
int
Default
4444
Range
>0
If the provider DLL and provider EXE are running on different computers, they communicate via TCP/IP. This setting specifies the port that the provider DLLs can use to register themselves, for example, if the consumer is making queries from a different computer.

[oledb] usePvssWildCards

Type
bool
Default
1
Range
0|1
Specifies for SQL whether the SQL syntax (0) or the WinCC OA syntax (1) is to be used for wildcards. SQL: % = any characters _ = any single character WinCC OA: * = any characters ? = any single character

[onlineBackup]

Settings for the online backup

[onlineBackup] autoOnlineBackup

Type
bool
Default
1
Range
0|1
With this config entry the automatic check for the configuration of the online backup can be activated/deactivated. The check is executed when starting the project (script archiv_client.ctl). The default value is 1, a automatic check is executed. If the backup device is HD/MO/JAZ a permission check for the write permission is executed. When the check fails the directory PROJ_PATH/data/OnlineBackup is chosen as target directory. In case of DATA archiving only a check is made for a path without doing a permission check. If an invalid configuration for the online backup is detected a automatic online backup is configured using the following settings: Backup directory: PROJ_PATH/data/OnlineBackup or an already defined valid path Backup interval: daily at 4:00 AM Backup range: 1 day - 1 month (depending on settings made before the check) Deletion: automatic deletion of old backup data before executing the next backup

[opc]

Settings for the OPC client

[opc] enableGeneralQuery

Type
string
Default
Yes
Range
Yes|No
You can deactivate the automatic general query during a redundancy switch. This can be done by setting the config file entry enableGeneralQuery to "No". If this config file entry is set to "No", also the general query via the _DriverCommon.GQ DPE is deactivated. The deactivation does not regard the general queries activated via internal _OPCServer.ServerGA or _OPCGroup.Refresh data point elements. Thus, these DPEs can further be used to manually execute general queries although the automatic general query is deactivated.

[opc] ioReadBack

Type
string
Default
Yes
Range
Yes|No
"Readback" is a feature to make the IOTransitionTimeout compatible with the OPC update mechanism: When an I/O address is written, the driver waits for a value for this address from the periphery for IOTransitionTimeout seconds. If no value arrives within this time the driver concludes that the write did not succeed. OPC Servers on the other hand do not immediately reply to a value but only after update rate Milliseconds. So if IOTransitionTimeout is smaller than update rate, there will be no callback and the driver assumes that the IOTransaction did not succeed (although it may have gone well). To prevent this situation the OPC Driver starts a read operation immediately after the write to read the value back (hence "readback") from the periphery. The readback functionality can be deactivated using the ioReadBack = "NO" entry.

[opc] mapInvalidAdressToDrvInvalidBit

Type
string
Default
yes
Range
yes|no
If this config entry is set, the quality mapping or at least invalid mapping has to be activated in the OPC server panel (Panel OPC server). If [opc] mapInvalidAdressToDrvInvalidBit = "yes" is set in the config file, the invalid bit of the driver is set if the address (OPC item) cannot be found in the server. The bit is reset as soon as the address exists in the server and the system tried to use the address using_OPCGRoup.retryCorruptItem. If this is successful, the address is available in the server and the server sends an update. Thus, a value from the driver is sent to WinCC OA and DRV_INVALID is reset. Thus, the DP is not invalid anymore. Note that the same OPC group must not be used for two different OPC drivers.

[opc] priorityClass

Type
int
Default
0
Range
Linux: -20-19 Win:-1-2
Controls the priority of managers under Windows and Linux (see also Entries for different sections).

[opc] server

Type
string string
With this entry, the symbolic server name used in the peripheral address is assigned the ProgID (program identification from the registry), and possibly a path to a remote server. Example: server = "server1" "www.foo.com/ETM.OPC.Simulation.1" If a OPC client establishes a connection to several servers, a datapoint has to exist for each sever (for each server config entry). You can create the datapoint via the OPC parameterization panel. See chapter Panel OPC server. Assigns the ProgID ETM.OPC.Simulation.1 to the symbolic name server1. The path is optional. If a path is given, it must be separated by a "/" from the ProgID. When a path is given, the server is automatically started as a remote server on the specified computer. All UNC names ("//server" or "server") and all DNS names ("server.com", "www.foo.com", or "135.5.33.19") can be given as path names. At least one server must be specified, and a maximum of 20 servers can be started at the same time. The symbolic names of these servers must differ. This is necessary because for each server there has to be a datapoint of type _OPCServer, whose name includes the symbolic name (see chapter _OPCServer (OPC Client)).

[opc] timeStampFromServer

Type
string
Default
Yes
Range
Yes|No
By default the timestamps are generated by the OPC server. If this config entry is set to "No", the timestamps are generated by the OPC client.

[opcae]

Settings for the OPC A&E Client

[opcae] addTimeToComment

Type
int
Default
1
Range
0 - 2
Due to the correction of timestamps in the client the original server timestamp can be appended to the alert comment. The config entry specifies the adding mode: 0 => The time will not be added to the comment 1 => The time will only be added if a timestamp correction has been performed 2 => Time will always be added to the comment

[opcae] alertClassPrefix

Type
char
Prefix of alert classes. If you set the config entry twoStateConditionsOnly to "yes", the client and server enable the automatic adaptation of alert classes. The alert classes have to be structured as follows: alertClassPrefix_AE_<Priority> Priority is a number from 1 to 1000.

[opcae] alwaysWriteComment

Type
bool
Default
0
Range
0|1
This config entry defines if the AE client forces the writing of comment, though the timestamp check in the client fails. This is necessary, if timestamps are not reliable and therefore the event manager executes timestamp corrections. 0 => Do not force comments 1 => Force comments

[opcae] browseOnStart

Type
bool
Default
0
Range
0|1
By default the transfer of all current server data (Event Categories, Conditions, Server Items) during client start is deactivated. This prevents that erroneous data from the server are automatically adopted by the client during connection establishment. With this config entry the transfer at start-up can be activated (browseOnStart = 1). The transfer can also be triggered manually at any time using the "Update" button in the client parameterization panel.

[opcae] correctFutureTimes

Type
bool
Default
0
Range
0|1
Defines if future times shall be corrected or not. 0 => Do not correct the time 1 => Do correct the time

[opcae] refreshDelay

Type
int
Default
-1
Range
>=-1
The AE client executes a refresh if the server state changes to RUNNING or TEST. For this refresh a delay in seconds can be specified. The default is -1 which means that there is no automatic refresh on state change.

[opcae] refreshMessage

Type
string
Range
-
The AE client executes a refresh if server indicates that refresh is needed using the event message specified with this config entry. e.g. refreshMessage = "I need refresh" Per default this entry is empty, which means that the client does not execute a refresh depending on simple event messages.

[opcae] server

Type
string
Defines the datapoint for the A&E server. Several this kind of entries can exist for the OPC A&E client of WinCC OA since the client can process alerts/events of several OPC A&E servers.

[opcae] sourceSeparator

Type
char
Default
.
Separator used by the server for the items. The source separator separates the items passed by the server during the browsing into elements. The default is a dot ("."). The client also has to use this separator (for example, PVLEVEL4.Level1). An arbitrary separator can be used.

[opcae] startDelay

Type
int
Default
0
With the entry startDelay the setting of the manager state "running" can be delayed to avoid that subsequent managers, depending on the OPC AE client start, are started too early.

[opcae] timeFormatComment

Type
string
Default
[]{original time: %Y.%m.%d %H:%M:%S.%z}
Range
-
Defines the format of the time when appending to the alert comment. For details of the allowed constants for the format string see: formatTime()

[opcae] useJsonForSimpleEvents

Type
bool
Default
0
Range
0|1
Defines if JSON format shall be used for mapping simple/tracking events to string DPE.

[opcaesrv]

Settings for the WinCC OA OPC A&E server.

[opcaesrv] rootItem

Type
string
Default
DP
Range
"DP" | "DPT"
Defines the highest hierarchy of the item tree. Thereby, "DPT" means that the highest hierarchy is the datapoint type, for "DP" the highest level is the datapoint. This value should be set for a project only once, before the parameterization.

[opcaesrv] server

Type
string
Only one WinCC OA OPC A&E server can exist in a WinCC OA system. This entry must be set in the config file. E.g. "AEServer1"

[opcae_<servername>]

[opcae_<servername>] conditionEventDp

Type
string
Defines a datapoint of type string to which all conditional events are mapped. If the entry is empty (default) no mapping is done. If the entry is defined to a valid string DPE all conditional events of this server are mapped to the DPE in JSON format.

[opcae_<servername>] prefix

Type
string
Default
AE_
Defines the prefix which is used in all automatically generated datapoint elements. If the same items exist in two or more servers, the prefix has to be different for each of the servers.

[opcae_<servername>] simpleEventDp

Type
string
Default
DP prefix+SimpleEventNotifications
Defines a datapoint of type string to which all simple events are mapped on the client. If this entry is not specified, the simple events are mapped to the datapoint prefix+SimpleEventNotifications. Example: [opcae_ABB1] simpleEventDp = "GU_SimpleEvents." The string that is written by the AE client, is composed as follows: EventSource + "|" + EventMessage + " (severity " + EventSeverity + ")" Thereby the italic written values are the values sent by the OPC server in it's message and put together to the string (shown below) by the client. Example: "123.124.23.17_ConERR | No Alive Signal (severity 250)"

[opcae_<servername>] twoStateConditionsOnly

Type
bool
Default
0
Range
0|1
Use this config entry to inform the client that the server only provides boolean alarms. If the server only provides boolean alarms, you cannot create master datapoints using the panels or assign server items to client items. You have to create the configuration manually in the PARA or import it by using the ASCII manager. The OPC A&E client automatically creates a master datapoint with two alert ranges (0=inactive, 1=active) at run time.

[opcae_<servername>] watchdog

Type
string string int
Range
<wdMsg> <wdTargetDp> <wsTimeout>
The monitoring of the OPC AE connection works in the following way: The OPC AE server sends a SimpleEvent of a special format (watchdog event) to the client periodically. The arrival of a watchdog event at the client resets a timer. If the timer expires before a new watchdog event is risen by the server a binary DPE is set (1). This signal can then be used for further processing (redundancy switch, raising an alarm, archiving). Only changes in the state of the watchdog will be sent to the system to minimize traffic Note: As many watchdogs as desired can be introduced for one server by just adding the appropriate number of config entries (see example). The config entry must be specified like this: watchdog = <wdMsg> <wdTargetDp> <wsTimeout> wdMsg = string that identifies the watchdog message within the SimpleEvent. It can either be the entire message or part thereof; no wildcards are allowed. wdTargetDp = DP name of the binary DPE that is set to TRUE in case of absence of the watchdog signal. wdTimeOut = timeout in ms Example watchdog = "WATCHDOG_PLC1" "wdDpPlc1" 10000 watchdog = "WATCHDOG_PLC2" "wdDpPlc2" 20000 watchdog = "WATCHDOG_PLC3" "wdDpPlc3" 30000 Redundancy In order for this mechanism to work in a redundant system, the following steps must be taken: The target DP must exist twice (for "targetDP" there must be "targetDP_2"). The AE client will automatically set the correct DP. To set the data points also on the passive system, there is an entry necessary in the config.redu file. The watchdog DPs must be declared as "forward DPs" (see fwdDp and fwdDpType).

[opchda]

Settings for the OPC HDA client

[opchda] serverStateTimer

Type
uint
Default
30
Range
>0
Defines the interval for reading the server status information in seconds.

[opchdasrv]

Settings for the OPC HDA Server

[opchdasrv] archiveResponseTimeout

Type
uint
Default
5
Range
>0
Timeout in seconds for the request to the archive to be completed. If a request (e.g. dpGetPeriod) is not completed in this time, an error is returned to the OPC HDA client.

[opchdasrv] cnsShowSystemNameForLocalViews

Type
bool
Default
0
Range
0|1
Determines if the local system name is used in the OPC address space. This entry is only valid for server configuration using CNS View.

[opchdasrv] cnsShowViewInPI

Type
bool
Default
1
Range
0|1
Determines if the CNS View name is used in the OPC address space. This entry is only valid for server configuration using CNS View. If this entry is set to 0 and the server uses more than one view of a system, item name conflicts might appear.

[opchdasrv] maxHdaReturnValues

Type
uint
Default
100000
Range
>0
The entry defines how many values the server can return in one read request. This limitation is also indicated in the server status.

[opchdasrv] rootNode

Type
string
Default
WinCC_OA
Allows to specify the root node of the OPC server. If an empty string "" is defined, no root node is defined and displayed in the address space. Note This entry only applies when using CNS.

[opchdasrv] vendorName

Type
string
Default
ETM professional control GmbH
Allows to specify an arbitrary vendor name of the OPC HDA server.

[OPCSERVER]

Settings for the OPC server

[OPCSERVER] DEFAULTTRACEFILE

Type
string
This entry defines the file in which debug messages are to be logged. Example: [OPCSERVER] STOPWITHLASTCLIENT = 0 DEFAULTTRACEFILE = "C:/TEMP/MeinLOG.log" TRACEFILE = 1 TRACELEVEL = 8

[OPCSERVER] IgnoreTimestampChange

Type
bool
Default
1
Range
0|1
In the event of a timestamp change of an item, which is transferred from the OPC server, this change is ignored. Only a change of the quality or value lead to a transfer. This is the default behavior (IgnoreTimestampChange = 1). If this config entry is set to 0, the OPC server sends also items in the event of a timestamp change.

[OPCSERVER] OVERWRITELOGFILE

Type
bool
Default
1
Range
0|1
Allows a long tracing of the OPC server. This means the log file is overwritten and the file is copied before overwriting and is saved with the ending "bak" (behavior as so far). With "OVERWRITELOGFILE = 0" the trace file is changed and is saved with the endings ".0", ".1", ".2" etc. whereas the file with highest ending is the current trace file. Thus, you do not have to copy the log file anymore which can take longer in case of big "maxLogFileSize". Note that if you have problems with old values (if you should receive old values instead of new values from the OPC server) use this config entry.

[OPCSERVER] STOPWITHLASTCLIENT

Type
int
Default
1
Range
0|1
Defines whether the WinCC OA OPC server is stopped automatically after terminating a OPC client. If several clients have a connection to the OPC server, the server is stopped after terminating the last client.

[OPCSERVER] SubscribeOnUse

Type
bool
Default
0
Range
0|1
Specifies if the OPC server subscribes all items immediately and permanent at the Event manager (Value 0) or dynamically if an item is added by an OPC client. The latter mode is useful if the address space is very big and the clients are always interested in a part of the items only. This saves "dpConnect"-registrations at Event Manager.

[OPCSERVER] TRACEFILE

Type
int
Default
0
Range
0|1
Defines whether debug messages are to be written in the file specified by DEFAULTTRACEFILE (1 = yes).

[OPCSERVER] TRACELEVEL

Type
int
Default
0
Range
0..31
Defines which debug messages are to be logged. The tracelevel is the sum of the following values: 1: Saves successful calls in the log file 2: Saves information messages in the log file 4: Saves warnings in the log file 8: Saves errors in the log file 16: Saves other messages in the log file Example: TRACELEVEL = 8 //saves just error messages TRACELEVEL = 12 //saves errors and warnings (4+8) TRACELEVEL = 31 //saves all messages (1+2+4+8+16) Note: If the keywords or values are written wrongly in the config file (e.g. missing " at the beginning of the path with DEFAULTTRACEFILE) an error message takes place in the Log Viewer and the OPC server does not start.

[OPCSERVER] Vendor

Type
string
Default
ETM professional control GmbH
Allows to specify an arbitrary vendor name of the OPC DA server.

[opcsrv]

General settings for the OPC DA server.

[opcsrv] cnsShowSystemNameForLocalViews

Type
bool
Default
0
Range
0|1
Determines if the local system name is used in the OPC address space. This entry is only valid for server configuration using CNS View.

[opcsrv] cnsShowViewInPI

Type
bool
Default
1
Range
0|1
Determines if the CNS View name is used in the OPC address space. This entry is only valid for server configuration using CNS View. If this entry is set to 0 and the server uses more than one view of a system, item name conflicts might appear.

[opcsrv] CompareOldNew

Type
int
Default
0
Range
0|1
Activates an old/new comparison in the WinCC OA OPC server. Data from the periphery, that do not change, are not sent to WinCC OA.

[opcsrv] itemIdType

Type
int
Default
0
Range
0-2
With this entry one can define if data point names or alias shall be uses as OPC item identifiers. The following values are possible. 0 -> use data point names 1 -> use alias and ignore DPE if no alias is defined 2 -> use alis and fall back to data point name if no alias exists

[opcsrv] rootNode

Type
string
Default
WinCC_OA
Range
-
Allows to set the root node of the OPC server.

[opcsrv] server

Type
string
Default
OPCDAPvssServer
Specifies the server name for the internal datapoint (without leading "_").

[opcsrv] showDPTs

Type
bool
Default
0
Range
0|1
Allows to define if data point types are mapped to the address space (value 1) or not (value 0).

[opcua]

Settings for the OPC UA client

[opcua] alarmFallbackAddress

Type
string
Default
ns=0;i=0
This entry allows to specify a fallback address for the reception of alarms. It can be used to receive alarms with unknown condition id. If this address is not equal the null-nodeid (ns=0;i=0), all received alarms, which cannot be mapped to a configured condition id are mapped to the node id defined by the this entry.

[opcua] alertCounterAddValue

Type
uint
Default
0
Range
0..32
This config entry enables an alert counter which is incremented for equal time alerts. The given value specifies on which additional value the counter can be stored. Therefore, the user can use this additional value as sorting option in the Alert and Event panel for alerts with the same time. Default = 0 -> no writing of alert count to additional value. For further information refer to the chapter Alarms and Conditions.

[opcua] applicationUri

Type
string
Default
urn:host:ETMpc:WinCC_OA_Client
Range
Uri
If specific certificates are used for the OPC UA client, it might be necessary to adapt the "Application URI" and the "Product URI" parameters of the client in order to avoid problems in the encrypted mode. You have to adapt the Application URI" and the "Product URI" since some servers check these parameters in the certificate and in the OPC UA CreateSession request. In this case use the config entries "applicationUri" und "productUri": The default values for these entries are: applicationUri = "urn:host:ETMpc:WinCC_OA_Client productUri = "urn:ETMpc:WinCC_OA_Client"

[opcua] autoGQ

Type
uint
Default
0
Range
0-3
Specifies whether the client is executed an automatic general query (GQ). 0 -> no automatic GQ 1 -> automatic GQ during connection establishment 2 -> automatic GQ during redundancy switchover 3 -> automatic GQ during connection establishment and redundancy switchover Note: If the config entry driverNegativeSourceTimeDiff (see chapter Event Manager) is used, and Subscriptions are used with a time stamp from the server or from the source, its not allowed to perform a redundancy switchover during the GQ, otherwise the time stamps are taken from different servers / sources. Thus autoGQ must be 0 or 1.

[opcua] certificateStore

Type
string
Path to the directory, where the public key infrastructure directory is stored. By default the PKI directory for the WinCC OA OPC UA client is located in <WinCC OA version_dir>/data/opcua/client -> certificateStore = "" or config entry is not set in the config file.

[opcua] checkCertificateHost

Type
bool
Default
1
Range
0|1
Specifies if the client verifies if the hostname/IP address in the server URL is matching with the hostname/IP address in the server certificate. If the verification fails no secured communication is possible.

[opcua] connUserBitWriteFeedback

Type
int
Default
0
Range
0..15
The defined user bit must be set for a dpSet on a DPE with I/O address in order to receive a write service feedback from UA client. The value 0 means the write feedback is never written on the DPE.

[opcua] eventFallbackAddress

Type
string
Default
ns=0;i=0
Range
node ID of the fallback address
This entry allows to specify a fallback address for the reception of events. The default of this entry is ns=0;i=0. If the namespace index is 0, no fallback handling is done. If the namespace is not zero, the following fallback handling is executed: If there is no sourceNode available or configured, the driver tries to map the event to an address which consists of the namespace index and the sourceName of the event (e.g. "ns=20;s=myEventSourceName"). If the fallback nodeId identifier is not zero and no matching source node or source name is configured, the event is mapped to eventFallbackAddress (namespace and identifier). Therefore, you can use the sourceName as an alternative to the sourceNode. For instance: [opcua] eventFallbackAddress = "ns=10;s=all_other_events" If you configure the address "ns=10;s=all_other_events", you will receive all events, which cannot be mapped to sourceNode address or "ns=10;s=sourcename" address.

[opcua] historyReadMode

Type
uint
Default
0
Range
0|1
Defines whether the passive client transmits historical requests to the server. 0 (default): passive client transmits request just as the active client 1: passive client does not transmit requests to the server

[opcua] maxItemsInRequest

Type
uint
Default
1000
Defines how many items are allowed in one read or write request. Reducing the number of items might be necessary for server which support only limited size requests.

[opcua] maxPendingMethodCalls

Type
uint
Default
100
Range
1..10000
Defines the maximum number of method calls the client executes in parallel per connection. Are more method calls in the output queue these have to wait until the pending methods are answered by the server.

[opcua] maxRequestQueueSize

Type
uint
Default
10000
Defines the size of the request queue for an OPC UA server connection. If this is overrunning because of, for example, of too fast writing, data loss is the consequent. Thus, this queue size has to be adjusted to the expected load.

[opcua] nullValueToInvalid

Type
int
Default
1
Range
0-2
The OPC UA client maps "null" values in 3 different ways. Following options are available: 0 ... simply discard null value 1 ... set DPE to invalid with current timestamp 2 ... set DPE to invalid without change of timestamp

[opcua] productUri

Type
string
Default
urn:ETMpc:WinCC_OA_Client
Range
Uri
If specific certificates are used for the OPC UA client, it might be necessary to adapt the "Application URI" and the "Product URI" parameters of the client in order to avoid problems in the encrypted mode. You have to adapt the Application URI" and the "Product URI" since some servers check these parameters in the certificate and in the OPC UA CreateSession request. In this case use the config entries "applicationUri" und "productUri": The default values for these entries are: applicationUri = "urn:host:ETMpc:WinCC_OA_Client productUri = "urn:ETMpc:WinCC_OA_Client"

[opcua] server

Type
string
Specifies the name of the internal connection datapoint that is used for the server. This config entry is no longer required because the assignment of datapoint is now dynamically using address config or internal data point.

[opcua] serverStateTimer

Type
uint
Default
5000
Range
>0
Defines the interval in milliseconds for reading the server status.

[opcua] sessionTimeout

Type
uint
Default
1200000
Range
>5000
Specifies the OPC UA session timeout, which shall be requested by the client. The server can overrule the value is it is not suitable for the server.

[opcua] setInvalidForConnLoss

Type
uint
Default
0
Range
0 - 2
Using this config entry, the values sent by the driver can be set invalid when a connection loss occurs. Optional the timestamp can be set to the time of the connection loss. Following options are available: 0 => Invalid bit will not be set 1 => Invalid bit will be set (and the timestamp will be changed) 2 => Invalid bit will be set (without changing the timestamp)

[opcua] timestampDefaultForRead

Type
int
Default
3
This entry specifies which timestamp is used for read requests for items not assigned to a subscription. There are the following possibilities: 0 => use timestamp from source 1 => use timestamp from server 2 => not used (both timestamps) 3 => use reception timestamp

[opcua] timestampWriteMode

Type
int
Default
0
Range
0..3
Defines which timestamp should be set when sending write requests to a server. 0..the driver does not send the source/server timestamp to the server when issuing a write request (default) 1..the driver sends the _stime of the value as source timestamp when issuing a write request, server timestamp is not sent 2..the driver sends the _stime of the value as server timestamp when issuing a write request, source timestamp is not sent 3..the driver sends the _stime of the value as server and source timestamp when issuing a write request

[opcua] uaCallTimeout

Type
int
Default
10000
Defines the time range in milliseconds in which a OPC UA service call must be executed. If the call is not done in this time range, it is terminated with an error Bad_Timeout. A small timeout makes connection error detection faster, but increases the risk that a service is termination if the server needs more time to process the service.

[opcua] uaLocalIds

Type
string
Default
en
This entry defines the list of desired language ids, which shall be used for the OPC UA session, with respect to localized texts. The UA server selects the first language, of the list, which it can provide. If the server cannot provide any of the specified languages the server selects one of the languages it can provide. The language identifier must be entered seperated with ',' (e.g. "en,de-AT,de").

[opcua] userBitHistoryRead

Type
int
Default
0
Range
0..32
The defined user bit is set for values returned by a historical request. The value 0 means that no userbit is set. Additionally the config entry histDataBits in section [opcua] must be set accordingly in case that the values of a historical request shall be written as correction values.

[opcua] userBitWriteFeedback

Type
int
Default
0
Range
0..32
The defined user bit is used to mark valure changes resulting from write feedback. The value 0 means that the feedback value is not marked.

[opcuasrv]

Settings for the OPC UA server

[opcuasrv] certificateStore

Type
string
Path to the directory in which the Public Key Infrastructure directory is located. By default the location of the PKI directory is in <WinCC OA VersionDirectory>/data/opcua/server. This config entry allows the changing the path to the PKI directory.

[opcuasrv] checkApplicationUri

Type
bool
Default
1
Range
0|1
Specifies if the server verifies if the application URI, which is sent by the client during connection establishment, is matching with the application URI in the client certificate. If the verification fails no secured communication is possible.

[opcuasrv] cnsShowSystemNameForLocalViews

Type
bool
Default
0
Range
0|1
Determines if the local system name is used in the OPC address space. This entry is only valid for server configuration using CNS View.

[opcuasrv] cnsShowViewInPI

Type
bool
Default
1
Range
0|1
Determines if the CNS View name is used in the OPC address space. This entry is only valid for server configuration using CNS View. If this entry is set to 0 and the server uses more than one view of a system, item name conflicts might appear.

[opcuasrv] conditionSuffix

Type
string
Default
_@condition
Sets the condition suffix.

[opcuasrv] disableSecurity

Type
bool
Default
0
Range
0|1
Specifies whether the server accepts the security policy "None". 1 = yes; 0 = no.

[opcuasrv] discoveryServer

Type
string
URL of a Discovery Server the OPC UA server should register to. This entry can be set multiple times, if the server should register to more than one Discovery Server.

[opcuasrv] enableAnonymous

Type
bool
Default
0
Range
0|1
Specifies whether the user/password check is disabled. 1 = yes; 0 = no. For detailed information see chapter User Authentication.

[opcuasrv] externalAckPrefix

Type
string uint
Default
-
Range
<alertclass prefix> <driver number>
The config entry enables the OPC UA server to acknowledge external alerts. Therefore the config entry must be set using the alertclass prefix of the external alerts and the driver number which defines the driver that shall acknowledge the alerts. The config entry can be specified multiple times. Example: externalAckPrefix = "BAC" 1 All alerts with an alertclass that begin with "BAC" are acknowledged by the _Driver1 DP.

[opcuasrv] historyNumValuesPerNode

Type
uint
Default
10000
Range
>= 0
Maximum number of values in a readRaw result for a single node. A value of 0 indicates that no limitation is used.

[opcuasrv] maxSessionTimeout

Type
int
Default
60000
Range
>= 0
Sets the maximum session time-out (in milliseconds). A value of 0 sets that the limit will not be considered.

[opcuasrv] maxVcMessageSize

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

[opcuasrv] nodeIdType

Type
bool
Default
0
Range
0|1
Specifies whether the sever uses the datapoint name or the alias as NodeId: 0 -> DP name 1 -> DP alias

[opcuasrv] notifierSuffix

Type
string
Default
_@notifier
Sets the notifier suffix.

[opcuasrv] numberOfClients

Type
uint
Default
0
Range
>=0
Specifies the maximal number of clients which are allowed to connect the server. The value 0 means that theoretically endless many clients can connect the server.

[opcuasrv] opcuaAlarmGroup

Type
string
Default
OPCUAAlarm
Range
<Alarm DP Group Alias>
Defines the data point group that is used for the OPC UA servers alarm data. The group alias must be used. Every OPC UA server can use a separate data point group. Note: If a data point group is generated for the OPC UA server, it is necessary to specify an alias for the generated group!

[opcuasrv] opcuaHAReadGroup

Type
string
Default
OPCUAHARead
Range
<Historical Access DPGroup Alias>
Defines the data point group that is used for the OPC UA servers historical data. The group alias must be used. Every OPC UA server can use a separate data point group. Note If a data point group is generated for the OPC UA server, it is necessary to specify an alias for the generated group.

[opcuasrv] opcuaReadGroup

Type
string
Default
OPCUARead
Range
<Read DP Group Alias>
Defines the data point group that is used for the OPC UA servers read data. The group alias must be used. Every OPC UA server can use a separate data point group. Note: If a data point group is generated for the OPC UA server, it is necessary to specify an alias for the generated group!

[opcuasrv] opcuaWriteGroup

Type
string
Default
OPCUAWrite
Range
<Write DP Group Alias>
Defines the data point group that is used for the OPC UA servers write data. The group alias must be used. Every OPC UA server can use a separate data point group. Note: If a data point group is generated for the OPC UA server, it is necessary to specify an alias for the generated group!

[opcuasrv] pvRangeCheck

Type
bool
Default
0
Range
0|1
By default (0) the OPC UA server will not check values of write requests for range violation. If this is required set the entry to 1, then the OPC UA Server will load all _pv_range configs of the linked DPEs and use the configured values for range checking of client write requests. If the values of the _pv_range configs are changed, the OPC UA Server must be restarted!

[opcuasrv] reduServerDiscoveryUrl

Type
string
This entry is needed if the redundant server shall be added to the list of servers, which can be discovered via the server discovery URL. This allows a client to determine the URL of the redundant server automatically. If this entry is empty the redundant server is not added to this list.

[opcuasrv] reduServerInstanceName

Type
string
Allows to configure the server name of the redundant UA server if the server is operating in Hot redundancy mode. In the default case the redundant server name is automatically determined using project settings if possible.

[opcuasrv] reduServerInstanceUri

Type
string
Allows to configure the server URI, which is inserted in the ServerUriArray of the ServerRedundancy object in the case the UA server is operating in Hot redundancy mode. In the default case the redundant server URI is automatically determined using project settings if possible.

[opcuasrv] sendCertificateChain

Type
bool
Default
1
Range
0|1
Specifies if the server shall send the whole certificate chain to the client. This option allows to deactiate the sending of the chain if a client cannot handle certificate chain properly.

[opcuasrv] server

Type
string
Default
OPCUAPvssServer
Specifies the server name for the internal datapoint (without leading "_").

[opcuasrv] serverBuildDate

Type
string
Default
<AutoGeneratedBuildDate>
Defines the build date in ISO 8601 format, e.g. "2020-03-16T09:41:27.179Z". This information can be found within the OPC UA node "Server.ServerStatus.BuildInfo".

[opcuasrv] serverBuildNumber

Type
string
Default
<AutoGeneratedBuildNumber>
Defines the build version. This information can be found within the OPC UA node "Server.ServerStatus.BuildInfo".

[opcuasrv] serverCertificate

Type
string
Default
PVSS_UA_server.der bzw. ab Version 3.11: WinCC_OA_UA_Server.der
Certificate which the server should use for its identification.

[opcuasrv] serverInstanceName

Type
string
With the aid of this entry you can set an arbitrary Server name if you do not like the automatically generated name.

[opcuasrv] serverInstancePrefix

Type
string
Default
WinCC_OA
Defines the prefix for the Server URI and for the name.

[opcuasrv] serverInstanceURI

Type
string
With the aid of this entry you can set an arbitrary Server URI if you do not like the automatically generated URI.

[opcuasrv] serverManufacturerName

Type
string
Default
ETM professional control GmbH - a Siemens company
Defines the product name. This information can be found within the OPC UA node "Server.ServerStatus.BuildInfo".

[opcuasrv] serverProductName

Type
string
Default
WinCC OA OPC UA Server
Defines the product name. This information can be found within the OPC UA node "Server.ServerStatus.BuildInfo".

[opcuasrv] serverProductUri

Type
string
Default
http://www.etm.at/WinCC_OA
Defines the product URI. This information can be found within the OPC UA node "Server.ServerStatus.BuildInfo".

[opcuasrv] serverSoftwareVersion

Type
string
Default
<WinCC OA version>
Defines the software version. This information can be found within the OPC UA node "Server.ServerStatus.BuildInfo".

[opcuasrv] showDPTs

Type
bool
Default
1
Range
0|1
Allows to define if data point types are mapped to the address space (value 1) or not (value 0).

[opcuasrv] sourceSuffix

Type
string
Default
_@source
Sets the source suffix.

[opcuasrv] tcpServerPort

Type
uint
Default
4840
Range
>=0
Port number of the TCP server. This config entry defines the server port, which can be opened by the OPC UA server.

[opcuasrv] timestampWriteMode

Type
int
Default
0
Range
0..2
Defines which timestamp the OPC UA server should use for received write requests. 0 - the server uses its local time for writing values received from the client (default) 1 - the server uses the "source timestamp" received from the client 2 - the server uses the "server timestamp" received from the client Please note that: If mode 1 or 2 is selected, the server will accept write requests with set source timestamp and/or server timestamp. If mode 1 or 2 is selected and the wanted timestamp is not received, the local time is used (behavior like option 0).

[opcuasrv] uaBadAttributes

Type
string
Default
_out_prange,_out_range,_exp_inv,_aut_inv,_stime_inv
Range
<attribute1>,<attribute2>,...,<attributeX>
Allows to define which attributes can raise a BAD status on the OPC UA server.

[opcuasrv] uaFloatingPointType

Type
bool
Default
0
Range
0|1
The config entry defines the format of ALL "float" DPEs in the address space with the OPC UA data type "Float". Possible values are:: 0 - Double (64bit Double Precision) - Default 1 - Float (32bit Single Precision) Please note that: The OPC UA data type for "float" DPEs can only be defined globally and NOT individually for each single "float" DPE. When converting comma spearated values stored on DPEs as 64bit (double precisoon) format to the OPC UA data type "Float" a loss of precsison might occur. If the stored value of a 64bit floating point number on the "float" DPE exceeds the maximum or minimum value range of the OPC UA data type "Float" (+/- 3.4*1038), the value within the address space is set to "+/- Infinite".

[opcuasrv] uaMaxDataQueueSize

Type
int
Default
100
Range
>= 1
Sets the maximum queue size, which is accepted by the server for monitored items.

[opcuasrv] uaMaxRetransmissionQueueSize

Type
int
Default
20
Range
>= 1
Sets the maximum number of messages in the republish queue the server allows per subscription.

[opcuasrv] uaSecurityMode

Type
int
Range
1|2
Defines the security mode. 1 - the lowest security mode accepted is "Sign" 2 - the lowest security mode accepted is "Sign and Encrypt" Note: If the config entry uaSecurityPolice is set to 0 (= none) this config entry is ignored.

[opcuasrv] uaSecurityPolicy

Type
int
Default
3
Range
0..5
Defines the security policy. 0 - the lowest security policy accepted is "None" 1 - the lowest security policy accepted is "BasicRsa15" 2 - the lowest security policy accepted is "Basic256" 3 - the lowest security policy accepted is "Basic256Sha256" 4 - the lowest security policy accepted is "Aes128Sha256RsaOaep" 5 - the lowest security policy accepted is "Aes256Sha256RsaPss"

[opcuasrv] uaUncertainAttributes

Type
string
Range
<attribute1>,<attribute2>,...,<attributeX>
Allows to define which attributes can raise an UNCERTAIN status on the OPC UA server.

[opcuasrv] useClientUser

Type
bool
Default
0
Range
0|1
Allows to define if value changes and alarm acknowledgements are done unter the user the clients uses for connecting or under the user the server is running.

[opcuasrv] useOnlineValueForConnect

Type
bool
Default
1
Range
0|1
By default (1) the OPC UA server transfers "online" values to the connected client. If it is required to transfer "original" values to the client, set this entry to 0. However in this case default values are not taken into account.

[opc_<symbolic_servername>]

Server-specific settings for the OPC client

[opc_<symbolic_servername>] addItemsSingle

Type
string
Default
no
Range
yes|no
When starting the client the items of groups can be added either single or all together. This entry defines, how to add items to a group: [opc_server1] addItemsSingle = "yes" Adds the items in single mode to the group. With "No" (default) all items are added at once to the group. If all items are added at once, the client start more quickly, otherwise some server have problems. Without an entry in the config-file, are added at once. The debug info -dbg 2 issues the mode in the Log Viewer.

[opc_<symbolic_servername>] browseOnStart

Type
string
Default
yes
Range
yes|no
If this config entry is not set or is set with browseOnStart = "yes" in the config file, the address space of the server is browsed and the items of the server are written to the internal datapoint of the server (_OPC Server -> _ETM.ItemIds) each time the client was stopped and restarted. If the entry is set to browseOnStart = "no", no info is written to the internal datapoint of the server after client start-up. It is simply: 'no browse info available'.

[opc_<symbolic_servername>] enableAddrBrowsing

Type
string
Default
yes
Range
yes|no
This entry allows or forbids the request to the items parameterized in the server. Usually the entry is "yes". If this entry is not set, the default value "yes" is used.

[opc_<symbolic_servername>] enableCALLR

Type
string
Default
no
Range
yes|no
You can use this entry for connections with Festo and WSK (not content of standard WinCC OA). If the server is expanded with the CALL-R interfaces, this must be disclosed to the client through this entry. The items that are added to the groups are then created by the client in the server with ICallrItemConfig::CreateCallrItems. If this entry is not set, the default value "no" is used.

[opc_<symbolic_servername>] gaBitOnStart

Type
string
Default
yes
Range
yes|no
If an item is announced at the OPC server, the server sends a callback message (as spontaneous response). This case is treated like a general query. This is only valid, if at the time of announcing the OPC group concerned is active and callbacks enabled. (see also Panel OPC group). With this config entry you can define whether the GQ bit should be with the first callback.

[opc_<symbolic_servername>] hierarchySeparator

Type
string
Default
.
You can set the entry [opc_server1] hierarchySeparator = "/" in the config file. Default: "."; This entry defines a separator. If this character is contained in the item name, the item is divided into an additional sub level at hierarchical browsing., e.g. for Tag22/test results: Tag22 test Since dots are contained in the item names of some OPC servers, the config entry has to be provided with a sign which is not contained in the item name. This has to be done to present the display of the items correctly.

[opc_<symbolic_servername>] invertPrefix

Type
string
Default
no
Range
yes|no
Inverts the behavior of permanent and nonpermanent groups, if invertPrefix = "yes". Example: [opc_ABB] nonpermanentKey = "PERMANENT" invertPrefix = "yes"

[opc_<symbolic_servername>] ioTimeout

Type
unsigned
Default
2000 [msec]
Range
> 0
The driver calls readData, writeData und refreshData, meaning reading, writing and general request, in a single thread to avoid the blocking of the server. This entry defines the time range in milliseconds during the call has to be executed. If the call is not ready in this time range, it is presumed the OPC server blocks and the tread is stopped. A blocking server can result as an error of the software in the OPC server, or when the request needs more time than supposed. So try first to increase the timeout to check, whether the request needs more time. For example, you can increase it if it is known that the connection to the server is very slow.

[opc_<symbolic_servername>] nonpermanentKey

Type
string
Non-permanent OPC groups are those which whose OPC items are registered on the OPC server only if needed. With these groups it is possible to avoid the limitations of the OPC server related to the number of registered items. Items from non-permanent groups are registered on the server only if a value must be written or if a user interface or CTRL script in the local or distributed system has an upright dpConnect() to the corresponding DPEs. I.e. for example that items are registered only then if the corresponding DPE will be shown in a panel. When closing the panel, the items will be unregistered on the server again. Non-permanent groups should only be used if there is a limitation regarding the number of items on the server, since the registration and unregistration my cause an increased load at runtime. In addition, items that are archived or alert-handled may not be added to non-permanent groups as they are read only under the above described conditions. "nonpermanentKey" is the name prefix for nonpermanent groups. Another config entry ("invertPrefix") can be used to invert this behavior. [opc_ABB] nonpermanentKey = "PERMANENT" invertPrefix = "yes"

[opc_<symbolic_servername>] reconnectOnFailedState

Type
bool
Default
1
Range
0|1
Defines whether the client tries to reconnect if the server state is FAILED. 0:Only the state change is indicated. The server state displayed in the WinCC OA configuration panel changes to 2 (status text = OPC_STATUS_FAILED). 1: The server state displayed in the WinCC OA configuration panel changes to 0 and the client tries to reconnect.

[opc_<symbolic_servername>] sendNoValueForQuality

Type
string
Range
8 digits
The value for this entry has to be an 8-digit string in the following form: "1100????". 1 means: the entry at this point must be 1. 0 means: the entry at this point must be 0. Every other character means that this bit is not considered. Values that are received from an OPC server and contain this here entered quality information are not sent to the Event Manager. In this case only the driver sets the invalid bit, i.e. the old value at the datapoint still the same. You can define several entries of this type for one server.

[opc_<symbolic_servername>] setInvalidForConnLoss

Type
uint
Default
0
Range
0..2
The OPC client is able to set the DPE invalid bit (_auth_inv Attribut) of all intput or input/output addresses if the connection to the OPC server is lost or cannot be established. The invalid bits are reset when the next valid values are received. Caution: The invalid bits are not set if the OPC client is terminated. This feature can be activated individually for each server by setting the config entry setInvalidForConnLoss = 1 in the config file section of the concerned OPC Server (e.g. [opc_ServerX]). Default of the config entry is 0, which means that the invalid bit will not be set.

[opc_<symbolic_servername>] vtEmptyArrayRead

Type
bool
Default
0
Range
1|0
Some OPC server do not accept explicit type selection by the OPC client for array data types. If this entry is set to 1 the OPC client registers array OPC items with the VT_EMPTY type. This means the client does not request a specific type, which is normally derived from DPE type and address config transformation type. Furthermore, the OPC client is able to receive array data where the array index is starting at 1 instead of 0. Caution: The user is responsible to select the address config transformation type properly since no type conversation is done in OPC server.

[opc_<symbolic_servername>] watchdogGroup

Type
string int int
Range
<watchdog group> <mult: >= 1> <validToReset6gt;
Watchdog groups each only contain one item and they expect their item to send a value every n seconds (the interval is calculated from the second parameter of the config entry and from the actual update rate of the OPC group (in milliseconds): mult * ActualUpdateRate Example: [opc_server1] watchdogGroup = "ABB_Watch" 3 10 Note: ABB_Watch is a Watchdog group. Expected change interval n: 3 (mult) * 1000 (ActualUpdateRate) = 3000 ms The actual update rate is displayed in the corresponding OPC Group DP. If for instance a counter is used in the periphery, it must be set to an increment time that is less than 3000 msec. The minimum value for mult is 1 milliseconds. Note: If an item in a watchdog group does not send a value within 3*n milliseconds the group sets its allItems Invalid bit. If the watchdog was triggerd due to not receiving a watchdog signal, the driver will not reset the watchdog upon receiving the first watchdog signal but only after receiving a watchdog signals for at least validToReset seconds without interruption. If (as in our example) this period is ten seconds and the client receives signals for only 8 seconds, it resets an internal counter and starts from the beginning. This feature was introduced to prevent the watch dog from continuously being set and reset (flutter). There are some additional limitations to watchdog groups: If the update rate granted by the server is lesser than the watchdog interval, the group will signal this by setting the AllItems Invalid state. Watchdog groups are always permanent groups. Being identified in the config file as a watchdog group is stronger than being a nonpermanent group. Watchdog groups will only accept one item since they monitor one connection. It is not possible to create a new watchdog group at runtime, the client must be restarted. In case of a redundant system the actual value of the item has no meaning since it can be overwritten by the active system on the passive system. Note: The DPT _OPCGroup contains a datapoint element of type bool, which is set true by the group if the group is a watchdog group. The mechanism described above can also be used for items that do not send values spontaneously. e.g. a script starts a refresh or read operation for the item in this group every n-2 seconds and the group records the received values. Again, if there are not enough values received, AllItems Invalid is set and thus the communication error is detected. (Attention: reading processes must be performed to DEVICE or this mechanism will not work, since there will be values from cache available all the time.) Caution: If more than one watchdog group is used, the entries have to be set alternately.

[PMAgent]

Settings for the PM-Add-On.

[PMAgent] defaultLang

Type
langString
Default
en_US
Range
WinCC OA languages
Unit
language string
Specifies the language for the PM-Add-On. The default language is "en_US". A fallback mechanism selects another language if the set language is not available e.g. de_CH --> de_AT.

[PMAgent] httpsPort

Type
int
Default
3060
Range
3060
Specifies the HTTPS port for the PM-Add-On.

[PMAgent] maxBufferSize

Type
int
Default
3000
Range
100-6000
Specifies the data transfer between the PM-AGENT and the PM-SERVER. Generally the size depends on the system used, meaning how many value changes are there, which settings are used (the smoothing, the buffer size of the query and the query interval). In general the fewer value changes are transferred to PM-SERVER, the less important is the buffer size.

[pmon]

Settings for the Process Monitor (Pmon)

[pmon] aliveSeconds

Type
int
Default
30
Range
> 0
Within the specified time of seconds the manager that is monitored by the PMON has to increase its alive counter (this means the manager has to give "a sign of life") otherwise the pmon detects this manager as "blocked" and starts an external script (crashAction).

[pmon] allowSNMP

Type
string
Default
no
Range
yes, no
Defines whether teh WCCILpmon also opens the SNMP port and therefore reacts to SNMP requests.

[pmon] allowSNMPCommands

Type
string
Default
no
Range
yes/no
Defines whether the MIB entries may be changed via SNMP. See also MIB.

[pmon] delayStartSeconds

Type
int
Default
0
Range
>= 0
Delays the startup of Pmon for the specified time in seconds. In the time the PMON is waiting for the start, no actions can be carried out in the Console.

[pmon] LAProxyPortNr

Type
unsigned int
Default
4701
Range
1024 .. 65535 (see RFC 1340, or /etc/services)
Specifies the port number of the SNMP Live Agent. The Pmon serves as a proxy for the SNMP Live Agent.

[pmon] lmcMaxNumDBLocks

Type
int
Default
600
Range
Number of DB Files
Specifies the maximum number of RAIMA database files. The entry is only required under Linux if problems with database file switches occur. Set the entry in this case to 1500. NOTE Under Linux the lm_ip (Unix Domain Socket lock manager of RaimaDB) can be started with the operating system. The PMON starts the lm_ip with a hardcoded value of maximum 600 DB files. Also Raima tools WCCOAtoolNametoId, WCCOAtoolConvertDb, WCCOAtoolDoCreate, WCCOAtoolSyncTypes and WCCOAtoolBuildIdList will start the lm_ip under Linux. Change the value of the lmcMaxNumDBLocks entry manually. Please note that changing this config entry requires not only a restart of your project and the Raima tools, but also a manually stopped lm_ip process on Linux. The process lm_ip can only be stopped when the project and Raima tools are not running. However, this does not apply to SQLite projects and tools, as they are not affected by lm_ip.

[pmon] restartDelaySeconds

Type
int
Default
0
Range
>= 0
If a manager is re-starting too rapidly, the next start will be delayed by this entered number of seconds. The default value of 0 defines that a manager will no longer be re-started at all. The "crashAction" script is started with the type "DELAYING_RESTART" instead of "NO_RESTART_ANYMORE" when the config entry value is > 0.

[pmon] restartProjVA

Type
string
Default
no
Range
yes/no
Project is restarted (in a redundant system) when a value archive manager crashes.

[pmon] sendManagerStateChange

Type
string
Default
No
Range
Yes|No
If a trap should be sent when the status of a manager is changed, this parameter should be set to "Yes".

[pmon] SNMPPortNr

Type
unsigned int
Default
4700
Range
1024 .. 65535 (see RFC 1340, or /etc/services)
Port number for which the Pmon is enabled for SNMP requests.

[pmon] startupTimeoutSeconds

Type
int
Default
0
Range
>= 0
If the project startup takes longer than the specified number of seconds, a warning message will be written and the "crashAction" script will be executed with the type "STARTUP_TIMEOUT" and the last started manager. The default value of 0 disables the timeout.

[pmon] v1ReadCommunity

Type
string
Default
public
Defines the ReadCommunity for SNMP v1/v2.

[pmon] v1TrapTarget

Type
string
Specifies the IP address/port number to which the traps are sent. e.g. v1TrapTarget = "192.168.150.29/162" This entry can be set any times (an own entry for each TrapTarget). All targets that are specified here receive the traps.

[pmon] v1WriteCommunity

Type
string
Defines the WriteCommunity for SNMP v1/v2.

[pmonWatchdog]

The settings for the pmonWatchdog section start with this keyword.

[pmonWatchdog] monitoredManager

Type
string
Default
<manager name[,manager number]>
Range
manager name[,manager number]
manager name: The manager name needs to be specified by using the file name without the file extension, e.g. WCCOActrl, WCCOAiec61580. NOTE: Also other manager names than manager names starting with WCC can be used. If a manager name or number was specified in the config file and the name/number/ does not exist, a warning is shown in the Log Viewer. manager number: The second parameter is the manager number. If no number is specified, all managers of the same type (manager name)are monitored. Monitoring a specific manager including the manager number is only possible if the manager number is specified as a start parameter. This is the number that was used to start the manager in the console. If there are no monitoredManager entries defined,  the function is deactivated, even if the timeout is > 0. Example: [pmonWatchdog] waitUntilKill = 300 monitoredManager = "WCCOAvalarch" # Monitor all Archive managers monitoredManager = "WCCOActrl,5"  # Only monitor CTRL manager with number 5. See the Online help chapter Monitoring of managers - Pmon Watchdog

[pmonWatchdog] waitUntilKill

Type
int
Default
180
Range
seconds
The timeout in seconds. The default value for the timeout is 180 seconds. If the value -1 is set, the function is deactivated.

[profisafe]

Settings for the PROFIsafe driver.

[profisafe] deviceWatchdog

Type
ulong
Default
1000
Unit
milliseconds
Watchdog time in milliseconds for verifying if the IO device is alive (value 0 deactivates the watchdog).

[profisafe] runSleepTime

Type
ulong
Default
10
Unit
milliseconds
Sleep time in milliseconds for each PROFINET loop.

[profisafe] statisticsRefreshTime

Type
ulong
Default
60
Unit
seconds
Refresh interval (in seconds) for the statistics on the internal data points.

[proxy]

Settings for the WCCILproxy

[proxy] proxyPort

Type
int
Default
5678
Range
> 0
Server port for WCCILproxy.

[proxy] server

Type
string
Default
derived from various settings
Syntax: server = "host:port" e.g. server = "atpcb2rd:4897" #Data-Manager running on atpcb2rd server = "atpcb2rd:4998" #Event-Manager running on atpcb2rd Firewall Feature. Specifies the servers the WCCILproxy is allowed to establish a connection if requested by the client. The WCCILproxy closes the connection to the client, if the server requested by the client is not in this list. This entry can occur multiple times, once for each host/port pair.

[proxy] socketConnectionLimit

Type
int
Default
1024
Range
0-1024
This setting limits the maximum number of socket connections to 1024 as a defensive security measure against high memory usage in the event of potential attacks. The limit for socket connections is only set if the value is greater than 0. If the value is 0 or negative, the maximum value of the operating system (1024) is used for Linux and the hardcoded limit of 8192 for Windows. NOTE: Each manager requires two connections, so the specified limit effectively allows for half as many manager connections.

[redu]

Settings for the Redundancy Manager

[redu] activeChangeInterval

Type
int (seconds)
Default
3
Range
>= 0
Delays a redundancy switch by the specified time. If activeChangeInterval = 0, the redundancy switch takes place immediately, if the own error status is worse than the status of the redu partner

[redu] aliveCheckInterval

Type
int (seconds)
Default
10
If the Alive message is not received within this interval, the connection is declared as dead.

[redu] aliveInterval

Type
int (seconds)
Default
1
Time interval between two sent Alive messages.

[redu] delayChange

Type
int
Default
0
Range
0|1
Defines whether a redundancy switch takes place faster than the following ones, if the own error status is worse than the status of the redu partner, or after activeChangeInterval seconds. activeChangeInterval > 0, firstActiveChangeInterval = 0, and delayChange = 0 means that the switch takes place immediately but the next switch will never be carried out sooner than after activeChangeInterval seconds. activeChangeInterval > 0, firstActiveChangeInterval > 0, and delayChange = 0 means that the switch takes place after firstActiveChangeInterval but the next switch will never be carried out sooner than after activeChangeInterval seconds. activeChangeInterval > 0 and delayChange = 1 means that after a change of the error state the Redu manager determines whether the change is really necessary. If the error state is still worse after activeChangeInterval seconds, the switch takes place. A possible next switch will take place after this interval again. This timer does not work for the "manual" switch (.Command.*) - the commands are executed immediately (and possibly the timer is restarted).

[redu] firstActiveChangeInterval

Type
int (seconds)
Default
0
Range
>=0
Delays the first redundancy switch by the specified time if delayChange = 0. If activeChangeInterval = 0, the redundancy switch takes place immediately, if the own error status is worse than the status of the redu partner. If delayChange = 1 the first redundancy switch will also take place after the time of activeChangeInterval.

[redu] initPeerTimeout

Type
unsigned int (seconds)
Default
60
Defines the time the passive Redu manager waits for the active Redu manager when recovering. If within this timeout it does not establish a connection, it sets its own Event manager to active.

[redu] linkUpDelayTime

Type
int (Sekunden)
Default
0
Range
0 .. maxInt
If the Redu managers of a redundant system establish a connection to each other, this is reported to the Event manager after linkUpDelayTime seconds. However, the error states are exchanged immediately after the connection between the Redu managers is established.

[redu] managerDP, peerManagerDP

Type
string
Range
Datapoint of the type _ReduManager
Names of internal datapoints for our and foreign replicas - different!

[redu] portNr

Type
int
Default
4776
Range
1024 .. 65535 (TCP/IP Ports)
Server port for the Redu manager. This must be the same on both computers. (Obsolete, use the reduPort entry)

[redu] reduPort

Type
uint
Default
4776
Range
1024 .. 65535 (TCP/IP Ports)
Server port for the Redu manager. This must be the same on both computers.

[redu] reportAliveTime

Type
int
Default
0
Range
0|1
Defines whether the timestamps of the Redu manager <-> Redu manager connection are sent to the Event manager.

[reporting]

Settings for the Reporting Manager.

[reporting] httpAuth

Type
bool
Default
1
Range
0|1
Specifies whether authorization is required or not.

[reporting] httpPort

Type
int
Specifies the default port for a http connection. Set the httpPort to 80 when using the BIRT software tool for reporting. The httpsPort cannot be used when using BIRT for the reporting. Hence, set the port to 80.

[reporting] httpsPort

Type
int
Default
443
Specifies the default port for a https connection.

[reporting] IncNofConnections

Type
int
Range
NofConnections (see resp. config entry)
If all the opened DB connections are in use, IncNofConnections are reopened. Maximum of, NofConnections' DB connections are opened. This entry is used for the connection Pooling.

[reporting] maxRequestLineCount

Type
int
Default
100000
Range
0-1000000
Limits the size of the queried data (dpGetPeriod, alertGetPeriod, dpQuery) to a maximum of 100000 return lines. 0 means that the size is limited to 0 (no data). If this limit is exceeded, an error message is shown and no data is returned.

[reporting] MinNofConnections

Type
int
Minimum number of DB connections used. This entry is used for the connection Pooling.

[reporting] NofConnections

Type
int
Default
5
Maximum number of simultaneously opened DB connections. This entry is used for the connection Pooling.

[reporting] NofThreads

Type
int
Default
Number of CPU cores x2
Range
Number of threads
Specifies how many reporting requests should be processed simultaneously. This entry is used for the Connection Pooling. The default number of threads depends on the number of CPU cores of the system being used. You can change the number via this entry. CAUTION: When using BIRT, set this entry to 25 (minimum value) or higher.

[reporting] queryRDBdirect

Type
bool
Range
0|1
Specifies the mode of the database write queries. 0 = queries are performed by messages 1 = queries are transmitted directly to the oracle database In case of rdb projects queryRDBdirect = 1 is used by default.

[reporting] sslCertificate

Type
string
Range
<server-cert><server-key><CAFile>
Allows you to specify an ssl certificate. The following parameters must be set: server-cert: Relative path starting from the project directory server-key: Relative path of the private key (starting from the project directory) CAFile: Relative path of the private key of the server (starting from the project directory) All files must be available in the PEM format.

[reporting] wsdlPath

Type
string
Range
<path>,<path>/<file name>.wsdl
This config entry allows you to 1.) Specify a path for the Reporting Manager. The manager searches for the Reporting.wsdl file in the specified path. 2.) Specify a path + name of the wsdl file, which is used by the reporting manager The wsdl file is downloaded by default via the http server of the Reporting Manager.

[rk512]

Settings for the RK512 driver

[rk512] 3964R

Type
int
Default
1
Range
0|1
This setting is used to switch between the 3964 and 3964R protocols. The 3964R protocol differs from 3964 by having a longer acknowledge delay time and an additional checksum in the messages. Possible values are '0' for 3964 and '1' for 3964R. The default value is '1' for 3964R. Example: Protocol 3964 will be used. 3964R = 0

[rk512] baudrate

Type
int
Default
9600
Range
2400..9600 (19200)
Specifies the baud rate for the serial interface. The default value is 9600. Typical values are 2400, 4800 and 9600. Used in conjunction with an S5, the lower limit for the transmission rate is 2400 baud with an upper limit of 9600 baud. 19200 baud is only supported by the S5 under certain conditions. Example: Sets the baud rate to 9600 baud. baudrate = 9600

[rk512] connRetries

Type
int
Default
6
Range
>= 0
Specifies the number of repeat attempts to establish a connection to the PLC in order to send a message. Possible values are all natural numbers including 0. The default value is 6. Normally this value must not be changed. Example: Sets the number of retries to 8. connRetries = 8

[rk512] device

Type
string string
This config entry specifies the name of the serial interface and the associated settings. The entry is only relevant under Windows. It should not be used in conjunction with "baudrate" or "parity". device = "COM1" "9600,e,8,1" # No handshaking device = "COM1" "9600,e,8,1,p" # Hardware handshaking Settings for 9600 baud, even parity, 8 bits, 1 stop bit; p enables handshaking.

[rk512] deviceName

Type
string
Specifies the name of the serial interface for communication with the PLC. This entry must be present. Communication is in accordance with RS232 via a simple 3-wire cable. Example Assigns the interface with the name /dev/tty00 to the driver. devicename = "/dev/tty00"

[rk512] drvGQ

Type
string
Specifies the datapoint name that initiates a general query. Every time this datapoint is sent, it causes the driver to poll all the datapoints parameterized as inputs, and to pass on the values to the WinCC OA system. A sensible choice of datapoint name is _Driver_num.GQ, where num is the driver number. The datapoint element type is natural number, the value is not evaluated by the driver. If this entry does not appear in the configuration file, then a general query is not possible. Example: Every write to _Driver_1.GQ:_original.._value initiates a general query. drvGQ = "_Driver_1.GQ"

[rk512] drvPollMode

Type
string
Specifies the datapoint name that is used to enable and disable polling mode. A sensible choice of data name is _Driver_num.PM, where num is the driver number. In general polling mode is only disabled for diagnostic purposes. Example: If the datapoint is set to 0, the driver no longer polls any datapoints. drvPollMode = "_Driver_1.PM"

[rk512] drvSQ

Type
string
Specifies the datapoint name that initiates a single query. If this datapoint is sent and if it contains the name of a datapoint that has been configured for single queries, then the single query is performed. A sensible choice for this value is _Driver_num.SQ, where num is the driver number. The datapoint element is of type Name. In order to initiate a single query, the name of the corresponding datapoint must be passed in _Driver_num.SQ:original..value. If this entry does not appear in the configuration file, then a single query cannot be executed. Example: If a datapoint name is passed in _Driver_1.SQ:_original.._value, the driver performs a single query for this datapoint. drvSQ = "_Driver_1.SQ"

[rk512] floatIsIEEE

Type
string
Default
No
Range
Yes|No
This entry defines whether float values are transmitted with the IEEE format or with the RK512 specific format. By default it is the RK512 specific format. Since with most PLCs the IEEE format is used, the entry floatIsIEEE = "Yes" must be registered in the config file. [rk512] floatIsIEEE = "Yes"

[rk512] parity

Type
string
Default
even
Range
even, odd, none
Sets the parity for the serial interface. Possible values are "even", "odd" and "none". The default value is "even". An even parity is set by the PLC. Thus any other setting is only advisable if the RK512 protocol is to be used for communicating with a specific device. Example: Sets the parity to odd. parity = "odd"

[rk512] pollMode

Type
bool
Default
1
Range
0|1
Enables or disables polling. Possible values are 0, polling disabled, or 1, polling enabled. The default value is 1 meaning datapoints are polled. This setting can be changed at runtime by writing to the datapoint specified under drvPollMode. Example: Disables datapoint polling. pollMode = 0

[rk512] priority

Type
string
Default
low
Range
high|low
Specifies the priority of the driver in the event of an initialization conflict. Possible values are "low" and "high". The default value is "low". If the PLC and driver try to send a message at the same time, the priority is used to decide which device is actually allowed to send the message. The priority is set on the PLC in the hardware. The opposite priority must be set for the driver. Example: Sets a high priority. priority = "high"

[rk512] QVZ

Type
float
Default
2.0 [sec]
Range
> 2.0
Specifies the time in seconds within which connection or disconnection must be acknowledged by the PLC. The default value is 2.0 seconds. If the 3964 protocol is used instead of the 3964R, this value should be set to 0.55 seconds. Since this setting only concerns the driver but not the PLC, smaller values should not be used. Example: Sets the acknowledgement delay time to 0.55 seconds. QVZ = 0.55

[rk512] restartFetchOnError

Type
string
Default
No
Range
Yes|No
This config entry (type: string, default: "no") defines whether, in the event of a transmission error in the message direction (data being transferred from PLC to driver), it should start again with a command message (the first message) ("yes") or whether a follow-on message can be repeated. [rk512] restartFetchOnError = "yes"

[rk512] restartSendOnError

Type
string
Default
No
Range
Yes|No
This config entry (type: string, default: "no") defines whether, in the event of a transmission error in the command direction (data being transferred from driver to PLC), it should start again with a command message (the first message) ("yes") or whether a follow-on message can be repeated. [rk512] restartSendOnError = "yes"

[rk512] rk512DpName

Type
string
Default
_RK512_<num>
This config entry specifies the name of the internal datapoint of type _RK512 (Type: string). Normally the name is "_RK512_<num>". In a redundant system, the names of the two drivers must be different and the following entries are required: [rk512] (host1) rk512DpName = "_RK512_<num>" (host2) rk512DpName = "_RK512_2_<num>"

[rk512] sendRetries

Type
int
Default
6
Range
6gt;= 0
Specifies the number of repeat attempts to send a message to the PLC after successfully connecting. Possible values are all natural numbers including 0. The default value is 6. Normally this value must not be changed. Example: Sets the number of retries to 8. sendRetries = 8

[rk512] talas

Type
string
Default
No
Range
Yes|No
This entry defines whether the driver will be docked to a TALAS computer (default = no). In this case always entire data blocks are read out. The first words contain the source time of the data, the data is followed by a status word.

[rk512] TVZ

Type
float
Default
5.0 [sec]
Range
> 5.0
This config entry TVZ (message delay time) specifies the time in seconds (float, default 5 sec, range > 5) within which a message must be received in response to a command message. The value should be at least twice as great as the QVZ (acknowledgement delay time), so that the PLC has sufficient opportunity to detect a timeout and to repeat its response message. Example: [rk512] TVZ = 6.5

[rk512] ZVZ

Type
float
Default
0.220 [sec]
Range
> 0.220
Specifies the time in seconds within which another character in a message must be received. If this character fails to appear, an error code is sent to the PLC. The default value is 0.22 seconds. Since this setting only concerns the driver but not the PLC, smaller values should not be used. Normally the default setting must not be changed. Example: Sets the character delay time to 0.30 seconds ZVZ = 0.30

[s7]

Settings for the S7 driver

[s7] AliveInterval

Type
unsigned
Default
30
Range
0..65535
Interval [s] after which a status check is sent to the PLC(s) via all connections. If the AliveInterval is set to 0, then no regular alive checks are done. But there is at least one alive check whenever a connection is established.

[s7] AutoGQ

Type
string
Default
Y
Range
Y/N
Specifies whether general queries should be executed automatically.

[s7] AutoTimeSyncFactor

Type
unsigned
Default
0
Range
0..x
The value specifies in which alive intervals an automatic time synchronization should be executed. The default value is 0. This means no automatic synchronization. When the alive interval is e.g. 10 seconds and the AutoTimeSyncFactor = 10, a time synchronization is executed every 100 seconds.

[s7] CheckPollReqPending

Type
bool
Default
1
Range
0|1
If the entry is activated, the system checks if an identical poll request is pending before the new is added to the AGLink Queue.

[s7] diagnosticsRefreshTime

Type
unsigned
Default
60 [sec]
Interval [s] for updating diagnostic data. If the value is set to 0 no diagnostic data are read.

[s7] HighPrioBlock

Type
int
Default
-1
Range
>-1
Data block number of high priority addresses. If a write request with an address belonging to this block is queued, it is inserted in front of the first request with normal priority.

[s7] LimitedTSPPAliveCheck

Type
string
Default
N
Range
Y|N
The config entry LimitedTSPPAliveCheck = "Yes" can be used to switch off the alive check for redundant TSPP connections. Therefore, the system only checks if telegrams are received by one connection (and not all connections).

[s7] MaxAGLinkQueueSize

Type
int
Default
1
Range
1..32
Maximum number of request queued to AGLink library. If this value is exceeded the request is put into an internal read or write queue. If the value is 0 no internal queue is used = old behavior before implementation of internal queues.

[s7] MaxGap

Type
unsigned
Default
10
Range
1..50
The maximum difference in bytes between two addresses before the data is grouped to polling requests. If the address range between two addresses that are next to each other is greater than the value in MaxGap, a new group is created. (e.g. parameterization of the addresses 1.100, 1.101, 1.102, 1.103, 1.115, 1.116 would group the addresses into two polling requests. The default value is 10.) This config entry only applies to input addresses.

[s7] maxPollBlockSize

Type
uint
Default
65535
Range
32..65535
The maximum size of poll blocks used for the optimization (in bytes). This entry is used for the "Poll on use" mode to limit the size of single poll blocks. This will prevent the existence of too large blocks which will reduce the efficiency of the "Poll on Use" feature.

[s7] MaxReadRequestSize

Type
int
Default
0
Range
0,1, >50
Due to poll optimization a multibyte data item (e.g. word or double word) may be read in two subsequent low level read requests. However, in some rare cases this might cause a wrong intermediate result. This can be avoided by adjusting the poll optimization to the PLC maximum PDU size. 0...full optimization, default behavior 1...adjustment of poll optimization to PLC maximum PDU size >50...adjustment of poll optimization to an explicit defined size Note This adjustment causes a slightly degradation of data throughput, since the poll optimization is limited which means that there might be more low level read requests necessary to read the same amount of data.

[s7] MaxRequestQueueSize

Type
int
Default
200
Range
0..1000
Maximum size of internal write and read queue (each queue can have this size). If the write or read queue is full the request is discarded and an error message (the error code 56) is written to the _S7_Conn.LastError DPE. Furthermore Read-, Write- and AGLink queue sizes can be supervised using _S7_Conn.State.ReadQueue and _S7_Conn.State.AGLinkQueue DPEs. Note: The new values are written to DPE in the interval defined by "StatCheckInterval" config entry.

[s7] MaxTsppAnswerListSize

Type
int
Default
200
Specifies the maximum size of the TSPP answer list. If the value is exceeded, data is deleted and an error message is shown.

[s7] MaxTsppRequestQueue

Type
unsigned
Default
4
Range
1..64
Number of requests in queue for asynchronuos communication. This is used for test purposes only.

[s7] MaxTsppVcPerLoop

Type
int
Default
1000
Specifies the maximum value changes per driver cycle. If the value is exceeded, the next value changes are processed in the next driver cycle.

[s7] MaxWriteBlockLen

Type
int
Default
0
Range
0..240
Write requests can be sent as a block if the addresses are in consecutive order and there are no "holes". The default value of the entry is 0. This means that the requests are not sent as a block. To be sure that the consecutive addresses are sent as block, the corresponding datapoints must be set via dpSet(). For example the writes of addresses: DB10.DBW0 DB10.DBB3 DB10.DBX4.0 DB10.DBX4.1 DB10.DBX4.2 DB10.DBX4.3 DB10.DBX4.4 DB10.DBX4.5 DB10.DBX4.6 DB10.DBX4.7 are sent as a block, because the addresses are in consecutive order (there is no hole). If e.g. the last bit is missing only the first 2 addresses are sent as block and the bits are sent individually, because the last byte is not full. The maximumWriteBlockLen depends on the used PLC type. If the value is below 240 bytes, you can be sure that the generated request is not split by the used S7 communication library.

[s7] MaxWriteGroupSize

Type
int
Default
16
Range
1..64
Maximum size of single write request, that can be grouped together in one multiple write request, when processing request from the write request queue.

[s7] mpiDevice

Type
{serial interface} {pc address} {Baudrate}
mpiDevice = <serial interface> <pc address> <baud rate> The config entry defines the parameters for one serial interface/adapter. To communicate with a PLC, define the MPI device in the config file as follows: mpiDevice = "COM1" 15 38400 In this case a Siemens adapter is connected to COM1 and 15 should be used as an MPI address for the adapter. The entry of the COM port in the parameterization panel must match the device defined in the config file. Note: The MPI address and the PLC address must not equal! Set the MPI address of the adapter. For example, if the MPI address of the PLC is "5" then it is not allowed to set the address of the adapter also to "5". So the following config entry is for this example not allowed: mpiDevice = "COM1" 5 38400

[s7] onlyActivePolls

Type
string
Default
N
Range
Y/N
onlyActivePolls = "Y" specifies that only the active driver polls in a redundant system. The default value is "N" (both drivers poll the PLC).

[s7] plcCodePage

Type
string
Default
<langgt;.iso88591
If strings in the PLC are encoded with a specific language encoding, this config entry can be used to define the base encoding for the conversion to UTF-8. All valid encoding values for this config entry can be found in the file <Install Directory>/nls/lang.dir. Example [s7] plcCodePage = "el_GR.iso88597"

[s7] ReadOpState

Type
uint
Default
15
Range
>=0
With this entry one can specify if the operation state of the PLC shall be read and also in with interval. The value 0 means no reading of operation state. A periodic reading in the specified interval is only done if the event-triggered operation state delivery mechanism is not supported by the PLC. The event-triggered mechanism is preferred, because it allows a faster operation state change detection. The actual operation state is indicated on the internal datapoint _S7_Conn.OpState and it is also used for switching in a redundant PLC. The different states are: 0 STOP 1 START-UP 2 RUN 3 UNDEFINED For a redundant PLC there are the additional states: 8 RUN SOLO (one PLC is running) 9 RUN REDU (both PLCs are running) 10 HALT 11 CONNECTING 12 UPDATING Note: This config entry is not supported when using symbolic addresses.

[s7] ReadPLCTime

Type
string
Default
N
Range
Y/N
If the config entry ReadPLCTime is set to "Yes" (Default "No") the PLC time is read in the alive check interval and the value is written to the _S7_Conn.Time.Value. DPE. This value can be used if the WinCC OA time should be synchronised to the PLC time.

[s7] reduModeTSPP

Type
bool
Default
0
Range
0|1
Defines which TSPP telegrams are processed, when using redundant PLCs / Connections: 0 => Only telegrams from the active connection are used 1 => Telegrams from all connections are used. 2 => Telegrams from all connections are used, but duplicate telegrams are filtered out.

[s7] refreshPollBlocksOnUse

Type
string
Default
N
Range
Y|N
If this config entry is set to "Y", the driver calculates the poll blocks new as required and takes into account only the currently required input addresses. In case of "Poll on Use" this results in a considerable optimization. For low-performance S7 controllers in addition, the config entry "maxGap" should be set to a low value, e.g. 1, in order to further reduce the communication load.

[s7] setInvalidForConnLoss

Type
uint
Default
1
Range
0 - 2
Using this config entry, the values sent by the driver can be set invalid when a connection loss occurs. Optional the timestamp can be set to the time of the connection loss. Following options are available: 0 => Invalid bit will not be set 1 => Invalid bit will be set (and the timestamp will be changed) 2 => Invalid bit will be set (without changing the timestamp)

[s7] StatCheckInterval

Type
unsigned
Default
20 [sec]
Range
5..100
Interval [s] after which the DPE ".State" of the connection datapoint is updated.

[s7] TimeSyncUTC

Type
string
Default
N
Range
Y/N
With the config entry TimeSyncUTC = "Yes", the driver synchronizes the PLC using the UTC time. If the config entry is not used (or the entry is set to "No"), the driver synchronizes the PLC using the local time.

[s7] UseConnections

Type
int
Default
2
Range
1,2,3
When the first connection to the PLC is established, the driver does not try to establish any further connections. Via the config entry "UseConnections" the driver tries to establish further connections although the first connection is already established. The number of the connections depends on the number of the config entry. The default value is 2.

[s7] useStringLengthInfo

Type
string
Range
Y|N
If this config entry is set to "Y", the driver uses the length information of S7 strings provided by the PLC. In this case you can configure the actual address, because the driver cuts the first two bytes automatically.

[s7plus]

Settings for the S7Plus driver

[s7plus] certPath

Type
string
Default
cert
Relative path of the certificate store under <project>/data/s7plus/.

[s7plus] diagnosticsRefreshTime

Type
uint
Default
60
Refresh interval (in seconds) for diagnostics data on the internal data points, if channel diagnostics is enabled.

[s7plus] maxAlarmQueueSize

Type
uint
Default
1024
Maximum size of the alarm queue.

[s7plus] maxAsyncQueueSize

Type
uint
Default
1024
Maximum size of the asynchronous queue (for commandos, e.g. enabling subscriptions).

[s7plus] maxBrowseQueueSize

Type
uint
Default
10
Maximum size of the TIA file browsing queue.

[s7plus] maxRequestQueueSize

Type
uint
Default
1024
Maximum size of the request queue.

[s7plus] maxResponseQueueSize

Type
uint
Default
1024
Maximum size of the response queue.

[s7plus] maxSpontQueueSize

Type
uint
Default
1024
Maximum size of the unsolicited queue.

[s7plus] onlyActivePolls

Type
bool
Default
1
Range
0|1
Only the active driver in a redundant systems polls data and creates subscriptions.

[s7plus] reloadSymbolicOnDemand

Type
bool
Default
0
Range
0|1
The config entry defines whether the symbolic addresses are constantly kept in the memory (=0) or only (re-)loaded in case they are actively used (=1). This allows to reduce the used memory of your machine by pruning the unused information of potentially large TIA project export files or online PLC programs. This is especially recommended for low-powered devices with restricted amount of memory. Following information must be considered when using the config entry: - Configuration changes in address-configs might lead to automatically reloading the complete symbolic information. - Changes on internal DPEs Redu.SwitchTag and Tspp.BufferAddress will not lead to the same reloading but must be triggered via Config.StationName if required.

[s7plus] statisticsRefreshTime

Type
uint
Default
60
Refresh interval (in seconds) for the statistical data on the internal data points.

[s7plus] tsppVersion

Type
int
Default
1
Range
1,2
This config entry allows to switch between the old and new version of TSPP. Using "tsppVersion = 1" the driver is started with the old version of TSPP. Using "tsppVersion = 2" the driver is started with the new version of TSPP. By default the driver starts with the old version of TSPP.

[sbus]

Settings for the S-Bus driver

[sbus] AliveInterval

Type
uint
Default
30
For the time of the interval, it is checked if the S-Bus device is still reachable and if no connection is established it is tried to establish the connection again.

[sbus] LocalSBusPort

Type
uint
Default
3002
Port which is used for receiving responses from the S-Bus device.

[sbus] MaxGap

Type
uint
Default
1
Maximum gap between elements that are followed by each other and grouped when getting a read request. E.g. R0 and R1 are grouped per default while R0 and R2 are queried separately by default. The element gap is the difference between the x part (or y part when using DB) of the address. Example: If MaxGap = 2 the addresses F0 (lowest bit of byte 0) and F16 (lowest bit of byte 2) are grouped in one telegram. F0 and F24 (lowest bit of byte 3) are split into two telegrams. Note: Bits within one byte are automatically grouped. Text addresses can not be grouped. Caution: For increased transfer rates the MaxGap value can be increased, but no information can be given about when no increase of performance can be gained anymore from incremeting the MaxGap value.

[sbus] MaxNumOfNakTelegrans

Type
uint
Default
150

[sbus] MaxTelegramQueueSize

Type
ulong
Default
500000
Maximum number of elements that can be kept by the driver's internal queue.

[sbus] PlcRecvBufferSize

Type
int
Default
3
Limits the amount of telegrams that are sent to the PLC before a answer is returned. Note When used serial, the SAIA PLC can only store 3 telegrams inside the buffer. The used TCP protocol of the WinCC OA S-Bus driver uses a queue which can store up to a maximum of 32 telegrams.

[sbus] StableRead

Type
uint
Default
0
Range
0|1
Defines the constellation of the array addresses read values 0 - The values can be part of different cycles, i.e. values from different reading attempts (Retransmit with one or more reading requests) are contained in an array. 1 - All values inside the array are part of the same cycle, i.e. the values are answers to one transmitting attempt during one cycle.

[sbus] StableWrite

Type
uint
Default
1
Range
0|1
Defines the driver's writing behavior. 1 - The writing commands are serialized, i.e. only one writing command is sent to the PLC which must be acknowledged before a new writing command can be sent. 0 - writing commands are not serialized. Caution If StableWrite is deactivated (=0) it may occur that a sequence of writing commands sent in the order A-B-C-D will be received in the order A-B-D-C from the PLC due to the retransmit protocol. This can lead to unwanted behavior when receiving operative commands. Note Acknowledging a command refers to the correct receiving of a command on the PLC. Whether a command is correctly performed must be monitored by the application!

[sinaut]

Settings for the SINAUT driver

[sinaut] aliveInterval

Type
uint
Default
30
Range
10-32664
Within this interval (in seconds) at least one telegram must be received. If not, the connection state is set to NOT CONNECTED. If aliveInterval is set to 0, no regular alive checks are executed. This does not concern an alive check after connection establishment - this is always executed.

[sinaut] aliveReconnectInterval

Type
uint
Default
10
Range
10-32664
Interval in seconds the driver tries to re-establish a connection after a connection loss (time in aliveInterval has expired).

[sinaut] aliveRequestBeforeTimeout

Type
uint
Default
10
Range
0-(aliveInterval-1)
Interval in seconds before the aliveInterval entry comes into effect. After expiration of this time the Master TIM is checked for the connection state of its nodes. If a connection is alive, a ST7 message is sent by the Master TIM to the driver and the aliveInterval config does not come into effect. Set this entry to 0 to deactivate it.

[sinaut] doGQafterReduSwitch

Type
bool
Default
0
Range
0|1
If TRUE (1), a complete general query is done in case of a redundant switch. Otherwise only a status update is asked from the Master TIM.

[sinaut] maxAGLinkQueueSize

Type
int
Default
80
Range
MAX_INT
Specifies the maximum number of request queued to AGLink library. If this value is exceeded the request is put into an internal write queue.

[sinaut] maxBReceiveAnswerListSize

Type
int
Default
200
Range
MAX_INT
Specifies the maximum size of the BReceive answer list. If the value is exceeded, data is deleted and an error message is shown in the WinCC OA log viewer.

[sinaut] maxBReceiveRequestQueue

Type
uint
Default
40
Range
1-64
Specifies the number of BReceive requests in the query per Master TIM.

[sinaut] maxBReceiveVcPerLoop

Type
int
Default
1000
Range
MAX_INT
Specifies the maximal value changes per driver cycle. If the value is exceeded, the next value changes are processed in the next driver cycle.

[sinaut] maxRequestQueueSize

Type
int
Default
40
Range
MAX_INT
Specifies the maximum size of the internal write queue. If the write queue is full the request is discarded and an error message (error code 56) is written to the _SinautConn.LastError datapoint element.

[sinaut] onlyActiveIsConnected

Type
bool
Default
1
Range
0|1
If TRUE (1), only the active computer of a redundant system connects to the Master TIM (recommended setting).

[sinaut] sendTimeOnWrite

Type
bool
Default
1
Range
0|1
If TRUE (1), the driver puts its time into the ST7 header of the sent values.

[sinaut] setInvalidOnConnLoss

Type
uint
Default
0
Range
0 - 1
Using this config entry, the values sent by the driver can be set invalid when a connection loss occurs. Following options are available: 0 => Invalid bit will not be set 1 => Invalid bit will be set (and the timestamp will be changed)

[sinaut] timeSyncInterval

Type
uint
Default
300
Range
0-32664
Specifies the time after whose expiration the ORG256 telegram for time synchronisation is sent automatically to all Master TIMs, if timeSyncMode = 2.

[sinaut] timeSyncMode

Type
uint
Default
0
Range
0-2
Specifies the mode for sending the ORG256 telegram (time synchronisation) to all Master TIMs: 0 - manually 1 - on request via ORG 282 2 - automatically every timeSyncInterval-seconds

[sinaut] userbitHasTime

Type
uint
Default
0
Range
0-32
Allows to set the specified userbit, if a value with a timestamp has been received from the device. The default value is 0, which means that no userbit is set.

[sinaut] userbitTimeInvalid

Type
uint
Default
0
Range
0-32
Allows to set the specified userbit, if the received timestamp for a value is invalid. The default value is 0, which means that no userbit is set.

[sinaut] useTimeStampOnRead

Type
bool
Default
1
Range
0|1
If TRUE (1), the driver sets the source time datapoint element to the time was read from the ST7 header.

[snmpa]

Settings for the SNMP Live Agent

[snmpa] enableUserTraps

Type
string
Default
Yes
Range
Yes/No
If this option is activated, own texts can be sent as traps via the Live agent datapoint. As already mentioned the Pmon agent is needed as a proxy.

[snmpa] PmonPortNr

Type
int
Default
4700
Range
1 .. 65535
Specifies the port number of the Pmon. This is necessary since the Pmon serves as a proxy for the Live Agent.

[snmpa] SNMPPortNr

Type
int
Default
4701
Range
1 .. 65535
Specifies the port number of the Live agent.

[snmpa] v1ReadCommunity

Type
string
Default
public
Defines the ReadCommunity for SNMP v1/v2.

[snmpa] v1WriteCommunity

Type
string
Default
admin
Defines the WriteCommunity for SNMP v1/v2.

[snmpdrv]

Settings for the SNMP manager

[snmpdrv] agentAliveTimeout

Type
unsigned int
Default
40 [sec]
The interval for cyclic connection monitoring (connection to the agents) is set via this entry.

[snmpdrv] agentConnectOID

Type
string
Default
1.3.6.1.2.1.1.1.0 (system.sysDescr)
The connection to the SNMP agent is monitored via this entry. This entry is valid for all agents that are queried by a driver. If this timeout elapses (specification in seconds)without receiving a message from the agent, a bit in the agent datapoint is set. When the next message is received the bit is deleted. Each received message resets the timer.

[snmpdrv] agentConnectTimeout

Type
int
Default
60
The connection to the SNMP agent is monitored via this entry. This entry is valid for all agents that are queried by a driver. If this timeout elapses (specification in seconds)without receiving a message from the agent, a bit in the agent datapoint is set. When the next message is received the bit is deleted. Each received message resets the timer.

[snmpdrv] agentDPName

Type
string
Default
SNMPAgent
This entry specifies the middle part of the datapoint name for the SNMP agent DPs. Each name is composed of _driverNumber_agentDPName_agentNumber. The datapoints are of the internal type "_SNMPAgent".

[snmpdrv] agentDPTemplate

Type
string
Default
_SNMPAgent
In order to initialize all datapoint elements a template datapoint is queried when starting a driver. The elements of this datapoint are available for all datapoints. If an element of this template datapoint is missing, the element is not available on any agent datapoints! A template datapoint can, of course, be a normal datapoint (that is used anyway). In this case the value is set to the complete datapoint name e.g. "_1_SNMPAgent_5".

[snmpdrv] allowAgentPort162

Type
bool
Default
0
Range
0|1
For trap-only connections the TCP port 162 is handled in a special way. To switch off this special behavior and use this port for normal SNMP connections set the config entry allowAgentPort162 to 1. Note Setting this config entry to 1 is only allowed if the SNMP driver does not use trap-only connections.

[snmpdrv] arrayQueryErrorHandlingMode

Type
bool
Default
0
Bool flag for defining if the driver should write the result array requests despite single errors. For substituting the error values the config entries starting with "arrayQueryErrorValue*" are used.

[snmpdrv] arrayQueryErrorValueInteger32

Type
int
Default
2147483647
Substitution value for integer32 transformation in case of an erroneous OID.

[snmpdrv] arrayQueryErrorValueIPadress

Type
string
Default
255.255.255.255
Substitution value for IP address transformation in case of an erroneous OID. The value must be defined in dot-decimal notation, consisting of four decimal numbers, each ranging from 0 to 255, separated by dots, e.g., "172.16.254.1".

[snmpdrv] arrayQueryErrorValueMACadress

Type
string
Default
FF:FF:FF:FF:FF:FF
Substitution value for MAC address transformation in case of an erroneous OID. The value must be defined in six groups of two hexadecimal digits, separated by colons, e.g. "74:2B:62:86:A5:CA".

[snmpdrv] arrayQueryErrorValueOctet

Type
string
Default
FFFFFFFF
Substitution value for octet transformation in case of an erroneous OID. Since the SNMP data type OCTET STRING is used to process byte arrays, the error value must be defined in hexadecimal representation as string. If the error value should be displayed as text, for example also the value "3C3C4552524F523E3E00" can be used, which represents the null-terminated text "<<ERROR>>".

[snmpdrv] arrayQueryErrorValueOID

Type
string
Default
1.0.4294967295
Substitution value for objectID transformation in case of an erroneous OID. Due to the Basic Encoding Rules, the first subidentifier must be 0, 1 or 2. The second subidentifier must be between 0 and 39 if the first subidentifier is 0 or 1. Otherwise, the only further restrictions imposed by SNMP are that there is a limit of 128 subidentifiers in an OID value, and that each subidentifier is restricted to the range 0..4294967295.

[snmpdrv] arrayQueryErrorValueUnsigned32

Type
uint
Default
4294967295
Substitution value for unsigned32 transformation in case of an erroneous OID.

[snmpdrv] arrayQueryErrorValueUnsigned64

Type
uint64
Default
18446744073709551615
Substitution value for unsigned64 transformation in case of an erroneous OID.

[snmpdrv] arrayQueryErrorValueVisibleString

Type
string
Default
<<ERROR>>
Substitution value for visible string transformation in case of an erroneous OID.

[snmpdrv] commandUserByte

Type
uint
Default
0
Range
0, 1-4
Defines if and which user byte is set for a corresponding writing result. The selected byte information is written to the first byte of the DPE Status.WriteResponse. 0 => The user byte is not set 1-4 => The corresponding user byte is set with the values of the writing results.

[snmpdrv] ctrlDPName

Type
string
Default
SNMPManager
This string specifies which string is used as a part of the manager Control datapoint. Operating states of the driver are shown via this datapoint. The name of the datapoint also contains the number of the driver. _driverNumber_ctrlDPName

[snmpdrv] delayBetweenAgents

Type
int
Default
0
Range
>=0
Defines the time interval between the queries to the grouped agents in milliseconds. The default value 0 means that the queries within a poll group are sorted and also executed in this ordered. If a value >=0 is set, the changed agents will be grouped and queried after the defined time interval. If an agent is not accessible, it may happen that the other agents can not be queried. If a request to an agent answers with a timeout, all requests of this agent will be deleted (if the option "set to invalid" is enabled, the deleted requests will be set to invalid). This is only done when the config entry "delayBetweenAgents" is set. In the next poll cycle the driver will again attempt to establish a connection to this.

[snmpdrv] doGQOnStart

Type
string
Default
Yes
Range
Yes|No
This parameter specifies that all parameterized SNMP objects are queried when the driver is started. (Default) This option can cause a selective overload of the network since all parameterized objects are queried. If a general query should not be executed set the entry to "No". In order to avoid a too high network load when doGQOnStart = "Yes" is used, it is also possible to execute general queries on single agents via the internal datapoint _Driver<Nr>.GQ:_original.._value. Thus, enter the number of the agent on _Driver<Nr>.GQ:_original.._value.

[snmpdrv] enableTraps

Type
string
Default
Yes
Range
Yes|No
If the SNMP manager should receive traps, this entry should be set to "Yes". If you do not want to receive traps, set the entry to "No". The received traps are shown in the manager datapoint.

[snmpdrv] enableTrapsFromStandbyAgent

Type
bool
Default
0
Range
0|1
Traps are only received from the current agent by default. If traps are received from the standby agent, the traps are discarded. If the traps should not be discarded, set the config entry "enableTrapsFromStandbyAgent = 1".

[snmpdrv] getBulkMaxRepetitions

Type
uint
Default
10
Range
>=0
This config entry is used to configure the max-repetition parameter of a single SNMP GetBulk request. This means the number of OIDs, which are queried in one request.

[snmpdrv] ignoreGQTrapErrors

Type
string
Default
No
Range
Yes|No
If a general query is performed OIDs, which exist only as traps and no as OID objects, and those are spontaneous addresses, this config entry prevents that invalid bit is set to the specific DPE.

[snmpdrv] mapInvalidData

Type
string
Default
Yes
Range
Yes|No
If this config entry is set to 'Yes', the invalid bit is set for DPEs with an input address when the connection to the corresponding SNMP agent is lost or if the read OID does not exist in the agent.

[snmpdrv] maxNumOfVbsInBulkQuery

Type
uint
Default
1000
Range
>=0
Usually a device returns a "endOfMIBView" at the last SNMP address (OID) of a bulk query  which will cancel the query.  If this may not be the case for some reason, the driver will restart at the beginning of the list and is stuck in an infinite loop. In order to avoid this, the query will be canceled when the first already received result is repeated. For additional security measures, a limited number of results can be set with this config entry. When the given number is hit, the query will be canceled.

[snmpdrv] maxTrapsBufferSize

Type
uint
Default
30000
Range
>=0
Defines the buffer size to buffer traps which could not be sent due to an overload (limited with maxTrapsPerSecond).

[snmpdrv] maxTrapsPerSecond

Type
uint
Default
50
Range
>= 0
Defines the maximum number of traps, which are sent per second. If the value was set to <=0 a warning will be written to the log. In case of an overload, the traps are buffered. The buffer size is defined in the config entry maxTrapsBufferSize.

[snmpdrv] numberOfAgentsWithDelay

Type
uint
Default
1
Range
0 - 500
If  "delayBetweenAgents" is set to >=0 several agents can communicate at the same time. This config entry defines the number of the agents.

[snmpdrv] onlyActivePolls

Type
string
Default
No
Range
Yes|No
If onlyActivePolls is set to "Yes", only the active driver polls in a redundant system. "No" means that both drivers poll the agent.

[snmpdrv] reportHomelessTraps

Type
int
Default
0
Range
0..2
Defines if the information for homeless traps shall be written to the internal data point (see Trap.HomelessTrap). 0 => Information will be written to the LogViewer. 1 => Information will be written to the LogViewer and to the internal data point. 2 => Information will be written to the LogViewer and to the internal data point but only if at least one payload OID could not be matched to a peripheral address.

[snmpdrv] setTimeoutOnV3USMerrors

Type
string
Default
no
If setTimeoutOnV3USMerrors = "yes" and a state timeout was set for an SNMPv3 agent, USM error have an impact on the state of the timeout. "yes" - in case of a USM error, the DPE Status.Timeout will be set to TRUE. "no" - the DPE Status.Timeout will never be set to TRUE in case of a USM error.

[snmpdrv] snmpDir

Type
string
Default
/<Projektverzeichnis>/data
For SNMPv3 the SNMP entity needs a boot counter. This is located in the "snmpv3_boot_counter" file. Per default the Pmon writes this file into the /data directory from the project directory. If the user has no write access at this directory, so another directory can be set via this config entry.

[snmpdrv] trapPayloadOctetStringHex

Type
bool
Default
0
Range
0|1
With this entry set to 1, trap payload data of type octet string are written as HEX-string to the internal DPE _SNMPManager.Trap.PayloadValue. This allows also the handling of octet strings containing non-printable characters.

[snmpdrv] trapReceptionPort

Type
int
Default
162
You can set the trap port for the SNMP driver. Port numbers < 1024 cannot be used under Linux.

[snmpdrv] useReduPostfix

Type
bool
Default
0
This config entry resets the behaviour of the SNMP driver in a redundant system to the behaviour before 3.20, meaning that no "_2" datapoints are created. It should be used only if it is really necessary, because in that case the fwdDpType config.redu entries related to the above DPTs must be removed to reach exactly the old behavior.

[snmpdrv] v3agentDPTemplate

Type
string
Default
_SNMPV3Entity
In order to initialize all datapoint elements a template datapoint is queried at the start of the driver. Its leaves are then available for all datapoints. If an element of this template datapoint is missing, it is not available on the registered agent datapoints! As template datapoint also a "normal" datapoint that is used anyway can be used. In this case the value is set to the complete DP name e.g. _1_SNMPV3Entity_5.

[snmpdrv] v3entityDPName

Type
string
Default
SNMPV3Entity

[snmpdrv] writeToStandbyAgent

Type
bool
Default
0
Range
0|1
The WinCC OA SNMP driver sends the write request only to the active agent. If the driver also should write to the standby agent, you can set the config entry "writeToStandbyAgent = 1".

[split]

Settings for the split mode manager

[split] connectDpGroup

Type
string
Default
SplitConnect / SplitConnect_2
Datapoint group with the datapoint that should be matched continuously between the two split systems.

[split] copyDpGroup

Type
string
Default
'SplitGet'|'SplitGet_2'
Datapoint group with the datapoints that should be copied once during the transition to the split mode.

[split] splitPort

Type
unsigned int
Default
4778
Range
1024..65535
Port number at which the split mode manager excpects the connections of the redundant peer.

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

[stdlib]

Settings for the Standard Object Library (Stdlib).

[stdlib] directInputIntoTextFields

Type
bool
Default
0
Range
0|1
Defines whether values can be entered directly in a text field of a faceplate, without the value entry panel being opened. FALSE(0) = no (default), TRUE(1) = yes.

[stdlib] faceplateModal

Type
bool
Default
0
Range
0|1
Defines whether the faceplate is shown modally. FALSE(0) = no (default), TRUE(1) = yes.

[stdlib] infoAreaMax

Type
int
Default
6
Range
>=0
Defines the maximum number of information areas that are allowed (default = 6) Attention: All symbols of the libraries in use must then provide at least this number of information ranges!

[stdlib] useNotes

Type
bool
Default
1
Range
0|1
Defines whether the "notes" tab (see Chapter Faceplates and Tabs ) is shown in the faceplate if the corresponding data point type contains a notes data point element. FALSE(0) = no, TRUE(1) = yes (default).

[TLSGateway]

Settings for the TLS gateway. The TLS standard is only used in the German-speaking part of Europe. Therefore the full documentation is only available in German. Please contact an ETM key account manager for further information.

[TLSGateway] EAKDataPath

Type
string

[TLSGateway] FG1TypeName

Type
string
Default
_TLS_FG1

[TLSGateway] FG254TypeName

Type
string
Default
_TLS_FG254

[TLSGateway] FG3TypeName

Type
string
Default
_TLS_FG3

[TLSGateway] FG4TypeName

Type
string
Default
_TLS_FG4

[TLSGateway] FG6TypeName

Type
string
Default
_TLS_FG6

[TLSGateway] TLSConfigFileName

Type
string
Default
tlsconfig.txt

[TLSGateway] tlsgwCertificate

Type
string

[TLSGateway] tlsgwCipherSuiteList

Type
string
Default
<[all sections] cipherSuiteList>>

[TLSGateway] tlsgwPrivateKey

Type
string

[TLSGateway] tlsgwRootCACertificate

Type
string

[TLSGateway] tlsgwSecurityMode

Type
bool
Default
1
Range
0|1
The entry defines, whether secure communication is used for the TLS-Gateway. If not all required encryption parameters are definied within the config file, the TLS Gateway will stop. To disable the secure communication, this entry must explicitly set to 0.

[TLSGateway] tlsgwVerifyTime

Type
bool
Default
1
Range
0|1

[TLSGateway] TLSLogFileName

Type
string
Default
TLSLogFile.log

[TLSGateway] TLSLoggerFlags

Type
unsigned
Default
10
Range
0..3600 (s)

[TLSGateway] tslgwCRLfile

Type
string

[ui]

Settings for the User Interface

[ui] acknowledgeFunction

Type
string
Range
>functionName<
This config entry can define a function to be performed before every acknowledge. For example, you can implement an authorization, that is, if a user is not authorized, he will not be allowed to acknowledge (regardless of permissions). This function must be implemented in a CTRL library and must be defined as follows: void functionName(dyn_string datapts, int type, int &returnValue); The third parameter defines whether the acknowledge script will be executed (1- acknowledge, 0 do not acknowledge). It is used as a replacement for a return value, thus allowing a dpSetWait().

[ui] activateCursor

Type
string
Default
(PointingHandCursor)
Name of the pixmap file of the cursor which is shown if the mouse cursor is over an object which will activate a command script when clicked. The format of this entry is: " filename[,x,y]" e.g.: "cursor.png" or "cursor.png,2,2" where x,y defines the HotSpot of the cursor. By default it is in the center. The pixmap file must be located in the pictures directory and the format must be "PNG", "XPM" or "GIF". Note the following restriction: Valid cursor sizes depend on the display hardware (or the underlying window system). We recommend using 32x32 cursors, because this size is supported on all platforms. Some platforms also support 16x16, 48x48 and 64x64 cursors.

[ui] activeColorScheme

Type
string
Defines the active color scheme for the started UI manager. At runtime the active color scheme can be changed by using the CTRL function colorSetActiveScheme(). See also setActiveIconTheme().

[ui] activeIconTheme

Type
string
Defines the active icon theme for the started UI manager, e.g. "themes/dark" During runtime this can be changed with the CTRL function setActiveIconTheme(). When a new project is created with the old IconTheme this config entry is added as activeIconTheme = "". When the new Icon Theme is used, this entry is not added. A custom Icon Theme is set with e.g.: activeIconTheme = "ownTheme/...".

[ui] aesExtendedFilter

Type
int
Default
0
Range
0 | 1 | 2 |3
Enables the "Extended Filter" functionality of the alert and event panel. The extended filter allows using own filter options for the alert and event panel - see chapter Properties of the Alert Table - Extended Filter . The config entry can be set to the following values: 0 = disabled (default). 1 = the extended filter is used for the alert panel. 2 = the extended filter is used for the event screen. 3 = the extended filter is used for the event and the alert panel.

[ui] aesShowDistDisconnections

Type
bool
Default
1
Range
0|1
Allows to disable PopUps on disconnecting from distributed system in alarm screen.

[ui] allowULCAnimation

Type
bool
Default
0
Range
0|1
Enables or disables embedded module panel change animations during ULC. Only ULC affected, no effect on native UI and on WebClient.

[ui] animationTimerInterval

Type
int (ms)
Default
16
Animations which are started with the animate() function handle smooth movements due to rendering of the animated object every 16ms. This however leads to high CPU load when a lot of objects are animated in parallel. In this case, this config entry allows to increase the interval for the rendering, which can lead to not so smooth animations, but can reduce the CPU load considerably.

[ui] applicationFont

Type
string
Defines an additional font file (relative to the /data/ directory) which the application will load. Supported formats are TrueType and OpenType fonts. This config entry can be used multiple times.

[ui] arrowFocusThreshold

Type
int
Default
50
When using the keyboard navigation in a panel, this entry defines the percentage the next objects bounding box must overlap the current one to be found.

[ui] arrowsAsTab

Type
bool
Default
0
Range
0|1
If this entry is set to 1 the arrow keys move the focus to the next object (similar to the Tab key) in this direction.

[ui] autoDownscaleThreshold

Type
float
Default
2.0
Range
>= 1
Defines the threshold for the ratio: panel size / viewport size up to which panels are automatically downscaled to be able to view the whole panel inside a module. The value 1 is therefore the value which avoids downscaling completely.

[ui] autoUpdateDir

Type
string
Defines a relative directory name below the project path which will be used to download all files and subdirs (recursively) on startup when communicating via the HTTP server. This entry can be specified multiple times. The following sub directories can be used: /pictures /panels /images /colorDB /xml /nls /bin /data /scripts/libs Note If other sub directories are specified, the HTTP server answers with "not found". Example: autoUpdateDir = "panels/myTest" autoUpdateDir = "panels/myTest2"

[ui] bmpTransparentColor

Type
string
Each bitmap which contains the color of this config entry should be presented as transparent. The entry is a color string. The bitmap which contains a specific color can be presented as transparent as follows: [ui] bmpTransparentColor = "{58,110,165}" Note that the color string has to be exactly the color of a bitmap that you want to present transparent. With the entry bmpTransparentColor = "{58,110,165}" all bitmaps which contain the color {58,110,165} are presented transparently. The exact color of a bitmap can be found via a the grab color of the graphics editor. Note that if you add the config entry to the config file first after adding the bitmaps into the GEDI you have to add the bitmaps again so that the color is presented transparent. NOTE: For true transparency an image format should be used, which supports transparency, like PNG or GIF.

[ui] cacheTimeoutSecs

Type
int (seconds)
Default
300
Range
>= 0
A UI with the start option "-server" uses a local file cache to store the data (panels, libraries, ...). In the UI the information is stored, when a file was last saved in the cache. If you access the file again within the set time period (default cacheTimeoutSecs = 300 seconds), the file will be loaded from the local cache. If a query is executed after the time has expired, a request is sent to the HTTP server with the check whether the file was changed on the server. When using cacheTimeoutSecs = 0, the files are always loaded from the local cache. The cache must be cleared to load newer files from the server.

[ui] canvasBkgnd

Type
string (color)
Default
_3DFace
Sets the background of an embedded module to the specified color e.g. for blue: canvasBkgnd = "[0, 0, 100]"

[ui] checkADAuthIntervall

Type
int (min)
Default
60
Range
>= 60 | 0
Interval specification in minutes, after which WinCC OA checks the group assignment of a user in the Active Directory. Therefore the user must have the authorization to browse the AD for user information. This check is executed in addition to the standard-check while user log-in. This cyclic check can be deactivated by setting this config entry to 0. Thus only the check during the log-in will be performed.

[ui] checkChildPanelPos

Type
int
Default
1
Range
0..3
Defines in which way the position of a childpanel is restricted when it is opened: 0: No restriction 1: restriction to the (virtual) desktop size 2: restriction to the window of the parent rootpanel 3: restriction to the visible area of the parent rootpanel

[ui] checkPopupPos

Type
bool
Default
0
Range
0|1
If this entry is set to 1 a popup menu is only opened within the UI window. Therefore, it will not cross the borders of the window. The right edge of the screen is also considered as border in case that the popup is opened right beside it.

[ui] childSystemMenu

Type
bool
Default
1
Range
0|1
With this entry it is possible to disable the Close button in the window titlebar in childpanels. With true (1 = default), the system setting is still valid - the child panels contain active buttons (minimize, close). The button close sets the datapoint elements _Ui_<ManNum>_PanelOff.ModuleName and _Ui_<ManNum>_PanelOff.PanelName. This entry can only be used for UIs under Windows.

[ui] childTitleBar

Type
bool
Default
1
Range
0|1
The title bar (the windows frame) of a child panel is not shown if the config entry is set to 0. Note that the functionality of the config entry under X11 (Linux) is dependent on the Window manager and so it may happen that it does not work how supposed.

[ui] clipPrimitiveText

Type
bool
Default
1
Range
0|1
If this entry is set to 1, the primitive text will be clipped at the object boundaries. If this entry is set to 0 the option "Fit Size" is activated. The whole text is drawn no matter how long it is. Additionally the filling is expanded to the size of the text. Note that if this is the case (clipPrimitiveText = 0) the value of the property "Fit Size" is set to TRUE for all primitive texts after displaying the panel.

[ui] clockExClientEdge

Type
bool
Default
1
Range
0|1
The entry clockExClientEdge = 0 disables the 3D effect in the "Clock" graphics object.

[ui] compatAxArgumentsByValue

Type
bool
Default
0
Range
0|1
NV compatibility mode. If you set the entry to 1, the arguments in ActiveX Object Eventscripts will always be passed by value to the scripts, even when an argument is defined as reference argument. Note: Only scripts without reference arguments are allowed to call waiting functions (dpGet, delay, ...)

[ui] compatDisabledTextBackground

Type
bool
Default
0
Range
0|1
NV compatibility mode. Not suitable for new panels. If this value is set to 1, the background of disabled primitive text objects will be shown as in the old NV user interface.

[ui] compatDisableManagedByLayoutCheck

Type
bool
Default
0
Range
0|1
When trying to change size/position of a shape, group or reference while a panel has a layout, an error is thrown and the change is disallowed. Setting this entry to 1 allows to disable this check.

[ui] compatIgnoreTextScale

Type
bool
Default
0
Range
0|1
NV compatibility mode. Not suitable for new panels. You can use this config entry to avoid the transforming of primitive text fonts when changing the primitive text size (=1). As of the WinCC OA version 3.6 the size of the font for primitive texts is scaled when you change the size of a primitive text. Limitations: The config entry affects the presentation at runtime. The use of this config entry is not supported in GEDI. When using initialZoomFactor, display errors occur.

[ui] compatLegacyPainting

Type
bool
Default
0
Range
0|1
NV compatibility mode. If you set the entry to 1, for screen output the legacy mode (up to and including version 3.19) is used. This can possibly affect the way fill patterns and line widths are displayed.

[ui] compatPanelIdAsTitle

Type
bool
Default
0
Range
0|1
NV compatibility mode. If you set the entry to 1, the parameter "Panelname" will always be used as panel title for the *PanelOn() functions and will therefore be shown in the title bar. In the standard case, the parameter "Panelname" will only be shown as a title if no title was set for the panel in the GEDI.

[ui] compatPanelUpscaleOnDesktop

Type
bool
Default
1
Range
0|1
The config entry "compatPanelUpscaleOnDesktop" can be used to disable panels automatic upscaling in the modules. The config entry affects only Desktop Ui and has no effect on the Mobile Ui. If set to 0, then the panels upscaling is disabled in the modules.

[ui] confirmCursor

Type
string
Default
(UpArrowCursor)
Name of the pixmap file of the cursor which is shown if the mouse cursor is over an acknowledgeable object in single-acknowledge mode. The format of this entry is: "filename[,x,y]" e.g.: "cursor.png" or "cursor.png,2,2" where x,y defines the HotSpot of the cursor. By default it is in the center. The pixmap file must be located in the pictures directory and the format must be "PNG", "XPM" or "GIF". Note the following restriction: Valid cursor sizes depend on the display hardware (or the underlying window system). We recommend using 32x32 cursors, because this size is supported on all platforms. Some platforms also support 16x16, 48x48 and 64x64 cursors.

[ui] connectedShapesColor

Type
string
Default
{255,0,0}
Range
RGB definition only
When using the CTRL function connectedShapes() all objects which have an active dpConnect() will be set to a specific color. This entry defines the color to be used.

[ui] connectedShapesTimeOut

Type
int (ms)
Default
2000
When using the CTRL function connectedShapes() all objects which have an active dpConnect() will be set to a specific color (see connectedShapesColor). This entry defines for how long this special color will be shown.

[ui] ctrlDLL

Type
string
This config entry loads a CtrlExtension DLL. First, the DLL is searched in <proj_path>/bin. If it does not exist there, it will be searched in the <wincc_oa_path>/bin. This entry can only be set in the [ui] or the [ctrl] section. If a DLL should be used by the UI and CTRL, this must be loaded in both sections. The number of DLLs to be load is not limited. Note: It is recommended to load a CtrlExtention DLL directly from the Ctrl script using the #uses statement.

[ui] defaultColorDbFileName

Type
string
Default
colorDB
File name of the color database file, which is read as first.

[ui] defaultFont

Type
string (font)
This config entry is used to determine if the font settings defined inside of the WinCC OA stylesheet should be used. If the font set inside of the object properties matches the font settings specified inside the config entry the stylesheet settings are applied to the object. If the object property settings differ from the defaultFont then the object property settings are used.

[ui] defaultLayoutBottomMargin

Type
int
Default
from widget style
Range
>= 0
Defines the default bottom margin in a layout independently from the widget style (in pixel).

[ui] defaultLayoutLeftMargin

Type
int
Default
from widget style
Range
>= 0
Defines the default left margin in a layout independently from the widget style (in pixel).

[ui] defaultLayoutRightMargin

Type
int
Default
from widget style
Range
>= 0
Defines the default right margin in a layout independently from the widget style (in pixel).

[ui] defaultLayoutSpacing

Type
int
Default
from widget style
Range
>= 0
Defines the default spacing between elements in a layout independently from the widget style (in pixel).

[ui] defaultLayoutTopMargin

Type
int
Default
from widget style
Range
>= 0
Defines the default top margin in a layout independently from the widget style (in pixel).

[ui] defaultPanelFormat

Type
string
Default
PNL
Range
PNL|XML
Defines the standard panel format when creating new panels.

[ui] defaultResolution

Type
integer
Default
300
Default printer resolution in DPI for printing panels or tables.

[ui] desktopUiKeepAlive

Type
bool
Default
1
Range
0|1
To avoid the HTTP connection between a Desktop UI and the server being closed because of inactivity, the Desktop UI sends an HTTP request to the server, if no other HTTP request was sent for a minute. This entry controls this functionality: if set to 1 (default), these additional requests are sent as described above, if set to 0, no additional requests are sent, and the HTTP connection might be closed.

[ui] downscaleOversizedPanel

Type
bool
Default
0
Range
0|1
When opening an oversized panel (larger than the entire desktop in both directions) in a module which is set to some scale mode (which is the default), this config entry can be used to tell the UI to downscale the panel on one side so that it fits entirely in one direction into the module window and gets a scrollbar on the other side. When set to 1, the behavior of the module is then consistent with all panel sizes.

[ui] editShowSelection

Type
bool
Default
0
Range
0|1
Changes the input field operation. Entry into the field via tab will select the entire field for operator deletion or replacement. Available only on Vision.

[ui] fatalDialogSeconds

Type
int
Default
120 (sec)
Range
>= 0
On fatal errors, which lead to termination of the manager, a dialog is shown with the appropriate error message. This config entry defines how long the dialog is shown before it closes automatically (so this is a countdown timer). A value of 0 disables the dialog completely. On fatal errors no dialog will be shown, and the manager terminates silently.

[ui] focusColor

Type
string (color)
Default
[60,60,60]
Range
RGB definition only
Defines the color of the input focus (if showInputFocus = 1).

[ui] focusLineType

Type
string (lineType)
Default
[solid,oneColor,JointMiter,CapButt,1]
Defines the line type of the input focus (if showInputFocus = 1).

[ui] forcedSourceDPI

Type
int
Default
-1
This entry forces the interpretation of the font sizes in the panels as if they were constructed on a device with the given DPI (dots per inch) setting. The problem which can be solved with this is the following: In the panels the font sizes are stored as points, and not as pixels. 1 point = 1/72 inch, therefore the pixel size = (points / 72) * DPI Thus if the target device has a different dpi setting than the source device, on which the panel was constructed, the fonts get a different size. This is noticeable especially on devices where the dpi setting is very different from the source device, e.g. source = 96 dpi (default on Windows), target = 400 dpi (high dpi screen). With this entry, the UI calculates the font pixel size to how it was on the source device. Prerequisite is, that all panels have been constructed with the same source dpi setting, since this config entry acts on all panels.

[ui] horizontalFontHinting

Type
bool
Default
1
Range
0|1
Specifies whether horizontal hinting is used when drawing text in panels. If set to 1 (default) and the operating system supports it, spacing between single characters is adjusted to improve readability. Using this optimization, it can happen that the width of a text on a panel doesn't change proportionally with its height when zooming or using displays with different scaling. Texts which had the same width on one screen (or zoom factor) can have different widths on a different screen (or zoom factor). If set to 0, this optimization is deactivated, if possible (not all operating systems support this). Now the proportion between text width and height is preserved as well as possible, but the width of existing texts might change.

[ui] httpProxy

Type
string (url)
Allows the definition of an HTTP Proxy Server, which is used when using the WebView EWO. Syntax: http://user:password@proxy.server.com:80 User and password specifications are optional.

[ui] httpServer

Type
string (url)
Allows the definition of an HTTP Server, which is used when using the WebView EWO loadSnippet() function or the global function getConfigActiveHttpServerUrl() Syntax: http://user:password@my.server.com:80 User, password and port specifications are optional. This config entry can only be used once in the config file. This config entry must be used when SSA is activated. When a redundant server is used with SSA, it is sufficient to set this entry to one of the redundant hosts. The hostname in the URL is changed to point to the active server.

[ui] initialZoomFactor

Type
float
Default
1
This factor scales all panels, even childpanels. The limits are according to maxZoomFactor and minZoomFactor. NOTE: With a definition of an "initialZoomFactor" the Vision opens the module in original size (respectively as defined in ModuleOn(..)) and zooms afterwards.

[ui] inputRecorderColor

Type
string (color)
Default
{255,0,0}
Range
RGB definition only
Defines the color of the frame which is shown when the inputRecorder is currently recording input events.

[ui] inputRecorderLineType

Type
string (lineType)
Default
[solid,oneColor,JointMiter,CapButt,4]
Defines the line type of the frame which is shown when the inputRecorder is currently recording input events.

[ui] loginPanel

Type
string
Default
vision/login.pnl
Range
vision/login.pnl vision/loginUserdefined.pnl
Specifies the relative path for the login panel. You can use the WinCC OA standard Login panel "vision/login.pnl" or the user-defined Login panel "loginUserdefined.pnl". For more information on the user-defined login panel, see chapter user-defined login.

[ui] loginPanelLocal

Type
string
Default
login_Standard.pnl
Range
panel
Defines the panel for the local authentication when the login framework (see chapter Login Framework, Basics) should be extended. If the base functionality is not sufficient, both the standard and the server login panels can be replaced via another implementation.

[ui] loginPanelServer

Type
string
Default
login_Server.pnl
Range
panel
Defines the panel for the server-side authentication ( see Server-side Authentication, Basics) when the login framework should be extended. If the base functionality is not sufficient, both the standard and the server login panels can be replaced via another implementation.

[ui] maxZoomFactor

Type
float
Default
4.0
Range
> 0
Upper limit for zooming. As a default a maximum factor 4 is defined (400%). The range is not limited. Note that you do not specify a too high factor (consider which panel you are using).

[ui] middleMousePanning

Type
bool
Default
1
Range
0|1
If the config entry is set to 1, large panels can be moved in Vision by pressing the middle mouse button (panning). If the middle mouse button shall trigger click-scripts then this entry must be set to 0.

[ui] minZoomFactor

Type
float
Default
0.5
Range
> 0
Lower limit for zooming. As a default a minimum factor 0.5 is defined (to minimal 50%). The range is not limited. Note that you do not specify a too low factor (consider which panel you are using).

[ui] modifyGroups

Type
bool
Default
1
Range
0|1
The config entry "modifyGroups" controls if WinCC OA should automatically create and update groups from an external authentication system. For user-defined external authentication, see chapter How to use the User-defined Authentication.

[ui] numPanelBakFiles

Type
integer
Default
1
Specifies the number of backup files when a panel is saved. The entry is important if a version control system is used.

[ui] numRecentPanels

Type
integer
Default
10
Defines the number of panels, which are shown in the recently used panels list in GEDI.

[ui] nvIconBarOn

Type
bool
Default
1
Range
0|1
Hides or shows the icon bar of the module VISION. The command line options -iconBar and -menuBar overwrite the config entries nvIconBarOn/nvMenuBarOn. Thus, when the config entry nvIconBarOn is set to TRUE in the config file but the module is started with the option "-iconBar" (without icon bar), no icon bar is shown for the module.

[ui] nvMenuBarOn

Type
bool
Default
1
Range
0|1
Hides or shows the menu bar of the module VISION. The command line options -iconBar and -menuBar overwrite the config entries nvIconBarOn/nvMenuBarOn. Thus, when the config entry nvIconBarOn is set to TRUE in the config file but the module is started with the option "-iconBar" (without icon bar), no icon bar is shown for the module.

[ui] panelCacheSize

Type
int
Default
-1 (unlimited)
Range
0 .. x
Maximum number of panels in the cache x (x unequal to 0)... cache all panels (except the panels for which the property "Keep in memory" was set to FALSE in the property sheet.) 0 ... do not cache panels (of the whole project). No cache although the property "Keep in memory" would be set to TRUE in the property sheet. If necessary, the panel with the oldest access time is deleted from the memory.

[ui] panelRefCacheOn

Type
bool
Default
0
Range
0|1
If the config entry is set to 0, the references that were added using the function addSymbol() are deleted from the cache. This means that if a reference is added to a panel and this reference is changed at run time, the updated reference is added when addSymbol() is called. If the config entry is set to 1, the reference is not changed at runtime. Note that the user interface used to open the panel and the graphics editor has to be started with the same number.

[ui] panelVersion

Type
integer
Default
-1
Range
1 .. current panel version
Defines the panel format version for the PNL panel format when creating new panels. The newest version is -1.

[ui] panningCursor

Type
string
Default
(SizeAllCursor)
Name of the pixmap file of the cursor which is shown in panning mode. The format of this entry is: " filename[,x,y]" e.g.: "cursor.png" or "cursor.png,2,2" where x,y defines the HotSpot of the cursor. By default it is in the center. The pixmap file must be located in the pictures directory and the format must be "PNG", "XPM" or "GIF". Note the following restriction: Valid cursor sizes depend on the display hardware (or the underlying window system). We recommend using 32x32 cursors, because this size is supported on all platforms. Some platforms also support 16x16, 48x48 and 64x64 cursors.

[ui] pickRange

Type
integer
Default
3
Range
1..1000
Defines the area around an object which is used to detect a click on an object in addition to the true size of the object (in pixel).

[ui] pixmapEditor

Type
string
Default
X11: kolourpaint, Windows: mspaint.exe
Defines the external program which will be used to edit pixmaps.

[ui] projPanelsObjectsFilter

Type
string (project path) string (pattern)
Default
*
Defines a filter pattern, which is used in Project View and in Catalog View to only show those panels in the "objects" directory, which names match this given pattern. This config entry affects all panel files contained in the /objects directory or its subdirectories (recursive). The pattern matching is done according to the CTRL function patternMatch(). The projectpath must match one of the entries in proj_path or wincc_oa_path. Example: projPanelsObjectsFilter = "/home/projects/myProject" "*test*"

[ui] queryRDBdirect

Type
bool
Default
0
Range
0|1
Indicates the mode of database read queries: 0 = Standard CTRL read functions (dpGet...()) via the WinCC OA Event Manager and the WinCC OA Data Manager. 1 = The standard CTRL read functions (dpGet...()) are redirected to directly contact the database server. Note that the two required CTRL extensions must also be loaded in order to be able to use the RDB read functions. Can be used in [ui] and [ctrl] sections. CtrlDLL = "CtrlRDBArchive" CtrlDLL = "CtrlRDBCompr" CAUTION: If you use queryRDBdirect = 1 and query DPEs using the event screen, enter the DPEs or *.* for the query. Otherwise the event screen does not show the DPEs.

[ui] refuseCNS

Type
bool
Default
0
Range
0|1
Specifies if a manager shall hold CNS data of the identification in memory. CNS data is still tranferred with the identification but the manager discards this data.

[ui] restoreFileSelectorGeometry

Type
bool
Default
1
Range
0|1
If this entry is set to 0, the geometry (position and size) of the dialog, which is opened with the fileSelector() CTRL function, will not be restored. This is useful in a multi-monitor configuration, when a panel is opened on different screens, as the file dialog will be opened on the screen of the panel, and will not be moved to the previous position, which might be on a different screen. All other settings will be saved and restored.

[ui] scalePanelsDPIDeadband

Type
float
Default
0.3
Range
>= 0.0
If the difference between the DPI value of the current screen and the one on which a panel was saved lies inbetween the given factor, then the scaling of a panel due to DPI differences will be avoided. E.g. the default value of 0.3 defines a difference of plus or minus 30%.

[ui] scalePanelsPerPhysicalDPI

Type
bool
Default
0
Range
0|1
Setting this entry to 1 automatically scales a panel up or down when the current screen has a different physical DPI value than the one the panel was created on.

[ui] scriptEditorIgnoreLibs

Type
string list
Default
"~*" "*~" ".*" "*.bak"
Defines a list of filter patterns (analogous to scriptEditorParseLibs) which must match to explicitely avoid to parse a script file.

[ui] scriptEditorParseLibs

Type
string list
Default
*
Defines a list of filter patterns, which are checked against the relative paths below scripts/libs/ to define if a matching CTRL library shall be parsed to allow showing its functions etc. in the Script Editor. Example: scriptEditorParseLibs = "*.ctl" "*.myOldLib" This config entry can be given multiple times. All entries will be added to one list. The pattern matching is done according to the CTRL function patternMatch(), whereby all checked pathes are relative to the scripts/libs/ directory (e.g. "aes.ctl" or "classes/test.ctl") and the path delimiter is always the Unix "/" path delimiter.

[ui] sendModuleFocusDp

Type
bool
Default
0
Range
0|1
Set this config entry to 1 to activate the sending of data to the datapoint elements _UI_<num>.ModuleFocus.Name and _UI_<num>.ModuleFocus.Geometry (see also chapter INOA%Ui) and to update them whenever the module, which gets the focus, changes. If this config entry is not set or = 0, the data on these datapoint elements is not updated,

[ui] showActiveShapes

Type
bool
Default
1
Range
0|1
If the config entry is set to 1, the cursor is changed over graphics objects which will activate a script when clicked.

[ui] showInputFocus

Type
bool
Default
0
Range
0|1
If activated (=1), you can navigate to the next activatable object using the tabulator key or other defined keys (See config "arrowsAsTab"). The available shapes are complex and primitive graphics objects which have a clicked event and allow focus. The object which currently has the input focus is displayed with a frame around it. The color and the line type can be defined with the config entries "focusColor" and "focusLineType". Only for VISION module. Caution: When showInputFocus is activated, using the "ENTER" key in a Text field will execute both the "clicked" and the "command" event.

[ui] showMaximizeButton

Type
bool
Default
0
Range
0|1
If this config entry is set to 1 the title bar of the panels opened in Gedi will have a maximized button in addition. By clicking this button the panel is shown maximized in the Gedi so that areas in the panel could be edited that are not visible normally. If a panel is maximized only the area that is available in the current Gedi window is used to display the panel. In the case that a panel would be larger when it is not maximized there will be no scrollbars available to see the entire panel. When saving the size of the panel in the non maximized state is taken. If the config entry is set to 0 the button will not be displayed.

[ui] silentPrintWithBorder

Type
bool
Default
1
Range
0|1
Defines whether panels are printed with or without a border. 0 = panel is printed without a border 1 = panel is printed with a border

[ui] soundClick

Type
string
Range
*.wav
Defines a sound file which will be played on a single click or on activation of an action. The wav file has to be located in the project directory data/sound or data/ (see also enableSound()).

[ui] soundDblClick

Type
string
Range
*.wav
Defines a sound file which will be played on a double click script activation. The wav file has to be located in the project directory data/sound or data/ (see also enableSound()).

[ui] soundRightClick

Type
string
Defines a sound file which will be played on a right click script activation. The wav file has to be located in the project directory data/sound or data/ (see also enableSound()).

[ui] startCloseScriptsOnQuit

Type
bool
Default
1
Range
0|1
If this entry is set to 0, no close script of open panels will be started when the UI manager is about to quit. This prevents that panels can not be closed when e.g. the connection to the event manager is already closed but the panel close script wants to close itself with PanelOff() (dpSet of internal DPEs). If a panel cannot be closed, the UI manager will also not terminate.

[ui] strictAddressing

Type
bool
Default
0
Range
0|1
Defines whether addressing of objects in panels is done in "strict mode" (1) or in the old "legacy mode" (0). Note: After setting this entry old panels, that depend on the legacy mode behavior, may not work anymore.

[ui] subprojectsWritable

Type
bool
Default
1
Range
0|1
The value 1 defines that panels, scripts or message catalogs, which were loaded from a subproject, can again be written back into the original subprojekt. The value 0 defines all subprojects to be non-writable and therefore files can only be written to the final project.

[ui] touchDetectionDistance

Type
int
Default
8
Range
>0
This distance, defined in millimeters, defines how far a finger has to be moved on the screen at minimum within the touchDetectionTimeout, to decide if a multi finger gesture was started.

[ui] touchDetectionTimeout

Type
int
Default
200
Range
>=0
This timeout, defined in milli seconds, defines how long the UI waits for more touch events, after a touch sequence has been started, to decide if a multi finger gesture was started.

[ui] trendEnableCurveRulers

Type
bool
Default
0
Range
0|1
Defines whether a trend object may set curve rulers

[ui] trendEnableToolTips

Type
bool
Default
1
Range
0|1
Defines whether a trend object may show tooltips.

[ui] trendGetDataTimeout

Type
int
Default
500
Range
>=0
Defines a time (in milliseconds) which must elapse after a change in the displayed timerange in a trend, before data will get fetched from the database.

[ui] trendHorizontalScaleText

Type
bool
Default
0
Range
0|1
Defines the direction of the legend text on the value scale, which are positioned left or right of the trend area (default 0 = vertical). Scales with top or bottom arrangement have always a horizontal legend text. This setting has no effect on the time scale.

[ui] trendInvalidColor

Type
string (color)
Default
magenta
Specifies the color for a trend curve when the invalid bit is set for the displayed datapoint. This entry is also set in the standard _invalid rule (see trendStatusPattern).

[ui] trendInvalidFillType

Type
string (fillType)
Default
[hatch,[cross,10,left]]
Specifies the fill type for a trend curve when the invalid bit is set for the displayed datapoint. This entry is also set in the standard _invalid rule (see trendStatusPattern).

[ui] trendInvalidLineType

Type
string (lineType)
Default
[dotted,oneColor,JointMiter,CapButt,0]
Specifies the line type for a trend curve when the invalid bit is set for the displayed datapoint. This entry is also set in the standard _invalid rule (see trendStatusPattern).

[ui] trendLegendStyle

Type
int
Default
1
Range
0|1
Defines the style of the trend legend. 0 = show curve sample and curve name 1 = show no curve sample; show curve name in curve color and curve value

[ui] trendPseudoLineFillLikeCurve

Type
bool
Default
0
By default the pseudo line will be drawn as simple line from the last known value of a datapoint element until the first new value but without any filling, even if the curve itself defines a filling. With the config entry trendPseudoLineFillLikeCurve = 1, the filltype of the curve will be used.

[ui] trendPseudoLineStyleLikeCurve

Type
bool
Default
0
Defines the line type of the trend pseudo line. With the entry trendPseudoLineStyleLikeCurve = 1 the line type of the pseudo line will use the line type of the trend curve. By default the pseudo line will be drawn from the last known value of a datapoint element until the first new value with the "dash-dot-dot" line type with 1 pixel width.

[ui] trendRulerColor

Type
string (color)
Default
{0,0,0}
Specifies the color for the trend ruler. No color names are allowed but only an {R,G,B} value.

[ui] trendRulerLineType

Type
string (lineType)
Default
[solid,oneColor,JointMiter,CapButt,0]
Specifies the line type for the trend ruler.

[ui] trendStatusPattern

Type
string (pattern) string (color) string (lineType) string (fillType) [string (msgCatKey) [string (icon)]]
Default
"_invalid" "magenta" "[dotted,oneColor,JointMiter,CapButt,0]" "[hatch,[cross,10,left]]"
Defines a list of patterns (multiple times definable config entry). During runtime the list will be checked with the current status of a value displayed in the trend. When a matching pattern is found, its properties will be used for displaying the trend curve. In case of not defining an own rule, there is a default pattern, which matches against the _invalid status. The properties of this default rule can be defined with the "trendInvalid(Color/LineType/FillType)" config entries. The properties of a pattern definition (color, lineType, fillType) can be left empty (empty string) - so the settings from the curve itself will be used. The value of 'pattern' defines a rule for the status of a value. All WinCC OA status attributes can be used. The following syntax must be used to define a matching rule: 'attribute[=0|1][,...]' This means you can define an arbitrary number of attributes whereby all definitions in a pattern must match that a rule can be used. Example: _invalid ... The status _invalid must be true. _invalid=1 ... The status _invalid must be true. _invalid=0 ... The status _invalid must be false _invalid=0, _userbit1=1 ... The status _invalid must be false and the status _userbit1 must be true. _userbit1=0, _userbit2=1 ... The status _userbit1 must be false and the status _userbit2 must be true. By default the trend function draws invalid values of a curve dotted and purple. This type of displaying can be deactivated by setting the following config entry: trendStatusPattern = "_invalid=1,_invalid=0" "" "" "" The entry 'msgCatKey' defines a key for the message catalog "quality.cat" which can be created in the project. This message catalog holds a short text for each defined key, which will be displayed in the trend ruler value window if the status of a value on a curve for the currently selected timestamp matches this 'pattern'. The entry 'icon' defines a relative pathname to an icon file below the pictures directory, which will be displayed as marker on the trend curve when this pattern matches. Note: It has to be considered that a lineType must be stated otherwise the config entry cannot be correctly applied.

[ui] useElemNameForReadRequest

Type
int
Default
1
Range
0|1
When a DP Identification is missing for a DB query, the query does not stop but instead uses the ElementName for continuation, if useElemNameForReadRequest is set to 1. A value of 0 indicates that if the DP identification is missing the query is aborted.

[ui] useExtendedAlarmHandling

Type
bool
Default
0
Range
0|1
Provides the extended parameterization of continuous alert handling. See chapter Extended alert handling of continuous values.

[ui] useISOTimeformat

Type
bool
Default
1
Range
0|1
The config entry useISOTimeformat can be used for different panels of the user interface, such as the AlertScreen. It specifies whether the ISO time format (useISOTimeformat= 1) should be used when creating dpQueries. This config entry is introduced to maintain backward compatibility with older systems in distributed environments.

[ui] useLocalIdentification

Type
bool
Default
0
Range
0|1
Specifies whether a manager should read the identification (TypeContainer and DpIdentification) from a local file or gets it from the Data Manager. When finishing, the Id is saved in the proj_path/data/DpMsgTypeContainer.bin and proj_path/data/DpMsgIdentification.bin files. If the files do not exist in spite of this entry, the manager starts normal and gets the identification from the Data Manager. The entry can be set in all sections of the config file

[ui] userDefinedCatalog

Type
string
Default
catalog path
Allows to the define custom symbol catalogs. For the entry the path of the catalog folder must be stated (relative to the /panel directory). All panels within the stated folder are added to a custom catalog inside the GEDI. Please note that objects inside sub folders are not added to the catalog. For these folders separate entries must be created.

[ui] usesTouchScreen

Type
bool
Default
0
Range
0|1
If this entry is set to 1, the UI is set to Touch Screen input mode, which means that in general mouse clicks will be ignored and the UI only reacts to touch input events. (Mouse-events and touch-events are separate events but the processing of both sometimes contradict each other with regards to the way of operation. Therefore this config entry switches between either touch or mouse input only)

[ui] useStylesheets

Type
bool
Default
1
Range
0|1
Defines if stylesheet files are loaded for the UI.

[ui] versionControl

Type
string
Range
>VCS name<
This config entry is used to check if a VCS (version control system) shall be activated. There can be a script for each VCS and the name must be exactly the name defined as value of the config entry. The WinCC OA package contains the scripts for the implementation of CVS, SVN and Git. E.g.: "CVS.ctl" --> config entry: versionControl = "CVS"

[ui] versionControlDiff

Type
string
Range
>path</>Diff tool name<
This config entry is used to, in conjunction with a VCS, define a program to compare two files. E.g.: Using the "TortoiseUDiff" tool --> versionControlDiff = ">TortoiseSVN Pfad</bin/TortoiseUDiff.exe"

[ui] visionResizeMode

Type
string
Default
Scale
Range
Zoom, Scale, None, FitSmallPanel, FitToModule
"Scale" - You can resize the module freely. The panel scales and a scrollbar will be shown at the shorter module side. "Zoom" - You can resize the module freely. The panel size will not be changed. You can change the size of the panel only by using the zoom functions (CONTROL function ZoomModule(), the toolbar options such as Zoom in and out of the module VISION or the zoom navigator). "None" - The module will be adapted to the panel size and cannot be resized. "FitSmallPanel" - The size of the module will not be adapted. The panel is opened in the original size. Scrollbars are used. The panel size will not be changed when the module size is changed manually. "FitToModule" - You can resize the module freely. The panel scales but in a way that scrollbars will never appear. The whole panel will always be completely visible.

[ui] visionScreenMode

Type
string
Default
all
Range
noTitleBar, noMenu, all
Spezifies whether a panel in VISION is displayed with or without title bar (full-screen mode). One of three options can be set: "noTitleBar" ... title bar is not shown (full-screen mode) "noMenu" ... title bar is shown but without Minimize, Maximize and Close buttons. "all" ... title bar is shown with all its standard buttons

[ui] vtMixComprAndCurrentValues

Type
bool
Default
1
Range
0|1
Specifies whether the curves of a variable trend show compressed values only or they are mixed with current values. 1 = Default. The curve shows mixed values. After the last compressed value (these are only shown in minute cycles, hour cycles, etc.) the current value is drawn. 0 = The curve shows compressed values only. Nothing is drawn between the cycles (not even the actual value).

[ui] wmfWinPainter

Type
bool
Default
1
Range
0|1
For Windows only. If the value is set to 0, the rendering of WMF pictures will use the WinCC OA own implementation, otherwise the Windows native functions will be used. The advantage of the Windows native functions is the 100% correct rendering of all WMF and EMF images. The advantage of the WinCC OA own implementation is the fast speed and lesser memory consumption. Although not all WMF rendering operations are fully supported or might not be rendered correctly. Also, the EMF rendering is only implemented partially. Note: SVG as an official standardized vector format shall be used instead of the Microsoft proprietary formats WMF/EMF/EMF+

[ui] xpmTransparentColor

Type
string
Default
_3DFace
Range
color string
Each bitmap which contains the color of this config entry should be displayed as transparent. The entry is a color string. NOTE: For true transparency an image format should be used, which supports transparency, like PNG or GIF

[ulcUX]

Settings for the ULC UX client.

[ulcUX] autoReconnectOnShutdown

Type
int
Default
0
Range
0|1
In the event of a planned project or HTTP-Server shutdown, this is considered a normal scenario. The HTTP-Server will terminate gracefully, notifying ULC UX client of the shutdown. Consequently, ULC UX client will display a “disconnected” message and will not automatically reconnect to another HTTP-Server. Due to security reasons, the browser session will be terminated in such cases. To override this behavior, set this configuration entry to 1. In the case of a normal scenario (e.g. planned HTTP-Server shutdown) the ULC UX client will also perform a reconnect to another HTTP-server, instead of terminating the session. In the case of an unexpected HTTP-Server crash or network disconnection, ULC UX clients will always automatically reconnect to the next available HTTP-Server as per the default behavior. Therefore, the config entry has no impact on it.

[ulcUX] dashboardUiArguments

Type
string
Default
-p vision/login.pnl -centered -iconBar -menuBar
Defines the start parameters for an ULC UX client, that are used instead of [httpServer]uiParameters when the ULC UX client is started as a Dashboard Widget.

[ulcUX] reconnectCount

Type
int
Default
2
Range
>= -1
Defines the number of (re)connection attempts of a ULC UX client. Specify -1 for not restricting the number of (re)connection attempts.

[valarch]

Settings for the Value Archive

[valarch] deleteNotArchivedFileSets

Type
bool
Default
1
Range
0|1
Specifies whether archive sets that have not already been backed up can be deleted. 0 = archive sets will not be deleted if they have not been backed up. 1 = archive sets will also be deleted when they have not been backed up.

[valarch] dispatchTimeout

Type
int
Default
20
Range
Milliseconds
Use the config entry to specify the dispatch timeout in milliseconds. The shorter the dispatchTimeout, the more CPU resources are required. This also increases the write performance, meaning that more messages can be handled. The bigger the dispatchTimeout, the less resources are required. Meaningfully use the entry for single or DuoCore computers. Use short intervals only for multi-core processors. For single core computers the timeout can be changed to, for example, 500 milliseconds.

[valarch] exclusiveReadThreadsForDM

Type
int
Default
1
Range
0..3
Defines how many threads handle the requests from the Data Manager favored. The sum of the parameters exclusiveReadThreadsForDM and readThreadsPreferringOleDb may not be higher than 3. If the total number of read threads is higher than 3, an error message is displayed but however it is started.

[valarch] maxMemMappings

Type
short
Default
30
Range
15 .. 99 (wird nicht abgeprüft)
With this entry you can restrict the memory requirements. The smaller the value the smaller is the data performance. The default is 15 MB. For big projects and with sufficient virtual and real memory you can use a value up to 50 MB (possibly higher). Note that a value archive requires memory also for other purposes than MemMappings (above all buffer). Furthermore, the MemMappings are not "strictly" bound to this setting and in a problem case, several mappings can be opened. Therefore, the use of memory might be higher although you have limited it to a specific size.

[valarch] maxNumberOfFilesToBackup

Type
unsigned
Default
5
Range
3..25
Number of archive set files that will be backed up in one backup session. Is used to avoid that the system is loaded too much when backup has been deactivated for a longer time or is re-configured.

[valarch] maxNumberOfFilesToCompress

Type
short
Default
5
Range
3 .. 25
maxNumberOfFilesToCompress defines the maximum possible number of files per archive allowed to be compressed in one procedure. Useful especially during the first use of the compression for existing projects due to the undetermined number of archive records available in this project.

[valarch] maxNumberOfFilesToDelete

Type
short
Default
5
Range
3 .. 25
Specifies how many archive sets should be deleted simultaneously. Use of the entry avoids too high a CPU load.

[valarch] maxNumberOfOpenFileSets

Type
uint
Default
100
Range
10..500
Maximum number of archive sets that are open at the same time. If this limit is exceeded, the open archive set with the lowest set number will be closed (this entry only has performance reasons, if needed, the set will be opened again).

[valarch] maxNumberOfOpenFileSetsTolerance

Type
uint
Default
10
Range
0 .. 500
The system tries to reduce the number of open archive sets only when more files than the maxNumberOfOpenFileSets + maxNumberOfOpenFileSetsTolerance are open. When the maxNumberOfOpenFileSets = 100 and maxNumberOfOpenFileSetsTolerance = 10, the system tries to reduce the number to maxNumberOfOpenFileSets (100) when the number of open archive sets is 110.

[valarch] maxNumberOfReadThreads

Type
int
Default
3
Range
1..99
Number of threads that the Value Archive will start to perform simultaneous read operations. Up to maxNumberOfReadThreads read requests can be answered parallel.

[valarch] maxReadQueueSize

Type
uint
Default
128
The entry allows to define the maximum size of the read queue. The size is stated in MB. When facing following error message within the log it is required to increase the queue size: WCCOAvalarch (<num>), <TIMESTAMP>, SYS, SEVERE, 0, , ManagerIF, Can't insert request to queue

[valarch] maxWaitForWrites

Type
int
Default
0
Range
0
When performing read operations for current values meaning reading values from WinCC OA History database, the time taken could be quite long as concurrent read operations were synchronized with the write operation. This means that the read operation was delayed until all current values were written. To deactivate the synchronization, set the config entry maxWaitForWrites in the valarch section to 0.

[valarch] mergeTimeList

Type
bool
Default
0
Range
0|1
When the config entry mergeTimeList = 1 (default 0 = behavior as hitherto), all archive periods of a DPE are merged (when using history DB). This means that the DPE is available in the archive from the first archiving until the end of last archiving (or until 2.038 if it is archived at the moment).

[valarch] queryMaxValues

Type
ulong
Default
100000
Range
>=0
Maximum number of return values for a single query. Entry 0 means no restriction.

[valarch] queryTimeout

Type
unsigned
Default
0
Range
>=0
Maximum response time for a single query. Entry 0 means no restriction. The time is specified in seconds.

[valarch] readThreadsPreferringOleDb

Type
int
Default
1
Range
0..3
Defines how many read threads handle the requests from OLE DB favored (when both DM and OLE DB request at the same time). The sum of the parameters exclusiveReadThreadsForDM and readThreadsPreferringOleDb may not be higher than 3. If the total number of read threads is higher than 3, an error message is displayed but however it is started.

[valarch] refuseCNS

Type
bool
Default
1
Range
0|1
Specifies if a manager shall hold CNS data of the identification in memory. CNS data is still tranferred with the identification but the manager discards this data.

[valarch] timeoutForBackup

Type
int
Default
0
Range
>=0
Maximum timeout for a swap out (backup) in seconds. The swap out will be broken off after this time. 0 = no timeout.

[valarch] useHeaderSize

Type
string
Range
Windows|Linux
useHeaderSize = "Windows"|"Linux" is provided for specifying how the Value Archive should read and write the file sets. Thus, a better compatibility is achieved. If you want to read under Windows archive sets that were created under Linux, set the config entry to "Linux" on the Windows computer. Note that the archives themselves are not changed only the way to read from or write to the archives. Note also that "mixed" archives cannot be used. All archives must correspond to the specified operating system format.

[ValueArchiveRDB]

Settings for the RDB Archiving

[ValueArchiveRDB] alertUpdateDelay

Type
Int
Default
300
Range
0-600. Should not be higher than 300.
If alarms where the pre-alarm is included in an already exported archive set occur, the database tries to reach the old alarm for five minutes. Thereby, alarms are possibly held back and the alarms are not written to the database. To prevent this and to reduce this time e.g. to 30 seconds use [ValueArchiveRDB] "alertUpdateDelay = 30".

[ValueArchiveRDB] APMDbDb

Type
string
APM database instance.

[ValueArchiveRDB] APMDbType

Type
string
Range
ORACLE, Access, SQL
APM database type. Currently only "ORACLE" is implemented.

[ValueArchiveRDB] APMDbUser

Type
string
Default
0
Range
0|1
Specifies the APM database user. There are own APM query functions, which can be used to query another RDB database. The functions use the DPE name instead of the element ID for the query. For the APM query functions see chapter Direct read functions.

[ValueArchiveRDB] bufferToDisk

Type
int
Default
1
Range
0-2
Specifies the storage mode, with which the data blocks are buffered, before they will be written into the database. bufferToDisk = 0 Without BufferToDisk: in case of a disconnect to the RDB, the data blocks are buffered in RAM and accordingly they are written into the database. Note that data get lost in a case of out of memory. bufferToDisk = 1 BufferToDiskMin (Default) bufferToDisk = 2 BufferToDiskMax

[ValueArchiveRDB] bufferToDiskDir

Type
string
Default
<project_path>\db\buffer
Absolute path to the directory, in which the data blocks are buffered onto the HDD using bufferToDisk = 1|2. If the default directory is used the directory buffer will be created automatically. If you use an individual storage place, you have to enter the absolute path, e.g. "D:\BufferToDisk\Files".

[ValueArchiveRDB] Db

Type
string
Name of the database. This can be detected via the "tnsping" command from the client computer - as indicated in the preceding configuration under Connect Identifier, e.g. "ORAWERK1".

[ValueArchiveRDB] DbPass

Type
string
Database password.

[ValueArchiveRDB] DbType

Type
string
Default
ORACLE
Range
ORACLE, Access, SQL
Type of the database (currently only "ORACLE" is implemented).

[ValueArchiveRDB] DbUser

Type
string
Name of the database user.

[ValueArchiveRDB] delayAfterDBRestart

Type
int
Default
30 sec.
Time delay of the RDB initializing process in seconds after database start. If the database was stopped and is restarting again, it may happen that although the connection between RDB and the database has been established, the database start-up process has not been complemented yet. With this config entry RDB awaits the defined time before initialization of the connections and thus begins to write data into the database. By default this config entry is set to 30 seconds. In case of a database connection loss or if a connection will be opened/closed via the "closeDBConnection" and "openDBConnection" internal datapoint elements, this delay is taken into account. In case of a RDB manager start this delay is not used.

[ValueArchiveRDB] ignoreStatusBits

Type
int
Range
Bits 0-63
For the entry "ignoreStatusBits" bit numbers can be specified that are ignored for the status. You can specify several bit numbers. These bits are filtered out when values are written to the database. This means that the status of the bits is always set to 0. The numerical value has less digits in Oracle and less space is required in the database. The bits 0-63 can be specified. EXAMPLE: [ValueArchiveRDB] ignoreStatusBits = "20, 21, 30" In this case the bits 20, 21 and 30 are set to 0 when writing. This only applies to values, NOT to alerts.

[ValueArchiveRDB] initialEntriesInBlock

Type
int
Default
50
Specifies the number of entries in the first block in the buffer after a reconnect of the RDB manager to the Oracle DB. All further blocks in the buffer possess the defined size from the data buffer in the RDB manager panel.

[ValueArchiveRDB] lostConnectionReportInterval

Type
float
Default
15 sec
Range
>= 0
Specifies the time in seconds after which the user will be informed when the RDB manager loses the connection to the database and tries to reestablish it.

[ValueArchiveRDB] maxRequestLineCount

Type
int
Default
0
Range
0-maxInt
Limits the size of queried data (dpGetPeriod, alertGetPeriod, dpQuery) to max. "x" return lines (0 = no limit). If this limit is exceeded an error (and no data) will be returned.

[ValueArchiveRDB] maxRequestThreads

Type
int
Default
4
Range
0..4
Number of threads (and also connections to the database) the RDB manager uses to(parallel) read (query) operations in the database. When using queryRDBdirect = 1, the read connection for the direct DB access is not affected by this setting (maxRequestThreads can be set to 0 in this case).

[ValueArchiveRDB] openConnOnDemand

Type
bool
Default
0
Range
0|1
RDB manager only opens a single write connection to the database, all other connections (update, deletion, info) will be opened (and closed afterwards) when necessary. Performance is worse in comparison to leaving all connections open all the time (openConnOnDemand = 0). Number of read connections is not affected by this setting (use maxRequestThreads instead). When using queryRDBdirect = 1 the read connection for the direct DB access is not affected by this setting. This entry is required for large, distributed systems when several RDB managers write into the same database. Otherwise Oracle requires too much memory since too many connections are open simultaneously.

[ValueArchiveRDB] oracleClientVersion

Type
int
Default
11
Range
>= 11.202
Specifies the Oracle client version.

[ValueArchiveRDB] queryFunction

Type
bool
Default
0
Range
0|1
With the config entry queryFunction = 1 a database function is used for dpGetPeriod() instead of a query. Therefore, the limitations such as the number of tables and the length of the SQL statement cease to exist. With queryFunction = 0, a query is used as so far. The entry can be used in ValueArchiveRDB and UI sections. Note: Please note that this entry is not intended for use in regular projects, but can only be used for specific, proprietary database schemas. Use in different projects means that correct functioning can no longer be guaranteed.

[ValueArchiveRDB] queryFunctionGetPeriod

Type
boolean
Default
0
Range
0|1
If this keyword is set to 1, only dpGetPeriod() and alertGetPeriod() will use the query function in the Oracle Schema (see the config entry "queryFunction"). This can e.g. improve the performance of the trend. The function dpQuery() will not use the query function.

[ValueArchiveRDB] queryOverBounds

Type
int
Default
1
Range
0|1
Specifies whether the function dpGetPeriod() should query outside the specified period (the parameter "Count" of the function dpGetPeriod ) or not. If the parameter "count" of the function is bigger than 0, also values outside (this means before and after) the queried period are queried. This may sometimes take longer. queryOverBounds = 1 means that values are queried outside the specified period. This works with queryRDBdirect = 1 only then, when one datapoint element is queried at the same time. queryOverBounds = 0 queries only values within the period. Thus, the query is faster.

[ValueArchiveRDB] queryOverId

Type
bool
Default
1
Range
0|1
Indicates the mode of database read queries: 0 = datapoint name or DPE name; although this option impacts on performance, it does allow you to access the data in the Oracle database from a different WinCC OA project. 1 = IDs (faster)

[ValueArchiveRDB] queryTimeout

Type
int
Default
0
Range
0 - 32767
Aborts database queries after queryTimeout seconds. If you set the value to 0, the queries are not cancelled.

[ValueArchiveRDB] redirectArcGroup

Type
string
Range
<AR_FROM> :<AR_TO>
The Config entry allows to specify, if an archive group is mapped to an other archive group to prevent the creation of a new archive group and therefor improving the overall performance. Example redirectArcGroup = VA10 :QPS The archive group VA10 is redirected to the archive group QPS redirectArcGroup = VA* :EVENT The archive groups with a name beginning with "VA" are redirected to the EVENT archive group.

[ValueArchiveRDB] sendMaxTS

Type
bool
Default
1
Range
0|1
sendMaxTS = 1 The RDB manager gets the highest time stamp from the database and synchronizes the data with the Data manager. Thus, the Data manager sends all value changes that are newer than the time stamp from the database, to the RDB manager. sendMaxTS = 0 The RDB manager does not get the time stamp from the database and does not synchronize the data. This improves the performance but the last value change until the RDB start is not saved in the Oracle database. sendMaxTS = 2 The latest time stamp per system is saved in the SYSTEMS table and updated with every block insert. When the RDB manager is started, the time stamp is read from the SYSTEMS table. This is a quick read operation that allows you to query the last time stamp of your system.

[ValueArchiveRDB] SQLPreFetchCount

Type
int
Default
1000
Range
>=0
Sets the number of rows to be buffered by the Oracle Client libraries after a successful query call and for each subsequent internal fetch request to the database. For queries returning a large number of rows, performance can be significantly improved by increasing the prefetch count.

[ValueArchiveRDB] updateConnCloseDelay

Type
float
Default
180 (3 minutes)
Range
0-32767
An additional DB connection is established for updates. Is only used if openConnOnDemand = 1 (see above). This update connection is closed again updateConnCloseDelay seconds after its last use.

[ValueArchiveRDB] writeTimeout

Type
int
Default
15 sec
Range
0-32767
When executing an INSERT or UPDATE statement in the database, the RDB manager waits writeTimeout seconds for the completion of the command. A reconnect to the database will be done when this timeout expires.

[ValueArchiveRDB] writeWithBulk

Type
bool
Default
1
Range
0|1
1 = Write data to RDB archives using OCI Oracle Call Interface (OCCI). The OCI bulk writing is activated by default. This improves the performance. 0 = Do not use OCI.

[webClient]

Settings for the WinCC OA mobile UI application and the Desktop UI.

[webClient] advancedSecurity

Type
int
Default
0
Range
0-2
The web server hardening restricts the functionality of the webclient_http.ctl. Possible values for this config entry are: 0: (default) No web server hardening, access rights remain unchanged. 1: No access to certificates. This means that the certificates must be distributed manually when connecting to the project by using the Mobile UI or the Desktop UI. 2: no access to certificates, scripts or panel files. Also the HTTP endpoints used e.g. by the Dashboard or PM-Agent are not available. This setting can be used for ULC UX and remote UIs only, while Desktop UI, Mobile UI and Dashboard are not supported.

[webClient] clientProjExt

Type
uint
Default
0
Range
0-2
Defines the name of the cache directory for the Desktop/Mobile UI: 0 - projectName (default) 1 - projectName_ServerName 2 - projectName_reduServerName1_reduServerName2

[webClient] clientSideAuth

Type
bool
Default
1
Range
0|1
The entry "clientSideAuth" = 1 enables authentication on the client-side. The entry "clientSideAuth" = 0 enables the server-side authentication. See Serverside Authentication, Basics

[webClient] httpAuth

Type
Bool
Default
0
Range
0|1
Specifies whether authentication is used for the http server or not. Note: If setUserId() is called and httpAuth is activated (1) the ULC UX logs out.

[webClient] httpPort

Type
uint
Default
80(Windows, Linux - root users), 8080(Linux - non root users)
Range
0-65535
Defines the http port that is used for the unsecured http communication between server and client. Per default the http port 80 is used. No config entry must be set to use the default port. Under Linux the ports below 1024 are unavailable to non root users, in which case the default port is changed to 8080. Using port 0 will deactivate the http communication.

[webClient] httpsPort

Type
uint
Default
443(Windows, Linux - root users), 8079(Linux - non root users)
Range
0-65535
Defines the https port that is used for the secured https communication between server and client. Under Linux the ports below 1024 are unavailable to non root users, in which case the default port is changed to 8079. Using port 0 will deactivate the https communication.

[webClient] lowestAutoManNumMobileUI

Type
unsigned
Default
200
Range
1-255
The entry "lowestAutoManNumMobileUI" defines the lowest manager number for the mobile UI clients.

[webClient] mobileRootPanel

Type
string
Range
<relative path>/<panelname>.pnl
Defines the start-up panel for the mobile application. If the config entry is not set, the login.pnl is displayed.

[webClient] rootPanel

Type
string
Range
<relative path>/<panelname>.pnl
Defines the start-up panel for the UI. If the config entry is not set, the login.pnl is displayed.

[wssServer]

Settings for specialized WebSocket servers (as used for e.g. Dashboard or Node-RED).

[wssServer] canEditPermissionBit

Type
int
Default
3
Range
1..32
Defines the permission bit which is required by an Dashboard user to edit dashboards.

[wssServer] canPublishPermissionBit

Type
int
Default
4
Range
1..32
Defines the permission bit which is required by an Dashboard user to publish dashboards.

[wssServer] canWritePermissionBit

Type
int
Default
0
Range
0..32
Defines the permission bit which is required by an Dashboard user to get write access to datapoints. If this is set to 0, write access is blocked for all Dashboard users. This is also the default setting.

[wssServer] dashboardSharedLicenses

Type
uint
Default
0
Range
>=0
Defines the number of Dashboard Desktop licenses that can be used for mobile clients when no more Dashboard Mobile licenses are available.

[wssServer] diskCheckDp

Type
string
Default
"_ArchivDisk"
Defines the name of the datapoint that is used to check available disk space for files uploaded using the WebSocket server. Has to be of datapoint type _DiskSpaceCheck. See also DP_DiskCheck in section [data].

[wssServer] diskCheckLimit

Type
int
Defines the space in kB on the server disk that has to be avaiable to upload files using the WebSocket server. If this value is not configured, the warning limit configured for the datapoint defined in diskCheckDp is used.

[wssServer] heartbeatSeconds

Type
int
Default
5
Specifies the interval (in seconds) in which heartbeat messages are sent from the WSS server to all connected clients. This allows to dedect interrupted connections faster also if no regular messages are sent. If set to 0, no heartbeat messages will be sent.

[wssServer] httpsPort

Type
int
Default
8449
Defines the port that is used by the WebSocket server to listen for incoming WSS connections. This port must be different from the port defined in section [httpServer].

[wssServer] jwtWssPort

Type
uint
Default
8449
Range
>0
The token issued by the HTTP server which is used by the client to authenticate with the WSS server contains the port number where the server listens for new connections. The default is the port number configured for and used by the WSS server. This entry allows to define a different port number that is put into the token instead. This is necessary e.g. when the WSS server is behind a gateway or proxy and therefore must be contacted using a different port number.

[wssServer] resourceName

Type
string
Default
/websocket
Defines the path (part of URL) to the WebSocket server for incoming connections.

[wssServer] tokenAutoRefresh

Type
bool
Default
0
Range
0|1
If "tokenExpireWarning" is set to a value different from 0, a connection will be closed after a warning when a token expires and the client does not send a refreshed token. A simple automatic refresh can be activated with this entry: wif the client sends a still valid token to the server when it receives the warning, the token will be refreshed automatically. NB: in a typical configuration, more elaborate checks will be implemented before a token is refreshed.

[wssServer] tokenExpire

Type
uint
Default
600
Range
5..28800
Defines the time range in seconds in which a token issued by the HTTP server is valid for authentification at a WebSocket server. Default value is 10 minutes, possible range is from 5 seconds to 8 hours.

[wssServer] tokenExpireWarning

Type
uint
Default
0
Range
0, 5..600
The WebSocket server can close a connection automatically when the validity of the authentification token expires. Before this happens, the WebSocket server sends a warning to the client to allow it to updated the token. This setting defines how many seconds (approximately) before closing the connection this warnuing is sent. If set to 0 (default), the connection is not closed automatically and therefore no warning is sent. In this case, the validity of the token is only verified when the connection is established.

[wssServer] useSharedWorker

Type
bool
Default
0
Range
0|1
Specifies whether frontends connecting to this server should use a SharedWorker (1) or WebWorker (0).

[wssServer] wssServerAddress

Type
string
This entry defines external addresses where one (or more than one) WSS server(s) can be reached /e.g. behind a proxy). This entry can be used more than once. The first address will will be included in the authentification token and should correspond to the WSS server that is running on the local system. All addresses will be used by clients to find alternative WSS servers in case of a connection interruption. If no such entry exists, the list of available WSS servers will be kept up-to-date dynamically using the local WSS server addresses.