Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Plant SCADA

MODNET Driver Parameters

  • Last UpdatedJul 08, 2025
  • 9 minute read

warning2

UNINTENDED EQUIPMENT OPERATION

  • Do not under any circumstances change or remove any of the undocumented citect.ini parameters.

  • Before deleting sections of the citect.ini file, confirm that no undocumented parameters will be deleted.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

Note: Always seek the advice of Technical Support personnel for this product regarding undocumented features.

[MODNET]
Parameter name

Description

Allowable values

Default value

Broadcast

Enables or disables broadcast through a gateway.

The 'broadcast' mechanism is designed to allow an I/O Device configured with address '0' to come online and be used to send write requests to the Modbus network through a gateway. Some devices will interpret this address as a 'broadcast' address and accept the write request. Consequently, there will be no acknowledgment of the message.

The ini parameter is configured as: [MODNET.<port_name>.
<iodevice_name>]Broadcast

1 – Write request will be issued.

0 – Broadcast disabled.

0

BroadcastDelay

Time delay before replying to broadcast write requests in milliseconds.

1-65535

50

ConnTimeout

Timeout period for channel initialization in milliseconds.

1 - 65535
(milliseconds)

15000

Debug

Allows extra debug information to be displayed in the kernel window and logged into the syslog.dat file.

Note: This parameter is only applicable if DebugStr parameter is configured.

1 - turn on the extra debug information option

0 - turn off the extra debug information option

0 (zero)

DebugStr

Enables logging of debug information to be displayed in the kernel window and logged into the syslog.dat file.

This ini paramter is configured as:

[MODNET] DebugStr = <port name> ALL

<port name> ALL – Enables logging for a specific port.

* ALL –
Enables logging for all the ports configured.

Disabled

Delay

The period (in milliseconds) to wait between receiving a response and sending the next command.

0 to 300 (milliseconds)

0 (zero)

FailOnBadData

Controls error reporting when BCD or LONG values received from the device are outside the valid range for that type.

1 – Reports error

0 – No error reported

1

FloatMode

Specifies the order of bytes in REAL variable types.

Note: This parameter is not applicable if you are using the MODNET Protocol Variants MODNET20 or MODNET30 to communicate with a device. Under these circumstances, a value of 0 (zero) will be hardcoded for this parameter.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

0: Order of bytes =
1 0 3 2

1: Order of bytes =
3 2 1 0

2: Order of bytes =
0 1 2 3

3: Order of bytes =
2 3 0 1

0 (zero)

ForceMultiCoilsOnly

Forces the use of only function code 15 (multiple coils) for coil writes.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

0 - function code 5 and 15

1 - function code 15 only

0 (zero)

InitVar

(With the InitVarType parameter configured.)

Address of the register to read at startup to confirm connections.

If the InitVarType parameter is configured, InitVar must have the register address and InitVarType must provide the register type. InitVar will be able to support the values 0-65535.

Example:

[Modnet]
InitVar = 39000
InitVarType = 4

With this configuration during start-up and re-connection the driver will attempt to read Input Register 39000

See Device/Group-specific Parameters.

0 – 65535

40001

InitVar

(Without the InitVarType parameter configured.)

Address of the register to read at startup to confirm connections.

If the InitVarType parameter is not configured, InitVar must have the complete address including the register type.

InitVar should be configured as format FR.

F : Register type (range: 1-4, 1-Digital read output, 2-Digital read input, 3-Integer read output, 4-Integer read input)

R : Register address (range : 0-65535)

Example :

[Modnet]
InitVar = 12345

By default, InitVarType will be assigned value 0.

With this configuration during start-up and re-connection the driver will attempt to read Input Coil 2345.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

(1-4)
(0-65535)

040001

InitVarType

The type of register the MODNET driver tries to read on startup to allow communication to start. It is configured with the parameter InitVar.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

0 to 4, or 20
(for extended registers access)

1 - Digital read output

2 - Digital read input

3 - Integer read output

4 - Integer read input

20 – Extended register

0 - the value defined for the parameter InitVar will be considered a complete address, having register type.

0

LongDataType

In the MODNET protocol, LONG data types default to a simplified implementation, with a shortened range of 0 to 99,999,999 for mode 0.

Mode 2 has the same range as mode 0, but with the register order swapped.

Mode 1 supports the complete LONG range of -2,147,483,648 to +2,147,483,647.

Mode 3 has the same range as mode 1, but with the register order swapped.

When using the MODBUS protocol, Plant SCADA combines two registers to store a long data type in a PLC. The way in which it does this is defined by this parameter.

Note: This parameter is not applicable if you are using the MODNET Protocol Variants MODNET20 or MODNET30 to communicate with a device. Under these circumstances, a value of 3 will be hardcoded for this parameter.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

0 - implies 10,000 * low register + high register

1 - implies 65,536 * low register + high register

2 - implies 10,000 * high register + low register

3 - implies 65,536 * high register + low register

3

MaxBits

Sets the maximum number of bits in a block for dynamic blocking. This is normally the same as the MODNET protdir.dbf "max_bits" setting.

Note: For MODNET Protocol Variants MODNET20, this parameter is not applicable. The default value 2000 is used for blocking, ignoring any configured value.
For protocol variant MODNET30, this parameter is applicable. The default value is 1024 in this case.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

8 to 2000

2000

MaxBitsExt

This parameter sets the maximum bits blocked for extended registers.

Note: This parameter is not applicable if you are using the MODNET Protocol Variants MODNET20 or MODNET30 to communicate with a device. If MODNET20 is being used, a value of 1920 will be hardcoded for this parameter. If MODNET30 is being used, a value of 1024 will be hardcoded.

8 to 32767

1920

MaxOutstanding

Specifies the maximum number of outstanding requests (that is, the maximum number of requests allowed to be sent to the PLC at a given time).

This parameter should be adjusted to coincide with the number of requests the PLC can process in one scan cycle. The appropriate value can be obtained by analyzing a "debug * all" dump to determine the number of PLC replies received in one PLC scan. If the PLC is running at short scan rates, the scan time might have to be temporarily stretched to 30 milliseconds in order to identify the different PLC scans easily.Empirical testing indicates that longer PLC scan times allows the PLC to process more requests per scan.

Setting the MaxOutstanding parameter unnecessarily high will lower throughput. The number of requests the PLC can process per scan determines the driver’s performance. This value is dependent on both the tuning of the PLC scan times and on the PLC's overheads such as Modbus communications.

Note: MaxPending needs to be greater than MaxOutstanding.

If this parameter is placed under the section [MODNET] then all ports in the project will have this parameter set to this number. If this parameter is placed under the following section:
[MODNET.<Port_name>]
the specififed port will have this parameter set to this number and previous number will be overwritten.

A [MODNET.<Port_name>] parameter has the highest precedence.

If the MaxOutstanding parameter is missing, the number of the outstanding requests will be set to the default of 1 for all Modnet ports in the project.

Examples

[MODNET.TCPPORT1]
MaxOutstanding =3
[MODNET.TCPPORT2]
MaxOutstanding =4

In the above example, TCPPORT1 is set to 3 and port TCPPORT2 is set to 4

[MODNET]
MaxOutstanding =3
[MODNET. TCPPORT1]
MaxOutstanding =5

In this example, TCPPORT1 is set to 5 and all other ports in the project (if any) are set to 3.

1 to 32

1

MaxPending

The maximum number of pending commands that the driver holds ready for immediate execution.

Note: MaxPending needs to be greater than MaxOutstanding.

1 to 32

2

NonCriticalExceptionMask

Defines the exceptions to be considered non-critical exception. If a non-critical exception occurs, the driver will retry to send the request.

Its value is a exception mask, where bit position value maps to exception code.

Example:
The value 0x20 sets the mask for bit position 6, that represents exception code 6, i.e. server busy.

0x1 – 0xFFFFFFFF

0x20

Exception code 6 – Sever busy

OnlineTestExceptionMask

Defines the exceptions to be reported that are received while initializing or checking status of IO Device.

Its value is a exception mask, where bit position value maps to exception code.

Example:
The value 0xFFFFFFF9 sets the mask of bit positions except bit position 2 and 3, that represents exception code 2 (Illegal data address) and 3 (Illegal data value). Hence these exceptions will be ignored to report IO Device online status.

0x1 – 0xFFFFFFFF

0xFFFFFFF9

PollTime

The interrupt or polling service time (in milliseconds). Setting the polling time to 0 puts the driver in interrupt mode.

Note: It is recommended that you do not modify the PollTime value, which is set to 0 (zero) by default.

0 to 300 (milliseconds)

0

PresetMultiRegistersOnly

Forces the use of only function code 16 (multiple registers) for register writes. This function code setting is normal for a Class 0 Modbus TCP/IP device.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

0 - function code 6 and 16

1 - function code 16 only

1

ReadMinTwoRegisters

By default, the driver reads a minimum of one register. This parameter allows the driver to check the read request size and make sure the driver reads at least two registers.

0 – The driver reads a minimum of one register.

1 - The driver reads at least two registers.

0

RegisterBitReverse

This parameter defines the order in which bits in a register are individually addressed.

Note: This parameter is not applicable if you are using the MODNET Protocol Variants MODNET20 or MODNET30 to communicate with a device. Under these circumstances, a value of 1 will be hardcoded for this parameter.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

0 - setting Bit 16 (only) will result in a register value of 1

1 - setting Bit 1 (only) will result in a register value of 1

0

Retry

The number of times to retry a command after a timeout.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

0 to 8

0

SendBCDSwap

Defines the order of bytes in a written word. This will not affect the order of bytes read.

Note: This parameter is not applicable to long BCD data types.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

1 - Big Endian format (Motorola or Network format)

0 - Small Endian format (Intel format)

1

SetNRDDisconnect
ExceptionErrorAsOffline

Indicates how the non-standard exception error 0x1d is handled.

This error occurs when a MODNET device is disconnected from an NRDD Gateway.

0 - The error is treated as a general error

1 - The error will cause the device to go offline

0

StringReverse

Reverses the order of bytes in string variable types, for example, "ABCD" "BADC".

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

0 - No reverse

1 - Reverse

0

TransactionExceptionMask

Defines which exception to be considered transaction difficulties. Driver will report unit offline if this exception is received.

Its value is a exception mask, where bit position value maps to exception code.

Example:
The value 0x400 sets the mask for bit position 11, that represent exception code 0xB.

0x1 – 0xFFFFFFFF

0x400

Timeout

Specifies how many milliseconds to wait for a response before displaying an error message.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

0 to 32000 (milliseconds)

1000

WatchTime

The period (in seconds) with which the driver checks the communications link to the I/O device.

With this parameter, you can set different values for specific I/O devices or groups of I/O devices.

See Device/Group-specific Parameters.

0 to 128 (seconds)

30

TitleResults for “How to create a CRG?”Also Available in