機能
通信するスレーブデバイスと接続するCOMポートを指定し、ボーレート、パリティ等を設定し、Modbus/RTUとして初期化を行います。
書式
ctx = modbus_new_rtu( device , baud , parity , data_bit , stop_bit )
引数
device [ VB.NET: String ] [ C, C++: char * ] [ C#: string ] [ Python:ctypes.c_char_p ]
Modbusスレーブと通信するシリアルポート(COMポート)を指定して下さい。
COM番号において、10番以上を使用する場合は、"\\\\.\\COM10"のような形式で指定して下さい。
詳細は以下を参照ください。
https://learn.microsoft.com/ja-jp/windows/win32/fileio/naming-a-file?redirectedfrom=MSDN
baud[ VB.NET: Integer ] [ C, C++: int ] [ C#: int ] [ Python: ctypes.c_long ]
ボーレートを指定して下さい。
parity [ VB.NET: Sbyte ] [ C, C++: char ] [ C#: sbyte ] [ Python: ctypes.c_char ]
パリティを以下で指定下さい。
定義 |
意味 |
N |
パリティ無し |
E |
偶数パリティ |
O |
奇数パリティ |
data_bit[ VB.NET: Integer ] [ C, C++: int ] [ C#: int ] [ Python: ctypes.c_int ]
データビットを5-8で指定下さい。
stop_bit[ VB.NET: Integer ] [ C, C++: int ] [ C#: int ] [ Python: ctypes.c_int ]
ストップビットを1-2で指定下さい。
戻り値
ctx [ VB.NET: IntPtr ] [ C, C++: modbus_t * ] [ C#: IntPtr ] [ Python: ctypes.POINTER(modbus_t) ]
成功時はmodbus_t構造体のポインタアドレスが入ります。
失敗時にはNULLが入ります。errnoには下記のエラーが格納されます。
定義 |
意味 |
EINVAL |
IPアドレスが不正です。 |
ENOMEM |
メモリ不足です。 |
説明
通信するスレーブデバイスと接続するCOMポートを指定し、ボーレート、パリティ等を設定し、Modbus/RTUとして初期化を行います。
使用例
COM1ポート、ボーレート 115200bps、パリティ無し、データビット8、ストップビット1を指定する例です。
VB.NET |
Dim ctx As IntPtr ctx = modbus_new_rtu("COM1", 115200, 'N', 8, 1)
|
C, C++ |
modbus_t *ctx; ctx = modbus_new_rtu("COM1", 115200, 'N', 8, 1); |
C# |
IntPtr ctx; ctx = modbustcp.NewRtu("COM1", 115200, 'N', 8, 1); |
Python |
ctx = ctypes.POINTER(modbus_t) ctx = modbus_tcp.modbus_new_rtu("COM1", 115200, 'N',
8, 1) |