Overview of client interfaces (JA)
クライアントインターフェース(外部通信)の概要およびマニュアルへのリンク集
UR ロボットには、多様なクライアントインターフェースが備わっており、それぞれ用途、応答性、統合対象システム等によって使い分けられます。
1. UR独自のインターフェース群

- Primary/Secondary Interfaces
UR コントローラは、ロボットの状態データを送信し、URScript コマンドを受信するためのサーバを提供しています。
プライマリインターフェースはロボットの状態データに加えて追加メッセージも送信し、セカンダリインターフェースはロボットの状態データのみを送信します。これらのデータは主に GUI とコントローラ間の通信に使用されます。両インターフェースは 10 Hz の更新レートで URScript コマンドを受け付けるため、ロボットプログラムを実行しなくても遠隔からロボットを制御することが可能です。
ポート番号等の詳細は、以下の記事をご参照ください。 Remote Control Via TCP/IP
- Real-time Interfaces
リアルタイムインターフェースの機能は、プライマリ/セカンダリインターフェースと類似しています。コントローラはロボットの状態データを送信し、URScript コマンドを受信します。主な違いは更新レートです。
ポート番号や更新レートに関する詳細は、以下の記事をご参照ください。 Remote Control Via TCP/IP
- Dashboard Server
ユニバーサルロボットは、TCP/IP ソケットを介して GUI にシンプルなコマンドを送信することで遠隔から制御することができます。このインターフェースは「Dashboard Server」と呼ばれます。サーバーの主な機能は、ロボットプログラムのロード、再生、一時停止、停止、ユーザーアクセスレベルの設定、そしてロボットの状態に関するフィードバックの取得です。
詳細は以下の記事をご参照ください。 Dashboard Server e-Series, port 29999
- Socket Communication
UR ロボットは TCP/IP プロトコルを介して外部機器と通信することができます。ロボットと他のデバイス間では、ソケット通信を通じてデータを転送できます。ソケット通信においては、ロボットがクライアントとして動作し、外部デバイスがサーバーとしての役割を担います。URScript には、ソケットを開閉するコマンドや、さまざまなデータ形式を送受信するためのコマンドが用意されています。
- XML-RPC
XML-RPC は、XML を用いてソケット越しにプログラム間でデータを転送するリモートプロシージャコール方式です。これにより UR コントローラは、リモートのプログラムやサーバー上のメソッド/関数(パラメータ付き)を呼び出し、構造化されたデータを受け取ることができます。URScript では実現できない複雑な計算処理を外部に任せることができるほか、他のソフトウェアパッケージを URScript と組み合わせて利用することも可能です。
詳細はこちらの記事をご覧ください。https://www.universal-robots.com/articles/ur/interface-communication/xml-rpc-communication/
- RTDE (Real-Time Data Exchange)
RTDE は、リアルタイムインターフェースの堅牢な代替として設計されています。これにより、UR コントローラはカスタムの状態データを送信できるほか、カスタムのセットポイントやレジスタデータを受け取ることができます。
ポート番号や更新レートに関する詳細は、以下の記事をご参照ください。Remote Control Via TCP/IP - 16496
- ROS/ROS2 Driver
ROS ドライバは Universal_Robots_Client_Library をベースに開発されており、以下のような協働ロボットの主要機能をサポートしています。
- 非常停止時の動作停止(Pause at emergency stop)
- セーフガード停止(Safeguard stop)
- 安全設定を逸脱しないための自動速度スケーリング(Automatic speed scaling)
- ティーチペンダントからの手動速度スケーリング(Manual speed scaling)
さらに、externalControl URCap を利用することで、ROS2 の挙動をロボットプログラムに統合することも可能です。
このドライバは、可搬重量 3kg から 30kg までの UR ロボット全シリーズに対応しており、CB3 シリーズ以降のすべてのロボットで利用できます。より詳細なドキュメントについては、GitHub リポジトリ をご参照ください。
- Interpreter Mode
Interpreter Mode を利用すると、プログラマは実行時に任意の有効な URScript ステートメントを送信し、その場で実行させることができます。コントローラは Interpreter Mode 用にインタープリタソケット(ポート番号 30020)を開き、完全に有効な URScript ステートメントを受け付けます。受け取ったステートメントは、実行中のプログラムに追加され、専用のインタープリタスレッドのスコープ内で実行されます。これらのステートメントは実行中プログラムの一部として扱われます。
詳細は以下の記事をご覧ください。Interpreter mode
2. 標準フィールドバス・プロトコル群
UR は産業現場でのシステム統合を容易にするため、主要なフィールドバス規格にも対応しています。これにより PLC や既存の工場インフラとの連携がスムーズになります。
- Modbus TCP(サーバ/クライアント)
軽量で汎用的なプロトコルです。UR はサーバとして動作し、外部機器から状態や I/O を読み書きできます。またクライアントとして外部センサーや I/O モジュールにアクセスすることも可能です。
-
EtherNet/IP
UR コントローラを EtherNet/IP デバイスとして設定することで、PLC から信号を直接読み書きできます。
-
Profinet
UR は Profinet サーバとして動作し、PLC(クライアント)が制御を行います。Polyscope のインストール設定で Profinet を有効化し、PLC 側で GSD ファイルをインポートして UR を I/O モジュールとして登録します。入出力モジュールの割り当て、タグとアドレスの整合性確保などの設定が必要です。通信断時にはウォッチドッグ機構が働き、ロボットは安全のために停止します。ProfiSafe ライセンスを追加することで、安全信号(非常停止、セーフガード停止など)をネットワーク経由で扱えるようになり、安全システム設計の自由度が高まります。
注意点
既に使用中のポートに接続を試みると、競合が発生し通信エラーの原因となります。そのため、占有されているポートや頻繁に使用されるポートは避け、他のポートを利用することを推奨します。
UR ロボットで使用される代表的なポートは以下のとおりです。
| Port Number | Interface |
| 80 | Reserved by UR |
| 502 | Modbus TCP |
| 2222 | Ethernet/IP |
| 7827 | Internally used |
| 7828 | Internally used |
| 8080 | Not recommended since many old URCaps default to this port |
| 29919 | Internally used |
| 29998 | Internally used |
| 29999 | Dashboard server |
| 30001 | Primary |
| 30002 | Secondary |
| 30003 | Real-time |
| 30004 | RTDE |
| 30011 | Primary read only |
| 30012 | Secondary read only |
| 30013 | Real-time read only |
| 30020 | Interpreter mode |
| 34964 | Profinet |
| 40000 | Ethernet/IP |
| 40002 | Profinet |
| 44818 | Ethernet/IP |
| 49152 | Profinet |
| 50003 | Internally used (e-Series only) |
| 50004 | Internally used (e-Series only) |
| 50005 | Internally used (e-Series only) |
| 50006 | Internally used (e-Series only) |
ローカルホストの利用状況(サードパーティ製コンポーネントを含む)についての概要は、以下をご参照ください。 https://forum.universal-robots.com/t/overview-of-used-ports-on-local-host/8889