ロボットコントローラは、Ethernet 経由の Modbus(Modbus TCP)に対応しています。 Modbus インターフェースは、現在のオートメーション業界で広く使用されている通信プロトコルで、PLC がセンサー、アクチュエータ、計測機器などの周辺機器と通信する際によく用いられます。
ロボットコントローラは、Ethernet 経由の Modbus(Modbus TCP)に対応しています。 Modbus インターフェースは、現在のオートメーション業界で広く使用されている通信プロトコルで、PLC がセンサー、アクチュエータ、計測機器などの周辺機器と通信する際によく用いられます。
UR ロボットは、Modbus サーバー(スレーブ)および Modbus クライアント(マスター)の両方の機能を備えています。
Modbus RTU では「マスター/スレーブ」という用語が使われますが、Modbus TCP/IP では クライアント/サーバーのモデルに置き換えられます。
このため、Modbus サーバー=スレーブ、Modbus クライアント=マスターに相当します。
Modbus サーバーは常にロボット上で動作しており、外部機器はいつでもロボットにアクセスして 値の読み書きを行うことができます。
この構成は、PLC がシステム内に存在する場合に主に使用されます。
一方、Modbus クライアント機能は、PLC が存在しない構成で、ロボットの I/O 機能を拡張するために Modbus I/O ブロックなどの Modbus デバイスへ直接アクセスしたい場合に主に使用されます。
この機能を使用すると、UR の状態(現在の 位置、速度 など)や、レジスタにマッピングされた変数を読み取ることができます。
また、Modbus 経由でロボットのレジスタに書き込むことも可能です。
この構成により、外部機器とロボット間で値をやり取りでき、産業用途に適した制御を実現できます。
代表的なユースケースとしては、整数値のやり取りによるシーケンサ制御が挙げられます。
PLC から送信される整数値に応じて、ロボットは switch-case 構文を用いて異なる処理を実行します。
処理完了後、ロボットが別のレジスタに完了コードを書き込むことで、PLC はロボットの動作完了を認識し、その後の工程(例:CNC がドアを閉じて加工を開始するなど)を進めることができます。
Modbus サーバーとは対照的に、Modbus クライアント機能では、ロボットが Modbus サーバーを持つ外部デバイスへ能動的に接続します。
この方法で接続される代表的なデバイスが Modbus I/O ブロックです。
これらは UR の I/O と同様の役割を持つ I/O ブロックで、電気的なインターフェースを通じて、さらに多くの機器を統合できます。
クライアント機能を使うことで、I/O ブロックに接続し、各 I/O の状態を読み取ったり、設定したりすることが可能になります。