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

Type
bool
Default
0
Range
0|1

For IEC 101 and 104.

Defines whether time synchronization between the driver and the PLC should be automatically triggered upon establishing the TCP connection.

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

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

Type
string
Default
N
Range
Y/N

For IEC 101 only.

This entry configures if the driver shall use hourly clock telegrams (C_CS_NA_1) from RTU to fill missing date and hour values of CP24Time2a timestamps to build an absolute value timestamp for received values.

If this entry is activated, it is required that the RTU sends a clock telegram at the beginning of every hour.

Since IEC 104 is not using CP24Time2a timestamps this entry is useful for IEC 101 only.

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