Skip to main content

機能ブロック: ModbusServer

図書館:ModbusTCP Server

機能ブロックは、Modbus TCPによる最大 16 個の並列クライアント接続要求を処理します。Modbus 要求は、入力レジスタと保持レジスタをマッピングするデータ範囲内で動作します。

次の Modbus 機能コードがサポートされています。

  • 0x01 Read Coils

  • 0x02 Read Discrete Inputs

  • 0x03 Read Holding Registers

  • 0x04 Read Input Registers

  • 0x05 Write Single Coil

  • 0x06 Write Single Register

  • 0x0F Write Multiple Coils

  • 0x10 Write Multiple Registers

  • 0x17 Read/Write Multiple Registers

ModbusServer機能ブロックは、 Modbus TCPサーバーのデバイス エディター タブで設定されたパラメータを使用します。

27. 入力 (VAR_INPUT)

名前

データ型

初期値

説明

wPort

WORD

502

サーバーポート(TCP/IPプロトコルスタック)502はModbusのデフォルトです

pInputData

POINTER TO WORD

ポインタWORD ; Modbus入力レジスタのマップを指します

uiInputDataSize

UINT

1024

入力データの配列の長さ(WORDレジスタあたり); デフォルト: 1024

pOutputData

POINTER TO WORD

ポインタWORD ; Modbus保持レジスタのマップを指します

uiOutputDataSize

UINT

出力データの配列の長さ(WORDレジスターあたり

tTimeout

UDINT

タイムアウト(ミリ秒)。ゼロでなく、タイムアウトまでにModbus書き込みエラーが発生していない場合、出力データはゼロに設定されます。

xEnable

BOOL

FALSE

リクエスト処理を開始するためのフラグ

xReset

BOOL

FALSE

サーバーとの通常の通信の再開、立ち上がりエッジのステータスワードとエラービットのリセット

InterfaceName

WSTRING(255)

イーサネットインターフェースの名前(オプション)。指定すると、ModbusサーバーはこのインターフェースのIPアドレスにバインドします。



28. 出力 (VAR_OUTPUT)

名前

データ型

初期値

説明

xBusy

BOOL

FALSE

TRUEリクエストが処理されている間

xError

BOOL

FALSE

見つかったエラーに関する情報

byClientConnections

BYTE

0

接続数

xTimeout

BOOL

タイムアウトが経過しました。保持レジスタとコイルはゼロに設定されます。