10. グラフィカルプログラミング
10.1. 概要
ティーチングペンダントには通常、キーボードやマウスなどの外部デバイスは接続されないため、ユーザーはグラフィカルプログラミング機能を使用して、ティーチングペンダントからロボットWebAPPにアクセスし、ロボットのティーチングプログラムを編集できます。この機能は標準化された関数をBlocklyライブラリを使用して実装しており、WebAPPシステムに統合して、必要に応じてカスタムコードブロックを実装できます。また、ドラッグ&ドロップでプログラミングした後、LUAプログラムに変換し、既存のコマンドプロトコルを通じて送信・実行できます。
グラフィカルプログラミングを使用することで、理解が容易で、操作が簡単になり、言語をローカライズして操作できます。
ページは3つのエリアに分かれています。「操作バー」、「toolboxツールバー」、「workspaceコード編集エリア」です。全体のレイアウトデザインを下図に示します。
図表 10.1‑1 グラフィカルプログラミング画面
操作バー
読み込み:workspaceの再読み込みを担当します。
インポート:関連するグラフィカルプログラミングプログラムのインポートを担当します。
エクスポート:保存されているワークスペース内のグラフィカルプログラミングプログラムのエクスポートを担当します。「保存」ボタンの機能は、コードブロックの編集が完了したら、対応するティーチングプログラムとして保存することです。
保存:編集済みのグラフィカルコードブロックの保存を担当します。
クリア:コード編集エリアの高速クリアを担当します。
コード:コードブロックをLuaコードに変換することを担当します。
Toolbox
すべてのコマンドとロジックコードのコードブロックを含み、workspaceにドラッグしてコードブロックを作成・編集できます。
Toolboxツールバー部分は、コマンドタイプに応じてさらに分類されます。
ロジッククラスコマンド:if-else、whileなど。
基本運動クラスコマンド:PTP、LIN、ARCなど。アプリケーションシナリオに応じたコマンド分類:塗布、溶接、コンベアなど。使用中に必要なコードブロックを簡単に見つけられます。
Workspace:コード編集エリアでは、グラフィカルなコードブロックを編集・表示できます。
10.2. ロジッククラスグラフィカルプログラミングコマンド
ロジッククラスグラフィカルプログラミングコマンドには、ループ、数値などの論理コマンドが含まれます。
図表 10.2 ロジッククラスグラフィカルプログラミング
10.2.1. If/Else 判定コマンド
「If/Else 判定コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。(このコマンドを使用するにはある程度のプログラミング知識が必要です。サポートが必要な場合はお問い合わせください)
図表 10.2-1 If/Else 判定コマンドコードブロック
10.2.2. While コマンド
「While コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。(このコマンドを使用するにはある程度のプログラミング知識が必要です。サポートが必要な場合はお問い合わせください)
Whileの後ろに待機条件を入力し、whileの内部に運動コマンドコードブロックを追加し、保存をクリックします。(操作を簡単にするために、doの内容は任意に入力し、プログラム内で他のコマンドを編集して挿入して置き換えることができます)
図表 10.2-2 While コマンドコードブロック
10.2.3. ジャンプコマンド
「ジャンプコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。(このコマンドを使用するにはある程度のプログラミング知識が必要です。サポートが必要な場合はお問い合わせください)
ジャンプ名:ジャンプ先を決定するためにジャンプ名を入力します。
図表 10.2-3 ジャンプコマンドコードブロック
重要
ジャンプ名は数字で始めることはできません。
10.3. 変数クラスグラフィカルプログラミングコマンド
変数クラスグラフィカルプログラミングコマンドには、変数作成コマンドが含まれます。
図表 10.3 変数クラスグラフィカルプログラミング
10.3.1. 変数コマンド
「作成」ボタンをクリックすると、定義したい変数名を入力できます。
「変数コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
「変数」コマンドノード、パラメータ:
図表 10.3-1 変数コマンドコードブロック
10.4. 関数クラスグラフィカルプログラミングコマンド
関数クラスグラフィカルプログラミングコマンドには、関数作成コマンドが含まれます。
図表 10.4 関数クラスグラフィカルプログラミング
10.4.1. 関数メソッドコマンド
「関数メソッドコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
「関数メソッド」コマンドノード、パラメータ:
関数名:実行する関数の名称
図表 10.4-1 関数メソッドコマンドコードブロック
10.5. 運動クラスグラフィカルプログラミングコマンド
運動クラスグラフィカルプログラミングコマンドには、PTP、Lin、ARCなどの運動コマンドが含まれます。
図表 10.5 運動クラスグラフィカルプログラミング
10.5.1. 点对点コマンド
「点对点コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
到達したいポイントを選択できます。スムーズ遷移時間の設定により、このポイントから次のポイントへの動作が連続するかどうかを設定できます。オフセット設定の有無では、ベース座標系オフセットまたはツール座標オフセットを選択でき、x, y, z, rx, ry, rzのオフセット量設定がポップアップ表示されます。PTPの具体的な経路は、モーションコントローラーが自動的に計画する最適経路です。
「点对点」コマンドノード、パラメータ:
ポイント名:ティーチングポイント
調整速度(%):0 ~ 100
停止:false/true
スムーズ遷移(ms):スムーズ遷移時間 0 ~ 500
オフセットするか:いいえ/ベース座標オフセット/ツール座標オフセット 「いいえ」を選択すると、dx~drzパラメータ値は有効になりません。
dx~drz:オフセット量
図表 10.5-1 点对点コマンドコードブロック
10.5.2. 直線コマンド
「直線コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドの機能は「点对点」コマンドと似ていますが、このコマンドで到達するポイントへの経路は直線です。
「直線」コマンドノード、パラメータ:
ポイント名:ティーチングポイント
調整速度(%):0 ~ 100
停止:false/true、trueを選択すると、スムーズ遷移パラメータ値は有効になりません。
スムーズ遷移(mm):スムーズ遷移半径 0 ~ 1000
位置探索するか:false/true
位置探索ポイント変数:REF0~99/RES0~99、位置探索するかでfalseを選択すると、パラメータは有効になりません。
オフセットするか:いいえ
関節速度超過保護:いいえ/はい
処理戦略:標準/速度超過時にエラー停止/適応減速
許容減速しきい値:0~100
図表 10.5-2 直線コマンドコードブロック
10.5.3. 直線(遷移点角速度調整可能)コマンド
「直線(遷移点角速度調整可能)コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドの機能は「点对点」コマンドと似ていますが、このコマンドには遷移点の角速度調整が含まれます。
「直線(遷移点角速度調整可能)」コマンドノード、パラメータ:
ポイント名:ティーチングポイント
調整速度(%):0 ~ 100
停止:false/true、trueを選択すると、スムーズ遷移パラメータ値は有効になりません。
スムーズ遷移(mm):スムーズ遷移半径 0 ~ 1000
位置探索するか:false/true
位置探索ポイント変数:REF0~99/RES0~99、位置探索するかでfalseを選択すると、パラメータは有効になりません。
オフセットするか:いいえ
遷移点角速度調整可能:いいえ/はい
最大角速度:0~300
図表 10.5-3 直線(遷移点角速度調整可能)コマンドコードブロック
10.5.4. 直線(seamPos)コマンド
「直線(seamPos)コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドの機能は、溶接シナリオでレーザーセンサーを使用するために適用されます。
「直線(seamPos)」コマンドノード、パラメータ:
ポイント名:ティーチングポイント
調整速度(%):0 ~ 100
停止:false/true、trueを選択すると、スムーズ遷移パラメータ値は有効になりません。
スムーズ遷移(mm):スムーズ遷移半径 0 ~ 1000
溶接ビームキャッシュデータ選択:計画データを実行/記録データを実行
板材タイプ:波板/段ボール板/フェンス板/油筒/波甲殻鋼
オフセットするか:いいえ/ベース座標オフセット/ツール座標オフセット/レーザー生データオフセット 「いいえ」を選択すると、dx~drzパラメータ値は有効になりません。
dx~drz:オフセット量
図表 10.5-4 直線(seamPos)コマンドコードブロック
10.5.5. 円弧コマンド
「円弧コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
円弧運動には2つのポイントが含まれます。最初のポイントは円弧の中間遷移点、2番目のポイントは終点です。遷移点と終点の両方でオフセットの有無を設定できます。ベース座標系オフセットとツール座標オフセットを選択でき、x, y, z, rx, ry, rzのオフセット量を設定します。終点ではスムーズ遷移半径を設定して、連続的な動作効果を実現できます。
「円弧」コマンドノード、パラメータ:
円弧中間点:ティーチングポイント
オフセットするか:いいえ/ベース座標オフセット/ツール座標オフセット 「いいえ」を選択すると、dx~drzパラメータ値は有効になりません。
dx~drz:オフセット量
円弧終点:ティーチングポイント
オフセットするか:いいえ/ベース座標オフセット/ツール座標オフセット 「いいえ」を選択すると、dx~drzパラメータ値は有効になりません。
dx~drz:オフセット量
調整速度(%):0 ~ 100
停止:false/true、trueを選択すると、スムーズ遷移パラメータ値は有効になりません。
スムーズ遷移(mm):スムーズ遷移半径 0 ~ 1000
図表 10.5-5 円弧コマンドコードブロック
10.5.6. 真円コマンド
「真円コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
「真円」コマンドノードをクリックし、ノード図編集画面に入ります。
真円運動には2つのポイントが含まれます。最初のポイントは真円の中間遷移点1、2番目のポイントは真円の中間遷移点2です。遷移点2ではオフセットの有無を設定でき、このオフセット量は遷移点1と遷移点2の両方に同時に有効になります。
「真円」コマンドノード、パラメータ:
真円中間点1:ティーチングポイント
真円中間点2:ティーチングポイント
調整速度(%):0 ~ 100
オフセットするか:いいえ/ベース座標オフセット/ツール座標オフセット 「いいえ」を選択すると、dx~drzパラメータ値は有効になりません。
dx~drz:オフセット量
図表 10.5-6 真円コマンドコードブロック
10.5.7. 螺旋コマンド
「螺旋コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
螺旋線運動には3つのポイントが含まれ、これらの3つのポイントが円を形成します。3番目のポイントの設定画面には、螺旋巻数、姿勢補正角、半径増分、回転軸方向増分といったパラメータ設定が含まれます。螺旋巻数はその螺旋線の運動巻数です。姿勢補正角は螺旋線終了時の姿勢と螺旋線開始点の姿勢を補正します。半径増分は各巻きの半径の増分です。回転軸方向増分は螺旋軸方向の増分です。オフセットするかを設定すると、そのオフセット量は螺旋線全体の軌跡に有効になります。
「螺旋」コマンドノード、パラメータ:
螺旋線中間点1:ティーチングポイント
螺旋線中間点2:ティーチングポイント
螺旋線中間点3:ティーチングポイント
調整速度(%):0 ~ 100
オフセットするか:いいえ/ベース座標オフセット/ツール座標オフセット 「いいえ」を選択すると、dx~drzパラメータ値は有効になりません。
dx~drz:オフセット量
螺旋巻数:0 ~ 100
姿勢角補正rx(°):-1000 ~ 1000
姿勢角補正ry(°):-1000 ~ 1000
姿勢角補正rz(°):-1000 ~ 1000
半径増分(mm):-100 ~ 100
回転軸方向増分(mm):-100 ~ 100
図表 10.5-7 螺旋コマンドコードブロック
10.5.8. 新螺旋コマンド
「新螺旋コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
「新螺旋」コマンドノードをクリックし、ノード図編集画面に入ります。
新螺旋運動は最適化版の螺旋線運動です。このコマンドは、1つのポイントと各種パラメータの設定だけで螺旋線運動を実現します。ロボットは現在位置を起点とし、ユーザーは調整速度、オフセットするか、螺旋巻数、螺旋傾斜角、初期半径、半径増分、回転軸方向増分、回転方向といったパラメータを設定します。螺旋巻数はその螺旋線の運動巻数です。螺旋傾斜角はツールZ軸と水平方向との夾角です。姿勢補正角は螺旋線終了時の姿勢と螺旋線開始点の姿勢を補正します。初期半径は最初の巻きの半径の大きさです。半径増分は各巻きの半径の増分です。回転軸方向増分は螺旋軸方向の増分です。回転方向は時計回りと反時計回りです。
「新螺旋」コマンドノード、パラメータ:
螺旋線起点:ティーチングポイント
調整速度(%):0 ~ 100
オフセットするか:いいえ/ベース座標オフセット/ツール座標オフセット 「いいえ」を選択すると、dx~drzパラメータ値は有効になりません。
dx~drz:オフセット量
螺旋巻数:0 ~ 100
螺旋傾斜角(°):-100 ~ 100
初期半径:0 ~ 100
半径増分(mm):-100 ~ 100
回転軸方向増分(mm):-100 ~ 100
回転方向:時計回り/反時計回り
図表 10.5-8 新螺旋コマンドコードブロック
10.5.9. 水平螺旋コマンド
「水平螺旋コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
「H-Spiral」コマンドは水平空間螺旋線運動のためのもので、このコマンドは単一運動(直線)コマンドの後に設定します。
「水平螺旋」コマンドノード、パラメータ:
螺旋半径: 0~100mm
螺旋角速度: 0~2rev/s
回転方向: 螺旋 時計回り/反時計回り
螺旋傾斜角: 0~40°
図表 10.5-9 水平螺旋コマンドコードブロック
10.5.10. スプラインコマンド
「スプラインコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは、スプライングループ開始、スプラインセグメント、スプライングループ終了の3つの部分に分かれています。スプライングループ開始はスプライン運動の開始フラグです。スプラインセグメントは現在のノード図にはSPLセグメントのみが含まれます。スプライングループ終了はスプライン運動の終了フラグです。
「スプライン-SPTP」コマンドノード、パラメータ:
ポイント名:ティーチングポイント
調整速度(%):0 ~ 100
図表 10.5-10 スプラインコマンドコードブロック
10.5.11. 新スプラインコマンド
「新スプラインコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドはスプラインコマンドのアルゴリズム最適化コマンドであり、将来的に既存のスプラインコマンドを置き換える予定です。このコマンドは、多点軌跡開始、多点軌跡セグメント、多点軌跡終了の3つの部分に分かれています。多点軌跡開始は多点軌跡運動の開始フラグです。多点軌跡セグメントは各軌跡点を設定します。アイコンをクリックするとポイント追加画面が開きます。多点軌跡終了は多点軌跡運動の終了フラグです。ここでは制御モードと調整速度を設定できます。制御モードは「制御点指定」と「経路点指定」に分かれます。
「新スプライン」コマンドノード、パラメータ:
制御モード:ティーチングポイント
グローバル平均接続時間:整数型、10以上、デフォルト値は2000ms
「新スプライン-SPL」コマンドノード、パラメータ:
ポイント名:ティーチングポイント
調整速度(%):0 ~ 100
スムーズ遷移半径:0 ~ 1000
最後のポイントか:いいえ/はい
図表 10.5-11 新スプラインコマンドコードブロック
10.5.12. ウィービングコマンド
「ウィービングコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
「ウィービング」コマンドノード、パラメータ:
番号:0~7
図表 10.5-12 ウィービングコマンドコードブロック
10.5.13. ポイントオフセットコマンド
「ポイントオフセットコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは全体オフセットコマンドです。各オフセット量を入力すると、運動コマンドはベース座標(またはワーク座標)に基づいてオフセットされます。
「ポイントオフセット」コマンドノード、パラメータ:
∆x:オフセット量、-300~300
∆y:オフセット量、-300~300
∆z:オフセット量、-300~300
∆rx:オフセット量、-300~300
∆ry:オフセット量、-300~300
∆rz:オフセット量、-300~300
図表 10.5-13 ポイントオフセットコマンドコードブロック
10.5.14. サーボコマンド
「サーボコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
サーボ制御(デカルト空間運動)コマンドです。このコマンドは、絶対位置制御または現在の姿勢からのオフセットに基づいてロボットの運動を制御できます。
「サーボ」コマンドノード、パラメータ:
運動方式:絶対位置/ベース座標オフセット/ツール座標オフセット
x:オフセット量、-300~300
y:オフセット量、-300~300
z:オフセット量、-300~300
rx:オフセット量、-300~300
ry:オフセット量、-300~300
rz:オフセット量、-300~300
比例係数x:0~1
比例係数y:0~1
比例係数z:0~1
比例係数rx:0~1
比例係数ry:0~1
比例係数rz:0~1
加速度(%):0~100
速度(%):0~100
コマンド周期(s):0.001~0.016
フィルタ時間(s):0~1
比例増幅:0~100
図表 10.5-14 サーボコマンドコードブロック
10.5.15. 軌跡コマンド
「軌跡コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドを使用するには、ユーザーは事前に記録された軌跡を持っている必要があります。
「軌跡」コマンドノード、パラメータ:
軌跡ファイルの選択:記録された軌跡
調整速度(%):0 ~ 100、デフォルト値は25
図表 10.5-15 軌跡コマンドコードブロック
10.5.16. 軌跡Jコマンド
「軌跡Jコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドを使用するには、ユーザーは事前に記録された軌跡を持っている必要があります。ティーチングプログラム画面で事前に軌跡ファイルをインポートできます。軌跡コマンドと軌跡Jコマンドは、カメラから直接軌跡が与えられる場合の汎用インターフェースに適しており、固定フォーマットの離散的な軌跡点ファイルが既にある場合に、システムにインポートして、ロボットがインポートされたファイルの軌跡に従って運動できるようにするものです。
「軌跡J」コマンドノード、パラメータ:
軌跡ファイルの選択:記録された軌跡
調整速度(%):0 ~ 100、デフォルト値は25
軌跡モード:経路点/制御点
図表 10.5-16 軌跡Jコマンドコードブロック
10.5.17. 軌跡再現コマンド
「軌跡再現コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドを使用するには、ユーザーは事前に記録された軌跡を持っている必要があります。
プログラムを作成する際は、まず点対点コマンドを使用して対応する軌跡の開始点に到達し、次に軌跡再現コマンドで軌跡を選択し、スムーズ軌跡を選択し、調整速度を設定します。軌跡読み込みコマンドは、主に事前に軌跡ファイルを読み取り、軌跡コマンドとして抽出し、コンベアトラッキングシナリオにより適したものにするために使用されます。
「軌跡再現」コマンドノード、パラメータ:
軌跡名:記録された軌跡
スムーズ軌跡:いいえ/はい
調整速度(%):0 ~ 100、デフォルト値は25
図表 10.5-17 軌跡再現コマンドコードブロック
10.5.18. DMPコマンド
「DMPコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
DMPは軌跡模倣学習の方法であり、事前に参照軌跡を計画する必要があります。コマンド編集画面で、ティーチングポイントを新しい起点として選択し、「追加」、「適用」をクリックすると、このコマンドを保存できます。DMPの具体的な経路は、新しい起点を基に参照軌跡を模倣した新しい軌跡です。
「DMP」コマンドノード、パラメータ:
ポイント名:ティーチングポイント
調整速度(%):0 ~ 100、デフォルト値は100
図表 10.5-18 DMPコマンドコードブロック
10.5.19. ツール変換コマンド
「ツール変換コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
自動変換を行いたいツール座標系を選択し、「追加」、「適用」をクリックすると、このコマンドを保存できます。ツール座標系のポイントは自動的に変換されます。
「ツール変換」コマンドノード、パラメータ:
ツール座標系:ツール座標系リスト
図表 10.5-19 ツール変換コマンドコードブロック
10.5.20. ワーク変換コマンド
「ワーク変換コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
自動変換を行いたいワーク座標系を選択し、「追加」、「適用」をクリックすると、このコマンドを保存できます。ワーク座標系のポイントは自動的に変換されます。
「ワーク変換」コマンドノード、パラメータ:
ワーク座標系:ワーク座標系リスト
図表 10.5-20 ワーク変換コマンドコードブロック
10.6. 制御クラスグラフィカルプログラミングコマンド
制御クラスグラフィカルプログラミングコマンドには、Wait、I/Oなどの制御コマンドが含まれます。
図表 10.6 制御クラスグラフィカルプログラミングコマンド
10.6.1. 待機コマンド
「待機コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは遅延コマンドであり、「WaitMs」、「WaitDI」、「WaitMultiDI」、「WaitAI」の4つの部分に分かれています。
「待機」コマンドノード、パラメータ:
待機時間(ms): 遅延待機時間の単位はミリ秒です。待機したいミリ秒数を入力します。
図表 10.6-1 待機コマンドコードブロック
「WaitDI」コマンドノード、パラメータ:
DIポート番号: Ctrl-DI0 ~ Ctrl-CI7(WaitDI,[0~15]), End-DI0 ~ End-DI1(WaitToolDI,[0~1])
状態: false/true
最大時間(ms): 0 ~ 10000
待機タイムアウト処理:停止してエラー報告/実行継続/無期限待機
図表 10.6-2 WaitDIコマンドコードブロック
「WaitMultiDI」コマンドノード、パラメータ:
条件: AND/OR
条件選択:状態が有効になるポート番号を選択し、カンマで区切ります。例 DI0,DI1
真値対応ポート:真値のポート番号を選択し、カンマで区切ります。例 DI0,DI1
最大時間(ms):0 ~ 10000、最大待機時間
待機タイムアウト処理:停止してエラー報告/実行継続/無期限待機
図表 10.6-3 WaitMultiDIコマンドコードブロック
「WaitAI」コマンドノード、パラメータ:
条件: AND/OR
AIポート番号: Ctrl-AI0 ~ Ctrl-AI1(WaitAI,[0~1]), End-AI0(WaitToolAI,[0])
条件:より大きい/より小さい
数値(%):1 ~ 100
最大時間(ms):0 ~ 10000
待機タイムアウト処理:停止してエラー報告/実行継続/無期限待機 待機タイムアウト処理が無期限待機の場合、最大時間はデフォルトで0になります。
図表 10.6-4 WaitAIコマンドコードブロック
10.6.2. モード切替コマンド
「モード切替コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドはロボットを手動モードに切り替えることができます。通常はプログラムの末尾に追加され、プログラム実行終了後にユーザーがロボットを自動的に手動モードに切り替え、ロボットをドラッグできるようにするために使用されます。
「モード切替」コマンドノード、パラメータ:
モード切替:手動モード
図表 10.6-5 モード切替コマンドコードブロック
10.6.3. 一時停止コマンド
「一時停止コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは一時停止コマンドです。プログラムにこのコマンドを挿入すると、プログラムがこのコマンドを実行した時点でロボットは一時停止状態になります。続行したい場合は、制御エリアの「一時停止/再開」ボタンをクリックします。
「一時停止」コマンドノード、パラメータ:
一時停止タイプ:機能なし、シリンダー未到位など
図表 10.6-6 一時停止コマンドコードブロック
10.6.4. 座標系コマンド
「ツール座標系を設定」/「ワーク座標系を設定」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
「ツール座標系を設定」コマンドノード、パラメータ:
ツール座標系名:toolcoord1 ~ toolcoord19(SetToolList,[0~19]), etoolcoord0 ~ etoolcoord14(SetExToolList, [0~14])
図表 10.6-7 ツール座標系設定コマンドコードブロック
「ワーク座標系を設定」コマンドノード、パラメータ:
ワーク座標系名:wobjcoord1 ~ wobjcoord14
図表 10.6-8 ワーク座標系設定コマンドコードブロック
10.6.5. アナログAIコマンド
「AO設定」/「AI取得」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドには、アナログ出力設定(SetAO/SPLCSetAO)とアナログ入力取得(GetAI/SPLCGetAI)の2つの部分の機能があります。
「AO設定」コマンドノード、パラメータ:
ポート:Ctrl-AO0 ~ Ctrl-AO1(ブロッキング:SetAO, 非ブロッキング:SPLCSetAO,[0~1]), End-AO0(ブロッキング:SetToolAO, 非ブロッキング:SPLCSetToolAO,[0])
数値(%):0 ~ 100
ブロッキングするか:ブロッキング/非ブロッキング
スレッドを適用するか:いいえ/はい
図表 10.6-9 AO設定コマンドコードブロック
「AI取得」コマンドノード、パラメータ:
ポート:Ctrl-AI0 ~ Ctrl-DI1(ブロッキング:GetAI, 非ブロッキング:SPLCGetAI,[0~1]), End-AI0(ブロッキング:GetToolAI, 非ブロッキング:SPLCGetToolAI,[0])
条件:より大きい/より小さい
数値(%):0 ~ 100
最大時間(ms):0 ~ 10000
ブロッキングするか:ブロッキング/非ブロッキング
スレッドを適用するか:いいえ/はい
図表 10.6-10 AI取得コマンドコードブロック
10.6.6. デジタルIOコマンド
「DO設定」/「DI取得」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドはIOコマンドであり、IO設定(SetDO/SPLCSetDO)とIO取得(GetDI/SPLCGetDI)の2つの部分に分かれています。
「DO設定」コマンドノード、パラメータ:
ポート:Ctrl-DO0 ~ Ctrl-CO7(ブロッキング:SetDO, 非ブロッキング:SPLCSetDO,[0~15]), End-DO0 ~ End-DO1(ブロッキング:SetToolDO, 非ブロッキング:SPLCSetToolDO,[0~1])
状態:false/true
ブロッキングするか:ブロッキング/非ブロッキング
スムーズ軌跡:Break/Serious
スレッドを適用するか:いいえ/はい
図表 10.6-11 DO設定コマンドコードブロック
「DI取得」コマンドノード、パラメータ:
ポート:Ctrl-DI0 ~ Ctrl-CI7(ブロッキング:GetDI, 非ブロッキング:SPLCGetDI,[0~15]), End-DI0 ~ End-DI1(ブロッキング:GetToolDI, 非ブロッキング:SPLCGetToolDI,[0~1])
ブロッキングするか:ブロッキング/非ブロッキング
状態:false/true
最大待機時間(ms):0 ~ 10000
スレッドを適用するか:いいえ/はい
図表 10.6-12 DI取得コマンドコードブロック
10.6.7. 運動DOコマンド
「運動DOコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは、直線運動中に、設定された間隔に従って連続的にDO信号を出力する機能を実現します。
「運動DO連続出力」コマンドノード、パラメータ:
ポート:Ctrl-DO0 ~ Ctrl-DO0(MoveDOStart,[0~15]), End-DO1(MoveDOStart,[0~1])
設定間隔(mm):0 ~ 500
出力パルスデューティ比(%):0 ~ 99
「運動DO単回出力」コマンドノード、パラメータ:
ポート:Ctrl-DO0 ~ Ctrl-DO0(MoveDOOnceStart,[0~15]), End-DO1(MoveDOOnceStart,[0~1])
出力モード:等速部分出力/自由設定
セット時間(ms):0 ~ 1000 (等速部分出力モードのデフォルトは -1)
リセット時間(ms):0 ~ 1000 (等速部分出力モードのデフォルトは -1)
図表 10.6-13 「運動DO単回/連続出力」コマンドコードブロック
10.6.8. 運動AOコマンド
「運動AOコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは、運動コマンドと併用する場合、運動中にリアルタイムのTCP速度に応じて比例的にAO信号を出力することを実現します。
「運動AO」コマンドノード、パラメータ:
制御箱AO番号:Ctrl-AO0 ~ Ctrl-AO1(MoveAOStart,[0~1]), End-AO0(MoveToolAOStart,0)
最大TCP速度:0 ~ 100
最大TCP速度時のAOパーセンテージ:0 ~ 100
不感帯補償値AOパーセンテージ:0 ~ 100
図表 10.6-14 「運動AO」コマンドコードブロック
10.6.9. 衝突レベルコマンド
「衝突レベルコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは衝突レベルの設定です。このコマンドを使用することで、プログラム実行中に各軸の衝突レベルをリアルタイムで調整し、より柔軟にアプリケーションシナリオを展開できます。
「衝突レベル」コマンドノード、パラメータ:
標準レベル:標準レベル/カスタムパーセンテージ
joint1-joint6(N):0 ~ 100、衝突しきい値、配列型
図表 10.6-15 衝突レベルコマンドコードブロック
10.6.10. 加速度コマンド
「加速度コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
「加速度」コマンドは、ロボットの加速度を個別に設定できる機能を実現するものです。運動コマンドの加速度スケーリング係数を調整することで、加減速時間を増減させ、ロボットの動作タクト時間を調整可能にします。
「加速度」コマンドノード、パラメータ:
加速度パーセンテージ(%):0 ~ 100
図表 10.6-16 加速度コマンドコードブロック
10.7. 周辺機器クラスグラフィカルプログラミングコマンド
周辺機器クラスグラフィカルプログラミングコマンドには、グリッパー、スプレーガン、拡張軸などの周辺機器コマンドが含まれます。
図表 10.7 周辺機器クラスグラフィカルプログラミングコマンド
10.7.1. グリッパーコマンド
「グリッパー運動」、「グリッパーアクティブ化」、「グリッパーリセット」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドでは、設定が完了しアクティブ化されたグリッパー番号が表示され、グリッパーの開閉、開閉速度、開閉トルクの設定ができます。数値はパーセンテージです。ブロッキング機能オプションでは、ブロッキングを選択すると、前の運動コマンドの実行が完了するまでグリッパー運動は待機します。非ブロッキングを選択すると、グリッパー運動は前の運動コマンドと並行して実行されます。
「グリッパー運動」ノード、パラメータ:
グリッパー番号:アクティブ化されたグリッパー番号
グリッパー位置:0~100
開閉速度:0~100
開閉トルク:0~100
最大時間(ms):0~30000
ブロッキングするか:false/true
図表 10.7-1 グリッパー運動コマンドコードブロック
グリッパーリセットコマンドでは、設定済みのグリッパー番号が表示され、グリッパーリセットコマンドをプログラムに追加できます。
「グリッパーリセット」ノード、パラメータ:
グリッパー番号:アクティブ化されたグリッパー番号
図表 10.7-2 グリッパーリセットコマンドコードブロック
グリッパーアクティブ化コマンドでは、設定済みのグリッパー番号が表示され、グリッパーアクティブ化コマンドをプログラムに追加できます。
「グリッパーアクティブ化」ノード、パラメータ:
グリッパー番号:アクティブ化されたグリッパー番号
図表 10.7-3 グリッパーアクティブ化コマンドコードブロック
10.7.2. スプレーガンコマンド
「スプレーガンコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは塗装関連のコマンドで、スプレーガンの「塗装開始」、「塗装停止」、「ガン清掃開始」、「ガン清掃停止」を制御します。このプログラムの関連ノードを編集する際は、スプレーガンの周辺機器が正しく設定されていることを確認する必要があります。設定されていないと保存できません。詳細は「ロボット周辺機器」の章を参照してください。
図表 10.7-4 塗装開始コマンドコードブロック
図表 10.7-5 塗装停止コマンドコードブロック
図表 10.7-6 ガン清掃開始コマンドコードブロック
図表 10.7-7 ガン清掃停止コマンドコードブロック
10.7.3. 拡張軸コマンド(コントローラー + PLC)
「拡張軸コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは外部軸を使用するシナリオを対象としており、PTPコマンドと組み合わせて使用することで、空間上の一点のX軸方向の移動を外部軸の運動に分解できます。外部軸番号を選択し、運動方式で「同期」を選択し、到達したいポイントを選択します。
UDP通信読み込み/設定、非同期運動、同期PTP/LIN運動、同期ARC運動、原点復帰コマンド、イネーブルコマンドに分かれます。
「UDP通信設定」コマンドノード、IPアドレス、ポート番号、通信周期を入力します。
図表 10.7-8 UDP通信設定コマンドコードブロック
「非同期運動」コマンドノード、パラメータ:
ポイント名:ティーチングポイント
調整速度(%):0~100
図表 10.7-9 非同期運動コマンドコードブロック
「同期PTP/LIN運動」コマンドノード、パラメータ:
運動選択:PTP/LIN
ポイント名:ティーチングポイント
調整速度(%):0~100
図表 10.7-10 「同期PTP/LIN運動」コマンドコードブロック
「同期ARC運動」コマンドノード、デフォルトの運動方式はARC、パラメータ:
ポイント名:ティーチングポイント
調整速度(%):0~100
図表 10.7-11 「同期ARC運動」コマンドコードブロック
「拡張軸原点復帰」コマンドノード、パラメータ:
拡張軸番号:1~4
原点復帰方式:現在位置原点復帰/負リミット原点復帰/正リミット原点復帰
原点探索速度:0~2000、デフォルトは5
零点クランプ速度:0~2000、デフォルトは1
図表 10.7-12 拡張軸原点復帰コマンドコードブロック
「拡張軸イネーブル」コマンドノード、パラメータ:
拡張軸番号:1~4
図表 10.7-13 拡張軸イネーブルコマンドコードブロック
10.7.4. 拡張軸コマンド(コントローラー + サーボドライバー)
「拡張軸コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは拡張軸のパラメータを設定できます。異なる制御モードに応じて異なるパラメータを設定します。設定済みの拡張軸については、そのゼロ点を設定できます。
サーボID、制御モード、サーボイネーブル、サーボ原点復帰に分かれます。制御モードはさらに位置モードと速度モードに分かれます。これらのノードは制御モードと組み合わせて使用する必要があります。単独で追加しても有効になりません。
「サーボID」コマンドノード、パラメータ:
サーボID:1~15
図表 10.7-14 サーボIDコマンドコードブロック
「制御モード」コマンドノード、パラメータ:
サーボID:1~15
制御モード:位置モード/速度モード
図表 10.7-15 制御モードコマンドコードブロック
「サーボイネーブル」コマンドノード、パラメータ:
サーボID:1~15
サーボイネーブル:サーボイネーブル/イネーブル解除
図表 10.7-16 サーボイネーブルコマンドコードブロック
「サーボ原点復帰」コマンドノード、パラメータ:
サーボID:1~15
原点復帰方式:現在位置原点復帰/負リミット原点復帰/正リミット原点復帰
原点探索速度:0~2000、デフォルトは5
零点クランプ速度:0~2000、デフォルトは1
加速度パーセンテージ:1~100、デフォルトは100
図表 10.7-17 サーボ原点復帰コマンドコードブロック
「位置モード」コマンドノード、パラメータ:
サーボID:1~15
目標位置:無制限
原点探索速度:無制限
加速度パーセンテージ:1~100、デフォルトは100
図表 10.7-18 位置モードコマンドコードブロック
「速度モード」コマンドノード、パラメータ:
サーボID:1~15
目標速度:無制限
加速度パーセンテージ:1~100、デフォルトは100
図表 10.7-19 速度モードコマンドコードブロック
10.7.5. コンベアコマンド
このコマンドには、IOリアルタイム検出、位置リアルタイム検出、トラッキング開始、トラッキング終了の4つのコマンドが含まれます。詳細は「ロボット周辺機器」の章を参照してください。
「IOリアルタイム検出」コマンドノード、パラメータ:
最大待機時間:0~10000
図表 10.7-20 IOリアルタイム検出コマンドコードブロック
「位置リアルタイム検出」コマンドノード、パラメータ:
動作モード:トラッキングピック/トラッキング運動/TPDトラッキング
図表 10.7-21 位置リアルタイム検出コマンドコードブロック
「トラッキング開始」、「トラッキング終了」コマンドノード、パラメータ:
動作モード:トラッキングピック/トラッキング運動/TPDトラッキング
図表 10.7-22 トラッキング開始/終了コマンドコードブロック
10.7.6. 研磨コマンド
「研磨コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは研磨シナリオで使用されます。使用する際は、まずドライバをアンロードしてからロードし、次に研磨デバイスのイネーブルを設定します。
さらに研磨デバイスの回転数、接触力、突出距離、制御モードを設定し、同時に研磨デバイスのエラークリアやデバイス力センサーのゼロリセットも行えます。
図表 10.7-23 通信ドライバ読み込み/アンロードコマンドコードブロック
「デバイスイネーブル」コマンドノード、パラメータ:
デバイスイネーブル:イネーブル/ディセーブル
図表 10.7-24 デバイスイネーブルコマンドコードブロック
図表 10.7-25 デバイスエラークリアコマンドコードブロック
図表 10.7-26 デバイス力センサーゼロリセットコマンドコードブロック
「回転数」コマンドノード、パラメータ:
回転数:0~5500
図表 10.7-27 デバイス回転数コマンドコードブロック
「設定力」コマンドノード、パラメータ:
設定力:0~200
図表 10.7-28 設定力コマンドコードブロック
「突出距離」コマンドノード、パラメータ:
突出距離:0~12
図表 10.7-29 突出距離コマンドコードブロック
「研磨接触力」コマンドノード、パラメータ:
接触力:0~10000
図表 10.7-30 研磨接触力コマンドコードブロック
「設定力移行時間」コマンドノード、パラメータ:
設定力移行時間:0~10000
図表 10.7-31 設定力移行時間コマンドコードブロック
「ワーク重量」コマンドノード、パラメータ:
ワーク重量:0~10000
図表 10.7-32 ワーク重量コマンドコードブロック
「制御モード」コマンドノード、パラメータ:
制御モード:原点復帰モード/位置モード/トルクモード
図表 10.7-33 制御モードコマンドコードブロック
10.8. 溶接クラスグラフィカルプログラミングコマンド
溶接クラスグラフィカルプログラミングコマンドには、位置探索、断続溶接、溶接、レーザートラッキングなどの溶接コマンドが含まれます。
図表 10.8 溶接クラスグラフィカルプログラミングコマンド
10.8.1. 断続溶接コマンド
「断続溶接コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは溶接専用コマンドで、主に、溶接する区間と溶接しない区間を交互に繰り返す断続的な溶接シナリオで使用されます。始点と終点の間で、このコマンドを使用し、断続溶接モードを選択し、始点と終点を選択し、調整速度を設定し、アーク開始のDOポート、実行長さ、非実行長さを設定し、実際のアプリケーションシナリオに応じて機能モード、ウィービング選択、丸めルールを設定することで、断続溶接機能を実現できます。詳細な操作はプログラムティーチングページの断続溶接コマンドを参照してください。
「アーク終了/アーク開始」コマンドノード、パラメータ:
I/Oタイプ:制御器IO/拡張IO
溶接プロセス番号: 0 ~ 7
最大待機時間(ms):0 ~ 10000
図表 10.8-1 「アーク終了/アーク開始」コマンドコードブロック
「断続溶接」コマンドノード、パラメータ:
断続溶接モード:姿勢変更なし/姿勢変更あり
始点:ティーチングポイント
終点:ティーチングポイント
調整速度(%):0~100、デフォルトは100
実行長さ:0~1000
非実行長さ:0~1000
機能モード:0~100、デフォルトは100
ウィービング選択:実行区間でウィービングしない/実行区間でウィービングする
丸めルール:丸めなし/循環丸め/単区間丸め
図表 10.8-2 断続溶接コマンドコードブロック
10.8.2. 溶接コマンド
「溶接コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは主に溶接機周辺機器に使用されます。このコマンドを追加する前に、ユーザー周辺機器で溶接機の設定が完了していることを確認してください。詳細は「ロボット周辺機器」の章を参照してください。
「溶接機電圧」コマンドノード、パラメータ:
溶接機電圧:最小値は0
図表 10.8-3 溶接機電圧コマンドコードブロック
「溶接機電流」コマンドノード、パラメータ:
溶接機電流:最小値は0
図表 10.8-4 溶接機電流コマンドコードブロック
「ガス供給/ガス停止」コマンドノード、パラメータ:
I/Oタイプ:制御器IO/拡張IO
図表 10.8-5 「ガス供給/ガス停止」コマンドコードブロック
「正送給/正送給停止」コマンドノード、パラメータ:
I/Oタイプ:制御器IO/拡張IO
図表 10.8-6 「正送給/正送給停止」コマンドコードブロック
「逆送給/逆送給停止」コマンドノード、パラメータ:
I/Oタイプ:制御器IO/拡張IO
図表 10.8-7 「逆送給/逆送給停止」コマンドコードブロック
10.8.3. レーザートラッキングコマンド
「レーザートラッキングコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは、レーザーコマンド、トラッキングコマンド、位置探索コマンドの3つの部分に分かれています。このコマンドを追加する前に、ユーザー周辺機器でレーザートラッキングセンサーが正常に設定されていることを確認してください。詳細は「ロボット周辺機器」の章を参照してください。
「センサー起動/終了」コマンドノード、パラメータ:
溶接継手タイプ選択:0 ~ 49
図表 10.8-8 「センサー起動/終了—溶接継手タイプ」コマンドコードブロック
タスク番号選択:0 ~ 255
図表 10.8-9 「センサー起動/終了—タスク番号」コマンドコードブロック
ソリューション:0 ~ 5
図表 10.8-10 「センサー起動/終了—ソリューション」コマンドコードブロック
「センサー読み込み/アンロード」コマンドノード、パラメータ:
機能選択:睿牛RRT-SV2-BP/创想CXZK-RBTA4L
図表 10.8-11 「センサー読み込み/アンロード」コマンドコードブロック
「レーザートラッキング開始/終了」コマンドノード、パラメータ
座標系名:カスタム設定した座標系
図表 10.8-12 「レーザートラッキング開始/終了」コマンドコードブロック
「データ記録」コマンドノード、パラメータ:
機能選択:記録停止/リアルタイムトラッキング/記録開始/軌跡再現
待機時間(ms): 0 ~ 10000
図表 10.8-13 「データ記録」コマンドコードブロック
「センサー位置決め運動」コマンドノード、パラメータ:
座標系名:カスタム設定した座標系
運動方式: PTP/Lin
調整速度(%): 0 ~ 100
図表 10.8-14 「センサー位置決め運動」コマンドコードブロック
「レーザートラッキング再現」コマンドノード、パラメータ:
図表 10.8-15 「レーザートラッキング再現」コマンドコードブロック
「位置探索開始/終了」コマンドノード、パラメータ:
座標系名:カスタム設定した座標系
方向: -x/-x/-y/-y/-z/-z/指定方向
方向点:「指定方向」が選択されていない場合、パラメータは無効になります。
速度(%):0 ~ 100
長さ(mm):0 ~ 1000
最大位置探索時間(ms):0 ~ 10000
図表 10.8-16 「位置探索開始/終了」コマンドコードブロック
10.8.4. レーザー記録コマンド
「レーザー記録コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは、レーザートラッキング記録の始点・終点取出機能を実現し、ロボットが自動的に始点位置まで移動できるようにするもので、ワーク外部から移動を開始しレーザートラッキング記録を行う場合に適しています。同時に、上位機は記録データ中の始点・終点の情報を取得し、後の動作に使用することができます。
レーザートラッキング再現速度の調整機能を実現し、ロボットが非常に速い速度で記録を行い、その後通常の溶接速度で再現することを可能にし、作業効率を向上させることができます。
「溶接ビームデータ記録」コマンドノード、パラメータ:
機能選択:記録停止/リアルタイムトラッキング/記録開始/軌跡再現
待機時間(ms):0~10000、デフォルトは10
速度(%):0~100、デフォルトは30、軌跡再現を選択した場合、このパラメータが有効になります。
図表 10.8-17 溶接ビームデータ記録コマンドコードブロック
「溶接ビーム始点/終点の取得」コマンドノード、パラメータ:
運動方式:PTP/LIN
速度(%):0~100、デフォルトは30
図表 10.8-18 「溶接ビーム始点/終点の取得」コマンドコードブロック
10.8.5. 溶接ワイヤ位置探索コマンド
「溶接ワイヤ位置探索コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは一般的に溶接シナリオで使用され、溶接機とロボットのI/Oおよび運動コマンドを組み合わせて使用する必要があります。位置探索開始、位置探索終了、位置探索点設定、オフセット量計算、接触点データ書き込みに分かれます。
「溶接ワイヤ位置探索開始/終了」コマンドノード、パラメータ:
基準位置:更新しない/更新する
位置探索速度:0~100
位置探索距離:0~1000
自動戻りフラグ:自動戻りしない/自動戻りする
自動戻り速度:0~100
自動戻り距離:0~1000
位置探索方式:ティーチング点位置探索/オフセット量指定位置探索
図表 10.8-19 「溶接ワイヤ位置探索開始/終了」コマンドコードブロック
位置探索点設定は、溶接継手タイプと計算方法に応じてポイントを追加します。
タイプが「すみ肉溶接」、計算方法が「1D(xyzのいずれか)」の場合、ポイントは a点、b点から選択して追加します。
タイプが「すみ肉溶接」、計算方法が「2D(xyzのうち2つ)」の場合、ポイントは a点、b点、e点、f点から選択して追加します。
タイプが「すみ肉溶接」、計算方法が「3D(xyz)」の場合、ポイントは a点、b点、c点、d点、e点、f点から選択して追加します。
タイプが「すみ肉溶接」、計算方法が「2D-(xyzのうち2つ、rxryrzのうち1つ)」の場合、ポイントは a点、b点、c点、d点、e点、f点から選択して追加します。
タイプが「内外径」、計算方法が「2D2D(xyzのうち2つ)」の場合、ポイントは a点、b点から選択して追加します。
タイプが「点」、計算方法が「3D(xyz)」の場合、ポイントは a点、b点、c点、d点、e点、f点から選択して追加します。
タイプが「カメラ」、計算方法が「3D-(xyzrxryrz)」の場合、ポイントは a点、b点から選択して追加します。
タイプが「面」、計算方法が「3D-(xyzrxryrz)」の場合、ポイントは a点、b点から選択して追加します。
図表 10.8-20 「位置探索点設定ガイド」コマンドコードブロック
オフセット量計算は、溶接継手タイプと計算方法に応じて基準点と接触点を設定します。
タイプが「すみ肉溶接」、計算方法が「1D(xyzのいずれか)」の場合、基準点1、接触点1を設定します。
タイプが「すみ肉溶接」、計算方法が「2D(xyzのうち2つ)」の場合、基準点1、基準点2、接触点1、接触点2を設定します。
タイプが「すみ肉溶接」、計算方法が「3D(xyz)」の場合、基準点1、基準点2、基準点3、接触点1、接触点2、接触点3を設定します。
タイプが「すみ肉溶接」、計算方法が「2D-(xyzのうち2つ、rxryrzのうち1つ)」の場合、基準点1、基準点2、基準点3、接触点1、接触点2、接触点3を設定します。
タイプが「内外径」、計算方法が「2D2D(xyzのうち2つ)」の場合、基準点1、基準点2、基準点3、接触点1、接触点2、接触点3を設定します。
タイプが「点」、計算方法が「3D(xyz)」の場合、接触点1、接触点2を設定します。
タイプが「カメラ」、計算方法が「3D-(xyzrxryrz)」の場合、接触点1、接触点2を設定します。
タイプが「面」、計算方法が「3D-(xyzrxryrz)」の場合、接触点1、接触点2、接触点3、接触点4、接触点5、接触点6を設定します。
図表 10.8-21 「オフセット量計算」コマンドコードブロック
「接触点データ書き込み」コマンドノード、パラメータ:
接触点名:RES0~99
接触点名:データ形式は {0,0,0,0,0,0} です。
図表 10.8-22 「接触点データ書き込み」コマンドコードブロック
10.8.6. アークトラッキングコマンド
「アークトラッキングコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは、ロボットの溶接ビームトラッキングにおいて、溶接ビームの偏差検出を利用して軌道を補償することを実現します。アークセンサーを使用して溶接ビームの偏差を検出できます。
「アークトラッキング開始/終了」コマンドノード、パラメータ:
アークトラッキング遅延時間(ms):参考値 50
偏差補償:なし/あり
調節係数:0 ~ 300
補償時間(cyc):0 ~ 300
毎回最大補償量(mm):0 ~ 300
合計最大補償量(mm):0 ~ 300
上下座標系選択:ウィービング
上下基準電流設定方式:フィードバック/定数
上下基準電流(A):0 ~ 300
図表 10.8-23 アークトラッキングコマンドコードブロック
10.8.7. 姿勢調整コマンド
「姿勢調整コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは、溶接トラッキングにおいて溶接トーチの姿勢を適応的に調整するシナリオを対象としており、事前に PosA、PosB、PosC の3点をティーチングする必要があります。そうしないとノードを追加できません。
対応する3つの姿勢点を記録した後、ロボットの実際の移動方向に応じて、姿勢適応調整コマンドを追加します。詳細は「ロボット周辺機器」の章を参照してください。
「姿勢調整開始」コマンドノード、パラメータ:
板材タイプ:波板/段ボール板/フェンス板/波甲殻鋼
移動方向:左から右へ/右から左へ
姿勢調整時間(ms):0 ~ 1000
第一区間長さ(mm):
変曲点タイプ:上から下へ/下から上へ
第二区間長さ(mm):
第三区間長さ(mm):
第四区間長さ(mm):
第五区間長さ(mm):
図表 10.8-24 姿勢調整コマンドコードブロック
10.9. 力制御クラスグラフィカルプログラミングコマンド
力制御クラスグラフィカルプログラミングコマンドには、力制御セット、トルク記録などの力制御コマンドが含まれます。
図表 10.9 力制御クラスグラフィカルプログラミングコマンド
10.9.1. 力制御コマンド
「力制御コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドには、FT_Guard(衝突検出)、FT_Control(恒力制御)、FT_Compliance(柔順制御)、FT_Spiral(螺旋挿入)、FT_Rot(回転挿入)、FT_Lin(直線挿入)、FT_FindSurface(表面位置決め)、FT_CalCenter(中心位置決め)の8つのコマンドが含まれます。詳細は「ロボット周辺機器」の章を参照してください。
「衝突検出開始/終了」コマンドノード、パラメータ:
座標系名:カスタム設定した座標系
Fx-Tx真値:true/false
Fx-Tx現在値:実際の状況に応じて入力
Fx-Tx最大しきい値:実際の状況に応じて入力
Fx-Tx最小しきい値:実際の状況に応じて入力
図表 10.9-1 衝突検出開始/終了コマンドコードブロック
「制御開始/終了」コマンドノード、パラメータ:
座標系名:カスタム設定した座標系
Fx-Tx真値:true/false
Fx-Tx現在値:実際の状況に応じて調整
F_P_gain - F_D_gain:実際の状況に応じて調整、0にすることはできません。
適応開始/停止状態:停止/開始
ILC制御開始/停止状態:停止/トレーニング/実践
最大調整距離(mm):0 ~ 1000
最大調整角度(°):0 ~ 1000
図表 10.9-2 制御開始/終了コマンドコードブロック
「柔順制御開始/終了」コマンドノード、パラメータ:
送信位置調節係数:0 ~ 1
柔順開始力しきい値(N):0 ~ 100
図表 10.9-3 柔順制御開始/終了コマンドコードブロック
「螺旋挿入」コマンドノード、パラメータ:
座標系名:ツール座標系/ベース座標
1回転あたりの半径送り量(mm):0 ~ 100、参考値:0.7
力またはトルクしきい値(N/Nm):0 ~ 100、参考値:50
最大探索時間(ms):0 ~ 60000、参考値:60000
線速度最大値(mm/s):0 ~ 100、参考値:5
図表 10.9-4 螺旋挿入コマンドコードブロック
「回転挿入」コマンドノード、パラメータ:
座標系名:ツール座標系/ベース座標
回転角速度(°/s):0 ~ 100、参考値:0.7
トリガー力または終了トルク(N/Nm):0 ~ 100、参考値:50
最大回転角度(°):0 ~ 100、参考値:5
力の方向:方向z/方向mz
最大回転角加速度(°/s^2):0 ~ 100
挿入方向:正/負
図表 10.9-5 回転挿入コマンドコードブロック
「直線挿入」コマンドノード、パラメータ:
座標系名:ツール座標系/ベース座標
動作終了力しきい値(N):0 ~ 100
直線速度(mm/s):0 ~ 100、参考値:1
直線加速度(°/s^2):0 ~ 100
最大挿入距離(mm):0 ~ 100
挿入方向:正/負
図表 10.9-6 直線挿入コマンドコードブロック
「表面位置決め」コマンドノード、パラメータ:
座標系名:ツール座標系/ベース座標
移動方向:正/負
移動軸:X/Y/Z
探索直線速度(mm/s):0 ~ 100
探索加速度(mm/s^2):0 ~ 100
最大探索距離(mm):0 ~ 100
動作終了力しきい値(N):0 ~ 100
図表 10.9-7 表面位置決めコマンドコードブロック
「中間平面計算開始/終了」コマンドノード。
図表 10.9-8 中間平面計算開始/終了コマンドコードブロック
10.9.2. トルク記録コマンド
「トルク記録コマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドはトルク記録コマンドであり、「トルク記録開始 / トルク記録停止」および「トルク記録リセット」の3つのコマンドが含まれます。
トルクをリアルタイムで記録する衝突検出機能を実現します。
「トルク記録開始」ボタンをクリックすると、運動コマンド実行中の衝突状況を継続的に記録します。記録されたリアルタイムトルクは衝突検出判断の理論値として使用され、誤報の確率を減らします。
設定されたしきい値範囲を超えると、衝突検出の継続時間を記録します。
「トルク記録停止」ボタンをクリックすると、記録を停止します。「トルク記録リセット」をクリックすると、状態はデフォルト状態に戻ります。
「トルク記録開始」コマンドノード、パラメータ:
平滑選択:平滑なし(生データ)/平滑あり(平滑後データ)
関節負しきい値(Nm):-100 ~ 0
関節正しきい値(Nm):0 ~ 100
関節継続衝突検出時間(ms):0 ~ 1000
図表 10.9-9 トルク記録開始コマンドコードブロック
「トルク記録終了」コマンドノード
図表 10.9-10 トルク記録終了コマンドコードブロック
「トルク記録リセット」コマンドノード
図表 10.9-11 トルク記録リセットコマンドコードブロック
10.10. 通信クラスグラフィカルプログラミングコマンド
通信クラスグラフィカルプログラミングコマンドには、modbusマスター設定(クライアント)、modbusスレーブ設定、レジスタ読み取りなどの通信コマンドが含まれます。
図表 10.10 通信クラスグラフィカルプログラミングコマンド
10.10.1. Modbusコマンド
「Modbusコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドの機能は、ModbusTCPプロトコルに基づくバス機能です。ユーザーは関連コマンドを使用して、ロボットとModbusTCPクライアントまたはサーバー(マスターとスレーブ間の通信)を通信させ、コイル、ディスクリート、レジスタの読み書き操作を行うことができます。ModbusTCPのさらなる操作機能については、お問い合わせください。
modbusノード機能を使用する前に、まずティーチングプログラムのModbusTCP設定でマスター、スレーブ、およびDI、DO、AI、AOの名称を設定する必要があります。
マスターデジタル出力設定、パラメータ:
Modbusマスター名:実際の状況に応じて設定
DO名:実際の状況に応じて設定
レジスタ数:整数型 0 ~ 128
レジスタ値:レジスタ数に応じて決定され、複数の数値を入力できます。例えば、数量が3で値が1,0,1の場合。
図表 10.10-1 マスター「デジタル出力の読み取り/書き込み」コマンドコードブロック
マスターデジタル入力設定、パラメータ:
Modbusマスター名:実際の状況に応じて設定
DI名:実際の状況に応じて設定
レジスタ数:整数型 0 ~ 128
図表 10.10-2 マスター「デジタル入力の読み取り」コマンドコードブロック
マスターアナログ出力設定、パラメータ:
Modbusマスター名:実際の状況に応じて設定
AO名:実際の状況に応じて設定
レジスタ数:整数型 0 ~ 128
レジスタ値:レジスタ数に応じて決定され、複数の数値を入力できます。例えば、数量が3で値が1,0,1の場合。
図表 10.10-3 マスター「アナログ出力の読み取り/書き込み」コマンドコードブロック
マスターアナログ入力設定、パラメータ:
Modbusマスター名:実際の状況に応じて設定
AI名:実際の状況に応じて設定
レジスタ数:整数型 0 ~ 128
図表 10.10-4 マスター「アナログ入力の読み取り」コマンドコードブロック
マスター待機デジタル入力設定、パラメータ:
Modbusマスター名:実際の状況に応じて設定
DI名:実際の状況に応じて設定
待機状態:true/false
タイムアウト時間(ms):整数型 0 ~ 128
図表 10.10-5 マスター「デジタル入力の待機」コマンドコードブロック
マスター待機アナログ入力設定、パラメータ:
Modbusマスター名:実際の状況に応じて設定
AI名:実際の状況に応じて設定
待機状態:より大きい/より小さい
レジスタ数:整数型 0 ~ 128
レジスタ値:レジスタ数に応じて決定され、複数の数値を入力できます。
図表 10.10-6 マスター「アナログ入力の待機」コマンドコードブロック
スレーブデジタル出力設定、パラメータ:
DO名:実際の状況に応じて設定
レジスタ数:整数型 0 ~ 128
レジスタ値:レジスタ数に応じて決定され、複数の数値を入力できます。例えば、数量が3で値が1,0,1の場合。
図表 10.10-7 スレーブ「デジタル出力の読み取り/書き込み」コマンドコードブロック
スレーブデジタル入力設定、パラメータ:
DI名:実際の状況に応じて設定
レジスタ数:整数型 0 ~ 128
図表 10.10-8 スレーブ「デジタル入力の読み取り」コマンドコードブロック
スレーブアナログ出力設定、パラメータ:
AO名:実際の状況に応じて設定
レジスタ数:整数型 0 ~ 128
レジスタ値:レジスタ数に応じて決定され、複数の数値を入力できます。例えば、数量が3で値が1,0,1の場合。
図表 10.10-9 スレーブ「アナログ出力の読み取り/書き込み」コマンドコードブロック
スレーブアナログ入力設定、パラメータ:
AI名:実際の状況に応じて設定
レジスタ数:整数型 0 ~ 128
図表 10.10-10 スレーブ「アナログ入力の読み取り」コマンドコードブロック
スレーブ待機デジタル入力設定、パラメータ:
DI名:実際の状況に応じて設定
待機状態:true/false
タイムアウト時間(ms):整数型
図表 10.10-11 スレーブ「デジタル入力の待機」コマンドコードブロック
スレーブ待機アナログ入力設定、パラメータ:
AI名:実際の状況に応じて設定
待機状態:より大きい/より小さい
レジスタ数:整数型 0 ~ 128
レジスタ値:レジスタ数に応じて決定され、複数の数値を入力できます。
図表 10.10-12 スレーブ「アナログ入力の待機」コマンドコードブロック
レジスタ読み取りコマンド、パラメータ:
ファンクションコード:0x01-コイル/0x02-ディスクリート/0x03-保持レジスタ/0x04-入力レジスタ
レジスタ、コイル、ディスクリートアドレス:実際の状況に応じて入力
レジスタ、コイル、ディスクリート数:0 ~ 255
アドレス:実際の状況に応じて入力
スレッドを適用するか:いいえ/はい
図表 10.10-13 「レジスタ読み取り」コマンドコードブロック
レジスタデータ読み取りコマンド、パラメータ:
レジスタ、コイル、ディスクリート数:0 ~ 255
スレッドを適用するか:いいえ/はい
図表 10.10-14 「レジスタデータ読み取り」コマンドコードブロック
レジスタ書き込みコマンド、パラメータ:
ファンクションコード:0x01-コイル/0x02-ディスクリート/0x03-保持レジスタ/0x04-入力レジスタ
レジスタ、コイルアドレス:実際の状況に応じて入力
レジスタ、コイル数:0 ~ 255
バイト配列:実際の状況に応じて入力
アドレス:実際の状況に応じて入力
スレッドを適用するか:いいえ/はい
図表 10.10-15 「レジスタ書き込みコマンド」コマンドコードブロック
10.11. 高度クラスグラフィカルプログラミングコマンド
高度クラスグラフィカルプログラミングコマンドには、dofileによるサブプログラム呼び出し、補助スレッド、折りたたみコマンドなどの高度なコマンドが含まれます。
図表 10.11 高度クラスグラフィカルプログラミングコマンド
10.11.1. 折りたたみコマンド
「折りたたみコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは、複数行のコードブロックを折りたたんで表示する機能を提供し、ユーザーがコードブロックを読みやすくします。
「折りたたみ」コマンドノード、パラメータ:
コードブロック名:折りたたむコードブロックの名前を指定
図表 10.11-1 折りたたみコマンドコードブロック
10.11.2. サブプログラム呼び出しコマンド
「サブプログラム呼び出しコマンド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドはサブプログラム呼び出しコマンドです。プログラムにこのコマンドを挿入すると、プログラムがこのコマンドを実行した時点でロボットは一時停止状態になります。続行したい場合は、制御エリアの「一時停止/再開」ボタンをクリックします。
「サブプログラム呼び出し」コマンドノード、パラメータ:
dofileファイル:作成して生成したファイル名
何層目の呼び出しか:第1層/第2層
id番号:所属層の対応する位置のid
図表 10.11-2 サブプログラム呼び出しコマンドコードブロック
10.11.3. 補助スレッドコマンド
「補助スレッド」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
Threadコマンドは補助スレッド機能です。ユーザーはメインスレッドと同時に実行される補助スレッドを定義できます。補助スレッドは主に外部デバイスとのデータインタラクションを行い、socket通信、ロボットDI状態の取得、ロボットDO状態の設定、ロボット状態情報の取得、メインスレッドとのデータインタラクションをサポートします。メインスレッドは補助スレッドから取得したデータをロボット運動ロジックの判断に使用します。
「補助スレッド」コマンドノード、パラメータ:
メソッド名:補助スレッド名
呼び出し関数:補助スレッド呼び出し関数値
図表 10.11-3 補助スレッドコードブロック
10.11.4. ポイントテーブルコマンド
「ポイントテーブル」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは主にシステムモードとポイントテーブルモード間のモード切り替えに使用され、ポイントテーブルを切り替えることで、異なるポイントテーブル内のティーチングポイントを適用します。詳細は第12章「ティーチングポイント」を参照してください。
「ポイントテーブル」コマンドノード、パラメータ:
ポイントテーブルモード:異なるポイントテーブル名に切り替え
図表 10.11-4 ポイントテーブルコードブロック
10.11.5. 焦点追従コマンド
「焦点追従」コードブロックをドラッグし、グラフィカル編集画面のワークスペースに入れます。
このコマンドは主にロボットの運動中、常に一点に焦点を合わせて追従移動するために使用されます。
「焦点追従」コマンドノード、パラメータ:
パラメータ比:0~100、デフォルト値50
フィードフォワードパラメータ:0~1000、デフォルト値19
最大角速度加速度制限:0~10000、デフォルト値1440
最大角速度制限:0~1000、デフォルト値180
ロックX軸指向:参考入力ベクトル/水平/垂直
図表 10.11-5 焦点追従コードブロック
10.12. グラフィカルプログラミングコマンド使用例
グラフィカルプログラミングタイプを選択した後、使用したいグラフィカルコードブロックをクリックすると、ワークスペースでドラッグ&ドロップや連結操作を行うことができます。
例えば、PTPとLin運動コマンド、および制御コマンドのWaitmsを選択して連結し、外側に折りたたみ高度コマンドを入れ子にしてコメント名を入力すると、コードブロックの折りたたみ操作が実現できます。
ここで、ドロップダウンボックスをクリックするとコマンドパラメータタイプを選択でき、入力ボックスにはコマンドパラメータデータを入力できます。グラフィカルプログラミングコマンドの例を以下に示します。
図表 10.12-1 グラフィカルプログラミングコマンド例
グラフィカルプログラミングコマンドの連結とパラメータの入力が完了したら、ワークスペース名を入力し、「保存」アイコンをクリックして今回のプログラムを保存します。作成が完了した「ワークスペース」を選択し、「実行開始」をクリックすると、このプログラムが実行されます。
10.12.1. グラフィカルプログラミングコードブロックのモジュール化
グラフィカルプログラミングコードの可読性を向上させるために、グラフィカルプログラミングコードブロックのモジュール化機能、すなわち高度コマンド:折りたたみコマンドコードブロックを追加しました。
図表 10.12-2 折りたたみコマンドコードブロック
一段のコードブロックコマンドを作成し、外側に折りたたみコマンドコードブロックを追加し、入力ボックスにそのコードブロックのコメントを記述します。
図表 10.12-3 折りたたみコマンド効果図
操作バーの「折りたたみブロック」を右クリックすると、そのコードブロックが折りたたまれ、一行で表示され、折りたたんだ状態でもプログラムは正しく実行されます。
図表 10.12-4 折りたたみ後効果図
マウスをスクロールすると、ページのズーム機能が実現します。具体的な効果は以下の通りです。
図表 10.12-5 ページズーム機能効果図
10.12.2. グラフィカルプログラミングの同名上書き
グラフィカルプログラミングページで、新規作成/ファイル読み込み後、ワークスペース名を変更して保存をクリックします。変更したワークスペース名のファイルが既に存在する場合、「示教点已存在」というポップアップが表示されます。下図の通りです。
図表 10.12-6 グラフィカルプログラミングプログラムの上書き
Step1:「キャンセル」ボタンをクリックすると、以前の操作を続行します。
Step2:「ティーチングプログラムを同期更新する」チェックボックスをクリックし、「上書き」ボタンをクリックすると、現在のグラフィカルプログラミングページのluaプログラムが、変更後のワークスペースファイル名のluaプログラムに上書きされます。
10.12.3. グラフィカルプログラミングプログラムの未保存検証
グラフィカルプログラミングページで、新規作成/プログラムを開いた後、グラフィカルプログラミングプログラムに変更が発生し、プログラムが保存されていない場合。
「開く」ファイル操作をクリックすると、「このプログラムを保存しますか?」というポップアップが表示され、「現在のプログラムは変更されています。このプログラムの変更を保存しますか?」というメッセージが表示されます。下図の通りです。
図表 10.12-7 現在のページのプログラム未保存検証
Step1:「保存しない」ボタンをクリックすると、以前の「開く」ファイル操作を続行します。
Step2:「保存」ボタンをクリックすると、未保存のluaプログラムが正常に保存され、以前の「開く」ファイル操作を続行します。
グラフィカルプログラミングページから離れて、他のページに切り替える場合も、同様に「このプログラムを保存しますか?」というプロンプトが表示され、現在のグラフィカルプログラミングページに留まります。下図の通りです。
図表 10.12-8 ページ切り替え時のプログラム未保存検証
Step1:「保存しない」ボタンをクリックすると、以前に選択したページに移動します。
Step2:「保存」ボタンをクリックすると、未保存のluaプログラムが正常に保存され、以前に選択したページに移動します。保存するプログラム名が既に存在する場合、ティーチングポイントが既に存在するかどうか、上書きするかどうかのプロンプトが表示されます。キャンセル/上書き操作を行った後、以前に選択したページに移動します。