modbus_new_tcp


機能

 

通信するスレーブデバイスのIPアドレスとポートを指定し、Modbus/TCPとして初期化を行います。

 

書式

 

ctx = modbus_new_tcp ( ip , port )

 

引数

 

ip [ VB.NET: String ] [ C, C++: char * ] [ C#: string ] [ Python: ctypes.c_char_p]

通信するModbusスレーブのIPアドレスを指定して下さい。

 

port [ VB.NET: Integer ] [ C, C++: int ] [ C#: int ] [ Python: ctypes.POINTER(ctypes.c_int)]

使用するポートを指定して下さい。

デフォルト(502)を利用する場合は、`MODBUS_TCP_DEFAULT_PORT`を指定して下さい。

 

戻り値

 

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

成功時はmodbus_t構造体のポインタアドレスが入ります。

 

失敗時にはNULLが入ります。errnoには下記のエラーが格納されます。

 

定義

意味

EINVAL

IPアドレスが不正です。

ENOMEM

メモリ不足です。

 

説明

 

接続するスレーブデバイスのIPとポートを指定し、Modbus/TCPとして初期化を行います。

 

使用例

 

以下のModbusスレーブと通信する例です。

IPアドレス:192.168.1.102

使用ポート:502

 

VB.NET

Dim ctx As IntPtr

ctx = modbus_new_tcp("192.168.1.102", 502)

 

C, C++

modbus_t *ctx;

ctx = modbus_new_tcp("192.168.1.102",  502);
 

C#
 

IntPtr ctx;

ctx = modbusrtu.NewTcp("192.168.1.102",502);
 

Python

ctx = ctypes.POINTER(modbus_t)

ctx = modbus_tcp.modbus_new_tcp("192.168.1.102", 502)