RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ...

380
プログラミング説明書 JAPANESE J RCXシリーズ ヤマハロボットコントローラ IM事業部 ロボットビジネス部 435-0054 静岡県浜松市中区早出町882 TEL 053-460-6103 ヤマハ発動機株式会社 J76-Ver. 3.13

Transcript of RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ...

Page 1: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

プログラミング説明書 JAPANESE J

RCXシリーズヤマハロボットコントローラ

IM事業部 ロボットビジネス部〒435-0054 静岡県浜松市中区早出町882TEL 053-460-6103

ヤマハ発動機株式会社

J76-Ver. 3.13

Page 2: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054
Page 3: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

1

はじめに

このたびは、ヤマハロボットコントローラをお買い上げいただきまして誠にあり

がとうございます。

本書は、ヤマハロボットコントローラRCXシリーズに対するロボットプログラ

ム命令等の説明を記載しております。本ヤマハロボットコントローラのご使用に

際しては、本書および関連の取扱説明書をお読みいただくと共に、安全に対して

充分注意をはらって、正しく取り扱いをしていただくようにお願いいたします。

ロボットコントローラに対する取り扱いについては、ヤマハコントローラに付属

のコントローラ取扱説明書を熟読ください。

適用機種:RCX240、RCX141、RCX142、RCX40、RCX221、RCX222

本書ではそれぞれまとめて下記のように表記しています。

RCX240.....RCX240、RCX141、RCX142、RCX40(4軸コントローラ)

RCX14x ....RCX141、RCX142、RCX40(RCX240を除く4 軸コントローラ)※

RCX22x ....RCX221、RCX222(2 軸コントローラ)

※ RCX14xと表記がある場合は、RCX240は含まれません。対応バージョン表記な

どで、RCX240とその他の4軸コントローラで違いがある場合に使用しています。

Page 4: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

2

安全上のご注意(ご使用になる前に必ずお読みください)

本製品のご使用に際しては、本書および関連する取扱説明書をお読みいただくと

共に、安全に対して充分注意をはらって、正しく取り扱いをしていただくように

お願いいたします。

本書で示す注意事項は、本製品に関するものについて記載したものです。本製品

を使用したロボットコントローラシステムとしての安全上のご注意に関しては、

お客さまにてご考慮頂きますようお願いいたします。

本書では、安全注意事項のランクを「警告」、「注意」、「要点」として区分してあ

ります。

w警告

取り扱いを誤った場合に、危険な状況が起こりえて、死亡または重傷を受ける可能性が予

想される場合を記載しています。

c注意

取り扱いを誤った場合に、危険な状況が起こりえて、中程度の傷害や軽傷を受ける可能性が

想定される場合および物的傷害だけの発生が予想される場合を記載しています。

n要点

ロボットの操作手順を、簡潔にかつ、明確に記載しています。

なお、「注意」に記載した事項でも、状況によっては重大な結果に結びつく可能

性があります。

いずれも重要な内容を記載していますので必ず守ってください。

本書は、必要なときに読めるように大切に保管すると共に、必ず最終ユーザーま

でお届けいただくようお願いいたします。

【設計上の注意事項】

c注意

プログラム実行が途中停止した場合、プログラムは停止した命令を再実行します。

例として、MOVE命令におけるアーチモーション移動やMOVEI命令やDRIVEI命

令などの相対移動命令やSEND命令の通信命令などを使用される場合、プログラムの再実

行には注意してください。

本書によって、工業所有権その他の権利の実施に対する保証、または実施権を許諾するも

のではありません。また、本書の掲載内容の使用により起因する工業所有権上の諸問題に

ついては、当方は一切その責任を負うことは出来ません。

2010 YAMAHA MOTOR CO., LTD.

Page 5: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

i

目 次

1. 概要 ............................................................................................................................................................ 1

2. 文字 ............................................................................................................................................................ 2

3. プログラム名 ...................................................................................................................................... 3

4. 識別子 ....................................................................................................................................................... 7

5. 命令文形式............................................................................................................................................ 8

6. 定数 ............................................................................................................................................................ 9

6.1 文字型定数 ......................................................................................................................................... 9

6.2 数値型定数 ......................................................................................................................................... 9

6.2.1 整数型定数------------------------------------------------------------------------------------------ 9

6.2.2 実数型定数------------------------------------------------------------------------------------------ 9

7. 変数 .........................................................................................................................................................10

7.1 変数の有効範囲 ........................................................................................................................... 11

7.1.1 動的変数の有効範囲 -------------------------------------------------------------------------- 11

7.1.2 静的変数の有効範囲 -------------------------------------------------------------------------- 11

7.1.3 動的配列の有効範囲 -------------------------------------------------------------------------- 11

7.2 文字型................................................................................................................................................. 12

7.3 数値型................................................................................................................................................. 12

7.3.1 整数型----------------------------------------------------------------------------------------------- 12

7.3.2 実数型----------------------------------------------------------------------------------------------- 12

7.4 変数の配列 ...................................................................................................................................... 12

7.5 変数のクリア................................................................................................................................. 13

7.5.1 動的変数のクリア ----------------------------------------------------------------------------- 13

7.5.2 静的変数のクリア ----------------------------------------------------------------------------- 13

8. その他の変数 ...................................................................................................................................14

9. 式と演算 ..............................................................................................................................................24

9.1 算術演算 ........................................................................................................................................... 24

9.1.1 算術演算子---------------------------------------------------------------------------------------- 24

9.1.2 関係演算子---------------------------------------------------------------------------------------- 24

9.1.3 論理演算 ------------------------------------------------------------------------------------------- 25

9.1.4 演算の優先順位 --------------------------------------------------------------------------------- 25

9.1.5 型変換----------------------------------------------------------------------------------------------- 26

9.2 文字列演算 ...................................................................................................................................... 26

9.2.1 文字列の連結 ------------------------------------------------------------------------------------ 26

9.2.2 文字列の比較 ------------------------------------------------------------------------------------ 26

9.3 ポイントデータの形式 ........................................................................................................... 27

9.3.1 関節座標形式 ------------------------------------------------------------------------------------ 27

9.3.2 直交座標形式 ------------------------------------------------------------------------------------ 27

9.4 DI/DO条件式 ...................................................................................................................... 27

10. 複数台ロボット制御................................................................................................................... 28

10.1 概要 ...................................................................................................................................................... 28

10.2 グループ別命令一覧................................................................................................................. 29

Page 6: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

ii

11. 命令文 ....................................................................................................................................................30

ABSRST文 ......................................................................................................................................... 30

ACCEL文(メイングループ加速度設定文).................................................................. 31

ACCEL2文(サブグループ加速度設定文).................................................................. 32

ARCH文(メイングループアーチ位置設定文)............................................................ 33

ARCH2文(サブグループアーチ位置設定文)............................................................ 34

ASPEED文(メイングループ自動移動速度設定文)............................................ 35

ASPEED2文(サブグループ自動移動速度設定文)............................................ 36

AXWGHT文(メイングループ軸先端質量設定文).................................................. 37

AXWGHT2文(サブグループ軸先端質量設定文).................................................. 38

CALL文 .................................................................................................................................................... 39

CHGPRI文 ......................................................................................................................................... 40

CUT文 ......................................................................................................................................................... 41

DECEL 文(メイングループ減速度設定文)................................................................ 42

DECEL2 文(サブグループ減速度設定文)................................................................ 43

DECLARE文 .................................................................................................................................... 44

DEF FN文 ......................................................................................................................................... 46

DELAY文............................................................................................................................................... 47

DIM文(配列変数宣言文)............................................................................................................ 48

DO文(パラレル出力)....................................................................................................................... 49

DRIVE文............................................................................................................................................... 50

DRIVE2文 ......................................................................................................................................... 56

DRIVEI文 ......................................................................................................................................... 62

DRIVEI2文 .................................................................................................................................... 66

EXIT FOR文 ............................................................................................................................... 70

EXIT SUB文 ............................................................................................................................... 71

EXIT TASK文.......................................................................................................................... 72

FOR文,NEXT文.......................................................................................................................... 73

GOSUB文,RETURN文 .................................................................................................... 74

GOTO文 .................................................................................................................................................... 75

HALT文 .................................................................................................................................................... 76

HAND定義文、CHANGE文(メインロボットハンド選択)....................... 77

HAND2定義文、CHANGE2文(サブロボットハンド選択).................. 81

HOLD文 .................................................................................................................................................... 85

IF文 ............................................................................................................................................................... 86

INPUT文............................................................................................................................................... 88

LET(代入)文 .................................................................................................................................... 89

LO文(アームロック出力)............................................................................................................ 91

MO文(内部出力).................................................................................................................................. 92

MOVE文(絶対位置移動命令).................................................................................................. 93

MOVE2文(絶対位置移動命令)......................................................................................... 103

MOVEI文(相対位置移動命令)......................................................................................... 113

MOVEI2文(相対位置移動命令).................................................................................... 116

ON ERROR GOTO文 ................................................................................................. 119

ON~GOTO文 ................................................................................................................................. 120

ON~GOSUB文 ............................................................................................................................ 121

ONLINE文,OFFLINE文....................................................................................... 122

ORGORD文(メイングループ原点復帰順序設定文)......................................... 123

ORGORD2文(サブグループ原点復帰順序設定文)......................................... 124

ORIGIN文 ...................................................................................................................................... 125

OUT文 ...................................................................................................................................................... 126

OUTPOS文(メイングループアウト有効位置設定文).................................... 127

OUTPOS2文(サブグループアウト有効位置設定文).................................... 128

Page 7: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

iii

PATH文関連 ...................................................................................................................................... 129

PATH機能とは --------------------------------------------------------------------------------------- 129

PATH文(PATH文関連)-------------------------------------------------------------------- 131

PATH END文(PATH文関連)------------------------------------------------------ 135

PATH SET文(PATH文関連)------------------------------------------------------ 136

PATH START文(PATH文関連)----------------------------------------------- 138

PDEF文 ................................................................................................................................................. 139

PMOVE文(パレット移動命令)......................................................................................... 140

PMOVE2文(パレット移動命令).................................................................................... 144

PRINT文............................................................................................................................................ 148

Pn(ポイント定義文).................................................................................................................... 149

REM(コメント文)......................................................................................................................... 150

RESET文............................................................................................................................................ 151

RESTART文 ................................................................................................................................. 152

RESUME文 ...................................................................................................................................... 153

RIGHTY文,LEFTY文 ................................................................................................. 154

RIGHTY2文,LEFTY2文....................................................................................... 155

Sn(シフト座標定義文)............................................................................................................... 156

SELECT CASE文,END SELECT文 ............................................ 157

SEND文 ................................................................................................................................................. 158

SERVO文............................................................................................................................................ 160

SERVO2文 ...................................................................................................................................... 161

SET文 ...................................................................................................................................................... 162

SHARED文 ...................................................................................................................................... 163

SHIFT文(メインロボットシフト座標設定文).................................................... 164

SHIFT2文(サブロボットシフト座標設定文).................................................... 165

SO文(シリアル出力).................................................................................................................... 166

SPEED文(メイングループ速度設定文).................................................................... 167

SPEED2文(サブグループ速度設定文).................................................................... 168

START文............................................................................................................................................ 169

SUB文,END SUB文....................................................................................................... 170

SUSPEND文 ................................................................................................................................. 172

SWI文 ...................................................................................................................................................... 173

TO文............................................................................................................................................................ 174

TOLE文(メイングループ公差設定文)......................................................................... 175

TOLE2文(サブグループ公差設定文)......................................................................... 176

TORQUE文 ...................................................................................................................................... 177

TORQUE2文 ................................................................................................................................. 178

TRQTIME文 ................................................................................................................................. 179

TRQTIME2文 ............................................................................................................................ 180

WAIT文 ................................................................................................................................................. 181

WEIGHT文(メインロボット先端質量パラメータ設定文)......................... 183

WEIGHT2文(サブロボット先端質量パラメータ設定文)......................... 184

WHILE文,WEND文 ............................................................................................................ 185

ラベル文 ...................................................................................................................................................... 186

12. 関数 ..................................................................................................................................................... 187

12.1 算術関数 ........................................................................................................................................ 187

12.2 文字列関数 ................................................................................................................................... 207

12.3 ポイント関数.............................................................................................................................. 210

13. マルチタスク ............................................................................................................................... 213

13.1 概要 ................................................................................................................................................... 213

13.2 タスクの定義.............................................................................................................................. 213

13.3 タスクの状態と遷移.............................................................................................................. 214

Page 8: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

iv

13.4 タスクの起動.............................................................................................................................. 215

13.5 タスクのスケジューリング .............................................................................................. 215

13.6 タスクの条件待ち ................................................................................................................... 216

13.7 タスクの中断と再開.............................................................................................................. 217

13.8 タスクの削除.............................................................................................................................. 217

13.9 タスクの停止.............................................................................................................................. 218

13.10 マルチタスクプログラム例 .............................................................................................. 219

13.11 データの共有.............................................................................................................................. 220

14. データファイル詳細................................................................................................................221

14.1 プログラムファイル.............................................................................................................. 222

14.1.1 プログラム全体 ------------------------------------------------------------------------------- 222

14.1.2 プログラム単位 ------------------------------------------------------------------------------- 223

14.2 ポイントファイル ................................................................................................................... 224

14.2.1 ポイント全体 ---------------------------------------------------------------------------------- 224

14.2.2 ポイント単位 ---------------------------------------------------------------------------------- 225

14.3 ポイントコメントファイル .............................................................................................. 226

14.3.1 ポイントコメント全体--------------------------------------------------------------------- 226

14.3.2 ポイントコメント単位--------------------------------------------------------------------- 227

14.4 パラメータファイル.............................................................................................................. 228

14.4.1 パラメータ全体 ------------------------------------------------------------------------------- 228

14.4.2 パラメータ単位 ------------------------------------------------------------------------------- 230

14.5 シフト座標定義ファイル ................................................................................................... 231

14.5.1 シフト全体-------------------------------------------------------------------------------------- 231

14.5.2 シフト単位-------------------------------------------------------------------------------------- 232

14.6 ハンド定義ファイル.............................................................................................................. 233

14.6.1 ハンド全体-------------------------------------------------------------------------------------- 233

14.6.2 ハンド単位-------------------------------------------------------------------------------------- 234

14.7 パレット定義ファイル ........................................................................................................ 235

14.7.1 パレット定義全体 --------------------------------------------------------------------------- 235

14.7.2 パレット定義単位 --------------------------------------------------------------------------- 237

14.8 オールファイル ........................................................................................................................ 238

14.8.1 オールファイル全体 ------------------------------------------------------------------------ 238

14.9 プログラムディレクトリファイル .............................................................................. 239

14.9.1 プログラムディレクトリ全体 ---------------------------------------------------------- 239

14.9.2 プログラム単位 ------------------------------------------------------------------------------- 240

14.10 パラメータディレクトリファイル .............................................................................. 241

14.10.1 パラメータディレクトリ全体 ---------------------------------------------------------- 241

14.11 変数ファイル.............................................................................................................................. 242

14.11.1 変数全体 ----------------------------------------------------------------------------------------- 242

14.11.2 変数単位 ----------------------------------------------------------------------------------------- 244

14.12 定数ファイル.............................................................................................................................. 245

14.12.1 文字列単体-------------------------------------------------------------------------------------- 245

14.13 配列変数ファイル ................................................................................................................... 246

14.13.1 配列変数全体 ---------------------------------------------------------------------------------- 246

14.13.2 配列変数単位 ---------------------------------------------------------------------------------- 248

14.14 DIファイル.............................................................................................................................. 249

14.14.1 DI全体 ----------------------------------------------------------------------------------------- 249

14.14.2 DIポート単位 ------------------------------------------------------------------------------- 250

14.15 DOファイル.............................................................................................................................. 251

14.15.1 DO全体 ----------------------------------------------------------------------------------------- 251

14.15.2 DOポート単位 ------------------------------------------------------------------------------- 252

14.16 MOファイル.............................................................................................................................. 253

14.16.1 MO全体 ----------------------------------------------------------------------------------------- 253

14.16.2 MOポート単位 ------------------------------------------------------------------------------- 254

Page 9: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

v

14.17 LOファイル.............................................................................................................................. 255

14.17.1 LO全体 ----------------------------------------------------------------------------------------- 255

14.17.2 LOポート単位 ------------------------------------------------------------------------------- 256

14.18 TOファイル.............................................................................................................................. 257

14.18.1 TO全体 ----------------------------------------------------------------------------------------- 257

14.18.2 TOポート単位 ------------------------------------------------------------------------------- 258

14.19 SIファイル.............................................................................................................................. 259

14.19.1 SI全体 ----------------------------------------------------------------------------------------- 259

14.19.2 SIポート単位 ------------------------------------------------------------------------------- 260

14.20 SOファイル.............................................................................................................................. 261

14.20.1 SO全体 ----------------------------------------------------------------------------------------- 261

14.20.2 SOポート単位 ------------------------------------------------------------------------------- 262

14.21 エラーメッセージ履歴ファイル ................................................................................... 263

14.21.1 エラーメッセージ履歴全体 -------------------------------------------------------------- 263

14.22 マシンリファレンスファイル......................................................................................... 264

14.22.1 マシンリファレンスファイル全体 --------------------------------------------------- 264

14.23 EOFファイル ........................................................................................................................ 265

14.23.1 EOFデータ ---------------------------------------------------------------------------------- 265

14.24 シリアルポート通信ファイル......................................................................................... 266

14.24.1 シリアルポート通信ファイル ---------------------------------------------------------- 266

14.25 SIW ファイル....................................................................................................................... 267

14.25.1 SIW全体-------------------------------------------------------------------------------------- 267

14.25.2 SIW単位-------------------------------------------------------------------------------------- 268

14.26 SOW ファイル....................................................................................................................... 269

14.26.1 SOW全体-------------------------------------------------------------------------------------- 269

14.26.2 SOW単位-------------------------------------------------------------------------------------- 270

14.27 Ethernetポート通信ファイル......................................................................................... 271

14.27.1 Ethernetポート通信ファイル ---------------------------------------------------------- 271

15. ユーザープログラム例 ......................................................................................................... 272

15.1 基本編.............................................................................................................................................. 272

15.1.1 ポイントデータを直接プログラム中に書く -------------------------------------- 272

15.1.2 ポイント番号を使用する ----------------------------------------------------------------- 273

15.1.3 シフト座標の使用 --------------------------------------------------------------------------- 274

15.1.4 パレタイジング ------------------------------------------------------------------------------- 275

15.1.4.1 シフト座標の利用 ...................................................................................................................... 275

15.1.4.2 パレット移動の利用 ................................................................................................................. 276

15.1.5 DI/DO(デジタル入出力)動作 ----------------------------------------------- 278

15.2 応用編.............................................................................................................................................. 279

15.2.1 2点間のピック&プレス ----------------------------------------------------------------- 279

15.2.2 パレタイジング ------------------------------------------------------------------------------- 281

15.2.3 段積みの部品のピック&プレス ------------------------------------------------------- 283

15.2.4 部品の検査1(マルチタスクの例)------------------------------------------------- 285

15.2.5 シーリング-------------------------------------------------------------------------------------- 288

15.2.6 外部装置とRS-232Cを使用した接続(その1)-------------------------------- 289

15.2.7 外部装置とRS-232Cを使用した接続(その2)-------------------------------- 290

16. シーケンス機能について.....................................................................................................291

16.1 シーケンスプログラムの作成......................................................................................... 291

16.1.1 プログラム方法 ------------------------------------------------------------------------------- 291

16.1.2 コンパイル-------------------------------------------------------------------------------------- 292

16.2 シーケンスプログラムの実行......................................................................................... 293

16.2.1 シーケンスプログラムのステップ実行--------------------------------------------- 294

16.3 シーケンスプログラムのプログラミング .............................................................. 294

16.3.1 シーケンスプログラムで使用できる代入文 -------------------------------------- 294

16.3.2 シーケンスプログラムで使用できる入出力変数 ------------------------------- 295

16.3.3 タイマ定義文 ---------------------------------------------------------------------------------- 297

16.3.4 シーケンスプログラムで使用できる演算子(論理演算子)--------------- 297

16.3.5 演算の優先順位 ------------------------------------------------------------------------------- 298

Page 10: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

vi

17. オンライン命令...........................................................................................................................299

17.1 キー操作 ........................................................................................................................................ 301

17.1.1 モード変更-------------------------------------------------------------------------------------- 301

17.1.2 自動モード操作 ------------------------------------------------------------------------------- 301

17.1.2.1 プログラム実行操作 ................................................................................................................. 301

17.1.2.2 ブレイクポイント設定............................................................................................................ 302

17.1.2.3 実行タスク切替操作 ................................................................................................................. 303

17.1.3 手動モード操作 ------------------------------------------------------------------------------- 303

17.1.3.1 手動速度変更 ................................................................................................................................. 303

17.1.3.2 アブソリュートリセット操作 ............................................................................................ 304

17.1.3.3 原点復帰操作 ................................................................................................................................. 304

17.1.3.4 手動移動(インチング)操作 .......................................................................................... 305

17.1.3.5 手動移動(ジョグ)操作 ..................................................................................................... 305

17.1.3.6 ポイントデータティーチング操作 ................................................................................. 306

17.2 ユーティリティ操作.............................................................................................................. 307

17.2.1 プログラム実行状態取得 ----------------------------------------------------------------- 307

17.2.2 複写操作 ----------------------------------------------------------------------------------------- 307

17.2.2.1 プログラム複写操作 ................................................................................................................. 307

17.2.2.2 ポイント複写操作 ...................................................................................................................... 308

17.2.2.3 ポイントコメント複写操作 ................................................................................................. 308

17.2.3 削除操作 ----------------------------------------------------------------------------------------- 309

17.2.3.1 プログラム削除操作 ................................................................................................................. 309

17.2.3.2 ポイント削除操作 ...................................................................................................................... 309

17.2.3.3 ポイントコメント削除操作 ................................................................................................. 310

17.2.3.4 パレット削除操作 ...................................................................................................................... 310

17.2.4 名前変更操作 ---------------------------------------------------------------------------------- 310

17.2.5 属性変更操作 ---------------------------------------------------------------------------------- 311

17.2.6 初期処理操作 ---------------------------------------------------------------------------------- 311

17.2.6.1 メモリ領域の初期処理操作 ................................................................................................. 311

17.2.6.2 通信ポートの初期処理操作 ................................................................................................. 312

17.2.6.3 エラー履歴の初期処理操作 ................................................................................................. 312

17.2.7 表示言語設定操作 --------------------------------------------------------------------------- 313

17.2.8 手動モード時の座標系単位設定処理操作 ----------------------------------------- 313

17.2.9 MPB/RPB表示エラーメッセージの初期化処理操作 ----------------- 313

17.2.10 ユーティリティモード設定操作 ------------------------------------------------------- 314

17.2.10.1 アクセスレベル設定処理操作 ............................................................................................ 314

17.2.10.2 実行レベル設定処理操作 ...................................................................................................... 314

17.2.10.3 シーケンスプログラム実行フラグ設定処理操作 ................................................. 315

17.2.10.4 スカラ型ロボットの手系設定処理操作 ...................................................................... 315

17.2.10.5 内部非常停止フラグの解除処理操作 ............................................................................ 315

17.2.11 日付の確認と設定操作--------------------------------------------------------------------- 316

17.2.12 時刻の確認と設定操作--------------------------------------------------------------------- 317

17.3 データハンドリング.............................................................................................................. 318

17.3.1 表示言語取得処理 --------------------------------------------------------------------------- 318

17.3.2 アクセスレベル状態取得処理 ---------------------------------------------------------- 318

17.3.3 アーム状態取得処理 ------------------------------------------------------------------------ 319

17.3.4 ブレイクポイント状態取得処理 ------------------------------------------------------- 319

17.3.5 コントローラ構成取得処理-------------------------------------------------------------- 320

17.3.6 実行レベル状態取得処理 ----------------------------------------------------------------- 320

17.3.7 モード状態取得処理 ------------------------------------------------------------------------ 321

17.3.8 メッセージ取得処理 ------------------------------------------------------------------------ 321

17.3.9 原点復帰状態取得処理--------------------------------------------------------------------- 322

17.3.10 アブソリュートリセット状態取得処理--------------------------------------------- 323

17.3.11 サーボ状態取得処理 ------------------------------------------------------------------------ 323

17.3.12 シーケンスプログラム実行状態取得処理 ----------------------------------------- 324

17.3.13 速度状態取得処理 --------------------------------------------------------------------------- 324

17.3.14 ポイント単位座標系取得処理操作 --------------------------------------------------- 325

17.3.15 バージョン取得処理操作 ----------------------------------------------------------------- 325

17.3.16 現在位置取得処理操作--------------------------------------------------------------------- 326

17.3.16.1 パルス座標系現在位置取得処理操作 ............................................................................ 326

17.3.16.2 XY座標系現在位置取得処理操作 ................................................................................. 326

Page 11: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

vii

17.3.17 起動/一時停止状態タスク取得処理操作 ----------------------------------------- 327

17.3.18 タスク稼働状態取得処理操作 ---------------------------------------------------------- 327

17.3.19 シフト状態取得処理 ------------------------------------------------------------------------ 328

17.3.20 ハンド状態取得処理 ------------------------------------------------------------------------ 328

17.3.21 メモリ残容量取得処理--------------------------------------------------------------------- 329

17.3.22 非常停止状態取得処理--------------------------------------------------------------------- 329

17.3.23 自己診断によるエラー状態取得処理 ------------------------------------------------ 330

17.3.24 オプションスロット状態取得処理 --------------------------------------------------- 331

17.3.25 値取得処理-------------------------------------------------------------------------------------- 332

17.3.25.1 数値式の値取得処理 ................................................................................................................. 332

17.3.25.2 文字列式の値取得処理............................................................................................................ 332

17.3.25.3 ポイント式の値取得処理 ...................................................................................................... 333

17.3.25.4 シフト式の値取得処理............................................................................................................ 333

17.3.26 データ読出し処理 --------------------------------------------------------------------------- 334

17.3.27 データ書込み処理 --------------------------------------------------------------------------- 335

17.4 ロボット言語単独実行 ........................................................................................................ 336

17.4.1 プログラム切替命令処理 ----------------------------------------------------------------- 336

17.4.2 その他のロボット言語命令処理 ------------------------------------------------------- 337

17.5 制御コード ................................................................................................................................... 337

17.5.1 実行中断処理 ---------------------------------------------------------------------------------- 337

18. IOコマンド ............................................................................................................................... 338

18.1 IOコマンド形式 ................................................................................................................... 338

18.2 IOコマンド送受信.............................................................................................................. 340

18.3 IOコマンド一覧 ................................................................................................................... 341

18.4 IOコマンド詳細 ................................................................................................................... 342

18.4.1 MOVE移動コマンド--------------------------------------------------------------------- 342

18.4.1.1 PTPポイント指定 ................................................................................................................. 342

18.4.1.2 直線補間............................................................................................................................................ 342

18.4.2 MOVEI移動コマンド ----------------------------------------------------------------- 343

18.4.2.1 PTPポイント指定 ................................................................................................................. 343

18.4.3 パレット移動コマンド--------------------------------------------------------------------- 343

18.4.3.1 PTP指定 ...................................................................................................................................... 343

18.4.4 ジョグ移動コマンド ------------------------------------------------------------------------ 344

18.4.5 インチング移動コマンド ----------------------------------------------------------------- 344

18.4.6 ポイントティーチングコマンド ------------------------------------------------------- 345

18.4.7 アブソリュートリセット用移動コマンド ----------------------------------------- 345

18.4.8 アブソリュートリセットコマンド --------------------------------------------------- 346

18.4.9 原点復帰コマンド --------------------------------------------------------------------------- 346

18.4.10 サーボコマンド ------------------------------------------------------------------------------- 347

18.4.11 手動移動速度変更コマンド -------------------------------------------------------------- 347

18.4.12 自動移動速度変更コマンド -------------------------------------------------------------- 348

18.4.13 プログラム速度変更コマンド ---------------------------------------------------------- 348

18.4.14 シフト指定変更コマンド ----------------------------------------------------------------- 348

18.4.15 ハンド指定変更コマンド ----------------------------------------------------------------- 349

18.4.16 アーム指定変更コマンド ----------------------------------------------------------------- 349

18.4.17 ポイント表示単位指定コマンド ------------------------------------------------------- 349

付録 ................................................................................................................................................................ 350

A.予約語一覧表 ....................................................................................................................................... 350

B.ロボット言語一覧 ............................................................................................................................. 351

サービス依頼票

Page 12: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

viii

MEMO

Page 13: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

1

1. 概要

ヤマハロボットのプログラミングは、ヤマハで開発した独自のロボット言語を使用します。この言語はB

ASIC (Beginner’s All-purpose Symbolic Instruction Code)に似た簡単なプログラミング言語で、誰でも

容易に修得できます。そして複雑なロボットの動作を簡単に記述することができます。本書では、このロ

ボット言語の記述の方法やその応用例を説明します。

Page 14: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

2

n要点

カナ文字は、プログラミングボッ

クス(MPB、RPB)では入力

できません。

ホストコンピュータ等からの通信

によって使用することができま

す。

2. 文字

ヤマハロボット言語は下記の文字や記号を使用します。

● 英文字

A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,

R,S,T,U,V,W,X,Y,Z

● 数字

0,1,2,3,4,5,6,7,8,9

● 特殊記号

( ) [ ] + - * / ^ = < > & |  _ % ! #

 $ : ; , . ” ’ @ ?

● カナ文字

Page 15: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

3

3. プログラム名

プログラム名は、コントローラ内に作成することのできるプログラム固有の名前のことです。したがって、

プログラム名は重複して付けることはできません。プログラム名は、長さ8文字以内の英数字とアンダー

スコア(_)の組合せで表します。

プログラム名に特別な意味を持ったものの機能と例を、以下に示します。

a) FUNCTION

b) SEQUENCE

c) _SELECT

d) COMMON

a) FUNCTION

機能:

“プログラム”モードおよび“シュドウ”モードで、USER キーを押すことにより、

ユーザーファンクションを使用可能にします。

“プログラム”モードで使用することにより、プログラム編集をする際、よく

使用する命令(MOVE、GOTO等)をファンクションキーで入力するこ

とが可能です。また、“シュドウ”モードで使用することにより、プログラム

を実行することなく、ファンクションキーでDO出力などが可能です。

プログラム例:

’FOR MANUAL MODE

*M_F1:’DO(20)ALTERNATE

DO(20)=~DO(20)

*M_F2:’DO(21)ALTERNATE

DO(21)=~DO(21)

     :

*M_F6:’DO(25)MOMENTARY

DO(25)=1

DO(25)=0

     :

’FOR PROGRAM MODE

*P_F1:’MOVE P,

*P_F6:’MOVE L,

*P_F2:’GOTO *

     :

詳細は、各コントローラの取扱説明書を参照してください。

Page 16: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

4

b) SEQUENCE

機能:

ロボットプログラムとは別に、ロボット入出力(DI、DO、MO、LO、

TO、SI、SO)に対して、一定の周期で処理を行います。周期は、プロ

グラムの容量によって決まります。

この機能を使用することにより、コントローラ内に簡易的な疑似PLCを作

り出すことができます。

プログラム例:

DO(20)=~DO(20)

DO(25)=DI(21) AND DI(22)

MO(26)=DO(26) OR DO(25)

    :

詳細は、“16. シーケンス機能について”を参照してください。

3. プログラム名

Page 17: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

5

c) _SELECT

機能:

ロボットプログラムをリセットすると、このプログラムが存在すれば、必ず

選択されます。この機能を使用することにより、DI入力によりプログラム

選択でき、また、リセット入力により必ずこのプログラムに戻ることができ

ます。

各リセットによる処理の違いは、

・ テーチングペンダントからのリセットの場合、“_SELECT”へのプロ

グラム変更の応答待ちになります。

・ プログラム中のHALT命令、専用DI(リセット信号)およびオンライ

ン命令によるリセットの場合、“_SELECT”を選択します。

・ 実行レベルで電源投入時のプログラムリセット有りのレベルが選択されて

いる場合、電源投入時に、リセットを行い、“_SELECT”を選択しま

す。

プログラム例:

DI3()からの入力を使用してプログラム選択をします。

DI3()=0の場合、繰り返しDI入力を監視

DI3()=1~3の場合、それぞれのプログラムを選択

上記以外の場合、プログラムを終了

ON ERROR GOTO *ER1

*ST:

SELECT CASE DI3( )

CASE 0

GOTO *ST

CASE 1

SWI <PART1>

CASE 2

SWI <PART2>

CASE 3

SWI <PART3>

CASE ELSE

GOTO *FIN

   END SELECT

   GOTO *ST

*FIN:

HALT

*ER1:

IF ERR=&H0303 THEN *NEXT_L

ON ERROR GOTO 0

*NEXT_L:

RESUME NEXT

詳細は、プログラミング説明書の各命令を参照してください。

n要点

・ON ERROR文を使用するこ

とによりSWI文で指定したプロ

グラム名が存在しなくてもエラー

終了しないでループさせることが

できます。

・変数ERRには、プログラム上で

発生したエラーコードが入力され

ます。ERR=&0303は、

“プログラム ナシ”です。

3. プログラム名

Page 18: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

6

d) COMMON

機能:

複数のロボットプログラムで同一の処理を行う場合、プログラム領域の無駄

使いとなります。そこで、COMMONプログラム内にその同一の処理をプ

ログラミングすることにより、複数のロボットプログラムからその処理を行

うことができます。

プログラム例:

プログラム名:SAMPLE1

DECLARE SUB *DISTANCE(A!,B!,C!)

DECLARE *AREA

X!=2.5

Y!=1.2

CALL  *DISTANCE(X!,Y!,REF C!)

GOSUB *AREA

PRINT C!,Z!

HALT

プログラム名:SAMPLE2

DECLARE SUB *DISTANCE(A!,B!,C!)

DECLARE *AREA

X!=5.5

Y!=0.2

CALL  *DISTANCE(X!,Y!,REF C!)

GOSUB *AREA

PRINT C!,Z!

HALT

プログラム名:COMMON

SUB *DISTANCE(A!,B!,C!)

C!=SQR(A!^2+B!^2)

END SUB

*AREA:

Z!=X!*Y!

RETURN

詳細は、プログラミング説明書の各命令を参照してください。

3. プログラム名

Page 19: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

7

4. 識別子

識別子とはラベル名、変数名、プロシージャ名等に使われる文字つづりです。

識別子は長さ16文字以内の英数字とアンダースコア(_)の組合せで表します。文字つづりの先頭は必

ず英文字で始めます。ただし、ラベル名の場合、“*”の直後の文字は数字でも構いません。文字の長さが

16文字を越える時、その越えた部分は読み捨てられます。

識別子は、最大500個まで使用できます。

例:LOOP, SUBROUTINE, GET_DATA

Page 20: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

8

5. 命令文形式

ロボット言語の1つの命令文は、下記の形式で必ず1行以内に記述します。

1行は75文字以内で記述します。

[<ラベル>:] <文> [<オペランド>]

n要点

・[ ]は省略可能であることを示

します。

・< >で囲まれた項目は、規定形

式で記述します。

・< >で囲まれていない項目は、

そこに書かれているものを直接記

述します。

・| |で囲まれた項目は、中に記

述されている項目のいずれかを記

述します。

・ラベルは省略可能です。ラベルは

必ずアスタリスク(*)で始ま

り、コロン(:)で終わる必要が

あります。

・オペランドは命令文により不要な

場合があります。

・分岐指定がないときは、プログラ

ムは上の行から下の行へ順に実行

されます。

Page 21: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

9

6. 定数

定数は下記に分類されます。

実数型

整数型 定数

単精度実数

文字型

数値型

文字列

2進定数

10進整定数

16進定数

6.1 文字型定数

文字型定数は75バイト以内の文字をつなぎ、その前後をダブルクォーテーショ

ン(” )で囲んだ文字列データです。文字列中では、英大文字、数字、特殊記

号、カナ文字が使用できます。

文字列としてダブルクォーテーション(” )を使用する場合には、(” )を続け

て記述します。

例:”YAMAHA ROBOT”

”EXAMPLE OF ” ”A” ” ”

PRINT ”COMPLETED”

”ヤマハロボット”

6.2 数値型定数

6.2.1 整数型定数

1. 10進整定数

-1,073,741,824から1,073,741,823までの整数。

2. 2進定数

8ビット以下の符号なし2進数。2進数を表す&Bを先頭に付けます。

&B0(0)~&B11111111(255)

3. 16進定数

32ビット以下の符号付き16進数。16進数を表す&Hを先頭に付けます。

&H80000000(-2,147,483,648)~

&H7FFFFFFF(2,147,483,647)

6.2.2 実数型定数

1. 単精度実数

-999999 .9から+999999 .9までの実数

(整数と小数を足して7桁以下) .0000001も可能。

2. 指数形式の単精度実数

-1 .0*1038~+1 .0*1038

仮数は整数と小数を足して7桁以下

例:-1 .23456E-12

3 .14E0

1 .E5

Page 22: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

10

7. 変数

変数は下記に分類されます。

変数

単純変数

配列変数

入出力変数

ポイント変数

シフト変数

要素変数

動的変数

静的変数

動的配列

文字型

数値型

数値型

文字型

数値型

文字列変数

算術変数

算術変数

文字列配列

算術配列

文字列型変数

整数型変数

実数型変数(単精度)

整数型変数

実数型変数(単精度)

文字列型配列

整数型配列

実数型配列(単精度)

入力変数

出力変数

ポイント要素変数

シフト要素変数

予約語と同じ名前の変数名、FN,DIn,DOn,MOn,LOn,TOn,S

In,SOn,Pn,Sn,Hn(nは数値)で始まる変数名は使用できません。

例:COUNT……… 使用可能

  ABS……………使用不可

  FNAME……… 使用不可

  S91……………使用不可

変数で使われる文字つづり(識別子)の先頭は必ず英文字で始めます。

例:COUNT………… 使用可能

  COUNT123…… 使用可能

  2COUNT……… 使用不可

変数で使用される識別子の詳細は、“4. 識別子”を参照してください。

変数の型は変数名の最後に型宣言文字を付けて区別します。型宣言文字がない場

合、実数型と見なされます。

型宣言文字

$(文字型)

%(整数型)

!(実数型)

例:CNT0%……… 整数型変数

  CNT1………… 実数型変数

  STR1$……… 文字型変数

  ACT%(1)… 整数型配列

同じ識別子を使った変数では、変数の型の違いで別の変数と認識されます。

例:ASP_DEF% 整数型の変数  ASP_DEF 実数型の変数

ASP_DEF! 実数型の変数 ASP_DEF 実数型の変数

ASP_DEF%とASP_DEFは異なる変数です。

ASP_DEF!とASP_DEFは同じ変数です。

Page 23: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

11

静的変数名は、下記のように決められています。

  整数型 … SGIn (n:0~7)

  実数型 … SGRn (n:0~7)

7.1 変数の有効範囲

7.1.1 動的変数の有効範囲

動的変数は宣言されるプログラム位置によって、全域変数(グローバル変数)と

局所変数(ローカル変数)とに分けられます。

・ 全域変数は、サブプロシージャ外(SUB 文~ENDSUB 文で囲まれた

領域以外)で宣言された変数です。

・ 局所変数は、サブプロシージャ内で宣言された変数です。そのサブプロシー

ジャ内でのみ有効となります。

7.1.2 静的変数の有効範囲

静的変数はプログラムでの宣言に関係無く、常に全域で有効な変数です。

7.1.3 動的配列の有効範囲

動的配列は宣言されるプログラム位置によって、全域配列(グローバル配列)と

局所配列(ローカル配列)とに分けられます。

・ 全域配列は、サブプロシージャ外(SUB 文~ENDSUB 文で囲まれた

領域以外)で宣言された配列です。

・ 局所配列は、サブプロシージャ内で宣言された配列です。そのサブプロシー

ジャ内でのみ有効となります。

配列は、1つの変数名で複数の要素を参照できる変数です。配列の各要素は、整

数または<式>による添字によって参照されます。

配列変数は、DIM文によって宣言します。実際の要素数は、DIM文の添字数

+1となります。

形式:

<変数名>[ % ](<式>,[<式>,[<式>]])        !        $

例:C%(2)………整数型変数

  N!(1,2)…実数型変数

  R1$(A)……文字型変数

DIM文によって宣言できる配列変数の大きさは、プログラムの大きさによって

変化します。

7. 変数

Page 24: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

12

7.2 文字型

文字型変数、文字列配列の要素が扱える文字列は、最大75文字です。

文字列中では、英文字、数字、特殊文字、カナ文字が使用できます。

例:R1$   = “YAMAHA“

  R2$(2)= R1$ + “ MOTOR“

7.3 数値型

7.3.1 整数型

整数型変数、整数型配列の要素が扱える整数値は、-1,073,741,82

4~1,073,741,823です。

例:R1%   = 10

  R2%(2)= R1% + 10000

7.3.2 実数型

実数型変数、実数型配列の要素が扱える整数値は、-1.0*1038~1.0

*1038です。

例:R1!   = 10.31

  R2!(2)= R1% + 1.98E3

7.4 変数の配列

配列は1つの変数名で複数の要素を参照できる変数です。配列の各要素は整数ま

たは<式>による添字によって参照されます。各配列変数の大きさはDIM文に

よって宣言します。ただし添字は0から始まりますので、実際の要素数はDIM

文の添字+1です。添字は最大3次元まで使用できます。

配列はすべて動的変数です。

形式:

<変数名>[ % ](<式>,[<式>,<式>])       !        $

例:A%(1) .......... 整数型配列

DATA!(1,10,3) .......... 単精度実数型配列

STRING$(10) .......... 文字型配列

n要点

DIM文で定義できる配列変数の

大きさは、プログラムの大きさに

よって変化します。

7. 変数

n要点

整数値-1,073,741,

824~1,073,741,

823を符号付き16進数で表現

すると、&HC0000000~

&H3FFFFFFFです。

Page 25: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

13

7.5 変数のクリア

7.5.1 動的変数のクリア

下記のいずれかの場合、数値型変数はゼロに、文字型変数はヌルストリング(空

の文字列)にクリアされます。変数の配列も同様です。

■プログラムモードでプログラム編集を行ったとき。

■プログラムを切替えたとき。

■プログラムモードのコンパイルしたとき。

■自動モードでプログラムをコンパイルしたとき。

■自動モードでプログラムリセットを実行したとき。

■自動モードで、プログラム停止中に専用入力信号 DI15(プログラムリ

セット入力)をOFFからONしたとき。

■システムモードの初期処理で、下記のどちらかを初期処理したとき。

1. プログラムメモリ(システム>ショキショリ>メモリ>プログラム)

2. 全メモリ(システム>ショキショリ>メモリ>スベテ)

■自動モードで、SWI命令を実行したとき。

■下記のオンライン命令を実行したとき。 

@RESET、@INIT PGM、

@INIT MEM、@INIT ALL、@SWI

■プログラム中で、SWI文を実行したとき。

■プログラム中で、HALT文を実行したとき。

7.5.2 静的変数のクリア

下記のいずれかの場合、整数型、実数型ともにゼロにクリアされます。

■システムモードの初期処理で、下記の初期処理をしたとき。

全メモリ(システム>ショキショリ>メモリ>スベテ)

■下記のオンライン命令を実行したとき

@INIT MEM、 @INIT ALL

c注意

プログラムモードで、プログラム

編集を行った場合、動的変数の定

義がクリアされます。

7. 変数

Page 26: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

14

8. その他の変数

1.ポイント変数

ポイント番号を定数または式で指定します。先頭の文字Pとそれに続く4桁

以下の数値または、”[”<式>”]”でポイント番号を表現します。

ポイント番号は、0~9999を指定できます。

形式:

Pnnnn または P”[”<式>”]”

n=0~9

”[” ”]”は省略記号ではありません。[ ]を直接記述することを意味しま

す。

例:P0,P110

P[A],P[START_POINT],P[A(10)]

2. シフト変数

シフト番号を定数または式で指定します。先頭の文字Sとそれに続く1桁の

数値または、”[”<式>”]”でシフト番号を表現します。

形式:

Sn または S”[”<式>”]”

n=0~9  

”[” ”]”は省略記号ではありません。[ ]を直接記述することを意味しま

す。

例:S1

S[A],S[BASE],S[A(10)]

3. ポイント要素変数

この変数はポイントデータを軸単位および手系フラグで扱います。

形式:LOCx

LOCx(<ポイント式>)

x:X,Y,Z,R,A,B(軸指定),F(手系フラグ指定)

例:A(1)=LOCX(P10)

----------P10のX軸データを配列変数A(1)に代入します。

LOCZ(P[A])=100 .0

----------P[A]のZ軸データに100 .0を代入します。

LOCF(P100)=1

---------- P100の手系フラグを右手系にします。

(P100のポイントデータは、ミリ単位でなければなりません。)

n要点

手系フラグは、ポイントデータの

単位がミリ単位のとき有効です。

ただし、手系フラグは、スカラ型

ロボットのみ有効となります。

手系フラグの値は、0(指定無

し)、1(右手系)、2(左手系)と

なります。

c注意

ソフトバージョンがVer. 8.28以前

のコントローラでは、ポイント変

数で指定できるポイント番号は、

0~4000です。

c注意

手系フラグは、Ver. 8.08以上のソフ

トバージョンのときのみ有効です。

Page 27: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

15

4. シフト要素変数

この変数はシフトデータを要素単位で扱います。

形式:

LOCx(<シフト式>)

x:X,Y,Z,R

例:A(1)=LOCX(S1)

----------S1のXデータを配列変数A(1)に代入します。

LOCR(S[A])=45 .0

----------S[A]のRデータを45 .0°に変更します。

5. パラレル入力変数

この変数はパラレル入力信号の状態を示します。

形式1:

DIm([b,・・・,b])

m:ポート番号 0~7,10~17,20~27

b:ビット指定 0~7

[b,・・・,b]が省略された場合、8ビットすべてが対象になります。

形式2:

DI(mb,・・・,mb)

m:ポート番号 0~7,10~17,20~27

b:ビット指定 0~7

例:A%=DI1()

----------DI(17)からDI(10)までの入力状態を変数A%に代入

します。

A%=DI5(7,4,0)

----------DI(57),DI(54),DI(50)の入力状態を変数A%

に代入します。

(上記の信号がすべて1(ON)の時、A%=7となる。)

A%=DI(27,15,10)

----------DI(27),DI(15),DI(10)の入力状態を変数A%

に代入します。

(上記の信号のDI(10)以外がすべて1(ON)の時、A%=6と

なる。)

n要点

ビット指定は右から昇順に記述し

てください。

実際に入力ボードが存在しない場

合、0が入力されます。

8. その他の変数

Page 28: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

16

6. パラレル出力変数

この変数はパラレル出力信号を指定したり、出力状態を示します。

形式1:

DOm([b,・・・,b])

m:ポート番号 0~7,10~17,20~27

b:ビット指定 0~7

[b,・・・,b]が省略された場合、8ビットすべてが対象になります。

形式2:

DO(mb,・・・,mb)

m:ポート番号 0~7,10~17,20~27

b:ビット指定 0~7

例:A%=DO2()

----------DO(27)からDO(20)までの出力状態を変数A%に代入

します。

A%=DO5(7,4,0)

----------DO(57),DO(54),DO(50)の出力状態を変数A%

に代入します。

(上記の信号がすべて1(ON)の時、A%=7となる。)

A%=DO(37,25,20)

----------DO(37),DO(25),DO(20)の出力状態を変数A%

に代入します。

(上記の信号のDO(20)以外すべて1(ON)の時、A%=6とな

る。)

n要点

ビット指定は右から昇順に記述し

てください。

実際に出力ボードが存在しない場

合、外部出力されません。

8. その他の変数

Page 29: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

17

7. 内部出力変数

シーケンスプログラムとの信号のやりとりのために使用する変数です。

内容の変更や、参照することができます。

ポート0、1は、専用の内部出力変数で、参照のみ可能です。

1) ポート0には、ビット0から順に、1軸~8軸の原点センサの状態が保

持されます。原点センサがオンすると1に、オフすると0になります。

2) ポート1には、ビット0から順に、1軸~8軸の軸ホールドの状態が保

持されます。

  軸がホールドすると1に、非ホールドの状態では0になります。

  ホールド状態とは、軸の移動が停止し公差内に位置決めされた状態です。

  サーボがオフした場合は非ホールドとなります。

また、未使用の軸は1になります。

形式1:

MOm([b,・・・,b])

m:ポート番号 0~7,10~17,20~27

b:ビット指定 0~7

[b,・・・,b]が省略された場合は、8ビットすべてが対象になります。

形式2:

MO(mb,・・・,mb)

m:ポート番号 0~7,10~17,20~27

b:ビット指定 0~7

例:A=MO2 ()

----------MO(27)からMO(20)までの内部出力状態を変数Aに代

入します。

A=MO5(7,4,0)

----------MO(57),MO(54),MO(50)の内部出力状態を変数

Aに代入します。

(上記の信号がすべて1(ON)の時、A=7となる。)

A=MO(37,25,20)

----------MO(37),MO(25),MO(20)の内部出力状態を変数

Aに代入します。

(上記の信号のMO(25)以外がすべて1(ON)の時、A=5とな

る。)

n要点

ビット指定は右から昇順になるよ

うに記述してください。

8. その他の変数

Page 30: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

18

8. アームロック出力変数

この変数は軸の移動を禁止するのに使用します。

変数への出力および参照ができます。

ポートは1つのみで、ビット0から順に、1軸~8軸に対応しています。

変数がオン状態のとき、対応する軸の移動が禁止されます。

形式1:

LOm([b,・・・,b])

m:ポート番号 0

b:ビット指定 0~7

[b,・・・,b]が省略された場合は、8ビット全てが対象になります。

形式2:

LO(mb,・・・,mb)

m:ポート番号 0

b:ビット指定 0~7

例:A%=LO0()

----------LO(07)からLO(00)までのアームロック状態を変数A

%に代入します。

A%=LO0(7,4,0)

----------LO(07),LO(04),LO(00)のアームロック状態を

変数A%に代入します。

(上記の信号がすべて1(ON)の時、A%=7となる。)

A%=LO0(06,04,01)

----------LO(06),LO(04),LO(01)のアームロック状態を

変数A%に代入します。

(上記の信号がLO(01)以外がすべて1(ON)の時、A%=6と

なる。)

n要点

ビット指定は右から昇順になるよ

うに記述してください。

8. その他の変数

Page 31: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

19

9. タイマ出力変数

シーケンスプログラムのタイマ機能で使用する変数です。

変数の内容の変更や参照ができます。

タイマ機能はシーケンスプログラムでのみ有効です。通常のプログラムで出

力した場合、MO変数と同様で内部出力となります。

形式1:

TOm([b,・・・,b])

m:ポート番号 0

b:ビット指定 0~7

[b,・・・,b]が省略された場合は、8ビット全てが対象になります。

形式2:

TO(mb,・・・,mb)

m:ポート番号 0

b:ビット指定 0~7

例:A%=TO0()

----------TO(07)からTO(00)までの状態を変数A%に代入しま

す。

A%=TO0(7,4,0)

----------TO(07),TO(04),TO(00)の状態を変数A%に代

入します。

(上記の信号がすべて1(ON)の時、A%=7となる。)

A%=TO(06,04,01)

----------TO(06)、TO(04)、TO(01)の状態を変数A%に代

入します。

(上記の信号がTO(01)以外すべて1(ON)の時、A%=6とな

る。)

n要点

ビット指定は右から昇順になるよ

うに記述してください。

8. その他の変数

Page 32: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

20

10. シリアル入力変数

この変数はシリアル入力信号の状態を示します。

形式1:

SIm([b,・・・,b])

m:ポート番号 0~7,10~17,20~27

b:ビット指定 0~7

[b,・・・,b]が省略された場合、8ビットすべてが対象になります。

形式2:

SI(mb,・・・,mb)

m:ポート番号 0~7,10~17,20~27

b:ビット指定 0~7

例:A%=SI1()

----------SI(17)からSI(10)までの入力状態を変数A%に代入

します。

  A%=SI5(7,4,0)

----------SI(57),SI(54),SI(50)の入力状態を変数A%

に代入します。

(上記の信号がすべて1(ON)の時、A%=7となる。)

  A%=SI(27,15,10)

----------SI(27),SI(15),SI(10)の入力状態を変数A%

に代入します。

(上記の信号のSI(10)以外がすべて1(ON)の時、A%=6と

なる。)

  WAIT SI(21)=1

----------SI(21)が1(ON)になるのを待ちます。

n要点

ビット指定は右から昇順に記述し

てください。

実際にシリアルボードが存在しな

い場合、0が入力されます。

8. その他の変数

Page 33: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

21

11. シリアル出力変数

この変数はシリアル出力信号を指定したり、出力状態を示します。

形式1:

SOm([b,・・・,b])

m:ポート番号 0~7,10~17,20~27

b:ビット指定 0~7

[b,・・・,b]が省略された場合、8ビットすべてが対象になります。

形式2:

SO(mb,・・・,mb)

m:ポート番号 0~7,10~17,20~27

b:ビット指定 0~7

例:A%=SO2()

----------SO(27)からSO(20)までの出力状態を変数A%に代入

します。

  A%=SO5(7,4,0)

----------SO(57),SO(54),SO(50)の出力状態を変数A%

に代入します。

(上記の信号がすべて1(ON)の時、A%=7となる。)

  A%=SO(37,25,20)

----------SO(37),SO(25),SO(20)の出力状態を変数A%

に代入します。

(上記の信号のSO(25)以外がすべて1(ON)の時、A%=5と

なる。)

n要点

ビット指定は右から昇順に記述し

てください。

実際にシリアルボードが存在しな

い場合、外部出力されません。

8. その他の変数

Page 34: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

22

8. その他の変数

12. シリアルワード入力

この変数はシリアル入力のワード情報の状態を示します。

形式1:

SIW(m)

m:ポート番号 2~15

取得範囲は、0(&H0000)~65535(&HFFFF)です。

例:A%=SIW(2)

----------SIW(2)から入力状態を変数A%に代入します。

A%=SIW(15)

----------SIW(15)から入力状態を変数A%に代入します。

13. シリアルダブルワード入力

この変数はシリアル入力のワード情報の状態をダブルワードで示します。

形式1:

SID(m)

m:ポート番号 2,4,6,8,10,12,14

取得範囲は、-1073741824(&HC0000000)~1073

741823(&H3FFFFFFF)です。

例:A%=SID(2)

----------SIW(2),SIW(3)から入力状態を変数A%に代入しま

す。

A%=SID(14)

----------SIW(14),SIW(15)から入力状態を変数A%に代入し

ます。

n要点

符号無しのワードデータとして扱

われます。

実際にシリアルボードが存在しな

い場合、0が入力されます。

n要点

符号付きのダブルワードデータと

して扱われます。

実際にシリアルボードが存在しな

い場合、0が入力されます。

取得範囲外(&H8000000

0~&HBFFFFFFF,&H

40000000~&H7FFF

FFFF)の値では、エラーとな

ります。

c注意

シリアルワード入力は、Ver. 8.08

以上のソフトバージョンのときの

み有効です。

c注意

シリアルダブルワード入力は、

Ver. 8.08以上のソフトバージョン

のときのみ有効です。

Page 35: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

23

8. その他の変数

14. シリアルワード出力

この変数はシリアル出力のワード情報に出力したり、出力状態を示します。

形式1:

SOW(m)

m:ポート番号 2~15

出力範囲は、0(&H0000)~65535(&HFFFF)です。

ただし、負の値を出力した場合、16進数に変換した下位のワード情報が出

力されます。

例:A%=SOW(2)

----------SOW(2)から出力状態を変数A%に代入します。

SOW(15)=A%

----------変数A%の内容をSOW(15)に代入します。

変数A%の値が出力範囲を越えている場合、下位のワード情報が

代入されます。

SOW(15)=-255

-----------255(&HFFFFFF01)の内容をSOW(15)に代

入します。

-255は負の値なので、下位のワード情報(&HFF01)が

代入されます。

15. シリアルダブルワード出力

この変数はシリアル出力のワード情報の状態をダブルワードで出力したり、

出力状態を示します。

形式1:

SOD(m)

m:ポート番号 2,4,6,8,10,12,14

出力範囲は、-1073741824(&HC0000000)~1073

741823(&H3FFFFFFF)です。

例:A%=SOD(2)

----------SOW(2),SOW(3)から入力状態を変数A%に代入しま

す。

SOD(14)=A%

----------変数A%の内容をSOD(14)に代入します。

n要点

符号無しのワードデータとして扱

われます。

実際にシリアルボードが存在しな

い場合、外部出力しません。

出力範囲を越える値を代入した場

合、下位の2バイト情報が出力さ

れます。

n要点

符号付きのダブルワードデータと

して扱われます。

実際にシリアルボードが存在しな

い場合、外部出力しません。

出力範囲外(&H8000000

0~&HBFFFFFFF,&H

40000000~&H7FFF

FFFF)の値は、エラーとなり

ます。

c注意

シリアルワード出力は、Ver. 8.08

以上のソフトバージョンのときの

み有効です。

c注意

シリアルダブルワード出力は、

Ver. 8.08以上のソフトバージョン

のときのみ有効です。

Page 36: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

24

9. 式と演算

9.1 算術演算

9.1.1 算術演算子

^ 指数(べき乗)演算

- 負号

*,/ 乗算,除算

+,- 加算,減算

MOD 剰余

剰余の演算で扱われる数値が実数である場合、整数に変換(小数点以下切り捨

て)した後、実行されます。結果は整数の割算の余りです。

例:A=15 MOD 2

----------A=1になります。(15/2=7....1)

A=17 .34 MOD 5 .98

----------A=2になります。(17/5=3....2)

9.1.2 関係演算子

= 等しい

<>,>< 等しくない

< 小さい

> 大きい

<=,=< 等しいか小さい

>=,=> 等しいか大きい

関係演算子は2つの値を比較するのに用います。比較の結果が“真”なら、-1

となります。“偽”なら、0となります。

例:A= 10 >5

----------10>5は“真”となるのでA=-1となる。

n要点

実数変数や実数配列に対して、等

価関係演算子を使用した場合、期

待した結果が得られないことがあ

ります。

例:

 A=2

 B=SQR(A!)

 IF A!=B!*B! THEN

  :

 このとき、A!とB!*B!は等

しくなりません。

Page 37: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

25

9.1.3 論理演算

NOT,~ 否定

AND,&    論理積

OR,| 論理和

XOR 排他的論理和

論理演算子は1つまたは2つの値をビットごとに操作するのに用います。たとえ

ばI/Oポートの入出力状態の操作に使用できます。論理演算の結果は各ビット

ごとに0または1で表します。実数データに対する論理演算は整数に変換してか

ら行われます。

例:A%=NOT 13 .05

----------13の各ビットを反転した値-14がA%に代入されます。

A%=3 AND 10

----------3と10の論理積(両方のビットが1の時1となる)を計算し、

結果をA%に代入する。A%は2となります。

A%=3 OR 10

----------3と10の論理和(どちらかのビットが1の時1となる)を計算

し、結果をA%に代入する。A%は11となります。

A%=3 XOR 10

----------3と10の排他的論理和(両方のビットが異なる時1となる)を

計算し、結果をA%に代入する。A%は9となります。

9.1.4 演算の優先順位

1. ( )で囲まれた式

2. 関数,変数

3. ^(指数)

4. 独立した+,-(単項演算子)

5. *,/

6. MOD

6. +,-

7. 関係演算子

8. NOT,~ (否定)

9. AND,& (論理積)

10. OR,|, XOR(論理和,排他的論理和)

上記の優先順位に従って演算を行います。優先順位が同じである場合、その式の

中で左側に書かれている演算から実行されます。

9. 式と演算

Page 38: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

26

9.1.5 型変換

式の中で形式の異なるデータどうしの演算を行なうと、データの型が変換されま

す。

1)実数が整数に代入される時、四捨五入となります。

例:A%=125 .67 -----------------A%=126となります。

2 整数と実数で四則演算すると、結果は実数となります。

例:A(0)=125*0 . 25 ---A(0)=31 .25になります。

3)整数を整数で割った時、結果は整数となります。

例:A(0)=100/3 ------------A(0)=33になります。

9.2 文字列演算

9.2.1 文字列の連結

文字列は演算子“+”によって連結できます。

例:A$=”YAMAHA”

B$=”ROBOT”

C$=”LANGUAGE”

D$=”MOUNTER”

E$=A$+” ”+B$+” ”+C$

F$=A$+” ”+D$

PRINT E$

PRINT F$

実行結果:YAMAHA ROBOT LANGUAGE

     YAMAHA MOUNTER

9.2.2 文字列の比較

文字も、数値の比較と全く同じ関係演算子を用いて比較できます。文字列の場

合、比較は列の最初から1文字ずつ行います。文字列が相互に全く同じである場

合、2つの文字列は等しくなります。1箇所でも違った場合には、その文字の

キャラクタコードの大きい方の文字列が大きくなります。

文字列の片方が短いため比較が途中で終った場合は、短い文字列の方が小さくな

ります。

下記の例はすべて“真”になります。

例:”AA”<”AB”

”X&”>”X#”

”DESK”<”DESKS”

文字列の比較は文字の内容を調べたり、文字をアルファベット順に並べたりする

(ソート)時等に使用します。

9. 式と演算

Page 39: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

27

9.3 ポイントデータの形式

ポイントデータには関節座標形式と直交座標形式の2種類があります。

ポイント番号は、0~9999の範囲となります。

9.3.1 関節座標形式

±nnnnnnn(XYZRAB共通)

符号付7桁以下の10進整定数です。-6144000~6144000の範囲

で指定できます。

単位は[パルス]

9.3.2 直交座標形式

±nnn.nn~±nnnnnnn.(XYZRAB共通)

小数部2桁以下で、合計桁数は7桁以下の符号付き10進小数です。

単位は:[mm]または[度]

スカラ型ロボットで、拡張設定の手系フラグを設定する場合は、データ後尾に1

および2を設定します。1および2以外の数値もしくは数値の指定がない場合

は、手系フラグの設定無しとして0が設定されます。

1:右手系  2:左手系

9.4 DI/DO条件式

MOVE文のSTOPONオプションとWAIT文の条件設定には、DI/DO

条件式を使用します。DI/DO条件式で使用可能な定数、変数、演算子は以下

の通りです。

a. 定数

10進整定数、2進定数、16進定数

b. 変数

グローバル整数型変数、グローバル実数型変数、入出力型変数

c. 演算子

関係演算子、論理演算子

d. 演算の優先順位

1. 関係演算子

2. NOT、~

3. AND、&

4. OR、|、XOR

例:WAIT DI(31)=1 OR DI(34)=1

----------DI31かDI34のどちらかが(ON)するまで待ちます。

9. 式と演算

n要点

+印は省略できます。

c注意

ソフトバージョンがVer. 8.28以前

のコントローラでは、ポイント番

号の範囲は、0~4000となります。

c注意

手系フラグは、Ver. 8.08以上のソフ

トバージョンのときのみ有効です。

Page 40: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

28

10. 複数台ロボット制御

10.1 概要

コントローラでは、複数台のロボット制御を行うことができます。

さらに、マルチタスク機能を使って複数台のロボツトを非同期に動作させること

もできます。この機能は使うためには、出荷時にシステムジェネレーションで2

台ロボットまたは付加軸の設定が行われている必要があります。

ロボットの軸は下記グループ分けのいずれかに設定されています。

メイングループ(4軸)

メイングループ(2軸)+サブグループ(2軸)

さらに、メイングループはメインロボットとメイン付加軸から、サブグループ

は、サブロボットとサブ付加軸から構成されています。

1台のロボットで付加軸を使用しない場合は、メイングループのメインロボット

だけの設定になっています。

メイン付加軸とサブ付加軸の設定がない場合は、メイングループ=メインロボッ

ト、サブグループ=サブロボットになります。

メインロボット (軸数:1~4)

メイン付加軸  (軸数:1~4)

メイングループ

(軸数:1~4)

サブロボット (軸数:1~2)

サブ付加軸  (軸数:1~2)

サブグループ

(軸数:1~2)

Page 41: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

29

n要点

1. メインロボット(サブロボット)

の動作には、MOVE(MOVE

2)、MOVEI(MOVEI

2)命令を使用します。

付加軸に設定された軸は、MOV

E(MOVE2)、MOVEI

(MOVEI2)、PMOVE

(PMOVE2)命令では動作し

ません。付加動作には、DRIV

E(DRIVE2)、DRIVE

I(DRIVEI2)命令を使用

します。

2. SERVOまたはSERVO2命

令で全軸を指定した場合には、メ

イングループおよびサブグループ

の全ての軸が対象になります。

10.2 グループ別命令一覧

ロボット動作、座標制御などロボット専用の主な命令・関数は、下記のとおりで

す。

分類 メイングループ サブグループ

ロボット動作 DRIVE,DRIVEI,MOVE,MOVEI,PMOVE,SERVO,WAIT ARM

DRIVE2,DRIVEI2,MOVE2,MOVEI2,PMOVE2,SERVO2,WAIT ARM2

座標制御 CHANGE,HAND,LEFTY/RIGHTY,SHIFT

CHANGE2,HAND2,LEFTY2/RIGHTY2,SHIFT2

状態変更 ACCEL,ARCH,ASPEED,AXWGHT,

ORGORD,OUTPOS,SPEED,TOLE, WEIGHT.

ACCEL2,ARCH2,ASPEED2,AXWGHT2,

DECEL, DECEL2,ORGORD2,OUTPOS2,SPEED2,TOLE2,WEIGHT2

ポイント演算 JTOXY,WHERE,WHRXY,XYTOJ

JTOXY2,WHERE2,WHRXY2,XYTOJ2

状態参照 ABSRPOS,ARMCND,ARMTYPE,MCHREF

ABSRPOS2,ARMCND2,ARMTYPE2,MCHREF2

パラメータ参照 ACCEL,ARCH,AXWGHT,DECEL,ORGORD,OUTPOS,TOLE,WEIGHT

ACCEL2,ARCH2,AXWGHT2,DECEL2,ORGORD2,OUTPOS2,TOLE2,WEIGHT2

トルク制御 DRIVE(トルク制限指定オプ ション付きの場合),TORQUE,TRQSTS,TRQTIME

DRIVE2(トルク制限指定オプ ション付きの場合),TORQUE2,TRQSTS2,TRQTIME2

PATH制御 PATH,PATH END,PATH SET,PATH START

10. 複数台ロボット制御

Page 42: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

30

11. 命令文

ABSRST文

形式:

ABSRST

意味:

この命令文は、ロボットのアブソリュートモータ軸の原点復帰動作を実行します。

途中停止をすると、原点復帰未了状態となります。

2台ロボット設定の場合、メイングループの原点復帰動作終了後、サブロボット

グループの原点復帰動作を行った後、アブソリュートリセットを実行します。

 例:ABSRST ---------- アブソリュートモータ軸の原点復帰動作を行います。

関連する命令:ORIGIN,ORGORD,ORGORD2,MCHREF,

MCHREF2

n要点

・この命令による対象軸は、原点復

帰方法として“マーク”以外を指

定された軸となります。

・原点復帰方法として“マーク”を

指定した軸が軸として原点復帰未

了状態となっている場合、この命

令は実行できません。

Page 43: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

31

11. 命令文

ACCEL文(メイングループ加速度設定文)

形式1:

ACCEL <式>

形式2:

ACCEL (<式1>)=<式2>

<式1>の値は、1~6である。(軸番号)

<式>および<式2>の値は、1~100である。(単位:%)

意味:

この命令文はメイングループのパラメータの加速度係数を<式>の値に変更しま

す。

形式1はメイングループの全軸を変更します。形式2は<式1>で指定される軸

のパラメータの加速度係数を、<式2>の値に変更します。

例:A=50

  ACCEL A

  ACCEL(3)=100

  ’CYCLE WITH INCREASING ACCELERATION

  FOR A=10  TO 100 STEP 10

   ACCEL A

   MOVE P,P0

   MOVE P,P1

  NEXT A

  HALT “END TEST”

n要点

・ロボット構成軸と付加軸の軸パラ

メータの加速度を変更します。

・ジェネレートで、no axisに

設定されている軸を指定すると、

“シヨウフイッチ”のメッセージ

を表示して実行を中止します。

Page 44: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

32

11. 命令文

ACCEL2文(サブグループ加速度設定文)

形式1:

ACCEL2 <式>

形式2:

ACCEL2 (<式1>)=<式2>

<式1>の値は、1~4である。(軸番号)

<式>および<式2>の値は、1~100である。(単位:%)

意味:

この命令文はサブグループのパラメータの加速度係数を<式>の値に変更しま

す。

形式1はサブグループの全軸を変更します。形式2は<式1>で指定される軸の

パラメータの加速度係数を、<式2>の値に変更します。

例:A=50

  ACCEL2 A

  ACCEL2(3)=100

  ’CYCLE WITH INCREASING ACCELERATION

  FOR A=10  TO 100 STEP 10

   ACCEL2 A

   MOVE2 P,P0

   MOVE2 P,P1

  NEXT A

  HALT “END TEST”

n要点

・この命令文は、システムジェネ

レーションで、サブグループが設

定されている場合のみ使用できま

す。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 45: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

33

11. 命令文

ARCH文(メイングループアーチ位置設定文)

形式1:

ARCH <式>

形式2:

ARCH(<式1>)=<式2>

<式1>の値は、1~6である。(軸番号)

<式>および<式2>の値は、1~6144000である。(単位:パルス)

意味:

この命令文は、メイングループのパラメータのアーチ位置を<式>の値に変更し

ます。形式1はメイングループの全軸を変更します。形式2は、<式1>で指定

される軸のアーチ位置パラメータを<式2>の値に変更します。

例:’CYCLE WITH INCREASING ARCH POSITION

  DIM SAV(3)

  GOSUB *SAVE_ARCH

  FOR A=1000  TO 10000  STEP 1000

   GOSUB *CHANGE_ARCH

   MOVE P,P0,Z=0

   DO3(0)=1 ------------ チャッククローズ

   MOVE P,P1,Z=0

   DO3(0)=0 ------------ チャックオープン

  NEXT A

  GOSUB *RESTORE_ARCH

  HALT

 *CHANGE_ARCH:

   FOR B=1 TO 4

    ARCH(B)=A

   NEXT B

   RETURN

 *SAVE_ARCH:

   FOR B=1 TO 4

    SAV(B-1)=ARCH(B)

   NEXT B

   RETURN

 *RESTORE_ARCH:

   FOR B=1 TO 4

    ARCH(B)=SAV(B-1)

   NEXT B

   RETURN

n要点

ジェネレートで、no axisに

設定されている軸を指定すると

“シヨウフイッチ”のメッセージ

を表示して実行を中止します。

Page 46: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

34

11. 命令文

ARCH2文(サブグループアーチ位置設定文)

形式1:

ARCH2 <式>

形式2:

ARCH2(<式1>)=<式2>

<式1>の値は、1~4である。(軸番号)

<式>および<式2>の値は、1~6144000である。(単位:パルス)

意味:

この命令文はサブグループのパラメータのアーチ位置を<式>の値に変更しま

す。形式1は、サブグループの全軸を変更します。形式2は、<式1>で指定さ

れる軸のアーチ位置パラメータを<式2>の値に変更します。

例:’CYCLE WITH INCREASING ARCH POSITION

  DIM SAV(3)

  GOSUB *SAVE_ARCH

  FOR A=1000  TO 10000  STEP 1000

   GOSUB *CHANGE_ARCH

   MOVE2 P,P0,Z=0

   DO3(0)=1 ------------ チャッククローズ

   MOVE2 P,P1,Z=0

   DO3(0)=0 ------------ チャックオープン

  NEXT A

  GOSUB *RESTORE_ARCH

  HALT

  *CHANGE_ARCH:

   FOR B=1 TO 4

    ARCH2(B)=A

   NEXT B

   RETURN

  *SAVE_ARCH:

   FOR B=1 TO 4

    SAV(B-1)=ARCH2(B)

   NEXT B

   RETURN

  *RESTORE_ARCH:

   FOR B=1 TO 4

    ARCH2(B)=SAV(B-1)

   NEXT B

   RETURN

n要点

・この命令文は、システムジェネ

レーションで、サブグループが設

定されている場合のみ使用できま

す。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 47: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

35

11. 命令文

ASPEED文(メイングループ自動移動速度設定文)

形式:

ASPEED <式>

<式>の値は、1~100である。(単位:%)

意味:

この命令文は、メイングループの自動移動速度を<式>で指定した値に変更しま

す。

例:SPEED 70

  ASPEED 100

  MOVE P,P0 ----- 現在位置からP0へ70%

(=100*70)の速度で移動

  ASPEED 50

  MOVE P,P1 ----- 現在位置からP1へ35%(=50*70)

の速度で移動

  MOVE P,P2,S=10 ----- 現在位置からP2へ5%(=50*10)

の速度で移動

  HALT

関連する命令:ASPEED2,SPEED,SPEED2

n要点

・ロボット構成軸と付加軸のすべて

のスピードを変更します。

・動作速度は、MPB/RPB操作や

ASPEED命令によって設定された自

動移動速度と、SPEED命令や移動命

令のSPEEDオプションによって指定

されたプログラム移動速度の積に

よって決まります。

例:自動移動速度 ・・・・・・・・・ 80%

プログラム移動速度 ・・・ 50%

移動速度 = 80%×50%

     = 40%

・DRIVE命令やDRIVEI命令で、

DSPEEDオプションで速度指定した

場合は、その動作速度はDSPEEDオ

プションで指定した速度だけで決

まり、自動移動速度やSPEED命令は

使用されません。

Page 48: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

36

11. 命令文

ASPEED2文(サブグループ自動移動速度設定文)

形式:

ASPEED2 <式>

<式>の値は、1~100である。(単位:%)

意味:

この命令文は、サブグループの自動移動速度を<式>で指定した値に変更しま

す。

例: SPEED2 70

ASPEED2 100

MOVE2 P,P0

----------現在位置からP0へ70%(=100*70)の速度で移動

ASPEED2 50

MOVE2 P,P1

----------現在位置からP1へ35%(=50*70)の速度で移動

MOVE2 P,P2,S=10

----------現在位置からP2へ5%(=50*10)の速度で移動

関連する命令:ASPEED、SPEED、SPEED2

n要点

・ロボット構成軸と付加軸のすべて

のスピードを変更します。

・動作速度は、MPB/RPB操作や

ASPEED2命令によって設定された

自動移動速度と、SPEED2命令や移

動命令のSPEEDオプションによって

指定されたプログラム移動速度の

積によって決まります。

例:自動移動速度 ・・・・・・・・・ 80%

プログラム移動速度 ・・・ 50%

移動速度 = 80%×50%

     = 40%

・DRIVE2命令やDRIVEI2命令で、

DSPEEDオプションで速度指定した

場合は、その動作速度はDSPEEDオ

プションで指定した速度だけで決

まり、自動移動速度やSPEED2命令

は使用されません。

・この命令は、システムジェネレー

ションでサブグループが設定され

ている場合のみ使用できます。

Page 49: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

37

11. 命令文

AXWGHT文(メイングループ軸先端質量設定文)

形式:

AXWGHT(<式1>)=<式2>

<式1>の値は、1~6である。(軸番号)

<式2>の範囲は、設定されているロボットによって異なります。

意味:

この命令文は<式1>で指定されるメイングループ軸の軸先端質量パラメータを

<式2>の値に変更します。

例:A=5

  B=0

  C=AXWGHT(1)--------退避

  AXWGHT(1)=A

  DRIVE(1,P0)

  AXWGHT(1)=B

  DRIVE(1,P1)

  AXWGHT(1)=C--------復元

  HALT

関連する命令:WEIGHT、WEIGHT2、AXWGHT2

n要点

・指定軸の軸先端質量を変更しま

す。

・メインロボットが‘MULTI’

の軸または、メイン付加軸に対し

てだけ有効です。

・ロボットの機種および付加軸は、

出荷時に設定されています。

Page 50: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

38

11. 命令文

AXWGHT2文(サブグループ軸先端質量設定文)

形式:

AXWGHT2(<式1>)=<式2>

<式1>の値は、1~4である。(軸番号)

<式2>の範囲は、設定されているロボットによって異なります。

意味:

この命令文は<式1>で指定されるサブグループ軸の軸先端質量パラメータを

<式2>の値に変更します。

例:A=5

  B=0

  C=AXWGHT2(1) ------------退避

  AXWGHT2(1)=A

  DRIVE2(1,P0)

  AXWGHT2(1)=B

  DRIVE2(1,P1)

  AXWGHT2(1)=C ------------復元

  HALT

関連する命令:WEIGHT、WEIGHT2、AXWGHT

n要点

・指定軸の軸先端質量を変更しま

す。

・サブロボットが‘MULTI’の

軸または、サブ付加軸に対してだ

け有効です。

・ロボットの機種および付加軸は、

出荷時に設定されています。

Page 51: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

39

11. 命令文

CALL文

形式:

CALL <ラベル>[(<実引数>[,<実引数>…])]

意味:

この命令文は、SUB文~END SUB文で定義されたサブプロシージャを呼

び出します。<ラベル>は、SUB文で定義された名前と同じのもを指定しま

す。引数の定義を下記に示します。

1.実引数に定数または式を指定した場合、値渡しとなります。

2.実引数に変数または配列の要素を指定した場合、値渡しとなります。ただ

し、実引数の前に、REFを付加することにより、参照渡しとなります。

3.実引数に配列全体(配列名の後ろに()がついたもの)を指定した場合、

参照渡しとなります。

例1:

 X%=4

 Y%=5

 CALL *COMPARE( REF X%, REF Y% )

 HALT

 ’SUB ROUTINE:  COMPARE

 SUB *COMPARE( A%,  B% )

   IF A% < B% THEN

     TEMP%=A%

     A%=B%

     B%=TEMP%

   ENDIF

 END SUB

例2:

 I = 1

 CALL  *TEST( I )

 HALT

 ’SUB ROUTINE:  TEST

 SUB *TEST

   X = X + 1

   IF X < 15 THEN

     CALL *TEST( X )

   ENDIF

 END SUB

関連する命令:SUB,END SUB,CALL,DECLARE,EXIT

SUB

n要点

・値渡しの場合、サブプロシージャ

内で値を変更しても、実引数の値

は変化しません。

・参照渡しの場合、サブプロシー

ジャ内で値を変更すると、実引数

の値も変化します。

n要点

・1個の実引数のあるCALL文

は、続けて15回まで使用できま

す。

ただし、IF文やGOSUB文な

どスタックを使用する命令の使用

状態やCALL文の引数の数に

よって回数は減少します。

・CALL文でサブプロシージャを

呼び出した場合、サブプロシー

ジャは必ずEND SUB文で終

了してください。GOTO文等で

サブプロシージャからジャンプし

た場合、“スタックオーバーフロー”などの

エラーが発生することがありま

す。

Page 52: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

40

11. 命令文

CHGPRI文

形式:

CHGPRI Tn,p

タスク番号nの値は、2~8である。

タスク優先順位pの値は、17~47である。

意味:

この命令文は、指定されたタスクnの優先順位をpに変更します。

例:

 START *SUBTASK,T2,33

 *ST:

   MOVE P,P0,P1

   IF DI(20) = 1 THEN

     CHGPRI T2,32

   ELSE

     CHGPRI T2,33

   ENDIF

 GOTO *ST

 HALT

 ’SUBTASK ROUTINE

 *SUBTASK:

   IF LOCZ(WHERE) > 10000 THEN

     DO(20) = 1

     GOTO *SUBTASK

   ENDIF

   DO(20) = 0

 GOTO *SUBTASK

 EXIT TASK

関連する命令:CUT,EXIT TASK,RESTART,

SUSPEND,START

n要点

・メインタスクであるタスク1は、

タスク優先順位が32です。

・タスク優先度の値が小さい方が高

い優先度になります。

・タスク優先順位の高いタスクがR

EADY状態の場合、優先順位の

低いタスクは、READY状態の

ままとなります。

Page 53: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

41

11. 命令文

CUT文

形式:

CUT Tn

タスク番号nの値は、2~8である。

意味:

この命令文は、実行中または一時停止中の他のタスクを強制終了します。

この命令文は、自分自身のタスクを強制終了させることはできません。

例:

 ’TASK1 ROUTINE

 *ST:

   MO(20) = 0

   START *SUBTASK2,T2

   MOVE P,P0

   MOVE P,P1

   WAIT MO(20) = 1

   CUT T2

 GOTO *ST

 HALT

 ’TASK2 ROUTINE

 *SUBTASK2:

   P100=JTOXY(WHERE)

   IF LOCZ(P100) >= 100.0 THEN

     MO(20) = 1

   ELSE

     DELAY 100

   ENDIF

 GOTO *SUBTASK2

 EXIT TASK

関連する命令:EXIT TASK,CUT,RESTART,START,

SUSPEND

Page 54: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

42

11. 命令文

DECEL 文(メイングループ減速度設定文)

形式1 :

DECEL <式>

           

形式2 :

DECEL (<式1 >)=<式2 > 

<式1 >の値は、1 ~6 である。(軸番号)

<式>および<式2 >の値は、1 ~100 である。(単位:%)

意味:

この命令文はメイングループのパラメータの減速比率を<式>の値に変更しま

す。

形式1 はメイングループの全軸を変更します。形式2 は<式1>で指定される

軸のパラメータの減速比率を、<式2>の値に変更します。

例:A =50

  DECEL A

  DECEL(3)=100

  ’CYCLE WITH INCREASING DECELERATION

  FOR A =10 TO 100 STEP 10

    DECEL A

    MOVE P ,P0

    MOVE P ,P1

  NEXT A

  HALT “END TEST ”

n要点

・ロボット構成軸と付加軸の軸パラ

メータの減速度を変更します。

・ジェネレートで、no axis に

設定されている軸を指定すると、

“シヨウフイッチ”のメッセージ

を表示して実行を中止します。

c注意

DECEL文は、Ver. 8.15以上のソフト

バージョンのときのみ有効です。

Page 55: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

43

11. 命令文

DECEL2 文(サブグループ減速度設定文)

形式1 :

DECEL2 <式>  

            

形式2 :

DECEL2 (<式1>)=<式2>

         

<式1>の値は、1~4 である。(軸番号)

<式>および<式2>の値は、1~100 である。(単位:%)

意味:

この命令文はサブグループのパラメータの減速比率を<式>の値に変更します。

形式1 はサブグループの全軸を変更します。形式2 は<式1>で指定される軸

のパラメータの減速比率を、<式2>の値に変更します。

例:A =50

  DECEL2 A

  DECEL2(3)=100

  ’CYCLE WITH INCREASING DECELERATION

  FOR A =10 TO 100 STEP 10

    DECEL2 A

    MOVE2 P ,P0

    MOVE2 P ,P1

  NEXT A

  HALT “END TEST ”

n要点

・ロボット構成軸と付加軸の軸パラ

メータの減速度を変更します。

・この命令文は、システムジェネ

レーションで、サブグループが設

定されている場合のみ使用できま

す。

・ジェネレートで、no axis に

設定されている軸を指定すると、

“シヨウフイッチ”のメッセージ

を表示して実行を中止します。

c注意

DECEL2文は、Ver. 8.15以上のソフ

トバージョンのときのみ有効です。

Page 56: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

44

11. 命令文

DECLARE文

形式1:

DECLARE <ラベル>[,<ラベル>…]

<ラベル>:外部プログラムで定義されているラベル

形式2:

DECLARE SUB <ラベル>[(<仮引数>[,<仮引数>]…)]

<ラベル>: 外部プログラムで定義されているサブプロシージャの名前。

<仮引数>: サブプロシージャの引数。引数の個数とデータの型だけが意味を

持ちます。

意味:

この命令文はラベルまたはサブプロシージャが外部プログラムにあることを宣言

します。サブプロシージャの場合、引数のデータ型もチェックします。

DECLARE文はCOMMONプログラム以外(サブプロシージャ内には定義

できない)に記述できます。プログラム全体で有効です。

例:外部プログラムのラベルの共有

 プログラム名:DIST1

 ’================================================

 ’    MAIN PROGRAM

 ’================================================

  DECLARE *DISTANCE,*AREA

  X!=2 .5

  Y!=1 .2

  GOSUB *DISTANCE

  GOSUB *AREA

  HALT

 プログラム名:COMMON

 ’================================================

 ’   ’COMMON’PROGRAM

 ’================================================

  *DISTANCE:

    PRINT X!^2+Y!^2

    RETURN

  *AREA:

    PRINT X!*Y!

    RETURN

n要点

・外部プログラムは“COMMO

N”だけが使用できます。

・GOSUB,CALL,ON~G

OSUB文だけが外部ラベルを使

用できます。

Page 57: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

45

11. 命令文

例:外部プログラムのサブプロシージャの共有

 プログラム名:DIST2

 ’==========================================================

 ’       MAIN  PROGRAM

 ’==========================================================

  DECLARE SUB *DISTANCE(X!,Y!,D!)

  DECLARE SUB *AREA(X!,Y!,A!)

  CALL  *DISTANCE(2 .5,1 .2,REF D!)

  PRINT D!

  CALL  *AREA(2 .5,1 .2,REF A!)

  PRINT A!

  HALT

 プログラム名:COMMON

 ’==========================================================

 ’      ’COMMON’ PROGRAM

 ’==========================================================

  SUB *DISTANCE(X!,Y!,D!)

  D!=X!^2+Y!^2

  END SUB

  SUB *AREA(X!,Y!,A!)

  A!=X!*Y!

  END SUB

関連する命令:CALL,EXIT SUB,GOSUB,ON~GOSUB,

SUB,END SUB

Page 58: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

46

11. 命令文

DEF FN文

形式:

DEF FN<名称>[ % ][(<仮引数>,[<仮引数>…])]= <関数の定義式>          !          $

意味:

DEF FNは、ユーザーが使用可能な関数を定義する命令です。定義した関数

は、FN名称(変数)という形で呼び出して使用します。

名称は、FNを含めて16文字以内です。

<仮引数>には、<関数の定義式>の中で用いられている変数と同じ名前の変数

を使用します。この変数名は、<関数の定義式>を評価する場合にだけ有効であ

り、プログラムの中に同じ変数名があってもかまいません。

<仮引数>を使用している関数を呼び出す時は、<仮引数>の型と同じ型の定

数、変数、または式を指定します。

例:DEF FNPAI=3 .141592

  DEF FNASIN(X)=ATN(X/SQR(-X^2+1))

 ・

 ・

  A=FNASIN(B)*10

n要点

・<仮引数>には、数値型または文

字型の変数を指定できます。

・<関数の定義式>で使われている

変数が<仮引数>リスト内にない

場合には、変数がその時点で持っ

ている値が使われます。

・DEF FNは、DEFとFNの

間にスペースを入れてください。

さもないとDEFFNは、変数と

して扱われます。

・DEF FN文は、プロシージャ

内では、使用できません。

・DEF FN文による定義は、関

数を使用する文よりも、前に宣言

する必要があります。

Page 59: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

47

11. 命令文

DELAY文

形式:

DELAY <式>

<式>の値は1~3600000である。(単位:ms)

意味:

この命令文は<式>で指定された時間(単位ms)だけ待ちます。ただし最小実

行待ち時間は10msです。

例:DELAY 3500 ----- 3500ms(3 .5秒)待ちます。

  DELAY A*10

Page 60: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

48

11. 命令文

DIM文(配列変数宣言文)

形式:

DIM <配列指定>[,<配列指定>,…]

配列指定:

<名称> [ % ](<定数>[,<定数>[,<定数>]])        !        $

<定数>の値は、0~32767の正の整数である。

意味:

この命令文は配列変数の名前と要素数を宣言します。配列の添字は最大3次元ま

で使用できます。“,”(コンマ)で区切ることによって1行に複数の配列を宣言

できます。

例:DIM A%(10)

----------整数型の配列変数A%(0)~A%(10)を定義します。(要素

数11)

  DIM B(2,3,4)

----------実数型の配列変数B(0,0,0)~B(2,3,4)を定義し

ます。(要素数60)

  DIM C%(2,2),D!(10)

----------整数型の配列C%(0,0)~C%(2,2)と実数型の配列

D!(0)~D!(10)を定義します。

n要点

・配列の各次元の大きさはDIMの

定数+1です。配列変数の各要素は

0から始まります。

・配列の各次元指定された大きさに

よっては、メモリフルのエラーが

発生します。

Page 61: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

49

11. 命令文

n要点

・DO0()とDO1()への出力

ができません。

・ ビット指定は、右から昇順で記述

してください。

・ハード的に存在しないDOポート

への出力は、外部出力されませ

ん。

DO文(パラレル出力)

形式:

[LET]  DOm([b,・・・,b])  = <式>

       DO(mb,・・・,mb)

ポート番号mの値は、2~7,10~17,20~27である。

ビット指定bの値は、0~7である。

<式>の値は、整数化し、左辺で指定されたビット指定に対応した下位のビット

が有効である。

意味:

この命令文は、指定された値をDOポートに出力します。

例:

 DO2() = &B10111000 ------ DO(27,25,24,23)がオンしDO

(26,22,21,20)がオフします

 DO2(6,5,1) = &B010 ------ DO(25)がオンし、DO(26,21)が

オフします。

 DO3() = 15 ------ DO(33,32,31,30)がオンし、D

O(37,36,35,34)がオフします。

 DO(37,35,27,20) = A ------ DO(37,35,27,20)に変数Aを整

数化したときの下位4ビットの内容を出力しま

す。

関連する命令:RESET, SET

Page 62: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

50

11. 命令文

DRIVE文

形式:

DRIVE(<式1>, <式2>    )[,(<式1>, <式2>    )…][,オプション]

            <ポイント式>           <ポイント式> 

意味:

この命令は、メイングループの軸単位の絶対移動命令を実行します。

したがって、メイングループの付加軸は、この移動命令で移動します。

 移動種類 :軸指定PTP

 ポイント指定:直接数値指定、ポイント定義指定

 オプション :速度指定、STOPON条件指定、トルク制限指定、XY指定

移動の種類

・軸指定PTP(Point to Point)

<式1>で指定されたすべての軸の動作が完了後(公差範囲以内に軸到着後)、

移動を開始し、アウト有効位置範囲以内に入ると命令を終了します。複数軸を指

定した場合は、同時到着します。

DRIVE 命令に続く次の命令の注意点

DRIVE命令の次の命令が信号出力命令などの実行可能な命令の場合、移動対象

軸がアウト有効位置範囲以内に入ると次の命令を開始します。つまり、目標位置

の公差範囲以内に軸が到着する前に次の命令を開始することになります。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM”文を使用してください。

Page 63: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

51

11. 命令文

P1

DO(20)をオン

DRIVE(1,P1)WAIT ARMDO(20)=1

DO(20)をオン

DRIVE(1,P1)DO(20)=1

公差

目標位置

アウト有効位置

HOLD実行(プログラム一時停止)

DRIVE(1,P1)WAIT ARMHOLD

DRIVE(1,P1)HOLD

公差アウト有効位置

目標位置

HOLD実行(プログラム一時停止)

例:

 DRIVE(1,P0) --------現在位置から第1軸がP0で指定された位置

へ移動

ポイント指定の種類

・直接数値指定

<式2>に直接座標値を指定します。

このときの数値が、整数値の場合はパルス単位と判断し、実数値の場合はミリ/

度単位と判断し、移動します。ミリ/度単位と判断した場合、0パルス位置から

の軸毎の換算位置に移動します。

 

例:

 DRIVE(1,10000) --------現在位置から第1軸が10000パル

スへ移動

 DRIVE(4,90.00) --------現在位置から第4軸が+方向に90度

位置へ移動(回転軸の場合)

・ポイント定義指定

<式2>にポイント式を指定します。<式1>で指定された軸のデータを使用し

ます。

このときのポイント式の単位によって移動位置を決定し、移動します。ミリ/度

単位と判断した場合、0パルス位置からの軸毎の換算位置に移動します。

例:

 DRIVE(1,P1) --------現在位置から第1軸がP1で指定され

た位置へ移動

 DRIVE(4,P90) --------現在位置から第4軸が0パルス位置か

らP90で指定された度数の位置へ移

動(回転軸の場合) 

n要点

指定単位が混在している場合は、

すべての指定がミリ/度単位とし

て移動します。

Page 64: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

52

11. 命令文

オプションの種類

・速度指定

形式1:

 SPEED =<式>

 S    

<式>の値は、1~100である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、自動移動速度とプログ

ラム移動速度の積によって決まります。

指定されたDRIVE文に対してのみ有効です。

例:

 DRIVE(1,10000),S=10 ---- 現在位置から第1軸が

プログラム速度10%で、

10000パルスへ移動

形式2:

 DSPEED =<式>

 DS    

<式>の値は、0.01 ~100.00 である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、ここで指定した速度だ

けで決まり、自動移動速度は使用されません。

トルク制限指定オプションと併用した場合の移動速度は、<式>で指定した速度

の10% となります。

指定されたDRIVE文に対してのみ有効です。

例:

 DRIVE(1,P10),DS=0.2 ---- 現在位置から第1 軸をP10

で指定された位置へ0.2%

の速度で移動

 DRIVE(3,P1),T=(20,15),DSPEED=1

--------最大トルク値を定格トルクの20%、トルクオフセッ

トを15に設定して、現在位置から第3軸をP1で指

定された位置へ0.1%の速度で移動(押付動作)

n要点

・速度指定(DSPEED)は、以下のソフ

トバージョンのときのみ有効です。

 RCX14x Ver.8.71以上

 RCX22x Ver.9.18以上

・SPEEDオプションとDSPEEDオプ

ションは併用できません。

Page 65: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

53

11. 命令文

・STOPON条件指定

形式:

STOPON <条件式>

意味:

移動中に条件式が成立した(真になった)場合、移動を停止します。このときの

停止動作は、減速停止なので、条件成立後(条件式が真になった後)に減速移動

距離が発生します。

移動開始時に条件式が成立している(真になっている)場合、移動せずに命令を

終了します。

プログラム実行のみ有効です。

例:

 DRIVE(1,10000),STOPON DI(20)=1

--------現在位置から第1軸が10000パルスへ移動。途中

でDI(20)=1の条件が成立したら、移動を停止

する。

・トルク制限指定

形式1:

T=<式1>

形式2:

T=(<式1>[,<式2>])

<式1>は、トルク制限値を定格トルクに対する百分率で指定した値である。値

は、1~100である。(単位:%)

<式2>は、トルクオフセット値である。値は、-100~100である。

意味:

トルク制御を行いながら軸を移動します。

このときのトルクの最大値は、定格トルク×<式1>/100の値に制限されます。

<式2>でトルクオフセット値を指定します。垂直仕様の軸など、常に一定の負荷

が作用している軸でトルク制御を行う場合に指定します。<式2>を省略した場合

および形式1では、トルクオフセット値は0が指定されたものとみなされます。

<式2>に指定するトルクオフセット値は、軸で定常的に発生しているトルク指

令値(最大トルク比)です。軸がサーボオン状態で静止しているときに電流指令

モニタに表示し、そのときに表示される値を指定してください。

本オプションを指定してDRIVE文を実行すると、軸の最大トルク値を<式1>

で指定した値に変更し、トルク制御を行いながら目標位置に向かって移動します。

このときの移動速度は、通常の速度の10%を上限とします。移動中に障害物に接

触してもエラーにはならず、軸のトルク(推力)は制限値を超えることはありませ

ん。

n要点

STOPON条件指定で使用する条件式

が数値を表す式である場合、下記

ソフトバージョンのコントローラ

では、その他のパラメータの

“True ジョウケン”で「真」、「偽」

になる条件を変更することができ

ます(-1・・・「真」、0・・・「偽」 

または 0以外・・・「真」、0・・・

「偽」)。詳しくは、コントローラ

取扱説明書を参照してください。

 RCX14x Ver. 8.63以上

 RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

c注意

・トルク制限指定におけるトルクオ

フセット値の指定は、Ver. 8.18以

上のソフトバージョンのときのみ

有効です。

・トルク制限指定における設定範囲

は使用ロボットによって異なりま

す。設定値が、使用範囲を超えて

いた場合、ロボットの故障、誤動

作の原因になります。

・指定されたトルク制限値が小さい

場合、軸が移動できない場合があ

ります。

n要点

電流指令モニタについては、各コ

ントローラ取扱説明書の第4章

“13.モニタモード”を参照してく

ださい。

Page 66: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

54

11. 命令文

軸が目標位置に到達するか、軸のトルク(推力)が制限値に達した状態がTRQ

TIME文で指定した時間(タイムアウト時間)以上経過すると、本命令を終了

します。軸のトルクが制限値に達した状態がタイムアウト時間以上経過して命令

を終了した場合、TRQSTS関数に1がセットされます。

本命令が終了しても、最大トルク制限およびトルク制御状態は継続しています。

本命令実行中にインターロック等で停止した場合も同様です。

トルク制御は、サーボのオン/オフ操作やMOVE命令を実行するなど、軸に対

して何らかの操作を行うと解除されます。最大トルク制限を解除するには、TO

RQUE文を使って、新たに最大トルク指令値を設定します。ただし、TORQ

UE文で変更した最大トルク指令値は、すぐに有効になりません。次のMOVE

文やDRIVE文などの移動命令を実行したときに有効になります。

以下の場合にはTORQUE文の実行にかかわらず、最大トルク制限が解除され

ます。

・コントローラの電源をオンしたとき

・サーボオフしたとき

・原点復帰またはアブソリュートリセット(マーク方式を除く)を実行したとき

・パラメータの変更または初期化したとき

本オプションを指定する場合、以下の制限があります。

・本オプションは、複数軸指定では使用できません。

・移動時の最高速度は、通常の10%となります。

・本命令を実行してトルク制御状態になっている軸は、手動移動できません。

例:

 TRQTIME(3)=2500 ---- 第3軸のトルク制御のタイム

アウト時間を2 .5秒に設定

 DRIVE(3,P1),T=(20,15)---- 最大トルク値を定格トルクの

20%、トルクオフセット値

を15に設定して、現在位置

から第3軸をP1で指定され

た位置へ移動(押し付け動作)

 IF TRQSTS(3)=1 THEN ---- タイムアウトしたか確認

  DO(21)=1 ---- タイムアウトしました(押し

付け完了)

(ここでは、DO(21)に

結果を出力しています)

 ELSE

  DO(21)=0 ---- タイムアウトしていません

(目標位置へ到達、押し付け

不良)

(ここでは、DO(21)に

結果を出力しています)

 ENDIF

 TORQUE(3)=100 ---- 最大トルク指令値を元(10

0%)に戻す

 DRIVE(3,P0) ---- トルク制限およびトルク制御

を終了し、P0へ移動

c注意

・右記の本命令の終了条件は、

Ver. 8.45以上のソフトバージョンの

ときのみ有効です。それ未満のバー

ジョンのコントローラでは、本命令

は以下の場合に終了します。

・目標位置への移動に必要な時間

が経過した時点で、軸が目標位

置に到達しているとき。

・目標位置への移動に必要な時間

が経過した時点で、既に軸のト

ルクが制限値に達した状態が1秒

以上あったとき。

・目標位置への移動に必要な時間

が経過した時点でトルクが制限

値に達しており、制限値に達し

た状態が1秒間継続したとき。

・右記のTORQUE文で変更した

最大トルク指令値が有効になるタ

イミングは、Ver. 2.17以上のドラ

イババージョンのときのみ有効で

す。それ未満のバージョンのコン

トローラでは、TORQUE文で

変更した時点で有効となります。

Page 67: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

55

11. 命令文

関連する命令:TORQUE、TRQTIME、TRQSTS関数

・XY指定

形式:

XY

意味:

複数の指定軸を直交座標で指定されている位置に移動します。

この命令の制限事項を下記に示します。

1.<式1>で指定する軸には、第1軸と第2軸が含まれなければなりませ

ん。

2.指定可能なロボットは、スカラ型とXY型です。

3.ポイント指定は、ミリ/度単位(実数値)でなければなりません。

例:

 DRIVE(1,P100),(2,P100),(4,P100),XY

----------現在位置から第1軸、第2軸、第4軸がP100で指定された直

交座標の位置へ移動

Page 68: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

56

11. 命令文

DRIVE2文

形式:

DRIVE2(<式1>, <式2>    )[,(<式1>, <式2>    )…][,オプション]

             <ポイント式>           <ポイント式> 

意味:

この命令は、サブグループの軸単位の絶対移動命令を実行します。

したがって、サブグループの付加軸は、この移動命令で移動します。

 移動種類 :軸指定PTP

 ポイント指定:直接数値指定、ポイント定義指定

 オプション :速度指定、STOPON条件指定、トルク制限指定、XY指定

移動の種類

・軸指定PTP(Point to Point)

<式1>で指定されたすべての軸の動作が完了後(公差範囲以内に軸到着後)、

移動を開始し、アウト有効位置範囲以内に入ると命令を終了します。複数軸を指

定した場合は、同時到着します。

DRIVE2 命令に続く次の命令の注意点

DRIVE2命令の次の命令が信号出力命令などの実行可能な命令の場合、移動対

象軸がアウト有効位置範囲以内に入ると次の命令を開始します。つまり、目標位

置の公差範囲以内に軸が到着する前に次の命令を開始することになります。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM2”文を使用してください。

Page 69: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

57

11. 命令文

n要点

指定単位が混在している場合は、

すべての指定がミリ/度単位とし

て移動します。

P1

DO(20)をオン

DRIVE2(1,P1)WAIT ARM2DO(20)=1

DO(20)をオン

DRIVE2(1,P1)DO(20)=1

公差

目標位置

アウト有効位置

HOLD実行(プログラム一時停止)

DRIVE2(1,P1)WAIT ARM2HOLD

DRIVE2(1,P1)HOLD

公差アウト有効位置

目標位置

HOLD実行(プログラム一時停止)

例:

 DRIVE2(1,P0) -------- 現在位置から第1軸がP0で指定された

位置へ移動

ポイント指定の種類

・直接数値指定

<式2>に直接座標値を指定します。

このときの数値が、整数値の場合はパルス単位と判断し、実数値の場合はミリ/

度単位と判断し、移動します。ミリ/度単位と判断した場合、0パルス位置から

の軸毎の換算位置に移動します。

例:

 DRIVEI2(1,10000) ------- 現在位置から第1軸が10000

パルスへ移動

 DRIVEI2(2,90.00) ------- 現在位置から第4軸が+方向に

90度位置へ移動(回転軸の場合)

・ポイント定義指定

<式2>にポイント式を指定します。<式1>で指定された軸のデータを使用し

ます。

このときのポイント式の単位によって移動位置を決定し、移動します。ミリ/度

単位と判断した場合、0パルス位置からの軸毎の換算位置に移動します。

例:

 DRIVE2(1,P1) ------- 現在位置から第1軸がP1で指定

された位置へ移動

 DRIVE2(4, P90) ------- 現在位置から第2軸が0パルス位

置からP90で指定された度数の

位置へ移動(回転軸の場合)

Page 70: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

58

11. 命令文

オプションの種類

・速度指定

形式1:

 SPEED =<式>

 S    

<式>の値は、1~100である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、自動移動速度とプログ

ラム移動速度の積によって決まります。

指定されたDRIVE2文に対してのみ有効です。

例:

 DRIVE2(1,10000),S=10

----------現在位置から第1軸がプログラム速度10%で、10000パル

スへ移動

形式2:

 DSPEED =<式>

 DS    

<式>の値は、0.01 ~100.00 である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、ここで指定した速度だ

けで決まり、自動移動速度は使用されません。

トルク制限指定オプションと併用した場合の移動速度は、<式>で指定した速度

の10% となります。

指定されたDRIVE2文に対してのみ有効です。

例:

 DRIVE2(1,P10),DS=0.2 ---- 現在位置から第1 軸をP10

で指定された位置へ0.2%

の速度で移動

 DRIVE2(3,P1),T=(20,15),DSPEED=1

--------最大トルク値を定格トルクの20%、トルクオフセッ

トを15に設定して、現在位置から第3軸をP1で指

定された位置へ0.1%の速度で移動(押付動作)

n要点

・速度指定(DSPEED)は、以下のソフ

トバージョンのときのみ有効です。

 RCX14x Ver.8.71以上

 RCX22x Ver.9.18以上

・SPEEDオプションとDSPEEDオプ

ションは併用できません。

Page 71: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

59

11. 命令文

・STOPON条件指定

形式:

STOPON <条件式>

意味:

移動中に条件式が成立した(真になった)場合、移動を停止します。このときの

停止動作は、減速停止なので、条件成立後(条件式が真になった後)に減速移動

距離が発生します。

移動開始時に条件式が成立している(真になっている)場合、移動せずに命令を

終了します。

プログラム実行のみ有効です。

例:

 DRIVE2(1,10000),STOPON DI(20)=1

------- 現在位置から第1軸が10000パルスへ移動。途中でDI

(20)=1の条件が成立したら、移動を停止する。

・トルク制限指定

形式1:

T=<式1>

形式2:

T=(<式1>[,<式2>])

<式1>は、トルク制限値を定格トルクに対する百分率で指定した値である。値

は、1~100である。(単位:%)

<式2>は、トルクオフセット値である。値は、-100~100である。

意味:

トルク制御を行いながら軸を移動します。

このときのトルクの最大値は、定格トルク×<式1>/100の値に制限されます。

<式2>でトルクオフセット値を指定します。垂直仕様の軸など、常に一定の負荷

が作用している軸でトルク制御を行う場合に指定します。<式2>を省略した場合

および形式1では、トルクオフセット値は0が指定されたものとみなされます。

<式2>に指定するトルクオフセット値は、軸で定常的に発生しているトルク指

令値(最大トルク比)です。軸がサーボオン状態で静止しているときに電流指令

モニタに表示し、そのときに表示される値を指定してください。

本オプションを指定してDRIVE2文を実行すると、軸の最大トルク値を<式

1>で指定した値に変更し、トルク制御を行いながら目標位置に向かって移動し

ます。このときの移動速度は、通常の速度の10%を上限とします。移動中に障

害物に接触してもエラーにはならず、軸のトルク(推力)は制限値を超えること

はありません。

n要点

STOPON条件指定で使用する条件式

が数値を表す式である場合、下記

ソフトバージョンのコントローラ

では、その他のパラメータの

“True ジョウケン”で「真」、「偽」

になる条件を変更することができ

ます(-1・・・「真」、0・・・「偽」 

または 0以外・・・「真」、0・・・

「偽」)。詳しくは、コントローラ

取扱説明書を参照してください。

 RCX14x Ver. 8.63以上

 RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

c注意

・トルク制限指定におけるトルクオ

フセット値の指定は、Ver. 8.18以

上のソフトバージョンのときのみ

有効です。

・トルク制限指定における設定範囲

は使用ロボットによって異なりま

す。設定値が、使用範囲を超えて

いた場合、ロボットの故障、誤動

作の原因になります。

・指定されたトルク制限値が小さい

場合、軸が移動できない場合があ

ります。

n要点

電流指令モニタについては、各コ

ントローラ取扱説明書の第4章

“13.モニタモード”を参照してく

ださい。

Page 72: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

60

11. 命令文

軸が目標位置に到達するか、軸のトルク(推力)が制限値に達した状態がTRQ

TIME2文で指定した時間(タイムアウト時間)以上経過すると、本命令を終

了します。軸のトルクが制限値に達した状態がタイムアウト時間以上経過して命

令を終了した場合、TRQSTS2関数に1がセットされます。

本命令が終了しても、最大トルク制限およびトルク制御状態は継続しています。

本命令実行中にインターロック等で停止した場合も同様です。

トルク制御は、サーボのオン/オフ操作やMOVE2命令を実行するなど、軸に

対して何らかの操作を行うと解除されます。最大トルク制限を解除するには、T

ORQUE2文を使って、新たに最大トルク指令値を設定します。ただし、TO

RQUE2文で変更した最大トルク指令値は、すぐに有効になりません。次のM

OVE2文やDRIVE2文などの移動命令を実行したときに有効になります。

以下の場合にはTORQUE2文の実行にかかわらず、最大トルク制限が解除さ

れます。

・コントローラの電源をオンしたとき

・サーボオフしたとき

・原点復帰またはアブソリュートリセット(マーク方式を除く)を実行したとき

・パラメータの変更または初期化したとき

本オプションを指定する場合、以下の制限があります。

・本オプションは、複数軸指定では使用できません。

・移動時の最高速度は、通常の10%となります。

・本命令を実行してトルク制御状態になっている軸は、手動移動できません。

例:

 TRQTIME2(3)=2500      --- 第3軸のトルク制御のタイ

ムアウト時間を2 .5秒に

設定

 DRIVE2(3,P1),T=(20,15)--- 最大トルク値を定格トルク

の20%、トルクオフセッ

ト値を15に設定して、現

在位置から第3軸をP1で

指定された位置へ移動(押

し付け動作)

 IF TRQSTS2(3)=1 THEN ----- タイムアウトしたか確認

  DO(21)=1 ----- タイムアウトしました(押

し付け完了)

(ここでは、DO(21)に

結果を出力しています)

 ELSE

  DO(21)=0 ----- タイムアウトしていません

(目標位置へ到達、押し付け

不良)

(ここでは、DO(21)に

結果を出力しています)

 ENDIF

 TORQUE2(3)=100 ----- 最大トルク指令値を元

(100%)に戻す

 DRIVE2(3,P0) ----- トルク制限およびトルク制

御を終了し、P0へ移動

c注意

・右記の本命令の終了条件は、

Ver. 8.45以上のソフトバージョンの

ときのみ有効です。それ未満のバー

ジョンのコントローラでは、本命令

は以下の場合に終了します。

・目標位置への移動に必要な時間

が経過した時点で、軸が目標位

置に到達しているとき。

・目標位置への移動に必要な時間

が経過した時点で、既に軸のト

ルクが制限値に達した状態が1秒

以上あったとき。

・目標位置への移動に必要な時間

が経過した時点でトルクが制限

値に達しており、制限値に達し

た状態が1秒間継続したとき。

・右記のTORQUE2文で変更した

最大トルク指令値が有効になるタイ

ミングは、Ver. 2.17以上のドライバ

バージョンのときのみ有効です。そ

れ未満のバージョンのコントローラ

では、TORQUE2文で変更した

時点で有効となります。

Page 73: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

61

11. 命令文

関連する命令:TORQUE2、TRQTIME2、TRQSTS2関数

・XY指定

形式:

XY

意味:

複数の指定軸を直交座標で指定されている位置に移動します。

この命令の制限事項を下記に示します。

1.<式1>で指定する軸には、第1軸と第2軸が含まれなければなりませ

ん。

2.指定可能なロボットは、スカラ型とXY型です。

3.ポイント指定は、ミリ/度単位(実数値)でなければなりません。

例:

 DRIVE2(1,P100),(2,P100), XY

----------現在位置から第1軸、第2軸がP100で指定された直交座標の

位置へ移動

Page 74: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

62

11. 命令文

DRIVEI文

形式:

DRIVEI(<式1>, <式2>    )[,(<式1>, <式2>    )…][,オプション]

             <ポイント式>           <ポイント式> 

意味:

この命令は、メイングループの軸単位の相対移動命令を実行します。

したがって、メイングループの付加軸は、この移動命令で移動します。

 移動種類 :軸指定PTP

 ポイント指定 :直接数値指定、ポイント定義指定

 オプション :速度指定、STOPON条件指定

移動の種類

・軸指定PTP(Point to Point)

<式1>で指定されたすべての軸の動作が完了後(公差範囲以内に軸到着後)、

移動を開始し、アウト有効位置範囲以内に入ると命令を終了します。複数軸を指

定した場合は、同時到着します。

DRIVEI 命令に続く次の命令の注意点

DRIVEI 命令の次の命令が信号出力命令などの実行可能な命令の場合、移動対

象軸がアウト有効位置範囲以内に入ると次の命令を開始します。つまり、目標位

置の公差範囲以内に軸が到着する前に次の命令を開始することになります。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM”文を使用してください。

n要点

・下記ソフトバージョンのコント

ローラでは、DRIVEI文を途

中停止し再起動した場合、先の移

動の目標位置に移動するか、現在

位置(停止位置)を基準として新

たな目標位置に移動するかを、そ

の他のパラメータの“MOVEI/

DRIVEI カイシイチ”で選択することがで

きます。詳しくはコントローラ取

扱説明書を参照してください。

RCX14x Ver. 8.66以上

RCX22x Ver. 9.13以上

・その他のパラメータの“MOVEI/

DRIVEI カイシイチ”の初期値は、キープ

(DRIVEI文を途中停止し再

起動した場合、先の移動の目標位

置に移動する)に設定されていま

す。

・上記より古いバージョンのコント

ローラでは、DRIVEI文を途

中停止し再起動した場合、現在位

置を基準として新たな目標位置に

相対移動を行います。

Page 75: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

63

11. 命令文

P1

DO(20)をオン

DRIVEI(1,P1)WAIT ARMDO(20)=1

DO(20)をオン

DRIVEI(1,P1)DO(20)=1

公差

目標位置

アウト有効位置

HOLD実行(プログラム一時停止)

DRIVEI(1,P1)WAIT ARMHOLD

DRIVEI(1,P1)HOLD

公差アウト有効位置

目標位置

HOLD実行(プログラム一時停止)

例:

 DRIVEI(1,P0)

----------現在位置から第1軸がP0で指定された移動量を移動

ポイント指定の種類

・直接数値指定

<式2>に直接座標値を指定します。

このときの数値が、整数値の場合はパルス単位と判断し、実数値の場合はミリ/

度単位と判断し、移動します。ミリ/度単位と判断した場合、軸毎の移動量を換

算し、移動します。

例:

 DRIVEI(1,10000)

----------現在位置から第1軸が+10000パルスの位置へ移動

 DRIVEI(4,90.00)

----------現在位置から第4軸が+90度位置へ移動(回転軸の場合)

・ポイント定義指定

<式2>にポイント式を指定します。<式1>で指定された軸のデータを使用し

ます。

このときのポイント式の単位によって移動位置を決定し、移動します。ミリ/度

単位と判断した場合、軸毎の移動量を換算し、移動します。

例:

 DRIVEI(1, P1)

----------現在位置から第1軸がP1で指定された移動量を移動

 DRIVEI(4, P90)

----------現在位置から第4軸がP90で指定された度数の移動量を移動

(回転軸の場合)

n要点

指定単位が混在している場合は、

すべての指定がミリ/度単位とし

て移動します。 

Page 76: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

64

11. 命令文

オプションの種類

・速度指定

形式1:

 SPEED =<式>

 S    

<式>の値は、1~100である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、自動移動速度とプログ

ラム移動速度の積によって決まります。

指定されたDRIVEI文に対してのみ有効です。

例:

 DRIVEI(1,10000),S=10

----------現在位置から第1軸がプログラム速度10%で、+10000パ

ルス移動

形式2:

 DSPEED =<式>

 DS    

<式>の値は、0.01 ~100.00 である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、ここで指定した速度だ

けで決まり、自動移動速度は使用されません。

指定されたDRIVEI文に対してのみ有効です。

例:

 DRIVEI(1,P10),DS=0.2 ---- 現在位置から第1 軸をP10

で指定された位置へ0.2%

の速度で移動

 

・STOPON条件指定

形式:

STOPON <条件式>

意味:

移動中に条件式が成立した(真になった)場合、移動を停止します。このときの

停止動作は、減速停止なので、条件成立後(条件式が真になった後)に減速移動

距離が発生します。

移動開始時に条件式が成立している(真になっている)場合、移動せずに命令を

終了します。

プログラム実行のみ有効です。

c注意

DRIVEI文をSTOPONオ

プションで途中停止した場合、続

けて同一軸にDRIVEI文を実

行すると、停止位置から指定移動

量の移動を行います。連続して相

対移動命令を実行する場合、ロ

ボットの作業点を衝突させないよ

うに十分注意してください。

n要点

・速度指定(DSPEED)は、以下のソフ

トバージョンのときのみ有効です。

 RCX14x Ver.8.71以上

 RCX22x Ver.9.18以上

・SPEEDオプションとDSPEEDオプ

ションは併用できません。

Page 77: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

65

11. 命令文

例:

 DRIVEI(1,10000),STOPON DI(20)=1

----------現在位置から第1軸が、+10000パルス移動。途中でDI

(20)=1の条件が成立したら、移動を停止する。

n要点

STOPON条件指定で使用する条件式

が数値を表す式である場合、下記

ソフトバージョンのコントローラ

では、その他のパラメータの

“True ジョウケン”で「真」、「偽」

になる条件を変更することができ

ます(-1・・・「真」、0・・・「偽」 

または 0以外・・・「真」、0・・・

「偽」)。詳しくは、コントローラ

取扱説明書を参照してください。

 RCX14x Ver. 8.63以上

 RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

Page 78: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

66

11. 命令文

DRIVEI2文

形式:

DRIVEI2(<式1>, <式2>    )[,(<式1>, <式2>    )…][,オプション]

              <ポイント式>           <ポイント式> 

意味:

この命令は、サブグループの軸単位の相対移動命令を実行します。

したがって、サブグループの付加軸は、この移動命令で移動します。

 移動種類 :軸指定PTP

 ポイント指定 :直接数値指定、ポイント定義指定

 オプション :速度指定、STOPON条件指定

移動の種類

・軸指定PTP(Point to Point)

<式1>で指定されたすべての軸の動作が完了後(公差範囲以内に軸到着後)、

移動を開始し、アウト有効位置範囲以内に入ると命令を終了します。複数軸を指

定した場合は、同時到着します。

DRIVEI2 命令に続く次の命令の注意点

DRIVEI2命令の次の命令が信号出力命令などの実行可能な命令の場合、移動対

象軸がアウト有効位置範囲以内に入ると次の命令を開始します。つまり、目標位

置の公差範囲以内に軸が到着する前に次の命令を開始することになります。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM2”文を使用してください。

n要点

・下記ソフトバージョンのコント

ローラでは、DRIVEI2文を

途中停止し再起動した場合、先の

移動の目標位置に移動するか、現

在位置(停止位置)を基準として

新たな目標位置に移動するかを、

その他のパラメータの“MOVEI/

DRIVEI カイシイチ”で選択することがで

きます。詳しくはコントローラ取

扱説明書を参照してください。

RCX14x Ver. 8.66以上

RCX22x Ver. 9.13以上

・その他のパラメータの“MOVEI/

DRIVEI カイシイチ”の初期値は、キープ

(DRIVEI2文を途中停止し

再起動した場合、先の移動の目標

位置に移動する)に設定されてい

ます。

・上記より古いバージョンのコント

ローラでは、DRIVEI2文を

途中停止し再起動した場合、現在

位置を基準として新たな目標位置

に相対移動を行います。

Page 79: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

67

11. 命令文

P1

DO(20)をオン

DRIVEI2(1,P1)WAIT ARM2DO(20)=1

DO(20)をオン

DRIVEI2(1,P1)DO(20)=1

公差

目標位置

アウト有効位置

HOLD実行(プログラム一時停止)

DRIVEI2(1,P1)WAIT ARM2HOLD

DRIVEI2(1,P1)HOLD

公差アウト有効位置

目標位置

HOLD実行(プログラム一時停止)

例:

 DRIVEI2(1,P0)

----------現在位置から第1軸がP0で指定された移動量を移動

ポイント指定の種類

・直接数値指定

<式2>に直接座標値を指定します。

このときの数値が、整数値の場合はパルス単位と判断し、実数値の場合はミリ/

度単位と判断し、移動します。ミリ/度単位と判断した場合、軸毎の移動量を換

算し、移動します。

例:

 DRIVEI2(1,10000)

----------現在位置から第1軸が+10000パルスの位置へ移動

 DRIVEI2(2,90.00)

----------現在位置から第2軸が+90度位置へ移動(回転軸の場合)

・ポイント定義指定

<式2>にポイント式を指定します。<式1>で指定された軸のデータを使用し

ます。

このときのポイント式の単位によって移動位置を決定し、移動します。ミリ/度

単位と判断した場合、軸毎の移動量を換算し、移動します。

例:

 DRIVEI2(1,P1)

----------現在位置から第1軸がP1で指定された移動量を移動

 DRIVEI2(2,P90)

----------現在位置から第2軸がP90で指定された度数の移動量を移動

(回転軸の場合)

n要点

指定単位が混在している場合は、

すべての指定がミリ/度単位とし

て移動します。

Page 80: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

68

11. 命令文

オプションの種類

・速度指定

形式1:

 SPEED =<式>

 S    

<式>の値は、1~100である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、自動移動速度とプログ

ラム移動速度の積によって決まります。

指定されたDRIVEI2文に対してのみ有効です。

例:

 DRIVEI2(1,10000),S=10

----------現在位置から第1軸がプログラム速度10%で、+10000パ

ルス移動

形式2:

 DSPEED =<式>

 DS    

<式>の値は、0.01 ~100.00 である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、ここで指定した速度だ

けで決まり、自動移動速度は使用されません。

指定されたDRIVEI2文に対してのみ有効です。

例:

 DRIVEI2(1,P10),DS=0.2--- 現在位置から第1 軸をP10

で指定された位置へ0.2%

の速度で移動

・STOPON条件指定

形式:

STOPON <条件式>

意味:

移動中に条件式が成立した(真になった)場合、移動を停止します。このときの

停止動作は、減速停止なので、条件成立後(条件式が真になった後)に減速移動

距離が発生します。

移動開始時に条件式が成立している(真になっている)場合、移動せずに命令を

終了します。

プログラム実行のみ有効です。

c注意

DRIVEI2文をSTOPON

オプションで途中停止した場合、

続けて同一軸にDRIVEI2文

を実行すると、停止位置から指定

移動量の移動を行います。連続し

て相対移動命令を実行する場合、

ロボットの作業点を衝突させない

ように十分注意してください。

n要点

・速度指定(DSPEED)は、以下のソフ

トバージョンのときのみ有効です。

 RCX14x Ver.8.71以上

 RCX22x Ver.9.18以上

・SPEEDオプションとDSPEEDオプ

ションは併用できません。

Page 81: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

69

11. 命令文

例:

 DRIVEI2(1,10000),STOPON DI(20)=1

----------現在位置から第1軸が、+10000パルス移動。途中でDI

(20)=1の条件が成立したら、移動を停止する。

n要点

STOPON条件指定で使用する条件式

が数値を表す式である場合、下記

ソフトバージョンのコントローラ

では、その他のパラメータの

“True ジョウケン”で「真」、「偽」

になる条件を変更することができ

ます(-1・・・「真」、0・・・「偽」 

または 0以外・・・「真」、0・・・

「偽」)。詳しくは、コントローラ

取扱説明書を参照してください。

 RCX14x Ver. 8.63以上

 RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

Page 82: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

70

11. 命令文

EXIT FOR文

形式:

EXIT FOR

意味:

この命令文は、FOR文~NEXT文のループを強制的に終了します。NEXT

文の次の命令にジャンプします。

この命令文は、FOR文~NEXT文の間でのみ有効です。

例:

 *ST:

 WAIT DI(20)=1

 FOR  A%=101 TO 109

   MOVE  P,P100,Z=0

   DO(20)=1

   MOVE P,P[A%],Z=0

   DO(20)=0

   IF DI(20)=0 THEN EXIT FOR

 NEXT A%

 GOTO  *ST

 HALT

関連する命令:FOR,NEXT

n要点

FOR文~NEXT文のループ

は、FOR文の条件が終了する

か、EXIT FOR文で終了し

てください。GOTO文等でルー

プ外に出た場合は、“スタック

オーバーフロー”などのエラーが

発生することがあります。

Page 83: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

71

11. 命令文

EXIT SUB文

形式:

EXIT SUB

意味:

この命令文は、SUB文~END SUB文で定義されたサブプロシージャを強

制的に終了します。サブプロシージャを呼び出したCALL文の次の命令にジャ

ンプします。

この命令文は、SUB文~END SUB文で定義されたサブプロシージャ内の

み有効です。

例:

 ’MAIN ROUTINE

 CALL  *SORT2(REF X%,REF Y%)

 HALT

 ’SUB ROUTINE: SORT

 SUB *SORT2(X%, Y%)

   IF X%>=Y% THEN EXIT SUB

   TMP%=Y%

   Y%=X%

   X%=TMP%

 END SUB

関連する命令:CALL,SUB,END SUB

n要点

SUB文~END SUB文で定

義されたサブプロシージャは、E

ND SUB文で終了するか、E

XIT SUB文で終了してくだ

さい。GOTO文等でループ外に

出た場合は、“スタックオーバー

フロー”などのエラーが発生する

ことがあります。

Page 84: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

72

11. 命令文

EXIT TASK文

形式:

EXIT TASK

意味:

この命令文は、実行している自分自身のタスクを終了します。

この命令文は、タスク1以外のタスクで有効です。

例:

 ’TASK1 ROUTINE

 *ST:

   MO(20)=0

   START *SUBTASK2,T2

   MOVE P,P0,P1

   WAIT MO(20)=1

 GOTO *ST

 HALT

 ’TASK2 ROUTINE

 *SUBTASK2:

   P100=JTOXY(WHERE)

   IF LOCZ(P100)>=100.0 THEN

     MO(20)=1

     EXIT TASK

   ENDIF

   DELAY 100

 GOTO *SUBTASK2

 EXIT TASK

関連する命令:CUT,RESTART,START,SUSPEND,

CHGPRI

n要点

サブタスクとして起動されたタス

クが、GOTO文等で他のタスク

処理ルーチンへジャンプしてもそ

の処理ルーチンをこのサブタスク

の処理として実行します。

Page 85: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

73

11. 命令文

FOR文,NEXT文

形式:

FOR <制御変数>=<式1> TO <式2> [STEP <式3>]

   <命令ブロック>

NEXT [<制御変数>]

意味:

これらの命令文は、<制御変数>の値を<式3>の値ずつ変化させ、<式1>

から<式2>になるまで、FOR文の次からNEXT文までを繰り返し実行し

ます。<式3>の値は負でも構いません。

<制御変数>は数値型の<単純変数>または<配列変数>のどちらかです。

例:’CYCLE WITH CYCLE NUMBER OUTPUT TO DISPLAY

FOR A=1 TO 10

   MOVE P,P0

   MOVE P,P1

   MOVE P,P2

   PRINT“CYCLE NUMBER=”;A

NEXT A

HALT

関連する命令:EXIT FOR

n要点

・FOR文の<式3>の値が1の時

は、STEP<式3>は省略でき

ます。

・FOR文とNEXT文は必ずセッ

トで使用します。

Page 86: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

74

11. 命令文

GOSUB文,RETURN文

形式:

 GOSUB    <ラベル>

 GO SUB 

   <命令ブロック>

<ラベル>:

   <命令ブロック>

RETURN

意味:

この命令文は、GOSUB文で指定される<ラベル>のサブルーチンにジャンプ

します。

サブルーチン実行中のRETURN文で、GOSUB文の次の行にジャンプしま

す。

例:

 *ST:

   MOVE P,P0

   GOSUB *CLOSEHAND

   MOVE P,P1

   GOSUB *OPENHAND

 GOTO *ST

 HALT

 ’SUB ROUTINE

 *CLOSEHAND:

   DO(20) = 1

 RETURN

 *OPENHAND:

   DO(20) = 0

 RETURN

n要点

・GOSUB文は、続けて最大29

回まで使用できます。ただし、

IF文やCALL文などスタック

を使用する命令の使用状態によっ

て回数は減少します。

・GOSUB文でサブルーチンに

ジャンプした場合、サブルーチン

は必ずRETURN文で終了して

ください。GOTO文等でサブ

ルーチンからジャンプした場合、

“スタックオーバーフロー”など

のエラーが発生することがありま

す。

Page 87: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

75

11. 命令文

GOTO文

形式:

 GOTO    <ラベル>

 GO TO 

意味:

この命令文は、<ラベル>で指定される行に無条件ジャンプします。

例:

 ’MAIN ROUTINE

 *ST:

   MOVE P,P0,P1

   IF DI(20) = 1 THEN

     GOTO *FIN

   ENDIF

 GOTO *ST

 *FIN:

 HALT

Page 88: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

76

11. 命令文

HALT文

形式:

HALT [ <式>   ]

       <文字列> 

意味:

この命令文は、プログラムを停止し、かつ、リセットします。再起動した場合

は、プログラムの先頭から実行されます。

例:

 ’MAIN ROUTINE

 *ST:

   MOVE P,P0,P1

   IF DI(20) = 1 THEN

     GOTO *FIN

   ENDIF

 GOTO *ST

 *FIN:

 HALT “PROGRAM FIN”

n要点

・<式>または<文字列>を記述す

ると、MPB/RPB画面上に<

式>または<文字列>の内容が表

示されます。

・作成されたプログラムの中にプロ

グラム名“_SELECT”が存

在した場合、選択プログラムが

“_SELECT”に移行しま

す。

c注意

MOVE、DRIVEといった移動命令の

PTP移動では、アウト有効位置範囲

以内に入ると次の命令を実行しま

す。そのため、PTP移動命令の直後

にHALT命令があると、目標位置の

公差範囲以内に軸が到着する前に

HALT命令を実行し、プログラムを

停止し、かつリセットしてしまい

ます。

同様に、MOVE/MOVE2命令の補

間移動では、移動開始直後に次の

命令を実行するため、MOVE/

MOVE2の補間移動命令の直後に

HALT命令があると、移動開始直後

にHALT命令を実行し、プログラム

を停止し、かつリセットしてしま

います。

いずれの場合も、軸が目標位置の

公差範囲以内に到着してからHALT

命令を実行したい場合は、WAIT

ARM/WAIT ARM2を使用してく

ださい。

Page 89: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

77

11. 命令文

HAND定義文、CHANGE文(メインロボットハンド選択)

メインロボットのハンドの定義およびハンドの切換えをおこないます。

形式1:スカラ型ロボットの場合

定義文:

 HAND Hn=<第1パラメータ> <第2パラメータ> <第3パラメータ> [R]

選択文:

 CHANGE Hn

nの値は、0~3である。

a.<第4パラメータ>のRが指定されていない場合、第2アーム先端に固定さ

れたハンドになります。(下図参照)

<第1パラメータ>:基準第2アームと、ハンドnの仮想第2アームと

のオフセットパルス数、反時計方向が+[パルス]

<第2パラメータ>:ハンドnの仮想第2アーム長と基準第2アーム長

との差[mm]

<第3パラメータ>:ハンドnのZ軸オフセット量[mm]

ハンド1 ハンド2

20.00mm

150.00mm

基準第2ア

ーム

-5000パ

ルス

    HAND H1=      0  150. 0     0 . 0

    HAND H2=  -5000  20. 00     0 . 0

    P1=150 .00 300 . 00 0 .00 0 .00 0 .00 0 .00

    CHANGE H2

    MOVE P,P1----- ハンド2の先端がP1へ移動(1)

    CHANGE H1

    MOVE P,P1----- ハンド1の先端がP1へ移動(2)

    HALT

    

Y

X

ハンド2

(150.00, 300.00)

(1)

  

(2)

ハンド1

X

Y

(150.00, 300.00)

Page 90: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

78

11. 命令文

b.<第4パラメータ>のRが指定されている場合、R軸がサーボの場合のR軸

回転中心からオフセットされたハンドを示します。(下図参照)

<第1パラメータ>:R軸の現在位置が0 .00の時、直交座標+X方

向とハンドnとの角度、反時計方向が+[度]

<第2パラメータ>:ハンドnの長さ[mm](>0)

<第3パラメータ>:ハンドnのZ軸オフセット量[mm]

基準第2アーム 150.00mm

100.00mm ハンド2

ハンド1

X

Y

-90.00度

    HAND H1=    0 .00   150 .0    0 .0     R

    HAND H2=  -90 .00 100 .00    0 .0     R

    P1=150 .00 300 . 00 0 .00 0 . 00 0 .00 0 . 00

    CHANGE H1

    MOVE P,P1------- ハンド1の先端がP1へ移動(1)

    CHANGE H2

    MOVE P,P1------- ハンド2の先端がP1へ移動(2)

    HALT

  

(1)

X

Y

ハンド1

(150.00, 300.00)

  

(2)

X

Y

ハンド2

(150.00, 300.00)

Page 91: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

79

11. 命令文

形式2:直交系ロボットの場合

定義文:

 HAND Hn=<第1パラメータ> <第2パラメータ> <第3パラメータ> [R]

選択文:

 CHANGE Hn

nの値は、0~3である。

a.<第4パラメータ>のRが指定されていない場合、第2アーム先端に固定さ

れたハンドになります。(下図参照)

<第1パラメータ>:ハンドnのX軸オフセット量[mm]

<第2パラメータ>:ハンドnのY軸オフセット量[mm]

<第3パラメータ>:ハンドnのZ軸オフセット量[mm]

-100.00mm

100.00mm

ハンド2

ハンド1

X

Y

    HAND H1=   0 . 00   0 .00    0 . 00

    HAND H2=  100 . 0 -100 .0  -100 . 0

    P1=200 .00 250 . 00 0 .00 0 . 00 0 .00 0 . 00

    CHANGE H2

    MOVE P,P1------- ハンド2の先端がP1へ移動(1)

    CHANGE H1

    MOVE P,P1------- ハンド1の先端がP1へ移動(2)

    HALT

   

(1)

X

(200.00, 250.00)

ハンド2

Y

 

(2)

ハンド1

X

Y

(200.00, 250.00)

Page 92: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

80

11. 命令文

b.<第4パラメータ>のRが指定されている場合、R軸がサーボの場合のR軸

回転中心からオフセットされたハンドを示します。(下図参照)

<第1パラメータ>:R軸の現在位置が0.00の時、直交座標の+X

方向とハンドnとの角度、反時計方向が+(度)

<第2パラメータ>:ハンドnの長さ[mm](>0)

<第3パラメータ>:ハンドnのZ軸オフセット量[mm]

(R軸の現在位置が0.00とする)

X

Y

100.00mm

150.00mm

ハンド2

ハンド1

90度90度

    HAND H1=   0 .00 100 .00  0 .00     R

    HAND H2=  90 .00 150 .00  0 .00     R

    P1=200 . 00 250 .00 0 . 00 0 .00 0 . 00 0 . 00

    CHANGE H2

    MOVE P,P1------- ハンド2の先端がP1へ移動(1)

    CHANGE H1

    MOVE P,P1------- ハンド1の先端がP1へ移動(2)

  

(1)

X

(200.00, 250.00)

ハンド2

Y

 

(2)

X

ハンド1

Y

(200.00, 250.00)

c注意

ハンド定義文の実行中に電源をオ

フすると“9.7:ハンド チェックサムエラー”が

発生する場合があります。

Page 93: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

81

11. 命令文

HAND2定義文、CHANGE2文(サブロボットハンド選択)

サブロボットのハンドの定義およびハンドの切り換えをおこないます。

形式1:スカラ型ロボットの場合

定義文:

 HAND2 Hn=<第1パラメータ> <第2パラメータ> <第3パラメータ> [R]

選択文:

 CHANGE2 Hn

nの値は、4~7である。

a.<第4パラメータ>のRが指定されていない場合、第2アーム先端に固定さ

れたハンドになります。(下図参照)

<第1パラメータ>:基準第2アームと、ハンドnの仮想第2アームと

のオフセットパルス数、反時計方向が+[パルス]

<第2パラメータ>:ハンドnの仮想第2アーム長と基準第2アーム長

との差[mm]

<第3パラメータ>:ハンドnのZ軸オフセット量[mm]

ハンド5 ハンド6

20.00mm

150.00mm

基準第2ア

ーム

-5000パ

ルス

    HAND2 H5=     0 150 . 0    0 . 0

    HAND2 H6= -5000 20 . 00    0 . 0

    P1=150 . 00 300 .00 0 . 00 0 .00 0 . 00 0 . 00

    CHANGE2 H6

    MOVE2 P,P1---- ハンド6の先端がP1へ移動(1)

    CHANGE2 H5

    MOVE2 P,P1---- ハンド5の先端がP1へ移動(2)

    HALT

   

Y

X

ハンド6

(150.00, 300.00)

(1)

   

(2)

ハンド5

X

Y

(150.00, 300.00)

n要点

この命令文は、システムジェネ

レーションでサブグループが設定

されている場合のみ使用できま

す。

Page 94: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

82

11. 命令文

b.<第4パラメータ>のRが指定されている場合、R軸がサーボの場合のR軸

回転中心からオフセットされたハンドを示します。(次の図参照)

<第1パラメータ>:R軸の現在位置が0 .00の時、直交座標+X方

向とハンドnとの角度、反時計方向が+[度]

<第2パラメータ>:ハンドnの長さ[mm](>0)

<第3パラメータ>:ハンドnのZ軸オフセット量[mm]

 例:HAND2 H5=   0 .00  150 .00  0 .0  R

   HAND2 H6= -90 .00  100 .00  0 .0  R

基準第2アーム 150.00mm

100.00mm ハンド6

ハンド5

X

Y

-90.00度

    HAND2 H5=   0 .00  150 .0 0 . 0 R

    HAND2 H6= -90 .00 100 .00 0 .0 R

    P1=150 . 00 300 .00 0 . 00 0 .00 0 . 00 0 . 00

    CHANGE2 H5

    MOVE2 P,P1---- ハンド5の先端がP1へ移動(1)

    CHANGE2 H6

    MOVE2 P,P1---- ハンド6の先端がP1へ移動(2)

    HALT

   

(1)

X

Y

ハンド5

(150.00, 300.00)

  

(2)

X

Y

ハンド6

(150.00, 300.00)

Page 95: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

83

11. 命令文

形式2:直交系ロボットの場合

定義文:

 HAND2 Hn=<第1パラメータ> <第2パラメータ> <第3パラメータ> [R]

選択文:

 CHANGE2 Hn

nの値は4~7である。

a.<第4パラメータ>のRが指定されていない場合、第2アーム先端に固定さ

れたハンドになります。(下図参照)

<第1パラメータ>:ハンドnのX軸オフセット量[mm]

<第2パラメータ>:ハンドnのY軸オフセット量[mm]

<第3パラメータ>:ハンドnのZ軸オフセット量[mm]

-100.00mm

100.00mm

ハンド6

ハンド5

X

Y

    HAND2 H5=  0 . 00   0 . 00    0. 00

    HAND2 H6= 100 .0 -100 .0  -100 . 0

    P1= 200 .00 250 . 00 0 .00 0 . 00 0 .00 0 .00

    CHANGE2 H6

    MOVE2 P,P1---- ハンド6の先端がP1へ移動(1)

    CHANGE2 H5

    MOVE2 P,P1---- ハンド5の先端がP1へ移動(2)

    HALT

   

(1)

X

(200.00, 250.00)

ハンド6

Y

 

(2)

X

ハンド5

Y

(200.00, 250.00)

Page 96: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

84

11. 命令文

b.<第4パラメータ>のRが指定されている場合、R軸がサーボの場合のR軸

回転中心からオフセットされたハンドを示します。(下図参照)

<第1パラメータ>:R軸の現在位置が0 .00の時、直交座標の+X

方向とハンドnとの角度、反時計方向が+(度)

<第2パラメータ>:ハンドnの長さ[mm](>0)

<第3パラメータ>:ハンドnのZ軸オフセット量[mm]

(*R軸の現在位置が0.00とする)

X

Y

100.00mm

150.00mm

ハンド6

ハンド5

90度90度

    HAND2 H5=  0 . 00 100 .00 0 . 00  R

    HAND2 H6= 90 .00 150 .00 0 . 00  R

    P1=200 . 00 250 . 00 0 .00 0 . 00 0 . 00 0 . 00

    CHANGE2 H6

    MOVE2 P,P1--- ハンド6の先端がP1へ移動(1)

    CHANGE2 H5

    MOVE2 P,P1--- ハンド5の先端がP1へ移動(2)

    HALT

  

(1)

X

(200.00, 250.00)

ハンド6

Y

 

(2)

X

ハンド5

Y

(200.00, 250.00)

c注意

ハンド定義文の実行中に電源をオ

フすると“9.7:ハンド チェックサムエラー”が

発生する場合があります。

Page 97: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

85

11. 命令文

HOLD文

形式:

HOLD [ <式>    ]   

       <文字列> 

意味:

この命令文は、プログラムを一時停止します。再起動した場合は、HOLD文の

次の行から実行されます。

例:

 ’MAIN ROUTINE

 *ST:

   MOVE P,P0,P1

   IF DI(20)=1 THEN

     HOLD “PROGRAM STOP”

   ENDIF

 GOTO *ST

 HALT

n要点

<式>または<文字列>を記述す

ると、MPB/RPB画面上に<

式>または<文字列>の内容が表

示されます。

c注意

MOVE、DRIVEといった移動命令の

PTP移動では、アウト有効位置範囲

以内に入ると次の命令を実行しま

す。そのため、PTP移動命令の直後

にHOLD命令があると、目標位置の

公差範囲以内に軸が到着する前に

HOLD命令を実行し、プログラムを

停止してしまいます。

同様に、MOVE/MOVE2命令の補

間移動では、移動開始直後に次の

命令を実行するため、MOVE/

MOVE2の補間移動命令の直後に

HOLD命令があると、移動開始直後

にHOLD命令を実行し、プログラム

を停止してしまいます。

いずれの場合も、軸が目標位置の

公差範囲以内に到着してからHOLD

命令を実行したい場合は、WAIT

ARM/WAIT ARM2を使用してく

ださい。

Page 98: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

86

11. 命令文

IF文

a.単純IF文

形式1:

IF <条件式> THEN  <ラベル1>  [ELSE   <ラベル2> ]

               <命令文1>          <命令文2> 

意味:

この命令文は、<条件式>で指定される条件が成立する場合(真の場合)、<ラ

ベル1>で指定される行にジャンプするか、あるいは<命令文1>を実行し、次

行にジャンプします。<条件式>で指定される条件が成立しない場合(偽の場

合)、<ラベル2>で指定される行にジャンプするか、あるいは<命令文2>を

実行し、次行にジャンプします。

例:

 ’MAIN ROUTINE

 *ST:

   MOVE P,P0,P1

   IF DI(20)=1 THEN *L1

   DO(20)=1

   DELAY 100

 *L1:

   IF DI(21)=1 THEN *ST ELSE *FIN

 *FIN:

 HALT

n要点

<条件式>で使用する条件式が数

値を表す式である場合、下記ソフ

トバージョンのコントローラで

は、その他のパラメータの“True

ジョウケン”で「真」、「偽」になる

条件を変更することができます

(-1・・・「真」、0・・・「偽」 また

は 0以外・・・「真」、0・・・

「偽」)。詳しくは、コントローラ

取扱説明書を参照してください。

 RCX14x Ver. 8.63以上

 RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

Page 99: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

87

11. 命令文

b.ブロックIF文

形式2:

IF <条件式1> THEN

  <命令ブロック1> 

[ELSEIF <条件式2> THEN 

  <命令ブロック2>]

[ELSE 

  <命令ブロックn>] 

ENDIF

意味:

この命令文は、<条件式1>で指定される条件が成立する場合(真の場合)、<

命令ブロック1>で指定される命令群を実行し、ENDIFの次行にジャンプし

ます。ELSEIF文がある場合、<条件式2>で指定される条件が成立する場

合(真の場合)、<命令ブロック2>で指定される命令群を実行します。すべて

の<条件式n>で指定される条件が成立しない場合(偽の場合)、<命令ブロッ

クn>で指定される命令群を実行し、ENDIFの次行にジャンプします。

例:

 ’MAIN ROUTINE

 *ST:

   MOVE P,P0,P1

   IF DI(21,20)=1 THEN

     DO(20)= 1

     DELAY 100

     WAIT DI(20)=0

   ELSEIF DI(21,20)=2 THEN

     DELAY 100

   ELSE

     GOTO *FIN

   ENDIF

 GOTO *ST

 *FIN:

 HALT

n要点

IF文は、続けて最大48回まで

使用できます。

ただし、GOSUB文やCALL

文などスタックを使用する命令の

使用状態によって最大回数は減少

します。

n要点

<条件式>で使用する条件式が数

値を表す式である場合、下記ソフ

トバージョンのコントローラで

は、その他のパラメータの“True

ジョウケン”で「真」、「偽」になる

条件を変更することができます

(-1・・・「真」、0・・・「偽」 また

は 0以外・・・「真」、0・・・

「偽」)。詳しくは、コントローラ

取扱説明書を参照してください。

 RCX14x Ver. 8.63以上

 RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

Page 100: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

88

11. 命令文

INPUT文

形式:

INPUT [<プロンプト文> ; ] <変数>     [, <変数>     ,…]

                 ,   <ポイント変数>    <ポイント変数> 

                    <シフト変数>     <シフト変数>  

意味:

この命令文は、MPBまたはRPBから指定した変数に値を代入します。入力定

義を下記に示します。

1.変数をコンマ(,)で区切って複数個指定した場合、入力データもコンマ

(,)で区切って指定個数分の入力が必要です。

2.<プロンプト文>は、データ入力のためのメッセージを表示するために

“”で囲まれた文字列で指定します。<プロンプト文>に続いて、セミコ

ロン(;)を指定した場合、メッセージの後ろに、クエスチョンマーク

(?)とスペースが表示されます。コンマ(,)が指定された場合は、メッ

セージの後ろには、何も表示されません。

3.<プロンプト文>を省略した場合、クエスチョンマーク(?)とスペース

が表示されます。

4.入力するデータ型は、対応する変数の型と一致する必要があります。ポイ

ント変数やシフト変数への入力の場合、足りない要素は、0となります。

5.何も入力しないで、エンターキーのみを入力した場合、0やヌルストリン

グ(空の文字列)が入力されたものと見なされます。ただし、複数個指定

の場合、指定個数分のコンマ(,)入力が必要です。

6.指定変数が文字変数でコンマ(,)、ダブルクォーテーション(“)や文字

列の前後に意味のあるスペース(1文字空白)を入力する場合、文字列を

ダブルクォーテーション(“)で囲む必要があります。また、ダブル

クォーテーション(“)を入力する場合、ダブルクォーテーション(“)を

連続して入力する必要があります。

7.ESCキーを入力した場合、この命令はスキップされます。

例:

 INPUT  A

 INPUT  ”INPUT POINT NUMBER”;A1

 INPUT  ”INPUT STRING”,B$(0),B$(1)

 INPUT  P100

 HALT

n要点

・変数と代入する値の型が異なって

いた場合、“? ニュウリョクシ

テクダサイ”のメッセージが表示

され再度入力待ちとなります。

・指定変数が文字変数でもアルファ

ベットや数値を代入する場合、文

字列をダブルクォーテーション

(“)で囲まなくても入力できま

す。

Page 101: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

89

11. 命令文

LET(代入)文

形式:

[LET]  <算術代入文>   

       <文字列代入文>  

       <ポイント代入文> 

       <シフト代入文>  

意味:

この命令文は、指定された代入文を実行します。

a.算術代入文

形式:

[LET]  <算術変数>        = <式>

       <ポイント要素変数>   

       <シフト要素変数>    

       <パラレル出力変数>   

       <内部出力変数>     

       <アームロック出力変数> 

       <タイマ出力変数>    

       <シリアル出力変数>   

意味:

<式>の値を左辺の変数に代入します。

例:

 A!=B!+1

 B%(1,2,3)=INT(10.88)

 LOCZ(P0)=A!

 LOCX(S1)=100.00

 DO2()=&B00101101

 MO(21,20)=2

 LO(00)=1

 TO(01)=0

 SO12()=255

n要点

<ポイント代入文>、<シフト代

入文>を実行中にコントローラの

電源が遮断された場合、“ポイン

トチェックサムエラー”、“シフ

トチェックサムエラー”などのメ

モリ関連のエラーが発生する場合

があります。

Page 102: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

90

11. 命令文

b.文字列代入文

形式:

[LET] <文字列変数> = <文字列式>

意味:

<文字列式>の値を文字列変数に代入します。

例:

 A$ = “YAMAHA”

 B$ = “ROBOT”

 D$ = A$ + “-“ + B$

c.ポイント代入文

形式:

[LET] <ポイント変数> = <ポイント式>

意味:

<ポイント式>の値をポイント変数に代入します。

例:

 P1 =P10 --- ポイント10をポイント1へ代入

 P20=P20+P5 --- ポイント20とポイント5を各要素毎に加算し、P20に代入

 P30=P30-P3 --- ポイント30からポイント3を各要素毎に減算し、P30に代入

 P80=P70*4 --- ポイント70の各要素を4倍して、P80に代入

 P60=P5/3 --- ポイント5の各要素を1/3倍して、P60に代入

d.シフト代入文

形式:

[LET] <シフト変数> = <シフト式>

意味:

<シフト式>の値をシフト変数に代入します。

例:

 S1=S1 -----シフト0をシフト1へ代入

 S2=S1+S0 -----シフト1とシフト0を各要素毎に加算し、シフト2に代入

n要点

<文字列式>で使用できる演算子

は、+だけです。また、括弧は使

用できません。

n要点

・<ポイント式>で使用できる演算

子は、4則演算だけです。また、

乗除算の場合、定数または変数の

演算に限られます。

 可能な例 :P15*5 ,P[E]/A

 不可能な例:P10*P11 ,3/P10

・乗除算による結果は、ポイント

データのタイプにより異なりま

す。

ポイントデータがパルス単位の場

合、演算結果の各要素は整数に変

換後に代入されます。

ポイントデータがミリ単位の場

合、演算結果の各要素は小数点第

2までの実数に変換後に代入され

ます。

n要点

・<シフト式>で使用できる演算子

は、加減算だけです。また、括弧

は使用できません。

・<シフト式>で使用できる要素は

シフト要素だけです。

 不可能な例:S1+3

Page 103: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

91

11. 命令文

LO文(アームロック出力)

形式:

[LET]  LO0([b,・・・,b])  = <式>

       LO(0b,・・・,0b)  

ビット指定bの値は、0~7である。

<式>の値は、整数化し、左辺で指定されたビット指定に対応した下位のビット

が有効である。

意味:

この命令文は、指定された値をLOポートに出力し、軸移動の禁止や解除を行い

ます。

LO(00)~LO(07)は、1軸~8軸に対応します。オン状態で軸の移動

は禁止されます。

例:

 LO0()=&B00001010 ---- 第2軸、第4 軸の移動を禁止します。

 LO0(2 , 1)=&B10 ---- 第3軸の移動を禁止します。

関連する命令:RESET, SET

n要点

・移動を開始する軸に対して有効で

す。

・ビット指定は、右から昇順で記述

してください。

Page 104: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

92

11. 命令文

MO文(内部出力)

形式:

[LET]  MOm([b,・・・,b])  = <式>

       MO(mb,・・・,mb)  

ポート番号mの値は、2~7,10~17,20~27である。

ビット指定bの値は、0~7である。

<式>の値は、整数化し、左辺で指定されたビット指定に対応した下位のビット

が有効である。

意味:

この命令文は、指定された値をMOポートに出力します。

例:

 MO2()=&B10111000

----------MO(27,25,24,23)がオンし、MO(26,22,

21,20)がオフします

 MO2(6,5,1)=&B010

----------MO(25)がオンし、MO(26,21)がオフします。

 MO3() = 15

----------MO(33,32,31,30)がオンし、MO(37,36,

35,34)がオフします。

 MO(37,35,27,20)=A

----------MO(37,35,27,20)に変数Aを整数化したときの下

位4ビットの内容を出力します。

関連する命令:RESET, SET

n要点

・MO0()とMO1()への出力

ができません。

・MO0()には、ビット0から順

に第1軸~第8軸の原点センサの

状態が出力されます。原点センサ

がオンすると1、オフすると0と

なります。

・MO1()には、ビット0から順

に第1軸~第8軸の軸ホールド状

態が出力されます。軸ホールド状

態であれば1、それ以外の状態で

あれば0となります。ホールド状

態とは軸が目標位置に到達してい

ることを示します。

・ビット指定は、右から昇順で記述し

てください。

Page 105: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

93

11. 命令文

MOVE文(絶対位置移動命令)

形式:

MOVE  PTP ,<ポイント指定>[,オプション[,オプション]…]      P      L      C

意味:

この命令は、メインロボット軸の絶対位置移動命令を実行します。

したがって、メインロボット軸として設定されている軸はすべて対象となりま

す。サブロボット軸や付加軸設定されている軸は、この移動命令で移動しませ

ん。

移動の種類 :PTP、直線補間、円弧補間

ポイント指定:直接数値指定、ポイント定義指定

オプション :速度指定、アーチモーション指定、STOPON条件指定、

CONT指定、加速度指定、減速度指定、座標平面指定、

ポート出力指定

移動の種類

PTP(Point to Point)移動

すべての移動対象軸の動作が完了後(公差範囲以内に軸到着後)、PTP移動を

開始し、すべての移動対象軸がアウト有効位置範囲以内に入ると命令を終了しま

す。移動対象軸は、同時到着します。このときの経路は、保証されません。

MOVE P 命令に続く次の命令の注意点

MOVE P命令の次の命令が信号出力命令などの実行可能な命令の場合、移動対

象軸がアウト有効位置範囲以内に入ると次の命令を開始します。つまり、目標位

置の公差範囲以内に軸が到着する前に次の命令を開始することになります。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM”文を使用してください。

Page 106: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

94

11. 命令文

P1

DO(20)をオン

MOVE P,P1WAIT ARMDO(20)=1

DO(20)をオン

MOVE P,P1DO(20)=1

公差

目標位置

アウト有効位置

HOLD実行(プログラム一時停止)

MOVE P,P1WAIT ARMHOLD

MOVE P,P1HOLD

公差アウト有効位置

目標位置

HOLD実行(プログラム一時停止)

例:

 MOVE  P,P0

 MOVE  PTP,P0

----------現在位置からメインロボット軸がP0で指定された位置へ移動

・直線補間移動

すべての移動対象軸の動作が完了後(公差範囲以内に軸到着後)、直線移動を開

始し、直後に命令を終了します(直後に命令を終了するとは、プログラム上の命

令処理が遷移することを意味し、移動対象軸は目標位置に移動します)。した

がって、直後にある命令は、移動対象軸が移動開始直後から実行されます。たと

えば、直後の命令が信号出力命令(DOなど)の場合、移動開始直後から信号が

出力されます。

また、直前の命令がMOVE命令で、かつ、直線補間または円弧補間の場合、移

動経路を前後の加減速部分を接続し、停止することなく移動対象軸が移動しま

す。移動対象軸は、同時到着します。

ただし、STOPON条件指定がある場合は、移動動作を開始し、すべての移動対

象軸の動作の完了(公差範囲以内に軸到着)を待ちます。

MOVE L 命令に続く次の命令の注意点

MOVE L命令の次の命令が信号出力命令などの実行可能な命令の場合、移動開

始直後から実行を開始します。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

移動開始直後に、信号が出力されます。

移動開始直後に、DELAY命令が実行され、時間の待ちが始まります。

移動開始直後に、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

移動開始直後に、プログラムを一時停止します。そのため、移動が停止します。

移動開始直後に、WAIT命令が実行されます。

n要点

・RCX14x:Ver.8.64未満、RCX22x:

Ver9.11未満のバージョンのコント

ローラでは、直線補間を実行できる

のはタスク1のみです。

・速度および加速度、ポイント間の

距離によっては、滑らかな経路移

動ができない場合があります。

・速度および加速度、ポイント間の

距離によっては、経路間の速度が

一定しない場合があります。

・R軸設定のあるロボットではR軸

の移動距離によっては、R軸の速

度が高くなりすぎてエラーになる

ことがあります。

Page 107: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

95

11. 命令文

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM”文を使用してください。

P1

DO(20)をオン

MOVE L,P1WAIT ARMDO(20)=1

DO(20)をオン

MOVE L,P1DO(20)=1

公差

目標位置

HOLD実行(プログラム一時停止)

MOVE L,P1WAIT ARMHOLD

MOVE L,P1HOLD

公差

目標位置

HOLD実行(プログラム一時停止)

例:

 MOVE L,P0,P1------------ 現在位置からメインロボット軸がP0,

P1で指定された位置へ移動

P0

現在位置

P1

・円弧補間移動

円弧補間の場合、現在位置と中間位置と目標位置の3つの位置で1 つの円弧を

形成します。

すべての移動対象軸の動作が完了後(公差範囲以内に軸到着後)、円弧移動を開

始し、直後に命令を終了します(直後に命令を終了するとは、プログラム上の命

令処理が遷移することを意味し、移動対象軸は目標位置に移動します)。した

がって、直後にある命令は、移動対象軸が移動開始直後から実行されます。たと

えば、直後の命令が信号出力命令(DOなど)の場合、移動開始直後から信号が

出力されます。

また、直前の命令がMOVE命令で、かつ、直線補間または円弧補間の場合、移

動経路を前後の加減速部分を接続し、停止することなく移動対象軸が移動しま

す。移動対象軸は、同時到着します。

n要点

・円弧補間の動作可能な範囲は、半

径5000.00mm~1.00mmです。

・RCX14x:Ver.8.64未満、RCX22x:

Ver.9.11未満のバージョンのコント

ローラでは、円弧補間を実行できる

のはタスク1のみです。

・円弧補間は、ポイント指定が偶数

個の指定となります。

・速度および加速度、円弧半径によっ

ては、円弧が歪む場合があります。

・R軸設定のあるロボットではR軸

の移動距離によっては、R軸の速

度が高くなりすぎてエラーになる

ことがあります。

・MULTI型ロボットでは、“シヨウフ

イッチ”のエラーになり、円弧補

間を実行できません。

Page 108: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

96

11. 命令文

MOVE C命令に続く次の命令の注意点

MOVE C命令の次の命令が信号出力命令などの実行可能な命令の場合、移動開

始直後から実行を開始します。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM”文を使用してください。

P1

DO(20)をオン

MOVE C,P1,P2WAIT ARMDO(20)=1

DO(20)をオン

MOVE C,P1,P2DO(20)=1

公差

目標位置

HOLD実行(プログラム一時停止)

MOVE C,P1,P2WAIT ARMHOLD

MOVE C,P1,P2HOLD

公差

目標位置

HOLD実行(プログラム一時停止)

例:

 MOVE L,P20

 MOVE C,P21,P22,P23,P20

 MOVE L,P24

----------現在位置からP20へ直線移動し、P20,P21,P22,P

23,P20で構成する円弧移動し、P24に直線移動

P23

現在位置 P24

P22

P21

P20

Page 109: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

97

11. 命令文

ポイント指定の種類

・直接数値指定

形式:

X Y Z R A B

X、Y、Z、R、A、Bは、スペースで区切られた各軸の座標値です。

意味:

直接座標値を指定します。このときの数値が、整数値の場合はパルス単位と判断

し、実数値の場合はミリ/度単位と判断し、移動します。

この指定できる移動の種類は、PTP移動および直線補間移動です。

直接数値指定では、スカラ型ロボット、かつ、座標値をミリ単位で指定する場

合、手系フラグを指定することができます。

スカラ型ロボットで、拡張設定の手系フラグを設定する場合は、Bのデータ後尾

に1 または2を指定します。1 および2以外の数値もしくは数値の指定がない場

合は、手系フラグの設定無し(0)として扱われます。

1:右手系で指定位置へ移動するよう設定されていることを示します。

2:左手系で指定位置へ移動するよう設定されていることを示します。

例:

 MOVE P,10000 10000 1000 1000 0 0

----------現在位置から指定位置へPTP移動

・ポイント定義指定

形式:

<ポイント式>[,<ポイント式>…]

意味:

<ポイント式>を指定します。カンマ(,)で区切ることにより複数のデータを

指定できます。

例:

 MOVE  P,P1

----------現在位置からP1で指定された位置へ移動

 MOVE  P,P20,P0,P100

----------現在位置からP20,P0,P100で指定された位置へ順番に

移動

n要点

・スカラ型ロボット、かつ移動先座

標データに手系フラグが設定され

ている場合、この手系を現在の

アームタイプよりも優先します。

・手系フラグは、Ver. 8.08以上のソフ

トバージョンのときのみ有効です。

c注意

手系フラグを指定して直線補間を

行う場合、現在位置での手系と指

定移動先の手系が同じになるよう

にしてください。現在位置での手

系と指定移動先の手系が異なる場

合、エラーとなり動作できません。

n要点

・円弧補間の場合、偶数個の指定と

なります。

・スカラ型ロボット、かつ指定する

ポイントデータに手系フラグが設

定されている場合、この手系を現在

のアームタイプよりも優先します。

c注意

手系フラグが設定されているポイ

ントに直線補間または円弧補間で

移動する場合、現在位置での手系

と指定したポイントの手系が同じ

になるようにしてください。現在

位置での手系と指定したポイント

の手系が異なる場合、エラーとな

り動作できません。

n要点

整数値と実数値が混在している場

合は、すべての指定がミリ/度単

位として移動します。

Page 110: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

98

11. 命令文

オプションの種類

・速度指定

形式1:

 SPEED =<式>

 S    

<式>の値は、1~100である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、自動移動速度とプログ

ラム移動速度の積によって決まります。

指定されたMOVE文に対してのみ有効です。

例:

 MOVE  P,P10,S=10

----------現在位置からP10で指定された位置へプログラム移動速度

10%で移動

形式2:

VEL=<式>

<式>の値は、スカラ型ロボットの場合、1~750となり、XY型ロボットの

場合、1~1000である。(単位:mm/秒)

意味:

ロボットのXYZ軸の合成最高速度をmm/秒単位の<式>で指定します。この

オプションは、スカラ型ロボットあるいはXY型ロボットであり、かつ、この指

定できる移動の種類は、直線補間移動および円弧補間移動です。

指定されたMOVE文に対してのみ有効です。

例:

 MOVE L,P10,VEL=100

----------現在位置からP10で指定された位置へXYZの合成最高速度

100mm/秒で移動

・アーチモーション指定

形式:

x=<式>[,x=<式>…]

xは、X,Y,Z,R,A,Bの軸指定です。

<式>の値は、整数値の場合はパルス単位と判断し、実数値の場合はミリ/度単

位と判断します。

n要点

合成速度の最高速を規定するもの

で、指定速度を保証するものでは

ありません。

n要点

最高速を規定するもので、指定速

度を保証するものではありませ

ん。

Page 111: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

99

11. 命令文

意味:

第1に、xで指定された軸を<式>で指定された位置に移動します。第2に、x

で指定された軸がアーチ位置範囲以内に入ると、xで指定された軸以外の軸が目

標位置に移動します。第3に、xで指定された軸以外の軸がアーチ位置範囲以内

に入り、かつ、xで指定された軸が<式>で指定された位置の公差範囲以内に入

ると、xで指定された軸が目標位置に移動し、xで指定された軸がアウト有効位

置範囲以内に入ると命令を終了します。

この指定できる移動の種類は、PTP移動です。

xで指定する軸にX軸あるいはY軸が含まれる場合、目標位置および<式>の値

は、以下のようになります。

スカラ型ロボットおよびXY型ロボットにおいて、<式>の値はパルス単位およ

び整数でなければなりません。

また、スカラ型ロボットにおいて、目標位置の値はパルス単位および整数でなけ

ればなりません。

その他のロボットにおいて、制限はありません。

例:

 MOVE P,P1,Z=0

----------現在位置から第1に、Z軸が0パルスに移動し、その他の軸がP

1に移動し、最後にZ軸がP1に移動

P1現在位置

Z=0

・STOPON条件指定

形式:

STOPON <条件式>

意味:

移動中に条件式が成立した(真になった)場合、移動を停止します。このときの

停止動作は、減速停止なので、条件成立後(条件式が真になった後)に減速移動

距離が発生します。

移動開始時に条件式が成立している(真になっている)場合、移動せずに命令を

終了します。

この指定できる移動の種類は、PTP移動および直線補間移動です。

プログラム実行のみ有効です。

例:

 MOVE P,P100,STOPON DI(20)=1

----------現在位置からP100で指定された位置に移動。途中で

DI(20)=1の条件が成立したら、移動を減速停止する。

n要点

STOPON条件指定で使用する条件式

が数値を表す式である場合、下記

ソフトバージョンのコントローラ

では、その他のパラメータの

“True ジョウケン”で「真」、「偽」

になる条件を変更することができ

ます(-1・・・「真」、0・・・「偽」 

または 0以外・・・「真」、0・・・

「偽」)。詳しくは、コントローラ

取扱説明書を参照してください。

 RCX14x Ver. 8.63以上

 RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

Page 112: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

100

11. 命令文

・CONT指定

形式:

CONT

意味:

CONT指定のPTP移動を実行した場合、すべての移動対象軸がアウト有効位

置範囲以内に入り命令が終了された直後に実行されるPTP移動は、移動対象軸

の動作が完了(公差範囲以内に軸到着)を待たずに、PTP移動を開始します。

この指定できる移動の種類は、PTP移動です。

指定されたMOVE文に対してのみ有効です。

例:

 MOVE  P,P10,P11,CONT

----------現在位置からP10で指定された位置に移動し、移動軸が公差範

囲以内に軸到着することを待たずにP11に移動を開始します。

P10

現在位置

P11

アウト有効位置範囲

・加速度指定

形式:

ACC=<式>

<式>の値は、1~100である。(単位:%)

意味:

加速度係数パラメータによって決定されたロボットの加速度に対する比率を

<式>で指定し、動作時の加速度を決定します。

この指定できる移動の種類は、直線補間移動です。

指定されたMOVE文に対してのみ有効です。

例:

 MOVE L,P100,ACC=10

----------現在位置からP100で指定された位置に加速度比率10%で移

動。

n要点

・CONT指定することでPTP移

動開始時の位置決め時間を短縮す

ることができます。

・経路は保証されません。

Page 113: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

101

11. 命令文

・減速度指定

形式:

DEC=<式>

<式>の値は、1~100である。(単位:%)

意味:

加速度係数パラメータによって決定されたロボットの加速度に対する比率を

<式>で指定し、動作時の減速度を決定します。

この指定できる移動の種類は、直線補間移動です。

指定されたMOVE文に対してのみ有効です。

例:

 MOVE L,P100,DEC=20

----------現在位置からP100で指定された位置に減速度比率20%で移

動。

・ 座標平面指定

形式:

 XY

 YZ

 ZX

XYは、XY座標平面を示す。

YZは、YZ座標平面を示す。

ZXは、ZX座標平面を示す。

意味:

座標指定の円弧補間を実行した場合、指定座標平面への投射が円となるような円

弧補間を実行します。

この指定できる移動種類は、円弧補間移動です。

指定されたMOVE文に対してのみ有効です。

例:

 P10 =  100.00 100.00 20.00 0.00 0.00 0.00

 P11 =  150.00 100.00  0.00 0.00 0.00 0.00

 P12 =  150.00 150.00 20.00 0.00 0.00 0.00

 P13 =  100.00 150.00 40.00 0.00 0.00 0.00

 MOVE  P,P10

 MOVE  C,P11,P12

 MOVE  C,P13,P10

----------P10,P11,P12とP12,P13,P10で生成される

3次元円弧を連続で移動する。

 MOVE  C,P11,P12,XY

 MOVE  C,P13,P10,XY

----------P10,P11,P12とP12,P13,P10で生成される

XY平面上の円弧を連続で移動する。このとき、Z軸は、円弧の

目標位置となるP12とP10で指定される位置に移動する。

n要点

・座標平面を指定しない場合は、3

次元円弧となります。

・2軸仕様のロボットの場合、XY

平面での円弧動作となります。

Page 114: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

102

11. 命令文

・ポート出力指定

形式1:

 DO m([b,・・・,b])=<式1>@<式2>

 MO

 SO

形式2:

 DO (mb,・・・,mb)=<式1>@<式2>

 MO

 SO

ポート番号mの値は、2~7,10~17,20~27である。

ビット指定bの値は、0~7である。

<式1>の値は、整数化し、左辺で指定されたビット指定に対応した下位のビッ

トが有効である。

<式2>の値は、mm単位である。

意味:

直線補間または円弧補間を実行時、移動開始位置から<式2>の距離(単位:

mm)の位置で、指定した出力ポートに<式1>の値を出力します。

この指定できる移動の種類は直線補間移動および円弧補間移動です。

このオプションは、1つのMOVE文で2回まで指定できます。

例1:

 MOVE P,P0

 MOVE L,P1,DO2()=105@25.85

----------P1へ直線補間で移動中、P0から25.85mmの位置でDO

2()に105(&B01101001)を出力する。

例2:

 A!=10

 B!=20

 MOVE L,P2,MO(22)=1@A!,MO(22)=0@B!

----------P2へ移動開始後、10mmの位置でMO(22)をオンし、

20mmの位置でMO(22)をオフする。

関連する命令:MOVEI,DRIVE,DRIVEI,WAIT ARM

c注意

ポート出力指定は、Ver. 8.22以上

のソフトバージョンのときのみ有

効です。

n要点

・DO0()とDO1()への出力

ができません。

・MO0()とMO1()への出力

ができません。

・SO0()とSO1()への出力

ができません。

・ビット指定は右から昇順で記述し

てください。

・ハード的に存在しないDO/SO

ポートへの出力は、外部出力され

ません。

Page 115: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

103

11. 命令文

MOVE2文(絶対位置移動命令)

形式:

MOVE2 PTP ,<ポイント指定>[,オプション[,オプション]…]

       P

       L

       C

意味:

この命令は、サブロボット軸の絶対位置移動命令を実行します。

したがって、サブロボット軸として設定されている軸はすべて対象となります。

メインロボット軸や付加軸設定されている軸は、この移動命令で移動しません。

移動種類 : PTP、直線補間、円弧補間

ポイント指定 : 直接数値指定、ポイント定義指定

オプション : 速度指定、アーチモーション指定、STOPON条件指定、

CONT指定、加速度指定、減速度指定、座標平面指定、

ポート出力指定

移動の種類

・PTP (Point to Point)移動

すべての移動対象軸の動作が完了後(公差範囲以内に軸到着後)、PTP移動を

開始し、すべての移動対象軸がアウト有効位置範囲以内に入ると命令を終了しま

す。移動対象軸は、同時到着します。このときの経路は、保証されません。

MOVE2 P 命令に続く次の命令の注意点

MOVE2 P命令の次の命令が信号出力命令などの実行可能な命令の場合、移動

対象軸がアウト有効位置範囲以内に入ると次の命令を開始します。つまり、目標

位置の公差範囲以内に軸が到着する前に次の命令を開始することになります。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM2”文を使用してください。

Page 116: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

104

11. 命令文

P1

DO(20)をオン

MOVE2 P,P1WAIT ARM2DO(20)=1

DO(20)をオン

MOVE2 P,P1DO(20)=1

公差

目標位置

アウト有効位置

HOLD実行(プログラム一時停止)

MOVE2 P,P1WAIT ARM2HOLD

MOVE2 P,P1HOLD

公差アウト有効位置

目標位置

HOLD実行(プログラム一時停止)

例:

 MOVE2 P,P0

 MOVE2 PTP,P0

----------現在位置からサブロボット軸がP0で指定された位置へ移動

・直線補間移動

すべての移動対象軸の動作が完了後(公差範囲以内に軸到着後)、直線移動を開

始し、直後に命令を終了します(直後に命令を終了するとは、プログラム上の命

令処理が遷移することを意味し、移動対象軸は目標位置に移動します)。した

がって、直後にある命令は、移動対象軸が移動開始直後から実行されます。たと

えば、直後の命令が信号出力命令(DOなど)の場合、移動開始直後から信号が

出力されます。

また、直前の命令がMOVE2命令で、かつ、直線補間または円弧補間の場合、

移動経路を前後の加減速部分を接続し、停止することなく移動対象軸が移動しま

す。移動対象軸は、同時到着します。

ただし、STOPON条件指定がある場合は、移動動作を開始し、すべての移動対

象軸の動作の完了(公差範囲以内に軸到着)を待ちます。

MOVE2 L 命令に続く次の命令の注意点

MOVE2 L命令の次の命令が信号出力命令などの実行可能な命令の場合、移動

開始直後から実行を開始します。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

移動開始直後に、信号が出力されます。

移動開始直後に、DELAY命令が実行され、時間の待ちが始まります。

移動開始直後に、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

移動開始直後に、プログラムを一時停止します。そのため、移動が停止します。

移動開始直後に、WAIT命令が実行されます。

n要点

・速度および加速度、ポイント間の

距離によっては、滑らかな経路移

動ができない場合があります。

・速度および加速度、ポイント間の

距離によっては、経路間の速度が

一定しない場合があります。

・R軸設定のあるロボットではR軸

の移動距離によっては、R軸の速

度が高くなりすぎてエラーになる

ことがあります。

n要点

直線補間移動は、RCX14xはVer.

8.64以上、RCX22xではVer. 9.11以

上のソフトバージョンのときのみ

有効です。

Page 117: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

105

11. 命令文

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM2”文を使用してください。

P1

DO(20)をオン

MOVE2 L,P1WAIT ARM2DO(20)=1

DO(20)をオン

MOVE2 L,P1DO(20)=1

公差

目標位置

HOLD実行(プログラム一時停止)

MOVE2 L,P1WAIT ARM2HOLD

MOVE2 L,P1HOLD

公差

目標位置

HOLD実行(プログラム一時停止)

例:

 MOVE2 L,P0,P1--------- 現在位置からサブロボット軸がP0,

P1で指定された位置へ移動

P0

現在位置

P1

・円弧補間移動

円弧補間の場合、現在位置と中間位置と目標位置の3つの位置で1 つの円弧を

形成します。

すべての移動対象軸の動作が完了後(公差範囲以内に軸到着後)、円弧移動を開

始し、直後に命令を終了します(直後に命令を終了するとは、プログラム上の命

令処理が遷移することを意味し、移動対象軸は目標位置に移動します)。した

がって、直後にある命令は、移動対象軸が移動開始直後から実行されます。たと

えば、直後の命令が信号出力命令(DOなど)の場合、移動開始直後から信号が

出力されます。

また、直前の命令がMOVE2命令で、かつ、直線補間または円弧補間の場合、

移動経路を前後の加減速部分を接続し、停止することなく移動対象軸が移動しま

す。移動対象軸は、同時到着します。

n要点

・円弧補間の動作可能な範囲は、半

径5000.00mm~1.00mmです。

・円弧補間は、ポイント指定が偶数

個の指定となります。

・速度および加速度、円弧半径によっ

ては、円弧が歪む場合があります。

・R軸設定のあるロボットではR軸

の移動距離によっては、R軸の速

度が高くなりすぎてエラーになる

ことがあります。

・MULTI型ロボットでは、“シヨウフ

イッチ”のエラーになり、円弧補

間を実行できません。

n要点

円弧補間移動は、RCX14xはVer.

8.64以上、RCX22xではVer. 9.11以

上のソフトバージョンのときのみ

有効です。

Page 118: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

106

11. 命令文

MOVE2 C 命令に続く次の命令の注意点

MOVE2 C命令の次の命令が信号出力命令などの実行可能な命令の場合、移動

開始直後から実行を開始します。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM2”文を使用してください。

P1

DO(20)をオン

MOVE2 C,P1,P2WAIT ARM2DO(20)=1

DO(20)をオン

MOVE2 C,P1,P2DO(20)=1

公差

目標位置

HOLD実行(プログラム一時停止)

MOVE2 C,P1,P2WAIT ARM2HOLD

MOVE2 C,P1,P2HOLD

公差

目標位置

HOLD実行(プログラム一時停止)

例:

 MOVE2 L,P20

 MOVE2 C,P21,P22,P23,P20

 MOVE2 L,P24

----------現在位置からP20へ直線移動し、P20,P21,P22,P

23,P20で構成する円弧移動し、P24に直線移動

P23

現在位置 P24

P22

P21

P20

Page 119: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

107

11. 命令文

ポイント指定の種類

・直接数値指定

形式:

X Y Z R A B

X,Y,Z,R,A,Bは、スペースで区切られた各軸の座標値です。

意味:

直接座標値を指定します。このときの数値が、整数値の場合はパルス単位と判断

し、実数値の場合はミリ/度単位と判断し、移動します。

この指定できる移動の種類は、PTP移動および直線補間移動です。

直接数値指定では、スカラ型ロボット、かつ、座標値をミリ単位で指定する場

合、手系フラグを指定することができます。

スカラ型ロボットで、拡張設定の手系フラグを設定する場合は、Bのデータ後尾

に1 または2を指定します。1 および2以外の数値もしくは数値の指定がない場

合は、手系フラグの設定無し(0)として扱われます。

1:右手系で指定位置へ移動するよう設定されていることを示します。

2:左手系で指定位置へ移動するよう設定されていることを示します。

例:

 MOVE2 P,10000 10000 1000 1000 0 0

----------現在位置から指定位置へPTP移動

・ポイント定義指定

形式:

<ポイント式>[,<ポイント式>…]

意味:

<ポイント式>を指定します。カンマ(,)で区切ることにより複数のデータを

指定できます。

例:

 MOVE2 P,P1

----------現在位置からP1で指定された位置へ移動

 MOVE2 P,P20,P0,P100

----------現在位置からP20,P0,P100で指定された位置へ順番に

移動

n要点

・円弧補間の場合、偶数個の指定と

なります。

・スカラ型ロボット、かつ指定する

ポイントデータに手系フラグが設

定されている場合、この手系を現在

のアームタイプよりも優先します。

c注意

手系フラグが設定されているポイ

ントに直線補間または円弧補間で

移動する場合、現在位置での手系

と指定したポイントの手系が同じ

になるようにしてください。現在

位置での手系と指定したポイント

の手系が異なる場合、エラーとな

り動作できません。

n要点

・スカラ型ロボット、かつ移動先座

標データに手系フラグが設定され

ている場合、この手系を現在の

アームタイプよりも優先します。

・手系フラグは、Ver. 8.08以上のソフ

トバージョンのときのみ有効です。

c注意

手系フラグを指定して直線補間を

行う場合、現在位置での手系と指

定移動先の手系が同じになるよう

にしてください。現在位置での手

系と指定移動先の手系が異なる場

合、エラーとなり動作できません。

n要点

整数値と実数値が混在している場

合は、すべての指定がミリ/度単

位として移動します。

Page 120: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

108

11. 命令文

オプションの種類

・速度指定

形式1:

 SPEED =<式>

 S    

<式>の値は、1~100である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、自動移動速度とプログ

ラム移動速度の積によって決まります。

指定されたMOVE2文に対してのみ有効です。

例:

 MOVE2  P,P10,S=10

----------現在位置からP10で指定された位置へプログラム移動速度

10%で移動

形式2:

VEL=<式>

<式>の値は、スカラ型ロボットの場合、1~750となり、XY型ロボットの

場合、1~1000である。(単位:mm/秒)

意味:

ロボットのXYZ軸の合成最高速度をmm/秒単位の<式>で指定します。この

オプションは、スカラ型ロボットあるいはXY型ロボットであり、かつ、この指

定できる移動の種類は、直線補間移動および円弧補間移動です。

指定されたMOVE2文に対してのみ有効です。

例:

 MOVE2 L,P10,VEL=100

----------現在位置からP10で指定された位置へXYZの合成最高速度

100mm/秒で移動

・アーチモーション指定

形式:

x=<式>[,x=<式>…]

xは,X,Y,Z,R,A,Bの軸指定です。

<式>の値は、整数値の場合はパルス単位と判断し、実数値の場合はミリ/度単

位と判断します。

n要点

合成速度の最高速を規定するもの

で、指定速度を保証するものでは

ありません。

n要点

最高速を規定するもので、指定速

度を保証するものではありませ

ん。

Page 121: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

109

11. 命令文

意味:

第1に、xで指定された軸を<式>で指定された位置に移動します。第2に、x

で指定された軸がアーチ位置範囲以内に入ると、xで指定された軸以外の軸が目

標位置に移動します。第3に、xで指定された軸以外の軸がアーチ位置範囲以内

に入り、かつ、xで指定された軸が<式>で指定された位置の公差範囲以内に入

ると、指定された軸が目標位置に移動し、指定軸がアウト有効位置範囲以内に入

ると命令を終了します。

この指定できる移動の種類は、PTP移動です。

xで指定する軸にX軸あるいはY軸が含まれる場合、目標位置および<式>の値

は、以下のようになります。

スカラ型ロボットおよびXY型ロボットにおいて、<式>の値はパルス単位およ

び整数でなければなりません。

また、スカラ型ロボットにおいて、目標位置の値はパルス単位および整数でなけ

ればなりません。

その他のロボットにおいて、制限はありません。

例:

 MOVE2 P,P1,Z=0

----------現在位置から第1に、Z軸が0パルスに移動し、その他の軸が

P1に移動し、最後にZ軸がP1に移動

P1現在位置

Z=0

・STOPON条件指定

形式:

STOPON <条件式>

意味:

移動中に条件式が成立した(真になった)場合、移動を停止します。このときの

停止動作は、 減速停止なので、条件成立後(条件式が真になった後)に減速移動

距離が発生します。

移動開始時に条件式が成立している(真になっている)場合、移動せずに命令を

終了します。

この指定できる移動の種類は、PTP移動および直線補間移動です。

プログラム実行のみ有効です。

例:

 MOVE2 P,P100,STOPON DI(20)=1

----------現在位置からP100で指定された位置に移動。途中で

DI(20)=1の条件が成立したら、移動を減速停止する。

n要点

STOPON条件指定で使用する条件式

が数値を表す式である場合、下記

ソフトバージョンのコントローラ

では、その他のパラメータの

“True ジョウケン”で「真」、「偽」

になる条件を変更することができ

ます(-1・・・「真」、0・・・「偽」 

または 0以外・・・「真」、0・・・

「偽」)。詳しくは、コントローラ

取扱説明書を参照してください。

 RCX14x Ver. 8.63以上

 RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

Page 122: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

110

11. 命令文

・CONT指定

形式:

CONT

意味:  

CONT指定のPTP移動を実行した場合、すべての移動対象軸がアウト有効位

置範囲以内に入り命令が終了された直後に実行されるPTP移動は、移動対象軸

の動作が完了(公差範囲以内に軸到着)を待たずに、PTP移動を開始します。

この指定できる移動の種類は、PTP移動です。

指定されたMOVE2文に対してのみ有効です。

例:

 MOVE2  P,P10,P11,CONT

----------現在位置からP10で指定された位置に移動し、移動軸が公差範

囲以内に軸到着することを待たずにP11に移動を開始します。

 

P10

現在位置

P11

アウト有効位置範囲

・加速度指定

形式:

ACC=<式>

<式>の値は、1~100である。(単位:%)

意味:

加速度係数パラメータによって決定されたロボットの加速度に対する比率を

<式>で指定し、動作時の加速度を決定します。

この指定できる移動の種類は、直線補間移動です。

指定されたMOVE2文に対してのみ有効です。

例:

 MOVE2 L,P100,ACC=10

----------現在位置からP100で指定された位置に加速度比率10%で移

動。

n要点

・CONT指定することでPTP移

動開始時の位置決め時間を短縮す

ることができます。

・経路は保証されません。

Page 123: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

111

11. 命令文

・減速度指定

形式:

DEC=<式>

<式>の値は、1~100である。(単位:%)

意味:

加速度係数パラメータによって決定されたロボットの加速度に対する比率を

<式>で指定し、動作時の減速度を決定します。

この指定できる移動の種類は、直線補間移動です。

指定されたMOVE2文に対してのみ有効です。

例:

 MOVE2 L,P100,DEC=20

----------現在位置からP100で指定された位置に減速度比率20%で移

動。

・ 座標平面指定

形式:

 XY

 YZ

 ZX

XYは、XY座標平面を示す。

YZは、YZ座標平面を示す。

ZXは、ZX座標平面を示す。

意味:

座標指定の円弧補間を実行した場合、指定座標平面への投射が円となるような円

弧補間を実行します。

この指定できる移動種類は、円弧補間移動です。

指定されたMOVE2文に対してのみ有効です。

例:

 P10 =  100.00 100.00 20.00 0.00 0.00 0.00

 P11 =  150.00 100.00  0.00 0.00 0.00 0.00

 P12 =  150.00 150.00 20.00 0.00 0.00 0.00

 P13 =  100.00 150.00 40.00 0.00 0.00 0.00

 MOVE2  P,P10

 MOVE2  C,P11,P12

 MOVE2  C,P13,P10

----------P10,P11,P12とP12,P13,P10で生成される

3次元円弧を連続で移動する。

 MOVE2  C,P11,P12,XY

 MOVE2  C,P13,P10,XY

----------P10,P11,P12とP12,P13,P10で生成される

XY平面上の円弧を連続で移動する。このとき、Z軸は、円弧の

目標位置となるP12とP10で指定される位置に移動する。

n要点

・座標平面を指定しない場合は、3

次元円弧となります。

・2軸仕様のロボットの場合、XY

平面での円弧動作となります。

Page 124: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

112

11. 命令文

・ポート出力指定

形式1:

 DO m([b,・・・,b])=<式1>@<式2>

 MO

 SO

形式2:

 DO (mb,・・・,mb)=<式1>@<式2>

 MO

 SO

ポート番号mの値は、2~7,10~17,20~27である。

ビット指定bの値は、0~7である。

<式1>の値は、整数化し、左辺で指定されたビット指定に対応した下位のビッ

トが有効である。

<式2>の値は、mm単位である。

意味:

直線補間または円弧補間を実行時、移動開始位置から<式2>の距離(単位:

mm)の位置で、指定した出力ポートに<式1>の値を出力します。

この指定できる移動の種類は直線補間移動および円弧補間移動です。

このオプションは、1つのMOVE2文で2回まで指定できます。

例1:

 MOVE2 P,P0

 MOVE2 L,P1,DO2()=105@25.85

----------P1へ直線補間で移動中、P0から25.85mmの位置でDO

2()に105(&B01101001)を出力する。

例2:

 A!=10

 B!=20

 MOVE2 L,P2,MO(22)=1@A!,MO(22)=0@B!

----------P2へ移動開始後、10mmの位置でMO(22)をオンし、

20mmの位置でMO(22)をオフする。

関連する命令:MOVEI2,DRIVE2,DRIVEI2,

WAIT ARM2

n要点

・DO0()とDO1()への出力

ができません。

・MO0()とMO1()への出力

ができません。

・SO0()とSO1()への出力

ができません。

・ビット指定は右から昇順で記述し

てください。

・ハード的に存在しないDO/SO

ポートへの出力は、外部出力され

ません。

Page 125: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

113

11. 命令文

MOVEI文(相対位置移動命令)

形式:

MOVEI  PTP ,<ポイント指定>,[,オプション[,オプション…]]

       P

意味:

この命令は、メインロボット軸の相対位置移動命令を実行します。

したがって、メインロボット軸として設定されている軸はすべて対象となりま

す。サブロボット軸や付加軸設定されている軸は、この移動命令で移動しませ

ん。

 移動種類  : PTP

 ポイント指定: 直接数値指定、ポイント定義指定

 オプション : 速度指定

移動の種類

・PTP (Point to Point)移動

すべての移動対象軸の動作が完了後(公差範囲以内に軸到着後)、PTP移動を

開始し、すべての移動対象軸がアウト有効位置範囲以内に入ると命令を終了しま

す。移動対象軸は、同時到着します。このときの経路は、保証されません。

MOVEI 命令に続く次の命令の注意点

MOVEI命令の次の命令が信号出力命令などの実行可能な命令の場合、移動対象

軸がアウト有効位置範囲以内に入ると次の命令を開始します。つまり、目標位置

の公差範囲以内に軸が到着する前に次の命令を開始することになります。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM”文を使用してください。

n要点

・下記ソフトバージョンのコント

ローラでは、MOVEI文を途中

停止し再起動した場合、先の移動

の目標位置に移動するか、現在位

置(停止位置)を基準として新た

な目標位置に移動するかを、その

他のパラメータの“MOVEI/DRIVEI

カイシイチ”で選択することができま

す。詳しくはコントローラ取扱説

明書を参照してください。

RCX14x Ver. 8.66以上

RCX22x Ver. 9.13以上

・その他のパラメータの“MOVEI/

DRIVEI カイシイチ”の初期値は、キープ

(MOVEI文を途中停止し再起

動した場合、先の移動の目標位置

に移動する)に設定されていま

す。

・上記より古いバージョンのコント

ローラでは、MOVEI文を途中

停止し再起動した場合、現在位置

を基準として新たな目標位置に相

対移動を行います。

Page 126: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

114

11. 命令文

P1

DO(20)をオン

MOVEI P,P1WAIT ARMDO(20)=1

DO(20)をオン

MOVEI P,P1DO(20)=1

公差

目標位置

アウト有効位置

HOLD実行(プログラム一時停止)

MOVEI P,P1WAIT ARMHOLD

MOVEI P,P1HOLD

公差アウト有効位置

目標位置

HOLD実行(プログラム一時停止)

例:

 MOVEI P,P0

 MOVEI PTP,P0

----------現在位置からメインロボット軸がP0で指定量だけPTP移動

ポイント指定の種類

・直接数値指定

形式:

X Y Z R A B

X,Y,Z,R,A,Bは、スペースで区切られた各軸の座標値です。

意味:

直接座標値を指定します。このときの数値が、整数値の場合はパルス単位と判断

し、実数値の場合はミリ/度単位と判断し、移動します。

直接数値指定では、スカラ型ロボット、かつ、座標値をミリ単位で指定する場

合、手系フラグを指定することができます。

スカラ型ロボットで、拡張設定の手系フラグを設定する場合は、Bのデータ後尾

に1 または2を指定します。1 および2以外の数値もしくは数値の指定がない場

合は、手系フラグの設定無し(0)として扱われます。

1:右手系で指定位置へ移動するよう設定されていることを示します。

2:左手系で指定位置へ移動するよう設定されていることを示します。

例:

 MOVEI P, 10000 10000 1000 1000 0 0

----------現在位置から指定量だけPTP移動

n要点

・スカラ型ロボット、かつ移動先座

標データに手系フラグが設定され

ている場合、この手系を現在の

アームタイプよりも優先します。

・手系フラグは、Ver. 8.08以上のソフ

トバージョンのときのみ有効です。

n要点

整数値と実数値が混在している場

合は、すべての指定がミリ/度単

位として移動します。

Page 127: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

115

11. 命令文

・ポイント定義指定

形式:

<ポイント式>[,<ポイント式>…]

意味:

<ポイント式>を指定します。カンマ(,)で区切ることにより複数のデータを

指定できます。

例:

 MOVEI P,P1

----------現在位置からP1で指定された移動量だけPTP移動

オプションの種類

・速度指定

形式1:

 SPEED =<式>

 S    

<式>の値は、1~100である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、自動移動速度とプログ

ラム移動速度の積によって決まります。

指定されたMOVEI文に対してのみ有効です。

例:

 MOVEI P,P10,S=10

----------現在位置からP1で指定された移動量だけプログラム移動速度

10%でPTP移動

関連する命令:MOVE,DRIVE,DRIVEI,WAIT ARM

n要点

最高速を規定するもので、指定速

度を保証するものではありませ

ん。

n要点

スカラ型ロボット、かつ指定する

ポイントデータに手系フラグが設

定されている場合、この手系を現在

のアームタイプよりも優先します。

Page 128: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

116

11. 命令文

MOVEI2文(相対位置移動命令)

形式:

MOVEI2  PTP ,<ポイント指定>[,オプション[,オプション…]]

        P

意味:

この命令は、サブロボット軸の相対位置移動命令を実行します。

したがって、サブロボット軸として設定されている軸はすべて対象となります。

メインロボット軸や付加軸設定されている軸は、この移動命令で移動しません。

 移動種類 : PTP

 ポイント指定: 直接数値指定、ポイント定義指定

 オプション : 速度指定

移動の種類

・PTP (Point to Point)移動

すべての移動対象軸の動作が完了後(公差範囲以内に軸到着後)、PTP移動を

開始し、すべての移動対象軸がアウト有効位置範囲以内に入ると命令を終了しま

す。移動対象軸は、同時到着します。このときの経路は、保証されません。

MOVEI2 命令に続く次の命令の注意点

MOVEI2命令の次の命令が信号出力命令などの実行可能な命令の場合、移動対

象軸がアウト有効位置範囲以内に入ると次の命令を開始します。つまり、目標位

置の公差範囲以内に軸が到着する前に次の命令を開始することになります。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM2”文を使用してください。

n要点

・下記ソフトバージョンのコント

ローラでは、MOVEI2文を途

中停止し再起動した場合、先の移

動の目標位置に移動するか、現在

位置(停止位置)を基準として新

たな目標位置に移動するかを、そ

の他のパラメータの“MOVEI/

DRIVEI カイシイチ”で選択することがで

きます。詳しくはコントローラ取

扱説明書を参照してください。

RCX14x Ver. 8.66以上

RCX22x Ver. 9.13以上

・その他のパラメータの“MOVEI/

DRIVEI カイシイチ”の初期値は、キープ

(MOVEI2文を途中停止し再

起動した場合、先の移動の目標位

置に移動する)に設定されていま

す。

・上記より古いバージョンのコント

ローラでは、MOVEI2文を途

中停止し再起動した場合、現在位

置を基準として新たな目標位置に

相対移動を行います。

Page 129: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

117

11. 命令文

P1

DO(20)をオン

MOVEI2 P,P1WAIT ARM2DO(20)=1

DO(20)をオン

MOVEI2 P,P1DO(20)=1

公差

目標位置

アウト有効位置

HOLD実行(プログラム一時停止)

MOVEI2 P,P1WAIT ARM2HOLD

MOVEI2 P,P1HOLD

公差アウト有効位置

目標位置

HOLD実行(プログラム一時停止)

例:

 MOVEI2  P,P0

 MOVEI2  PTP,P0

----------現在位置からサブロボット軸がP0で指定量だけPTP移動

ポイント指定の種類

・直接数値指定

形式:

X Y Z R A B

X,Y,Z,R,A,Bは、スペースで区切られた各軸の座標値です。

意味:

直接座標値を指定します。このときの数値が、整数値の場合はパルス単位と判断

し、実数値の場合はミリ/度単位と判断し、移動します。

直接数値指定では、スカラ型ロボット、かつ、座標値をミリ単位で指定する場

合、手系フラグを指定することができます。

スカラ型ロボットで、拡張設定の手系フラグを設定する場合は、Bのデータ後尾

に1 または2を指定します。1 および2以外の数値もしくは数値の指定がない場

合は、手系フラグの設定無し(0)として扱われます。

1:右手系で指定位置へ移動するよう設定されていることを示します。

2:左手系で指定位置へ移動するよう設定されていることを示します。

例:

 MOVEI2 P,10000 10000 1000 1000 0 0

----------現在位置から指定量だけPTP移動

n要点

・スカラ型ロボット、かつ移動先座

標データに手系フラグが設定され

ている場合、この手系を現在の

アームタイプよりも優先します。

・手系フラグは、Ver. 8.08以上のソフ

トバージョンのときのみ有効です。

n要点

整数値と実数値が混在している場

合は、すべての指定がミリ/度単

位として移動します。

Page 130: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

118

11. 命令文

・ポイント定義指定

形式:

<ポイント式>[,<ポイント式>…]

意味:

<ポイント式>を指定します。カンマ(,)で区切ることにより複数のデータを

指定できます。

例:

 MOVEI2  P,P1

----------現在位置からP1で指定された移動量だけPTP移動

オプションの種類

・速度指定

形式1:

 SPEED =<式>

 S    

<式>の値は、1~100である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、自動移動速度とプログ

ラム移動速度の積によって決まります。

指定されたMOVEI2文に対してのみ有効です。

例:

 MOVEI2  P,P10,S=10

----------現在位置からP1で指定された移動量だけプログラム移動速度

10%でPTP移動

関連する命令:MOVE2,DRIVE2,DRIVEI2,

WAIT ARM2

n要点

最高速を規定するもので、指定速

度を保証するものではありませ

ん。

n要点

スカラ型ロボット、かつ指定する

ポイントデータに手系フラグが設

定されている場合、この手系を現在

のアームタイプよりも優先します。

Page 131: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

119

11. 命令文

ON ERROR GOTO文

形式:

ON ERROR GOTO  <ラベル> 

                0   

エラー出力情報 ERR:エラーコード番号

        ERL:エラー発生行番号

意味:

この命令文は、ロボット言語実行中に発生した場合、プログラムを停止しないで

<ラベル>で指定されたエラー処理ルーチンにジャンプし、プログラムが継続さ

れます。(ただし、重度のエラーに関してはその限りではありません。)また、0

を指定した場合、エラーメッセージを表示して、プログラムを停止します。

エラー処理ルーチンの中では、エラー出力情報とRESUME文によってエラー

処理を行うことができます。

例:

 ON ERROR GOTO *ER1

 FOR A = 0 TO 9

   P[A+10] = P[A]

 NEXT A

 *L99: HALT

 ’ERROR ROUTINE

 *ER1:

 IF ERR = &H0604 THEN *NEXT1

---------“ポイントナシ”のエラー発生確認する。

 IF ERR = &H0606 THEN *NEXT2

---------“レンジオーバー”のエラー発生確認する。

 ON ERROR GOTO 0

--------- エラーを表示し、実行を停止する。

 *NEXT1:

   RESUME NEXT

--------- エラー発生行の次の行にジャンプし実行を継

続する。

 *NEXT2:

    RESUME *L99

--------- ラベル*L99にジャンプし実行を継続す

る。

関連する命令:RESUME

n要点

・“オーバーロード”などの重度のエラー

が発生した場合、実行は停止しま

す。

・ON ERROR GOTO <

ラベル>は、最後に実行したもの

が有効です。

・エラー処理ルーチン内でエラーが

発生した場合、実行を停止しま

す。

・エラー処理ルーチン内でON ER

ROR GOTO <ラベル>

は、実行できません。

Page 132: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

120

11. 命令文

ON~GOTO文

形式:

ON <式>  GOTO   <ラベル1>[,<ラベル2>…]

        GO TO 

<式>の値は、0または正の整数である。

意味:

この命令文は、<式>の値がプログラムのジャンプ先を決定します。

<式>の値が1の場合、1番目の<ラベル1>へジャンプします。2の場合、2

番目の<ラベル2>へジャンプします。以下同様にnの場合、n番目の<ラベル

n>にジャンプします。

<式>の値が0またはラベル数を超えている場合、次の命令を実行します。

例:

 ’MAIN ROUTINE

 *ST:

 ON DI3() GOTO *L1,*L2,*L3

 GOTO *ST

 HALT

 ’SUB ROUTINE

 *L1:

   MOVE P,P10,Z=0

   GOTO *ST

 *L2:

   DO(30) = 1

   GOTO *ST

 *L3:

   DO(30) = 0

   GOTO *ST

関連する命令:GOTO,DECLARE

Page 133: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

121

11. 命令文

ON~GOSUB文

形式:

ON <式>  GOSUB   <ラベル1>[,<ラベル2>…]

        GO SUB 

<式>の値は、0または正の整数である。

意味:

この命令文は、<式>の値がプログラムのジャンプ先を決定します。

<式>の値が1の場合、1番目の<ラベル1>へジャンプします。2の場合、2

番目の<ラベル2>へジャンプします。以下同様にnの場合、n番目の<ラベル

n>にジャンプします。

<式>の値が0またはラベル数を超えている場合、次の命令を実行します。

ジャンプ先のサブルーチンを実行後、ON~GOSUB文の次の命令を実行しま

す。

例:

 ’MAIN ROUTINE

 *ST:

 ON DI3() GOSUB *SUB1,*SUB2,*SUB3

 GOTO *ST

 HALT

 ’SUB ROUTINE

 *SUB1:

   MOVE P,P10,Z=0

   RETURN

 *SUB2:

   DO(30) = 1

   RETURN

 *SUB3:

   DO(30) = 0

   RETURN

関連する命令:GOSUB,RETURN,DECLARE

Page 134: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

122

11. 命令文

ONLINE文,OFFLINE文

形式:

ONLINE [ ETH ]

CMU

OFFLINE[ ETH ]

CMU

意味:

この命令文は、指定したポートの通信モードパラメータを変更し、通信モード

(オンライン/オフライン)を変更します。また、指定したポートによって、送

受信バッファのクリアまたは通信ポートの初期化も行います。

対象ポートは、ONLINE/OFFLINEの後ろのポートオプションで指定します。

 ETH Ethernet の通信モードパラメータを変更し、送受

信バッファをクリアします。

 CMU または 指定なし RS-232Cの通信モードパラメータを変更し、通信

ポートの初期化(通信エラーの解除と受信バッファ

のクリア)を行います。

例:

 OFFLINE

 SEND CMU TO A$

 SEND CMU TO P10

 ONLINE

 HALT

n要点

・対象ポートの指定は、以下のソフト

バージョンのときのみ有効です。

RCX240 Ver. 10.20以上

RCX22x Ver. 9.27以上

上記より古いバージョンのコント

ローラでは、対象ポートの指定はで

きず、RS-232Cのみとなります。

Page 135: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

123

11. 命令文

ORGORD文(メイングループ原点復帰順序設定文)

形式:

ORGORD <式>

<式>の値は、0~654321の整数である。

意味:

この命令文は、メイングループの原点復帰動作およびアブソサーチ動作を行う軸

順序パラメータを設定します。

例: A=3

ORGORD A

ABSRST ---------- メイングループの第3軸の原点復帰動作完了後、残

りの軸を同時原点復帰動作を行い、アブソリュート

リセットを実行します。

MOVE P,P0

  HALT

関連する命令:ABSRST,ORIGIN,ORGORD2

Page 136: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

124

11. 命令文

ORGORD2文(サブグループ原点復帰順序設定文)

形式:

ORGORD2 <式>

<式>の値は、0~4321の整数である。

意味:

この命令文は、サブグループの原点復帰動作およびアブソサーチ動作を行う軸順

序パラメータを設定します。

例: A=1234

ORGORD2 A

ABSRST

MOVE2 P,P0

HALT

関連する命令:ABSRST,ORIGIN,ORGORD

Page 137: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

125

11. 命令文

ORIGIN文

形式:

ORIGIN

意味:

この命令文は、インクリメンタル仕様の軸の原点復帰動作を実行します。セミア

ブソ仕様の軸に対しては、アブソサーチ動作を実行します。

途中停止をすると、原点未了となります。

2台ロボット設定の場合、メイングループの原点復帰動作およびアブソサーチ動

作終了後、サブロボットグループの原点復帰動作およびアブソサーチ動作を行い

ます。

例: ORIGIN -------インクリメンタル仕様の軸の原点復帰動作を行います。

(セミアブソ仕様の軸の場合は、アブソサーチ動作を行

います。)

関連する命令:ABSRST,ORGORD,ORGORD2,MCHREF,

MCHREF2

Page 138: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

126

11. 命令文

OUT文

形式:

OUT  DOm([b,・・・,b])[,<式>]

     DO(mb,・・・,mb)

     MOm([b,・・・,b])

     MO(mb,・・・,mb)

     SOm([b,・・・,b])

     SO(mb,・・・,mb)

     LO0([b,・・・,b])

     LO(0b,・・・,0b)

     TO0([b,・・・,b])

     TO(0b,・・・,0b)

ポート番号mの値は、2~7,10~17,20~27である。

ビット指定bの値は、0~7である。

<式>の値は、1~3600000である。(単位:ms)ただし、最小実行時

間は10msである。

意味:

この命令文は、指定されたポートの出力をオンして命令文を終了します(プログ

ラムの次の行へ進みます)。その後、自動運転が<式>で指定された時間継続さ

れると、そのポートの出力をオフします。途中で一時停止した場合、再起動後、

<式>で指定された時間の残り時間経過したところで、そのポートの出力をオフ

します。

<式>の値の10未満の部分は切り捨てられます。また、値が10未満の場合

は、10を指定したものとみなされます。<式>を省略した場合は、指定した

ポートの出力はオンのままとなります。

<式>を指定したOUT文は、同時に16個まで実行できます。17個以上実行

しようとすると、“6.26: OUTヨウ メモリ フソク”のエラーが発生します。

例:

 OUT DO2(),200

----------DO(27~20)がオンし、200ms後にオフします。

 OUT DO(37,35,27,20)

----------DO(37,35,27,20)がオンします。

関連する命令:DO,MO,SO,TO,LO

c注意

OUT文は、Ver. 8.22以上のソフト

バージョンのときのみ有効です。

n要点

・DO0()とDO1()への出力

ができません。

・MO0()とMO1()への出力

ができません。

・SO0()とSO1()への出力

ができません。

・ビット指定は右から昇順で記述し

てください。

・ハード的に存在しないDO/SO

ポートへの出力は、外部出力され

ません。

Page 139: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

127

11. 命令文

OUTPOS文(メイングループアウト有効位置設定文)

形式1:

OUTPOS <式>

形式2:

OUTPOS (<式1>)=<式2>

<式1>の値は、1~6である。(軸番号)

<式>および<式2 >の値は、1~6144000である。(単位:パルス)

意味:

この命令文はメイングループのパラメータのアウト有効位置を<式>の値に変更

します。形式1は、メイングループの全軸を変更します。形式2は、<式1>で

指定される軸のアウト有効位置パラメータを<式2>の値に変更します。

例:’CYCLE WITH DECREASING OUTPOS

  DIM SAV(3)

  GOSUB *SAVE_OUTPOS

  FOR A=1000  TO 10000  STEP 1000

   GOSUB *CHANGE_OUTPOS

   MOVE P,P0

   DO3(0)=1

   MOVE P,P1

   DO3(0)=0

  NEXT A

  GOSUB *RESTORE_OUTPOS

  HALT

 *CHANGE_OUTPOS:

   FOR B=1 TO 4

    OUTPOS(B)=A

   NEXT B

   RETURN

 *SAVE_OUTPOS:

   FOR B=1 TO 4

    SAV(B-1)=OUTPOS(B)

   NEXT B

   RETURN

 *RESTORE_OUTPOS:

   FOR B=1 TO 4

    OUTPOS(B)=SAV(B-1)

   NEXT B

   RETURN

n要点

ジェネレートで、no axis

に設定されている軸を指定すると

“シヨウフイッチ”のメッセージ

を表示して実行を中止します。

Page 140: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

128

11. 命令文

OUTPOS2文(サブグループアウト有効位置設定文)

形式1:

OUTPOS2 <式>

形式2:

OUTPOS2 (<式1>)=<式2>

<式1>の値は、1~4であること。(軸番号)

<式>および<式2>の値は、1~6144000である。(単位:パルス)

意味:

この命令文はサブグループのパラメータのアウト有効位置を<式>の値に変更し

ます。形式1は、サブグループの全軸を変更します。形式2は、<式1>で指定

される軸のアウト有効位置パラメータを<式2>の値に変更します。

例:’CYCLE WITH DECREASING OUTPOS

  DIM SAV(3)

  GOSUB *SAVE_OUTPOS

  FOR A=1000 TO 10000 STEP 1000

   GOSUB *CHANGE_OUTPOS

   MOVE2 P,P0

   DO3(0)=1

   MOVE2 P,P1

   DO3(0)=0

  NEXT A

  GOSUB *RESTORE_OUTPOS

  HALT

 *CHANGE_OUTPOS:

   FOR B=1 TO 4

    OUTPOS2(B)=A

   NEXT B

   RETURN

 *SAVE_OUTPOS:

   FOR B=1 TO 4

    SAV(B-1)=OUTPOS2(B)

   NEXT B

   RETURN

 *RESTORE_OUTPOS:

   FOR B=1 TO 4

    OUTPOS2(B)=SAV(B-1)

   NEXT B

   RETURN

n要点

・この命令文は、システムジェネ

レーションでサブグループが設定

されている場合のみ使用できま

す。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 141: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

129

11. 命令文(PATH文関連)

PATH文関連

PATH機能とは

概要

直線と円弧で構成された経路上を指定された速度で移動する機能です。移動中の

速度変動が少ないので、シーリングなどのアプリケーションに最適です。

特徴

・移動経路全体にわたって速度を一定に保つように動作します。(停止状態か

らの加速区間、および動作終了前の減速区間は除く)

・ポイント教示位置の粗密により速度が変わることがないので、ポイント

ティーチングが簡単です。

・移動経路全体の移動速度を変更できるのはもちろん、スピードオプションに

より経路の一部のみ速度を変更することもできます。

・DOオプションを使うことで、移動中の任意の区間で指定ポートに信号を出

すことができます。

使用方法

PATH機能を使用するには、以下のロボット言語をセットで使用する必要があ

ります。

・PATH文(PATH L、PATH C)

・PATH SET文

・PATH END文

・PATH START文

例:

下記のようにPATH SET文およびPATH END文で囲まれた部分に

て、PATH文を使って動作経路の設定を行います。この時点ではロボットは動

作しません。PATH START文が実行されると、設定された動作経路の移

動が実行されます。

 MOVE P,P0,Z=0

 PATH SET ------経路設定の開始

 PATH L,P1,DO(20)=1@10.0

 PATH L,P2

 PATH C,P12,P13

 PATH L,P14,DO(20)=0@20.0

 PATH END ------経路設定の終了

 MOVE P,P1,Z=0

 MOVE P,P0,Z=0

 PATH START ------PATH移動の実行

 HALT

Page 142: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

130

11. 命令文(PATH文関連)

本機能使用上の注意

・経路は、直線と円弧の数の合計で300個までです。

・PATH移動実行(PATH START文実行)の際、ロボットは設定さ

れた経路の始点に位置決めされている必要があります。

・円弧と直線が接続する点では、移動の方向をできるだけ一致させてくださ

い。方向が大きく変わる場合、振動が発生したり、ロボットがエラーになる

ことがあります。

良い例 悪い例

・直線と直線が接続する点では、移動時の経路が接続点の内側を通ります。ま

た、速度が高いほど内側を通ります(1)。速度によって経路を大きく変化

させたくない場合は、(2)のようにポイントを増やしてください。ただし、

速度を下げないとエラーになることがありますので、ご注意ください。

(1) (2)

ポイントを増やす高速

低速

・指定した速度で移動できずエラーになる場合

PATH移動開始時、停止時、および移動経路の途中で速度指定が変わる場

合は、ロボットが加速または減速を行います。このとき、ポイント間の距離

が短いために指定した速度に達しない場合や減速できない場合、動作開始前

にエラーとなります。このような場合は、指定速度を下げると実行できる場

合があります。速度を下げてもエラーになってしまう場合は、加減速区間を

含む直線または円弧が長くなるようにポイントを変更してください。

・PATH移動中の手系は、PATH移動経路の始点での手系と同じになるよ

うにしてください。手系フラグが設定されているポイントにPATH移動す

る場合も同様です。手系が異なる場合、エラーとなり動作できません。

・PATH移動中にインターロック等によりロボットが停止すると、実行終了

とみなし、再起動をかけても残りの経路移動は行いません。

各コマンドの注意事項をよくお読みください。

Page 143: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

131

11. 命令文(PATH文関連)

PATH文(PATH文関連)

形式:

PATH L ,<ポイント指定>[,オプション[,オプション…]]

     C  

意味:

この命令文は、メインロボット軸のPATH移動経路を設定します。

PATH SET命令を実行せずに本命令を実行すると、エラーとなります。

PATH移動の種類 : 直線補間、円弧補間

ポイント指定 : 直接数値指定、ポイント定義指定

オプション : 速度指定、座標平面指定(円弧補間のみ)、ポート

出力指定

PATH移動の種類

・直線補間移動 … “PATH L...”で直線補間移動を設定します。

・円弧補間移動 … “PATH C...”で円弧補間移動を設定します。

PATH移動では、指定したポイントのX、Y、Z座標の値のみが有効で、

それ以外の座標はPATH移動経路の始点の座標値を使用します。

PATH命令(“PATH L”、“PATH C”)を繰り返すことで、移動

経路を接続し、停止することなく移動することができます。

ポイント指定の種類

・直接数値指定

形式:

X Y Z R A B

X、Y、Z、R、A、Bは、スペースで区切られた各軸の座標値です。

意味:

直接座標値を指定します。このときの数値が整数値の場合はパルス単位と判断

し、実数値の場合はミリ単位と判断します。整数と実数が混在する場合は、すべ

ての座標値をミリ単位として扱います。

この形式で指定できる移動先座標は1点です。また、このポイント指定ができる

移動の種類は直線補間移動のみです。

直接数値指定では、スカラ型ロボット、かつ座標値をミリ単位で指定する場合、

手系フラグを指定することができます。

スカラ型ロボットで、拡張設定の手系フラグを設定する場合は、Bのデータ後尾

に1または2を指定します。1および2以外の数値もしくは数値指定がない場合

は、手系フラグの設定無し(0)として扱われます。

1:右手系で指定位置へ移動するよう設定されていることを示します。

2:左手系で指定位置へ移動するよう設定されていることを示します。

n要点

PATH文は、Ver. 8.38以上のソフ

トバージョンのときのみ有効です。

n要点

スカラ型ロボット、かつ移動先座

標データに手系フラグが設定され

ている場合、この手系を現在の

アームタイプよりも優先します。

c注意

PATH移動中の手系は、PAT

H移動経路の始点での手系と同じ

になるようにしてください。ま

た、手系フラグを指定して移動を

行う場合も、PATH移動経路の

始点での手系と指定移動先の手系

が同じになるようにしてくださ

い。手系が異なる場合、エラーと

なり動作できません。

Page 144: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

132

11. 命令文(PATH文関連)

例:

 PATH L,10000 10000 1000 1000 0 0

----------指定位置へ直線補間移動するよう設定

 PATH L,150.00 250.00 10.00 30.00 0.00 0.00 1

----------右手系で指定位置へ直線補間移動するよう設定

・ポイント定義指定

形式:

<ポイント式>[,<ポイント式>…]

意味:

<ポイント式>で移動先ポイントを指定します。カンマ(,)で区切ることによ

り複数個のポイントを指定できます。

移動の種類が円弧補間の場合は、円弧1つにつきポイントを2つ指定する必要が

あります。

例:

 PATH L,P1,P2,P3

----------P1、P2、P3で指定された位置へ順番に直線補間移動するよ

う設定

 PATH C P5,P6,P7,P8

----------現在位置、P5、P6とP6、P7、P8で構成する円弧補間移

動するよう設定

オプションの種類

・速度指定

形式1:

 SPEED =<式>

 S    

<式>の値は、1~100である。(単位:%)

意味:

プログラム移動速度を<式>(単位:%)で指定します。

実際の速度は、以下のようになります。

 ロボットの最高速度(mm/秒)×自動移動速度(%)×プログラム移動速度(%)

指定されたPATH文に対してのみ有効です。

例:

 PATH L,P5,S=40

----------P5で指定された位置へプログラム移動速度40%で移動

n要点

スカラ型ロボット、かつ指定する

ポイントデータに手系フラグが設

定されている場合、この手系を現

在のアームタイプよりも優先しま

す。

c注意

PATH移動中の手系は、PAT

H移動経路の始点での手系と同じ

になるようにしてください。ま

た、手系フラグを指定して移動を

行う場合も、PATH移動経路の

始点での手系と指定移動先の手系

が同じになるようにしてくださ

い。手系が異なる場合、エラーと

なり動作できません。

Page 145: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

133

11. 命令文(PATH文関連)

形式2:

VEL=<式>

指定可能な<式>の値はロボットにより異なる。(単位:mm/秒)

意味:

移動速度を<式>(単位:mm/秒)で指定します。指定した速度が高すぎる

場合、エラーとなります。

指定されたPATH文に対してのみ有効です。

例:

 PATH L,P10,VEL=150

----------P10で指定された位置へ150mm/秒の速度で移動

・座標平面指定

形式:

 XY

 YZ

 ZX

XYは、XY座標平面を示す。

YZは、YZ座標平面を示す。

ZXは、ZX座標平面を示す。

意味:

円弧補間移動において、円弧を描く座標平面を指定します。座標平面を指定しな

い場合は、3次元の円弧補間移動を行います。

この指定ができる移動の種類は、円弧補間のみです。

指定されたPATH文に対してのみ有効です。

例:

 PATH C,P1,P2,XY

----------XY平面内で円弧補間による移動を行い、Z軸はP2のZ軸座標

の位置へ移動する。

Page 146: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

134

11. 命令文(PATH文関連)

・ポート出力指定

形式1:

 DO m([b,・・・,b])=<式1>@<式2>

 MO

 SO

形式2:

 DO (mb,・・・,mb)=<式1>@<式2>

 MO

 SO

ポート番号mの値は、2~7、10~17、20~27である。

ビット指定bの値は、0~7である。

<式1>は、指定ポートに出力する値である。整数部のみ有効である。

<式2>は、ポート出力を行う位置である。mm単位で小数点以下2桁まで指

定可能。

意味:

PATH移動中、<式2>で指定した位置で、指定した出力ポートに<式1>の

値を出力します。

例:

 PATH SET

 PATH L,P1,DO(20)=1@10

 PATH L,P2,DO(21)=1@12.5

 PATH END

 PATH START

P1

P2

10

12.5

DO(20)=1

DO(21)=1

関連する命令:PATH SET,PATH END,PATH START

n要点

・DO0()とDO1()への出力

はできません。

・MO0()とMO1()への出力

はできません。

・SO0()とSO1()への出力

はできません。

・ビット指定は右から昇順で記述し

てください。

・ハード的に存在しないDO/SO

ポートへの出力は、外部出力され

ません。

Page 147: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

135

11. 命令文(PATH文関連)

PATH END文(PATH文関連)

形式:

PATH END

意味:

PATH移動の経路設定を終了します。

PATH END命令は、必ずPATH SET命令とペアで使用します。

PATH SET命令からPATH END命令までの間で、最後に実行したP

ATH命令(“PATH L”、“PATH C”)の最終ポイントがPATH移動

経路の終点となります。

PATH SET命令を実行せずにPATH END命令を実行するとエラーと

なります。

例:

 “PATH機能とは”をご覧ください。

関連する命令:PATH,PATH SET,PATH START

n要点

PATH END文は、Ver. 8.38

以上のソフトバージョンのときの

み有効です。

Page 148: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

136

11. 命令文(PATH文関連)

PATH SET文(PATH文関連)

形式:

PATH SET [<ポイント指定>]

意味:

PATH移動の経路設定を開始します。

移動経路の始点を<ポイント指定>で指定した位置に設定します。(移動経路の

始点を設定するのみで、ロボットが実際に動作する訳ではありません。)<ポイ

ント指定>を省略した場合は、ロボットの現在位置が始点として設定されます。

ただし、ロボットが移動中の場合は、その移動の目標位置が始点になります。

(例:PATH SET命令の前にあるMOVE命令でのアウト有効位置範囲が

広く、PATH SET命令実行時にロボットがまだ移動している。)

PATH SET命令は、必ずPATH END命令とペアで使用します。

PATH SET命令を実行すると、以前に設定したPATH移動経路の情報は

失われます。

 ポイント指定 : 直接数値指定、ポイント定義指定

例:

 “PATH機能とは”をご覧ください。

ポイント指定の種類

・直接数値指定

形式:

X Y Z R A B

X、Y、Z、R、A、Bは、スペースで区切られた各軸の座標値です。

意味:

PATH移動の経路の始点座標値を直接指定します。このときの数値が整数値の

場合はパルス単位と判断し、実数値の場合はミリ単位(小数点以下2桁まで有

効)と判断します。整数と実数が混在する場合は、すべての座標値をミリ単位と

して扱います。

直接数値指定では、スカラ型ロボット、かつ座標値をミリ単位で指定する場合、

手系フラグを指定することができます。

スカラ型ロボットで、拡張設定の手系フラグを設定する場合は、Bのデータ後尾

に1または2を指定します。1および2以外の数値もしくは数値指定がない場合

は、手系フラグの設定無し(0)として扱われます。

1:PATH移動経路の始点の手系が右手系に設定されていることを示しま

す。

2:PATH移動経路の始点の手系が左手系に設定されていることを示しま

す。

n要点

PATH SET文は、Ver. 8.38

以上のソフトバージョンのときの

み有効です。

n要点

スカラ型ロボット、かつPATH

移動経路の始点データに手系フラ

グが設定されている場合、この手

系を現在のアームタイプよりも優

先します。

c注意

PATH移動中の手系は、PAT

H移動経路の始点での手系と同じ

になるようにしてください。手系

が異なる場合、エラーとなり動作

できません。

Page 149: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

137

11. 命令文(PATH文関連)

例:

 PATH SET 120 250.00 55.2 20.33 0 0

----------PATH移動経路の始点は、ミリ単位で(120.00 250.

00 55.20 20.33 0.00 0.00)となりま

す。

 PATH SET -51200 80521 7045 204410 0 0

----------PATH移動経路の始点は、パルス単位です。

・ポイント定義指定

形式:

<ポイント式>

意味:

PATH移動経路の始点を<ポイント式>で指定します。

例:

 PATH SET P10

----------PATH移動経路の始点はP10となります。

 PATH SET WHERE

----------PATH移動経路の始点はロボットの現在位置となります。

関連する命令:PATH,PATH END,PATH START

n要点

スカラ型ロボット、かつ指定する

ポイントデータに手系フラグが設

定されている場合、この手系を現

在のアームタイプよりも優先しま

す。

c注意

PATH移動中の手系は、PAT

H移動経路の始点での手系と同じ

になるようにしてください。手系

が異なる場合、エラーとなり動作

できません。

Page 150: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

138

11. 命令文(PATH文関連)

PATH START文(PATH文関連)

形式:

PATH START

意味:

PATH移動を開始します。PATH START命令実行前に、あらかじめP

ATH SET命令、PATH命令(“PATH L”、“PATH C”)、PA

TH END命令によりPATH移動経路が設定されている必要があります。ま

た、PATH移動を開始するとき、ロボットはPATH SET命令で指定され

た移動経路の始点にあらかじめ位置決めされている必要があります。

ロボットのPATH移動速度は、PATH START命令を実行したときの自

動移動速度(%)と、SPEED命令またはPATH命令の速度オプション(S

PEEDまたはS)によって指定したプログラム移動速度(%)の積になりま

す。PATH命令の速度オプション(VEL)で速度を指定した場合には、自動

移動速度には依存しません。

PATH移動開始後、ロボットがPATH移動経路の終点に到達するか、イン

ターロック等により停止すると、本命令を終了します。

本命令はタスク1(メインタスク)でのみ実行可能です。

例:

 “PATH機能とは”をご覧ください。

関連する命令:PATH,PATH SET,PATH END

n要点

PATH START文は、

Ver. 8.38以上のソフトバージョン

のときのみ有効です。

Page 151: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

139

11. 命令文

PDEF文

形式:

PDEF(<式1>)=<式2>,<式3>[,<式4>]

<式1>の値は、0~19である。

<式2>、<式3>、<式4 >の値は、1~32767である。

ただし、<式2>*<式3>*<式4> ≦32767とする。

意味:

この命令文はパレット移動命令を実行するためのパレットを定義します。

P[5]

P[3] P[4]

P[2] P[1]

NZ

NX

NY

4

710

1

16

1922

13

2

5

811

3

6

912

14

17

2023

15

18

2124

 <式1> :パレット定義番号 (0~19)

 <式2> :P[1]-P[2]間のポイント数

 <式3> :P[1]-P[3]間のポイント数

 <式4> :P[1]-P[5]間のポイント数

例:PDEF(1)=3,4,2

----------パレット定義1を3×4×2に定義します。

n要点

パレット定義で使用するポイント

データは、以下のようなデータ領

域を使用します。

パレット定義0 :P[1]-P[5]

--------- P3996-P4000

パレット定義1 :P[1]-P[5]

--------- P3991-P3995

パレット定義19:P[1]-P[5]

--------- P3901-P3905

Page 152: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

140

11. 命令文

PMOVE文(パレット移動命令)

形式:

PMOVE(パレット定義番号,パレット位置番号)[,オプション[,オプション]…]

意味:

この命令は、メインロボット軸のパレット移動命令を実行します。

したがって、メインロボット軸として設定されている軸はすべて対象となりま

す。サブロボット軸や付加軸設定されている軸は、この移動命令で移動しませ

ん。

 移動の種類 :PTP

 パレット定義番号 :数値式

 パレット位置番号 :数値式

 オプション :速度指定、アーチモーション指定、STOPON条件指定

移動の種類

PTP(Point to Point)移動

すべての移動対象軸の動作が完了後(公差範囲以内に軸到着後)、PTP移動を

開始し、すべての移動対象軸がアウト有効位置範囲以内に入ると命令を終了しま

す。移動対象軸は、同時到着します。このときの経路は、保証されません。

PMOVE 命令に続く次の命令の注意点

PMOVE命令の次の命令が信号出力命令などの実行可能な命令の場合、移動対

象軸がアウト有効位置範囲以内に入ると次の命令を開始します。つまり、目標位

置の公差範囲以内に軸が到着する前に次の命令を開始することになります。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM”文を使用してください。

n要点

・パレット文の実行は、指定するパ

レット定義番号が設定されている

ことが必要です。

・XYZ軸は、その都度計算された

値に移動しますが、R軸は、各パ

レットポイントデータのP[1]

で指定された位置への移動となり

ます。

・各パレット定義におけるパレット

位置番号は、下記のような関係と

なります。

P [1]

NZ

P [5]NX*(NY-1)+1

NX+1

21

NX

NX

P [2]

NX*2

NX*NY

P [4]

NX*NY*(NZ-1)+NXNX*NY*(NZ-1)+NXNX*NY*(NZ-1)+NX

NX*NY*NZ

NY

NX*NY*(NZ-1)+1NX*NY*(NZ-1)+1NX*NY*(NZ-1)+1

P [3]P [3]P [3]

...

Page 153: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

141

11. 命令文

P1

DO(20)をオン

PMOVE(0,1)WAIT ARMDO(20)=1

DO(20)をオン

PMOVE(0,1)DO(20)=1

公差

目標位置

アウト有効位置

HOLD実行(プログラム一時停止)

PMOVE(0,1)WAIT ARMHOLD

PMOVE(0,1)HOLD

公差アウト有効位置

目標位置

HOLD実行(プログラム一時停止)

例:

 PMOVE(1,16)

----------現在位置からメインロボット軸をパレット定義番号1のパレット

位置番号16で指定された位置へ移動

パレット定義番号

形式:

<式1> 

<式1>の値は、0~19である。

意味:

パレット定義番号を指定します。

パレット位置番号

形式:

<式2> 

<式2>の値は、1~32767である。

意味:

パレット位置番号を指定します。

例:

 PMOVE(1,16)

----------現在位置からメインロボット軸をパレット定義番号1のパレット

位置番号16で指定された位置へ移動

Page 154: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

142

11. 命令文

オプションの種類

速度指定

形式1:

 SPEED =<式>

 S    

<式>の値は、1~100である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、自動移動速度とプログ

ラム移動速度の積によって決まります。

指定されたPMOVE文に対してのみ有効です。

例:

 PMOVE(1,3),S=10

----------現在位置からパレット定義番号1のパレット位置番号3で指定さ

れた位置へプログラム速度10%で移動

アーチモーション指定

形式:

x=<式>[,x=<式>…]

xは、Z,R,A,Bの軸指定です。

<式>の値は、整数値の場合はパルス単位と判断し、実数値の場合はミリ/度単

位と判断します。

意味:

第1に、xで指定された軸を<式>で指定された位置に移動します。第2に、指

定軸がアーチ位置範囲以内に入ると、指定軸以外の軸が目標位置に移動します。

第3に、指定軸以外の軸がアーチ位置範囲以内に入り、かつ、指定軸が<式>で

指定された位置の公差範囲以内に入ると、指定された軸が目標位置に移動し、指

定軸がアウト有効位置範囲以内に入ると命令を終了します。

例:

PMOVE(1,A),Z=0

----------現在位置から第1に、Z軸が0パルスに移動し、その他の軸がパ

レット定義番号1のパレット位置番号Aで指定された位置へ移動

し、最後にZ軸がパレット位置番号Aで指定された位置へ移動

現在位置

Z=0

パレット位置番号Aの位置

n要点

最高速を規定するもので、指定速

度を保証するものではありませ

ん。

Page 155: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

143

11. 命令文

STOPON条件指定

形式:

STOPON <条件式>

意味:

移動中に条件式が成立した(真になった)場合、移動を停止します。このときの

停止動作は、減速停止なので、条件成立後(条件式が真になった後)に減速移動

距離が発生します。

移動開始時に条件式が成立している(真になっている)場合、移動せずに命令を

終了します。

プログラム実行のみ有効です。

例:

 PMOVE(A,16),STOPON DI(20)=1

----------現在位置からパレット定義番号Aのパレット位置番号16で指定

された位置へ移動。途中でDI(20)=1の条件が成立したら、

移動を減速停止する。

n要点

STOPON条件指定で使用する条件式

が数値を表す式である場合、下記

ソフトバージョンのコントローラ

では、その他のパラメータの

“True ジョウケン”で「真」、「偽」

になる条件を変更することができ

ます(-1・・・「真」、0・・・「偽」 

または 0以外・・・「真」、0・・・

「偽」)。詳しくは、コントローラ

取扱説明書を参照してください。

 RCX14x Ver. 8.63以上

 RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

Page 156: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

144

11. 命令文

PMOVE2文(パレット移動命令)

形式:

PMOVE2(パレット定義番号,パレット位置番号)[,オプション[,オプション]…]

意味:

この命令は、サブロボット軸のパレット移動命令を実行します。

したがって、サブロボット軸として設定されている軸はすべて対象となります。

メインロボット軸や付加軸設定されている軸は、この移動命令で移動しません。

移動の種類   :PTP

パレット定義番号:数値式

パレット位置番号:数値式

オプション   :速度指定、アーチモーション指定、STOPON条件指定

移動の種類

PTP(Point to Point)移動

すべての移動対象軸の動作が完了後(公差範囲以内に軸到着後)、PTP移動を

開始し、すべての移動対象軸がアウト有効位置範囲以内に入ると命令を終了しま

す。移動対象軸は、同時到着します。このときの経路は、保証されません。

PMOVE2 命令に続く次の命令の注意点

PMOVE2 命令の次の命令が信号出力命令などの実行可能な命令の場合、移動対

象軸がアウト有効位置範囲以内に入ると次の命令を開始します。つまり、目標位

置の公差範囲以内に軸が到着する前に次の命令を開始することになります。

例:

信号出力(DOなど)

DELAY

HALT

HOLD

WAIT

アウト有効位置範囲以内に入ると、信号が出力されます。

アウト有効位置範囲以内に入ると、DELAY命令が実行され、時間の待ちが始まります。

アウト有効位置範囲以内に入ると、プログラムが停止し、かつリセットされます。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、プログラムを一時停止します。そのため、移動が停止します。

アウト有効位置範囲以内に入ると、WAIT命令が実行されます。

目標位置の公差範囲以内に軸が到着してから次の命令を実行する場合は、

“WAIT ARM2”文を使用してください。

n要点

・パレット文の実行は、指定するパ

レット定義番号が設定されている

ことが必要です。

・XYZ軸は、その都度計算された

値に移動しますが、R軸は、各パ

レットポイントデータのP[1]

で指定された位置への移動となり

ます。

・各パレット定義におけるパレット

位置番号は、下記のような関係と

なります。

P [1]

NZ

P [5]NX*(NY-1)+1

NX+1

21

NX

NX

P [2]

NX*2

NX*NY

P [4]

NX*NY*(NZ-1)+NXNX*NY*(NZ-1)+NXNX*NY*(NZ-1)+NX

NX*NY*NZ

NY

NX*NY*(NZ-1)+1NX*NY*(NZ-1)+1NX*NY*(NZ-1)+1

P [3]P [3]P [3]

...

Page 157: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

145

11. 命令文

P1

DO(20)をオン

PMOVE2(0,1)WAIT ARM2DO(20)=1

DO(20)をオン

PMOVE2(0,1)DO(20)=1

公差

目標位置

アウト有効位置

HOLD実行(プログラム一時停止)

PMOVE2(0,1)WAIT ARM2HOLD

PMOVE2(0,1)HOLD

公差アウト有効位置

目標位置

HOLD実行(プログラム一時停止)

例:

 PMOVE2(1,16)

----------現在位置からサブロボット軸をパレット定義番号1のパレット位

置番号16で指定された位置へ移動

 

パレット定義番号

形式:

<式1> 

<式1>の値は、0~19である。

意味:

パレット定義番号を指定します。

パレット位置番号

形式:

<式2> 

<式2>の値は、1~32767である。

意味:

パレット位置番号を指定します。

例:

 PMOVE2(1,16)

----------現在位置からパレット定義番号1のパレット位置番号16で指定

された位置へ移動

Page 158: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

146

11. 命令文

オプションの種類

速度指定

形式1:

 SPEED =<式>

 S    

<式>の値は、1~100である。(単位:%)

意味:

プログラム移動速度を<式>で指定します。移動速度は、自動移動速度とプログ

ラム移動速度の積によって決まります。

指定されたPMOVE2文に対してのみ有効です。

例:

 PMOVE2(1,3),S=10

----------現在位置からパレット定義番号1のパレット位置番号3で指定さ

れた位置へプログラム速度10%で移動

アーチモーション指定

形式:

x=<式>[,x=<式>…]

xは、Z,Rの軸指定です。

<式>の値は、整数値の場合はパルス単位と判断し、実数値の場合はミリ/度単

位と判断します。

意味:

第1に、xで指定された軸を<式>で指定された位置に移動します。第2に、指

定軸がアーチ位置範囲以内に入ると、指定軸以外の軸が目標位置に移動します。

第3に、指定軸以外の軸がアーチ位置範囲以内に入り、かつ、指定軸が<式>で

公差範囲以内に入ると、指定された軸が目標位置に移動し、指定軸がアウト有効

位置範囲以内に入ると命令を終了します。

例:

 PMOVE2(1,A),Z=0

----------現在位置から第1に、Z軸が0パルスに移動し、その他の軸がパ

レット定義番号1のパレット位置番号Aで指定された位置へ移動

し、最後にZ軸がパレット位置番号Aで指定された位置へ移動

現在位置

Z=0

パレット位置番号Aの位置

n要点

最高速を規定するもので、指定速

度を保証するものではありませ

ん。

Page 159: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

147

11. 命令文

STOPON条件指定

形式:

STOPON <条件式>

意味:

移動中に条件式が成立した(真になった)場合、移動を停止します。このときの

停止動作は、減速停止なので、条件成立後(条件式が真になった後)に減速移動

距離が発生します。

移動開始時に条件式が成立している(真になっている)場合、移動せずに命令を

終了します。

プログラム実行のみ有効です。

例:

 PMOVE2(A,16),STOPON DI(20)=1

----------現在位置からパレット定義番号Aのパレット位置番号16で指定

された位置へ移動。途中でDI(20)=1の条件が成立したら、

移動を減速停止する。

n要点

STOPON条件指定で使用する条件式

が数値を表す式である場合、下記

ソフトバージョンのコントローラ

では、その他のパラメータの

“True ジョウケン”で「真」、「偽」

になる条件を変更することができ

ます(-1・・・「真」、0・・・「偽」 

または 0以外・・・「真」、0・・・

「偽」)。詳しくは、コントローラ

取扱説明書を参照してください。

 RCX14x Ver. 8.63以上

 RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

Page 160: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

148

11. 命令文

PRINT文

形式:

PRINT [<式>][ ,<式>…][ ,]

             ;       ; 

意味:

この命令文は、MPBおよびRPBの画面に指定した変数に値を表示します。出

力定義を下記に示します。

1.<式>に数値や文字列を指定した場合、そのまま表示されます。変数や配

列が指定された場合、指定された変数や配列に代入されている値が表示さ

れます。<式>が省略され場合、改行のみを行います。

2.データ項目の表示が画面の行幅を超える場合、改行し次行に表示を行いま

す。

3.表示区切りがコンマ(,)の場合、表示項目の間はスペース(空白)が表

示されます。

4.表示区切りがセミコロン(;)の場合、表示項目は連続して表示されま

す。

5.表示区切りで終わっている場合、改行されず表示行に次のPRINT文の

実行がされます。表示区切りで終わっていない場合、改行されます。

例:

 PRINT  A

 PRINT  “A1 =”;A1

 PRINT  “B(0),B(1) = “;B(0);”,”;B(1)

 PRINT  P100

関連する命令:INPUT

n要点

MPBおよびRPBの画面への表

示を行うPRINT文を実行する

場合、画面へのデータ送信が行わ

れるために、連続してPRINT

文を実行するとプログラムの実行

時間が延びる場合があります。

Page 161: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

149

11. 命令文

Pn(ポイント定義文)

形式:

Pn  = x y z r a b

nの値は、0~9999である。

x,y,z,r,a,bの値は、ポイントデータ形式により範囲が決まります。

意味:

この命令文は、ロボットの動作範囲内で移動する位置を定義します。ポイント定

義を下記に示します。

1.nは、ポイント番号を示します。

2.x~bの入力データは、スペース(空白)で区切ります。

3.x~bの入力データがすべて整数形式(小数点無し)の場合、パルス単位

と認識します。このとき、x~bは、第1軸~第6軸に対応します。

4.x~bの入力データに実数形式(小数点有り)1つの要素でも有る場合、

ミリ単位と認識します。このとき、x~zは直交座標系のx,y,z座標

に対応します。r~bは、第4軸~第6軸に対応します。

5.パルス単位のデータの場合、-6144000 ~6144000 の範囲

でデータを入力してください。ミリ単位のデータの場合、-99999 .

99~99999 .99 の範囲でデータを入力してください。

スカラ型ロボット、かつ、ポイント定義データをミリ単位で指定する場合、手系

フラグを指定することができます。

スカラ型ロボットで、拡張設定の手系フラグを設定する場合は、bのデータ後尾

に1および2を設定します。1および2以外の数値もしくは数値の指定がない場

合は、手系フラグの設定無し (0) として扱われます。

1:右手系でポイントが設定されていることを示します。

2:左手系でポイントが設定されていることを示します。

例:

 P1=      0      0     0    0    0    0

 P2= 100.00 200.00 50.00 0.00 0.00 0.00

 P3=  10.00   0.00  0.00 0.00 0.00 0.00

 P10= P2

 FOR A=10 TO 15

   P[A+1]=P[A]+P3

 NEXT A

 FOR A=10 TO 16

   MOVE P,P1,P[A]

 NEXT A

 HALT

関連する命令:ポイント代入文

n要点

・入力はすべて定数のみとなりま

す。

・ポイント定義文を実行中にコント

ローラの電源が遮断された場合、

“ポイントチェックサムエラー”などのメモリ

関連のエラーが発生する場合があ

ります。

c注意

ソフトバージョンがVer. 8.28以前

のコントローラでは、Pn(ポイ

ント定義文)で指定できるポイン

ト番号は、0~4000です。

n要点

・スカラ型ロボット、かつ、ポイン

トデータに手系フラグを設定する

場合、B軸データの後尾に1(右手

系)あるいは2(左手系)を設定し

ます。

・手系フラグは、Ver. 8.08以上のソフ

トバージョンのときのみ有効です。

Page 162: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

150

11. 命令文

REM(コメント文)

形式:

 REM  <文字列>

  ’ 

意味:

REMまたは“ ’”以降の文字は、コメントとみなされます。コメント文は実行

されません。

例:REM *** MAIN PROGRAM ***

  ’*** SUBROUTINE ***

  HALT   ’HALT COMMAND

Page 163: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

151

11. 命令文

RESET文

形式1:

RESET  DOm([b,・・・,b]) 

       DO(mb,・・・,mb)

       MOm([b,・・・,b])

       MO(mb,・・・,mb)

       TO0([b,・・・,b])

       TO(0b,・・・,0b)

       LO0([b,・・・,b])

       LO(0b,・・・,0b)

       SOm([b,・・・,b])

       SO(mb,・・・,mb)

ポート番号mの値は、2~7,10~17,20~27である。

ビット指定bの値は、0~7である。

形式2:

RESET _SYSFLG

形式3:

RESET TCOUNTER

意味:

この命令文は、形式1では、指定された値をポートのビットをオフします。

また、形式2では、システムフラグ変数をクリアします。

また、形式3では、10msカウンタ変数をクリアします。

例:

 RESET DO2() ----- DO(27~20)がオフ

します

 RESET DO2(6,5,1) ----- DO(26,25,21)

がオフします。

 RESET DO(37,35,27,20)----- DO(37,35,27,

20)がオフします。

 RESET _SYSFLG ----- システムフラグ変数をクリ

アします。

 RESET TCOUNTER ----- 10msカウンタ変数をク

リアします。

関連する命令:SET,DO,MO,SO,TO,LO

n要点

・DO,MO,SOのポート0およ

び1への出力はできません。

・ビット指定は、右から昇順で記述

してください。

・ハード的に存在しないDO/SO

ポートへの出力は、外部出力され

ません。

・システムフラグ変数は、オーバー

ロードモニタで監視する場合に使

用します。

・10msカウンタ変数は、10ms

単位で時間測定を行う場合に使用

します。

Page 164: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

152

11. 命令文

RESTART文

形式:

RESTART Tn

タスク番号nの値は、2~8である。

意味:

この命令文は一時停止中の他のタスクを再起動します。

例:START *SUBTASK,T2

  FLAG=1

 *L0:

  IF FLAG=1 AND DI2(0)=1 THEN

   SUSPEND T2

   FLAG=2

   WAIT DI2(0)=0

  ENDIF

  IF FLAG=2 AND DI2(0)=1 THEN

   RESTART T2

   FLAG=1

   WAIT DI2(1)=0

  ENDIF

  MOVE P,P0

  MOVE P,P1

  GOTO *L0

  HALT

 ’SUBTASK ROUTINE

 *SUBTASK:

 DO2(0)=1

 DELAY 1000

 DO2(0)=0

 DELAY 1000

 GOTO *SUBTASK

 EXIT TASK

関連する命令:CUT,EXIT TASK,START,SUSPEND

Page 165: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

153

11. 命令文

RESUME文

形式:

RESUME [  NEXT  ]

          <ラベル>

意味:

この命令は、このエラーの回復処理後、プログラムの実行を再開します。

プログラムの再開する場所に応じて次の3つの方法があります。

1.RESUME エラーの原因となった命令からプログラ

ムを再開します。

2.RESUME NEXT エラーの原因となった命令の次の命令か

らプログラムを再開します。

3.RESUME <ラベル> <ラベル>で示される命令からプログラ

ムを再開します。

例:ON ERROR GOTO文参照。

関連する命令:ON ERROR GOTO

n要点

・エラー処理ルーチン以外で、RE

SUME文を実行することはでき

ません。

・重度エラー発生の場合は、エラー

回復処理はできません。

Page 166: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

154

11. 命令文

RIGHTY文,LEFTY文

形式:

RIGHTY

LEFTY

意味:

この命令文は直交座標系で指定されたポイントへメインロボットを右手系で移動

するか、左手系で移動するかを選択します。選択するだけで、ロボットは移動し

ません。軸が動作中の場合は、動作完了(公差内に位置決めされる)を待ちま

す。

例:RIGHTY

  MOVE P,P1

  LEFTY

  MOVE P,P1

  RIGHTY

  HALT

P1

(1) (2)

左手系 右手系

スカラ型ロボット

n要点

スカラロボットにだけ有効です。

直交系ロボットでは使えません。

Page 167: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

155

11. 命令文

RIGHTY2文,LEFTY2文

形式:

RIGHTY2

LEFTY2

意味:

この命令文は直交座標系で指定されたポイントへサブロボットを右手系で移動す

るか、左手系で移動するかを選択します。選択するだけで、ロボットは移動しま

せん。軸が動作中の場合は、動作完了(公差内に位置決めされる)を待ちます。

例:RIGHTY2

  MOVE2 P,P1

  LEFTY2

  MOVE2 P,P1

  RIGHTY2

  HALT

P1

(1) (2)

左手系 右手系

スカラ型ロボット

n要点

・この命令文は、システムジェネ

レーションでサブグループが設定

せれている場合のみ使用できま

す。

・スカラロボットにだけ有効です。

直交系ロボットでは使えません。

Page 168: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

156

11. 命令文

Sn(シフト座標定義文)

形式:

Sn  = x y z r

nの値は、0~9である。

x,y,z,rの値は、-99999.99~99999.99である。

意味:

この命令文は、ロボットの動作する座標をシフトさせるためのシフト座標を定義

します。シフト座標を下記に示します。

1.nは、シフト番号を示します。

2.x~rの入力データは、スペース(空白)で区切ります。

3.x~rの入力データは、ミリ単位と認識します。

4.x~zは直交座標系のx,y,z座標シフト量に、rはxy座標の回転シ

フト量に対応します。

例:

 S0=  0.00   0.00  0.00  0.00

 S1=100.00 200.00 50.00 90.00

 P3=100.00   0.00  0.00  0.00 0.00 0.00

 SHIFT S0

 MOVE P,P3

 SHIFT S1

 MOVE P,P3

 HALT

関連する命令:シフト代入文,SHIFT,SHIFT2

n要点

・入力はすべて定数のみとなりま

す。

・シフト座標定義文を実行中にコン

トローラの電源が遮断された場

合、“シフトチェックサムエラー”などのメモ

リ関連のエラーが発生する場合が

あります。

Page 169: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

157

11. 命令文

SELECT CASE文,END SELECT文

形式:

SELECT [CASE] <式>

  CASE <式のリスト1>

    [命令ブロック1]

 [CASE <式のリスト2>

    [命令ブロック2]]

   :

 [CASE ELSE

    [命令ブロックn]]

END SELECT

意味:

この命令文は、<式>の値によって複数の命令ブロックを実行します。設定方法

を下記に示します。

1.CASE文の後ろに記述する<式リスト>は、数値式または文字列式をカ

ンマ(,)で区切り複数個を並べたものです。

2.<式>の値が<式リスト>の何れかの式の値と一致した場合、指定した命

令ブロックが実行されます。命令ブロック実行後、END SELECT

文の次の命令にジャンプします。

3.<式>の値が、すべてのCASE文の<式リスト>の値と一致しなかった

場合、CASE ELSE文の後に記述された<命令ブロック>が実行さ

れます。命令ブロック実行後、END SELECT文の次の命令にジャ

ンプします。

4.<式>の値が、すべてのCASE文の<式リスト>の値と一致せず、CA

SE ELSE文の記述が無い場合、END SELECT文の次の命令

にジャンプします。

例:

 WHILE -1 

 SELECT CASE DI3()

   CASE 1,2,3

     CALL *EXEC(1,10)

   CASE 4,5,6,7,8,9,10

     CALL *EXEC(11,20)

   CASE ELSE

     CALL *EXEC(21,30)

 END SELECT

 WEND

 HALT

Page 170: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

158

11. 命令文

n要点

各ファイルの詳細については、後

述の“データファイル詳細”を参

照ください。

SEND文

形式:

SEND <読出しファイル> TO <書き込みファイル>

意味:

この命令文は、<読出しファイル>のデータを<書き込みファイル>に転送します。

区分 ファイル名 記述形式 読出し

全体 個別ファイル

書込み

ユーザー

メモリ

変数,定数

ステータス

デバイス

その他

全体ファイル

プログラム

ポイント

ポイントコメント

パラメータ

シフト定義

ハンド定義

パレット定義

変数

配列変数

定数

プログラムディレクトリ

パラメータディレクトリ

マシンリファレンス

エラー履歴

メモリ残量

DIポート

DOポート

MOポート

TOポート

LOポート

SIポート

SOポート

SIWポート

SOWポート

RS-232C

Ethernet

ファイル終了コード

ALL

PGM

PNT

PCM

PRM

SFT

HND

PLT

VAR

ARY

―――

DIR

DPM

MRF

LOG

MEM

DI()

DO()

MO()

TO()

LO()

SI()

SO()

SIW()

SOW()

CMU

ETH

EOF

―――

<bbbbbbbb>

Pn

PCn

/cccccc/

Sn

Hn

PLn

ab...by

ab...by(x)

“cc...c”

<<bbbbbbbb>>

―――

―――

―――

―――

DIn()

DOn()

MOn()

TOn()

LOn()

SIn()

SOn()

SIWn()

SOWn()

―――

―――

―――

×

×

×

×

×

×

×

×

×

×

n:数字

a:英字

b:英数字またはアンダースコア(_)

c:英数字または特殊記号

x:式

y:型式

○:可能

×:不可能

c注意

・SEND文を途中停止し、再起動し

た場合は、下記の項目に注意して

ください。

1. SEND CMU TO XXX、SEND ETH TO

XXXの場合

受信バッファの途中まで読み出しし

ていた状態で途中停止した場合、取

得したデータは破棄されます。

2. SEND XXX TO CMU、SEND XXX

TO ETHの場合

送信バッファに途中まで書き込んで

いた状態で途中停止した場合、再度

初めからデータを書き込みます。

n要点

ポイントコメントの個別ファイル

(PCn)は、以下のソフトバージョ

ンのときのみ有効です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

c注意

DOポート、MOポート、TOポート、

LOポート、SOポート、SOWポート

において、書込みファイルとして各

ポート全体(DO()、MO()など)を指

定することはできません。また、個

別ファイル(DOn()、MOn()など)

の一部は、書込みファイルとして

指定できないものがあります。詳

しくは、後述の“データファイル

詳細”を参照してください。

Page 171: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

159

11. 命令文

例:

 SEND PGM TO CMU 

----------ユーザープログラムをすべてRS-232Cポートから出力します。

 SEND <<PRG1>> TO CMU 

----------プログラム名PRG1をRS-232Cポートから出力します。

 SEND CMU TO PNT

---------- RS-232Cポートからポイントデータファイルを入力します。

 SEND CMU TO P100

---------- RS-232Cポートからポイント番号100のデータを入力します。

 SEND “T1” TO CMU

----------“T1”文字列をRS-232Cポートから出力します。

 SEND CMU TO A$

---------- RS-232Cポートから変数A$に文字列データを入力します。

n要点

・読込み専用ファイルへの書込みは

できません。

誤った例:

 SEND CMU TO DIR

 SEND PNT TO SI()

・読出し/書込みファイルを正しく

記述しても、データ形式があって

いない場合、実行できません。

誤った例:

 SEND PGM TO PNT

 SEND SI() TO SFT

Page 172: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

160

11. 命令文

SERVO文

形式:

SERVO  ON [(<式>)]

      OFF

      FREE

      PWR

<式>の値は、1~6である。(軸番号)

意味:

メイングループの指定された番号の軸または全軸(メイングループ、サブグルー

プ全ての軸)のサーボのオン/オフをコントロールします。

<式>を指定しない場合、全軸のコントロールとなり、このとき同時にモータ電

源もオン/オフされます。

ON ---------- サーボをオンします。軸指定のない場合はモータ電源もオンしま

す。

OFF ------- サーボをオフし、ダイナミックブレーキをかけます。ブレーキの

付いている軸はブレーキがかかり、ロックします。軸指定のない

場合はモータ電源もオフします。

FREE---- サーボをオフし、ダイナミックブレーキを解除します。ブレーキ

の付いている軸はブレーキも解除されます。軸指定のない場合は

モータ電源もオフします。

PWR ------- モータ電源のみをオンします。

例: SERVO ON------------------- モータ電源をオンしたあと、全軸のサー

ボをオンします。

SERVO OFF --------------- モータ電源をオフし、全軸のサーボをオ

フします。ブレーキ付きの軸はブレーキ

がかかってロックされます。

SERVO FREE(3)---- 第3軸(Z軸)のサーボをオフし、ブ

レーキを解除します。

n要点

・この命令文は、全軸(メイング

ループ、サブグループ全ての軸)

の軸動作完了後(公差内に位置決

めされた後)実行されます。

・モータ電源がオフしているとき

に、個別の軸のサーボをオンする

ことはできません。

c注意

SERVO OFF文を使用し

て、モータ電源をオフした状態で

は、ロボットの動作範囲内での作

業は行なわないでください。ロ

ボットの動作範囲内で作業する場

合は、必ず非常停止回路がオンし

た状態で行ってください。

Page 173: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

161

11. 命令文

SERVO2文

形式:

SERVO2  ON   [(<式>)]

       OFF

       FREE

       PWR

<式>の値は、1~4である。(軸番号)

意味:

サブグループの指定された番号の軸または全軸(メイングループ、サブグループ

全て)のサーボのオン/オフをコントロールします。

<式>を指定しない場合、全軸のコントロールとなり、このとき同時にモータ電

源もオン/オフされます。

ON ---------- サーボをオンします。軸指定のない場合はモータ電源もオンしま

す。

OFF ------- サーボをオフし、ダイナミックブレーキをかけます。ブレーキの

付いている軸はブレーキがかかり、ロックします。軸指定のない

場合はモータ電源もオフします。

FREE---- サーボをオフし、ダイナミックブレーキを解除します。ブレーキ

の付いている軸はブレーキも解除されます。軸指定のない場合は

モータ電源もオフします。

PWR ------- モータ電源のみをオンします。

例:

 SERVO2 ON --------------------- モータ電源をオンしたあと、全軸のサー

ボをオンします。

 SERVO2 OFF ------------------ モータ電源をオフし、全軸のサーボをオ

フします。ブレーキ付きの軸はブレーキ

がかかってロックされます。

 SERVO2 FREE(2)------- 第2軸(サブグループのY軸)のサーボ

をオフし、ブレーキを解除します。

n要点

・この命令文は、システムジェネ

レーションでサブグループが設定

されている場合のみ使用できま

す。

・この命令文は、全軸(メイング

ループ、サブグループの全ての

軸)の軸動作完了後(公差内に位

置決めされた後)実行されます。

・モータ電源がオフしているとき

に、個別の軸のサーボをオンする

ことはできません。

c注意

SERVO OFF文を使用し

て、モータ電源をオフした状態で

は、ロボットの動作範囲内での作

業は行なわないでください。ロ

ボットの動作範囲内で作業する場

合は、必ず非常停止回路がオンし

た状態で行ってください。

Page 174: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

162

11. 命令文

n要点

・DO0()とDO1()への出力

ができません。

・MO0()とMO1()への出力

ができません。

・SO0()とSO1()への出力

ができません。

・ビット指定は、右から昇順で記述

してください。

・ハード的に存在しないDO/SO

ポートへの出力は、外部出力され

ません。

SET文

形式:

SET  DOm([b,・・・,b])[,<式>]

     DO (mb,・・・,mb)

     MOm([b,・・・,b])

     MO (mb,・・・,mb) 

     TO0([b,・・・,b]) 

     TO (0b,・・・,0b)  

     LO0([b,・・・,b])

     LO (0b,・・・,0b)

     SOm([b,・・・,b])

     SO (mb,・・・,mb)

ポート番号mの値は、2~7,10~17,20~27である。

ビット指定bの値は、0~7である。

<式>の値は、1~3600000である。(単位:ms)ただし、最小実行時

間は10msです。

意味:

この命令文は、指定されたポートのビットをオンします。

パルス出力時間(単位:ms)を<式>で指定します。指定された時間が経過

後、出力をオフし、実行終了します。

例:

 SET DO2()

----------DO(27~20)がオンします

 SET DO2(6,5,1),200

----------DO(26,25,21)が200msオンします。

 SET DO(37,35,27,20)

----------DO(37,35,27,20)がオンします。

関連する命令:RESET,DO,MO,SO,TO,LO

Page 175: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

163

11. 命令文

n要点

・SHARED文は同じプログラム

内にあるプログラムレベルコード

とサブプロシージャ間でだけ変数

を共有します。

・プログラムレベルコードとは、サブ

プロシージャ外に書かれたプログ

ラムのことです。

SHARED文

形式:

SHARED <変数>[()][,<変数>[()]… ]

意味:

この命令文はプログラムレベルコードで宣言した変数を仮引数として引き渡さな

いで、サブプロシージャで参照可能にします。

<変数>にサブプロシージャが使用するプログラムレベルの変数を指定します。

単純変数名または後ろに括弧()が付いた配列変数名を指定します。配列を指定

した場合は、その配列全体が対象です。

例:DIM Y!(10)

  X!=2 .5

  Y!(10)=1 .2

  CALL *DISTANCE

  CALL *AREA

  HALT

  SUB *DISTANCE

SHARED X!,Y!( )

   PRINT X!^2+Y!(10)^2 ------ 変数は共有されます。

  END SUB

  SUB *AREA

DIM Y!(10)

   PRINT X!*Y!(10)-------------------- 変数は共有されません。

  END SUB

関連する命令:SUB,END SUB

Page 176: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

164

11. 命令文

SHIFT文(メインロボットシフト座標設定文)

形式:

SHIFT <シフト変数>

意味:

この命令は、<シフト変数>で指定されるシフトデータで、メインロボットのシ

フト座標を設定します。

例:SHIFT S1

  MOVE P,P10

  SHIFT S[A]

  MOVE P,P20

  HALT

関連する命令:シフト定義文、シフト代入文

n要点

この命令文は、メインロボット軸

の動作完了後(公差内に位置決め

された後)実行されます。

Page 177: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

165

11. 命令文

n要点

・この命令文は、システムジェネ

レーションでサブロボットが設定

されている場合のみ使用できま

す。

・この命令文は、サブロボット軸の

動作完了後(公差内に位置決めさ

れた後)実行されます。

SHIFT2文(サブロボットシフト座標設定文)

形式:

SHIFT2 <シフト変数>

意味:

この命令は、<シフト変数>で指定されるシフトデータで、サブロボットのシフ

ト座標を設定します。

例:

 SHIFT2 S1

 MOVE2 P,P10

 SHIFT2 S[A]

 MOVE2 P,P20

 HALT

関連する命令:シフト定義文、シフト代入文

Page 178: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

166

11. 命令文

SO文(シリアル出力)

形式:

[LET]  SOm([b,・・・,b]) = <式>

       SO (mb,・・・,mb) 

ポート番号mの値は、2~7,10~17,20~27である。

ビット指定bの値は、0~7である。

<式>の値は、整数化し、左辺で指定されたビット指定に対応した下位のビット

が有効である。

意味:

この命令文は、指定された値をSOポートに出力します。

例:

 SO2()=&B10111000 --------SO(27,25,24,23)

がオンし、SO(26,22,

21,20)がオフします。

 SO2(6,5,1)=&B010 --------SO(25)がオンし、SO

(26,21)がオフします。

 SO3()=15 --------SO(33,32,31,30)

がオンし、SO(37,36,

35,34)がオフします。

 SO(37,35,27,20)=A --------SO(37,35,27,20)

に変数Aを整数化したときの下

位4ビットの内容を出力します。

関連する命令:RESET, SET

n要点

・SO0()とSO1()への出力

ができません。

・ビット指定は、右から昇順で記述

してください。

・ハード的に存在しないSOポート

への出力は、外部出力されませ

ん。

Page 179: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

167

11. 命令文

SPEED文(メイングループ速度設定文)

形式:

SPEED <式>

<式>の値は、1~100である。(単位:%)

意味:

この命令文はメイングループのプログラム移動速度を<式>で指定した値に変更

します。

例:

 ASPEED 100

 SPEED 70

 MOVE P,P0 --------------------------現在位置からP0へ70%

(=100*70)の速度で移動

 SPEED 50

 MOVE P, P1-------------------------現在位置からP1へ50%

(=100*50)の速度で移動

 MOVE P,P2, S=10 ---------現在位置からP2へ10%

(=100*10)の速度で移動

 HALT

関連する命令:ASPEED、ASPEED2、SPEED2

n要点

・ロボット構成軸と付加軸のすべて

のスピードを変更します。

・動作速度は、MPB/RPB操作や

ASPEED命令によって設定された自

動移動速度と、SPEED命令や移動命

令のSPEEDオプションによって指定

されたプログラム移動速度の積に

よって決まります。

例:自動移動速度 ・・・・・・・・・ 80%

プログラム移動速度 ・・・ 50%

移動速度 = 80%×50%

     = 40%

・DRIVE命令やDRIVEI命令で、

DSPEEDオプションで速度指定した

場合は、その動作速度はDSPEEDオ

プションで指定した速度だけで決

まり、自動移動速度やSPEED命令は

使用されません。

Page 180: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

168

11. 命令文

SPEED2文(サブグループ速度設定文)

形式:

SPEED2 <式>

<式>の値は、1~100である。(単位:%)

意味:

この命令文は、サブグループのプログラム移動速度を<式>で指定した値に変更

します。

例:

 ASPEED2 50

 SPEED2  70

 MOVE2 P,P0 -----------------------現在位置からP0へ35%

(=50*70)の速度で移動

 SPEED2 50

 MOVE2 P,P1 -----------------------現在位置からP1へ25%

(=50*50)の速度で移動

 MOVE2 P,P2,S=10 -------現在位置からP2へ5%

(=50*10)の速度で移動

 HALT

関連する命令:ASPEED、ASPEED2、SPEED

n要点

・ロボット構成軸と付加軸のすべて

のスピードを変更します。

・動作速度は、MPB/RPB操作や

ASPEED2命令によって設定された

自動移動速度と、SPEED2命令や移

動命令のSPEEDオプションによって

指定されたプログラム移動速度の

積によって決まります。

例:自動移動速度 ・・・・・・・・・ 80%

プログラム移動速度 ・・・ 50%

移動速度 = 80%×50%

     = 40%

・DRIVE2命令やDRIVEI2命令で、

DSPEEDオプションで速度指定した

場合は、その動作速度はDSPEEDオ

プションで指定した速度だけで決

まり、自動移動速度やSPEED2命令

は使用されません。

・この命令は、システムジェネレー

ションでサブグループが設定され

ている場合のみ使用できます。

Page 181: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

169

11. 命令文

START文

形式:

START <ラベル>,Tn[,p]

タスク番号nの値は、2~8である。

タスク優先順位pの値は、17~47である。

意味:

この命令文は、<ラベル>で指定されたタスクをタスクn、優先順位pで起動し

ます。

タスク優先順位pを省略した場合、32となります。

例:

 START *SUBTASK,T2,33

 *ST:

   MOVE P,P0,P1

 GOTO *ST

 HALT

 ‘SUBTASK ROUTINE

 *SUBTASK:

   P100 = WHERE

   IF LOCZ(P100) > 10000 THEN

     DO(20) = 1

   ELSE

     DO(20) = 0

   ENDIF

 GOTO *SUBTASK

 EXIT TASK

関連する命令:CUT,EXIT TASK,RESTART,

SUSPEND,CHGPRI

n要点

・メインタスクであるタスク1は、

タスク優先順位が32です。

・タスク優先度の値が小さい方が高

い優先度になります。

・タスク優先順位の高いタスクがR

EADY状態の場合、優先順位の

低いタスクは、READY状態の

ままとなります。

Page 182: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

170

11. 命令文

SUB文,END SUB文

形式:

SUB <ラベル>[(<仮引数>[,<仮引数>…])]  <命令ブロック> END SUB

意味:

この命令文は、SUB文~END SUB文でサブプロシージャを定義します。

サブプロシージャはCALL文で実行することができます。END SUB文を

実行すると、呼び出したCALL文の次の命令にジャンプします。定義を下記に

示します。

1.サブプロシージャ内で宣言された変数は、すべてローカル変数となり、サ

ブプロシージャ内でのみ有効となります。ローカル変数は、サブプロシー

ジャが呼び出されるたびに初期化されます。

2.グローバル変数(プログラムレベル)を使用する場合、SHARED文を

使用します。

3.変数の引渡しを行う場合、<仮引数>を使用します。<仮引数>は、コン

マ(,)で区切ります。

4.<仮引数>は、変数名と配列全体(配列名の後ろに()がついたもの)が

有効です。

n要点

・サブプロシージャ内で、サブプロ

シージャを定義することはできま

せん。

・サブプロシージャ内で、DECL

ARE文は使用できません。

・サブプロシージャ内で、ラベルを

定義することはできます。ただ

し、GOTO文やGOSUB文等

で、サブプロシージャ外のラベル

にジャンプすることはできませ

ん。

・サブプロシージャを式の中で使用

することはできません。

・ローカル変数は、PRINT文,

SEND文で使用できません。

Page 183: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

171

11. 命令文

例1:

 I=1

 CALL  *TEST

 PRINT I

 HALT

 ’SUB ROUTINE: TEST

 SUB *TEST

   I=50

 END SUB

○上記の例で、プログラムレベルの変数Iとサブプロシージャ内の変数Iの関

係はありません。したがって、3行目のPRINT文で表示される値は、1

となります。

例2:

 X% = 4

 Y% = 5

 CALL *COMPARE( REF X%, REF Y% )

 PRINT X%,Y%

 Z% = 7

 W% = 2

 CALL *COMPARE( REF Z%, REF W% )

 PRINT Z%,W%

 HALT

 ’SUB ROUTINE: COMPARE

 SUB *COMPARE( A%, B% )

   IF A% < B% THEN

     TEMP% = A%

     A% = B%

     B% = TEMP%

   ENDIF

 END SUB

○上記の例で、それぞれ異なる変数を引数として渡して、サブプロシージャを

2回呼び出しています。

関連する命令:CALL, DECLARE,EXIT SUB,SHARED

Page 184: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

172

11. 命令文

SUSPEND文

形式:

SUSPEND Tn

タスク番号nの値は、2~8である。

意味:

この命令文は実行中の他のタスクを一時停止させます。

例:

  START *SUBTASK,T2

  SUSFLG=0

 *L0:

    MOVE P,P0

    MOVE P,P1

    WAIT SUSFLG=1

    SUSPEND T2

    SUSFLG=0

  GOTO *L0

  HALT

 ’SUBTASK ROUTINE

 *SUBTASK:

    WAIT SUSFLG=0

    DO2(0)=1

    DELAY 1000

    DO2(0)=0

    DELAY 1000

    SUSFLG=1

    GOTO *SUBTASK

    EXIT TASK

関連する命令:CUT,EXIT TASK,RESTART,SUSPEND

Page 185: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

173

11. 命令文

SWI文

実行プログラムを切り替えます。

形式:

SWI <プログラム名>

意味:

現在実行中のプログラムから、指定されたプログラムへ切り替え、コンパイル実

行後、第1行から実行します。プログラムを切り替えた時、出力変数の状態は変

わりませんが、動的変数および配列変数はクリアされます。コンパイルが異常し

た場合は、運転を停止します。プログラム名の前後には、“<”,“>”(カッコ)

を付けます。

例:SWI <ABC>

----------実行プログラムをABCに切り換えます。

n要点

・切り換えるプログラムが存在しな

い時“3.3:プログラムナシ”を表示し、

運転を停止します。

・コンパイル中にエラーが発生する

と、エラー発生行を表示しプログ

ラムは停止します。

・SWI命令はタスク1(メインタ

スク)内でのみ実行可能です。

タスク2~8内で使用した場合

“6.1:ジッコウフノウ”を表示して運転を

停止します。

・コンパイル中、ストップキーは効

きません。

・SWI文の実行は、必ずコンパイ

ルが伴い、このコンパイルにかか

る時間は、切り換えるプログラム

容量によって異なります。

Page 186: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

174

11. 命令文

TO文

形式:

[LET]  TO0([b,・・・,b])  = <式>

       TO (0b,・・・,0b) 

ビット指定bの値は、0~7である。

<式>の値は、整数化し、左辺で指定されたビット指定に対応した下位のビット

が有効である。

意味:

この命令文は、指定された値をTOポートに出力します。

例:

 TO0() = &B00000110

関連する命令:RESET, SET

n要点

ビット指定は、右から昇順で記述

してください。

Page 187: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

175

11. 命令文

TOLE文(メイングループ公差設定文)

形式1:

TOLE <式>

形式2:

TOLE(<式1>)=<式2>

<式1>の値は、1~6である。(軸番号)

<式>および<式2>の値は、設定されているモータによって異なります。

(単位:パルス)

意味:

この命令文はメイングループのパラメータの公差を<式>の値に変更します。形

式1はメイングループの全軸を変更します。形式2は、<式1>で指定されるメ

イングループ軸の公差パラメータを<式2>の値に変更します。

例:

  ’CYCLE WITH DECREASING TOLERANCE

  FOR A=100 TO 20 STEP -20

  GOSUB *CHANGE_TOLE

  MOVE P,P0

  MOVE P,P1

  NEXT A

  HALT

 *CHANGE_TOLE:

  FOR B=1 TO 4

  TOLE(B)=A

  NEXT B

  RETURN

n要点

・ジェネレートで、no axis

に設定されている軸を指定すると

“シヨウフイッチ”のメッセージ

を表示して実行を中止します。

・この命令文は、指定軸の動作完了

後(公差内位置決めされた後)実

行されます。

Page 188: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

176

11. 命令文

TOLE2文(サブグループ公差設定文)

形式1:

TOLE2 <式>

形式2:

TOLE2(<式1>)=<式2>

<式1>の値は、1~4であること。(軸番号)

<式>および<式2>の値は、設定されているモータによって異なります。

(単位:パルス)

意味:

この命令文はサブグループのパラメータの公差を<式>の値に変更します。形式

1はサブグループの全軸を変更します。形式2は、<式1>で指定されるサブグ

ループ軸の公差パラメータを<式2>の値に変更します。

例:

  ’CYCLE WITH DECREASING TOLERANCE

  FOR A=100 TO 20 STEP -20

  GOSUB *CHANGE_TOLE

  MOVE2 P,P0

  MOVE2 P,P1

  NEXT A

  HALT

 *CHANGE_TOLE:

  FOR B=1 TO 4

  TOLE2(B)=A

  NEXT B

  RETURN

n要点

・この命令文はシステムジェネレー

ションでサブグループが設定され

ている場合のみ使用できます。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

・この命令文は、指定軸の動作完了

後(公差内に位置決めされた後)

実行されます。

Page 189: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

177

11. 命令文

TORQUE文

形式:

TORQUE(<式1>) = <式2>

<式1>の値は、1~6である。(軸番号)

<式2>の値は、1~100である。(単位:%)

意味:

この命令文は、メイングループの<式1>で指定される軸の最大トルク指令値を

<式2>の値に変更します。変更した値は、次のMOVE文やDRIVE文など

の移動命令を実行したときに有効になります。パラメータ値は変更しません。

この命令による最大トルク指令値は、下記の状態になるまで有効です。

・ 同じ軸に対するTORQUE命令を実行し、次のMOVE文やDRIVE文

などの移動命令を実行する。

・ 同じ軸に対するDRIVE文でトルク制限指定オプションを実行する。

・ コントローラの電源を遮断し再投入する。

・ パラメータの変更または初期化を行う。

・ 原点復帰に伴う原点復帰動作またはアブソサーチ動作が実行される。

・ アブソリュートリセットに伴う原点復帰動作が実行される。

・ サーボオフ状態になる。

例:

 TRQTIME(3)=2500 ----- 第3軸のトルク制御のタイ

ムアウト時間を2 .5秒に

設定

 DRIVE(3,P1),T=(20,15)----- 最大トルク値を定格トルク

の20%、トルクオフセッ

ト値を15に設定して、現

在位置から第3軸をP1で

指定された位置へ移動(押

し付け動作)

 IF TRQSTS(3)=1 THEN ----- タイムアウトしたか確認

  DO(21)=1 ----- タイムアウトしました(押

し付け完了)

(ここでは、DO(21)に

結果を出力しています)

 ELSE

  DO(21)=0 ----- タイムアウトしていません

(目標位置へ到達、押し付け

不良)

(ここでは、DO(21)に

結果を出力しています)

 ENDIF

 TORQUE(3)=100 ----- 最大トルク指令値を元

(100%)に戻す

 DRIVE(3,P0) ----- トルク制限およびトルク制

御を終了し、P0へ移動

関連する命令:DRIVE、TRQTIME、TRQSTS関数

n要点

ジェネレーションで、no axis

に設定されている軸を指定すると、

“シヨウフイッチ”のメッセージを

表示して実行を中止します。

c注意

・右記のTORQUE文で変更した

最大トルク指令値が有効になるタ

イミングは、Ver. 2.17以上のドラ

イババージョンのときのみ有効で

す。それ未満のバージョンのコン

トローラでは、TORQUE文で

変更した時点で有効となります。

・指定された値が小さい場合、軸が

移動できない場合があります。こ

の場合は、必ず非常停止状態にし

てから作業を行ってください。

・指定された値が定格トルク以下にな

る場合、障害物に衝突したときエ

ラーにならない場合があります。

Page 190: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

178

11. 命令文

TORQUE2文

形式:

TORQUE2(<式1>) = <式2>

<式1>の値は、1~4である。(軸番号)

<式2>の値は、1~100である。(単位:%)

意味:

この命令文は、サブグループの<式1>で指定される軸の最大トルク指令値を<

式2>の値に変更します。変更した値は、次のMOVE2文やDRIVE2文な

どの移動命令を実行したときに有効になります。パラメータ値は変更しません。

この命令による最大トルク指令値は、下記の状態になるまで有効です。

・ 同じ軸に対するTORQUE2命令を実行し、次のMOVE2文やDRIV

E2文などの移動命令を実行する。

・ 同じ軸に対するDRIVE2文でトルク制限指定オプションを実行する。

・ コントローラの電源を遮断し再投入する。

・ パラメータの変更または初期化を行う。

・ 原点復帰に伴う原点復帰動作またはアブソサーチ動作が実行される。

・ アブソリュートリセットに伴う原点復帰動作が実行される。

・ サーボオフ状態になる。

例:

 TRQTIME2(3)=2500 ----- 第3軸のトルク制御のタイ

ムアウト時間を2 .5秒に

設定

 DRIVE2(3,P1),T=(20,15)--- 最大トルク値を定格トルク

の20%、トルクオフセッ

ト値を15に設定して、現

在位置から第3軸をP1で

指定された位置へ移動(押

し付け動作)

 IF TRQSTS2(3)=1 THEN ----- タイムアウトしたか確認

  DO(21)=1 ----- タイムアウトしました(押

し付け完了)

(ここでは、DO(21)に

結果を出力しています)

 ELSE

  DO(21)=0 ----- タイムアウトしていません

(目標位置へ到達、押し付け

不良)

(ここでは、DO(21)に

結果を出力しています)

 ENDIF

 TORQUE2(3)=100 ----- 最大トルク指令値を元

(100%)に戻す

 DRIVE2(3,P0) ----- トルク制限およびトルク制

御を終了し、P0へ移動

関連する命令:DRIVE2、TRQTIME2、TRQSTS2関数

n要点

・この命令文は、システムジェネ

レーションでサブロボットが設定

されている場合のみ有効です。

・ジェネレーションで、no axis

に設定されている軸を指定すると、

“シヨウフイッチ”のメッセージを

表示して実行を中止します。

c注意

・右記のTORQUE2文で変更した

最大トルク指令値が有効になるタイ

ミングは、Ver. 2.17以上のドライバ

バージョンのときのみ有効です。そ

れ未満のバージョンのコントローラ

では、TORQUE2文で変更した

時点で有効となります。

・指定された値が小さい場合、軸が

移動できない場合があります。こ

の場合は、必ず非常停止状態にし

てから作業を行ってください。

・指定された値が定格トルク以下にな

る場合、障害物に衝突したときエ

ラーにならない場合があります。

Page 191: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

179

11. 命令文

TRQTIME文

形式:

TRQTIME(<式1>) = <式2>

<式1>の値、1~6である。(メイングループの軸番号)<式2>は、タイムアウト時間である。値は、0~10000である。

(単位:ms)

意味:

DRIVE文のトルク制限指定オプションを使用するときの、電流制限のタイム

アウト時間を設定します。この命令文では、メイングループの<式1>で指定さ

れる軸のタイムアウト時間を<式2>の値に設定します。

トルク制限指定オプションを指定したDRIVE文を実行し、軸が目標位置に到

達するか、指定したトルク制限値に達した状態がTRQTIME文で指定した時

間(タイムアウト時間)以上経過すると、そのDRIVE命令は終了します。こ

のとき、指定したトルク制限値に達した状態がタイムアウト時間以上経過(タイ

ムアウト)して命令を終了したかどうかで、TRQSTS関数に値を設定します。

コントローラの電源投入時は、タイムアウト時間は1秒に設定されています。

タイムアウト時間の指定はms単位ですが、実動作は10ms単位です。した

がって、設定値は10ms単位に切り捨てられます。ただし、設定値が1~9の

場合は、10msとみなされます。0を指定した場合は、1秒(1000ms)

となります。

例: TRQTIME(3)=2500 ----- 第3軸のトルク制御のタイ

ムアウト時間を2 .5秒に設定

 DRIVE(3,P1),T=(20,15)----- 最大トルク値を定格トルクの20%、トルクオフセット値を15に設定して、現在位置から第3軸をP1で指定された位置へ移動(押し付け動作)

 IF TRQSTS(3)=1 THEN ----- タイムアウトしたか確認  DO(21)=1 ----- タイムアウトしました(押

し付け完了)(ここでは、DO(21)に結果を出力しています。)

 ELSE  DO(21)=0 ----- タイムアウトしていません

(目標位置へ到達、押し付け不良)

(ここでは、DO(21)に結果を出力しています。)

 ENDIF TORQUE(3)=100 ----- 最大トルク値を元

(100%)に戻す DRIVE(3,P0) ----- トルク制限およびトルク制

御を終了し、P0へ移動

関連する命令:DRIVE、TRQSTS関数

n要点

・TRQTIME文は、Ver. 8.45以

上のソフトバージョンのときのみ

有効です。

・ジェネレーションで、no axis

に設定されている軸を指定すると、

“シヨウフイッチ”のメッセージを

表示して実行を中止します。

Page 192: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

180

11. 命令文

TRQTIME2文

形式:

TRQTIME2(<式1>) = <式2>

<式1>の値、1~6である。(サブグループの軸番号)<式2>は、タイムアウト時間である。値は、0~10000である。

(単位:ms)

意味:DRIVE2文のトルク制限指定オプションを使用するときの、電流制限のタイムアウト時間を設定します。この命令文では、サブグループの<式1>で指定される軸のタイムアウト時間を<式2>の値に設定します。

トルク制限指定オプションを指定したDRIVE2文を実行し、軸が目標位置に到達するか、指定したトルク制限値に達した状態がTRQTIME2文で指定した時間(タイムアウト時間)以上経過すると、そのDRIVE命令は終了します。このとき、指定したトルク制限値に達した状態がタイムアウト時間以上経過

(タイムアウト)して命令を終了したかどうかで、TRQSTS2関数に値を設定します。

コントローラの電源投入時は、タイムアウト時間は1秒に設定されています。タイムアウト時間の指定はms単位ですが、実動作は10ms単位です。したがって、設定値は10ms単位に切り捨てられます。ただし、設定値が1~9の場合は、10msとみなされます。0を指定した場合は、1秒(1000ms)

となります。

例:

 TRQTIME2(3)=2500 ----- 第3軸のトルク制御のタイムアウト時間を2 .5秒に設定

 DRIVE2(3,P1),T=(20,15)--- 最大トルク値を定格トルクの20%、トルクオフセット値を15に設定して、現在位置から第3軸をP1で指定された位置へ移動(押し付け動作)

 IF TRQSTS2(3)=1 THEN ----- タイムアウトしたか確認  DO(21)=1 ----- タイムアウトしました(押

し付け完了)(ここでは、DO(21)に結果を出力しています。)

 ELSE  DO(21)=0 ----- タイムアウトしていません

(目標位置へ到達、押し付け不良)

(ここでは、DO(21)に結果を出力しています。)

 ENDIF TORQUE2(3)=100 ----- 最大トルク値を元

(100%)に戻す DRIVE2(3,P0) ----- トルク制限およびトルク制

御を終了し、P0へ移動

関連する命令:DRIVE2、TRQSTS2関数

n要点

・TRQTIME2文は、Ver. 8.45

以上のソフトバージョンのときの

み有効です。

・この命令文はシステムジェネレー

ションでサブグループが設定されて

いる場合のみ使用できます。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 193: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

181

11. 命令文

WAIT文

形式1:

WAIT <DI/DO条件式>[,<式>]

<式>の値は、1~3600000であること。(単位:ms)

意味:

この命令文は、<DI/DO条件式>が成立するまで(真になるまで)待ちま

す。タイムアウト時間(単位ms)を2番目の<式>で設定します。

タイムアウト時間が設定してある場合には、タイムアウトの時間が経過してもW

AITの条件が成立しなかった場合、命令を終了します。ただし、最小実行待ち

時間は10msです。<式>の値が1~9に設定されている場合、タイムアウト

時間は10msとみなされます。

形式2:

WAIT   ARM [(<式1>)]

       ARM2 [(<式2>)]

<式1>の値は、1~6である。(軸番号)

<式2>の値は、1~4である。(軸番号)

意味:

この命令は、ロボットの軸動作の完了(公差内に位置決めされる)を待ちます。

<式1>および<式2>の指定がない場合、メインロボットの全軸(ARM)ま

たはサブロボットの全軸(ARM2)が対象となります。

<式1>および<式2>の指定がある場合、指定された軸だけが対象となります。

例:

 WAIT A=10

----------変数Aが10になるまで待ちます。

 WAIT DI2( )=&B01010110

----------DI(21),(22),(24),(26)がオンに、DI(20),

(23),(25),(27)がオフになるまで待ちます。

 WAIT DI2(4,3,2)=&B101

----------DI(22)とDI(24)がオンに、DI(23)がオフにな

るまで待ちます。

 WAIT DI(31)=1 OR DO(21)=1

----------DI(31)かDO(21)のどちらかがオンになるまで待ちま

す。

 WAIT DI(20)=1,1000

----------DI(20)がオンになるまで待ちます。1秒経過してもオンし

なかった場合、命令を終了します。

n要点

条件式が数値を表す式である場

合、下記ソフトバージョンのコン

トローラでは、その他のパラメー

タの“True ジョウケン”で「真」、

「偽」になる条件を変更すること

ができます(-1・・・「真」、0・・・

「偽」 または 0以外・・・

「真」、0・・・「偽」)。詳しく

は、コントローラ取扱説明書を参

照してください。

 RCX14x Ver. 8.63以上

 RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

Page 194: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

182

11. 命令文

 WAIT ARM

----------メインロボットの動作完了を待ちます。

 WAIT ARM2(2)

----------サブロボットの第2軸の動作完了を待ちます。

関連する命令:DRIVE,DRIVE2,DRIVEI,DRIVEI2,

MOVE,MOVE2,MOVEI,MOVEI2

Page 195: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

183

11. 命令文

WEIGHT文(メインロボット先端質量パラメータ設定文)

形式:

WEIGHT <式>

<式>の範囲は、設定されているロボットによって異なります。

意味:

この命令文はメインロボットの先端質量パラメータを<式>の値に変更します。

例:

 A=5

 B=2

 C=WEIGHT

 WEIGHT A

 MOVE P,P0

 WEIGHT B

 MOVE P,P1

 WEIGHT C

 HALT

n要点

ロボットの先端質量を変更しま

す。付加軸には何等影響しませ

ん。

Page 196: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

184

11. 命令文

WEIGHT2文(サブロボット先端質量パラメータ設定文)

形式:

WEIGHT2 <式>

<式>の範囲は、設定されているロボットによって異なります。

意味:

この命令文はサブロボットの先端質量パラメータを<式>の値に変更します。

例:

 A=5

 B=2

 C=WEIGHT2

 WEIGHT2 A

 MOVE2 P,P0

 WEIGHT2 B

 MOVE2 P,P1

 WEIGHT2 C

 HALT

n要点

・この命令文はシステムジェネレー

ションでサブロボットが設定され

ている場合のみ使用できます。

・ロボットの先端質量を変更しま

す。付加軸には何等影響しませ

ん。

Page 197: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

185

11. 命令文

WHILE文,WEND文

WHILE文の<式>の条件が成立している間、繰り返し動作を実行します。

形式:

WHILE <式>

  <命令ブロック>

WEND

意味:

この命令文は、<式>で指定される条件が成立している間(真の間)、WHIL

E文とWEND文の間にある命令ブロックを実行し、WHILE文に戻ります。

<式>で指定される条件が成立しなくなる(偽になる)と、WEND文の次の命

令文にジャンプします。

<式>で指定される条件が最初から成立していないと(偽だと)、WHILE文と

WEND文の間の文は一度も実行せずに、WEND文の次の文にジャンプします。

WHILE~WENDループ内から、WHILE~WENDループ外へは、GO

TO文他でジャンプすることができます。

例1:

 A=0

 WHILE DI3(0)=0

  A=A+1

  MOVE P,P0

  MOVE P,P1

  PRINT ”COUNTER=”;A

 WEND

 HALT

例2:

 A=0

 WHILE -1-------条件式が常に真(-1)なので永久ループになる。

  A=A+1

  MOVE P,P0

  IF DI3(0)=1 THEN *END

  MOVE P,P1

  PRINT ”COUNTER=”;A

  IF DI3(0)=1 THEN *END

 WEND

 *END

 HALT

n要点

・WHILE文とWEND文は必ず

セットで使用します。

・<式>の値を-1とすると条件が

成立していると判断されます。

・条件式が数値を表す式である場

合、下記ソフトバージョンのコン

トローラでは、その他のパラメー

タの“True ジョウケン”で「真」、

「偽」になる条件を変更すること

ができます(-1・・・「真」、0・・・

「偽」 または 0以外・・・

「真」、0・・・「偽」)。詳しく

は、コントローラ取扱説明書を参

照してください。

  RCX14x Ver. 8.63以上

RCX22x Ver. 9.08以上

上記より古いバージョンのコント

ローラでは、-1のとき「真」と

し、-1以外のとき「偽」とします。

Page 198: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

186

11. 命令文

ラベル文

形式:

<ラベル>:

意味:

この命令文はプログラム行に<ラベル>を定義します。<ラベル>はいつも

“* ”で始まらなくてはなりません。

例:

 *SUB2:

 *PROG_END:

Page 199: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

187

12. 関数

12.1 算術関数

これらの関数は算h術式の要素として使用できます。

■ ABS

形式:

ABS(<式>)

意味:

この関数は<式>で指定された値の絶対値を与えます。

例:A=ABS(-326 .54)

-----------326 . 54の絶対値(=326 . 54)を変数Aに代入します。

■ ABSRPOS

形式:

ABSRPOS(<式>)

<式>の値は1~6である。(メイングループの軸番号)

意味:

この関数は、<式>で指定されるメイングループ軸のマシンリファレンス(単

位:%)の値を与えます。この関数の対象となる軸は、原点復帰方式がマーク方

式に設定されている軸です。原点復帰方式がセンサ方式、突き当て方式の場合は

関係ありません。

例:A=ABSRPOS(1)

----------メイングループの第1軸のマシンリファレンス値を変数Aに代入

します。

■ ABSRPOS2

形式:

ABSRPOS2(<式>)

<式>の値は1~6である。(サブグループの軸番号)

意味:

この関数は、<式>で指定されるサブグループ軸のマシンリファレンス(単位:

%)の値を与えます。この関数の対象となる軸は、原点復帰方式がマーク方式に

設定されている軸です。原点復帰方式がセンサ方式、突き当て方式の場合は関係

ありません。

例:A=ABSRPOS2(1)

----------サブグループの第1軸のマシンリファレンス値を変数Aに代入し

ます。

n要点

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

・原点復帰方式がマーク方式に設定さ

れている軸では、ABSRPOS

の値が44~56%の範囲にある

とき、アブソリュートリセットが

可能です。

n要点

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

・原点復帰方式がマーク方式に設定

されている軸では、ABSRPO

S2の値が44~56%の範囲に

あるとき、アブソリュートリセッ

トが可能です。

Page 200: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

188

12. 関数

■ ACCEL

形式:

ACCEL(<式>)

<式>の値は1~6である。(軸番号)

意味:

この関数は<式>で指定されるメイングループ軸の加速度係数パラメータの値を

与えます。

例:A=ACCEL(3)

----------メイングループの第3軸の加速度係数パラメータを変数Aに代入

します。

■ ACCEL2

形式:

ACCEL2(<式>)

<式>の値は1~4である。(軸番号)

意味:

この関数は<式>で指定されるサブグループ軸の加速度係数パラメータの値を与

えます。

例:A=ACCEL2(2)

----------サブグループの第2軸の加速度係数パラメータを変数Aに代入し

ます。

■ ARCH

形式:

ARCH(<式>)

<式>の値は1~6である。(軸番号)

意味:

この関数は<式>で指定されるメイングループ軸のアーチ位置パラメータの値を

与えます。

例:A=ARCH(1)

----------メイングループの第1軸のアーチ位置パラメータを変数Aに代入

します。

n要点

ジェネレートで、no axis

に設定されている軸を指定する

と、“シヨウフイッチ”のメッ

セージを表示して実行を中止しま

す。

n要点

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

n要点

ジェネレートで、no axis

に設定されている軸を指定する

と、“シヨウフイッチ”のメッ

セージを表示して実行を中止しま

す。

Page 201: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

189

12. 関数

■ ARCH2

形式:

ARCH2(<式>)

<式>の値は1~4であること。(軸番号)

意味:

この関数は<式>で指定されるサブグループ軸のアーチ位置パラメータの値を与

えます。

例:A=ARCH2(1)

----------サブグループの第1軸のアーチ位置パラメータを変数Aに代入し

ます。

■ ARMCND

形式:

ARMCND

意味:

この関数は、メイングループのスカラ型ロボットに対する現在のアーム状態を与

えます。

現在のアーム状態が右手系の場合は0、左手系の場合は1です。

この関数は、スカラ型ロボット使用時のみ有効です。

例:A=ARMCND -------変数Aにメインロボットの現在のアーム状態

値を代入

  IF A=0 THEN -------右手系状態

    MOVE P,P100,Z=0

  ELSE -------左手系状態

    MOVE P,P200,Z=0

 ENDIF

n要点

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 202: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

190

12. 関数

■ ARMCND2

形式:

ARMCND2

意味:

この関数は、サブグループのスカラ型ロボットに対する現在のアーム状態を与え

ます。

現在のアーム状態が右手系の場合は0、左手系の場合は1です。

この関数は、スカラ型ロボット使用時のみ有効です。

例:A=ARMCND2 -------変数Aにサブロボットの現在のアーム状態値

を代入

  IF A=0 THEN -------右手系状態

    MOVE2 P,P100,Z=0

  ELSE -------左手系状態

    MOVE2 P,P200,Z=0

 ENDIF

■ ARMTYPE

形式:

ARMTYPE

意味:

この関数は、メイングループのスカラ型ロボットに対する、現在選択されている

手系を与えます。

右手系の場合は0、左手系の場合は1です。

この関数は、スカラ型ロボット使用時のみ有効です。

例:A=ARMTYPE -------変数Aにメインロボットのアームタイプ値を

代入

  IF A=0 THEN -------アームタイプが右手系

    MOVE P,P100,Z=0

  ELSE -------アームタイプが左手系

    MOVE P,P200,Z=0

  ENDIF

n要点

システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

Page 203: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

191

12. 関数

■ ARMTYPE2

形式:

ARMTYPE2

意味:

この関数は、サブグループのスカラ型ロボットに対する、現在選択されている手

糸を与えます。

右手系の場合は0を、左手系の場合は1です。

この関数は、スカラ型ロボット使用時のみ有効です。

例:A=ARMTYPE2 -----変数Aにサブロボットのアームタイプ値を代入

  IF A=0 THEN-----アームタイプが右手系

    MOVE2 P,P100,Z=0

  ELSE -----アームタイプが左手系

    MOVE2 P,P200,Z=0

  ENDIF

■ ATN

形式:

ATN(<式>)

意味:

この関数は<式>の値の逆正接値を与えます。得られる値は-π/2から+π/

2までの範囲のラジアンです。

例:A(0)=A*ATN(Y/X)

----------式(Y/X)の逆正接値と変数Aとの積を配列A(0)に代入し

ます。

  A(0)=ATN(0.5)

----------0 . 5の逆正接値を配列A(0)に代入します。

関連する命令:COS,DEGRAD,RADDEG,SIN,TAN

n要点

システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

Page 204: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

192

12. 関数

■ AXWGHT

形式:

AXWGHT(<式>)

<式>の値は1~6である。(軸番号)

意味:

この関数は<式>で指定されるメイングループ軸の軸先端重量パラメータの値を

与えます。

例:A=AXWGHT(1)

----------メイングループの第1軸の軸先端重量パラメータを変数Aに代入

します。

■ AXWGHT2

形式:

AXWGHT2(<式>)

<式>の値は1~4である。(軸番号)

意味:

この関数は<式>で指定されるサブグループ軸の軸先端重量パラメータの値を与

えます。

例:A=AXWGHT2(1)

----------サブグループの第1軸の軸先端重量パラメータを変数Aに代入し

ます。

■ COS

形式:

COS(<式>)

意味:

この関数は<式>の値に対する余弦値を与えます。<式>の単位はラジアンで

す。

例:A(0)=B*COS(C)

----------変数Cの余弦値と変数Bとの積を配列A(0)に代入します。

  A(1)=COS(DEGRAD(20))

----------20 . 0°の余弦値を配列A(1)に代入します。

関連する命令:ATN,DEGRAD,RADDEG,SIN,TAN

n要点

・ロボットが’MULTI’の軸ま

たは、付加軸に対してだけ有効で

す。

ロボットの機種および付加軸は、

出荷時に設定されています。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、”シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

n要点

・システムジェネレーションで、サ

ブグループが設定されている場合

のみ使用できます。

・ロボットが’MULTI’の軸ま

たは、付加軸に対してだけ有効で

す。

ロボットの機種および付加軸は、

出荷時に設定されています。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、”シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 205: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

193

12. 関数

■ DECEL

形式:

DECEL (<式>) 

<式>の値は1~6 である。(軸番号)

意味:

この関数は<式>で指定されるメイングループ軸の減速比率パラメータの値を与

えます。

例:A=DECEL(3 )

----------メイングループ第3軸の減速比率パラメータを変数A に代入しま

す。

■ DECEL2

形式:

DECEL2(<式>)

<式>の値は1~4 である。(軸番号)

意味:

この関数は<式>で指定されるサブグループ軸の減速比率パラメータの値を与え

ます。

例:A=DECEL2(2)

----------サブグループの第2軸の減速比率パラメータを変数Aに代入しま

す。

■ DEGRAD

形式:

DEGRAD(<式>)

意味:

この関数は<式>の値をラジアンに変換します。<式>の単位は度です。

例:A=COS(DEGRAD(30))

----------30°の余弦値を変数Aに代入します。

関連する命令:ATN,COS,RADDEG,SIN,TAN

n要点

ジェネレートで、no axis に

設定されている軸を指定すると、

“シヨウフイッチ”のメッセージ

を表示して実行を中止します。

n要点

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・ジェネレートで、no axis に

設定されている軸を指定すると、

“シヨウフイッチ”のメッセージ

を表示して実行を中止します。

c注意

DECELは、Ver. 8.15以上のソフト

バージョンのときのみ有効です。

c注意

DECEL2は、Ver. 8.15以上のソフト

バージョンのときのみ有効です。

Page 206: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

194

12. 関数

■ DIST

形式:

DIST(<ポイント式1>,<ポイント式2>)

意味:

この関数は<ポイント式1>と<ポイント式2>で表される2点間(X ,Y , Z)

の距離を与えます。

2個の<ポイント式>が、直交座標形式でないとエラーになります。

例:

 A=DIST(P0,P1)------P0とP1間の距離を変数Aに代入します。

■ ERR、ERL

形式:

ERR ERL

意味:

これらの変数ERRおよびERLは、ON ERROR GOTO文で指定した

エラー処理ルーチンでエラー処理をおこなうために使用します。

ERRはエラー発生時のエラーコード番号を、ERLはエラー発生行番号を与え

ます。

例:IF ERR<>&H604 THEN HALT

  IF ERL=20 THEN RESUME NEXT

関連する命令:ON ERROR GOTO,RESUME

■ INT

形式:

INT(<式>)

意味:

この関数は小数点以下を切り捨てた整数値を得ます。<式>の値を越えない最大

の整数値を得ます。

例:A=INT(A(0))

  B=INT(-1 .233)-------------Bに-2が代入されます。

Page 207: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

195

12. 関数

■ LEN

形式:

LEN(<文字列式>)

意味:

<文字列式>で表される文字列の長さ(バイト数)を得ます。

例:B=LEN(A$)

■ LSHIFT

形式:

LSHIFT(<式1>,<式2>)

意味:

この関数は<式1>の値を<式2>のビット数左にシフトします。シフトさせて

空いたところには0が入ります。

例:A=LSHIFT(&B10111011,2)

----------Aに&B1011101100が代入されます。

関連する命令:RSHIFT

■ MCHREF

形式:

MCHREF(<式>)

<式>の値は1~6である。(軸番号)

意味:

この関数は、<式>で指定されるメイングループ軸の原点復帰動作およびアブソ

サーチ動作のマシンリファレンス(単位:%)の値を与えます。

この関数の対象となる軸は、原点復帰方式がセンサ方式または突き当て方式に設

定されている軸です。

例:A=MCHREF(1)

----------メイングループの第1軸の原点復帰動作またはアブソサーチ動作

のマシンリファレンスを変数Aに代入します。

n要点

システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 208: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

196

12. 関数

■ MCHREF2

形式:

MCHREF2(<式>)

<式>の値は1~4である。(軸番号)

意味:

この関数は、<式>で指定されるサブグループ軸の原点復帰動作およびアブソ

サーチ動作のマシンリファレンス(単位:%)の値を与えます。

この関数の対象となる軸は、原点復帰方式がセンサ方式または突き当て方式に設

定されている軸です。

例:A=MCHREF2(3)

----------サブグループの第3軸の原点復帰動作またはアブソサーチ動作の

マシンリファレンスを変数Aに代入します。

■ ORD

形式:

ORD(<文字列式>)

意味:

<文字列式>の最初の文字のキャラクタコードを得ます。

例:A=ORD(”B”)

----------Aに66(=&H42)を代入する。

関連する命令:CHR$

■ ORGORD

形式:

ORGORD

意味:

この関数は、メイングループの原点復帰動作およびアブソサーチ動作を行う軸順

序パラメータを与えます。

例:A=ORGORD

----------メイングループの原点復帰順序パラメータを変数Aに代入します。

n要点

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 209: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

197

12. 関数

■ ORGORD2

形式:

ORGORD2

意味:

この関数は、サブグループの原点復帰動作およびアブソサーチ動作を行う軸順序

パラメータを与えます。

例:A=ORGORD2

----------サブグループの原点復帰順序パラメータを変数Aに代入します。

■ OUTPOS

形式:

OUTPOS(<式>)

<式>の値は1~6である。(軸番号)

意味:

この関数は<式>で指定されるメイングループ軸のアウト有効位置パラメータの

値を与えます。

例:A=OUTPOS(3)

----------メイングループの第3軸のアウト有効位置パラメータを変数Aに

代入します。

■ OUTPOS2

形式:

OUTPOS2(<式>)

<式>の値は1~4である。(軸番号)

意味:

この関数は<式>で指定されるサブグループ軸のアウト有効位置パラメータの値

を与えます。

例:A=OUTPOS2(3)

----------サブグループの第3軸のアウト有効位置パラメータを変数Aに代

入します。

n要点

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

n要点

ジェネレートで、no axis

に設定されている軸を指定する

と、“シヨウフイッチ”のメッ

セージを表示して実行を中止しま

す。

n要点

システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

Page 210: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

198

12. 関数

■ RADDEG

形式:

RADDEG(<式>)

意味:

この関数は<式>の値を度に変換します。<式>の単位はラジアンです。

例:

 LOCR(P0)=RADDEG(ATN(B))

----------変数Bの逆正接値を度に変換し、P0のRデータに代入します。

関連する命令:ATN,COS,DEGRAD,SIN,TAN

■ RSHIFT

形式:

RSHIFT(<式1>,<式2>)

意味:

この関数は<式1>の値を<式2>ビット数右にシフトします。シフトさせて空

いたところには0が入ります。

例:A=RSHIFT(&B10111011,2)

----------Aに&B00101110が代入されます。

関連する命令:LSHIFT

■ SIN

形式:

SIN(<式>)

意味:

この関数は<式>の値に対する正弦値を与えます。<式>の単位はラジアンで

す。

例:A(0)=SIN(B*2+C)

----------式B*2+Cの正弦値を配列A(0)に代入します。

  A(1)=SIN(DEGRAD(30))

----------30 . 0°の正弦値を配列A(1)に代入します。

関連する命令:ATN,COS,DEGRAD,RADDEG,TAN

Page 211: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

199

12. 関数

■ SQR

形式:

SQR(<式>)

<式>の値は、0または正の数である。

意味:

この関数は<式>で指定された値の平方根を与えます。

例:A=SQR(X^2+Y^2)

----------X^2+Y^2の平方根を変数Aに代入します。

■ TAN

形式:

TAN(<式>)

意味:

この関数は<式>の値に対する正接値を与えます。<式>の単位はラジアンで

す。

例:A(0)=B-TAN(C)

----------変数Bと変数Cの正接値の差を配列A(0)に代入します。

  A(1)=TAN(DEGRAD(20))

----------20 . 0°の正接値を配列A(1)に代入します。

関連する命令:ATN,COS,DEGRAD, RADDEG,SIN

n要点

<式>の値が負の数の時はエラー

になります。

Page 212: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

200

12. 関数

■ TIMER

形式:

TIMER

意味:

この関数は、現在時刻を、午前0時からの秒で与えます。プログラムの運転時間

の測定等に使用できます。

例:A%=TIMER

  FOR B=1 TO 10

    MOVE P,P0

    MOVE P,P1

  NEXT

  A%=TIMER-A%

  PRINT A%/60;”:”;A% MOD 60

  HALT

関連する命令:TIME$

■ TOLE

形式:

TOLE(<式>)

<式>の値は1~6である。(軸番号)

意味:

この関数は<式>で指定されるメイングループ軸の公差パラメータの値を与えま

す。

例:A=TOLE(2)

----------メイングループの第2軸の公差パラメータを変数Aに代入します。

n要点

時刻の設定は、システムモードの

初期処理でおこないます。

n要点

ジェネレートで、no axis

に設定されている軸を指定する

と、“シヨウフイッチ”のメッ

セージを表示して実行を中止しま

す。

c注意

内部で使用している時計は実際の

時間にたいして誤差が生じる場合

があります。

Page 213: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

201

12. 関数

■ TOLE2

形式:

TOLE2(<式>)

<式>の値は1~4である。(軸番号)

意味:

この関数は<式>で指定されるサブグループ軸の公差パラメータの値を与えま

す。

例:A=TOLE2(2)

----------サブグループの第2軸の公差パラメータを変数Aに代入します。

■ TORQUE

形式:

TORQUE(<式>)

<式>の値は1~6である。(軸番号)

意味:

この関数は<式>で指定されるメイングループ軸のトルク設定値を与えます。

例:A=TORQUE(2)

----------メイングループの第2軸のトルク設定値を変数Aに代入します。

■ TORQUE2

形式:

TORQUE2(<式>)

<式>の値は1~4である。(軸番号)

意味:

この関数は<式>で指定されるサブグループ軸のトルク設定値を与えます。

例:A=TORQUE2(2)

----------サブグループの第2軸のトルク設定値を変数Aに代入します。

n要点

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

n要点

ジェネレートで、no axis

に設定されている軸を指定する

と、“シヨウフイッチ”のメッ

セージを表示して実行を中止しま

す。

n要点

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 214: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

202

12. 関数

■ TRQSTS

形式:

TRQSTS(<式>)

<式>の値は1~6である。(メイングループの軸番号)

意味:

この関数は、<式>で指定したメイングループ軸に対して実行した、トルク制限

指定オプション付きのDRIVE文が終了したときの状態を与えます。その状態

は、0、1で表されます。

0 ・・・ <式>で指定したメイングループ軸に対して実行したトルク制限

指定オプション付きのDRIVE文は、トルク制限のタイムアウ

ト以外の理由で終了しました。

1 ・・・ <式>で指定したメイングループ軸に対して実行したトルク制限

指定オプション付きのDRIVE文は、トルク制限のタイムアウ

トで終了しました。

例:DRIVE(3,P1),T=20 ----- メイングループの第3軸を

トルク制限して移動します。

  IF TRQSTS(3)=1 THEN ----- メイングループの第3軸が

トルク制限値に達し、タイ

ムアウトで終了した場合

   GOTO *OK

  ELSE ----- メイングループの第3軸が

トルク制限でタイムアウト

せずに移動を終了した場合

   GOTO *NG

  ENDIF

関連する命令:DRIVE、TRQTIME

n要点

・TRQSTSは、Ver. 8.45以上のソフ

トバージョンのときのみ有効です。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 215: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

203

12. 関数

■ TRQSTS2

形式:

TRQSTS2(<式>)

<式>の値は1~6である。(サブグループの軸番号)

意味:

この関数は、<式>で指定したサブグループ軸に対して実行した、トルク制限指

定オプション付きのDRIVE2文が終了したときの状態を与えます。その状態

は、0、1で表されます。

0 ・・・ <式>で指定したサブグループ軸に対して実行したトルク制限指

定オプション付きのDRIVE2文は、トルク制限のタイムアウ

ト以外の理由で終了しました。

1 ・・・ <式>で指定したサブグループ軸に対して実行したトルク制限指

定オプション付きのDRIVE2文は、トルク制限のタイムアウ

トで終了しました。

例:DRIVE2(3,P1),T=20 ----- サブグループの第3軸をト

ルク制限して移動します。

  IF TRQSTS2(3)=1 THEN --- サブグループの第3軸がト

ルク制限値に達し、タイム

アウトで終了した場合

   GOTO *OK

  ELSE ----- サブグループの第3軸がト

ルク制限でタイムアウトせ

ずに移動を終了した場合

   GOTO *NG

  ENDIF

関連する命令:DRIVE2、TRQTIME2

n要点

・TRQSTS2は、Ver. 8.45以上

のソフトバージョンのときのみ有

効です。

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 216: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

204

12. 関数

■ TRQTIME

形式:

TRQTIME(<式>)

<式>の値は1~6である。(メイングループの軸番号)

意味:

この関数は、<式>で指定したメイングループ軸のトルク制御のタイムアウト時

間を与えます。単位はmsです。

例:A%=TRQTIME(3)

----------メイングループの第3軸のトルク制御タイムアウト時間を変数A

に代入します。

■ TRQTIME2

形式:

TRQTIME2(<式>)

<式>の値は1~6である。(サブグループの軸番号)

意味:

この関数は、<式>で指定したサブグループ軸のトルク制御のタイムアウト時間

を与えます。単位はmsです。

例:A%=TRQTIME2(3)

----------サブグループの第3軸のトルク制御タイムアウト時間を変数Aに

代入します。

n要点

・TRQTIMEは、Ver. 8.45以上

のソフトバージョンのときのみ有

効です。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

n要点

・TRQTIME2は、Ver. 8.45以

上のソフトバージョンのときのみ

有効です。

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・システムジェネレーションで、

no axisに設定されている

軸を指定すると、“シヨウフイッ

チ”のメッセージを表示して実行

を中止します。

Page 217: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

205

12. 関数

■ VAL

形式:

VAL(<文字列式>)

意味:

<文字列式>に指定した文字列の数値を、実際の数値に変換します。

文字列には、整数表記(2進形式、10進形式、16進形式)および実数表記

(通常の小数点表記、指数形式)が使用できます。

文字列の最初の文字が+、-、&または数字以外の場合には、VALの値は0に

なります。文字列の中に数字を表す文字以外の文字またはスペースが入っている

とその文字以降は無視されます。ただし、16進表記のA~Fは数字とみなされ

ます。

例:A=VAL(”&B100001”)

関連する命令:STR$

■ WEIGHT

形式:

WEIGHT

意味:

この関数はメインロボットの先端質量パラメータの値を与えます。

例:A=WEIGHT

----------メインロボットの先端質量パラメータを変数Aに代入します。

■ WEIGHT2

形式:

WEIGHT2

意味:

この関数はサブロボットの先端質量パラメータの値を与えます。

例:A=WEIGHT2

----------サブロボットの先端質量パラメータを変数Aに代入します。

n要点

システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

Page 218: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

206

12. 関数

n要点

10msカウンタ変数は、0から

65535までカウントアップ

し、さらにカウントアップされる

と0に戻ります。

n要点

軸の状態を監視するフラグとし

て、弊社のサポートのもとご使用

下さい。

■ TCOUNTER

形式:

TCOUNTER

意味:

この関数は、TCOUNTER変数をリセットされた時点から、10ms毎にカ

ウントアップされた値を出力します。

例:

 A = TCOUNETR

関連する命令:RESET

■_SYSFLG

形式:

_SYSFLG

意味:

この変数は、_SYSFLG変数に設定された値に応じて、軸の状態を監視する

フラグとして使用されます。通常は、ご使用しないで下さい。

例:

 _SYSFLG = 1

関連する命令:RESET

Page 219: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

207

12. 関数

12.2 文字列関数

この関数は<文字列式>の要素としてだけ使用できます。

■ CHR$

形式:

CHR$(<式>)

意味:

指定したキャラクタコードを持つ文字を与えます。<式>の値が0~255の範

囲にない場合、エラーになります。

例:A$=CHR$(65)

----------A$に”A”を代入する。

関連する命令:ORD

■ DATE$

形式:

DATE$

意味:

日付を、yy/mm/ddの形式の文字列で与えます。

yyは西暦の下2桁を、mmは月を、ddは日を意味します。

例:A$=DATE$

  PRINT DATE$

関連する命令:TIME$

n要点

日付の設定は、システムモードの

初期処理でおこないます。

Page 220: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

208

12. 関数

■ LEFT$

形式:

LEFT$(<文字列式>,<式>)

<式>の値は、0~75である。

意味:

<文字列式>で指定された文字列の左側(最初)から<式>で指定した桁数の文

字列を抜き出します。<式>の値が0~75の範囲にない場合、エラーになりま

す。<式>の値が0ならば、LEFT$はヌルストリング(空の文字列)となり

ます。<式>が<文字列式>の文字数より大きければ、LEFT$は<文字列式

>とまったく同じ内容になります。

例:B$=LEFT$(A$,4)

関連する命令:MID$,RIGHT$

■ MID$

形式:

MID$(<文字列式>,<式1>[,<式2>])

<式1>の値は、1~75である。

<式2>の値は、0~75である。

意味:

<文字列式>で指定した文字列中から任意の長さの文字列を抜き出します。文字

列の<式1>番目の文字から、<式2>桁の文字列を抜き出します。

<式1>の値が1~75の範囲にない、または<式2>の値が0~75の範囲に

ない場合、エラーになります。

<式2>を省略した場合や、文字列の<式1>番目の文字から右側全部の文字数

が<式2>より小さい場合は、文字列の<式1>番目の文字より右側全部を抜き

出します。

<式1>が文字列の文字数より大きければ、MID$の値はヌルストリング(空

の文字列)となります。

例:B$=MID$(A$,2,4)

関連する命令 LEFT$,RIGHT$

Page 221: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

209

12. 関数

■ RIGHT$

形式:

RIGHT$(<文字列式>,<式>)

<式>の値は、0~75である。

意味:

<文字列式>で指定した文字列の右側(最後)から<式>で指定した桁数の文字

列を抜き出します。<式>の値が0~75の範囲にない場合、エラーになりま

す。<式>の値が0ならば、RIGHT$はヌルストリング(空の文字列)とな

ります。<式>が<文字列式>の文字数より大きければ、RIGHT$は<文字

列式>とまったく同じ内容になります。

例:B$=RIGHT$(A$,4)

関連する命令:LEFT$,MID$

■ STR$

形式:

STR$(<式>)

意味:

<式>に指定した値を、文字列に変換します。<式>には、整数型および実数型

の数値を指定できます。

例:B$=STR$(10 .01)

関連する命令:VAL

■ TIME$

形式:

TIME$

意味:

現在時刻をhh:mm:ssの形式の文字列で与えます。

hhは時間を、mmは分を、ssは秒を意味します。

例:A$=TIME$

  PRINT TIME$

関連する命令:DATE$,TIMER

n要点

時刻の設定は、システムモードの

初期処理でおこないます。

Page 222: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

210

12. 関数

12.3 ポイント関数

この関数は<ポイント式>の要素としてだけ使用できます。

■ JTOXY

形式:

JTOXY(<ポイント式>)

意味:

<ポイント式>で表される関節座標データ(単位:パルス)を、メイングループ

の直交座標データ(単位:mm、度)に変換します。

例:P10=JTOXY(WHERE)

----------現在位置データを直交座標データに変換します。

関連する命令:XYTOJ

■ JTOXY2

形式:

JTOXY2(<ポイント式>)

意味:

<ポイント式>で表される関節座標データ(単位:パルス)を、サブグループの

直交座標データ(単位:mm、度)に変換します。

例:P10=JTOXY2(WHERE2)

----------現在位置データを直交座標データに変換します。

関連する命令:XYTOJ2

■ PPNT

形式:

PPNT(パレット定義番号,パレット位置番号)

意味:

この関数は、パレット定義番号とパレット位置番号で指定されるポイントデータ

を作成します。

例:

 P10=PPNT(1, 24)

----------パレット定義番号1のパレット位置番号24で指定されたポイン

トデータをP10に作成します。

関連する命令:PDEF,PMOVE,PMOVE2

n要点

実行する時点で、設定されている

基準座標、シフト座標およびハン

ド定義にもとづいて変換されま

す。

n要点

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・実行する時点で、設定されている

基準座標、シフト座標およびハン

ド定義にもとづいて変換されま

す。

Page 223: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

211

12. 関数

■ WHERE

形式:

WHERE

意味:

この関数はメイングループのアームの現在位置を関節座標(パルス)で読み出し

ます。

例:P10=WHERE

----------現在位置を読んでP10へ登録します。P10は関節座標(パル

ス)で定義されます。

関連する命令:WHRXY

■ WHERE2

形式:

WHERE2

意味:

この関数はサブグループのアームの現在位置を関節座標(パルス)で読み出します。

例:P10=WHERE2

----------現在位置を読んでP10へ登録します。P10は関節座標(パル

ス)で定義されます。

関連する命令:WHRXY2

■ WHRXY

形式:

WHRXY

意味:

この関数はメイングループのアームの現在位置を直交座標(mm、度)で読み出

します。

例:P10=WHRXY

----------現在位置を読んでP10へ登録します。P10は 直交座標

(mm、度)で定義されます。

関連する命令:WHERE

n要点

システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

n要点

WHRXYは、以下のソフトバー

ジョンのときのみ有効です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

Page 224: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

212

12. 関数

n要点

・システムジェネレーションでサブ

グループが設定されている場合の

み使用できます。

・実行する時点で、設定されている

基準座標、シフト座標およびハン

ド定義にもとづいて変換されま

す。また、スカラロボットの場

合、右手系/左手系の指定によっ

ても結果が異なってきますので注

意が必要です。

■ WHRXY2

形式:

WHRXY2

意味:

この関数はサブグループのアームの現在位置を直交座標(mm、度)で読み出し

ます。

例:P10=WHRXY2

----------現在位置を読んでP10へ登録します。P10は 直交座標

(mm、度)で定義されます。

関連する命令:WHERE2

■ XYTOJ

形式:

XYTOJ(<ポイント式>)

意味:

<ポイント式>で表されるメイングループ直交座標データ(単位:mm、度)

を、関節座標データ(単位:パルス)に変換します。

例:P10=XYTOJ(P10)

----------P10を関節座標データに変換します。

関連する命令:JTOXY

■ XYTOJ2

形式:

XYTOJ2(<ポイント式>)

意味:

<ポイント式>で表されるサブグループ直交座標データ(単位:mm、度)を、

関節座標データ(単位:パルス)に変換します。

例:P10=XYTOJ2(P10)

----------P10を関節座標データに変換します。

関連する命令:JTOXY2

n要点

実行する時点で、設定されている

基準座標、シフト座標およびハン

ド定義にもとづいて変換されま

す。また、スカラロボットの場

合、右手系/左手系の指定によっ

ても結果が異なってきますので注

意が必要です。

n要点

・WHRXY2は、以下のソフトバー

ジョンのときのみ有効です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

・システムジェネレーションでサブグ

ループが設定されている場合のみ

使用できます。

Page 225: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

213

13. マルチタスク

マルチタスク機能は、より複雑で高度なプログラムを作成するときに使用します。

マルチタスク機能を使用する場合、この項の内容を良く理解してからご使用ください。

13.1 概要

マルチタスクは、複数のタスク(仕事)を並列して実行する機能です。ただし、

タスクを実行するCPUは1つなので、同時にタスクが実行している訳ではあり

ません。CPUの占有時間を分け合うことやタスクに優先順位を付けることによ

り、効率良く実行することにより複数のタスクを実行しています。

プログラムは、タスク1~タスク8までの最大8タスクを実行することができま

す。タスク1の優先順位は32で固定ですが、タスク2~タスク8の優先順位

は、17~47の間で設定することができます。

13.2 タスクの定義

タスクとは、プログラムに記述された命令を順番に実行する仕事を意味します。

プログラムでのタスクの定義は、ラベルによって行われます。定義例を下記に示

します。

 ’MAIN TASK(TASK1)

 START *IOTASK,T2

 *ST1:

   MOVE P,P1,P0

   IF DI(20)= 1 THEN

     HALT

   ENDIF

 GOTO *ST

 HALT

 ’SUB TASK(TASK2)

 *IOTASK:

   IF DI(21)=1 THEN

     DO(30)=1

   ELSE

     DO(30)=0

   ENDIF

 GOTO *IOTASK

 EXIT TASK

○ラベルの*IOTASK:からEXIT TASKまでがサブタスクとなり

ます。

Page 226: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

214

13. マルチタスク

13.3 タスクの状態と遷移

タスクの状態には、下記の6種類があります。

(1)STOP状態(停止状態)

タスクは存在しますが、タスク処理を実行していない状態です。

(2)RUN状態(実行状態)

タスクが存在し、CPUが割付けられタスク処理を実行している状態で

す。

(3)READY状態(実行可能状態)

タスクは存在し、タスク処理のCPUの割り付け待ちをしている状態で

す。

(4)WAIT状態(待ち状態)

タスクは存在し、タスク処理が何らかの事象待ちをしている状態です。

(5)SUSPEND状態(強制待ち状態)

タスクは存在し、タスク処理が強制的に実行待ちをしている状態です。

(6)NON EXISTEN状態(未登録状態)

タスクは存在しない状態です。

起床

削除

再開

起動

中断

待ち条件

待ち解除

停止

タスクの状態遷移

STOP

RUN

NON EXISTEN

SUSPEND READY WAIT

CPU割付け

CPU割付け待ち

Page 227: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

215

13. マルチタスク

13.4 タスクの起動

タスク1は、プログラムが存在すれば起床され、自動モードでプログラム起動さ

れるとRUN状態になります。

その他のタスクは、START命令を使用することにより、起床後、起動されR

EADY状態になります。

13.5 タスクのスケジューリング

タスクのスケジューリングとは、READY状態のタスクをCPUに割付けて実

行させる順序を決定することです。READY状態のタスクの中から1つのタス

クが選択され、RUN状態になります。

READY状態のタスクが2つ以上ある場合、レディキューと呼ばれるCPU割

付け待ち行列によりタスクの実行順位が決められます。

レディキューはタスク優先度の数だけ存在し、FCFS(First Come First

Service)で管理されます。タスクの優先度は、小さい方が高い優先度になりま

す。

タスク1 タスク3

タスク1

タスク4

タスク5

タスク2

READY状態になった順番

最も高い優先順位を持つタスクの 先頭がRUN状態に遷移されます。 優先順位

32

33

34

RUN状態のタスクは、CPU占有時間が一定時間を経過した場合、あるいは、

自分よりも優先順位の高いタスクがREADY状態になった場合、READY状

態となりレディキューの後尾移動します。

タスク1 タスク3

タスク1

タスク4 タスク1

優先順位

32

Page 228: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

216

13. マルチタスク

13.6 タスクの条件待ち

タスクは、WAIT状態になる命令を実行すると、WAIT状態(何らかの事象

待ち状態)となります。このとき、条件待ちが解除されないとREADY状態に

遷移できません。

1.WAIT状態になる命令を実行すると下記の状態遷移が起こります。

WAIT状態になる命令を実行したタスク -> WAIT状態

優先順位の高いレディキューにある先頭のタスク-> RUN状態

2.WAIT状態のタスクに対する条件待ちの事象が起こった場合、スケ

ジューリングが実行され下記の状態遷移が起こります。

WAIT状態の条件待ちの事象が起こったタスク-> READY状態

ただし、READY状態になったタスクが最上位の優先順位で、かつ、レ

ディキューの先頭にある場合、下記の状態遷移が起こります。

現在、RUN状態のタスク -> READY状態

優先順位の高いレディキューにある先頭のタスク-> RUN状態

WAIT状態になる命令を下記に示します。

軸移動完了待ち 軸移動命令

パラメータ

命令

ロボット状態

変更命令

ABSRST, DRIVE, DRIVE2, DRIVEI, DRIVEI2, MOVE, MOVE2,

MOVEI, MOVEI2, ORIGIN, PATH START, PMOVE, PMOVE2,

SERVO, SERVO2, WAIT ARM, WAIT ARM2

ACCEL, ACCEL2, ARCH, ARCH2, AXWGHT, AXWGHT2,

DECEL, DECEL2, ORGORD, ORGORD2, OUTPOS,

OUTPOS2, TOLE, TOLE2, TORQUE, TORQUE2, WEIGHT,

WEIGHT2

ASPEED, ASPEED2, CHANGE, CHANGE2, LEFTY, LEFTY2,

RIGHTY, RIGHTY2, SHIFT, SHIFT2, SPEED, SPEED2

DELAY, SET(時間指定有り),WAIT(時間指定有り)

WAIT

SEND

PRINT

INPUT

時間経過待ち

条件成立待ち

送受信待ち

表示バッファ空待ち

キー入力待ち

事象 命令

ただし、これらの命令を実行開始する時点で事象が成立している場合、WAIT

状態になりません。

n要点

複数のタスクが、同一の条件待ち

の事象待ちの場合、また、異なる

条件の事象が同時に起こった場

合、条件待ちの事象が起こったタ

スクはすべてREADY状態に遷

移します。

Page 229: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

217

13. マルチタスク

13.7 タスクの中断と再開

タスクは、SUSPEND命令を使用することにより、他のタスクを中断しSU

SPEND(強制待ち)状態することができます。ただし、タスク1に対してS

USPEND命令を実行することはできません。

SUSPEND命令を実行すると下記の状態遷移が起こります。

SUSPEND命令を実行したタスク -> RUN状態

指定されたタスク -> SUSPEND状態

タスクは、RESTART命令を使用することにより、SUSPEND(強制待

ち)状態のタスクを再開することができます。ただし、タスク1に対してRES

TART命令を実行することはできません。

RESTART命令を実行すると下記の状態遷移が起こります。

RESTART命令を実行したタスク -> RUN状態

指定されたタスク -> READY状態

13.8 タスクの削除

タスクは、EXIT TASK命令を使用することにより、自タスクを削除しN

ON EXISTEN(未登録)状態にすることができます。ただし、タスク1

は、EXIT TASK命令を実行することはできません。

EXIT TASK命令を実行すると下記の状態遷移が起こります。

EXIT TASK命令を実行したタスク -> NON EXISTEN状態

優先順位の高いレディキューにある先頭のタスク -> RUN状態

タスクは、CUT命令を使用することにより、他のタスクを削除しNON EX

ISTEN(未登録)状態にすることができます。ただし、タスク1に対してC

UT命令を実行することはできません。

CUT命令を実行すると下記の状態遷移が起こります。

CUT命令を実行したタスク -> RUN状態

指定されたタスク -> NON EXISTEN状態

n要点

WAIT状態のタスクに対してS

USPEND命令が実行された場

合、指定されたタスクが実行して

いる命令は、終了したことになり

ます。

Page 230: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

218

13. マルチタスク

13.9 タスクの停止

タスクは、下記の要因により全タスクがSTOP(停止)状態になります。

1. HALT命令が実行された

プログラムがリセットされ、タスク1以外のタスクはNON EXIST

EN状態になります。タスク1は、STOP状態になります。

2. HOLD命令が実行された

すべてのタスクが、STOP状態になります。再度、プログラム起動され

るとSTOP状態のタスクはREADY状態もしくは、SUSPEND状

態になります。

3.プログラミングボックス(MPBまたはRPB)のSTOPキーが押され

た、インターロック信号が遮断された

HOLD命令実行された場合と同様に、すべてのタスクが、STOP状態

になります。再度、プログラム起動されるとSTOP状態のタスクはRE

ADY状態もしくは、SUSPEND状態になります。

4.プログラミングボックス(MPBまたはRPB)の非常停止ボタンが押さ

れた、非常停止信号が遮断された

すべてのタスクが、STOP状態になります。このとき、ロボットに対す

る電源供給が遮断され、サーボのホールド力は失われた状態になります。

非常停止状態を解除し、再度、プログラム起動されるとSTOP状態のタ

スクはREADY状態もしくは、SUSPEND状態になります。ただ

し、ロボットに対する電源供給を再開するには、別の処理が必要です。

n要点

1.以外の要因によって、タスク

を停止した後、プログラムリセッ

トせずにプログラム起動した場

合、タスクを停止した状態から各

タスクは処理を開始します。これ

は、コントローラに対する電源の

遮断と投入があった場合も同様で

す。

Page 231: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

219

13. マルチタスク

13.10 マルチタスクプログラム例

各タスクは、スケジューリングにしたがって各タスクの処理が実行されます。

’TASK1

START *ST2,T2

START *ST3,T3 

*ST1:

  DO(20) = 1    

  WAIT MO(20) = 1 

  MOVE P,P1,P2,Z=0 

  IF MO(21)=1 THEN *FIN

GOTO *ST1     

*FIN:

CUT T2

HALT

’TASK2

*ST2:

  IF DI(20) = 1

    MO(20) = 1

    DELAY 100

  ELSE

    MO(20) = 0

  ENDIF

GOTO *ST2

EXIT TASK

’TASK3

*ST3:

  IF DI(21) = 0 THEN *ST3

  IF DI(30) = 0 THEN *ST3

  IF DI(33) = 0 THEN *ST3

  MO(21) = 1 

EXIT TASK

Page 232: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

220

13. マルチタスク

c注意

複数のタスクで同じ変数やデータ

を書換えた場合、各タスクでの処

理に不具合が生じる可能性があり

ます。同じ変数やデータを使用す

る場合、十分注意してください。

13.11 データの共有

すべてのグローバル変数、その他の変数、ポイントデータ、シフト座標定義デー

タ、ハンド定義データおよびパレット定義データは、すべてのタスクで共有され

ています。

したがって、複数のタスクで同じ変数やデータを使用し、各タスクの実行を制御

することができます。逆に、複数のタスクで同じ変数やデータを書換えた場合、

各タスクでの処理に不具合が生じる可能性があります。同じ変数やデータを使用

する場合、十分注意してください。

Page 233: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

221

14. データファイル詳細

SEND文やオンライン命令のREAD/WRITEで使用されるデータファイルについて説明します。

データファイルには、下記の27種類があります。

 1.プログラムファイル

 2.ポイントファイル

 3.ポイントコメントファイル

 4.パラメータファイル

 5.シフト座標定義ファイル

 6.ハンド定義ファイル

 7.パレット定義ファイル

 8.オールファイル

 9.プログラムディレクトリファイル

10.パラメータディレクトリファイル

11.変数ファイル

12.定数ファイル

13.配列変数ファイル

14.DIファイル

15.DOファイル

16.MOファイル

17.LOファイル

18.TOファイル

19.SIファイル

20.SOファイル

21.エラーメッセージ履歴ファイル

22.マシンリファレンスファイル

23.EOFファイル

24.シリアルポート通信ファイル

25.SIW ファイル

27.Ethernetポート通信ファイル

26.SOW ファイル

n要点

・データはすべてアスキーコードに

準拠したキャラクタコードの文字

列で扱われます。

・命令文として、英小文字は使用で

きません。

n要点

「27. Ethernetポート通信ファイ

ル」は、Ver. 8.22以上のソフト

バージョンのときのみ有効です。

Page 234: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

222

14. データファイル詳細

14.1 プログラムファイル

14.1.1 プログラム全体

形式:

PGM

・プログラム全体を示します。

・読出しファイルの場合は、登録されている全プログラムが読み出されます。

・書込みファイルの場合は、プログラム名により書込まれます。

データフォーマット:

NAME=プログラム名[cr/lf] aaaaa…..aaaaaaaaaaaaaaaaaaaaaaaaaaaaa[cr/lf]     : aaaaa…..aaaaaaaaaaaaaaaaaaaaaaaaaaaaa[cr/lf] NAME=プログラム名[cr/lf]    : NAME=プログラム名[cr/lf] aaaaa…..aaaaaaaaaaaaaaaaaaaaaaaaaaaaa[cr/lf]    : aaaaa…..aaaaaaaaaaaaaaaaaaaaaaaaaaaaa[cr/lf] [cr/lf]

○プログラム名は、8文字以内の英数字またはアンダースコア(_)で記

述します。

○aは、キャラクタコードを示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

○TABコードは、スペースに変換します。

例:

SEND PGM TO CMU -----下記のようなプログラム全体を

通信ポートから出力します。

SEND CMU TO PGM -----下記のようなプログラム全体を

通信ポートから入力します。

応答:

NAME=TEST1[cr/lf]

A=1[cr/lf]

RESET DO2()[cr/lf]

   :

NAME=TEST2[cr/lf]

   :

NAME=PGM1[cr/lf]

   :

HALT[cr/lf]

[cr/lf]

Page 235: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

223

14. データファイル詳細

14.1.2 プログラム単位

形式:

<プログラム名>

・指定プログラムを示します。

・プログラム名は、8文字以内の英数字または”_”で示し、”<”,”>”で

囲みます。

・プログラム名を指定しない場合は、現在指定のプログラムが選択されます。

・形式での指定プログラム名とデータ上のプログラム名が異なる場合は、エ

ラーとする。

データフォーマット:

NAME=プログラム名[cr/lf] aaaaa…..aaaaaaaaaaaaaaaaaaaaaaaaaaaaa[cr/lf]     : aaaaa…..aaaaaaaaaaaaaaaaaaaaaaaaaaaaa[cr/lf] [cr/lf]

○プログラム名は、8文字以内の英数字またはアンダースコア(_)で記

述します。

○aは、キャラクタコードを示します。

○ [cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加

します。

○1行は、75文字以内でなければなりません。

○TABコードは、スペースに変換します。

例:

SEND <TEST1> TO CMU -----下記のようにプログラムTES

T1を通信ポートから出力しま

す。

SEND CMU TO <TEST1> -----下記のようにプログラムTES

T1を通信ポートから入力しま

す。

応答:

NAME=TEST1[cr/lf]

A=1[cr/lf]

RESET  DO2()[cr/lf]

  :

HALT[cr/lf]

[cr/lf]

n要点

・現在のモード設定が、自動モード

あるいはプログラムモードの場

合、現在選択されているプログラ

ムへの書き込みはできません。

・シーケンスプログラムが実行中の

場合、プログラム名SEQUEN

CEへの書き込みはできません。

・プログラム指定を行うNAME文

がない場合、プログラムの書き込

みはできません。

Page 236: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

224

14. データファイル詳細

14.2 ポイントファイル

14.2.1 ポイント全体

形式:

PNT

・ポイント全体を示します。

・読出しファイルの場合は、登録されている全ポイントが読み出されます。

・書込みファイルの場合は、ポイント番号により書込まれます。

データフォーマット:

Pmmmm= fxxxxxx fyyyyyy fzzzzzz frrrrrr faaaaaa fbbbbbb t [cr/lf] Pmmmm= fxxxxxx fyyyyyy fzzzzzz frrrrrr faaaaaa fbbbbbb t [cr/lf]       : Pmmmm= fxxxxxx fyyyyyy fzzzzzz frrrrrr faaaaaa fbbbbbb t [cr/lf] Pmmmm= fxxxxxx fyyyyyy fzzzzzz frrrrrr faaaaaa fbbbbbb t [cr/lf] [cr/lf]

○mmmmは、0~9999で示します。

○fは、+/-/スペースで示します。

○xxxxxx/yyyyyy/../bbbbbbは、8桁以内の数値で示します。また、

数値にドットが含まれている場合は、ミリ単位の座標系と認識します。

データは、1つ以上のスペースで区切ります。

○tは、スカラ型ロボットでの拡張設定の手系フラグを示します。

手系フラグは、スカラ型ロボット、かつ、ミリ単位の座標系を指定する

場合のみ有効です。

1 および2以外の数値もしくは数値指定がない場合は、手系フラグの設

定無し (0) として扱われます。

1:右手系でポイントが設定されていることを示します。

2:左手系でポイントが設定されていることを示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

例:

SEND PNT TO CMU  -----下記のようにポイント全体を通

信ポートから出力します。

SEND CMU TO PNT  -----下記のようなポイント全体を通

信ポートから入力します。

応答:

P0  =  1   2 3   4  5  6[cr/lf]

P1  = 1.00  2.00  3.00  4.00  5.00  6.00[cr/lf]

P2  = 1.00  0.00  0.00  0.00  0.00  0.00[cr/lf]

 :

P9999= -1.00  0.00  0.00  0.00  0.00  0.00[cr/lf]

[cr/lf]

c注意

ソフトバージョンがVer. 8.28以前

のコントローラでは、mmmmは、

0~4000で示します。

c注意

手系フラグは、Ver. 8.08以上のソフ

トバージョンのときのみ有効です。

Page 237: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

225

14. データファイル詳細

14.2.2 ポイント単位

形式:

Pmmmm

・指定ポイントを示します。

・mmmmは、0~9999で示します。

データフォーマット:

Pmmmm= fxxxxxx fyyyyyy fzzzzzz frrrrrr faaaaaa fbbbbbb t [cr/lf]

○ mmmmは、0~9999で示します。

○fは、+/-/スペースで示します。

○xxxxxx/yyyyyy/../bbbbbbは、8桁以内の数値で示します。また、

数値にドットが含まれている場合は、ミリ単位の座標系と認識します。

データは、1つ以上のスペースで区切ります。

○tは、スカラ型ロボットでの拡張設定の手系フラグを示します。

手系フラグは、スカラ型ロボット、かつ、ミリ単位の座標系を指定する

場合のみ有効です。

1 および2以外の数値もしくは数値指定がない場合は、手系フラグの設

定無し (0) として扱われます。

1:右手系でポイントが設定されていることを示します。

2:左手系でポイントが設定されていることを示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○1行は、75文字以内でなければなりません。

例:

SEND P100 TO CMU -----下記のように指定ポイントを通

信ポートから出力します。

SEND CMU TO P100 -----下記のような指定ポイントを通

信ポートから入力します。

応答:

P100 = 1 2 3 4 5 6[cr/lf]

n要点

ポイントデータは、整数値をパル

ス単位、実数値をミリ単位で示し

ます。

c注意

ソフトバージョンがVer. 8.28以前

のコントローラでは、mmmmは、

0~4000で示します。

c注意

手系フラグは、Ver. 8.08以上のソフ

トバージョンのときのみ有効です。

Page 238: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

226

14. データファイル詳細

14.3 ポイントコメントファイル

14.3.1 ポイントコメント全体

形式:

PCM

・ポイントコメント全体を示します。

・読出しファイルの場合は、登録されている全ポイントコメントが読み出され

ます。

・書込みファイルの場合は、ポイントコメント番号により書込まれます。

データフォーマット:

PCmmmm= sssssssssssssss[cr/lf] PCmmmm= sssssssssssssss[cr/lf]       : PCmmmm= sssssssssssssss[cr/lf] PCmmmm= sssssssssssssss[cr/lf] [cr/lf]

○mmmmは、0~9999で示します。

○ ss…ssは、コメントデータを示します。使用可能な文字は半角文字の

みで、最大15文字です。データ書込み時に15文字を超えた場合は、

16文字目以降は削除されます。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

例:

SEND PCM TO CMU  -----下記のようにポイントコメント

全体を通信ポートから出力しま

す。

SEND CMU TO PCM  -----下記のようなポイントコメント

全体を通信ポートから入力しま

す。

応答:

PC1   =ORIGIN POS[cr/lf]

PC3   =WAIT POS[cr/lf]

    :

PC3999= WORK100[cr/lf]

[cr/lf]

c注意

ソフトバージョンがVer. 8.28以前

のコントローラでは、mmmmは、

0~4000で示します。

Page 239: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

227

14. データファイル詳細

14.3.2 ポイントコメント単位

形式:

PCmmmm

・指定ポイントコメントを示します。

・mmmmは、0~9999で示します。(ポイントコメント番号)

データフォーマット:

PCmmmm= sssssssssssssss[cr/lf]

○mmmmは、0~9999で示します。(ポイントコメント番号)

○ss…ssは、コメントデータを示します。使用可能な文字は半角文字の

みで、最大15文字です。データ書込み時に15文字を超えた場合は、

16文字目以降は削除されます。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○1行は、75文字以内でなければなりません

例:

SEND PC1 TO CMU  -----下記のように指定ポイントコメ

ントを通信ポートから出力しま

す。

SEND CMU TO PC1  -----下記のような指定ポイントコメ

ントを通信ポートから入力しま

す。

応答:

PC1   =ORIGIN POS[cr/lf]

n要点

ポイントコメント単位は、以下の

ソフトバージョンのときのみ有効

です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

Page 240: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

228

14. データファイル詳細

14.4 パラメータファイル

14.4.1 パラメータ全体

形式:

PRM

・パラメータ全体を示します。(ユーティリティでの設定値を含みます。)

・読出しファイルの場合は、全パラメータが読み出されます。

・書込みファイルの場合は、ラベル指定のパラメータのみが書込まれます。

データフォーマット:

/パラメータラベル/ ’<コメント>[cr/lf] RC= xxxxxx [cr/lf] /パラメータラベル/ ’<コメント>[cr/lf] R1= xxxxxx R2= yyyyyy [cr/lf] /パラメータラベル/ ’<コメント>[cr/lf] A1= xxxxxx A2= yyyyyy A3= zzzzzz A4= rrrrrr[cr/lf] /パラメータラベル/ ’<コメント>[cr/lf]         : [cr/lf]

○パラメータラベルは、英字6 文字で示します。

○<コメント>は、パラメータの意味を示します。

○RC=は、コントローラ全体を示します。

○R?=では、?が1はメインロボットを、2はサブロボットを示しま

す。

○A?=では、?が軸番号を示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

n要点

・パラメータの書込みは、軸のサー

ボがオフ状態でなければできませ

ん。

・パラメータは上位バージョンへの

互換性は保ちますが、下位バー

ジョンへの互換性が保たれていな

い場合があります。

・新しいバージョンのパラメータ

ファイルを、古いバージョンのコ

ントローラにロードすると、

“10.14:ミテイギノパラメータ”のエラー

が発生することがあります。この

ような場合、その他のパラメータ

の“ミテイギノ パラメータ ヲ ロードシナイ”を

有効にすると、ロードできること

があります。詳しくは、コント

ローラ取扱説明書をご覧くださ

い。

Page 241: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

229

14. データファイル詳細

例:

SEND PRM TO CMU  -----下記のようにパラメータ全体を

通信ポートから出力します。

SEND CMU TO PRM  -----下記のようなパラメータ全体を

通信ポートから入力します。

応答:

/RBTNUM/ ’ロボットバンゴウ (V8.01/R1001)[cr/lf]

R1= 3000 R2= 3010[cr/lf]

/AXES / ’ロボットジクスウ[cr/lf]

R1= 2 R2= 2[cr/lf]

/AXSNUM/ ’ジクバンゴウ (V1.01/V1.01/V1.01/V1.01/-----/-----/-----/-----/)[cr/lf]

A1= 5000 A2= 5001 A3= 5010 A4= 5011[cr/lf]

A5= 0 A6= 0 A7= 0 A8= 0[cr/lf]

/ATTRIB/ ’ジクゾクセイ[cr/lf]

A1= 33792 A2= 33792 A3= 33792 A4= 33792[cr/lf]

A5= 256 A6= 256 A7= 256 A8= 256[cr/lf]

/WEIGHT/ ’センタン シツリョウ[kg][cr/lf]

R1= 2 R2= 12[cr/lf]

:

/CURPNO/ ’シュツリョク ポートバンゴウ[cr/lf]

RC= 20[cr/lf]

/CURPT1/ ’ヒカク ポイント1 バンゴウ[cr/lf]

RC= 0[cr/lf]

/CURPT2/ ’ヒカク ポイント2 バンゴウ[cr/lf]

RC= 0[cr/lf]

[cr/lf]

Page 242: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

230

14. データファイル詳細

14.4.2 パラメータ単位

形式:

/パラメータラベル/

・パラメータラベルは、英字6文字で示します。

・読出しファイルの場合は、ラベル指定のパラメータのみが読み出されます。

・書込みファイルの場合は、ラベル指定のパラメータのみが書込まれます。

データフォーマット:

/パラメータラベル/ ’<コメント>[cr/lf] RC= xxxxxx [cr/lf] [cr/lf]  あるいは /パラメータラベル/ ’<コメント>[cr/lf] R?= xxxxxx [cr/lf] [cr/lf]  あるいは /パラメータラベル/ ’<コメント>[cr/lf] A?= xxxxxx[cr/lf] [cr/lf]

○パラメータラベルは、英字6 文字で示します。

○<コメント>は、パラメータの意味を示します。

○RC=は、コントローラ全体を示します。

○R?=では、?が1はメインロボットを、2はサブロボットを示しま

す。

○A?=では、?が軸番号を示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

例:

SEND /ACCEL / TO CMU -----下記のように加速度パラメータ

を通信ポートから出力します。

SEND CMU TO /ACCEL /  -----下記のような加速度パラメータ

を通信ポートから入力します。

応答:

/ACCEL / ’カソクド ケイスウ[%]

A1= 100 A2= 100 A3= 100 A4= 100[cr/lf]

[cr/lf]

n要点

・パラメータの書込みは、軸のサー

ボがオフ状態でなければできませ

ん。

・パラメータは上位バージョンへの

互換性は保ちますが、下位バー

ジョンへの互換性が保たれていな

い場合があります。

・新しいバージョンのパラメータ

ファイルを、古いバージョンのコ

ントローラにロードすると、

“10.14:ミテイギノパラメータ”のエラー

が発生することがあります。この

ような場合、その他のパラメータ

の“ミテイギノ パラメータ ヲ ロードシナイ”を

有効にすると、ロードできること

があります。詳しくは、コント

ローラ取扱説明書をご覧くださ

い。

Page 243: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

231

14. データファイル詳細

14.5 シフト座標定義ファイル

14.5.1 シフト全体

形式:

SFT

・シフト全体を示します。

・読出しファイルの場合は、全シフトが読み出されます。

・書込みファイルの場合は、シフト番号により書込まれます。

データフォーマット:

Sm = fxxxxxx fyyyyyy fzzzzzz frrrrrr [cr/lf] {SPm = fxxxxxx fyyyyyy fzzzzzz frrrrrr [cr/lf]} {SMm = fxxxxxx fyyyyyy fzzzzzz frrrrrr [cr/lf]}      : Sm = fxxxxxx fyyyyyy fzzzzzz frrrrrr [cr/lf] {SPm = fxxxxxx fyyyyyy fzzzzzz frrrrrr [cr/lf]} {SMm = fxxxxxx fyyyyyy fzzzzzz frrrrrr [cr/lf]} [cr/lf]

○mは、0~9で示します。

○fは、+/-/スペースで示します。

○xxxxxx/yyyyyy/../rrrrrr は、8桁以内で小数点第2までの数値で

示します。

○{ と } で囲まれた部分は、任意の入力となります。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

例:

SEND SFT TO CMU  -----下記のようにシフト全体を通信

ポートから出力します。

SEND CMU TO SFT  -----下記のようなシフト全体を通信

ポートから入力します。

応答:

S0  = 0.00 0.00 0.00 0.00[cr/lf]

SP0 = 0.00 0.00 0.00 0.00[cr/lf]

SM0 = 0.00 0.00 0.00 0.00[cr/lf]

S1  = 1.00 1.00 1.00 1.00[cr/lf]

     :

SM9 = 9.00 9.00 9.00 9.00[cr/lf]

[cr/lf]

Page 244: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

232

14. データファイル詳細

14.5.2 シフト単位

形式:

Sm

・指定シフトを示します。

・mは、0~9で示します。

データフォーマット:

Sm = fxxxxxx fyyyyyy fzzzzzz frrrrrr [cr/lf]

○mは、0~9で示します。

○fは、+/-/スペースで示します。

○xxxxxx/yyyyyy/../rrrrrr は、8桁以内で小数点第2までの数値で

示します。

○ [cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○1行は、75文字以内でなければなりません。

例:

SEND S0 TO CMU  -----下記のように指定シフト座標を

通信ポートから出力します。

SEND CMU TO S0  -----下記のような指定シフト座標を

通信ポートから入力します。

応答:

S0  = 0.00 0.00 0.00 0.00[cr/lf]

SP0 = 0.00 0.00 0.00 0.00[cr/lf]

SM0 = 0.00 0.00 0.00 0.00[cr/lf]

[cr/lf]

Page 245: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

233

14. データファイル詳細

14.6 ハンド定義ファイル

14.6.1 ハンド全体

形式:

HND

・ハンド全体を示します。

・読出しファイルの場合は、全ハンドが読み出されます。

・書込みファイルの場合は、ハンド番号により書込まれます。

データフォーマット:

Hm = fxxxxxx fyyyyyy fzzzzzz {R} [cr/lf]      : Hm = fxxxxxx fyyyyyy fzzzzzz {R} [cr/lf] [cr/lf]

○mは、0~7で示します。0~3は、メインロボットで使用します。

4~7は、サブロボットで使用します。

○fは、+/-/スペースで示します。

○xxxxxx/yyyyyy/zzzzzz は、8桁以内で小数点第2までの数値、ま

たは7桁以下の整数値で示します。(ロボット型の設定やハンド定義の

種類によって数値形式は決定します。)

○{R}は、R軸へのハンド装着の有無を示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

例:

SEND HND TO CMU  -----下記のようにハンド全体を通信

ポートから出力します。

SEND CMU TO HND  -----下記のようなハンド全体を通信

ポートから入力します。

応答:

H0 = 0.00 0.00 0.00[cr/lf]

H1 = 1.00 1.00 1.00[cr/lf]

H2 = 2.00 2.00 2.00[cr/lf]

H3 = 3.00 3.00 3.00[cr/lf]

H4 = 4.00 4.00 4.00[cr/lf]

H5 = 5.00 5.00 5.00[cr/lf]

H6 = 6.00 6.00 6.00[cr/lf]

H7 = 7.00 7.00 7.00[cr/lf]

[cr/lf]

Page 246: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

234

14. データファイル詳細

14.6.2 ハンド単位

形式:

Hm

・指定ハンド定義を示します。

・mは、0~7で示します。

データフォーマット:

Hm = fxxxxxx fyyyyyy fzzzzzz {R} [cr/lf]

○mは、0~7で示します。0~3は、メインロボットで使用します。

4~7は、サブロボットで使用します。

○fは、+/-/スペースで示します。

○xxxxxx/yyyyyy/zzzzzz は、8桁以内で小数点第2までの数値、ま

たは7桁以下の整数値で示します。(ロボット型の設定やハンド定義の

種類によって数値形式は決定します。)

○{R}は、R軸へのハンド装着の有無を示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○1行は、75文字以内でなければなりません。

例:

SEND H3 TO CMU  -----下記のように指定ハンド定義を

通信ポートから出力します。

SEND CMU TO H3  -----下記のような指定ハンド定義を

通信ポートから入力します。

応答:

H3 = 3.00 3.00 3.00[cr/lf]

Page 247: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

235

14. データファイル詳細

14.7 パレット定義ファイル

14.7.1 パレット定義全体

形式:

PLT

・パレット定義全体を示します。

・読出しファイルの場合は、設定されているパレット定義が読み出されます。

・書込みファイルの場合は、パレット番号により書込まれます。

データフォーマット:

PLm [cr/lf] PLN = XY [cr/lf] NX = nnn [cr/lf] NY = nnn [cr/lf] NZ = nnn [cr/lf] P[1] = fxxxxxx fyyyyyy fzzzzzz frrrrrr faaaaaa fbbbbbb t [cr/lf]     : P[5] = fxxxxxx fyyyyyy fzzzzzz frrrrrr faaaaaa fbbbbbb t [cr/lf] PLm [cr/lf]     : [cr/lf]

○mは、0~19で示します。

○nnnは、正の整数で示します。

○fは、+/-/スペースで示します。

○xxxxxx/yyyyyy/../bbbbbbは、8桁以内の数値で示します。また、

数値にドットが含まれている場合は、ミリ単位の座標系と認識します。

データは、1つ以上のスペースで区切ります。

○tは、スカラ型ロボットでの拡張設定の手系フラグを示します。

手系フラグは、スカラ型ロボット、かつ、ミリ単位の座標系を指定する

場合のみ有効です。但し、パレット定義を使った動作では、手系フラグ

は無視されます。

1 および2以外の数値もしくは数値指定がない場合は、手系フラグの設

定無し (0) として扱われます。

1:右手系でポイントが設定されていることを示します。

2:左手系でポイントが設定されていることを示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

c注意

・手系フラグは、Ver. 8.08以上のソフ

トバージョンのときのみ有効です。

・パレット定義を使った動作では、

手系フラグは無視されます。

Page 248: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

236

14. データファイル詳細

例:

SEND PLT TO CMU  -----下記のように定義されているパ

レット全体を通信ポートから出

力します。

SEND CMU TO PLT  -----下記のような定義されているパ

レット全体を通信ポートから入

力します。

応答:

PL0[cr/lf]

PLN=XY[cr/lf]

NX= 3[cr/lf]

NY= 4[cr/lf]

NZ= 2[cr/lf]

P[1]= 0.00 0.00 0.00 0.00 0.00 0.00[cr/lf]

P[2]= 100.00 0.00 0.00 0.00 0.00 0.00[cr/lf]

P[3]= 0.00 100.00 0.00 0.00 0.00 0.00[cr/lf]

P[4]= 100.00 100.00 0.00 0.00 0.00 0.00[cr/lf]

P[5]= 0.00 0.00 50.00 0.00 0.00 0.00[cr/lf]

PL1[cr/lf]

PLN=XY[cr/lf]

NX= 3[cr/lf]

NY= 4[cr/lf]

NZ= 2[cr/lf]

P[1]= 0.00 0.00 0.00 0.00 0.00 0.00[cr/lf]

P[2]= 100.00 100.00 0.00 0.00 0.00 0.00[cr/lf]

P[3]= 0.00 200.00 0.00 0.00 0.00 0.00[cr/lf]

P[4]= 100.00 200.00 0.00 0.00 0.00 0.00[cr/lf]

P[5]= 0.00 0.00 100.00 0.00 0.00 0.00[cr/lf]

[cr/lf]

Page 249: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

237

14. データファイル詳細

14.7.2 パレット定義単位

形式:

PLm

・指定パレット定義を示します。

・mは、0~19で示します。

データフォーマット:

PLm [cr/lf] PLN = XY [cr/lf] NX = nnn [cr/lf] NY = nnn [cr/lf] NZ = nnn [cr/lf] P[1] = fxxxxxx fyyyyyy fzzzzzz frrrrrr faaaaaa fbbbbbb t [cr/lf]     : P[5] = fxxxxxx fyyyyyy fzzzzzz frrrrrr faaaaaa fbbbbbb t [cr/lf] [cr/lf]

○mは、0~19で示します。○nnnは、正の整数で示します。○fは、+/-/スペースで示します。○xxxxxx/yyyyyy/../bbbbbbは、8桁以内の数値で示します。また、

数値にドットが含まれている場合は、ミリ単位の座標系と認識します。データは、1つ以上のスペースで区切ります。

○tは、スカラ型ロボットでの拡張設定の手系フラグを示します。手系フラグは、スカラ型ロボット、かつ、ミリ単位の座標系を指定する場合のみ有効です。但し、パレット定義を使った動作では、手系フラグは無視されます。1 および2以外の数値もしくは数値指定がない場合は、手系フラグの設定無し (0) として扱われます。

1:右手系でポイントが設定されていることを示します。2:左手系でポイントが設定されていることを示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

例:

SEND PL2 TO CMU  -----下記のように指定パレット定義

を通信ポートから出力します。

SEND CMU TO PL2  -----下記のような指定パレット定義

を通信ポートから入力します。応答:PL2[cr/lf]PLN=XY[cr/lf]NX= 3[cr/lf]NY= 3[cr/lf]NZ= 2[cr/lf]P[1]= 100.00 100.00 50.00 90.00 0.00 0.00[cr/lf]P[2]= 200.00 100.00 50.00 90.00 0.00 0.00[cr/lf]P[3]= 100.00 200.00 50.00 90.00 0.00 0.00cr/lf]P[4]= 200.00 200.00 50.00 90.00 0.00 0.00[cr/lf]P[5]= 100.00 10.00 100.00 90.00 0.00 0.00[cr/lf]

[cr/lf]

n要点

ポイントデータは、整数値をパル

ス単位、実数値をミリ単位で示し

ます。

c注意

・手系フラグは、Ver. 8.08以上のソフ

トバージョンのときのみ有効です。

・パレット定義を使った動作では、

手系フラグは無視されます。

Page 250: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

238

14. データファイル詳細

14.8 オールファイル

14.8.1 オールファイル全体

形式:

ALL

・システム全体として、最小限必要なファイルを示します。

・読出しファイルの場合は、システム全体が読み出されます。

・書込みファイルの場合は、指定ファイルにより書込まれます。

データフォーマット:

[PGM] プログラム全体形式 [PNT] ポイント全体形式 [PCM] ポイントコメント全体形式 [PRM] パラメータ全体形式 [SFT] シフト全体形式 [HND] ハンド全体形式 [PLT] パレット全体形式 [END]

例:

SEND ALL TO CMU  -----システム全体を通信ポートから

出力します。

SEND CMU TO ALL  -----システム全体を通信ポートから

入力します。

n要点

・各ファイルの詳細は、各ファイル

の説明を参照してください。

・[xxx]の識別子をもとに、次

行からのファイル形式を決定して

います。

・[END]は、オールファイルの

終了を意味します。

Page 251: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

239

14. データファイル詳細

14.9 プログラムディレクトリファイル

14.9.1 プログラムディレクトリ全体

形式:

DIR

・プログラムディレクトリ全体を示します。

・読出しファイルの場合は、全プログラムディレクトリ情報が読み出されま

す。

・書込みファイルでの指定はできません。

データフォーマット:

No.  プログラム ライン バイト ゾクセイ ヒヅケ ジコク[cr/lf] nnnfgssssssss llll bbbbbb xx yy/mm/dd hh:mm[cr/lf]    : nnnfgssssssss llll bbbbbb xx yy/mm/dd hh:mm[cr/lf] END[cr/lf]

○nnn(3桁)は、プログラムディレクトリの番号を示します。

○f(1桁)は、プログラムオブジェクトを所有していれば“o”を、シーケ

ンスオブジェクトを所有していれば“s”を表示します。

○g(1桁)は、現在選択されているプログラムであれば“*”を表示しま

す。

○ssssssss(8桁)は、プログラム名を示します。

○llll(4桁)は、プログラムの行数を示します。

○bbbbbb(6桁)は、プログラムの使用バイト数を示します。

○xx(2桁)は、読書き可能であれば“RW”を、書込み不可であれば

“RO”を表示します。

○yy/mm/dd (8桁)は、更新日付を示します。

○hh:mm (5桁)は、更新時間を示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例:

SEND DIR TO CMU -----下記のように作成されているプ

ログラム情報全体を通信ポート

から出力します。

応答:

No. プログラム ライン バイト ゾクセイ ヒヅケ     ジコク[cr/lf]

1o* 12345678 5 21 RW 01/06/20 10:35[cr/lf]

2 PGM1 5 66 RW 01/06/20 10:35[cr/lf]

3 PGM2 5 66 RW 01/06/20 10:35[cr/lf]

4 PGM3 5 66 RW 01/06/20 10:35[cr/lf]

5 PGM4 5 66 RW 01/06/20 10:35[cr/lf]

6 PGM5 5 66 RW 01/06/20 10:35[cr/lf]

7 PGM6 5 66 RW 01/06/20 10:35[cr/lf]

8s SEQUENCE 1 15 RW 01/06/20 10:35[cr/lf]

END[cr/lf]

Page 252: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

240

14. データファイル詳細

14.9.2 プログラム単位

形式:

<<プログラム名>>

・ 1 つのプログラム情報を示します。

データフォーマット:

No. プログラム  ライン バイト  ゾクセイ   ヒヅケ    ジコク[cr/lf] nnnfgssssssss llll bbbbbb xx yy/mm/dd hh:mm[cr/lf]

○nnn(3桁)は、プログラムディレクトリの番号を示します。

○f(1桁)は、プログラムオブジェクトを所有していれば“o”を、シーケ

ンスオブジェクトを所有していれば“s”を表示します。

○g(1桁)は、現在選択されているプログラムであれば“*”を表示しま

す。

○ssssssss(8桁)は、プログラム名を示します。

○llll(4桁)は、プログラムの行数を示します。

○bbbbbb(6桁)は、プログラムの使用バイト数を示します。

○xx(2桁)は、読書き可能であれば“RW”を、書込み不可であれば

“RO”を表示します。

○yy/mm/dd (8桁)は、更新日付を示します。

○hh:mm (5桁)は、更新時間を示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例:

SEND <<TEST>> TO CMU----下記のように指定プログラム情

報を通信ポートから出力します。

応答:

No. プログラム ライン バイト ゾクセイ ヒヅケ ジコク[cr/lf]

3o* PGM2 5 66 RW 01/06/20 10:35[cr/lf]

Page 253: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

241

14. データファイル詳細

14.10 パラメータディレクトリファイル

14.10.1 パラメータディレクトリ全体

形式:

DPM

・パラメータディレクトリ全体を示します。

・読出しファイルの場合は、全パラメータディレクトリ情報が読み出されま

す。

・書込みファイルでの指定はできません。

データフォーマット:

/パラメータラベル/ ’<コメント>[cr/lf] /パラメータラベル/ ’<コメント>[cr/lf]     : /パラメータラベル/ ’<コメント>[cr/lf] [cr/lf]

○パラメータラベルは、英字6 文字で示します。

○<コメント>は、パラメータの意味を示します。

○ [cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

例:

SEND DPM TO CMU  -----下記のように作成されているパ

ラメータ情報全体を通信ポート

から出力します。

応答:

/RBTNUM/ ’ロボットバンゴウ (V8.01/R1001)[cr/lf]

/AXES  / ’ロボットジクスウ[cr/lf]

/AXSNUM/ ’ジクバンゴウ (V1.01/V1.01/V1.01/V1.01/-----/-----/-----/-----/)[cr/lf]

/ATTRIB / ’ジクゾクセイ[cr/lf]

/WEIGHT/ ’センタン シツリョウ[kg][cr/lf]

/ORIGIN/ ’ゲンテンフッキ ジュンジョ[cr/lf]

/RORIEN/ ’Rジク ホウコウホジ[cr/lf]

:

/CURPNO/ ’シュツリョク ポートバンゴウ[cr/lf]

/CURPT1/ ’ヒカク ポイント1 バンゴウ[cr/lf]

/CURPT2/ ’ヒカク ポイント2 バンゴウ[cr/lf]

[cr/lf]

Page 254: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

242

14. データファイル詳細

14.11 変数ファイル

14.11.1 変数全体

形式:

VAR

・グローバル変数全体を示します。

・読出しファイルの場合は、全グローバル変数が読み出されます。

・書込みファイルの場合は、指定グローバル変数により書込まれます。

データフォーマット:

<変数名>t = xxxxxx [cr/lf] <変数名>t = xxxxxx [cr/lf]     : <変数名>t = xxxxxx [cr/lf] [cr/lf]

○<変数名>は、プログラム内部で定義されているグローバル変数を示し

ます。

○<変数名>は、英数字または“_”を使用した16文字以内の文字列で

示します。

○tは、変数の型種別で示します。(!:実数/%:整数/$:文字列)

○xxxxxは、変数の型種別によって異なります。

整数型:7桁以下の整数値

実数型:整数部+小数部が7 桁以下の数値

文字型:70文字以下の文字列

○ [cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

Page 255: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

243

14. データファイル詳細

例:

SEND VAR TO CMU  -----下記のようにグローバル変数全

体を通信ポートから出力します。

応答:

SGI0=0[cr/lf]

SGI1=1111[cr/lf]

SGI2=2222[cr/lf]

SGI3=3333[cr/lf]

SGI4=4444[cr/lf]

SGI5=5555[cr/lf]

SGI6=6666[cr/lf]

SGI7=7777[cr/lf]

SGR0=0[cr/lf]

SGR1=1.1111E3[cr/lf]

SGR2=2.2222E3[cr/lf]

SGR3=3.3333E3[cr/lf]

SGR4=4.4444E3[cr/lf]

SGR5=5.5555E3[cr/lf]

SGR6=6.6666E3[cr/lf]

SGR7=7.7777E3[cr/lf]

B1%=111[cr/lf]

B2%=222[cr/lf]

C1$=”CNS_1”[cr/lf]

C2$=”CNS_2”[cr/lf]

[cr/lf]

Page 256: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

244

14. データファイル詳細

14.11.2 変数単位

形式:

<変数名>t

・ 1 つの変数を示します。

データフォーマット:

xxxxxx [cr/lf]

○<変数名>は、プログラム内部で定義されているグローバル変数を示し

ます。

○<変数名>は、英数字または“_”を使用した16文字以内の文字列で

示します。

○tは、変数の型種別で示します。(!:実数/%:整数/$:文字列)

○xxxxxは、変数の型種別によって異なります。

整数型:8桁以下の整数値

実数型:整数部+小数部が7 桁以下の数値

文字型:70文字以下の文字列

○ [cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○1行は、75文字以内でなければなりません。

例:

SEND SGI6 TO CMU[cr/lf]  ------下記のように指定変数

SGI6を通信ポート

から出力します。

応答:

6666[cr/lf]

n要点

・SGIxは、整数型静的変数を示

します。

・SGRxは、実数型静的変数を示

します。

・動的グローバル変数は、プログラ

ムコンパイル時に登録されます。

登録されていない変数への参照は

できません。

Page 257: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

245

14. データファイル詳細

14.12 定数ファイル

14.12.1 文字列単体

形式:

”<文字列>”

・指定文字列を示します。

・読出しファイルの場合は、指定文字列が読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

sssss…ssssss[cr/lf]

○sssss…ssssss は、61文字以内で示します。

○ダブルコーテイション(”)の出力は、ダブルコーテイション(”)を連

続記述します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例:

SEND”””YAMAHA ROBOT””” TO CMU 

----------下記のように指定文字列を通信ポートから出力します。

応答:

”YAMAHA ROBOT”[cr/lf]

Page 258: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

246

14. データファイル詳細

14.13 配列変数ファイル

14.13.1 配列変数全体

形式:

ARY

・配列変数全体を示します。

・読出しファイルの場合は、全配列変数が読み出されます。

・書込みファイルの場合は、指定配列変数により書込まれます。

データフォーマット:

<変数名>t(l{,m{,n}}) = xxxxxx [cr/lf] <変数名>t(l{,m{,n}}) = xxxxxx [cr/lf]      : <変数名>t(l{,m{,n}}) = xxxxxx [cr/lf] [cr/lf]

○<変数名>は、プログラム内部でDIM文で定義されているグローバル

配列変数を示します。

○<変数名>は、英数字または“_”を使用した16文字以内の文字列で

示します。

○tは、配列変数の型種別で示します。(!:実数/%:整数/$:文字

列)

○l,m,n は、配列引数を示します。

○xxxxxは、配列変数の型種別によって異なります。

整数型:8桁以下の整数値

実数型:整数部+小数部が7 桁以下の数値

文字型:70文字以下の文字列

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

○1行は、75文字以内でなければなりません。

Page 259: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

247

14. データファイル詳細

例:

SEND ARY TO CMU  -----下記のようにグローバル配列変

数全体を通信ポートから出力し

ます。

応答:

A!(0)=0[cr/lf]

A!(1)=1.E2[cr/lf]

A!(2)=2.E2[cr/lf]

B%(0,0)=0[cr/lf]

B%(0,1)=1111[cr/lf]

B%(1,0)=2222[cr/lf]

B%(1,1)=3333[cr/lf]

C$(0,0,0)=”ARY1”[cr/lf]

C$(0,0,1)=”ARY2”[cr/lf]

C$(0,1,0)=”ARY3”[cr/lf]

C$(0,1,1)=”ARY4”[cr/lf]

C$(1,0,0)=”ARY5”[cr/lf]

C$(1,0,1)=”ARY6”[cr/lf]

C$(1,1,0)=”ARY7”[cr/lf]

C$(1,1,1)=”ARY8”[cr/lf]

[cr/lf]

Page 260: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

248

14. データファイル詳細

14.13.2 配列変数単位

形式:

<変数名>t(l{,m{,n}})

・ 1 つの配列変数を示します。

データフォーマット:

xxxxxx [cr/lf]

○<変数名>は、プログラム内部でDIM文で定義されているグローバル

配列変数を示します。

○<変数名>は、英数字または“_”を使用した16文字以内の文字列で

示します。

○tは、配列変数の型種別で示します。(!:実数/%:整数/$:文字

列)

○l,m,n は、配列引数を示します。

○xxxxxは、配列変数の型種別によって異なります。

整数型:8桁以下の整数値

実数型:整数部+小数部が7 桁以下の数値

文字型:70文字以下の文字列

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例:

SEND CMU TO C1$(2)[cr/lf] 

----------下記のような指定配列変数C1$(2)を通信ポートから入力し

ます。

応答:

YAMAHA ROBOT[cr/lf]

n要点

DIM文で定義された配列変数

は、プログラムコンパイル時に登

録されます。登録されていない配

列変数への参照はできません。

Page 261: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

249

14. データファイル詳細

14.14 DIファイル

14.14.1 DI全体

形式:

DI()

・DI全体を示します。

・読出しファイルの場合は、DI全体情報が読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

DI0()=&Bnnnnnnnn [cr/lf] DI1()=&Bnnnnnnnn [cr/lf]     : DI27()=&Bnnnnnnnn [cr/lf] [cr/lf]

○nは、0または1の8桁で示します。右からm0,m1,,,m7となり

ます。(mはポート番号を意味します。)

○ [cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

例:

SEND DI() TO CMU  -----下記のようにDI全体を通信

ポートから出力します。

応答:

DI0()=&B10001001[cr/lf]

DI1()=&B00000010[cr/lf]

DI2()=&B00000000[cr/lf]

:

DI7()=&B00000000[cr/lf]

DI10()=&B00000000[cr/lf]

DI11()=&B00000000[cr/lf]

DI12()=&B00000000[cr/lf]

DI17()=&B00000000[cr/lf]

DI20()=&B00000000[cr/lf]

DI26()=&B00000000[cr/lf]

DI27()=&B00000000[cr/lf]

[cr/lf]

Page 262: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

250

14. データファイル詳細

14.14.2 DIポート単位

形式:

DIm()

・ 1 つのDIポート状態を示します。

・読出しファイルの場合は、指定DIポートが読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

DIm()=&Bnnnnnnnn[cr/lf]

○mは、0~7、10~17、20~27とします。

○nは、0または1の8桁で示します。右からm0,m1,,,m7となり

ます。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例:

SEND DI5() TO CMU -----下記のようにDI5ポートを通

信ポートから出力します。

応答:

DI5()=&B00000000[cr/lf]

Page 263: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

251

14. データファイル詳細

14.15 DOファイル

14.15.1 DO全体

形式:

DO()

・DO全体を示します。

・読出しファイルの場合は、DO全体情報が読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

DO0()=&Bnnnnnnnn [cr/lf] DO1()=&Bnnnnnnnn [cr/lf]      : DO27()=&Bnnnnnnnn [cr/lf] [cr/lf]

○nは、0または1の8桁で示します。右からm0,m1,,,m7となり

ます。(mはポート番号を意味します。)

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

例:

SEND DO() TO CMU -----下記のようにDO全体を通信

ポートから出力します。

応答:

DO0()=&B10001001[cr/lf]

DO1()=&B00000010[cr/lf]

DO2()=&B00000000[cr/lf]

:

DO7()=&B00000000[cr/lf]

DO10()=&B00000000[cr/lf]

DO11()=&B00000000[cr/lf]

DO12()=&B00000000[cr/lf]

DO17()=&B00000000[cr/lf]

DO20()=&B00000000[cr/lf]

DO26()=&B00000000[cr/lf]

DO27()=&B00000000[cr/lf]

[cr/lf]

Page 264: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

252

14. データファイル詳細

14.15.2 DOポート単位

形式:

DOm()

・ 1 つのDOポート状態を示します。

・読出しファイルの場合は、指定DOポートが読み出されます。

・書込みファイルの場合は、指定DOポートへ値が書込まれます。ただし、D

O0()とDO1()への書込みはできません。

データフォーマット:

読出しファイル

DOm()=&Bnnnnnnnn[cr/lf]

書込みファイル

&Bnnnnnnnn[cr/lf] または k[cr/lf]

○mは、0~7、10~17、20~27とします。

○nは、0または1の8桁で示します。右からm0,m1,,,m7となり

ます。

○kは、0~255の整数です。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例1:

SEND DO5() TO CMU  -----下記のようにDO5ポートを通

信ポートから出力します。

応答:

DO5()=&B00000000[cr/lf]

例2:

SEND CMU TO DO5() -----下記のようにDO5ポートを通

信ポートから入力します。

&B00000111

応答:

OK[cr/lf]

n要点

DO0()とDO1()への書込みはでき

ません。

Page 265: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

253

14. データファイル詳細

14.16 MOファイル

14.16.1 MO全体

形式:

MO()

・MO全体を示します。

・読出しファイルの場合は、MO全体情報が読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

MO0()=&Bnnnnnnnn [cr/lf] MO1()=&Bnnnnnnnn [cr/lf]      : MO27()=&Bnnnnnnnn [cr/lf] [cr/lf]

○nは、0または1の8桁で示します。右からm0,m1,,,m7となり

ます。(mはポート番号を意味します。)

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

例:

SEND MO() TO CMU  -----下記のようにMO全体を通信

ポートから出力します。

応答:

MO0()=&B10001001[cr/lf]

MO1()=&B00000010[cr/lf]

MO2()=&B00000000[cr/lf]

:

MO7()=&B00000000[cr/lf]

MO10()=&B00000000[cr/lf]

MO11()=&B00000000[cr/lf]

MO12()=&B00000000[cr/lf]

MO17()=&B00000000[cr/lf]

MO20()=&B00000000[cr/lf]

MO26()=&B00000000[cr/lf]

MO27()=&B00000000[cr/lf]

[cr/lf]

Page 266: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

254

14. データファイル詳細

14.16.2 MOポート単位

形式:

MOm()

・ 1 つのMOポート状態を示します。

・読出しファイルの場合は、指定MOポートが読み出されます。

・書込みファイルの場合は、指定MOポートへ値が書込まれます。ただし、

MO0()とMO1()への書込みはできません。

データフォーマット:

読出しファイル

MOm()=&Bnnnnnnnn[cr/lf]

書込みファイル

&Bnnnnnnnn[cr/lf] または k[cr/lf]

○mは、0~7、10~17、20~27とします。

○nは、0または1の8桁で示します。右からm0,m1,,,m7となり

ます。

○kは、0~255の整数です。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例1:

SEND MO5() TO CMU  -----下記のようにMO5ポートを通

信ポートから出力します。

応答:

MO5()=&B00000000[cr/lf]

例2

SEND CMU TO MO5()  -----下記のようにMO5ポートを通

信ポートから入力します。

&B00000111

応答:

OK[cr/lf]

n要点

MO0()とMO1()への書込みはでき

ません。

Page 267: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

255

14. データファイル詳細

14.17 LOファイル

14.17.1 LO全体

形式:

LO()

・LO全体を示します。

・読出しファイルの場合は、LO全体情報が読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

LO0()=&Bnnnnnnnn [cr/lf] [cr/lf]

○nは、0または1の8桁で示します。右から00,01,,,07となり

ます。(mはポート番号を意味します。)

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

例:

SEND LO() TO CMU -----下記のようにLO全体を通信

ポートから出力します。

応答:

LO0()=&B10001001[cr/lf]

[cr/lf]

Page 268: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

256

14. データファイル詳細

14.17.2 LOポート単位

形式:

LO0()

・ 1 つのLOポート状態を示します。

・読出しファイルの場合は、指定LOポートが読み出されます。

・書込みファイルの場合は、指定LOポートへ値が書込まれます。

データフォーマット:

読出しファイル

LO0()=&Bnnnnnnnn[cr/lf]

書込みファイル

&Bnnnnnnnn[cr/lf] または k[cr/lf]

○nは、0または1の8桁で示します。右から00,01,,,07となり

ます。

○kは、0~255の整数です。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例1:

SEND LO0() TO CMU  -----下記のようにLO0ポートを通

信ポートから出力します。

応答:

LO0()=&B00000000[cr/lf]

例2:

SEND CMU TO LO0()  -----下記のようにLO0ポートを通

信ポートから入力します。

&B00000111

応答:

OK[cr/lf]

Page 269: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

257

14. データファイル詳細

14.18 TOファイル

14.18.1 TO全体

形式:

TO()

・TO全体を示します。

・読出しファイルの場合は、TO全体情報が読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

TO0()=&Bnnnnnnnn [cr/lf] [cr/lf]

○nは、0または1の8桁で示します。右から00,01,,,07となり

ます。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

例:

SEND TO() TO CMU  -----下記のようにTO全体を通信

ポートから出力します。

応答:

TO0()=&B10001001[cr/lf]

[cr/lf]

Page 270: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

258

14. データファイル詳細

14.18.2 TOポート単位

形式:

TO0()

・1 つのTOポート状態を示します。

・読出しファイルの場合は、指定TOポートが読み出されます。

・書込みファイルの場合は、指定TOポートへ値が書込まれます。

データフォーマット:

読出しファイル

TO0()=&Bnnnnnnnn[cr/lf]

書込みファイル

&Bnnnnnnnn[cr/lf] または k[cr/lf]

○ nは、0または1の8桁で示します。右から00,01,,,07とな

ります。

○kは、0~255の整数です。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例1:

SEND TO0() TO CMU  -----下記のようにTO0ポートを通

信ポートから出力します。

応答:

TO0()=&B00000000[cr/lf]

例2:

SEND CMU TO TO0()  -----下記のようにTO0ポートを通

信ポートから入力します。

&B00000111

応答:

OK[cr/lf]

Page 271: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

259

14. データファイル詳細

14.19 SIファイル

14.19.1 SI全体

形式:

SI()

・SI全体を示します。

・読出しファイルの場合は、SI全体情報が読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

SI0()=&Bnnnnnnnn [cr/lf] SI1()=&Bnnnnnnnn [cr/lf]      : SI27()=&Bnnnnnnnn [cr/lf] [cr/lf]

○ nは、0または1の8桁で示します。右からm0,m1,,,m7とな

ります。(mはポート番号を意味します。)

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

例:

SEND SI() TO CMU  -----下記のようにSI全体を通信

ポートから出力します。

応答:

SI0()=&B10001001[cr/lf]

SI1()=&B00000010[cr/lf]

SI2()=&B00000000[cr/lf]

:

SI7()=&B00000000[cr/lf]

SI10()=&B00000000[cr/lf]

SI11()=&B00000000[cr/lf]

SI12()=&B00000000[cr/lf]

SI17()=&B00000000[cr/lf]

SI20()=&B00000000[cr/lf]

SI26()=&B00000000[cr/lf]

SI27()=&B00000000[cr/lf]

[cr/lf]

Page 272: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

260

14. データファイル詳細

14.19.2 SIポート単位

形式:

SIm()

・1つのSIポート状態を示します。

・読出しファイルの場合は、指定SIが読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

SIm()=&Bnnnnnnnn[cr/lf]

○mは、0~7、10~17、20~27とします。

○nは、0または1の8桁で示します。右からm0,m1,,,m7となり

ます。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例:

SEND SI5() TO CMU  -----下記のようにSI5ポートを通

信ポートから出力します。

応答:

SI5()=&B00000000[cr/lf]

Page 273: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

261

14. データファイル詳細

14.20 SOファイル

14.20.1 SO全体

形式:

SO()

・SO全体を示します。

・読出しファイルの場合は、SO全体情報が読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

SO0()=&Bnnnnnnnn [cr/lf] SO1()=&Bnnnnnnnn [cr/lf]       : SO27()=&Bnnnnnnnn [cr/lf] [cr/lf]

○nは、0または1の8桁で示します。右からm0,m1,,,m7となり

ます。(mはポート番号を意味します。)

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

例:

SEND SO() TO CMU  -----下記のようにSO全体を通信

ポートから出力します。

応答:

SO0()=&B10001001[cr/lf]

SO1()=&B00000010[cr/lf]

SO2()=&B00000000[cr/lf]

:

SO7()=&B00000000[cr/lf]

SO10()=&B00000000[cr/lf]

SO11()=&B00000000[cr/lf]

SO12()=&B00000000[cr/lf]

SO17()=&B00000000[cr/lf]

SO20()=&B00000000[cr/lf]

SO26()=&B00000000[cr/lf]

SO27()=&B00000000[cr/lf]

[cr/lf]

Page 274: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

262

14. データファイル詳細

14.20.2 SOポート単位

形式:

SOm()

・SOポート単位の出力状態を示します。

・読出しファイルの場合は、指定SOポートが読み出されます。

・書込みファイルの場合は、指定SOポートへ値が書込まれます。ただし、S

O0()とSO1()への書込みはできません。

データフォーマット:

読出しファイル

SOm()=&Bnnnnnnnn[cr/lf]

書込みファイル

&Bnnnnnnnn[cr/lf] または k[cr/lf]

○mは、0~7、10~17、20~27とします。

○ nは、0または1の8桁で示します。右からm0,m1,,,m7とな

ります。

○kは、0~255の整数です。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例1:

SEND SO5() TO CMU  -----下記のようにSO5ポートを通

信ポートから出力します。

応答:

SO5()=&B00000000[cr/lf]

例2:

SEND CMU TO SO5()  -----下記のようにSO5ポートを通

信ポートから入力します。

&B00000111

応答:

OK[cr/lf]

n要点

SO0()とSO1()への書込みはでき

ません。

Page 275: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

263

14. データファイル詳細

14.21 エラーメッセージ履歴ファイル

14.21.1 エラーメッセージ履歴全体

形式:

LOG

・エラーメッセージ履歴全体を示します。

・読出しファイルの場合は、エラーメッセージ履歴全体が読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

nnn:yy/mm/dd,hh:mm:ss gg.bb:msg[cr/lf]nnn:yy/mm/dd,hh:mm:ss gg.bb:msg[cr/lf]     :nnn:yy/mm/dd,hh:mm:ss gg.bb:msg[cr/lf][cr/lf]

○nnnは、エラー履歴の通番です。最大500番までの番号です。

○yyとmmとddは、年月日です。

○hh とmm とss は、時分秒です。

○ggは、エラーメッセージグループです。

○bbは、エラーメッセージ分類です。

○msgは、エラーメッセージです。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

例:

SEND LOG TO CMU  -----下記のようにエラーメッセージ

履歴全体を通信ポートから出力

します。

1 :01/06/14,13:19:20 14.22:カイシコード(@) ナシ[cr/lf]

2 :01/06/14,13:18:34 22.3: DC24V デンアツ テイカ[cr/lf]

:

498:01/06/12,21:49:54 5.39:シキベツシ アヤマリ[cr/lf]

499:01/06/12,21:49:14 14.22:カイシコード(@) ナシ[cr/lf]

500:01/06/12,21:49:00 22.3: DC24V デンアツ テイカ[cr/lf]

[cr/lf]

Page 276: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

264

14. データファイル詳細

14.22 マシンリファレンスファイル

14.22.1 マシンリファレンスファイル全体

形式:

MRF

・ロボット原点復帰動作およびアブソサーチ動作のマシンリファレンスデータ

を示します。

・読出しファイルの場合は、マシンリファレンスデータ全体が読み出されま

す。

・書込みファイルでの指定はできません。

データフォーマット:

M1=nnn% M2=nnn% . . . nnn%[cr/lf] S1=nnn% S2=nnn% . . . nnn%[cr/lf] [cr/lf]

○nnnは、0~100の整数で示します。

○M?は、メインロボットグループの軸を示します。

○S?は、サブロボットグループの軸を示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[cr/lf]のみの行を付加し

ます。

例:

SEND MRF TO CMU  -----下記のようにマシンリファレン

ス全体を通信ポートから出力し

ます。

応答:

M1= 55% M2= 23% M3= 33% M4= 26%[cr/lf]

[cr/lf]

Page 277: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

265

14. データファイル詳細

14.23 EOFファイル

14.23.1 EOFデータ

形式:

EOF

・このファイルは^Z(=1Ah)のみの特殊ファイルです。

・読出しファイルの場合は、^Z(=1Ah)が読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

^Z(=1Ah)

例:

SEND PGM TO CMU

SEND EOF TO CMU  -----下記のようにEOFデータを通

信ポートから出力します。

NAME=TEST1[cr/lf]

A=1[cr/lf]

:

HALT[cr/lf]

[cr/lf]

^Z

n要点

通信を使って外部装置にデータを

送信する場合、^Zがファイル終了

となる場合に使用します。

Page 278: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

266

14. データファイル詳細

14.24 シリアルポート通信ファイル

14.24.1 シリアルポート通信ファイル

形式:

CMU

・シリアル通信ポートを示します。

・各種データフォーマットに依存します。

例:

SEND PNT TO CMU  -----ポイント全体を通信ポートから

出力します。

SEND CMU TO PNT  -----ポイント全体を通信ポートから

入力します。

Page 279: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

267

14. データファイル詳細

14.25 SIW ファイル

14.25.1 SIW全体

形式:

SIW()

・SIW全体を示します。

・読出しファイルの場合は、SIW全体情報が16進数で読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

SIW( 0)=&Hnnnn [cr/lf]SIW( 1)=&Hnnnn [cr/lf] :SIW(15)=&Hnnnn [cr/lf][ cr/lf]

○n は、0~9,A~Fの4桁で示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[ cr/lf] のみの行を付加

します。

例:

SEND SIW() TO CMU -----下記のようにSIW 全体を通信

ポートから出力します。

応答:

SIW( 0)=&H1001[cr/lf]

SIW( 1)=&H0010[cr/lf]

SIW( 2)=&H0000[cr/lf]

:

SIW(15)=&H0000[cr/lf]

[cr/lf]

c注意

SIWは、Ver. 8.08以上のソフトバー

ジョンのときのみ有効です。

Page 280: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

268

14. データファイル詳細

14.25.2 SIW単位

形式:

SIW(m)

・1つのSIW状態を示します。

・読出しファイルの場合は、指定SIWが16進数で読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

SIW(m)=&Hnnnn [cr/lf]

○mは、0~15とします。

○nは、0~9,A~Fの4桁で示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例:

SEND SIW(5) TO CMU -----下記のようにSIW(5)を通

信ポートから出力します。

応答:

SIW( 5)=&H1001[cr/lf]

c注意

SIWは、Ver. 8.08以上のソフトバー

ジョンのときのみ有効です。

Page 281: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

269

14. データファイル詳細

14.26 SOW ファイル

14.26.1 SOW全体

形式:

SOW()

・SOW全体を示します。

・読出しファイルの場合は、SOW全体情報が16進数で読み出されます。

・書込みファイルでの指定はできません。

データフォーマット:

SOW( 0)=&Hnnnn [cr/lf]SOW( 1)=&Hnnnn [cr/lf] :SOW(15)=&Hnnnn [cr/lf][ cr/lf]

○n は、0~9,A~Fの4桁で示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

○ファイルの最後尾には、ファイルの終了を示す[ cr/lf] のみの行を付加

します。

例:

SEND SOW() TO CMU -----下記のようにSOW 全体を通信

ポートから出力します。

応答:

SOW( 0)=&H1001[cr/lf]

SOW( 1)=&H0010[cr/lf]

SOW( 2)=&H0000[cr/lf]

:

SOW(15)=&H0000[cr/lf]

[cr/lf]

c注意

SOWは、Ver. 8.08以上のソフト

バージョンのときのみ有効です。

Page 282: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

270

14. データファイル詳細

14.26.2 SOW単位

形式:

SOW(m)

・1つのSOW状態を示します。

・読出しファイルの場合は、指定SOWが16進数で読み出されます。

・書込みファイルの場合は、指定SOWへ値が書込まれます。ただし、SOW

(0)とSOW(1)への書込みはできません。

データフォーマット:

SOW(m)=&Hnnnn [cr/lf]

○mは、2~15とします。

○nは、0~9,A~Fの4桁で示します。

○[cr/lf]は、CRコード(0Dh)+LFコード(0Ah)を示します。

例1:

SEND SOW(5) TO CMU -----下記のようにSOW(5)を通

信ポートから出力します。

応答:

SOW( 5)=&H1001[cr/lf]

例2:

SEND CMU TO SOW(5) -----下記のようにSOW(5)に通

信ポートから入力します。

&H1001

応答:

OK[cr/lf]

n要点

SOW(0)とSOW(1)への

書込みはできません。

c注意

SOWは、Ver. 8.08以上のソフト

バージョンのときのみ有効です。

Page 283: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

271

14. データファイル詳細

14.27 Ethernet ポート通信ファイル

14.27.1 Ethernet ポート通信ファイル

形式:

ETH

・Ethernet ポートを示します。

・各種データフォーマットに依存します。

例:

SEND PNT TO ETH -----ポイント全体をEthernet ポー

トから出力します。

SEND ETH TO PNT -----ポイント全体をEthernet ポー

トから入力します。

c注意

ETHは、Ver. 8.22以上のソフト

バージョンのときのみ有効です。

Page 284: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

272

15. ユーザープログラム例

15.1 基本編

15.1.1 ポイントデータを直接プログラム中に書く

概要

ポイントデータをプログラム中で直接指定することによって、ロボットアームを

PTP動作させます。

処理フロー

300.00 300.00 50.00  90.00 0.00 0.00 へPTPで移動 300.00 100.00  0.00   0.00 0.00 0.00 へPTPで移動 200.00 200.00 10.00 -90.00 0.00 0.00 へPTPで移動

START

STOP

プログラム例

MOVE P, 300 .00 300 . 00 50 .00  90 . 00 0 . 00 0 .00

MOVE P, 300 .00 100 . 00  0 .00   0 . 00 0 . 00 0 .00

MOVE P, 200 .00 200 . 00 10 .00 -90 . 00 0 . 00 0 .00

HALT

Page 285: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

273

15. ユーザープログラム例

15.1.2 ポイント番号を使用する

概要

プログラム中でポイント番号を用いて座標値を指定します。ポイント(シュドウ

>ポイント)モードであらかじめ座標値を入力します。以下のデータを入力して

ください。

P0=   0 .00   0 . 00   0 .00  0 . 00 0 .00 0 . 00

P1= 100 .00   0 . 00 150 .00 30 . 00 0 .00 0 . 00

P2=   0 .00 100 . 00  50 .00  0 . 00 0 .00 0 . 00

P3= 300 .00 300 . 00   0 .00  0 . 00 0 .00 0 . 00

P4= 300 .00 100 . 00 100 .00 90 . 00 0 .00 0 . 00

P5= 200 .00 200 . 00   0 .00  0 . 00 0 .00 0 . 00

処理フロー

P0へPTPで移動する P1へPTPで移動する P2へPTPで移動する P3へPTPで移動する P4へPTPで移動する P5へPTPで移動する

START

STOP

プログラム例

MOVE P,P0 FOR J=0 TO 5

MOVE P,P1 MOVE P,P[J]

MOVE P,P2 NEXT J

MOVE P,P3 または HALT

MOVE P,P4

MOVE P,P5

HALT

Page 286: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

274

15. ユーザープログラム例

15.1.3 シフト座標の使用

概要

図で示すようにP3からP5までPTPで移動した後、X方向へ+140、Y軸

方向へ-100シフトして、再度P3からP5までPTPで移動します。シフト

座標はS1に設定しておき、P3,P4,P5は前項(15.1.2 ポイント番号を

使用する)で設定したものを用います。

 S0=   0 .00    0 .00 0 .00 0 .00

 S1= 140 .00 -100 .00 0 .00 0 .00

P3

P5

P4

Y+

X+ →

シフト座標 S0

シフト座標 S1

0

140

100

処理フロー

P3からP5までPTPで移動する S1だけシフトして、P3からP5へPTPで移動する

START

STOP

プログラム例

 SHIFT S0

 FOR J=3 TO 5

MOVE P, P[J]

 NEXT J

 SHIFT S1

 FOR K=3 TO 5

MOVE P,P[K]

 NEXT K

 HALT

Page 287: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

275

15. ユーザープログラム例

15.1.4 パレタイジング

15.1.4.1 シフト座標の利用

概要

等間隔に並んだパレット上の各ポイントとワーク供給位置P0を、交互に移動す

るプログラムを作成します。次図においてN1~N20は直交座標上でX方向に

50mmピッチで5点が、Y方向に25mmピッチで4点が並んでいます。アー

ムはポイントからポイントへ、P0 N1 P0 N2…N5 P0‐N6‐P

0…というようにP0と各点を往復します。

ワーク供給位置 :P0=    0. 0  0 . 0 0 . 0 0 .0 0 .0 0 . 0

X方向のピッチ :P10=  50. 0  0 . 0 0 . 0 0 .0 0 .0 0 . 0

Y方向のピッチ :P20=   0. 0 25 . 0 0 . 0 0 .0 0 .0 0 . 0

N1の位置 :P1 = 100. 0 50 . 0 0 . 0 0 .0 0 .0 0 . 0

以上をポイントデータモードにてあらかじめ入力します。

シフト座標 S1

N16 N17 N18 N19 N20

N11 N12 N13 N14 N15

N6 N7 N8 N9 N10

N1 N2 N3 N4 N5

50

25

P0

Y+

X+

処理フロー

START

P200=P1P100=P1

5回繰り返す

4回繰り返す

P0へ移動 P100へ移動

P100=P100+P10

STOP

P200=P200+P20P100=P200

Page 288: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

276

15. ユーザープログラム例

プログラム例

 SHIFT S1

 P100=P1

 P200=P1

 FOR J=1 TO 4

  FOR K=1 TO 5

   SHIFT S0

   MOVE P,P0

   SHIFT S1

   MOVE P,P100

   P100=P100+P10

  NEXT K

  P200=P200+P20

  P100=P200

 NEXT J

15.1.4.2 パレット移動の利用

概要

等間隔に並んだパレット上の各ポイントとワーク供給位置P0を、交互に移動す

るプログラムを作成します。次図においてN1~N24は直交座標上でX方向に

50mmピッチで3点、Y方向に50mmピッチで4点、Z方向に100mm

ピッチで2点並んでいます。アームはポイントからポイントへ、P0-N1-P

0-N2…-N5-P0-N6…というようにP0と各点を往復します。

ワーク供給位置 :P0= 0 .00 0 . 00 100 .00 0 .00 0 .00 0 .00

パレット定義 :PL0 (使用ポイントは、P3996~P4000)

NX=  3

NY=  4

NZ=  2

P3996= 100 . 00 50 . 00 100 . 00 0 . 00 0 . 00 0 . 00

P3997= 200 . 00 50 . 00 100 . 00 0 . 00 0 . 00 0 . 00

P3998= 100 . 00 200 . 00 100 . 00 0 . 00 0 . 00 0 . 00

P3999= 200 . 00 200 . 00 100 . 00 0 . 00 0 . 00 0 . 00

P4000= 100 . 00 50 . 00 100 . 00 0 . 00 0 . 00 0 . 00

P4000

P3998 P3999

P3997P3996

NZ

NX

NY

P0

Page 289: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

277

15. ユーザープログラム例

処理フロー

START

STOP

パレット定義

ポイント代入

P0へ移動

パレット移動 24回繰り返す

プログラム例

 FOR I=1 TO 24

  MOVE P,P0,Z=0 .00

  PMOVE (0,I),Z=0 .00

 NEXT I

 MOVE P,P0,Z=0.00

 HALT

Page 290: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

278

15. ユーザープログラム例

15.1.5 DI/DO(デジタル入出力)動作

概要

汎用入力、汎用出力装置を用いて信号の入出力を行います。

処理フロー

DI 2が全て“0”になるのを待つDO 2 ()を全て“1”にする

1秒間待つDI 2(0)が“1”になるのを待つ

END

N

DI 2(1)は“1”?

N=1

N>20

DO 2 ()を全て“0”にする0.5秒間待つ

N=N+1

DO 2 (7、6、1、0)を“1”にする2秒間待つ

DO 2 ()を全て“0”にする

Y

Y

N

START

プログラム例

 WAIT DI2( )=0

 DO2( )=&B11111111

 DELAY 1000

 WAIT DI2(0)=1

 N=1

 *LOOP1:

 IF DI2(1)=1 THEN *PROGEND

 IF N>20 THEN *ALLEND

 DO2( )=0

 DELAY 500

 N=N+1

 GOTO *LOOP1

 ’END ROUTINE

 *PROGEND:

 DO2(7,6,1,0)=&B1111

 DELAY 2000

 DO2( )=0

 *ALLEND:

 HALT

Page 291: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

279

15. ユーザープログラム例

15.2 応用編

15.2.1 2点間のピック&プレス

概要

A点にある部品をつかんでB点に置きます。

0

Z

P3

P1

P4

P2

A点 B点

50mm

30mm

前提

1.ロボットの移動経路を決めます。

P3→P1→P3→P4→P2→P4

P3,P4はそれぞれP1,P2の上方50mmの位置とし、P1,P2は

テイーチングで設定します。

2.入出力信号

DO2(0) チャック開閉 =0:開,=1:閉

チャック開閉時には、0.1 秒間待つものとします。

Page 292: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

280

15. ユーザープログラム例

プログラム例

q P3,P4を計算で求める場合

   P3=P1

   P4=P2

   LOCZ(P3)=LOCZ(P3)-50 .0

   LOCZ(P4)=LOCZ(P4)-50 .0

   MOVE P,P3

   GOSUB *OPEN

   MOVE P,P1

   GOSUB *CLOSE

   MOVE P,P3

   MOVE P,P4

   MOVE P,P2

   GOSUB *OPEN

   MOVE P,P4

   HALT

 *OPEN:

   DO2(0)=0

   DELAY 100

   RETURN

 *CLOSE:

   DO2(0)=1

   DELAY 100

   RETURN

w アーチモーションを使用する場合

   P4=P2

   LOCZ(P4)=LOCZ(P4)-50 .0

   GOSUB *OPEN

   MOVE P,P1,Z=30 .0

   GOSUB *CLOSE

   MOVE P,P2,Z=30 .0

   GOSUB *OPEN

   MOVE P,P4

   HALT

 *OPEN:

   DO2(0)=0

   DELAY 100

   RETURN

 *CLOSE:

   DO2(0)=1

   DELAY 100

   RETURN

Page 293: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

281

15. ユーザープログラム例

15.2.2 パレタイジング

概要

パーツフィーダーから供給される部品をコンベアー上のパレットに順次搭載しま

す。パレットがいっぱいになったら、パレットを排出します。

P1

ロボット

Z

0

50mm

P1 P0

P0

パーツフィダー

前提

1.入出力信号

DI(30)

DI(31)

=1:供給パーツあり

=1:パレットあり

DO(30)

DO(31)

ロボットハンド開閉 =0:開,=1:閉

=1:パレット排出

ロボットハンド開閉時には0.1 秒、パレット排出時には0.5 秒待つものとしま

す。

2.下記のポイントは、あらかじめポイントデータに入力してあるものとしま

す。

P0

P1

P10

P11

パーツ供給位置

パレット基準位置

X方向ピッチ

Y方向ピッチ

3.パレット上方、パーツフィーダ上方ではZ=50mmの位置まで動作させま

す。

Page 294: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

282

15. ユーザープログラム例

プログラム例1

WHILE -1

FOR A=0 TO 2

 FOR B=0 TO 2

  WAIT DI(31)=1

  WAIT DI(30)=1

  DO(30)=0

  DELAY 100

  MOVE P,P0,Z=50 .0

  DO(30)=1

  DELAY 100

  P100=P1+P10*B+P11*A

  MOVE P,P100,Z=50 .0

  DO(30)=0

  DELAY 100

 NEXT

NEXT

DRIVE (3,0)

DO(31)=1

DELAY 500

DO(31)=0

WEND

HALT

プログラム例2

*パレット0に定義してある前提のもと

WHILE -1

FOR A=1 TO 9

  WAIT DI(31)=1

  WAIT DI(30)=1

  DO(30)=0

  DELAY 100

  MOVE P,P0,Z=50 .0

  DO(30)=1

  DELAY 100

  PMOVE(0,A),Z=50 .0

  DO(30)=0

  DELAY 100

NEXT

DRIVE(3,0)

DO(31)=1

DELAY 500

DO(31)=0

WEND

HALT

Page 295: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

283

15. ユーザープログラム例

15.2.3 段積みの部品のピック&プレス

概要

最大6段に積まれた3個のブロックの部品を順次つかんでコンベア上に置きま

す。

1個のブロックの部品の個数は、任意とします。

部品の検出は、ロボットハンドに取付られたセンサによって行います。

コンベア

P5 P1 ブロック1

P2 ブロック2

P3 ブロック3

Z=0.0

前提

1.入出力信号

DI(30)

DO(30)

部品検出センサ =1:部品あり

ロボットハンド開閉 =0:開,=1:閉

ロボットハンド開閉時には、0.1 秒待つものとします。

2.下記のポイントは、あらかじめポイントデータに入力してあるものとしま

す。

P1

P2

P3

P5

ブロック1の下降端

ブロック2の下降端

ブロック3の下降端

コンベア上の位置

3.移動時は最大速度で、部品の手前では遅い速度で動作させます。

P5 P1

P4=WHERE

P5 P1

P4=WHERE Slow

High speed

High speed

現在位置をポイントデー

タ(P4)に取り込む

P4=WHERE

スピードを最大に設定

コンベアの位置(P 5)へ部品を運ぶ

部品検出時の位置 (P4)へ移動

P1へ移動

スピードを落とす

4.移動中のセンサの検出には、MOVE文のSTOPON条件指定を使用しま

す。

Page 296: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

284

15. ユーザープログラム例

プログラム例

 FOR A=1 TO 3

 SPEED 100

 GOSUB *OPEN

 P6=P[A]

 LOCZ(P6)=0 .00

 MOVE P,P6,Z=0.0

 WHILE -1

 SPEED 20

 MOVE P,P[A],STOPON DI3(0)=1

 IF DI3(0)=0 THEN *L1

 ’SENSOR ON

 P4=JTOXY(WHERE)

 GOSUB *CLOSE

 SPEED 100

 MOVE P,P5,Z=0.0

 GOSUB *OPEN

 MOVE P,P4,Z=0.0

 WEND

*L1: ’SENSOR OFF

 NEXT A

 SPEED 100

 DRIVE (3,0)

 HALT

*OPEN:

 DO3(0)=0

 DELAY 100

 RETURN

*CLOSE:

 DO3(0)=1

 DELAY 100

 RETURN

Page 297: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

285

15. ユーザープログラム例

15.2.4 部品の検査1(マルチタスクの例)

概要

ロボット1台を使用して2つの異なった部品を判別機で判定し、良品と不良品に

分けます。

A点にある部品をつかんでB点にある判別機に移動します。判別機で良品/不良

品の判定を行い、良品ならC点へ不良品ならD点へ移動します。

同様にA’点にある部品をつかんでB’点にある判別機に移動します。判別機で

良品/不良品の判定を行い、良品ならC’点へ不良品ならD’点へ移動します。

判別機の判定には、10数秒かかるものとします。

A

P1

B

P2

C

P3

D

P4

A’

P11

B’

P12

C’

P13

D’

P14

供給 部品 判別機 良品 不良品

前提

1.入出力信号

判別機1起動(0.1秒) 判別機2起動(0.1秒) チャック開閉

DO21:起動 ※1 1:起動 ※1 0:開 1:閉 ※2

7 6 5 4 3 2 1 0

判別機1完了 判別機1判別信号 判別機2完了 判別機2判別信号

DI3 7 6 5 4 3 2 1 0

供給部品1あり 供給部品2あり 良品1あり 不良品1あり 良品2あり 不良品2あり

DI47 6 5 4 3 2 1 0

※3

2.サブタスクを起動し、部品1をメインタスク(タスク1)で、部品2をサブ

タスク(タスク2)で制御します。

3.判別機の判別完了信号待ちの時のみ他のタスクが走るようにするために、排

他制御フラグを使用します。

FLAG1 =1:タスク1ビジー(タスク2は待たされる)

=0:タスク1レディ(タスク2動作可能)

FLAG2 =1:タスク2ビジー(タスク1は待たされる)

=0:タスク2レディ(タスク1動作可能)

n要点

※1 起動信号は判別機に、0.1秒のパル

ス信号を与えるものとします。

0.1秒

ONOFF

※2 チャック開閉時には、0.1秒待つも

のとします。

※3 判別機からもらう信号として、完

了および良品/不良品の判別信号

があります。

判別終了後、完了信号がオン

(=1)し、判別信号は良品なら

オン(=1)、不良品ならオフ

(=0)となります。

Page 298: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

286

15. ユーザープログラム例

4.フローチャート

タスク2ビジー?

排他制御フラグセット

タスク2ビジー?

START

排他制御フラグリセット

サブタスク起動

部品1あり?

チャック開

供給位置P1へ移動

チャック閉

判別機1へ移動

チャック開

10000パルス上昇

排他制御フラグリセット

判別機1スタート

判別完了?

排他制御フラグセット

判別機1へ移動

チャック閉

良品?

良品あり?

良品位置へ移動

チャック開

10000パルス上昇

排他制御フラグリセット

不良品あり?

FLAG1=FLAG2=0

不良品位置へ移動

FLAG1=0

FLAG1=1

FLAG1=0

FLAG1=1

N

Y

Y

N

Y

N

N

N

Y

Y

Y

Y

N N

タスク2(サブタスク)についても同様なフローチャートになります。

Page 299: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

287

15. ユーザープログラム例

プログラム例

 FLAG1=0

 FLAG2=0

 UPPOS=0.0

 START *S1,T2

*L1:

 WAIT DI4(0)=1

 WAIT FLAG2=0

 FLAG1=1

 GOSUB *OPEN

 MOVE P,P1,Z=UPPOS

 GOSUB *CLOSE

 MOVE P,P2,Z=UPPOS

 GOSUB *OPEN

 DRIVEI (3,-10000)

 FLAG1=0

 DO2(0)=1

 DELAY 100

 DO2(0)=0

 WAIT DI3(0)=1

 WAIT FLAG2=0

 FLAG1=1

 MOVE P,P2,Z=UPPOS

 GOSUB *CLOSE

 IF DI3(1)=1 THEN

  'GOOD

  WAIT DI4(2)=0

 MOVE P,P3,Z=UPPOS

 ELSE

  'NG

  WAIT DI4(3)=0

  MOVE P,P4,Z=UPPOS

 ENDIF

 GOSUB *OPEN

 DRIVEI (3,-10000)

 FLAG1=0

 GOTO *L1

*OPEN:

 DO2(7)=0

 DELAY 100

 RETURN

*CLOSE:

 DO2(7)=1

 DELAY 100

 RETURN

サブタスク起動

部品供給待ち

タスク動作完了待

排他制御フラグセット

チャック開

供給位置へ移動

チャック閉

判別機へ移動

チャック開

Z 10000パルス上昇

排他制御フラグリセット

判別機スタート

判別完了待ち

タスク動作完了待

排他制御フラグセット

判別機へ移動

チャック閉

判定

部品移動待ち

良品位置へ移動

部品移動待ち

不良品位置へ移動

チャック開

Z 10000パルス上昇

排他制御フラグリセット

*S1:

 WAIT DI4(1)=1

 WAIT FLAG1=0

 FLAG2=1

 GOSUB *OPEN

 MOVE P,P11,Z=UPPOS

 GOSUB *CLOSE

 MOVE P,P12,Z=UPPOS

 GOSUB *OPEN

 DRIVEI (3,-10000)

 FLAG2=0

 DO2(3)=1

 DELAY 100

 DO2(3)=0

 WAIT DI3(4)=1

 WAIT FLAG1=0

 FLAG2=1

 MOVE P,P12,Z=UPPOS

 GOSUB *CLOSE

 IF DI3(5)=1 THEN

  'GOOD

  WAIT DI4(4)=0

  MOVE P,P13,Z=UPPOS

 ELSE

  'NG

  WAIT DI4(5)=0

  MOVE P,P14,Z=UPPOS

 ENDIF

 GOSUB *OPEN

 DRIVEI (3,-10000)

 FLAG2=0

 GOTO *S1

Page 300: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

288

15. ユーザープログラム例

15.2.5 シーリング

概要

下図の部品のシーリングを行います。

P0 P1

P2

P3

P4P5

P6 P7

10mm

20mm

前提

1.入出力信号

DO(20) バルブ開閉 =1:開,=0:閉

2.P0~P7は、ティーチングで設定します。

プログラム例

 MOVE P,P0,Z=0

 SPEED 4 0

 PATH SET 経路設定の開始

動作経路の設定(ロボットは動作しません)

 PATH L,P1,DO(20)=1@10.0 10mm の位置で塗布開始

 PATH L,P2

 PATH C,P3,P4

 PATH L,P5

 PATH L,P6,S=30

 PATH L,P7,DO(20)=0@20.0 20mm の位置で塗布終了

 PATH END 経路設定の終了

 PATH START PATH移動の実行(ロボットがP0より動作開始、P7で停止)

 HALT

Page 301: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

289

15. ユーザープログラム例

15.2.6 外部装置とRS-232Cを使用した接続(その1)

概要

外部装置とRS-232Cを使用してRCXシリーズコントローラを接続し、ポイン

トデータを書き込みます。

前提

1. コントローラから外部装置への入力

SDATA/X/Y [cr]

2. コントローラへの外部装置からの出力

P10=156.42  243.91  0.00  0.00  0.00  0.00 [cr]

* [cr]は、cr(=0Dh)を示します。

プログラム例

’INIT

  VCMD$=”SDATA/X/Y”

  P0   =   0.00 0.00 0.00 0.00 0.00 0.00

’MAIN ROUTINE

  MOVE P, P0

*ST:

  SEND VCMD$ TO CMU

  SEND CMU TO P10

  MOVE P, P10

GOTO *ST

n要点

・「SEND xxx TO CM

U」は、xxxで指定された内容を

RS-232Cを使用して出力します。

・「SEND CMU TO xx

x」は、xxxで指定されたファ

イルなどにRS-232Cを使用して入

力します。

Page 302: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

290

15. ユーザープログラム例

15.2.7 外部装置とRS-232Cを使用した接続(その2)

概要

外部装置とRS-232Cを使用してRCXシリーズコントローラを接続し、任意の

文字列データからポイントデータを作成し書き込みます。

前提

1. コントローラから外部装置への入力SDATA/X/Y [cr]

2. コントローラへの外部装置からの出力X=156.42, Y=243.91 [cr]

* [cr]は、cr(=0Dh)を示します。

プログラム例

’INT  VCMD$=”SDATA/X/Y”  VIN$=””  VX$=””  VY$=””  P0  =   0.00   0.00 0.00 0.00 0.00 0.00  P11 = 100.00 100.00 0.00 0.00 0.00 0.00’MAIN ROUTINE  MOVE P, P0*ST:  SEND VCMD$ TO CMU  SEND CMU TO VIN$  I=1  VMAX=LEN(VIN$)*LOOP:  IF I>VMAX THEN GOTO *E_LOOP  C$=MID$(VIN$,I ,1)  IF C$=”X”THEN    I=I+2    J=I*X_LOOP:    C$=MID$(VIN$, J, 1)    IF C$=”,” THEN*X1_LP:      L=J-I      VX$=MID$(VIN$, I, L)      I=J+1      GOTO *LOOP    ENDIF    J=J+1    IF J>VMAX  THEN  GOTO  *X1_LP    GOTO  *X_LOOP  ENDIF  IF C$=”Y”  THEN    I=I+2    J=I*Y_LOOP:    C$=MID$(VIN$, J, 1)    IF C$=”,”THEN*Y1_LP:      L=J-I      VY$=MID$(VIN$, I, L)      I=J+1      GOTO  *LOOP    ENDIF    J=J+1    IF  J>VMAX  THEN  GOTO  *Y1_LP    GOTO *Y_LOOP  END IF  I=I+1  GOTO *LOOP*E_LOOP:  WX=VAL(VX$)  WY=VAL(VY$)  LOCX(P11)=WX  LOCY(P11)=WY  MOVE P, P11GOTO  *ST

n要点

・「SEND xxx TO CM

U」は、xxxで指定された内容を

RS-232Cを使用して出力します。

・「SEND CMU TO xx

x」は、xxxで指定されたファ

イルなどにRS-232Cを使用して入

力します。

・LEN( )関数は、文字列の長

さを求めます。

・MID$( )関数は、文字列の

中から指定の文字列を求めます。

・VAL( )関数は、文字列から

数値を求めます。

Page 303: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

291

16. シーケンス機能について

このコントローラには通常のロボットプログラムとは別に、ロボット入出力(DI、DO、MO、LO、

TO、SI、SO)に対して高速で処理を行うプログラム(シーケンスプログラム)を動作させることが

できます。つまりロボットプログラムとシーケンスプログラムの2つのプログラムを同時に実行すること

になります。

シーケンスプログラムはロボットプログラムの実行や停止に関係なく自動モードおよび手動モードで一定

の周期で動作します。さらにコントローラの電源オン(=手動モード)と同時に実行を開始しますから、

センサー、押しボタンスイッチ、電磁弁等の入出力の監視を行うことができます。

またシーケンスプログラムはロボット言語を用いて記述しますから、新な言語を使用する必要はなく簡単

に作成することができます。

16.1 シーケンスプログラムの作成

16.1.1 プログラム方法

シーケンス機能を利用するにはシーケンスプログラムを作成する必要がありま

す。

まずプログラムモードで、“SEQUENCE”というプログラム名でファイル

を作成します。この名称をつけるとコントローラはシーケンスプログラムである

ことを自動的に判断します。

■図16-1-1-1 シーケンスプログラム登録

フ ロク ラム >テ ィレクトリ               <TEST10   >

 No.  フ ロク ラム    ライン   ハ イト  ソ クセイ      

   1   TEST10       12    145    RW       

  2  LOCATE20     25    320    RW       

フ ロク ラムメイ ニュウリョク >SEQUENCE

次にプログラムを入力して行きますが、通常のロボットプログラムの作成方法と

同じです。入力できる命令は後で説明します。

■図16-1-1-2  シーケンスプログラム作成

フ ロク ラム >ヘンシュウ                 <SEQUENCE>

     DO(20)=DI(21) AND DI(22)

  MO(30)=DO(23) OR DI(22)

  3  MO(31)=~MO(30)

  4  DO(21)=(DI(36) OR DI(25))AND DI(2   5  DO(30)=MO(30) OR DI_

ラインセンタク コヒ ー    カット     ヘ ースト   BS     

31 2

Page 304: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

292

16. シーケンス機能について

16.1.2 コンパイル

編集を終了したプログラムはシーケンスプログラムのコンパイルを行います。ロ

ボットプログラムのコンパイルと同じように、プログラムモード最上位の画面

(図16-1-2-1)で F 5 キーを押します。

■図16-1-2-1 シーケンスプログラム

フ ロク ラム                        <SEQUENCE>

1  DO(20)=DI(21) AND DI(22) 

2 MO(30)=DO(23) OR DI(22) 

3 MO(31)=~MO(30)                   

4 DO(21)=(DI(36) OR DI(25))AND DI(2

5 DO(30)=MO(30) OR DI(27)  

 ヘンシュウ           テ ィレクトリ         コンハ イル 

31 2

シーケンスプログラムのコンパイルを行うか否かの確認のメッセージが表示され

ます。ここで F 4 を押せばコンパイルを開始します。 F 5 を押してキャンセ

ルすると通常のロボットプログラムのコンパイルを行う処理画面を表示します。

F 4 キーを押してシーケンスプログラムのコンパイルを行います。(図16-1-

2-2)

■図16-1-2-2 シーケンスプログラムのコンパイル

1  DO(20)=DI(21) AND DI(22) 

2 MO(30)=DO(23) OR DI(22) 

3 MO(31)=~MO(30)

4 DO(21)=(DI(36) OR DI(25))AND DI(2

5 DO(30)=MO(30) OR DI(27)            

 シーケンスヨウ コンハ イル OK?       ハイ      イイエ    

31 2

フ ロク ラム >コンハ イル                <SEQUENCE>

入力した命令文の形式に誤りがあるとエラーメッセージとエラー行からプログラ

ムリストを表示します。(図16-1-2-3)正常終了すればプログラムリストの先頭

から表示します。

■図16-1-2-3 コンパイルエラー

フ ロク ラム                       <SEQUENCE>

3 MO(31)=~MO(30)’ AB

4 DO(21)=MO(36) OR DI(27)

5 DO(30)=MO(30) OR DI(27) 

6 DO(25)=DI(26) AND DO(32)

7 DO(30)=MO(30) OR DI(27)

 ヘンシュウ           テ ィレクトリ         コンハ イル 

32      5.1:シンタックス エラー

Page 305: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

293

16. シーケンス機能について

c注意

シーケンスプログラム用の実行プ

ログラムは次の場合に削除されて

直前の“s”が表示されなくなり

ます。このときユーティリティ

モードのシーケンスプログラムの

実行は禁止状態になります。

1.シーケンスプログラムを削除

したとき

2.シーケンスプログラムを編集

したとき

3.シーケンスプログラムに対し

て通常のロボットプログラム

のコンパイルを行ったとき

4.プログラムデータの初期化を

したとき

5.“シーケンスオブジェクト

チェックサム”エラーが発生

したとき

また正常終了している場合にディレクトリを表示させると“SEQUENCE”

のプログラム名の直前に“s”が表示されます。これはシーケンスプログラムの

コンパイルが正常終了して実行プログラムが作成されていることを示します。

(図16-1-2-4)

■図16-1-2-4 シーケンス実行プログラム

フ ロク ラム >テ ィレクトリ               <TEST10  >

 No.  フ ロク ラム    ライン   ハ イト   ソ クセイ     

  1   TEST10       12    145     RW      

  2  LOCATE20     25    320     RW      

  3  s SEQUENCE      8    141     RW      

 シンキサクセイ                         シ ョウホウ 

16.2 シーケンスプログラムの実行

シーケンスプログラムを実行するための条件を次に示します。これらの項目の全

てが成立していないと実行を行いませんので注意してください。

1.シーケンスプログラムの実行プログラムが作成されていること。

2.ユーティリティモードでシーケンスプログラムの実行を許可状態に設定して

あること。

3.外部入力のシーケンスコントロール入力(DI10)の接点が閉じているこ

と。

4.手動モードあるいは自動運転モードであること。

以上の項目が全て成立するとシーケンスプログラムを実行します。実行中は画面

の2行目の左端に“s”が表示されます。(図16-2-1)

■図16-2-1 シーケンスプログラム実行状態

シュト ウ                    50% [MG][S0H0J]

ケ ンサ イイチ                                

 M1=       0  M2=       0 *M3=       0  

*M4=       0                            

 ホ イント   ハ レット           ソクト +   ソクト ー

Page 306: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

294

16. シーケンス機能について

16.2.1 シーケンスプログラムのステップ実行

シーケンスプログラムを1行ずつステップ実行させて動作の確認をしたい場合は

次の手順で行います。

シーケンスプログラムのコンパイル(図16-1-2-2)で F 5 を押してキャンセ

ルすると通常のロボットプログラムのコンパイル画面(図16-2-2)が表示され

ます。

F 4 を押して通常のプログラムの実行プログラムを作成し、これを自動運転

モードでステップ実行させて動作の確認を行います。

■図16-2-2 シーケンスプログラムのステップ実行

 フ ロク ラム コンハ イル OK?      ハイ      イイエ

フ ロク ラム>コンハ イル                <SEQUENCE>

1 DO(20)=DI(21) AND DI(22)

2 MO(30)=DO(23) OR DI(22)

3 MO(31)=~MO(30)

4 DO(21)=(DI(36) OR DI(25))AND DI(2

5 DO(30)=MO(30) OR DI(27)            

31 2

16.3 シーケンスプログラムのプログラミング

シーケンスプログラムの記述は入出力変数と論理演算子を組み合わせた代入文の

みで行います。代入文以外の命令文を使用した場合コンパイル時にエラーとなり

コンパイルが完了しません。

16.3.1 シーケンスプログラムで使用できる代入文

<出力変数>     =<式> <内部補助出力変数> <アームロック出力変数> <タイマ出力変数>

<式>はパラレル入出力変数及び内部補助出力変数、アームロック出力変数、タ

イマ出力変数、シリアル入出力変数どうしの論理演算式のみ

Page 307: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

295

16. シーケンス機能について

16.3.2 シーケンスプログラムで使用できる入出力変数

a.パラレル入力変数

パラレル入力信号の状態を示す変数です。

DI(mb)    m:ポート番号0~7,10~17,20~27         b:ビット指定0~7

b.パラレル出力変数

パラレル出力信号を指定したり出力状態を参照する変数です。

DO(mb)   m:ポート番号0~7,10~17,20~27          b:ビット指定0~7

ただし、ポート番号0,1へは出力できません。

c.内部補助出力変数

外部に出さない信号でコントローラ内部で使用する変数です。

MO(mb)    m:ポート番号0~7,10~17,20~27           b:ビット指定0~7

ただし、ポート番号0,1へは出力できません。

d.アームロック出力変数

アームの移動を禁止するために使用する変数です。オンのとき禁止になります。

LO(mb)   m:ポート番号0          b:ビット指定0~7

LO(00)~(07)はそれぞれ第1アームから第8アームに対応していま

す。

e.タイマ出力変数

TO(mb)   m:ポート番号0          b:ビット指定0~7

タイマ出力変数はTO(00)~(07)の計8点あります。各変数のタイマは

タイマ定義文TIM00~07で定義します。

Page 308: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

296

16. シーケンス機能について

f.シリアル入力変数

シリアル入力の状態を示す変数です。

SI(mb)   m:ポート番号0~7,10~17,20~27          b:ビット指定0~7

g.シリアル出力変数

シリアル出力の状態を示す変数です。

SO(mb)   m:ポート番号0~7,10~17,20~27          b:ビット指定0~7

ただし、ポート番号0,1は出力できません。

タイマ使用例:

TIM02=2500

TO(02)=DI(23)

DI(23)がオンしてから2.5 秒後にTO(02)がオンします。

DI(23)がオフすればTO(02)もオフします。

DI(23)が2.5 秒以上オンしなければTO(02)はオンしません。

DI(23)

2.5sec

TO(02)

1.6sec

各変数は1ビット指定の形式のみ使えます。

例)

DO(35)

MO(24)

DI(16)

正しくない例

DO(37,24)

DI3(4)

MO3()

Page 309: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

297

16. シーケンス機能について

16.3.3 タイマ定義文

TIMmb=<式>   m:ポート番号0             b:ビット指定0~7

<式>の値は100~999900msec(=0.1秒~999 .9秒)

ただし、設定単位は100msec毎のため99msec以下は切り捨てとなり

ます。

例)

TIM00=650 ・・・0.6秒

TIM03=2480・・・2.4秒

タイマ出力変数のタイマ値を設定します。この定義文はプログラムのどこにあっ

てもかまいません。タイマ定義文を省略するとその変数のタイマ設定値は0にな

ります。

TIM00~07はTO(00)~(07)のタイマ出力変数に対応していま

す。

16.3.4 シーケンスプログラムで使用できる演算子(論理演算子)

OR,|  論理和

AND,& 論理積

NOT,~ 否定

Page 310: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

298

16. シーケンス機能について

16.3.5 演算の優先順位

1. ()で囲まれた式

2. NOT,~

3. AND,&

4. OR,|

代入文の例)参考までにラダー図に置き換えた場合も示しておきます。

DO(23)=DI(16)&DO(35)

MO(34)=DO(25)| DI(24)

DO(31)=(DI(20)|DO(31))& DI(21)

ラダー図

DI(16)

DO(25)

~DI(24) /

DI(20)

DO(31)

DO(35)

~DI(21)

DO(23)

MO(34)

DO(31) /

(自己保持回路)

シーケンスプログラム仕様

命令

入出力

プログラム容量

スキャンタイム

論理和,論理積,否定

ロボット言語と同じ

4096バイト(最大512変数指定)

最小10msecからステップ数に応じて最大30msecまで

自動的に変化

c注意

1.演算子の否定は“(”の直前及び

代入文の左辺には使用できませ

ん。

次の命令文は使用不可。

DO(21)=~(DI(30)|DI(32))

~DO(30)=DI(22)&DI(27)

2.代入文の右辺に数値を指定するこ

とはできません。

MO(35)=1

DO(26)=0

は使用不可。

3.プログラムの最後に”HALT”

や”HOLD”などの命令文を定

義する必要はありません。

4.シーケンスプログラムで使用して

いる入出力、内部補助出力の各変

数はロボットプログラムと共通の

ため、お互いに同じ変数を使う場

合には注意してください。

Page 311: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

299

17. オンライン命令

オンライン命令で使用できる命令について説明します。

オンライン命令は、RS-232C、Ethernet(オプション)を通じてコントローラに対して命令実行を行な

います。

RS-232C の接続方法は、RCX コントローラ取扱説明書をご覧ください。Ethernet については、RCX

シリーズ用Ethernet 取扱説明書をご覧ください。

■ ターミネーションコードについて

コントローラはデータ送信時、送信データの行末に次のコードを付加します。

●RS-232Cの場合

・通信パラメータのターミネーションコードパラメータがCRLFに設定されている場合、行の最

後にCR(0Dh)とLF(0Ah)を付加します。

・通信パラメータのターミネーションコードパラメータがCRに設定されている場合、行の最後

にCR(0Dh)を付加します。

●Ethernet(オプション)の場合

・行の最後にCR(0Dh)とLF(0Ah)を付加します。

データの受信時は、ターミネーションコードパラメータの設定にかかわらず、CR(0Dh)までを1 行

として扱い、LF(0Ah)は無視します。

「17.1 キー操作」以降の各オンライン命令の詳細説明では、ターミネーションコードは[cr/lf]と表記します。

オンライン命令一覧表

1.キー操作

2.ユーティリティ

AUTOPROGRAMMANUALSYSTEMRESETRUNSTEPSKIPNEXTSTOPBREAKCHGTSKMSPEEDMSPEED2ABSADJABSADJ2ABSRESETABSRESET2ORGRTNORGRTN2INCHINCH2JOGJOG2TEACHTEACH2PADDRCOPY

ERA

RENATTR

m, n (m : ブレイクポイント番号, n : 行)

k (k : 1-100)k (k : 1-100)k, 0 or k, 1 (k : 1-6)k, 0 or k, 1 (k : 1-6)k (k : 1-6)k (k : 1-6)k (k : 1-6)k (k : 1-6)k+ or k- (k : X,Y,Z,R,A,B)k+ or k- (k : X,Y,Z,R,A,B)k+ or k- (k : X,Y,Z,R,A,B)k+ or k- (k : X,Y,Z,R,A,B)m(m : ポイント番号)m(m : ポイント番号)

<プログラム1> TO <プログラム2>Pm-Pn TO PkPCm-PCn TO PCk<プログラム>Pm-PnPCm-PCnPLm<プログラム1> TO <プログラム2><プログラム> TO s (s : RW/RO)

モード変更 自動モード

プログラムモード

手動モード

システムモード

プログラム リセット

実行

1行実行

1行スキップ

次行まで実行

停止

ブレイクポイント設定 実行タスク切替

手動速度変更 メインロボット

サブロボット

アブソリュートリセット可能位置移動 メインロボット

サブロボット

アブソリュートリセット軸単位 メインロボット

サブロボット

原点復帰 メインロボット

サブロボット

手動移動(インチング) メインロボット

サブロボット

手動移動(ジョグ) メインロボット

サブロボット

ポイントデータティーチング メインロボット

サブロボット

プログラム実行状態取得

プログラムを1から2へ複写

ポイントのmからnをkへ複写

ポイントコメントのmからnをkへ複写

プログラムを削除

ポイントのmからnを削除

ポイントコメントのmからnを削除

パレットのmを削除

プログラム名を1から2へ変更

プログラム属性の変更

意味 条件命令分類 オプション

3

4

2433

3

3

3

3

3

43

3

33

(次ページにつづく)

Page 312: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

300

17. オンライン命令

2.ユーティリティ

3.データハンドリング

4.ロボット言語

単独実行

5.制御コード

INIT

LANGUAGEUNITMSGCLRACCESSEXELVLSEQUENCEARMTYPARMTYP2EMGRSTDATETIME?

READWRITESWI

^C(=03H)

PGMPNTSFTHNDPLTPCMMEMPRMALLCMULOGkk

kkkm, km, k

LANGUAGEACCESSARMBREAKCONFIGEXELVLMODMSG [m, n]ORIGINABSRSTSERVOSEQUENCESPEEDUNITVERWHEREWHERE2WHRXYWHRXY2TASKSTSKMONSHIFTHANDMEMEMGSELFCHKOPSLOT数値式

文字列式

ポイント式

シフト式

データファイル (PGM, PNT, ...)データファイル (PGM, PNT, ...)<プログラム>

データの初期化 プログラム

ポイント

シフト

ハンド

パレット

ポイントコメント

上記データ

パラメータ

MEM+PRMデータの初期化 通信パラメータ

データの初期化 エラー履歴

設定 表示言語

設定 ポイント単位系

ラインメッセージの解除

設定 アクセスレベル

設定 実行レベル

設定 シーケンス実行フラグ

設定 メイン手系

サブ手系

内部非常停止フラグの解除

日付の確認、設定

時刻の確認、設定

取得 表示言語

取得 アクセスレベル

取得 アーム状態

取得 ブレイクポイント状態

取得 コントローラ構成

取得 実行レベル

取得 モード状態

取得 エラーメッセージ

取得 原点復帰状態

取得 アブソリュートリセット状態

取得 サーボ状態

取得 シーケンス実行フラグ状態

取得 自動速度状態・手動速度状態

取得 ポイント単位状態

取得 バージョン

取得 メイン現在位置(パルス座標) サブ現在位置(パルス座標)取得 メイン現在位置(XY座標) サブ現在位置(XY座標)取得 タスク番号

取得 タスク稼働状態

取得 選択シフト状態

取得 選択ハンド状態

取得 メモリ残容量

取得 非常停止状態

取得 自己診断によるエラー状態

取得 オプションスロット状態

取得 数値データ

取得 文字列データ

取得 ポイントデータ

取得 シフトデータ

意味 条件命令分類 オプション

3

3313333

1221

22441

単独実行可能なロボット言語

条件について 1. 常に実行可能 2. MPBとRPBによる入力操作中以外は実行可能  3. 条件2.+プログラム実行中以外は実行可能 4. 条件3.+固有の制限

データ読出し

データ書込み

プログラムの切り替え

実行言語の中断

Page 313: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

301

17. オンライン命令

オンライン命令詳細

17.1 キー操作

17.1.1 モード変更

命令形式:

@AUTO[cr/lf]@PROGRAM[cr/lf]@MANUAL[cr/lf]@SYSTEM[cr/lf]

応答形式:

OK[cr/lf]

意味:

・ モード変更を行います。

AUTO :自動モードにモード変更します。

PROGRAM :プログラムモードにモード変更します。

MANUAL :手動モードにモード変更します。

SYSTEM :システムモードにモード変更します。

例:

 命令 @AUTO[cr/lf]

 応答 OK[cr/lf]

17.1.2 自動モード操作

17.1.2.1 プログラム実行操作

命令形式:

@RESET[cr/lf]@RUN[cr/lf]@STEP[cr/lf]@SKIP[cr/lf]@NEXT[cr/lf]@STOP[cr/lf]

応答形式:

OK[cr/lf]

n要点

キー操作のオンライン命令は、命

令を受信すると、基本的に“OK”

を応答する。

エラー発生状態で、オンライン命

令が実行できない場合は、エラー

メッセージを応答する。

Page 314: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

302

17. オンライン命令

意味:

・ プログラム実行操作を行います。

RESET :プログラムをリセットします。

RUN :プログラムを実行します。

STEP :プログラムを1行実行します。(サブルーチンの内部に入

る)

SKIP :プログラムを1行スキップします。(サブルーチンは1 行ス

キップする)

NEXT :プログラムを次行まで実行します。(サブルーチンは1 行と

して実行する)

STOP :プログラムを停止します。

例:

 命令 @RUN[cr/lf]

 応答 OK[cr/lf]

17.1.2.2 ブレイクポイント設定

命令形式:

@BREAK m,n[cr/lf]

m :ブレイクポイント番号 (m=1~4)

n :ブレイクポイントを設定する行番号(n=1~9999)

COMMONプログラムへの設定は、行番号+10000とします。

0行番号を指定した場合は、ブレイクポイントの解除を行います。

応答形式:

OK[cr/lf]

意味:

・ プログラム実行中に、一時停止させるためのブレイクポイントの設定を行いま

す。

例:

 命令 @BREAK 1, 28[cr/lf]

 応答 OK[cr/lf]

n要点

自動モードでのみ実行可能です。

n要点

自動モードでのみ実行可能です。

Page 315: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

303

17. オンライン命令

17.1.2.3 実行タスク切替操作

命令形式:

@CHGTSK[cr/lf]

応答形式:

OK[cr/lf]

意味:

・プログラム実行停止中に、選択タスクの切替操作を行います。

・タスク切替は、実行停止中のタスク番号を1→2 →…→8→1 の順序で切

り替えます。

ただし、起動中のタスクのみ切替可能です。

例:

 命令 @CHGTSK[cr/lf]

 応答 OK[cr/lf]

17.1.3 手動モード操作

17.1.3.1 手動速度変更

命令形式:

@MSPEED k[cr/lf]@MSPEED2 k[cr/lf]

k :手動移動速度(k=1~100)

応答形式:

OK[cr/lf]

意味:

・手動移動モードの速度変更を行います。

MSPEED :メインロボットの手動移動速度変更を行います。

MSPEED2 :サブロボットの手動移動速度変更を行います。

例:

 命令 @MSPEED 50[cr/lf]

 応答 OK[cr/lf]

n要点

自動モードでのみ実行可能です。

n要点

手動モードでのみ実行可能です。

Page 316: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

304

17. オンライン命令

17.1.3.2 アブソリュートリセット操作

命令形式:

@ABSADJ k,f[cr/lf]@ABSADJ2 k,f[cr/lf]@ABSRESET k[cr/lf]@ABSRESET2 k[cr/lf]

k :指定軸(k=1~6)

f :移動方向(f=0:+方向、1:-方向)

応答形式:

OK[cr/lf]

意味:

・ アブソリュートリセット操作を行います。

ABSADJ :指定したメインロボット軸のアブソリュートリセット可能

位置移動を行います。

ABSADJ2 :指定したサブロボット軸のアブソリュートリセット可能位

置移動を行います。

ABSRESET :指定したメインロボット軸のアブソリュートリセットを行

います。

ABSRESET2:指定したサブロボット軸のアブソリュートリセットを行い

ます。

例:

 命令 @ABSADJ 1,0[cr/lf]

 応答 OK[cr/lf]

17.1.3.3 原点復帰操作

命令形式:

@ORGRTN k[cr/lf]@ORGRTN2 k[cr/lf]

k :軸指定(k=1~6)

応答形式:

OK[cr/lf]

意味:

・指定した軸の原点復帰を行います。

・ インクリメンタル仕様の軸の場合、原点復帰を実行すると原点復帰動作します。

・セミアブソ仕様の軸の場合、原点復帰を実行するとアブソサーチを行います。

ORGRTN :指定したメインロボット軸の原点復帰を行います。

ORGRTN2 :指定したサブロボット軸の原点復帰を行います。

n要点

手動モードでのみ実行可能です。

n要点

原点復帰操作は、Ver. 8.45以上の

ソフトバージョンのときのみ有効

です。

n要点

手動モードでのみ実行可能です。

Page 317: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

305

17. オンライン命令

例:

 命令 @ORGRTN 1[cr/lf]

 応答 OK[cr/lf]

17.1.3.4 手動移動(インチング)操作

命令形式:

@INCH km[cr/lf]@INCH2 km[cr/lf]

k :軸指定(k = X、Y、Z、R、A、Bのいずれか)

m :方向(m = +または-)

応答形式:

OK[cr/lf]

意味:

・指定した軸の手動移動(インチング移動)を行います。ロボットは、手動

モードでMPB/RPBのジョグキーをインチング操作(キーを1回押すごと

に一定量移動)したときと同じ動作をします。

INCH :指定したメインロボット軸のインチング移動を行います。

INCH2 :指定したサブロボット軸のインチング移動を行います。

例:

 命令 @INCH X+[cr/lf]

 応答 OK[cr/lf]

17.1.3.5 手動移動(ジョグ)操作

命令形式:

@JOG km[cr/lf]@JOG2 km[cr/lf]

k :軸指定(k = X、Y、Z、R、A、Bのいずれか)

m :方向(m = +または-)

応答形式:

OK[cr/lf]

意味:

・指定した軸の手動移動(ジョグ移動)を行います。ロボットは、手動モードで

MPB/RPBのジョグキーを押し続けた時の操作と同じ動作をします。

n要点

手動モードでのみ実行可能です。

n要点

応答は、移動終了後に送信されます。

n要点

手動モードでのみ実行可能です。

Page 318: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

306

17. オンライン命令

移動開始後、下記のいずれかになると、ロボットは停止し、応答を送信します。

・ ソフトリミット位置に到達した

・ インターロック信号がオフになった

・ MPB/RPB のストップキーが押された

・ オンライン命令による実行中断処理(^C(=03H))が入力された

JOG :指定したメインロボット軸のジョグ移動を行います。

JOG2 :指定したサブロボット軸のジョグ移動を行います。

例:

 命令 @JOG X+[cr/lf]

 応答 OK[cr/lf]

17.1.3.6 ポイントデータティーチング操作

命令形式:

@TEACH mmmm[cr/lf]@TEACH2 mmmm[cr/lf]

mmmm:ポイントデータを登録するポイント番号(mmmm=0~9999)

応答形式:

OK[cr/lf]

意味:

・ロボットの現在位置を、指定したポイント番号のポイントデータに登録しま

す。指定したポイント番号に既にポイントデータが存在している場合、ポイ

ントデータは上書きされます。ポイントデータは、現在選択している単位系

の形式で登録されます。

TEACH :メイングループの現在位置を、指定したポイント番号のポ

イントデータに登録します。

TEACH2 :サブグループの現在位置を、指定したポイント番号のポイ

ントデータに登録します。

例:

 命令   @TEACH 100[cr/lf]

 応答   OK[cr/lf]

n要点

応答は、移動終了後に送信されます。

n要点

手動モードでのみ実行可能です。

c注意

ソフトバージョンがVer. 8.28以前の

コントローラでは、ポイント番号の

指定範囲は、0~4000となります。

Page 319: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

307

17. オンライン命令

17.2 ユーティリティ操作

17.2.1 プログラム実行状態取得

命令形式:

@PADDR[cr/lf]

応答形式:

<プログラム名>, Tn,m,k[cr/lf]

プログラム名:現在選択させているプログラム名

Tn:現在のタスク番号(n=1~8)

m :現在のプログラム行番号(m=1~9999)

k :現在のタスクの優先順位(k=17~47)

・COMMONプログラムを使用している場合は、下記のような応答形式とな

る場合があります。

<COMMON>/<プログラム名>, Tn,m,k[cr/lf]

意味:

・プログラム実行状態の取得を行います。

例:

 命令 @PADDR[cr/lf]

 応答 <TEST>,T3,134,32[cr/lf]

17.2.2 複写操作

17.2.2.1 プログラム複写操作

命令形式:

@COPY <プログラム名1> TO <プログラム名2>[cr/lf]

プログラム名1: 複写元のプログラム名(8文字以内で、英数字および”_”)

プログラム名2: 複写先のプログラム名(8文字以内で、英数字および”_”)

応答形式:

OK[cr/lf]

意味:

・プログラム名1からプログラム名2 への複写操作を行います。

例:

 命令 @COPY <TEST1> TO <TEST2>[cr/lf]

 応答 OK[cr/lf]

n要点

自動モードかつプログラム停止状

態でのみ実行可能です。

Page 320: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

308

17. オンライン命令

17.2.2.2 ポイント複写操作

命令形式:

@COPY Pmmmm-Pnnnn TO Pkkkk[cr/lf]

mmmm:複写元の先頭ポイント番号(mmmm=0~9999)

nnnn:複写元の最終ポイント番号(nnnn=0~9999)

kkkk:複写先の先頭ポイント番号(kkkk=0~9999)

応答形式:

OK[cr/lf]

意味:

・ PmmmmからPnnnnのポイントをPkkkkへの複写操作を行いま

す。

例:

 命令 @COPY P101-P200 TO P1101[cr/lf]

 応答 OK[cr/lf]

17.2.2.3 ポイントコメント複写操作

命令形式:

@COPY PCmmmm-PCnnnn TO PCkkkk[cr/lf]

mmmm:複写元の先頭ポイントコメント番号(mmmm=0~9999)

nnnn:複写元の最終ポイントコメント番号(nnnn=0~9999)

kkkk:複写先の先頭ポイントコメント番号(kkkk=0~9999)

応答形式:

OK[cr/lf]

意味:

・PCmmmmからPCnnnnのポイントコメントをPC kkkkへの複写

操作を行います。

例:

 命令 @COPY PC101-PC200 TO PC1101[cr/lf]

 応答 OK[cr/lf]

c注意

ソフトバージョンがVer. 8.28以前

のコントローラでは、ポイント複

写元および複写先の指定可能ポイ

ント番号は、0~4000です。

c注意

ソフトバージョンがVer. 8.28以前の

コントローラでは、ポイントコメン

ト複写元および複写先の指定可能ポ

イント番号は、0~4000です。

Page 321: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

309

17. オンライン命令

17.2.3 削除操作

17.2.3.1 プログラム削除操作

命令形式:

@ERA <プログラム名>[cr/lf]

プログラム名:削除するプログラム名(8文字以内で、英数字および”_”)

応答形式:

OK[cr/lf]

意味:

・プログラムの削除操作を行います。

例:

 命令 @ERA <TEST1>[cr/lf]

 応答 OK[cr/lf]

17.2.3.2 ポイント削除操作

命令形式:

@ERA Pmmmm-Pnnnn[cr/lf]

mmmm:削除する先頭ポイント番号(mmmm= 0~9999)

nnnn:削除する最終ポイント番号(nnnn= 0~9999)

応答形式:

OK[cr/lf]

意味:

・PmmmmからPnnnnのポイントの削除操作を行います。

例:

 命令 @ERA P101-P200[cr/lf]

 応答 OK[cr/lf]

c注意

ソフトバージョンがVer. 8.28以前

のコントローラでは、ポイント削

除する先頭および最終ポイント番

号の範囲は、0~4000となります。

Page 322: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

310

17. オンライン命令

17.2.3.3 ポイントコメント削除操作

命令形式:

@ERA PCmmmm-PCnnnn[cr/lf]

mmmm:削除する先頭ポイントコメント番号(mmmm=0~9999)

nnnn:削除する最終ポイントコメント番号(nnnn=0~9999)

応答形式:

OK[cr/lf]

意味:

・PCmmmmからPCnnnnのポイントコメントの削除操作を行います。

例:

 命令 @ERA PC101-PC200[cr/lf]

 応答 OK[cr/lf]

17.2.3.4 パレット削除操作

命令形式:

@ERA PLm[cr/lf]

m:削除するパレット番号(m=0~19)

応答形式:

OK[cr/lf]

意味:

・ PLmのパレットデータの削除操作を行います。

例:

 命令 @ERA PL1[cr/lf]

 応答 OK[cr/lf]

17.2.4 名前変更操作

命令形式:

@REN <プログラム名1> TO <プログラム名2>[cr/lf]

プログラム名1 : 名前変更前のプログラム名(8 文字以内で、英数字および”_”)

プログラム名2 : 名前変更後のプログラム名(8 文字以内で、英数字および”_”)

応答形式:

OK[cr/lf]

意味:

・プログラム名1からプログラム名2への名前変更操作を行います。

c注意

ソフトバージョンがVer. 8.28以前

のコントローラでは、ポイントコ

メントを削除する先頭および最終

ポイントコメント番号の範囲は、

0~4000となります。

Page 323: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

311

17. オンライン命令

例:

 命令 @REN <TEST1> TO <TEST2>[cr/lf]

 応答 OK[cr/lf]

17.2.5 属性変更操作

命令形式:

@ATTR <プログラム名> TO s[cr/lf]

プログラム名:属性変更するプログラム名(8文字以内、英数字および”_”)

s:属性(s=RW:読書き可能、RO:読出しのみ)

応答形式:

OK[cr/lf]

意味:

・プログラム名の属性変更操作を行います。

例:

 命令 @ATTR <TEST1> TO RO[cr/lf]

 応答 OK[cr/lf]

17.2.6 初期処理操作

17.2.6.1 メモリ領域の初期処理操作

命令形式:

@INIT PGM[cr/lf]@INIT PNT[cr/lf]@INIT SFT[cr/lf]@INIT HND[cr/lf]@INIT PLT[cr/lf]@INIT PCM[cr/lf]@INIT MEM[cr/lf]@INIT PRM[cr/lf]@INIT ALL[cr/lf]

応答形式:

OK[cr/lf]

意味:

・メモリ領域の初期処理操作を行います。

PGM :プログラム領域を初期化します。

PNT :ポイント領域を初期化します。

SFT :シフト領域を初期化します。

HND :ハンド領域を初期化します。

PLT :パレット領域を初期化します。

Page 324: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

312

17. オンライン命令

PCM :ポイントコメント領域を初期化します。

MEM :上記の領域(PGM+PNT+SFT+HND+PLT+PCM)を初期化

します。

PRM :パラメータ領域を初期化します。

ALL :すべての領域(MEM+PRM)を初期化します。

例:

 命令 @INIT PGM[cr/lf]

 応答 OK[cr/lf]

17.2.6.2 通信ポートの初期処理操作

命令形式:

@INIT CMU[cr/lf]

応答形式:

OK[cr/lf]

意味:

・通信ポートの初期処理操作を行います。

・通信ポートの初期値は、通信ポートの取扱説明書を参照ください。

例:

 命令 @INIT CMU[cr/lf]

 応答 OK[cr/lf]

17.2.6.3 エラー履歴の初期処理操作

命令形式:

@INIT LOG[cr/lf]

応答形式:

OK[cr/lf]

意味:

・エラー履歴を初期化します。

例:

 命令 @INIT LOG[cr/lf]

 応答 OK[cr/lf]

Page 325: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

313

17. オンライン命令

17.2.7 表示言語設定操作

命令形式:

@LANGUAGE k[cr/lf]

k:表示言語(k=0:日本語、1:英語)

応答形式:

OK[cr/lf]

意味:

・コントローラの表示言語設定操作を行います。

例:

 命令 @ LANGUAGE 1[cr/lf]

 応答 OK[cr/lf]

17.2.8 手動モード時の座標系単位設定処理操作

命令形式:

@UNIT k[cr/lf]

k :単位指定(k=0:パルス単位、1:mm/deg単位、2:mm/deg単位か

つツール座標モード)

応答形式:

OK[cr/lf]

意味:

・現在位置の表示単位を選択します。

・k=2(ツール座標モード)は、直交型ロボットまたはスカラ型ロボット

で、R軸に取り付けたハンドを選択している場合のみ設定可能です。

例:

 命令 @UNIT 1[cr/lf]

 応答 OK[cr/lf]

17.2.9 MPB/RPB表示エラーメッセージの初期化処理操作

命令形式:

@MSGCLR[cr/lf]

応答形式:

OK[cr/lf]

c注意

k=2(mm/deg単位かつツール座

標モード)の指定は、Ver. 8.19以

上のソフトバージョンのときのみ

有効です。

Page 326: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

314

17. オンライン命令

意味:

・MPBおよびRPB上のエラーメッセージ表示の初期化処理を行います。

例:

 命令 @MSGCLR[cr/lf]

 応答 OK[cr/lf]

17.2.10 ユーティリティモード設定操作

17.2.10.1 アクセスレベル設定処理操作

命令形式:

@ ACCESS k[cr/lf]

k:アクセスレベル(k=0~3)

応答形式:

OK[cr/lf]

意味:

・アクセスレベル設定処理を行います。

例:

 命令 @ ACCESS 1[cr/lf]

 応答 OK[cr/lf]

17.2.10.2 実行レベル設定処理操作

命令形式:

@EXELVL k[cr/lf]

k:実行レベル(k=0~8)

応答形式:

OK[cr/lf]

意味:

・実行レベル設定処理を行います。

例:

 命令 @ EXELVL 1[cr/lf]

 応答 OK[cr/lf]

n要点

レベルの意味については、コント

ローラ取扱説明書を参照してくだ

さい。

n要点

レベルの意味については、コント

ローラ取扱説明書を参照してくだ

さい。

Page 327: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

315

17. オンライン命令

17.2.10.3 シーケンスプログラム実行フラグ設定処理操作

命令形式:

@SEQUENCE k[cr/lf]

k:実行フラグ(k=0:禁止、1:許可、3:許可(DOリセット))

応答形式:

OK[cr/lf]

意味:

・シーケンスプログラム実行フラグ設定処理を行います。

例:

 命令 @ SEQUENCE 1[cr/lf]

 応答 OK[cr/lf]

17.2.10.4 スカラ型ロボットの手系設定処理操作

命令形式:

@ARMTYP m,k[cr/lf]@ARMTYP2 m,k[cr/lf]

m :現在の手系(m=0:右手系、1:左手系)

k :プログラムリセット時の手系(k=0:右手系、1:左手系)

応答形式:

OK[cr/lf]

意味:

・スカラ型ロボットの手系設定処理を行います。

ARMTYP :メインロボットの手系設定変更を行います。

ARMTYP2 :サブロボットの手系設定変更を行います。

例:

 命令 @ ARMTYP 0, 0 [cr/lf]

 応答 OK[cr/lf]

17.2.10.5 内部非常停止フラグの解除処理操作

命令形式:

@EMGRST[cr/lf]

応答形式:

OK[cr/lf]

Page 328: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

316

17. オンライン命令

意味:

・内部非常停止フラグの解除処理を行います。

例:

 命令 @ EMGRST[cr/lf]

 応答 OK[cr/lf]

17.2.11 日付の確認と設定操作

命令形式:

@DATE[cr/lf]

応答形式:

ゲンザイノ ヒヅケ: yy/mm/dd[cr/lf]ヒヅケ ヲ ニュウリョクシテクダサイ: (YY/MM/DD)[cr/lf]

yy/mm/dd: 現在の日付(年月日)

yy : 西暦の下2桁(00~99)

mm : 月(01~12)

dd : 日(01~31)

送信形式:

aa/bb/cc[cr/lf]

aa/bb/cc :新しく設定する日付(年月日)

aa :西暦の下2桁(00~99) ※省略可

bb :月(01~12) ※省略可

cc :日(01~31) ※省略可

※省略した項目は、現在の値が使用されます。

例)日にちのみ変更する場合

//15[cr/lf] ・・・・・・ 日にちを15日に設定

また、[cr/lf]のみを送信すると日付は変更されません。

応答形式:

OK[cr/lf] または “エラーメッセージ”[cr/lf]

意味:

・コントローラの現在の日付を取得し、新しい日付を設定します。

例:

 命令 @DATE[cr/lf]

 応答 ゲンザイノ ヒヅケ: 07/05/10[cr/lf]

  ヒヅケ ヲ ニュウリョクシテクダサイ: (YY/MM/DD)[cr/lf]

 送信   07/05/11[cr/lf]

 応答   OK[cr/lf]

n要点

日付の確認と設定操作は、以下の

ソフトバージョンのときのみ有効

です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

c注意

ありえない日付を入力すると、

“5.2:データエラー”のエラーが

発生します。

n要点

西暦のみ、または月のみ変更する場

合、それぞれの後ろの/(スラッ

シュ)は省略することができます。

例)

西暦を2007年に設定 07[cr/lf]

月を6月に設定 /06[cr/lf]

Page 329: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

317

17. オンライン命令

17.2.12 時刻の確認と設定操作

命令形式:

@TIME[cr/lf]

応答形式:

ゲンザイノ ジコク: hh:mm:ss[cr/lf]ジコク ヲ ニュウリョクシテクダサイ: (HH:MM:SS)[cr/lf]

hh:mm:ss :現在の時刻

hh :時(00~23)

mm :分(00~59)

ss :秒(00~59)

送信形式:

aa:bb:cc[cr/lf]

aa:bb:cc :新しく設定する時刻

aa :時(00~23) ※省略可

bb :分(00~59) ※省略可

cc :秒(00~59) ※省略可

※省略した項目は、現在の値が使用されます。

例)分のみ変更する場合

:20:[cr/lf] ・・・・・・ 分を20分に設定

また、[cr/lf]のみを送信すると時刻は変更されません。

応答形式:

OK[cr/lf] または “エラーメッセージ”[cr/lf]

意味:

・コントローラの現在の時刻を取得し、新しい時刻を設定します。

例:

 命令 @TIME[cr/lf]

 応答 ゲンザイノ ジコク: 10:21:35 [cr/lf]

  ジコク ヲ ニュウリョクシテクダサイ: (HH:MM:SS)[cr/lf]

 送信 10:25:00[cr/lf]

 応答 OK[cr/lf]

n要点

時間の確認と設定操作は、以下の

ソフトバージョンのときのみ有効

です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

c注意

ありえない時刻を入力すると、

“5.2:データエラー”のエラーが

発生します。

n要点

時間のみ、または分のみ変更する場

合、それぞれの後ろの:(コロン)

は省略することができます。

例)

時間を13時に設定 13[cr/lf]

分を35分に設定 :35[cr/lf]

Page 330: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

318

17. オンライン命令

17.3 データハンドリング

17.3.1 表示言語取得処理

命令形式:

@?LANGUAGE[cr/lf]

応答形式:

m[cr/lf]

m:表示言語(m=JAPANESE:日本語表示、ENGLISH:英語表示)

意味:

・表示言語取得処理を行います。

例:

 命令 @?LANGUAGE[cr/lf]

 応答 JAPANESE[cr/lf]

17.3.2 アクセスレベル状態取得処理

命令形式:

@?ACCESS[cr/lf]

応答形式:

LEVELk[cr/lf]

k:アクセスレベル(k=0~3)

意味:

・ アクセスレベル状態取得処理を行います。

例:

 命令 @?ACCESS[cr/lf]

 応答 LEVEL2[cr/lf]

n要点

レベルの意味については、コント

ローラ取扱説明書を参照してくだ

さい。

Page 331: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

319

17. オンライン命令

17.3.3 アーム状態取得処理

命令形式:

@?ARM[cr/lf]

応答形式:

m1/s1,m2/s2[cr/lf]

メインロボット

m1:現在のアーム設定状態(m1=RIGHTY:右手系、LEFTY:左手系)

m2:プログラムリセット時のアーム設定状態(m2 =RIGHTY:右手系、

LEFTY:左手系)

サブロボット

s1 :現在のアーム設定状態(s1=RIGHTY:右手系、LEFTY:左手系)

s2 :プログラムリセット時のアーム設定状態(s2=RIGHTY:右手系、

LEFTY:左手系)

意味:

・ アーム状態取得処理を行います。

例:

 命令 @?ARM[cr/lf]

 応答 RIGHTY,RIGHTY[cr/lf]

17.3.4 ブレイクポイント状態取得処理

命令形式:

@?BREAK[cr/lf]

応答形式:

k1,k2,k3,k4[cr/lf]

kn:ブレイクポイントn の設定行番号(kn=1~9999)

・knの値が0 の場合は、設定無しを示します。

・COMMONプログラムへの設定では、行番号+10000と表示されま

す。

意味:

・ブレイクポイント状態取得処理を行います。

例:

 命令 @?BREAK[cr/lf]

 応答 12,35,0,0[cr/lf]

n要点

・スカラ型ロボットの設定で無い場

合は、有効では有りません。

・サブロボットの設定が無い場合

は、s1およびs2は表示されませ

ん。

Page 332: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

320

17. オンライン命令

17.3.5 コントローラ構成取得処理

命令形式:

@?CONFIG[cr/lf]

応答形式:

mr/sr-ma/sa-r-o1-o2[cr/lf]

mr:メインロボットの設定名

sr :サブロボットの設定名

ma:メイングループの軸設定(付加軸は、+で区切られます)

sa :サブグループの軸設定(付加軸は、+で区切られます)

r :標準インターフェース機器

o1 :オプション機器

o2 :その他の設定

意味:

・コントローラ構成取得処理を行います。

例:

 命令 @?CONFIG[cr/lf]

 応答 YK250X-XYZR-SRAM/196kB,DIO_N-DIO_N(1/2)[cr/lf]

17.3.6 実行レベル状態取得処理

命令形式:

@?EXELVL[cr/lf]

応答形式:

LEVELk[cr/lf]

k:実行レベル(k=0~8)

意味:

・実行レベル状態取得処理を行います。

例:

 命令 @?EXELVL[cr/lf]

 応答 LEVEL2[cr/lf]

n要点

サブロボットの設定が無い場合

は、srおよびsaは表示されません。

n要点

レベルの意味については、コント

ローラ取扱説明書を参照してくだ

さい。

Page 333: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

321

17. オンライン命令

17.3.7 モード状態取得処理

命令形式:

@?MOD[cr/lf]

応答形式:

s[cr/lf]

s:モード状態

日本語表示

ジドウ

プログラム

シュドウ

システム

自動モード

プログラムモード

手動モード

システムモード

英語表示

AUTO

PROGRAM

MANUAL

SYSTEM

s 意味

意味:

・ コントローラのモード状態取得処理を行います。

例:

 命令 @?MOD[cr/lf]

 応答 ジドウ[cr/lf]

17.3.8 メッセージ取得処理

命令形式1:

@?MSG[cr/lf]

応答形式1:

gg,bb:msg[cr/lf] またはOK[cr/lf]

gg :エラーグループ

bb :エラー分類

msg :エラーメッセージ

命令形式2:

@?MSG m,n[cr/lf]

m :取得先頭番号(m=1~500)

n :取得最終番号(n=1~500)

Page 334: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

322

17. オンライン命令

応答形式2:

yy/mm/dd,hh:mm:ss gg.bb:msg[cr/lf]

yy/mm/dd,hh:mm:ss gg.bb:msg[cr/lf] :OK[cr/lf]

yy/mm/dd:エラー発生年月日

hh:mm:ss :エラー発生時分秒

gg :エラーグループ

bb :エラー分類

msg :エラーメッセージ

意味:

・命令形式1は、MPBおよびRPB上のメッセージライン情報の取得処理を行

います。

・命令形式2は、エラー履歴のメッセージ取得処理を行います。

例:

 命令 @?MSG[cr/lf]

 応答 5.30:シキベツシ ミテイギ[cr/lf] あるいは OK[cr/lf]

例:

 命令 @?MSG 1,5[cr/lf]

 応答 01/10/28,14:20:20 5.30:シキベツシ ミテイギ[cr/lf]

01/10/28,14:18:34 5.1:シンタックス エラー[cr/lf]

01/10/28,14:10:54 5.30:シキベツシ ミテイギ[cr/lf]

01/10/28,14:05:40 14.22:カイシコード(@) ナシ[cr/lf]

01/10/28,14:05:00 5.52:コマンド ナシ[cr/lf]

OK[cr/lf]

17.3.9 原点復帰状態取得処理

命令形式:

@?ORIGIN[cr/lf]

応答形式:

COMPLETE[cr/lf] または INCOMPLETE[cr/lf]

COMPLETE : 完了状態

INCOMPLETE : 未了状態

意味:

 ・原点復帰状態取得処理を行います。

例:

 命令 @?ORIGIN[cr/lf]

 応答 COMPLETE[cr/lf]

Page 335: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

323

17. オンライン命令

17.3.10 アブソリュートリセット状態取得処理

命令形式:

@?ABSRST[cr/lf]

応答形式:

COMPLETE[cr/lf] または INCOMPLETE,xxxxxxxx[cr/lf]

COMPLETE: 完了状態

INCOMPLETE:未了状態

xxxxxxxx: 右から1 軸、2軸,...,8軸の状態を示します。

“0”:未了状態

“1”:完了状態

“9”:対象外

意味:

・アブソリュートリセット状態取得処理を行います。

例:

 命令 @?ABSRST[cr/lf]

 応答 INCOMPLETE,99991011[cr/lf]

17.3.11 サーボ状態取得処理

命令形式:

@?SERVO[cr/lf]

応答形式:

OFF,xxxxxxxx [cr/lf] または ON,xxxxxxxx[cr/lf]

・ 応答出力は下記のような意味を示します。

ON: モータ電源オン状態

OFF: モータ電源オフ状態

xxxxxxxx:右から1 軸、2軸,...,8軸の状態を示します。

“0”:メカブレーキオン+ダイナミックブレーキオン状態

“1”:サーボオン状態

“2”:メカブレーキオフ+ダイナミックブレーキオフ状態

“9”:対象外

意味:

・サーボ状態取得処理を行います。

例:

 命令 @?SERVO[cr/lf]

 応答 OFF,99991011[cr/lf]

Page 336: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

324

17. オンライン命令

17.3.12 シーケンスプログラム実行状態取得処理

命令形式:

@?SEQUENCE[cr/lf]

応答形式:

ENABLE,s[cr/lf] or ENABLE(RST.DO),s[cr/lf] or DISABLE[cr/lf]

・ 応答出力は下記のような意味を示します。

ENABLE: 許可状態

ENABLE(RST.DO):許可状態 かつ 非常停止時に出力をクリア

DISABLE: 禁止状態

s: 実行状態(s=RUNNING:実行中、STOP:停

止中)

意味:

・シーケンスプログラム実行状態取得処理を行います。

例:

 命令 @? SEQUENCE[cr/lf]

 応答 DISABLE[cr/lf]

17.3.13 速度状態取得処理

命令形式:

@?SPEED[cr/lf]

応答形式:

ma/sa,mm/sm[cr/lf]

メイングループ

ma: 自動移動速度設定状態(ma =1~100)

mm:手動移動速度設定状態(mm=1~100)

サブメイングループ

sa:自動移動速度設定状態(sa=1~100)

sm:手動移動速度設定状態(sm=1~100)

意味:

・速度状態取得処理を行います。

例:

 命令 @?SPEED[cr/lf]

 応答 100,50[cr/lf]

n要点

サブロボットの設定が無い場合

は、saおよびsmは表示されませ

ん。

Page 337: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

325

17. オンライン命令

17.3.14 ポイント単位座標系取得処理操作

命令形式:

@?UNIT[cr/lf]

応答形式:

s[cr/lf]

s: 単位座標系(s=PULSE:パルス単位の関節座標、MM:ミリ/DEG単

位の直交座標)

意味:

・ポイント単位座標系取得処理を行います。

例:

 命令 @?UNIT[cr/lf]

 応答 PULSE[cr/lf]

17.3.15 バージョン取得処理操作

命令形式:

@?VER[cr/lf]

応答形式:

cv,cr-mv-d1/d2/d3/d4/d5/d6/d7/d8{-ov}[cr/lf]

・ 応答出力は下記のような意味を示します。

cv: ホストのバージョン(RCX14x:V8.xx、RCX22x:V9.xx、

RCX240:V10.xx)

cr: ホストのリビジョン(Rxxxx)

mv: MPB/RPBのバージョン(V5.xx)

d?(?:1-8):ドライバのバージョン(Vx.xx)

ov: オプション機器のバージョン(Vx.xx)

意味:

・バージョン取得処理を行います。

例:

 命令@?VER[cr/lf]

 応答V8.02,R1021-V5.10-V1.01/V1.01/V1.01/V1.01/-----/-----/-----/-----/[cr/lf]

Page 338: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

326

17. オンライン命令

17.3.16 現在位置取得処理操作

17.3.16.1 パルス座標系現在位置取得処理操作

命令形式:

@?WHERE[cr/lf]@?WHERE2[cr/lf]

応答形式:

[POS]xxxxxx yyyyyy zzzzzz rrrrrr aaaaaa bbbbbb[cr/lf]

xxxxxx: 第1軸のパルス単位系での現在位置

yyyyyy: 第2軸のパルス単位系での現在位置

bbbbbb: 第6軸のパルス単位系での現在位置

意味:

・ 現在位置取得処理を行います。

WHERE: メイングループ軸の現在位置取得を行います。

WHERE2:サブグループ軸の現在位置取得を行います。

例:

命令 @?WHERE[cr/lf]

応答 [POS] 1000 2000 3000 -40000 0 0[cr/lf]

17.3.16.2 XY座標系現在位置取得処理操作

命令形式:

@?WHRXY[cr/lf]@?WHRXY2[cr/lf]

応答形式:

[POS] xxxxxx yyyyyy zzzzzz rrrrrr aaaaaa bbbbbb[cr/lf]

xxxxxx: 第1軸のミリ単位系での現在位置

yyyyyy: 第2軸のミリ単位系での現在位置

bbbbbb: 第6軸のミリ単位系での現在位置

意味:

・ 現在位置取得処理を行います。

WHRXY: メイングループ軸の現在位置取得を行います。

WHRXY2:サブグループ軸の現在位置取得を行います。

n要点

サブロボットの設定が無い場合

は、WHERE2は使用できません。

n要点

サブロボットの設定が無い場合

は、WHRXY2は使用できません。

Page 339: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

327

17. オンライン命令

例:

命令 @?WHRXY[cr/lf]

応答 [POS] 100.00 200.00 300.00 -40.00 0.00 0.00[cr/lf]

17.3.17 起動/一時停止状態タスク取得処理操作

命令形式:

@?TASKS[cr/lf]

応答形式:

n{,n{,{…}}}[cr/lf]

n:現在起動状態あるいは一時休止状態のタスク番号(n=1~8)

意味:

・起動/一時休止状態タスク取得処理を行います。

例:

 命令 @?TASKS[cr/lf]

 応答 1,3,4,6[cr/lf]

 

17.3.18 タスク稼働状態取得処理操作

命令形式:

@?TSKMON[cr/lf]

応答形式:

nfp,{nfp},{nfp},{nfp},{nfp},{nfp},{nfp},{nfp}[cr/lf]

n :各タスクの実行行番号(n=1~9999)

f :各タスクの状態(f=R:実行状態、U:一時休止状態、S:停止状態)

p :各タスクの優先順位(p=17~47)

意味:

・各タスクの状態をタスク1~タスク8 の順番に取得処理を行います。

例:

 命令 @?TSKMON[cr/lf]

 応答 11R32,,43U32,,,,129R31,[cr/lf]

Page 340: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

328

17. オンライン命令

17.3.19 シフト状態取得処理

命令形式:

@?SHIFT[cr/lf]

応答形式:

m/s[cr/lf]

m :メインロボットの選択シフト番号状態(m=0~9)

s :サブロボットの選択シフト番号状態(s=0~9)

意味:

・ シフト状態取得処理を行います。

例:

 命令 @?SHIFT[cr/lf]

 応答 1[cr/lf]

17.3.20 ハンド状態取得処理

命令形式:

@?HAND[cr/lf]

応答形式:

m/s[cr/lf]

m :メインロボットの選択ハンド番号状態(m=0~3)

s :サブロボットの選択ハンド番号状態(s=4~7)

意味:

・ ハンド状態取得処理を行います。

例:

 命令 @?HAND[cr/lf]

 応答 1[cr/lf]

n要点

サブロボットの設定が無い場合

は、sは表示されません。

n要点

サブロボットの設定が無い場合

は、sは表示されません。

Page 341: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

329

17. オンライン命令

17.3.21 メモリ残容量取得処理

命令形式:

@?MEM[cr/lf]

応答形式:

k/m[cr/lf]

k :ソース領域残容量(単位:バイト)

m :オブジェクト領域残容量(単位:バイト)

意味:

・ 現在のメモリ残容量の取得処理を行います。

例:

 命令 @?MEM[cr/lf]

 応答 102543/1342[cr/lf]

17.3.22 非常停止状態取得処理

命令形式:

@?EMG[cr/lf]

応答形式:

k[cr/lf]

k:非常停止状態(k=0:正常状態、1:非常停止状態)

意味:

・ 非常停止状態取得処理を行います。非常停止内部フラグを確認します。

例:

 命令 @?EMG[cr/lf]

 応答 1[cr/lf]

Page 342: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

330

17. オンライン命令

17.3.23 自己診断によるエラー状態取得処理

命令形式:

@?SELFCHK[cr/lf]

応答形式:

・異常状態

m.n: ”メッセージ” [cr/lf] :END [cr/lf]

m: エラーグループを示します。

n: エラー分類を示します。

“メッセージ”: エラーメッセージを示します。

・正常状態

OK [cr/lf]

意味:

・自己診断によるエラー状態取得処理を行います。コントローラ内部のエラー

状態を確認します。

例:

 命令 @?SELFCHK[cr/lf]

 応答 12.1:ヒジョウテイシ オン[cr/lf]

END[cr/lf]

Page 343: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

331

17. オンライン命令

17.3.24 オプションスロット状態取得処理

命令形式:

@?OPSLOT[cr/lf]

応答形式:

OP.1 : ”オプションボード名”[cr/lf]OP.2 : ”オプションボード名”[cr/lf]OP.3 : ”オプションボード名”[cr/lf]OP.4 : ”オプションボード名” [cr/lf]

“オプションボード名”:装着されているオプションボード名

DIO_Nm: NPN 仕様のDIOボード(m:ボードID)

DIO_Pm: PNP仕様のDIOボード(m:ボードID)

CCLnk: CC-Link 対応ボード

D_Net: DeviceNet 対応ボード

Profi: Profibus 対応ボード

E_Net: Ethernet 対応ボード

YCLnk: YC-Link対応ボード

no board: ボード無し

illegal board:未対応ボード

意味:

・オプションスロット状態取得処理を行います。オプションボードの状態を確

認します。

例:

 命令 @?OPSLOT[cr/lf]

 応答 OP.1 : DIO_N2[cr/lf]

OP.2 : DIO_N1[cr/lf]

OP.3 : no board[cr/lf]

OP.4 : CCLnk [cr/lf]

Page 344: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

332

17. オンライン命令

17.3.25 値取得処理

17.3.25.1 数値式の値取得処理

命令形式:

@?“数値式”[cr/lf]

応答形式:

“数値”[cr/lf]

意味:

・指定した数値式の値取得処理を行います。

・数値式の値は、10進整数または実数形式で返ってきます。

例1:

 命令 @?SQR(100*5)[cr/lf]

 応答 2.23606E01[cr/lf]

例2:

 命令 @?LOCX(WHERE)[cr/lf]

 応答 102054[cr/lf]

17.3.25.2 文字列式の値取得処理

命令形式:

@?“文字列式”[cr/lf]

応答形式:

“文字列”[cr/lf]

意味:

・指定した文字列式の値(文字列)取得処理を行います。

例:

 A$=“ABC”、B$=“DEF”のとき

 命令 @?A$+B$+“123”[cr/lf]

 応答 ABCDEF123[cr/lf]

n要点

数値式の値取得処理は、以下のソフ

トバージョンのときのみ有効です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

n要点

文字列式の値取得処理は、以下の

ソフトバージョンのときのみ有効

です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

Page 345: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

333

17. オンライン命令

17.3.25.3 ポイント式の値取得処理

命令形式:

@?“ポイント式”[cr/lf]

応答形式:

“ポイントデータ”[cr/lf]

意味:

・指定したポイント式の値(ポイントデータ)取得処理を行います。

例:

 命令 @?P1+WHRXY[cr/lf]

 応答 10.41 -1.60 52.18 3.00 0.00 0.00 0 [cr/lf]

17.3.25.4 シフト式の値取得処理

命令形式:

@?“シフト式”[cr/lf]

応答形式:

“シフトデータ”[cr/lf]

意味:

・指定したシフト式の値(シフトデータ)取得処理を行います。

例:

 命令 @?S1[cr/lf]

 応答 25.00 12.60 10.00 0.00 [cr/lf]

n要点

シフト式の値取得処理は、以下の

ソフトバージョンのときのみ有効

です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

n要点

ポイント式の値取得処理は、以下

のソフトバージョンのときのみ有

効です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

Page 346: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

334

17. オンライン命令

17.3.26 データ読出し処理

命令形式:

@READ “読出しファイル”[cr/lf]

“読出しファイル”: 読出しファイルを示します。

応答形式:

・ 応答出力は読出しファイルに依存します。

意味:

・ データ読出し処理を行います。

・ RS-232Cを通じたオンライン命令の場合は、下記の命令と同じ意味となります。

SEND <読出しファイル> TO CMU

Ethernet の場合は、下記の命令と同じ意味となります。

  SEND <読出しファイル> TO ETH

区分 読出しファイル記述形式

全体 個別

ユーザーメモリ

変数,定数

ステータス

デバイス

その他

全体ファイル

プログラム

ポイント

ポイントコメント

パラメータ

シフト定義

ハンド定義

パレット定義

変数

配列変数

定数

プログラムディレクトリ

パラメータディレクトリ

マシンリファレンス

エラー履歴

メモリ残量

DIポート

DOポート

MOポート

TOポート

LOポート

SIポート

SOポート

SIWポート

SOWポート

ファイル終了コード

ALL

PGM

PNT

PCM

PRM

SFT

HND

PLT

VAR

ARY

―――

DIR

DPM

MRF

LOG

MEM

DI()

DO()

MO()

TO()

LO()

SI()

SO()

SIW()

SOW()

EOF

―――

<bbbbbbbb>

Pn

PCn

/cccccc/

Sn

Hn

PLn

ab...by

ab...by(x)

“cc...c”

<<bbbbbbbb>>

―――

―――

―――

―――

DIn()

DOn()

MOn()

TOn()

LOn()

SIn()

SOn()

SIWn()

SOWn()

―――

n:数字a:英字b:英数字またはアンダースコア(_)c:英数字または特殊記号x:式y:型式

例:

 命令 @READ PGM[cr/lf]

例:

 命令 @READ P100[cr/lf]

n要点

読み出しファイルのポイントコメン

ト個別形式(PCn)は、以下のソフ

トバージョンのときのみ有効です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

n要点

ファイルの詳細については、前述

の“データファイル詳細”を参照

ください。

Page 347: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

335

17. オンライン命令

17.3.27 データ書込み処理

命令形式:

@WRITE “書込みファイル”[cr/lf]

“書込みファイル”: 書込みファイルを示します。

応答形式:

・書込みデータの入力を促すために下記の応答をします。

***ニュウリョクシテクダサイ![cr/lf]

・書込みファイルの入力が終了後に下記の応答をします。

OK[cr/lf]

意味:

・ データ書込み処理を行います。

・ RS-232Cを通じたオンライン命令の場合は、下記の命令と同じ意味となります。

SEND CMU TO <書込みファイル>

Ethernet の場合は、下記の命令と同じ意味となります。

  SEND ETH TO <書込みファイル>

区分 書込みファイル記述形式

全体 個別

ユーザーメモリ

変数,定数

デバイス

全体ファイル

プログラム

ポイント

ポイントコメント

パラメータ

シフト定義

ハンド定義

パレット定義

変数

配列変数

DOポート

MOポート

TOポート

LOポート

SOポート

SOWポート

ALL

PGM

PNT

PCM

PRM

SFT

HND

PLT

VAR

ARY

―――

―――

―――

―――

―――

―――

―――

<bbbbbbbb>

Pn

PCn

/cccccc/

Sn

Hn

PLn

ab...by

ab...by(x)

DOn()

MOn()

TOn()

LOn()

SOn()

SOWn()

n:数字a:英字b:英数字またはアンダースコア(_)c:英数字または特殊記号x:式y:型式

例:

 命令 @WRITE PRM[cr/lf]

例:

 命令 @WRITE P100[cr/lf]

n要点

書込みファイルのポイントコメント

個別形式(PCn)は、以下のソフト

バージョンのときのみ有効です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

n要点

ファイルの詳細については、前述

の“データファイル詳細”を参照

ください。

c注意

DOポート、MOポート、TOポート、

LOポート、SOポート、SOWポート

において、書込みファイルとして各

ポート全体(DO()、MO()など)を指

定することはできません。また、個

別ファイル(DOn()、MOn()など)

の一部は、書込みファイルとして

指定できないものがあります。詳

しくは、前述の“データファイル

詳細”を参照してください。

Page 348: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

336

17. オンライン命令

17.4 ロボット言語単独実行

17.4.1 プログラム切替命令処理

命令形式:

@SWI <プログラム名>[cr/lf]

応答形式:

OK[cr/lf] あるいは LINEx,m,n:”メッセージ”[cr/lf]

OK: 正常に命令終了

LINEx,m,n: ”メッセージ”コンパイル時にエラー発生

x: エラー発生行番号を示します。

m: エラーグループを示します。

n: エラー分類を示します。

”メッセージ”: エラーメッセージを示します。

意味:

・プログラム切替処理を行います。

・自動モードの場合、プログラムの切替およびコンパイルを実行します。

・他のモードの場合、プログラムの切替のみを行います。

ただし、指定プログラムが”SEQUENCE”の場合は、シーケンスオブ

ジェクトを作成します。

例:自動モードの場合

 命令 @SWI <TEST1>[cr/lf]

 応答 Line2,5.39:シキベツシ アヤマリ[cr/lf]

例:その他モードの場合

 命令 @SWI <TEST1>[cr/lf]

 応答 OK[cr/lf]

Page 349: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

337

17. オンライン命令

17.4.2 その他のロボット言語命令処理

命令形式:

@”ロボット言語”[cr/lf]

応答形式:

OK[cr/lf] または “エラーメッセージ”[cr/lf] または ***チュウダン[cr/lf]

・応答出力は下記のような意味を示します。

OK :正常に命令終了

“エラーメッセージ” :エラー発生

***チュウダン :何らかの中断処理が行われた

意味:

・ロボット言語命令処理を行います。

・単独実行可能命令のみ実行します。

・命令形式は、各命令に依存します。

例:

 命令 @SET DO(20) [cr/lf]

 応答 OK[cr/lf]

例:

 命令 @MOVE P,P100,S=20[cr/lf]

 応答 OK[cr/lf]

17.5 制御コード

17.5.1 実行中断処理

命令形式:

^C (=03H)

応答形式:

*** チュウダン[cr/lf]

意味:

・実行中の命令を中断します。

例:

 命令 @MOVE P,P100,S=20[cr/lf]

^C

 応答 *** チュウダン[cr/lf]

Page 350: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

338

18. IOコマンド

汎用入出力のビット情報(DI/DOポート)を使用することにより、PLCから直接コマンドを発行する

ことができます。MOVEコマンドのように、従来、ロボットプログラムあるいはRS-232Cを使用しな

ければ実行できなかったコマンドが、実行できます。

18.1 IOコマンド形式

以下のような機能が、各IOに割当てられます。

出力(コントローラ → PLC) 入力(コントローラ ← PLC)

出力ポート

DO26DO27DO16DO17

RCX240

RCX22x

入力ポート

DI05DI2( )DI3( )DI4( )

内容

実行判定出力

実行中出力

実行判定出力

実行中出力

内容

IOコマンド実行トリガ入力

コマンドコード

コマンドデータ

■汎用入力と汎用出力の一部分を利用してIOコマンドを実行することができ

ます。オプションDIOが接続されていない場合、DI4()は、すべてオフ状

態と認識します。

■IOコマンドは、プログラム実行中(DO13がオン状態)は実行できません。

■IOコマンドは、オンライン命令と同時には実行できません。

■IOコマンドは、DI2()に実行したいコマンドコードとDI3()とDI4()にコマ

ンドデータを代入し、DI05 をオフからオン状態に変化させることで実行さ

れます。コントローラは、IOコマンドを受信するとその処理を実行し、

DO26とDO27(RCX22xの場合は、DO16とDO17)を介してPLCに

実行判定結果と実行中情報を送信します。

■IOコマンドに付加するコマンドデータは、IOコマンドによって異なりま

す。IOコマンドの詳細を参照してください。また、コマンドデータの設定

は、必ず、IOコマンドを設定する前に行なう必要があります。

■データの設定は、バイナリコードで行ないます。データサイズが、8bit

を超える場合は、上位bitのデータを高い方のアドレスに設定します。

(リトルエンディアン)

例えば、DI3()とDI4()のポートに0x0F9F(16進)(=3999)

を設定する場合、DI4()に0x0F(16進)を、DI3()に0x9F(16

進)を設定します。

■実行中出力がオン状態のときは、IOコマンド実行トリガ入力を受付けません。

■実行中出力は、下記のときオン状態となります。

・ IOコマンド実行トリガ入力を受付け、IOコマンドを実行している。

・ IOコマンド実行トリガ入力を受付け、IOコマンドは実行終了している

が、IOコマンド実行トリガ入力がオン状態なので、最大100ms状態

を保持する。

■IOコマンド実行トリガ入力のパルス入力は、必ず100ms以上保持する

必要があります。保持しない場合、コマンドを受付けない場合があります。

■IOコマンド実行トリガ入力の立ち上がりパルスから実行中出力がオン状態

になるまで、20ms以上かかる場合があります。この時間内では、IOコ

マンド実行トリガ入力を受付けない場合があります。

c注意

・IOコマンドは、Ver. 8.18以上の

ソフトバージョンのときのみ有効

です。

・IOコマンドを使用するには、シス

テムモードにある下記のパラメー

タをあらかじめ有効にしておく必

要があります。詳しくは、コント

ローラ取扱説明書を参照してくだ

さい。

RCX240の場合

その他のパラメータの

“STD.DIOノ IO コマンド(DI05)”

RCX22xの場合

OPボードパラメータの

“IO コマンド(DI05)”

n要点

IOコマンドを実行すると、汎用

出力DO26とDO27を強制的

に使用します。(RCX22xの場合

は、専用出力DO16とDO17で

す。)別用途でご使用の場合はご

注意ください。

Page 351: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

339

18. IOコマンド

■IOコマンド実行トリガ入力のパルス入力は、実行中出力がオフしてから、

必ず100ms経過後に次のコマンドを実行する必要があります。経過時間

が短い場合、IOコマンド実行トリガ入力を受付けない場合があります。

■実行判定出力は、IOコマンドが受付されるとオフします。

■実行判定出力は、IOコマンドが正常終了した場合、オン状態になります。

しかし、IOコマンドが異常終了した場合、オフ状態のままとなります。

Page 352: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

340

18. IOコマンド

18.2 IOコマンド送受信

以下のようにIOレジスタの送受信を行ないます。

DI05

DI2( )

DI3( )~DI4( )

DO27DO17*

DO26DO16*

入力ポート

出力ポート

q

e t

t

w r

r

q r

実行終了

100ms以上

30ms以上

*RCX22xの場合

qコマンドコードとコマンドデータの設定(q -w 間:30ms以上)

wIOコマンド実行トリガ入力の設定(パルス幅:100ms以上)

e実行中への変化

rIOコマンド実行トリガ入力とコマンドコードとコマンドデータのクリア

tIOコマンドの実行終了と実行判定出力の設定

例:ポイント19にPTP移動コマンドを実行する場合の送受信例を示します。

qポイント指定のPTP移動コマンドを実行するために、下記のレジスタに値

を設定します。

DI2( ) :コマンドコード (0x01)

DI3( ) :下位のポイント指定(0x13=ポイント19)

DI4( ) :上位のポイント指定(0x00=ポイント19)

wDI05をオフからオンに設定します。

eコントローラは、IOコマンドを受信し、コマンドとコマンドデータから実

行可能であれば、実行を開始します。このとき、実行中出力をオンに、実行

判定出力をオフに変化させます。ロボットは、ポイント19に指定された位

置に移動します。

r実行中出力をオン確認したら、DI2()~D I4()をクリアします。

tコマンドが終了したので、実行中出力をオフに、実行判定出力に正常であれ

ばオン、異常であればオフを設定します。

*r でDI05のオフ設定をしない場合、実行中出力はt のタイミングから

最大100ms間オン状態が保持されます。

DI05

DI2( )

DI3( )~DI4( )

DO27DO17*

DO26DO16*

入力ポート

出力ポート

q

e t

t

w r

r

q r

実行終了

100ms

*RCX22xの場合

c注意

IOコマンドを使用するには、シ

ステムモードにある下記のパラ

メータをあらかじめ有効にしてお

く必要があります。詳しくは、コ

ントローラ取扱説明書を参照して

ください。

RCX240の場合

その他のパラメータの

“STD.DIOノ IO コマンド(DI05)”

RCX22xの場合

OPボードパラメータの

“IO コマンド(DI05)”

c注意

実行判定出力の出力ポートは

RCX240:DO26

RCX22x:DO16

実行中出力の出力ポートは

RCX240:DO27

RCX22x:DO17

です。

n要点

スカラ型ロボット、かつ、指定する

ポイントデータに手系フラグが設定

されている場合、この手系を現在の

アームタイプよりも優先します。

Page 353: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

341

18. IOコマンド

18.3 IOコマンド一覧

IOコマンドコードは、16進数表記です。

コマンド内容コマンドコード(DI2( ))メインロボット サブロボット

0x010x030x090x180x200x240x280x300x310x320x340x350x360x370x380x390x3A0x3B0x3C0x3D0x3E

0x810x830x890x980xA00xA40xA80xB00xB10xB20xB40xB50xB6

0xB80xB90xBA0xBB0xBC0xBD

no.

1

2345678910

11121314151617

MOVE移動コマンド

MOVEI移動コマンド

パレット移動コマンド

ジョグ移動コマンド

インチング移動コマンド

ポイントティーチングコマンド

アブソリュートリセット用移動コマンド

アブソリュートリセットコマンド

原点復帰コマンド

サーボコマンド

手動移動速度変更コマンド

自動移動速度変更コマンド

プログラム速度変更コマンド

シフト指定変更コマンド

ハンド指定変更コマンド

アーム指定変更コマンド

ポイント表示単位指定コマンド

PTPポイント指定

直線補間

PTPポイント指定

パレット0でのPTP指定

オン

オフ

フリー

パワーオン

* 3. パレット移動コマンドは,パレット0に対してのみ有効です。

* 4. ジョグ移動コマンド,5.インチング移動コマンドは,ポイント単位指定状態により移動方法が異なり

ます。

* 6. ポイントティーチングコマンドは,ポイント単位指定状態によりポイント単位が異なります。

* 8. アブソリュートリセットコマンドは、軸指定を行わない場合、コマンドコードが0x31、0xB1のいずれの

場合も全軸(メインロボット+サブロボット)が対象となります。

* 9. 原点復帰コマンドは、軸指定を行わない場合、コマンドコードが0x32、0xB2のいずれの場合も全軸(メ

インロボット+サブロボット)が対象となります。

*17. ポイント表示単位指定コマンドは,コントローラ対象となります。

n要点

サブロボット対象のMOVE移動の直

線補間コマンド(0x83)は、以下

のソフトバージョンのときのみ有

効です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

n要点

原点復帰コマンドは、Ver. 8.45未満

のソフトバージョンのコントローラ

では全軸(メインロボット+サブロ

ボット)対象のみで、コマンドコー

ドは0x32のみとなります。

Page 354: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

342

18. IOコマンド

18.4 IOコマンド詳細

18.4.1 MOVE移動コマンド

このコマンド群は、ロボットを絶対位置移動させるために実行します。

18.4.1.1 PTPポイント指定

このコマンドは、ポイント番号を指定することにより、ロボットをPTP動作で

目標位置に移動します。

コマンド

内容 値

0x010x81

0xpppp

DIポートDI2()

DI3()DI4()

コマンドコード

ポイント番号

メインロボット対象

サブロボット対象

pppp:16ビットでポイント番号を指定します。

指定範囲:0(=0x0000)~9999(=0x270F)

18.4.1.2 直線補間

このコマンドは、ポイント番号を指定することにより、ロボットを直線補間動作

で目標位置に移動します。

コマンド

内容 値

0x030x83

0xpppp

DIポートDI2()

DI3()DI4()

コマンドコード

ポイント番号

メインロボット対象

サブロボット対象

pppp:16ビットでポイント番号を指定します。

指定範囲:0(=0x0000)~9999(=0x270F)

c注意

・ソフトバージョンがVer. 8.28以前の

コントローラでは、ポイント番号の

指定範囲は、0~4000となります。

・DI4()が無い場合、ポイント番号の

指定範囲は、0~255となります。

c注意

・ソフトバージョンがVer. 8.28以前の

コントローラでは、ポイント番号の

指定範囲は、0~4000となります。

・DI4()が無い場合、ポイント番号の

指定範囲は、0~255となります。

・手系フラグが設定されているポイント

に直線補間で移動する場合、現在位置

での手系と指定したポイントの手系が

同じになるようにしてください。現在

位置での手系と指定したポイントの手

系が異なる場合、エラーとなり動作で

きません。

n要点

スカラ型ロボット、かつ、指定する

ポイントデータに手系フラグが設定

されている場合、この手系を現在の

アームタイプよりも優先します。

n要点

・サブロボット対象のMOVE移動の直

線補間コマンド(0x83)は、以下

のソフトバージョンのときのみ有

効です。

・RCX14x Ver. 8.64以上

・RCX22x Ver. 9.11以上

・スカラ型ロボット、かつ、指定す

るポイントデータに手系フラグが

設定されている場合、この手系を

現在のアームタイプよりも優先し

ます。

Page 355: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

343

18. IOコマンド

18.4.2 MOVEI移動コマンド

このコマンド群は、ロボットを相対位置移動させるために実行します。

18.4.2.1 PTPポイント指定

このコマンドは、ポイント番号を指定することにより、ロボットをPTP動作で

指定距離移動します。

コマンド

内容 値

0x090x89

0xpppp

DIポートDI2()

DI3()DI4()

コマンドコード

ポイント番号

メインロボット対象

サブロボット対象

pppp:16ビットでポイント番号を指定します。

指定範囲:0(=0x0000)~9999(=0x270F)

18.4.3 パレット移動コマンド

このコマンド群は、ロボットをパレット0に対するパレット移動させるために実

行します。

18.4.3.1 PTP指定

このコマンドは、ワーク位置番号を指定することにより、ロボットをPTP動作

で目標位置に移動します。

コマンド

内容 値

0x180x98

0xwwww

DIポートDI2()

DI3()DI4()

コマンドコード

ワーク位置番号

メインロボット対象

サブロボット対象

wwww :16ビットでワーク位置番号を指定します。

指定範囲:1(=0x0001)~32767(=0x7FFF)

c注意

DI4()が無い場合、ワーク位置番号の指定範囲は、0~255となります。

c注意

・ソフトバージョンがVer. 8.28以前のコントローラでは、ポイント番号の指定範囲は、0~4000となります。

・DI4()が無い場合、ポイント番号の指定範囲は、0~255となります。

n要点

スカラ型ロボット、かつ、指定するポイントデータに手系フラグが設定されている場合、この手系を現在のアームタイプよりも優先します。

n要点

・下記ソフトバージョンのコントローラでは、MOVEI移動コマンドを途中停止し再実行した場合、先の移動の目標位置に移動するか、現在位置を基準として新たな目標位置に移動するかを、その他のパラメータの“MOVEI/DRIVEIカイシイチ”で選択することができます。詳しくはコントローラ取扱説明書を参照してください。

・RCX14x Ver. 8.66以上

・RCX22x Ver. 9.13以上

・その他のパラメータの“MOVEI/DRIVEI カイシイチ”の初期値は、キープ(MOVEI移動コマンドを途中停止し再実行した場合、先の移動の目標位置に移動する)に設定されています。

・上記より古いバージョンのコントローラでは、MOVEI移動コマンドを途中停止し再実行した場合、現在位置を基準として新たな目標位置に相対移動を行います。

Page 356: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

344

18. IOコマンド

18.4.4 ジョグ移動コマンド

このコマンドは、手動モードでロボットをジョグ移動させるために実行します。

手動モードでのみ実行できます。

このコマンドは、コントローラのポイント表示単位系と連動しています。した

がって、表示単位がパルス単位の場合は軸単位のPTP移動し、ミリ単位の場合

は直交座標を直線補間移動します。

ジョグ移動の速度は、手動移動速度により決定します。

ジョグ移動コマンドを停止させる場合は、専用入力のインターロック信号をオフ

に変化させてください。停止を確認後、専用入力のインターロック信号はオンに

変化させてください。

コマンド

内容 値

0x200xA0

tt

0d

0x00

DIポートDI2()

DI3()

DI4()

コマンドコード

移動軸と方向

未使用

bit 0bit 1bit 2bit 3bit 4bit 5bit 6bit 7

メインロボット対象

サブロボット対象

第1軸第2軸第3軸第4軸第5軸第6軸(0:固定)

方向

01

意味

+方向

-方向

tt:0ビット~3ビットで移動する軸を指定します。

軸指定は、1つの軸のみとなります。

d :1ビットで移動方向を指定します。

18.4.5 インチング移動コマンド

このコマンドは、手動モードでロボットをインチング移動させるために実行しま

す。インチング移動距離は、手動移動速度と連動しています。手動モードでのみ

実行できます。

このコマンドは、コントローラのポイント表示単位系と連動しています。した

がって、表示単位がパルス単位の場合は移動軸が手動移動速度値のパルス量を移

動し、ミリ単位の場合は直交座標で手動移動速度値/100のデータ量を直線補

間移動します。

コマンド

内容 値

0x240xA4

tt

0d

0x00

DIポートDI2()

DI3()

DI4()

コマンドコード

移動軸と方向

未使用

bit 0bit 1bit 2bit 3bit 4bit 5bit 6bit 7

メインロボット対象

サブロボット対象

第1軸第2軸第3軸第4軸第5軸第6軸(0:固定)

方向

01

意味

+方向

-方向

tt:0ビット~3ビットで移動する軸を指定します。

軸指定は、1つの軸のみとなります。

d :1ビットで移動方向を指定します。

Page 357: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

345

18. IOコマンド

18.4.6 ポイントティーチングコマンド

このコマンドは、指定ポイント番号に現在のロボットの位置をティーチングさせ

るために実行します。

このコマンドによるポイントデータ単位は、コントローラのポイント表示単位系

と連動しています。

コマンド

内容 値

0x280xA8

0xpppp

DIポートDI2()

DI3()DI4()

コマンドコード

ポイント番号

メインロボット対象

サブロボット対象

pppp:16ビットでポイント番号を指定します。

指定範囲:0(=0x0000)~9999(=0x270F)

18.4.7 アブソリュートリセット用移動コマンド

このコマンドは、指定軸がマーク指定のアブソリュートリセット方式の場合、ア

ブソリュートリセットが実行可能な位置で、最も近い位置に移動します。

アブソリュートリセット可能な位置は、モータの1/4回転毎にあります。

コマンド

内容 値

0x300xB0

tt

0d

0x00

DIポートDI2()

DI3()

DI4()

コマンドコード

移動軸と方向

未使用

bit 0bit 1bit 2bit 3bit 4bit 5bit 6bit 7

メインロボット対象

サブロボット対象

第1軸第2軸第3軸第4軸第5軸第6軸(0:固定)

方向

01

意味

+方向

-方向

tt:0ビット~3ビットで移動する軸を指定します。

軸指定は、1つの軸のみとなります。

d :1ビットで移動方向を指定します。

c注意

・ソフトバージョンがVer. 8.28以前の

コントローラでは、ポイント番号の

指定範囲は、0~4000となります。

・DI4()が無い場合、ポイント番号の

指定範囲は、0~255となります。

Page 358: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

346

18. IOコマンド

18.4.8 アブソリュートリセットコマンド

このコマンドは、指定軸のアブソリュートリセットを実行します。

指定軸がマーク指定のアブソリュートリセット方式の場合、アブソリュートリ

セット可能な位置にある必要があります。

軸指定を行わない(DI3()が0)場合、コマンドコードが0x31、0xB1のいず

れの場合も全軸(メインロボット+サブロボット)が対象となります。このと

き、マーク指定軸が原点復帰未了状態の場合、コマンドは実行できません。軸毎

にアブソリュートリセットを実行してください。

コマンド

内容 値

0x310xB1

tt

00x00

DIポートDI2()

DI3()

DI4()

コマンドコード

指定軸

未使用

bit 0bit 1bit 2bit 3bit 4bit 5

bit 7-bit 6

メインロボット対象

サブロボット対象

第1軸第2軸第3軸第4軸第5軸第6軸(0:固定)

tt:0ビット~3ビットでアブソリュートリセットする軸を指定します。

軸指定は、いずれか1軸のみ指定可能です。

軸指定がない場合は、全軸(メインロボット+ サブロボット)が対象となります。

18.4.9 原点復帰コマンド

このコマンドは、指定軸の原点復帰を実行します。

このコマンドをインクリメンタル仕様の軸に対して実行すると、軸は原点復帰動

作を実行します。同様に、セミアブソ仕様の軸に対して実行すると、アブソサー

チ動作を行います。

軸指定を行わない(DI3()が0)場合、コマンドコードが0x32、0xB2のいず

れの場合も全軸(メインロボット+サブロボット)が対象となります。

コマンド

内容 値

0x320xB2

tt

00x00

DIポートDI2()

DI3()

DI4()

コマンドコード

指定軸

未使用

bit 0bit 1bit 2bit 3bit 4bit 5

bit 7-bit 6

メインロボット対象

サブロボット対象

第1軸第2軸第3軸第4軸第5軸第6軸(0:固定)

tt:0ビット~3ビットで原点復帰する軸を指定します。

軸指定は、いずれか1軸のみ指定可能です。

軸指定がない場合は、全軸(メインロボット+サブロボット)が対象となります。

n要点

原点復帰コマンドの軸指定は、

Ver. 8.45以上のソフトバージョン

のときのみ有効です。それ未満の

バージョンのコントローラでは、

全軸対象のみとなり、コマンド

コードは0x32のみとなります。

Page 359: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

347

18. IOコマンド

18.4.10 サーボコマンド

このコマンド群は、ロボットのサーボを操作するために実行します。

操作

オン指定

オフ指定

フリー指定

パワーオン指定

内容

このコマンドは、指定軸のサーボをオンするために実行します。軸指定は、モータ電源がオンしている必要があります。軸指定が無い場合は、コントローラ全体のサーボオンを行ないます。

このコマンドは、指定軸のサーボをオフするために実行します。軸指定が無い場合は、コントローラ全体のサーボオフを行ないます。

このコマンドは、指定軸のサーボをオフした後、メカニカルブレーキ及びダイナミックブレーキをオフするために実行します。したがって、連続実行すると、オフ指定+フリー指定を繰り返します。軸指定が無い場合は、コントローラ全体のサーボフリーを行ないます。

このコマンドは、モータ電源をオンするために実行します。軸指定することはできません。

コマンド

内容 値

0x340xB40x350xB50x360xB60x37

tt

00x00

DIポートDI2()

DI3()

DI4()

コマンドコード

指定軸

未使用

オン指定

オフ指定

フリー指定

パワーオン指定

bit 0bit 1bit 2bit 3bit 4bit 5

bit 7-bit 6

メインロボット対象

サブロボット対象

メインロボット対象

サブロボット対象

メインロボット対象

サブロボット対象

コントローラ全体

第1軸

第2軸

第3軸

第4軸

第5軸第6軸(0:固定)

tt:0ビット~3ビットで移動する軸を指定します。

軸指定が無い場合は、コントローラ全体の処理を行ないます。

パワーオン指定の場合は、軸指定できません。

18.4.11 手動移動速度変更コマンド

このコマンドは、手動モードにおける手動移動速度を変更するために実行しま

す。

手動モードでのみ実行可能です。

コマンド

内容 値

0x380xB80xss0x00

DIポートDI2()

DI3()DI4()

コマンドコード

指定速度

未使用

メインロボット対象

サブロボット対象

ss:8ビットで手動移動速度を指定します。

指定範囲:1(=0x01)~100(=0x64)

Page 360: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

348

18. IOコマンド

18.4.12 自動移動速度変更コマンド

このコマンドは、自動モードにおける自動移動速度を変更するために実行しま

す。

自動モードでのみ実行可能です。

コマンド

内容 値

0x390xB90xss0x00

DIポートDI2()

DI3()DI4()

コマンドコード

指定速度

未使用

メインロボット対象

サブロボット対象

ss:8ビットで自動移動速度を指定します。

指定範囲:1(=0x01)~100(=0x64)

18.4.13 プログラム速度変更コマンド

このコマンドは、自動モードにおけるプログラム移動速度を変更するために実行

します。

このコマンドで設定したプログラム速度は、プログラムリセットやプログラム変

更されると、100%に初期化されます。

コマンド

内容 値

0x3A0xBA0xss0x00

DIポートDI2()

DI3()DI4()

コマンドコード

指定速度

未使用

メインロボット対象

サブロボット対象

ss:8ビットでプログラム移動速度を指定します。

指定範囲:1(=0x01)~100(=0x64)

18.4.14 シフト指定変更コマンド

このコマンドは、選択シフトを指定シフト番号に変更するために実行します。

コマンド

内容 値

0x3B0xBB0xss0x00

DIポートDI2()

DI3()DI4()

コマンドコード

指定シフト番号

未使用

メインロボット対象

サブロボット対象

ss:8ビットでシフト番号を指定します。

指定範囲:0(=0x00)~9(=0x09)

Page 361: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

349

18. IOコマンド

18.4.15 ハンド指定変更コマンド

このコマンドは、選択ハンドを指定シフト番号に変更するために実行します。

コマンド

内容 値

0x3C0xBC0xss0x00

DIポートDI2()

DI3()DI4()

コマンドコード

指定ハンド番号

未使用

メインロボット対象

サブロボット対象

ss:8ビットでハンド番号を指定します。

メインロボット対象 :指定範囲:0(=0x00)~3(=0x03)

サブロボット対象 :指定範囲:4(=0x04)~7(=0x07)

18.4.16 アーム指定変更コマンド

このコマンドは、アーム指定状態を変更するために実行します。

コマンド

内容 値

0x3D0xBD0xss0x00

DIポートDI2()

DI3()DI4()

コマンドコード

指定アーム状態

未使用

メインロボット対象

サブロボット対象

0x000x01

意味

右手系

左手系

ss:8ビットでアーム指定状態を指定します。

18.4.17 ポイント表示単位指定コマンド

このコマンドは、ポイント表示単位系を変更するために実行します。

このコマンドは、コントローラ対象です。

コマンド

内容 値

0x3E0xss0x00

DIポートDI2()DI3()DI4()

コマンドコード

指定ポイント表示単位系

未使用

コントローラ対象

0x000x01

意味

パルス単位

ミリ単位

ss:8ビットでポイント表示単位系を指定します。

Page 362: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

350

付録

A.予約語一覧表

c注意

上記は、ロボット言語として予約されていますので、識別子(変数など)としては使用できません。

ABSADJABSADJ2ABSRESETABSRESET2ABSRPOSABSRPOS2ABSRSTABOVEABSACCACCELACCEL2ACCESSALLANDARCHARCH2ARMARM2ARMTYPEARMTYPE2ARYASPEEDASPEED2ATNATN2ATTRAUTOAXWGHTAXWGHT2BELOWBINBITBREAKBYTECALLCASECHANGECHANGE2CHGPRICHGTSKCHRCMUCMU1CONFIGCONTCOOCOPYCOSCUTDATEDECDECELDECEL2DECLAREDEFDEFIO

DEFPOSDEGRADDELAYDIDIMDIRDISTDODPMDRIVEDRIVE2DRIVEIDRIVEI2DSDSPEEDELSEELSEIFEMGRSTEMGENDENDIFEOFERAERLERRERRORETHEXELVLEXITEXITTASKFDDFLIPFNFORFREEFUNCTIONGASPGENGOGOHOMEGOSUBGOTOHALTHANDHAND2HNDHEXHOMEHOLDIFININCHINCH2INITINPUTINTINTEGER

IRETJTOXYJTOXY2JOGJOG2LANGUAGELEFTLEFTYLEFTY2LENLETLOCALOCBLOCFLOCRLOCXLOCYLOCZLOGLOOPLSHIFTMANUALMCHREFMCHREF2MEMMIDMIRRORMODMOVEMOVE2MOVEIMOVEI2MRFMSGMSGCLRMSPEEDMSPEED2NAMENEXTNONFLIPNOTOFFOFFLINEONONLINEORORDORGORDORGORD2ORGRTNORGRTN2ORIGINOUTOUTPOSOUTPOS2PPASS

PADDRPATHPCPCMPDEFPLNPLTPMOVEPMOVE2PRINTPROGRAMPGMPNTPOSPPNTPRMPTPPWRRADDEGREADREFRENRELESEREMREMOTERESETRESTARTRESUMERETURNRIGHTRIGHTYRIGHTY2ROROTATERSHIFTRUNRWSSELECTSENDSEQUENCESERVOSERVO2SETSFTSGISGRSHAREDSHIFTSHIFT2SISIDSINSIWSKIPSOSOD

SOWSPEEDSPEED2SQRSTARTSTEPSTOPSTOPONSTRSUBSUSPENDSWISYSSYSTEMTANTASKTASKSTCOUNTERTEACHTEACH2THENTIMETIMERTOTOLETOLE2TORQUETORQUE2TRQTIMETRQTIME2TRQSTSTRQSTS2TSKMONUNITUNTILVALVARVERVELWAITWEIGHTWEIGHT2WENDWHEREWHERE2WHILEWHRXYWHRXY2WORDWRITEXORXYXYTOJXYTOJ2YZZX_SYSFLG

Page 363: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

351

ロボット言語一覧

B. ロボット言語一覧

表の見方・「実行可能条件」の列の数字は、以下の条件番号を意味します。

条件1: ダイレクトコマンドとオンラインコマンドでも実行可能な命令。

条件2: 条件1に加えて、タスク1(メインタスク)のみ実行可能な命令。

条件3: 条件1に加えて、ダイレクトコマンドとオンラインコマンドでは一部実行できないオペランドのある

命令。

条件4: 条件5に加えて、オプションのSTOPONは、ダイレクトコマンドとオンラインコマンドでは実行で

きません。

条件5: 条件1に加えて、位置決め完了してから実行される命令。

条件6: ダイレクトコマンドとオンラインコマンドで実行不可能な命令

・「参照ページ」の列の数字は、本書のページ番号を意味します。

■一般命令

言語

DECLARE

DEF FN

DIM

EXIT FOR

FOR~NEXT

GOSUB~RETURN

GOTO

HALT

HOLD

種類

命令

命令

命令

命令

命令

命令

命令

命令

命令

機能

形式

ラベルまたはサブプロシージャが外部プログラムにあることを宣

言する。

DECLARE <ラベル>[,<ラベル>...]

DECLARE SUB <ラベル>[(<仮引数>[,<仮引数>]...)]

ユーザーが使用可能な関数を定義する。

配列変数の名前と要素数を宣言する。

DIM <配列指定>[,<配列指定>,...]

FOR文~NEXT文のループを強制的に終了する。

EXIT FOR

繰り返しを制御する。指定値になるまで、FOR文の次からNEXT

文までを繰り返し実行する。

GOSUB文で指定されるラベルのサブルーチンにジャンプし、サブ

ルーチンを実行する。サブルーチン実行中のRETURNで、

GOSUB文の次の行にジャンプする。

ラベルで指定される行に無条件ジャンプする。

プログラムを停止し、かつ、リセットする。

プログラムを一時停止する。

実行可能条件

6

6

6

6

6

6

6

6

6

参照

ページ

44

46

48

70

73

74

75

76

85

DEF FN<名称>[ % ] [(<仮引数>,[<仮引数>...])]=<関数の定義式>

!

$

FOR <制御変数>=<式1> TO <式2> [STEP <式3>]

  :

NEXT [<制御変数>]

 GOTO  <ラベル>

 GO TO

HALT [ <式>   ]

    <文字列>

 GOSUB  <ラベル>

 GO SUB 

  :

<ラベル>:

  :

RETRUN

HOLD [ <式>   ]

    <文字列>

Page 364: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

352

ロボット言語一覧

言語

IF

LET

ON~GOSUB

ON~GOTO

REM

SELECT CASE

~END SELECT

SWI

WHILE~WEND

ラベル文

種類

命令

命令

命令

命令

命令

命令

命令

命令

命令

機能

形式

条件によって制御の流れを分岐する。

指定された代入文を実行する。

条件によって、GOSUB文で指定される各ラベルのサブルーチンに

ジャンプし、サブルーチンを実行する。サブルーチン実行中の

RETURNで、GOSUB文の次の行にジャンプする。

条件によって、ラベルで指定される各行にジャンプする。

REMまたは“ ”以降の文字は、コメントとみなされる。

条件によって制御の流れを分岐する。条件が成立したブロック(

命令のかたまり)を実行する。

実行プログラムを切り替え、コンパイル実行後、1行目から実行す

る。

SWI <プログラム名>

繰り返しを制御する。条件が成立している間、繰り返し動作を実

行する。

プログラム行にラベルを定義する。ラベルは、“ * ”で始まらな

くてはならない。

*<ラベル>:

実行可能条件

6

1

6

6

6

6

2

6

6

参照

ページ

86

89

121

120

150

157

173

185

186

IF <条件式> THEN <ラベル1> [ELSE <ラベル2> ]

         <命令文1>  <命令文2> 

IF <条件式1> THEN

  : 

[ELSEIF <条件式2> THEN

  : ]

[ELSE

  : ]

ENDIF

  

[LET]  <算術変数>       =<式>

 <ポイント要素変数>

 <シフト要素変数>

 <パラレル出力変数>

 <内部出力変数>

 <アームロック出力変数>

 <タイマ出力変数>

 <シリアル出力変数>

[LET]  <文字列変数>=<文字列式>

ON <式> GOSUB <ラベル1>[,<ラベル2>...]

     GO SUB

ON <式> GOTO <ラベル1>[,<ラベル2>...]

     GO TO

WHILE <式>

  :

WEND

SELECT [CASE] <式>

 CASE <式のリスト1>

  [命令ブロック1]

 [CASE <式のリスト2>

   [命令ブロック2]]

  :

 [CASE ELSE

  [命令ブロックn]]

END SELECT

REM <文字列>

Page 365: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

353

ロボット言語一覧

■ロボット動作

言語

ABSRST

DRIVE

DRIVE2

DRIVEI

DRIVEI2

MOVE

MOVE2

MOVEI

MOVEI2

ORIGIN

種類

命令

命令

命令

命令

命令

命令

命令

命令

命令

命令

機能

形式

ロボットのアブソリュートモータ軸原点復帰動作を実行する。

ABSRST

メイングループの軸単位の絶対移動命令を実行する。移動種類は、軸指

定PTPのみ。コマンドオプションにより、アーム移動中のI/Oや変数によ

る条件停止や、最大トルク指令値の制限をしたりすることもできる。

サブグループの軸単位の絶対移動命令を実行する。移動種類は、軸指定

PTPのみ。コマンドオプションにより、アーム移動中のI/Oや変数による

条件停止や、最大トルク指令値の制限をしたりすることもできる。

メイングループの軸単位の相対移動命令を実行する。移動種類は

、軸指定PTPのみ。コマンドオプションにより、アーム移動中の

I/Oや変数による条件停止もできる。

サブグループの軸単位の相対移動命令を実行する。移動種類は、

軸指定PTPのみ。コマンドオプションにより、アーム移動中のI/O

や変数による条件停止もできる。

メインロボット軸の絶対位置移動命令を実行する。移動種類は、

PTP、直線補間、円弧補間の3種類。コマンドオプションにより、ア

ーチモーション移動、アーム移動中のI/Oや変数による条件停止、指

定座標平面への投射が円となるような円弧補間実行などもできる。

サブロボット軸の絶対位置移動命令を実行する。移動種類は、

PTP、直線補間、円弧補間の3種類。コマンドオプションにより、

アーチモーション移動や、アーム移動中のI/Oや変数による条件停

止、指定座標平面への投射が円となるような円弧補間実行なども

できる。

メインロボット軸の相対位置移動命令を実行する。移動種類は、PTPのみ。

サブロボット軸の相対位置移動命令を実行する。移動種類は、PTPのみ。

インクリメンタル仕様の軸の原点復帰動作を実行する。セミアブ

ソ仕様の軸に対しては、アブソサーチ動作を実行する。

ORIGIN

実行可能条件

5

5

5

5

5

4

4

5

5

5

参照

ページ

30

50

56

62

66

93

103

113

116

125

DRIVE (<式1>, <式2>    ) [, (<式1>, <式2>      )...] [,オプション]

      <ポイント式> <ポイント式>

DRIVE2 (<式1>, <式2>    ) [, (<式1>, <式2>      )...] [,オプション]

       <ポイント式> <ポイント式>

MOVE PTP , <ポイント指定>[, オプション[, オプション]...]

P

L

C

MOVE2 PTP , <ポイント指定>[, オプション[, オプション]...]

P

L

C

MOVEI PTP , <ポイント指定>[, オプション[, オプション]...]

P

MOVEI2 PTP , <ポイント指定>[, オプション[, オプション]...]

P

DRIVEI (<式1>, <式2>    ) [, (<式1>, <式2>      )...] [,オプション]

       <ポイント式> <ポイント式>

DRIVEI2 (<式1>, <式2>    ) [, (<式1>, <式2>      )...] [,オプション]

       <ポイント式> <ポイント式>

Page 366: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

354

ロボット言語一覧

言語

PMOVE

PMOVE2

SERVO

SERVO2

種類

命令

命令

命令

命令

機能

形式

メインロボット軸のパレット移動命令を実行する。移動種類は、

PTPのみ。コマンドオプションにより、アーチモーション移動や

、アーム移動中のI/Oや変数による条件停止もできる。

PMOVE(パレット定義番号,パレット位置番号)[,オプション[,オプション]...]

サブロボット軸のパレット移動命令を実行する。移動種類は、

PTPのみ。コマンドオプションにより、アーチモーション移動や

、アーム移動中のI/Oや変数による条件停止もできる。

PMOVE2(パレット定義番号,パレット位置番号)[,オプション[,オプション]...]

メイングループの指定された軸または全軸(メイングループ、サブ

グループ全ての軸)のサーボのオン/オフをコントロールする。

サブグループの指定された軸または全軸(メイングループ、サブ

グループ全て)のサーボのオン/オフをコントロールする。

実行可能条件

5

5

5

5

参照

ページ

140

144

160

161

SERVO ON [(<式>)]

OFF

FREE

PWR

SERVO2 ON [(<式>)]

OFF

FREE

PWR

Page 367: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

355

ロボット言語一覧

■入出力制御

言語

DELAY

DO

LO

MO

OUT

RESET

SET

種類

命令

命令

命令

命令

命令

命令

命令

機能

形式

指定された時間(単位ms)だけ待つ。

DELAY <式>

指定された値をDOポートに出力する。

指定された値をLOポートに出力し、軸移動の禁止や解除を行う。

指定された値をMOポートに出力する。

MO文により、原点センサの状態と軸ホールド状態を確認すること

もできる。

指定された出力ポートのビットをオンして命令文を終了する。そ

の後、自動運転が指定した時間継続すると、そのポートのビット

をオフする。

指定された出力ポートのビットをオフする。システムフラグ変数

、10msカウンタ変数をクリアすることもできる。

指定された出力ポートのビットをオンする。

実行可能条件

6

1

1

1

6

1

3

参照

ページ

47

49

91

92

126

151

162

[LET] DOm([b, ..., b]) =<式>

DO(mb, ..., mb)

[LET] LO0([b, ..., b]) =<式>

LO(0b, ..., 0b)

[LET] MOm([b, ..., b]) =<式>

MO(mb, ..., mb)

RESET DOm([b, ..., b])

DO(mb, ..., mb)

MOm([b, ..., b])

MO(mb, ..., mb)

TO0([b, ..., b])

TO(0b, ..., 0b)

LO0([b, ..., b])

LO(0b, ..., 0b)

SOm([b, ..., b])

SO(mb, ..., mb)

OUT DOm([b, ..., b]) [, <式>]

DO(mb, ..., mb)

MOm([b, ..., b])

MO(mb, ..., mb)

SOm([b, ..., b])

SO(mb, ..., mb)

LO0([b, ..., b])

LO(0b, ..., 0b)

TO0([b, ..., b])

TO(0b, ..., 0b)

SET DOm([b, ..., b]) [, <式>]

DO(mb, ..., mb)

MOm([b, ..., b])

MO(mb, ..., mb)

TO0([b, ..., b])

TO(0b, ..., 0b)

LO0([b, ..., b])

LO(0b, ..., 0b)

SOm([b, ..., b])

SO(mb, ..., mb)

Page 368: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

356

ロボット言語一覧

言語

SO

TO

WAIT

種類

命令

命令

命令

機能

形式

指定された値をSOポートに出力する。

指定された値をTOポートに出力する。

q DI/DO条件式が成立するまで待つ。タイムアウト時間の設定も

できる。

w ロボットの軸動作の完了(公差内に位置決めされる)を待つ。

実行可能条件

1

1

6

参照

ページ

166

174

181

[LET] SOm([b, ..., b]) =<式>

SO(mb, ..., mb)

[LET] TO0([b, ..., b]) =<式>

TO(0b, ..., 0b)

q WAIT <DI/DO条件式> [,<式>]

w WAIT ARM [(<式1>)]

    ARM2 [(<式2>)]

■座標制御

言語

CHANGE

CHANGE2

HAND

HAND2

RIGHTY / LEFTY

RIGHTY2 / LEFTY2

SHIFT

SHIFT2

種類

命令

命令

命令

命令

命令

命令

命令

命令

機能

形式

メインロボットのハンドの切り替えを行う。

CHANGE Hn

サブロボットのハンドの切り替えを行う。

CHANGE2 Hn

メインロボットのハンドの定義をする。

HAND Hn=<第1パラメータ> <第2パラメータ> <第3パラメータ>

[R]

サブロボットのハンドの定義をする。

HAND2 Hn=<第1パラメータ> <第2パラメータ> <第3パラメータ>

[R]

直交座標系で指定されたポイントへメインロボットを右手系で移

動するか、左手系で移動するかを選択する。

RIGHTY

LEFTY

直交座標系で指定されたポイントへサブロボットを右手系で移動

するか、左手系で移動するかを選択する。

RIGHTY2

LEFTY2

シフト変数を指定し、そこで指定されるシフトデータでメインロ

ボットのシフト座標を設定する。

SHIFT <シフト変数>

シフト変数を指定し、そこで指定されるシフトデータでサブロボ

ットのシフト座標を設定する。

SHIFT2 <シフト変数>

実行可能条件

5

5

5

5

5

5

5

5

参照

ページ

77

81

77

81

154

155

164

165

Page 369: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

357

ロボット言語一覧

■状態変更

言語

ACCEL

ACCEL2

ARCH

ARCH2

ASPEED

ASPEED2

AXWGHT

AXWGHT2

DECEL

DECEL2

ORGORD

ORGORD2

OUTPOS

OUTPOS2

PDEF

SPEED

SPEED2

TOLE

TOLE2

種類

命令

命令

命令

命令

命令

命令

命令

命令

命令

命令

命令

命令

命令

命令

命令

命令

命令

命令

命令

機能

形式

メイングループの加速度係数パラメータを変更する。

ACCEL <式>

ACCEL(<式1>)=<式2>

サブグループの加速度係数パラメータを変更する。

ACCEL2 <式>

ACCEL2(<式1>)=<式2>

メイングループのアーチ位置パラメータを変更する。

ARCH <式>

ARCH(<式1>)=<式2>

サブグループのアーチ位置パラメータを変更する。

ARCH2 <式>

ARCH2(<式1>)=<式2>

メイングループの自動移動速度を変更する。

ASPEED <式>

サブグループの自動移動速度を変更する。

ASPEED2 <式>

メイングループ軸の軸先端質量パラメータを変更する。

AXWGHT(<式1>)=<式2>

サブグループ軸の軸先端質量パラメータを変更する。

AXWGHT2(<式1>)=<式2>

メイングループの減速比率パラメータを変更する。

DECEL <式>

DECEL(<式1>)=<式2>

サブグループの減速比率パラメータを変更する。

DECEL2 <式>

DECEL2(<式1>)=<式2>

メイングループの原点復帰動作およびアブソサーチ動作を行う軸順

序パラメータを設定する。

ORGORD <式>

サブグループの原点復帰動作およびアブソサーチ動作を行う軸順序

パラメータを設定する。

ORGORD2 <式>

メイングループのアウト有効位置パラメータを変更する。

OUTPOS <式>

OUTPOS(<式1>)=<式2>

サブグループのアウト有効位置パラメータを変更する。

OUTPOS2 <式>

OUTPOS2(<式1>)=<式2>

パレット移動命令を実行するためのパレットを定義する。

PDEF(パレット定義番号)=nx,ny[,nz]

メイングループのプログラム移動速度を変更する。

SPEED <式>

サブグループのプログラム移動速度を変更する。

SPEED2 <式>

メイングループの公差パラメータを変更する。

TOLE <式>

TOLE(<式1>)=<式2>

サブグループの公差パラメータを変更する。

TOLE2 <式>

TOLE2(<式1>)=<式2>

実行可能条件

5

5

5

5

5

5

5

5

5

5

5

5

5

5

1

5

5

5

5

参照

ページ

31

32

33

34

35

36

37

38

42

43

123

124

127

128

139

167

168

175

176

Page 370: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

358

ロボット言語一覧

言語

WEIGHT

WEIGHT2

種類

命令

命令

機能

形式

メインロボットの先端質量パラメータを変更する。

WEIGHT <式>

サブロボットの先端質量パラメータを変更する。

WEIGHT2 <式>

実行可能条件

5

5

参照

ページ

183

184

■パラメータ参照

言語

ACCEL

ACCEL2

ARCH

ARCH2

AXWGHT

AXWGHT2

DECEL

DECEL2

ORGORD

ORGORD2

OUTPOS

OUTPOS2

TOLE

TOLE2

WEIGHT

WEIGHT2

種類

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

機能

形式

指定されたメイングループ軸の加速度係数パラメータの値を与える。

ACCEL(<式>)

指定されたサブグループ軸の加速度係数パラメータの値を与える。

ACCEL2(<式>)

指定されたメイングループ軸のアーチ位置パラメータの値を与える。

ARCH(<式>)

指定されたサブグループ軸のアーチ位置パラメータの値を与える。

ARCH2(<式>)

指定されたメイングループ軸の軸先端重量パラメータの値を与える。

AXWGHT(<式>)

指定されたサブグループ軸の軸先端重量パラメータの値を与える。

AXWGHT2(<式>)

指定されたメイングループ軸の減速比率パラメータの値を与える。

DECEL(<式>)

指定されたサブグループ軸の減速比率パラメータの値を与える。

DECEL2(<式>)

メイングループの原点復帰動作およびアブソサーチ動作を行う軸順

序パラメータを与える。

ORGORD

サブグループの原点復帰動作およびアブソサーチ動作を行う軸順序

パラメータを与える。

ORGORD2

指定されたメイングループ軸のアウト有効位置パラメータの値を

与える。

OUTPOS(<式>)

指定されたサブグループ軸のアウト有効位置パラメータの値を与

える。

OUTPOS2(<式>)

指定されたメイングループ軸の公差パラメータの値を与える。

TOLE(<式>)

指定されたサブグループ軸の公差パラメータの値を与える。

TOLE2(<式>)

メインロボットの先端質量パラメータの値を与える。

WEIGHT

サブロボットの先端質量パラメータの値を与える。

WEIGHT2

実行可能条件

参照

ページ

188

188

188

189

192

192

193

193

196

197

197

197

200

201

205

205

Page 371: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

359

ロボット言語一覧

■状態参照

言語

ABSRPOS

ABSRPOS2

ARMCND

ARMCND2

ARMTYPE

ARMTYPE2

MCHREF

MCHREF2

種類

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

機能

形式

指定されたメイングループ軸のマシンリファレンスを与える。対象

軸は原点復帰方式がマーク方式に設定されている軸である。

ABSRPOS(<式>)

指定されたサブグループ軸のマシンリファレンスを与える。対象軸

は原点復帰方式がマーク方式に設定されている軸である。

ABSRPOS2(<式>)

メイングループのスカラ型ロボットに対する現在のアーム状態を

与える。

ARMCND

サブグループのスカラ型ロボットに対する現在のアーム状態を与

える。

ARMCND2

メイングループのスカラ型ロボットに対する、現在選択されてい

る手系を与える。

ARMTYPE

サブグループのスカラ型ロボットに対する、現在選択されている

手糸を与える。

ARMTYPE2

指定されたメイングループ軸の原点復帰動作およびアブソサーチ

動作のマシンリファレンスを与える。対象軸は原点復帰方式がセ

ンサ方式または突き当て方式に設定されている軸である。

MCHREF(<式>)

指定されたサブグループ軸の原点復帰動作およびアブソサーチ動

作のマシンリファレンスを与える。対象軸は原点復帰方式がセン

サ方式または突き当て方式に設定されている軸である。

MCHREF2(<式>)

実行可能条件

参照

ページ

187

187

189

190

190

191

195

196

■通信制御

言語

ONLINE / OFFLINE

SEND

種類

命令

命令

機能

形式

指定したポートの通信モードを変更する。また、指定したポート

によって、送受信バッファのクリアまたは通信ポートの初期化を

行う。

ONLINE [ ETH ]

CMU

OFFLINE [ ETH ]

CMU

読出しファイルのデータを書き込みファイルへ転送する。

SEND <読出しファイル> TO <書き込みファイル>

SEND CMU TO ~(RS-232Cポートからデータを入力する)

SEND ~ TO CMU(データをRS-232Cポートから出力する)

実行

可能

条件

1

1

参照

ページ

122

158

■画面制御

言語

PRINT

種類

命令

機能

形式

MPBおよびRPBの画面に指定した変数の値を表示する。

実行

可能

条件

1

参照

ページ

148PRINT [<式>][  , <式>...][  ,  ]

        ;      ;

Page 372: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

360

ロボット言語一覧

■キー制御

言語

INPUT

種類

命令

機能

形式

MPBおよびRPBから指定した変数に値を代入する。

実行可能条件

1

参照

ページ

88INPUT [<プロンプト文> ; ] <変数>    [, <変数>     , ...]

, <ポイント変数> <ポイント変数>

<シフト変数> <シフト変数>

■プロシージャ

言語

CALL

EXIT SUB

SHARED

SUB~END SUB

種類

命令

命令

命令

命令

機能

形式

SUB文~END SUB文で定義されたサブプロシージャを呼び出す。

CALL <ラベル>[(<実引数>[,<実引数>...])]

SUB文~END SUB文で定義されたサブプロシージャを強制的に終

了する。

EXIT SUB

サブプロシージャ(SUB~END SUB)外に書かれたプログラムで

宣言した変数を仮引数として渡さないで、サブプロシージャで参

照可能にする。

SHARED <変数>[()][,<変数>[()]...]

サブプロシージャを定義する。

実行可能条件

6

6

6

6

参照

ページ

39

71

163

170SUB <ラベル>[(<仮引数> [,<仮引数>...])]

  :

END SUB

■タスク制御

言語

CHGPRI

CUT

EXIT TASK

RESTART

START

SUSPEND

種類

命令

命令

命令

命令

命令

命令

機能

形式

指定されたタスクの優先順位を変更する。

CHGPRI Tn,p

実行中または一時停止中の他のタスクを強制終了させる。

CUT Tn

実行している自分自身のタスクを終了する。

EXIT TASK

一時停止中の他のタスクを再起動する。

RESTART Tn

指定したタスクのタスク番号および優先順位を設定し、そのタス

クを起動させる。

START <ラベル>,Tn,[,p]

実行中の他のタスクを一時停止させる。

SUSPEND Tn

実行可能条件

6

6

6

6

6

6

参照

ページ

40

41

72

152

169

172

Page 373: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

361

ロボット言語一覧

■エラー制御

言語

ON ERROR GOTO

RESUME

ERL

ERR

種類

命令

命令

算術関数

算術関数

機能

形式

プログラム実行中にエラーが発生した場合、プログラムを停止せ

ずにラベルで示されるエラー処理ルーチンへジャンプする。また

は、エラーメッセージを表示して、プログラムの実行を停止。

エラーの回復処理後、プログラムの実行を再開する。このコマン

ドは、エラー処理ルーチン内で使用する。

エラー発生行番号を与える。

ERL

エラー発生時のエラーコード番号を与える。

ERR

実行可能条件

6

6

参照

ページ

119

153

194

194

ON ERROR GOTO <ラベル>

          0

RESUME [ NEXT  ]

      <ラベル>

■PATH制御

言語

PATH

PATH END

PATH SET

PATH START

種類

命令

命令

命令

命令

機能

形式

メインロボット軸のPATH移動経路を設定する。コマンドオプショ

ンにより、指定座標平面への投射が円になるような円弧補間実行

や、移動中に指定した位置でポート出力するポート出力指定もで

きる。

PATH移動の経路設定を終了する。

PATH END

PATH移動の経路設定を開始する。

PATH SET [<ポイント指定>]

PATH移動を開始する。

PATH START

実行可能条件

6

6

6

6

参照

ページ

131

135

136

138

PATH L , <ポイント指定>[, オプション[, オプション...]]

C

Page 374: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

362

ロボット言語一覧

■トルク制御

言語

DRIVE

(Tオプション付きの場合)

DRIVE2

(Tオプション付きの場合)

TORQUE

TORQUE2

TRQTIME

TRQTIME2

TORQUE

TORQUE2

TRQSTS

TRQSTS2

TRQTIME

TRQTIME2

種類

命令

命令

命令

命令

命令

命令

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

機能

形式

メイングループの軸単位の絶対移動命令を実行する。移動種類

は、軸指定PTPのみ。コマンドオプションとして、トルク制限指

定オプションを付けることで、トルク制御状態で移動することが

できる。

サブグループの軸単位の絶対移動命令を実行する。移動種類は、軸

指定PTPのみ。コマンドオプションとして、トルク制限指定オプシ

ョンを付けることで、トルク制御状態で移動することができる。

メイングループの指定された軸の最大トルク指令値を変更する。

TORQUE(<式1>)=<式2>

サブグループの指定された軸の最大トルク指令値を変更する。

TORQUE2(<式1>)=<式2>

DRIVE文のトルク制限指定オプションを使用するときの、指定さ

れたメイングループ軸に対しての電流制限のタイムアウト時間を

設定する。

TRQTIME(<式1>)=<式2>

DRIVE2文のトルク制限指定オプションを使用するときの、指定さ

れたサブグループ軸に対しての電流制限のタイムアウト時間を設

定する。

TRQTIME2(<式1>)=<式2>

メイングループの指定した軸のトルク設定を与える。

TORQUE(<式>)

サブグループの指定した軸のトルク設定を与える。

TORQUE2(<式>)

指定したメイングループ軸に対して実行した、トルク制限指定オ

プション付きのDRIVE文が終了したときの状態を与える。

TRQSTS(<式>)

指定したサブグループ軸に対して実行した、トルク制限指定オプ

ション付きのDRIVE2文が終了したときの状態を与える。

TRQSTS2(<式>)

指定したメイングループ軸のトルク制御のタイムアウト時間を与

える。

TRQTIME(<式>)

指定したサブグループ軸のトルク制御のタイムアウト時間を与える。

TRQTIME2(<式>)

実行可能条件

5

5

5

5

1

1

参照

ページ

50

56

177

178

179

180

201

201

202

203

204

204

DRIVE(<式1>, <式2> ), T= <式1>

<ポイント式> (<式1>[,<式2>])

DRIVE2(<式1>, <式2> ), T= <式1>

<ポイント式> (<式1>[,<式2>])

Page 375: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

363

ロボット言語一覧

■ポイント演算

言語

LET

Pn

JTOXY

JTOXY2

LOCx

PPNT

WHERE

WHERE2

WHRXY

WHRXY2

XYTOJ

XYTOJ2

種類

命令

命令

ポイント関数

ポイント関数

ポイント要素変数

ポイント関数

ポイント関数

ポイント関数

ポイント関数

ポイント関数

ポイント関数

ポイント関数

機能

形式

指定された代入文を実行する。

[LET] <ポイント変数>=<ポイント式>

プログラムの中でポイントを定義する。

Pn=x y z r a b

指定されたポイントの関節座標データ(単位:パルス)を、メイ

ングループの直交座標データ(単位:mm、度)に変換する。

JTOXY(<ポイント式>)

指定されたポイントの関節座標データ(単位:パルス)を、サブ

グループの直交座標データ(単位:mm、度)に変換する。

JTOXY2(<ポイント式>)

ポイントデータを軸単位および手系フラグで扱う。

LOCx(<ポイント式>)

パレット定義番号とパレット位置番号で指定されるポイントデー

タを作成する。

PPNT(パレット定義番号,パレット位置番号)

メイングループのアームの現在位置を関節座標(パルス)で読み出す。

WHERE

サブグループのアームの現在位置を関節座標(パルス)で読み出す。

WHERE2

メイングループのアームの現在位置を直交座標(mm、度)で読み出す。

WHRXY

サブグループのアームの現在位置を直交座標(mm、度)で読み出す。

WHRXY2

指定されたポイントのメイングループ直交座標データ(単位:mm

、度)を、関節座標データ(単位:パルス)に変換する。

XYTOJ(<ポイント式>)

指定されたポイントのサブグループ直交座標データ(単位:mm、

度)を、関節座標データ(単位:パルス)に変換する。

XYTOJ2(<ポイント式>)

実行

可能

条件

1

1

参照

ページ

89

149

210

210

14

210

211

211

211

212

212

212

■シフト演算

言語

LET

Sn

LOCx

種類

命令

命令

シフト要素変数

機能

形式

指定された代入文を実行する。

[LET] <シフト変数>=<シフト式>

プログラムの中でシフト座標を定義する。

Sn=x y z r

シフトデータを要素単位で扱う。

LOCx(<シフト式>)

実行可能条件

5

5

参照

ページ

89

156

15

Page 376: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

364

ロボット言語一覧

■算術関数

言語

ABS

ATN

COS

DEGRAD

DIST

INT

LSHIFT

RADDEG

RSHIFT

SIN

SQR

TAN

TCOUNTER

_SYSFLG

種類

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

算術関数

機能

形式

指定された値の絶対値を与える。

ABS(<式>)

指定された値の逆正接値を与える。

ATN(<式>)

指定された値に対する余弦値を与える。

COS(<式>)

指定された値をラジアンに変換する。

DEGRAD(<式>)

指定される2点間の距離を与える。

DIST(<ポイント式1>,<ポイント式2>)

指定された値の小数点以下を切り捨てた整数値を得る。

INT(<式>)

指定された値を指定されたビット数だけ左にシフトさせる。

LSHIFT(<式1>,<式2>)

指定された値を度に変換する。

RADDEG(<式>)

指定された値を指定されたビット数だけ右にシフトさせる。

RSHIFT(<式1>,<式2>)

指定された値に対する正弦値を与える。

SIN(<式>)

指定された値の平方根を与える。

SQR(<式>)

指定された値に対する正接値を与える。

TAN(<式>)

TCOUNTER変数をリセットされた時点から、10ms毎にカウント

アップされた値を出力する。

TCOUNTER

_SYSFLG変数に設定された値に応じて、軸の状態を監視するフラ

グとして使用する。通常は、使用しないこと。

_SYSFLG

実行可能条件

参照

ページ

187

191

192

193

194

194

195

198

198

198

199

199

206

206

Page 377: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

365

ロボット言語一覧

■文字列操作

言語

CHR$

LEFT$

LEN

MID$

ORD

RIGHT$

STR$

VAL

種類

文字列関数

文字列関数

算術関数

文字列関数

算術関数

文字列関数

文字列関数

算術関数

機能

形式

指定したキャラクタコードを持つ文字を与える。

CHR$(<式>)

指定した文字列の左側から指定した桁数の文字列を抜き出す。

LEFT$(<文字列式>,<式>)

指定した文字列の長さ(バイト数)を得る。

LEN(<文字列式>)

指定した文字列中から任意の長さの文字列を抜き出す。

MID$(<文字列式>,<式1>[,<式2>])

指定した文字列の最初の文字のキャラクタコードを得る。

ORD(<文字列式>)

指定した文字列の右側から指定した桁数の文字列を抜き出す。

RIGHT$(<文字列式>,<式>)

指定した値を文字列に変換する。

STR$(<式>)

指定した文字列表記の数値を実際の数値に変換する。

VAL(<文字列式>)

実行

可能

条件

参照

ページ

207

208

195

208

196

209

209

205

■日付・時刻制御

言語

DATE$

TIME$

TIMER

種類

文字列関数

文字列関数

算術関数

機能

形式

日付を、yy/mm/ddの形式の文字列で与える。

DATE$

現在時刻をhh:mm:ssの形式の文字列で与える。

TIME$

現在時刻を午前0時からの秒で与える。

TIMER

実行可能条件

参照

ページ

207

209

200

Page 378: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

366

ロボット言語一覧

■変数

言語

配列変数

Pn

Sn

DI

DO

MO

TO

LO

SI

SO

SIW

SID

SOW

SOD

種類

配列変数

ポイント変数

シフト変数

パラレル入力

変数

パラレル出力

変数

内部出力変数

タイマ出力変数

アームロック

出力変数

シリアル入力

変数

シリアル出力

変数

シリアルワード

入力変数

シリアルダブル

ワード入力変数

シリアルワード

出力変数

シリアルダブル

ワード出力変数

機能

形式

ポイント番号を指定する。

Pnnnn

P"["<式>"]"

シフト番号を指定する。

Sn

S"["<式>"]"

パラレル入力信号の状態を示す。

DIm([b,...,b])

DI(mb,...,mb)

パラレル出力信号を指定したり、出力状態を示す。

DOm([b,...,b])

DO(mb,...,mb)

シーケンスプログラムとの信号やり取りで使用する変数。

MOm([b,...,b])

MO(mb,...,mb)

シーケンスプログラムのタイマ機能で使用する変数。

TOm([b,...,b])

TO(mb,...mb)

軸の移動を禁止するのに使用する変数。

LOm([b,...,b])

LO(mb,...,mb)

シリアル入力信号の状態を示す。

SIm([b,...,b])

SI(mb,...,mb)

シリアル出力信号を指定したり、出力状態を示す。

SOm([b,...,b])

SO(mb,...,mb)

シリアル入力のワード情報の状態を示す。

SIW(m)

シリアル入力のワード情報の状態をダブルワードで示す。

SID(m)

シリアル出力のワード情報に出力したり、出力状態を示す。

SOW(m)

シリアル出力のワード情報の状態をダブルワードで出力したり、

出力状態を示す。

SOD(m)

実行

可能

条件

参照

ページ

12

14

14

15

16

17

19

18

20

21

22

22

23

23

<変数名>[ % ] (<式>,[<式>, <式>])

!

$

※ ポイント要素変数(LOCx)は、「ポイント演算」をご覧ください。

※ シフト要素変数(LOCx)は、「シフト演算」をご覧ください。

Page 379: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

  発行    年  月  日

□ クレーム対応

□ 有償修理

□ 定期点検

□ 修理前見積り

□ 電話して欲しい

□ 出張して欲しい

□ 不具合品を送るので修理して欲しい

□ その他 ……………………………………………

ロボット本体シリアル番号 K ………………………………………

コントローラシリアル番号 ………………………………………

エラーメッセージもしくは不具合の症状:

エラー発生のタイミング: 1. 電源投入直後 2. 動作中ランダムに 3. 動作中ある程度決まった位置で

エラー発生の頻度: 1. 毎回 2. 2~4時間に一度 3. 4時間から24時間に一度

4. 1日に一度 5. それ以上

その他情報:

ロボット型式 ………………………………………

コントローラ型式 ………………………………………

サービス依頼票

…………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………

会社名

ご担当

ご住所

TEL

FAX

会社名

ご担当

TEL

FAX

TEL 053-460-6169

FAX 053-460-6811

担当:         宛

ヤマハ発動機(株)IM事業部

ロボットサービス

お客様

代理店様

依頼内容

製 品

不具合内容

特記事項

サービス依頼票

Page 380: RCX series Programming Manual Japaneseプログラミング説明書 japanese j rcx シリーズ ヤマハロボットコントローラ im事業部 ロボットビジネス部 〒435-0054

©ヤマハ発動機株式会社 IM事業部

本書の内容の一部もしくは、全てを無断で複写・転写することを禁じます。

プログラミング説明書

ロボットコントローラRCXシリーズ

2011年11月Version 3.13

改訂履歴

改訂日付 改訂内容

2004年 9月 初版

2004年 11月 第 2版 MOVE文オプション : ポート出力指定、OUT文、DRIVE/ DRIVE2文オプション : トルクオフセット値、IOコマンド : 原点復帰、他

2005年 4月 Ver.3.00 PATH関連コマンド追加、誤記修正、他

2006年 1月 Ver.3.01 サービス依頼票追加

2006年 11月 Ver.3.02 IOコマンド使用時の RCX22シリーズ用出力ポート関連追加、誤記修正

2007年 7月 Ver.3.03 True ジョウケンパラメータ追加に伴うコメント追加、誤記修正

2007年 9月 Ver.3.04 TRQTIME文 / TRQTIME2文の追加、TRQSTS関 /TRQSTS2関数 /TRQTIME関数 / TRQTIME2関数 /WHRXY関数 /WHRXY2関数追加、@DATE/@TIME追加、ポイントコメントに関する記述の追加、MOVE移動コマンドの直線補間コマンドにサブロボット用を追加、誤記修正、他

2007年 10月 Ver.3.05 MOVEI/DRIVEI カイシイチパラメータ追加に伴う要点文・注意文の変更・追加、誤記修正、他

2008年 1月 Ver.3.06 データファイルに「ETH」を追加、SEND文に扱えるファイル追加、変数の説明補足、他

2008年 11月 Ver.3.07 MOVE文、MOVE2文の直線・円弧補間移動の項に注意文追加、誤記修正

2009年 6月 Ver.3.08 DRIVE/ DRIVE2文・DRIVEI/ DRIVEI2文に DSPEEDオプション追加、コントローラ名の表記変更、他

2009年 8月 Ver.3.09 PTP移動命令と補間移動命令に続く次の命令の実行についての注意点追加

2009年 12月 Ver.3.10 表紙に住所等を追加

2010年 6月 Ver.3.11 ONLINE/ OFFLINE文に ETHおよび CMUオプション追加

2010年 9月 Ver.3.12 誤記修正

2011年 11月 Ver.3.13 軸を指定するコマンドに、第5軸・第6軸の説明を追加、他