Skip to main content

CODESYS Modbus

Modbusネットワークは、Modbusクライアントと1台以上のModbusサーバーで構成されます。クライアントの下には最大64台のサーバーを接続できます。Modbusデバイスは、シリアルポートまたはイーサネット経由で接続できます。

_mod_img_device_tree.png

Modbusデバイスは、シリアルポート経由で接続され、 Modbus COMポートデバイス。

  • (1)CODESYSランタイムは Modbus クライアントとして機能します。

  • (2)CODESYSランタイムはModbusサーバーとして機能します。このModbusサーバーは、以下のテキストでは「Modbusデバイス」と呼ばれます。

    Modbus シリアルの場合、動作タイプ「Modbus RTU」がサポートされます。

Modbusデバイスは、イーサネットネットワークでリンクされ、イーサネットアダプタデバイス。

  • (3)CODESYSランタイムは Modbus クライアントとして機能します。

    Modbus TCPサーバーは、シリアル Modbus サーバーのゲートウェイとしても機能します。

  • (4):CODESYSランタイムは Modbus サーバーとして機能します。

Modbus設定ページで通信パラメータを設定し、Modbusチャネルを作成できます。Modbusチャネルには、単一のModbusコマンド(データの読み取り/書き込み)と、対応するI/Oチャネルが含まれます。

サポートされている機能コード

特定の PLC 制限がない場合、クライアントは通常、次の機能コードをサポートします。

  • FC01 Read Coils

  • FC02 Read Discrete Inputs

  • FC03 Read Holding Registers

  • FC04 Read Input Registers

  • FC05 Write Single Coil

  • FC15 Write Multiple Coils

  • FC06 Write Single Register

  • FC16 Write Multiple Registers

  • FC23 Read/Write Multiple Registers

アプリケーションからModbusデバイスへのアクセス

Modbusデバイスをデバイスツリーに挿入すると、対応するファンクションブロックのインスタンスが自動的に作成されます。インスタンスの変数名は、デバイスツリー内のデバイス名に対応します。このファンクションブロックを使用することで、アプリケーションからModbusデバイスの機能にアクセスできます。例えば、このファンクションブロックの出力を介して、最後に実行したModbusコマンドのステータス(成功かどうか)を問い合わせることができます。

デバイスインスタンスは<デバイス名> IEC オブジェクト対応するデバイスエディタのタブ。このダイアログの説明も参照してください。

ヒント

Modbusクライアント(RTU/TCP)の場合

コンフィギュレータで定義されたModbusコマンド(および暗黙的に生成されたI/Oマッピング)に加えて、プログラムされたModbusリクエストもブロックを使用して実行できます。ModbusRequest

フィールドバスサポートに関するより一般的な情報については、CODESYS、以下を参照してください。フィールドバスサポート