Research Note 04

KUKA ロボット連携 — Ethernet KRL Plug-in

KUKA の EthernetKRL XML 設定と EKI_Send で AIVE を直接制御する構造を検証しました。

  • KUKA KRC4
  • KRL
  • EthernetKRL
  • EKI_Send()
  • XML 設定
  • xmlRoboeye
  • AIVE 基本プロトコル
KUKA ロボット + AIVE フィーダー
EthernetKRL XML 設定ファイル — IP 192.168.0.30、PORT 1470、TYPE Server
EthernetKRL XML 設定ファイル — IP 192.168.0.30、PORT 1470、TYPE Server
KRL メインルーチン — EKI_Init、EKI_Open、AIVEReady、AIVEManual
KRL メインルーチン — EKI_Init、EKI_Open、AIVEReady、AIVEManual
KRL 関数定義 — AIVEReady、AIVELightOn/Off、AIVEMotion1/2(EKI_Send)
KRL 関数定義 — AIVEReady、AIVELightOn/Off、AIVEMotion1/2(EKI_Send)

KUKA は TCP ソケット通信のために、C:/KRC/ROBOTER/CONFIG/USER/COMMON/ETHERNETKRL のパスに XML 設定ファイルが必要です。<IP>192.168.0.30</IP>、<PORT>1470</PORT>、<TYPE>Server</TYPE> で AIVE をサーバーに指定し、SmartPad の 立ち上げ > ネットワーク設定 でロボットの IP を設定します。

通信は EKI_Init("XmlAive") → EKI_Open("XmlAive") の順に初期化し、EKI_Send("XmlAive","<C1>") で AIVE プロトコル文字列を直接送信します。KRL の関数でラップした AIVEReady()、AIVELightOn/Off()、AIVEMotion1/2()、AIVEManual(mm,hz,sec) を KRC:\R1\Program のパスに配置します。

AIVEManual の内部では、SWRITE でストローク・周波数・時間の値を文字列に変換し、<P1NNN> と <P2NN,NN> のフォーマットに組み立てた後、EKI_Send で順次送信します。整数変換と桁数パディングのロジックが要点です。

AIVE フィーダー制御とは別に、KUKA 用の RoboEye ビジョン Plug-in も同じ EthernetKRL 構造で開発しました。ビジョン用の XML ファイルは SEND 経路(トリガー送信)と RECEIVE 経路(座標受信)を分けて定義します。ロボットが xmlRoboeye 関数で撮影トリガーを送ると、RoboEye サーバーが処理後に座標を返す方式です。

KUKA 連携ページ →

この技術は、今の製品の中にあります

研究ノートで検証された構造は、現在 AimFactoryCore と Robot Suite の一部になっています。