modbus_write_register


機能

 

ファンクションコード Write Register (コード06)を用いてholding register領域へ1レジスタ分書き込みます。

 

書式

 

ret =  modbus_write_register( ctx , addr , value )

 

引数

 

ctx [ VB.NET: IntPtr ] [ C, C++: modbus_t * ] [ C#: IntPtr ] [ Python: ctypes.POINTER(modbus_t) ]

libmodbus構造体へのポインタを指定下さい。

 

addr[ VB.NET: Integer ] [ C, C++: int ] [ C#: int ] [ Python: ctypes.c_int ]

writeする先頭アドレスを指定下さい。

 

value[ VB.NET: UShort ] [ C, C++: uint_16_t ] [ C#: ushort ] [ Python: ctypes.c_uint16 ]

書き込むデータを指定下さい。

 

戻り値

 

ret [ VB.NET:Integer ] [ C, C++: int ] [ C#: int ] [ Python: ctypes.c_int ]

 

成功時には書き込みに成功したレジスタ点数が入ります。

失敗時には-1が入ります。

 

説明

 

ファンクションコード Write Register (コード06)を用いてholding register領域へ1レジスタ分書き込みます。

 

使用例

 

アドレス0のレジスタに0x55を書き込みます。

 

VB.NET

Dim ret As Integer

Dim ctx As IntPtr

ret = modbus_write_register(ctx, 0, &H55)

 

C, C++

int ret;

modbus_t *ctx;

ret = modbus_write_register( ctx, 0, 0x55 );

 

C#

int ret;

IntPtr ctx;

ret = modbus.WriteRegister(ctx, 0, 0x55);

 

Python

ret = ctypes.c_int

ctx = ctypes.POINTER(modbus_t)

ret = modbus.modbus_write_register(ctx, 0, 0x55)