Skip to main content

機能ブロック:ModbusServer

としょうかん: IoDrvModbusTCPSlave

この機能ブロックは、ModbusTCPによる最大10の並列クライアント接続要求を処理します。 Modbusリクエストは、入力レジスタと保持レジスタをマップするデータ範囲内で機能します。

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

  • 0x01読み取りコイル

  • 0x02ディスクリート入力の読み取り

  • 0x03保持レジスタの読み取り

  • 0x04入力レジスタの読み取り

  • 0x05シングルコイルを書く

  • 0x06単一レジスタの書き込み

  • 0x0F複数のコイルを書き込む

  • 0x10複数のレジスタを書き込む

  • 0x17複数のレジスタの読み取り/書き込み

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

27. 入力(VAR_INPUT)

名前

データ・タイプ

初期値

説明

wPort

WORD

502

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

pInputData

POINTER TO WORD

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

uiInputDataSize

UINT

1024

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

pOutputData

POINTER TO WORD

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

uiOutputDataSize

UINT

出力データの配列の長さ(レジスターあたりのワード数):

tCurrentTime

UDINT

現在のPLC時間(ミリ秒)タイムアウトが設定されている場合は、機能ブロックを実行する前にタイムアウトを更新する必要があります。

tTimeout

UDINT

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

xEnable

BOOL

FALSE

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

xReset

BOOL

FALSE

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



28. 出力(VAR_OUTPUT)

名前

データ・タイプ

初期値

説明

xBusy

BOOL

FALSE

リクエストの処理中はTRUE

xError

BOOL

FALSE

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

byClientConnections

BYTE

0

接続数