LabVIEWやLabVIEW Real-Timeモジュールを使用したModbus通信

更新しました Dec 18, 2023

環境

ソフトウェア

  • LabVIEW Datalogging and Supervisory Control Module
  • OPC Servers
  • LabVIEW
  • LabVIEW Real-Time Module

  • Modbusプロトコルを使用して自分のデバイスと通信する必要があります。LabVIEWでModbus通信は可能ですか?
  • 無償版のModbusツールキット/APIは使用できますか?それとも、LabVIEWデータロギングおよび監視制御(DSC: Datalogging and Supervisory Control)モジュールに付属のModbus VIのライセンス版が必要ですか?

Modbus I/Oサーバ

Modbus I/Oサーバを使用すると、Modbusレジスタ値をVI内でアクセス可能なシェア変数へ容易にリンクできます。シンプルな監視アプリケーションのためにModbus I/Oサーバは、Modbusデータにアクセスしたりサービスを提供するためのよりシンプルでより簡単なAPIを提供します。ただし、使いやすさと引き換えにI/Oサーバは、アプリケーションによっては必要とされる可能性があるプロトコルの厳密な制御を放棄します。Modbus I/Oサーバは、LabVIEW DSCモジュールLabVIEW Real-Timeモジュールに含まれています。


 

 

サポートされているModbus API(上図の青枠)

低レベルのModbus APIは、使いやすさを犠牲にしていますが、その分高性能でModbusプロトコルを細かく制御します。この低レベルAPIを使用する際は、すべて手作業で実行する必要があります。このModbus APIは、LabVIEW DSCモジュールおよびLabVIEW Real-Timeモジュールに含まれています。

 

 

NI OPCサーバおよびDataSocket

WindowsでLabVIEWを使用している場合は、DataSocketを使用して、Modbusと通信可能なOPCサーバと通信することもできます。 OPCサーバにアクセスできない場合、NI OPCサーバはModbusを含む多くのプロトコルへのインタフェースを提供します。 DataSocketを使用してOPCサーバに接続する方法の詳細については、Connecting LabVIEW to an OPC Server Using Front Panel DataSocketを参照ください。

 

 

サポートされていないModbusライブラリ(上図の緑枠)

  • LabVIEW 2012以降
    LabVIEW Modbus APIは、無償版LabVIEW Modbusライブラリの最新リリースです。これは、LabVIEW 2011以前をサポートする無償版Modbusライブラリ関数の移行と拡張を目的としています。
     
  • LabVIEW 7.1~2011
    Modbus Library for LabVIEWは、VISAコマンドのラッパーです。このプログラミングには、Modbus関数呼び出しに関する知識が必要です。このライブラリには、LabVIEW Modbus APIやLabVIEW DSCモジュールに含まれるサポートされているModbus APIほど多くの関数は含まれていません。


メモ: サポートされていないModbusライブラリは、NIコミュニティフォーラムでのみサポートされています。

Additional Information

Modbusは、シリアル通信プロトコルの一種です。これは、シリアル通信でModbus機器と通信するようにLabVIEWをプログラムすることも可能であることを意味します。TCP/IPプロトコル上に構築されているModbus TCP/IPにも同じ原則が適用されます。