関数一覧


本サンプルにおいて利用している関数及び利用頻度の高い関数を以下に示します。

libmodbusには本関数以外にも用意されておりますが、弊社では動作確認を行っておりません。

本リファレンスに記載のない関数に関しては、libmodbus公式ホームページを参照ください。

 

通信設定

modbus_new_tcp

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

modbus_new_rtu

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

modbus_set_slave

スレーブIDを設定します。

modbus_get_slave

スレーブIDを取得します。

modbus_set_byte_timeout

Modbus通信におけるバイト間のタイムアウト時間を設定します

modbus_get_byte_timeout

Modbus通信におけるバイト間のタイムアウト時間を取得します

modbus_set_response_timeout

Modbus通信におけるレスポンスタイムアウト時間を設定します。

modbus_get_response_timeout

Modbus通信におけるレスポンスタイムアウト時間を取得します。

通信処理

modbus_connect

Modbusスレーブ機器に接続します。

modbus_close

Modbusスレーブ機器との接続を切断します。

modbus_free

libmodbus構造体を開放します。

modbus_flush

未送信データをフラッシュします。フラッシュされたデータは破棄されます。

ファンクションコード

modbus_read_bits

Read Coils (コード01) を用いてCoil領域のビット情報を複数取得します。

modbus_read_input_bits

Read Discrete Inputs (コード02) を用いてInput Status領域のビット情報を複数取得します。

modbus_read_registers

Read Holding Registers (コード03) を用いてholding register領域のレジスタ情報を複数取得します。

modbus_read_input_registers

Read Input Registers (コード04) を用いてinput register領域のレジスタ情報を複数取得します。

modbus_write_bit

Write Coil (コード05)を用いてCoil領域へ1ビット分書き込みます。

modbus_write_register

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

modbus_write_bits

Write Multiple Coils (コード15) を用いてCoil領域へ複数ビット分書き込みます。

modbus_write_registers

Write Multiple Registers (コード16) を用いてholding register領域へ複数レジスタ分書き込みます。

データ変換

modbus_strerror

エラーメッセージを取得します。

modbus_read_errno

erronoを取得します。

modbus_set_bits_from_byte

バイト情報からビット情報を取得します。

modbus_set_bits_from_bytes

複数のバイト情報からビット情報を取得します。

modbus_get_byte_from_bits

ビット情報をバイト情報に変換します。

modbus_set_float_abcd

指定されたfloat値を4バイトデータに変換します。バイトオーダーはABCD順となります。

modbus_get_float_abcd

指定された4バイトデータをfloat値に変換します。バイトオーダーはABCD順となります。

modbus_set_float_badc

指定されたfloat値を4バイトデータに変換します。バイトオーダーはBADC順となります。

modbus_get_float_badc

指定された4バイトデータをfloat値に変換します。バイトオーダーはBADC順となります。

modbus_set_float_cdab

指定されたfloat値を4バイトデータに変換します。バイトオーダーはCDAB順となります。

modbus_get_float_cdab

指定された4バイトデータをfloat値に変換します。バイトオーダーはCDAB順となります。

modbus_set_float_dcba

指定されたfloat値を4バイトデータに変換します。バイトオーダーはDCBA順となります。

modbus_get_float_dcba

指定された4バイトデータをfloat値に変換します。バイトオーダーはDCBA順となります。