ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage functions / Communication / Modbus functions
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Writes one or more registers (16-bit values) to a Modbus slave, starting at a specific address.
Remarks:
  • This function blocks the application until the slave acknowledges the message or until the session timeout is exceeded.
  • The single-bit write operation corresponds to Modbus function code 06 (Write Single Holding Register).
  • The multiple-bit write operation corresponds to Modbus function code 16 (Write Multiple Holding Registers).
Example
// Crée une session et connexion à un serveur Modbus
Session is modbusSession
Session = ModbusConnectTCP("192.168.1.7")

// Si la connexion échoue, affiche l'erreur
IF ErrorOccurred = True THEN
	Trace(ErrorInfo())
ELSE
	// Ecrit une séquence de 5 entiers 16 bits à partir de l'adresse 0x42
	IF NOT ModbusWriteRegister(Session, 0x42, [0xF8C5, 1637, -1542, 0, 0x00A8]) THEN
		Trace(ErrorInfo())
	END
END

// Déconnexion
ModbusDisconnect(Session)
Syntax

Writing a 16-bit value to a Modbus slave Hide the details

<Result> = ModbusWriteRegister(<Session> , <Address> , <Value>)
<Result>: Boolean
  • True if written successfully,
  • False otherwise. To get more details on the error, use ErrorInfo with the errMessage constant.
<Session>: modbusSession variable
Name of the modbusSession variable that corresponds to the communication session with the Modbus slave.
<Address>: Integer
Value between 0 and 65,535 that corresponds to the address (slave) to which the value must be written.
<Value>: Integer
16-bit number that must be written to the register in the slave.

Writing multiple 16-bit values to a Modbus slave Hide the details

<Result> = ModbusWriteRegister(<Session> , <Address> , <Values>)
<Result>: Boolean
  • True if written successfully,
  • False otherwise. To get more details on the error, use ErrorInfo with the errMessage constant.
<Session>: modbusSession variable
Name of the modbusSession variable that corresponds to the communication session with the Modbus slave.
<Address>: Integer
Value between 0 and 65,535 that corresponds to the address (slave) to which the values must be written.
<Values>: Array
Array of 16-bit integers that must be written to the registers in the slave.
Remarks
CAUTION: As writing operations involve the manipulation of automation devices, it is advisable to test the various commands before putting them into production, to ensure that the devices perform the required operations.
Business / UI classification: Neutral code
Component: wd300com.dll
Minimum version required
  • Version 26
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 03/28/2025

Send a report | Local help