modbus_new_rtu


機能

 

通信するスレーブデバイスと接続するCOMポートを指定し、ボーレート、パリティ等を設定し、Modbus/RTUとして初期化を行います。

 

書式

 

ctx = modbus_new_rtu( device , baud , parity , data_bit , stop_bit )

 

引数

 

device [ C: char * ] [ Python:ctypes.c_char_p ]

Modbusスレーブと通信するシリアルポート(COMポート)を指定して下さい。

 

baud [ C: int ] [ Python: ctypes.c_long ]

ボーレートを指定して下さい。

 

parity [ C: char  ] [ Python: ctypes.c_char ]

パリティを以下で指定下さい。

 

定義

意味

N

パリティ無し

E

偶数パリティ

O

奇数パリティ

 

data_bit [ C: int ] [ Python: ctypes.c_int ]

データビットを5-8で指定下さい。

 

stop_bit [ C: int ] [ Python: ctypes.c_int ]

ストップビットを1-2で指定下さい。

 

戻り値

 

ctx  [ C: modbus_t * ]  [ Python: ctypes.POINTER(modbus_t) ]

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

 

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

 

定義

意味

EINVAL

引数が不正です。

ENOMEM

メモリ不足です。

 

説明

 

通信するスレーブデバイスと接続するCOMポートを指定し、ボーレート、パリティ等を設定し、Modbus/RTUとして初期化を行います。

 

使用例

 

COM1ポート、ボーレート 115200bps、パリティ無し、データビット8、ストップビット1を指定する例です。

 

C

modbus_t *ctx;

ctx = modbus_new_rtu("/dev/ttyUSB0", 115200, 'N', 8, 1);
 

Python

ctx = ctypes.POINTER(modbus_t)

ctx = modbus_tcp.modbus_new_rtu("/dev/ttyUSB0", 115200, 'N', 8, 1)