Skip to main content

機能ブロック: ModbusRequest

図書館:IoDrvModbusTCP

定義済みのModbusコマンドに加えて、 Modbus サーバー チャネルタブでは、このファンクションブロックにより、アプリケーション内で追加のコマンドを動的に実行できます。ただし、これらのプログラムで作成されたコマンドにはI/Oマッピングはなく、以下のタイプの入出力データ範囲のみがあります。ARRAY OF BYTEまたはARRAY OF WORD

13. 入力 (VAR_INPUT)

名前

データ型

初期値

説明

Slave

ModbusTCPSlave

xExecute

BOOL

上昇エッジ: アクションが始まります。

立ち下がりエッジ: ファンクションブロックがアクションを終了する前に立ち下がりエッジが発生すると、出力はリセットされます。出力は通常通り動作し、アクションが終了したか中止された場合にのみリセットされます( xAbort)、またはエラーが発生した場合。この場合、対応する出力値(xDonexErroriError ) は、正確に 1 サイクルの間、出力に存在します。

xAbort

BOOL

TRUE : アクションは直ちに中止され、すべての出力は初期値に設定されます。

usiUnitID

UINT

16#FF

ユニット ID は、Modbus シリアル バスへの転送 (ゲートウェイ) にのみ使用されます。

TCP/IPの場合、MODBUSサーバーはIPアドレスによってアドレス指定されます。この場合、MODBUSユニットIDは使用されません(値0xFFを使用する必要があります)。

シリアル接続の場合、Modbus デバイスは 1 ~ 247 のユニット ID でアドレス指定されます (0 はブロードキャスト アドレスに使用されます)。

ModbusCommand

ModbusCommand

実行するModbusコマンド。ビットおよびワードアクセス用のファンクションブロックがサポートされています。

pSendData

POINTER TO BYTE

サーバーに送信されるデータを含むバッファへのポインタ。

レジスタアクセスの場合、バッファのタイプはArray[0..ModbusCommand.uiWriteLen - 1] OF WORDビットアクセスの場合、バッファはARRAY[0..ModbusCommand.uiWriteLen / 8] OF BYTE

pRecvData

POINTER TO BYTE

サーバーが受信したデータが書き込まれるバッファへのポインタ。

レジスタアクセスの場合、バッファのタイプはARRAY[0..ModbusCommand.uiReadLen - 1] OF WORDビットアクセスの場合、バッファはARRAY[0..ModbusCommand.uiReadLen / 8] OF BYTE



14. 出力 (VAR_OUTPUT)

名前

データ型

初期値

説明

xDone

BOOL

FALSE

TRUEリクエストが正常に終了した場合

xBusy

BOOL

FALSE

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

xError

BOOL

FALSE

TRUEリクエストがエラーで終了した場合

xAborted

BOOL

FALSE

TRUEリクエストがユーザーによって中止された場合

ModbusError

MB_ErrorCodes

現在のエラー。MB_ErrorCodes列挙。