Modbus TCPデバイスでの作業

イントロダクション

Modbus over TCP通信のフィルタは、System :: Modbus TCP に配置されています。

接続の確立

ModbusTCPデバイスと通信するためには、まず接続を確立する必要があります。 接続の確立には、ModbusTCP_Connect フィルタを使用します。 ModbusTCPプロトコルのデフォルトポートは502です。 通常、アプリケーションがメインループに入る前に接続が作成され、プロセスの複数のイテレーションを通じて有効であることがあります。明示的に ModbusTCP_Close フィルタを使用して閉じられるか、I/Oエラーが発生すると無効になります。 Modbusフィルタは、TCP IPフィルタと同じソケットで動作します。 ModbusデバイスがKeep-Aliveメカニズムをサポートしている場合は、接続が切断された可能性を増やすために有効にすることをお勧めします。 詳細については、TCP/IP通信の使用を参照してください。

値の読み書き

Aurora Vision Studioは、Modbusオブジェクトを管理するための一連のフィルタを提供しています。 次の表は、Modbusによって提供されるオブジェクトの種類です。

オブジェクトの種類 アクセス サイズ
Coil 読み書き可能 1-bit
Discrete Input 読み取り専用 1-bit
Input Register 読み取り専用 16-bits
Holding Register 読み書き可能 16-bits

ModbusTCPプロトコルのCoils、Inputs、およびRegistersは、ゼロからアドレス指定されます。以下の表は、上記で言及されたオブジェクトタイプを制御するためのフィルタをリストアップしています。

オブジェクトの種類 読み取り 書き込み
Coil ModbusTCP_ReadCoils ModbusTCP_WriteCoil
ModbusTCP_ForceMultipleCoils
Discrete Input ModbusTCP_ReadDiscreteInputs 読み取り専用
Input Register ModbusTCP_ReadInputRegisters_AsByteBuffer
ModbusTCP_ReadInputIntegerRegisters
ModbusTCP_ReadInputRealRegisters
読み取り専用
Holding Register ModbusTCP_ReadMultipleRegisters_AsByteBuffer
ModbusTCP_ReadMultipleIntegerRegisters
ModbusTCP_ReadMultipleRealRegisters
ModbusTCP_WriteSingleRegister
ModbusTCP_WriteMultipleRegisters_AsByteBuffer
ModbusTCP_WriteMultipleIntegerRegisters
ModbusTCP_WriteMultipleRealRegisters

サンプルアプリケーション

以下の例は、ModbusTCPフィルタの使用方法を示しています。

メインマクロフィルタ - 接続の確立と終了

メインループ - Modbusデバイスとの通信

インスペクション - サンプルインスペクションアルゴリズム

カスタム関数

デバイス固有の機能をサポートするために、Aurora Vision StudioはModbusTCP_SendBufferフィルタを提供しています。このフィルタを使用すると、カスタムなModbusフレームを作成できます。