MODNET Driver Parameters
- Last UpdatedJul 08, 2025
- 9 minute read
|
|
|
UNINTENDED EQUIPMENT OPERATION
|
|
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] |
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>. |
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 |
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 – |
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. |
0: Order of bytes = 1: Order of bytes = 2: Order of bytes = 3: Order of bytes = |
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. |
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] With this configuration during start-up and re-connection the driver will attempt to read Input Register 39000 |
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] 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. |
(1-4) |
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. |
0 to 4, or 20 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. |
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. With this parameter, you can set different values for specific I/O devices or groups of I/O devices. |
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: 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] In the above example, TCPPORT1 is set to 3 and port TCPPORT2 is set to 4 [MODNET] 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: |
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: |
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. |
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. |
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. |
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. |
1 - Big Endian format (Motorola or Network format) 0 - Small Endian format (Intel format) |
1 |
|
SetNRDDisconnect |
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. |
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: |
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. |
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. |
0 to 128 (seconds) |
30 |
