Skip to main content

機能ブロック:ModbusRequest

としょうかん: IoDrvModbusTCP

タブで定義されている定義済みのModbusコマンドに加えて Modbus サーバー チャネルこの機能ブロックを使用すると、アプリケーションで追加のコマンドを動的に実行できます。このプログラムで作成されたコマンドに対して、CODESYS は I/O マッピングを提供しませんが、バイト配列またはワード配列のタイプの入出力データ範囲を提供します。

13. 入力(VAR_INPUT)

名前

データ・タイプ

初期値

説明

Slave

Modbus TCP slave

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