988
上級編 ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________ ___________________ SINUMERIK SINUMERIK 828D 上級編 プログラミングマニュアル 適用: CNC システムソフトウェア バージョン 4.3 07/2010 6FC5398-2BP40-0TA0 まえがき フレキシブルな NC プログラミング 1 ファイルとプログラムの 管理 2 保護領域 3 特殊動作命令 4 座標変換(FRAMES) 5 座標変換 6 工具オフセット 7 軌跡の移動動作 8 軸連結 9 シンクロナイズド アクション 10 揺動 11 パンチングとニブリング 12 研削加工 13 その他の機能 14 ユーザー荒削りプログラム 15 テーブル 16 付録 A

プログラミングマニュアル 上級編 - Siemens...まえがき 上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 5 アジア/オーストラリア

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

  • � 上級編�

    _____________________________________________________________________________________________________________________________________

    _____________________________________________________________________________________________________________________________________

    ______________________________

    SINUMERIK

    SINUMERIK 828D 上級編

    プログラミングマニュアル

    適用: CNC システムソフトウェア バージョン 4.3

    07/2010 6FC5398-2BP40-0TA0

    まえがき

    フレキシブルな NC プログラミング

    1ファイルとプログラムの 管理

    2

    保護領域 3

    特殊動作命令 4

    座標変換(FRAMES) 5

    座標変換 6

    工具オフセット 7

    軌跡の移動動作 8

    軸連結 9

    シンクロナイズド アクション

    10揺動

    11

    パンチングとニブリング 12

    研削加工 13

    その他の機能 14

    ユーザー荒削りプログラム 15

    テーブル 16

    付録 A

  • 法律上の注意

    法律上の注意 警告事項

    本書には、ユーザーの安全性を確保し製品の損傷を防止するうえ守るべき注意事項が記載されています。ユーザ

    ーの安全性に関する注意事項は、安全警告サインで強調表示されています。このサインは、物的損傷に関する注

    意事項には表示されません。

    危険 回避しなければ、直接的な死または重傷に至る危険状態を示します。

    警告 回避しなければ、死または重傷に至るおそれのある危険な状況を示します。

    注意 回避しなければ、軽度または中度の人身傷害を引き起こすおそれのある危険な状況を示します(安全警告サイ

    ン付き)。

    注意 回避しなければ、物的損傷を引き起こすおそれのある危険な状況を示します(安全警告サインなし)。

    通知 回避しなければ、望ましくない結果や状態が生じ得る状況を示します(安全警告サインなし)。

    複数の危険レベルに相当する場合は、通常、最も危険度の高い(番号の低い)事項が表示されることになってい

    ます。安全警告サイン付きの人身傷害に関する注意事項があれば、物的損傷に関する警告が付加されます。

    有資格者 本書が対象とする製品 / システムは必ず有資格者が取り扱うものとし、各操作内容に関連するドキュメント、特に安全上の注意及び警告が遵守されなければなりません。有資格者とは、訓練内容及び経験に基づきながら当該

    製品 / システムの取り扱いに伴う危険性を認識し、発生し得る危害を事前に回避できる者をいいます。

    シーメンス製品を正しくお使いいただくために 以下の事項に注意してください。

    警告 シーメンス製品は、カタログおよび付属の技術説明書の指示に従ってお使いください。他社の製品または部品

    との併用は、弊社の推奨もしくは許可がある場合に限ります。製品を正しく安全にご使用いただくには、適切

    な運搬、保管、組み立て、据え付け、配線、始動、操作、保守を行ってください。ご使用になる場所は、許容

    された範囲を必ず守ってください。付属の技術説明書に記述されている指示を遵守してください。

    商標 ®マークのついた称号はすべて Siemens AG の商標です。本書に記載するその他の称号は商標であり、第三者が自己の目的において使用した場合、所有者の権利を侵害することになります。

    免責事項 本書のハードウェアおよびソフトウェアに関する記述と、実際の製品内容との一致については検証済みです。 しかしなお、本書の記述が実際の製品内容と異なる可能性もあり、完全な一致が保証されているわけではありませ

    ん。 記載内容については定期的に検証し、訂正が必要な場合は次の版て更新いたします。

    Siemens AG Industry Sector Postfach 48 48 90026 NÜRNBERG ドイツ

    注文番号: 6FC5398-2BP40-0TA0 Ⓟ 12/2010

    Copyright © Siemens AG 2010. 変更する権利を留保

  • 上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 3

    まえがき

    SINUMERIK 取扱説明書

    SINUMERIK 取扱説明書は 3 つの種類に分かれています。

    ● 共通のマニュアル

    ● ユーザーマニュアル

    ● メーカ/サービスマニュアル

    以下の項目について、http://www.siemens.com/motioncontrol/docu で情報を入手することができます。

    ● 取扱説明書の注文 最新の取扱説明書の一覧を閲覧することができます。

    ● 取扱説明書のダウンロード。 Service Support 部からファイルをダウンロードするための詳細情報へリンクします。

    ● オンラインでの取扱説明書の検索。 DOConCD(CD マニュアル)の情報の検索と DOConWeb(Web マニュアル)へダイレクトアクセスができます。

    ● My Documentation Manager (MDM)を使用すれば、当社のコンテンツに含まれる様々なドキュメントを集めて独自に編集できます。http://www.siemens.com/mdmを参照してください。

    My Documentation Manager は、ユーザ独自の取扱説明書を編集するための様々な機能を提供します。

    ● トレーニングおよび FAQ

    当社のトレーニングコースに関する情報や FAQ (よくある質問) は、ページナビゲーションで検索することができます。

    対象

    この文書は以下の方を対象にしています。

    ● プログラマ

    ● プロジェクトエンジニア

    http://www.siemens.com/motioncontrol/docuhttp://www.siemens.com/mdm

  • まえがき

    上級編 4 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    本書の目的

    上記の対象読者は、プログラミング説明書を使用して、プログラムとソフトウェア ユーザーインタフェースの開発、プログラミング、テスト、デバッグをおこなうことがで

    きます。

    記述の範囲

    本プログラミング説明書は、標準機能に含まれる機能について説明しています。 工作機械メーカが実施した拡張または変更箇所については,工作機械メーカ発行の説明書に

    記載されています。

    その他本書で説明していない機能も、制御装置で実行できる場合があります。 ただし、これは、そのような機能を新しい制御装置によって提供したり、サービス時に提供した

    りするということではありません。

    さらに、簡略化のため、本説明書では製品のすべてのタイプの詳細を記載していません。

    また、取り付け、運転および保守において想定されるすべてのケースを網羅したもので

    はありません。

    テクニカルサポート

    ご不明な点は、以下の当社ホットラインにお問い合わせ下さい。

    ヨーロッパ / アフリカ

    電話 +49 (0) 911 895 7222

    ファックス +49 (0) 911 895 7223

    インターネット http://www.siemens.de/automation/support-request

    アメリカ

    電話 +1 423 262 2522

    ファックス +1 423 262 2200

    電子メール mailto:[email protected]

    http://www.siemens.de/automation/support-requestmailto:[email protected]

  • まえがき

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 5

    アジア/オーストラリア

    電話 +86 1064 757 575

    ファックス +86 1064 747 474

    電子メール mailto:[email protected]

    注記 その他の国のテクニカルサポートの電話番号については、インターネット: http://www.automation.siemens.com/partner を参照してください。

    本書に関する要望

    本書に対するお問い合わせやご提案またはご指摘がございましたら、次のファックス番

    号または電子メールアドレスで当社へお知らせください。

    ファックス: +49 9131 98 2176

    電子メール: mailto:[email protected]

    ファックス用紙は、本書の付録にあります。

    SINUMERIK インターネットアドレス

    http://www.siemens.com/sinumerik

    mailto:[email protected]://www.automation.siemens.com/partnermailto:[email protected]://www.siemens.com/sinumerik

  • まえがき

    上級編 6 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    「基本偏」および「上級編」のプログラミング説明書

    NC プログラミング説明書は、下記の 2 冊に分かれています。

    1. 基本編

    「基本偏」プログラミング説明書は、穴あけ、フライス、旋盤加工の経験をお持ち

    の熟練オペレータを対象としています。 本書は、簡単なプログラミング例を使用して、命令と命令文について解説します。これらの定義は DIN 66025 にも準拠します。

    2. 上級編

    「上級編」プログラミング説明書は、詳細で包括的なプログラミング知識をお持ち

    の技術者を対象としています。 SINUMERIK 制御装置は専用のプログラミング言語を使用するため、自由曲面やチャンネル協調などの複雑なワーク加工のプログラム

    指令が可能です。また、複雑な運転でも技術者が簡単にプログラム指令できるよう

    にします。

    本書で記述された NC 言語要素の適用範囲

    本書で記述されたすべてのNC言語要素はSINUMERIK 840D slで有効です。 SINUMERIK 828Dに関する適用については、「」の欄「命令:SINUMERIK 828Dでの適用 (ページ 904)」を参照してください。

  • 上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 7

    目次

    まえがき ...........................................................................................................................................3

    1 フレキシブルなNCプログラミング .................................................................................................17

    1.1 変数 .................................................................................................................................... 17 1.1.1 変数の概要 ......................................................................................................................... 17 1.1.2 システム変数...................................................................................................................... 18 1.1.3 予約ユーザー変数 算術変数(R) .......................................................................................... 22 1.1.4 予約ユーザー変数リンク変数............................................................................................. 24 1.1.5 ユーザー変数の定義(DEF) ................................................................................................. 27 1.1.6 システム変数の再定義、ユーザー変数、およびNC言語命令(REDEF) .............................. 34 1.1.7 属性:初期値 ........................................................................................................................ 37 1.1.8 属性: 制限値(LLI、ULI)....................................................................................................... 41 1.1.9 属性: 物理単位(PHU).......................................................................................................... 42 1.1.10 属性: アクセス権(APR、APW、APRP、APWP、APRB、APWB).................................... 45 1.1.11 定義と再定義が可能な属性の概要...................................................................................... 51 1.1.12 配列変数の定義と初期化(DEF、SET、REP)..................................................................... 53 1.1.13 配列変数の定義と初期化(DEF、SET、REP):詳細情報...................................................... 59 1.1.14 データタイプ...................................................................................................................... 62

    1.2 間接プログラミング ........................................................................................................... 63 1.2.1 アドレスの間接プログラミング ......................................................................................... 63 1.2.2 Gコードの間接プログラミング .......................................................................................... 67 1.2.3 位置属性の間接プログラミング(BP) .................................................................................. 68 1.2.4 パートプログラム行の間接プログラミング(EXECSTRING).............................................. 71

    1.3 算術機能 ............................................................................................................................. 73

    1.4 比較演算子と論理演算子 .................................................................................................... 76

    1.5 比較演算誤差の精度補正(TRUNC) ..................................................................................... 79

    1.6 変数の最小値、最大値、および範囲(MINVAL、MAXVAL、およびBOUND) ..................... 81

    1.7 演算子の優先度 .................................................................................................................. 83

    1.8 実行可能なタイプ変換 ....................................................................................................... 84

    1.9 文字列演算子...................................................................................................................... 85 1.9.1 STRINGへのタイプ変換(AXSTRING) ................................................................................ 86 1.9.2 STRINGからのタイプ変換(NUMBER、ISNUMBER、AXNAME) ...................................... 87 1.9.3 文字列の結合(

  • 目次

    上級編 8 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    1.9.7 抽出文字列の選択(SUBSTR)...............................................................................................93 1.9.8 単一文字の選択(STRINGVAR、STRINGFELD)..................................................................94

    1.10 プログラムのジャンプと分岐..............................................................................................96 1.10.1 プログラムの先頭への復帰ジャンプ(GOTOS)....................................................................96 1.10.2 ジャンプマークへのプログラムのジャンプ(GOTOB、GOTOF、GOTO、GOTOC)..........97 1.10.3 プログラム分岐(CASE ... OF ... DEFAULT ...)..................................................................101

    1.11 プログラム区間の繰り返し(REPEAT、REPEATB、ENDLABEL、P) ..............................104

    1.12 チェック命令.....................................................................................................................112 1.12.1 選択肢付きプログラムループ(IF、ELSE、ENDIF) ...........................................................113 1.12.2 連続プログラムループ(LOOP、ENDLOOP).....................................................................115 1.12.3 カウントループ(FOR ... TO ...、ENDFOR) ......................................................................116 1.12.4 ループの先頭に条件があるプログラムループ(WHILE、ENDWHILE) ..............................118 1.12.5 ループの終了に条件があるプログラムループ(REPEAT、UNTIL) ....................................119 1.12.6 入れ子のチェック命令を含むプログラム例 ......................................................................120

    1.13 プログラム協調(INIT、START、WAITM、WAITMC、WAITE、SETM、CLEARM) ........121

    1.14 割り込みルーチン(ASUB) .................................................................................................127 1.14.1 割り込みルーチンの機能...................................................................................................127 1.14.2 割り込みルーチンの作成...................................................................................................128 1.14.3 割り込みルーチンの割り当てと起動(SETINT、PRIO、BLSYNC)....................................129 1.14.4 割り込みルーチンの割り当ての解除/再起動(DISABLE、ENABLE) ..................................131 1.14.5 割り込みルーチンの割り当ての解除(CLRINT)..................................................................132 1.14.6 輪郭からの高速リトラクト(SETINT LIFTFAST、ALF) ....................................................133 1.14.7 輪郭からの高速リトラクトの移動方向 .............................................................................136 1.14.8 割り込みルーチンの動作順序............................................................................................140

    1.15 軸入れ替え、主軸入れ替え(RELEASE、GET、GETD)....................................................141

    1.16 別のチャネルへの軸の移行(AXTOCHAN).........................................................................147

    1.17 マシンデータの起動(NEWCONF) .....................................................................................149

    1.18 ファイルの書き込み(WRITE) ............................................................................................150

    1.19 ファイルの削除(DELETE).................................................................................................154

    1.20 ファイルの行の読み取り(READ) ......................................................................................157

    1.21 ファイルの存在のチェック(ISFILE)..................................................................................161

    1.22 ファイル情報の読み出し(FILEDATE、FILETIME、FILESIZE、FILESTAT、FILEINFO).........................................................................................................................164

    1.23 配列によるチェックサム計算(CHECKSUM).....................................................................168

    1.24 切り上げ(ROUNDUP) .......................................................................................................170

    1.25 サブプログラム機能..........................................................................................................171 1.25.1 概要...................................................................................................................................171

  • 目次

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 9

    1.25.1.1 サブプログラム ................................................................................................................ 171 1.25.1.2 サブプログラム名称 ......................................................................................................... 172 1.25.1.3 サブプログラムの入れ子 .................................................................................................. 173 1.25.1.4 検索パス ........................................................................................................................... 175 1.25.1.5 仮パラメータと実パラメータ........................................................................................... 175 1.25.1.6 パラメータ転送 ................................................................................................................ 176 1.25.2 サブプログラムの定義 ..................................................................................................... 178 1.25.2.1 パラメータ転送を含まないサブプログラム ..................................................................... 178 1.25.2.2 値渡しパラメータ転送を含むサブプログラム(PROC) ..................................................... 180 1.25.2.3 参照渡しパラメータ転送を含むサブプログラム(PROC、VAR) ...................................... 181 1.25.2.4 モーダルG機能の保存(SAVE) .......................................................................................... 184 1.25.2.5 シングルブロック実行のマスク(SBLOF、SBLON) ......................................................... 185 1.25.2.6 実行中のブロック表示のマスク(DISPLOF、DISPLON、ACTBLOCNO) ........................ 192 1.25.2.7 解析によるサブプログラムの識別(PREPRO) .................................................................. 196 1.25.2.8 サブプログラム戻りM17 .................................................................................................. 197 1.25.2.9 RETサブプログラム戻り .................................................................................................. 198 1.25.2.10 設定可能なサブプログラム復帰ジャンプ(RET ...)....................................................... 200 1.25.3 サブプログラムの呼び出し .............................................................................................. 207 1.25.3.1 パラメータ転送を含まないサブプログラム呼び出し ....................................................... 207 1.25.3.2 パラメータ転送を含むサブプログラム呼び出し(EXTERN) ............................................. 209 1.25.3.3 プログラム繰り返し回数(P) ............................................................................................. 212 1.25.3.4 モーダルサブプログラム呼び出し(MCALL) ..................................................................... 214 1.25.3.5 間接サブプログラム呼び出し(CALL) ............................................................................... 216 1.25.3.6 呼び出しプログラム要素を指定した間接サブプログラム呼び出し(CALL BLOCK ...

    TO ...) ............................................................................................................................... 217 1.25.3.7 ISO言語で作成したプログラムの間接呼び出し(ISOCALL).............................................. 219 1.25.3.8 パス指定とパラメータによるサブプログラムの呼び出し(PCALL) .................................. 220 1.25.3.9 サブプログラム呼び出しの拡張検索パス(CALLPATH) .................................................... 221 1.25.3.10 外部サブプログラムの実行(EXTCALL) ....................................................................... 223 1.25.4 サイクル ........................................................................................................................... 227 1.25.4.1 サイクル: ユーザーサイクルのパラメータの設定 ............................................................ 227

    1.26 マクロ機能(DEFINE ... AS) .............................................................................................. 231

    2 ファイルとプログラムの管理 .......................................................................................................235

    2.1 プログラムメモリ............................................................................................................. 235

    2.2 作業メモリ(CHANDATA、COMPLETE、INITIAL) .......................................................... 241

    2.3 ステップエディタの構成命令(SEFORM) ......................................................................... 245

    3 保護領域 .......................................................................................................................................247

    3.1 保護領域の定義(CPROTDEF、NPROTDEF)................................................................... 247

    3.2 保護領域の起動/解除(CPROT、NPROT) ......................................................................... 251

  • 目次

    上級編 10 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    3.3 保護領域違反、ワーキングエリアリミット、およびソフトウェアリミットのチェック(CALCPOSI) ..................................................................................................................256

    4 特殊動作命令 ................................................................................................................................ 265

    4.1 符号化位置へのアプローチ(CAC、CIC、CDC、CACP、CACN) .....................................265

    4.2 スプライン補間(ASPLINE、BSPLINE、CSPLINE、BAUTO、BNAT、BTAN、EAUTO、ENAT、ETAN、PW、SD、PL) ........................................................................267

    4.3 スプラインのグループ化(SPLINEPATH) ..........................................................................279

    4.4 NCブロック圧縮(COMPON、COMPCURV、COMPCAD、COMPOF) ...........................281

    4.5 多項式補間(POLY、POLYPATH、PO、PL).....................................................................284

    4.6 設定可能な軌跡基準(SPATH、UPATH)............................................................................291

    4.7 タッチトリガプローブによる計測(MEAS、MEAW) .........................................................294

    4.8 拡張計測機能(MEASA、MEAWA、MEAC) (オプション) .................................................297

    4.9 OEMユーザー向け応用機能(OEMIPO1、OEMIPO2、G810~G829) ...............................308

    4.10 コーナ減速による送り速度低下(FENDNORM、G62、G621) ..........................................309

    4.11 プログラム指令可能な動作終了条件(FINEA、COARSEA、IPOENDA、IPOBRKA、ADISPOSA) ......................................................................................................................311

    4.12 プログラム可能なサーボパラメータセット(SCPARA) .....................................................315

    5 座標変換(FRAMES)...................................................................................................................... 317

    5.1 フレーム変数による座標変換............................................................................................317 5.1.1 予約フレーム変数($P_BFRAME, $P_IFRAME、$P_PFRAME、$P_ACTFRAME) ..........319

    5.2 フレーム変数/フレームへの値の割り当て.........................................................................325 5.2.1 値の直接割り当て(軸値、角度、スケール) .......................................................................325 5.2.2 フレーム成分の読み取りと変更(TR、FI、RT、SC、MI)..................................................328 5.2.3 フレーム全体の接続..........................................................................................................330 5.2.4 新しいフレームの定義(DEF FRAME) ...............................................................................331

    5.3 荒削りオフセットと仕上げオフセット(CFINE、CTRANS)..............................................332

    5.4 外部ゼロオフセット..........................................................................................................335

    5.5 プリセットオフセット(PRESETON) ................................................................................336

    5.6 空間の 3 つの計測点からのフレーム計算(MEAFRAME)...................................................338

    5.7 NCUグローバルフレーム ..................................................................................................342 5.7.1 チャネル別フレーム($P_CHBFR、$P_UBFR)..................................................................343 5.7.2 チャネルの有効フレーム...................................................................................................344

    6 座標変換 ....................................................................................................................................... 351

    6.1 座標変換タイプの一般的なプログラミング ......................................................................351

  • 目次

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 11

    6.1.1 座標変換の旋回移動 ......................................................................................................... 354 6.1.2 方向座標変換TRAORIの一覧 ........................................................................................... 358

    6.2 3 軸、4 軸、5 軸座標変換(TRAORI) ................................................................................ 361 6.2.1 ユニバーサル工具ヘッドの一般的な関係 ......................................................................... 361 6.2.2 3 軸、4 軸、5 軸座標変換(TRAORI) ................................................................................ 365 6.2.3 向きのプログラミングのタイプと初期設定(ORIRESET)................................................. 367 6.2.4 工具オリエンテーション(A...、B...、C...、LEAD、TILT)のプログラミング.................... 369 6.2.5 正面削り(3 次元加工A4、B4、C4、A5、B5、C5)........................................................... 376 6.2.6 旋回軸の基準(ORIWKS、ORIMKS) ................................................................................. 378 6.2.7 旋回軸のプログラミング(ORIAXES、ORIVECT、ORIEULER、ORIRPY、ORIRPY2、

    ORIVIRT1、ORIVIRT2) ................................................................................................... 380 6.2.8 円錐面に沿った向きのプログラミング(ORIPLANE、ORICONCW、ORICONCCW、

    ORICONTO、ORICONIO) ............................................................................................... 383 6.2.9 2 つの接点の向きの指定(ORICURVE、PO[XH]=、PO[YH]=、PO[ZH]=) ........................ 387

    6.3 旋回多項式(PO[角度]、PO[座標])..................................................................................... 389

    6.4 工具オリエンテーションの回転(ORIROTA、ORIROTR、ORIROTT、ORIROTC、THETA) ............................................................................................................................ 391

    6.5 軌跡に対する向き............................................................................................................. 394 6.5.1 軌跡に対する向きのタイプ .............................................................................................. 394 6.5.2 軌跡に対する工具オリエンテーションの回転(ORIPATH、ORIPATHS、回転角度)........ 396 6.5.3 軌跡に対する工具回転の補間(ORIROTC、THETA)......................................................... 398 6.5.4 旋回処理のスムージング(ORIPATHS A8=, B8=, C8=)..................................................... 401

    6.6 旋回の圧縮(COMPON、COMPCURV、COMPCAD、COMPOF) ................................... 403

    6.7 旋回処理のスムージング(ORISON、ORISOF) ................................................................ 407

    6.8 キネマティックトランスフォーメーション ..................................................................... 409 6.8.1 回転部品のフライス加工(TRANSMIT) ............................................................................. 409 6.8.2 円筒補間(TRACYL) .......................................................................................................... 413 6.8.3 傾斜軸(TRAANG) ............................................................................................................. 423 6.8.4 傾斜軸プログラミング(G05、G07) .................................................................................. 427

    6.9 直交PTP移動 .................................................................................................................... 429 6.9.1 TRANSMITのPTP ............................................................................................................ 435

    6.10 座標変換の選択時の制約事項........................................................................................... 439

    6.11 座標変換の解除(TRAFOOF)............................................................................................. 441

    6.12 座標変換重畳(TRACON、TRAFOOF).............................................................................. 442

    7 工具オフセット.............................................................................................................................445

    7.1 オフセットメモリ............................................................................................................. 445

    7.2 追加オフセット ................................................................................................................ 449 7.2.1 追加オフセットの選択(DL) .............................................................................................. 449

  • 目次

    上級編 12 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    7.2.2 摩耗値とセットアップ値の指定($TC_SCPxy[t,d]、$TC_ECPxy[t,d]) ...............................451 7.2.3 追加オフセットの削除(DELDL) ........................................................................................452

    7.3 工具補正の特殊処理..........................................................................................................453 7.3.1 工具長のミラーリング ......................................................................................................455 7.3.2 摩耗の符号評価 .................................................................................................................456 7.3.3 動作中の加工運転の座標系(TOWSTD、TOWMCS、TOWWCS、TOWBCS、

    TOWTCS、TOWKCS) ......................................................................................................457 7.3.4 工具長と平面変更 .............................................................................................................460

    7.4 オンライン工具補正(PUTFTOCF、FCTDEF、PUTFTOC、FTOCON、FTOCOF) .........462

    7.5 3 次元工具補正の起動(CUT3DC...、CUT3DF...) ..............................................................468 7.5.1 3 次元工具補正の起動(3DC、CUT3DF、CUT3DFS、CUT3DFF、ISD) ..........................468 7.5.2 3 次元工具補正外周削り、正面削り .................................................................................470 7.5.3 3 次元工具補正、正面削りの工具形状と工具データ ........................................................472 7.5.4 軌跡、軌跡曲率、挿入深さの 3 次元工具補正(CUT3DC、ISD) ........................................474 7.5.5 3 次元工具補正、内側コーナ/外側コーナ、および交点処理(G450/G451) ........................476 7.5.6 3 次元工具補正、限界面による 3 次元外周削り ...............................................................478 7.5.7 3 次元工具補正、限界面の考慮(CUT3DCC、CUT3DCCD) ..............................................478

    7.6 工具オリエンテーション(ORIC、ORID、OSOF、OSC、OSS、OSSE、ORIS、OSD、OST) ......................................................................................................................483

    7.7 D番号の任意割り当て、刃先番号 .....................................................................................490 7.7.1 D番号、刃先番号の任意割り当て(CEアドレス)................................................................490 7.7.2 D番号の任意割り当て: D番号のチェック(CHKDNO)........................................................491 7.7.3 D番号の任意割り当て: D番号の名称変更(GETDNO、SETDNO)......................................491 7.7.4 D番号の任意割り当て: 指定したD番号に対してT番号の特定(GETACTTD) .....................493 7.7.5 D番号の任意割り当て: D番号の無効化(DZERO) ..............................................................494

    7.8 工具ホルダのキネマティックス ........................................................................................495

    7.9 旋回工具ホルダの工具長補正(TCARR、TCOABS、TCOFR、TCOFRX、TCOFRY、TCOFRZ) ..........................................................................................................................503

    7.10 オンライン工具長補正(TOFFON、TOFFOF) ...................................................................507

    7.11 旋回工具の切削データ変更(CUTMOD) .............................................................................510

    8 軌跡の移動動作 ............................................................................................................................ 517

    8.1 法線方向制御(TANG、TANGON、TANGOF、TLIFT、TANGDEL) .................................517

    8.2 送り速度特性(FNORM、FLIN、FCUB、FPO)..................................................................525

    8.3 解析メモリによるプログラム手順(STOPFIFO、STARTFIFO、FIFOCTRL、STOPRE) ..........................................................................................................................532

    8.4 条件により中断可能なプログラム区間(DELAYFSTON、DELAYFSTOF) ........................535

    8.5 SERUPROのプログラム位置のマスク(IPTRLOCK、IPTRUNLOCK)...............................541

  • 目次

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 13

    8.6 輪郭への再位置決め(REPOSA、REPOSL、REPOSQ、REPOSQA、REPOSH、REPOSHA、DISR、DISPR、RMI、RMB、RME、RMN) ............................................... 544

    8.7 モーションコントロールへの影響.................................................................................... 554 8.7.1 加々速度補正の割合(JERKLIM)........................................................................................ 554 8.7.2 速度補正の割合(VELOLIM) .............................................................................................. 555 8.7.3 JERKLIMとVELOLIMのプログラム例 .............................................................................. 559

    8.8 プログラマブル輪郭/旋回の許容範囲(CTOL、OTOL、ATOL)......................................... 560

    8.9 G0 移動の許容範囲(STOLF)............................................................................................. 565

    9 軸連結...........................................................................................................................................569

    9.1 連結移動(TRAILON、TRAILOF) ...................................................................................... 569

    9.2 カーブテーブル(CTAB) .................................................................................................... 573 9.2.1 カーブテーブルの定義(CTABDEF、CATBEND).............................................................. 574 9.2.2 カーブテーブルの有無のチェック(CTABEXISTS) ........................................................... 581 9.2.3 カーブテーブルの削除(CTABDEL)................................................................................... 582 9.2.4 カーブテーブルの削除、および上書きを防止するロック(CTABLOCK、

    CTABUNLOCK)................................................................................................................ 583 9.2.5 カーブテーブル: カーブテーブル機能の特定(CTABID、CTABISLOCK、

    CTABMEMTYP、CTABPERIOD) .................................................................................... 586 9.2.6 カーブテーブル値の読み取り(CTABTSV、CTABTEV、CTABTSP、CTABTEP、

    CTABSSV、CTABSEV、CTAB、CTABINV、CTABTMIN、CTABTMAX) ...................... 588 9.2.7 カーブテーブル: メモリ使用のチェック(CTABNO、CTABNOMEM、CTABFNO、

    CTABSEGID、CTABSEG、CTABFSEG、CTABMSEG、CTABPOLID、CTABPOL、CTABFPOL、CTABMPOL).............................................................................................. 594

    9.3 軸間連動機能(LEADON、LEADOF)................................................................................. 596

    9.4 電子ギヤ(EG) ................................................................................................................... 603 9.4.1 電子ギヤの定義(EGDEF) ................................................................................................. 603 9.4.2 電子ギヤの起動(EGON、EGONSYN、EGONSYNE) ...................................................... 605 9.4.3 電子ギヤの起動(EGOFS、EGOFC)................................................................................. 609 9.4.4 電子ギヤの定義の解除(EGDEL) ....................................................................................... 610 9.4.5 毎回転送り速度(G95) / 電子ギヤ(FPR) ............................................................................ 610

    9.5 主軸同期 ........................................................................................................................... 611 9.5.1 主軸同期: プログラミング(COUPDEF、COUPDEL、COUPON、COUPONC、

    COUPOF、COUPOFS、COUPRES、WAITC) ............................................................... 612

    9.6 マスタ/スレーブグループ(MASLDEF、MASLDEL、MASLON、MASLOF、MASLOFS)....................................................................................................................... 625

    10 シンクロナイズドアクション .......................................................................................................631

    10.1 基本事項 ........................................................................................................................... 631 10.1.1 適用範囲および加工手順(ID、IDS) .................................................................................. 635 10.1.2 条件の周期的チェック(WHEN、WHENEVER、FROM、EVERY) .................................. 637

  • 目次

    上級編 14 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    10.1.3 動作(DO) ...........................................................................................................................640

    10.2 条件と動作の演算子..........................................................................................................641

    10.3 シンクロナイズドアクションのメインラン変数 ...............................................................643 10.3.1 システム変数.....................................................................................................................643 10.3.2 自動的なタイプ変換..........................................................................................................645 10.3.3 GUD変数 ...........................................................................................................................647 10.3.4 既定の軸識別子(NO_AXIS) ...............................................................................................650 10.3.5 シンクロナイズドアクションマーク($AC_MARKER[n]) ..................................................651 10.3.6 シンクロナイズドアクションパラメータ($AC_PARAM[n])..............................................652 10.3.7 算術変数($R[n]).................................................................................................................653 10.3.8 NCマシンデータとNCセッティングデータの読み取りと書き込み...................................654 10.3.9 タイマ変数($AC_TIMER[n]) ..............................................................................................656 10.3.10 FIFO変数($AC_FIFO1[n] ... $AC_FIFO10[n])....................................................................657 10.3.11補間器のブロックタイプに関する情報($AC_BLOCKTYPE、$AC_BLOCKTYPEINFO、

    $AC_SPLITBLOCK) ..........................................................................................................659

    10.4 シンクロナイズドアクションの動作.................................................................................663 10.4.1 シンクロナイズドアクションでおこなわれる動作の概要.................................................663 10.4.2 補助機能の出力 .................................................................................................................667 10.4.3 読み込み停止の設定(RDISABLE)......................................................................................668 10.4.4 先読み停止のキャンセル(STOPREOF).............................................................................670 10.4.5 残移動距離削除(DELDTG) ................................................................................................671 10.4.6 多項式の定義(FCTDEF) ....................................................................................................673 10.4.7 評価機能(SYNFCT) ...........................................................................................................676 10.4.8 補正制限による閉ループクリアランス制御($AA_OFF_MODE)........................................680 10.4.9 オンライン工具補正(FTOC)..............................................................................................683 10.4.10 オンライン工具長補正($AA_TOFF) ..................................................................................686 10.4.11 位置決め移動.....................................................................................................................688 10.4.12 位置決め軸(POS) ..............................................................................................................689 10.4.13 指定した基準範囲内の位置(POSRANGE) ........................................................................691 10.4.14 軸の起動/停止(MOV) .........................................................................................................692 10.4.15 軸入れ替え(RELEASE、GET) ..........................................................................................693 10.4.16 軸送り(FA) ........................................................................................................................698 10.4.17 ソフトウェアリミットスイッチ ........................................................................................698 10.4.18 軸協調 ...............................................................................................................................699 10.4.19 現在位置設定(PRESETON) ..............................................................................................700 10.4.20 主軸動作............................................................................................................................701 10.4.21 連結移動(TRAILON、TRAILOF) .......................................................................................702 10.4.22 軸間連動機能(LEADON、LEADOF)..................................................................................704 10.4.23 計測(MEAWA、MEAC) .....................................................................................................707 10.4.24 配列変数の初期化(SET、REP) .........................................................................................708 10.4.25 待機マークの設定/解除(SETM、CLEARM) ......................................................................709 10.4.26 障害時の応答(SETAL).......................................................................................................710 10.4.27 突き当て点停止(FXS、FXST、FXSW、FOCON、FOCOF) ............................................711

  • 目次

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 15

    10.4.28 シンクロナイズドアクションの軌跡タンジェントの特定 ................................................ 714 10.4.29 現在のオーバライドの特定 .............................................................................................. 715 10.4.30 シンクロナイズドアクションの使用時間の評価 .............................................................. 716

    10.5 テクノロジサイクル ......................................................................................................... 718 10.5.1 コンテキスト変数($P_TECCYCLE) ................................................................................. 722 10.5.2 値渡しパラメータ............................................................................................................. 723 10.5.3 デフォルトパラメータの初期化 ....................................................................................... 723 10.5.4 テクノロジサイクルの処理の制御(ICYCOF、ICYCON) .................................................. 724 10.5.5 テクノロジサイクルのカスケード化 ................................................................................ 725 10.5.6 ノンモーダルシンクロナイズドアクションのテクノロジサイクル.................................. 725 10.5.7 チェック命令(IF) .............................................................................................................. 726 10.5.8 ジャンプ命令(GOTO、GOTOF、GOTOB) ...................................................................... 726 10.5.9 ロック、ロック解除、リセット(LOCK、UNLOCK、RESET) ......................................... 727

    10.6 シンクロナイズドアクションの解除(CANCEL) ............................................................... 729

    10.7 特定の運転状態での制御動作........................................................................................... 731

    11 揺動
 ............................................................................................................................................737

    11.1 非同期揺動(OS、OSP1、OSP2、OST1、OST2、OSCTRL、OSNSC、OSE、OSB) ... 737

    11.2 シンクロナイズドアクションによる揺動制御(OSCILL)................................................... 743

    12 パンチングとニブリング...............................................................................................................753

    12.1 起動、解除 ....................................................................................................................... 753 12.1.1 パンチングとニブリングのオンまたはオフ(SPOF、SON、PON、SONS、PONS、

    PDELAYON、PDELAYOF、PUNCHACC) ...................................................................... 753

    12.2 自動軌跡分割.................................................................................................................... 759 12.2.1 軌跡軸の軌跡分割............................................................................................................. 762 12.2.2 単独軸の軌跡分割............................................................................................................. 764

    13 研削加工 .......................................................................................................................................767

    13.1 パートプログラムでの研削用工具の監視(TMON、TMOF) .............................................. 767

    14 その他の機能 ................................................................................................................................771

    14.1 軸機能(AXNAME、AX、SPI、AXTOSPI、ISAXIS、AXSTRING、MODAXVAL)............ 771

    14.2 置換可能なジオメトリ軸(GEOAX)................................................................................... 774

    14.3 軸コンテナ(AXCTSWE、AXCTSWED) ........................................................................... 780

    14.4 有効な軸位置を待機します(WAITENC) ........................................................................... 784

    14.5 現在のNC言語の適用範囲のチェック(STRINGIS) ........................................................... 786

    14.6 ファンクションコールISVAR、およびマシンデータ配列インデックスの読み取り......... 791

    14.7 補正特性の学習(QECLRNON、QECLRNOF) .................................................................. 794

    14.8 対話形式によるパートプログラムからのウィンドウの呼び出し(MMC) .......................... 796

  • 目次

    上級編 16 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    14.9 プログラム実行時間/ワークカウンタ................................................................................798 14.9.1 プログラム実行時間/ワークカウンタ(一覧) ......................................................................798 14.9.2 プログラム実行時間..........................................................................................................798 14.9.3 ワークカウンタ .................................................................................................................803

    14.10 アラーム(SETAL) ..............................................................................................................805

    15 ユーザー荒削りプログラム........................................................................................................... 807

    15.1 荒削りの機能のサポート...................................................................................................807

    15.2 輪郭テーブルの生成(CONTPRON) ...................................................................................808

    15.3 コード化された輪郭テーブルの生成(CONTDCON)..........................................................816

    15.4 2 個の輪郭要素の交点の特定(INTERSEC)........................................................................822

    15.5 テーブルの輪郭要素をブロック毎に実行(EXECTAB).......................................................824

    15.6 円弧データの計算(CALCDAT) ..........................................................................................825

    15.7 輪郭解析の解除(EXECUTE)..............................................................................................827

    16 テーブル ....................................................................................................................................... 829

    16.1 命令...................................................................................................................................829

    16.2 命令:SINUMERIK 828Dでの適用 ......................................................................................904

    A 付録 .............................................................................................................................................. 935

    A.1 略語の一覧 ........................................................................................................................935

    A.2 本書に対するフィードバック............................................................................................942

    A.3 一覧...................................................................................................................................944 A.3.1 828Dドキュメントツリー .................................................................................................944

    用語集 .......................................................................................................................................... 945 索引 .............................................................................................................................................. 969

  • 上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 17

    フレキシブルな NC プログラミング 11.1 変数

    1.1.1 変数の概要

    特に算術機能とチェック命令を組み合わせて変数を使用すると、非常に高いレベルの柔

    軟性を持ったパートプログラムとサイクルのセットアップが可能になります。 このために、システムには、3 つのタイプの変数が用意されています。

    ● システム変数

    システム変数は、意味は予約されており、変更できない変数です。これは、システ

    ムで定義され、ユーザーが使用できる変数です。 また、システムソフトウェアでも読み取りと書き込みをおこないます。例:マシンデータ

    システム変数のほとんどが、システムによって意味が予約されており、その機能は

    変更できません。 ただし、ユーザーは、再定義という形で、機能に若干の変更を加えることができます。「システム変数の再定義、ユーザー変数、およびNC言語命令(REDEF) (ページ 34)」を参照してください。

    ● ユーザー変数

    ユーザー変数は、システムでは未知の変数のため、システムでは使用されません。 ユーザーで意味が定義されます。

    ユーザー変数は、さらに次のように分類されます。

    – 予約ユーザー変数

    予約ユーザー変数は、システムによってすでに定義されており、ユーザーでは、

    その番号のみ、特定のマシンデータでパラメータ設定をおこなう変数です。 この変数の機能は、ユーザーが変更可能です。「システム変数の再定義、ユーザー変

    数、およびNC言語命令(REDEF) (ページ 34)」を参照してください。

    – ユーザー定義変数

    ユーザー定義変数は、ユーザーが定義し、実行時まではシステムが作成しない変

    数です。 その番号、データタイプ、可視性、およびその他の機能は、ユーザーが定義します。

    「ユーザー変数の定義(DEF) (ページ 27)」を参照してください。

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 18 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    下記も参照

    システム変数 (ページ 18)

    予約ユーザー変数 算術変数(R) (ページ 22)

    予約ユーザー変数リンク変数 (ページ 24)

    属性:初期値 (ページ 37)

    属性: 制限値(LLI、ULI) (ページ 41)

    属性: 物理単位(PHU) (ページ 42)

    属性: アクセス権(APR、APW、APRP、APWP、APRB、APWB) (ページ 45)

    定義と再定義が可能な属性の概要 (ページ 51)

    配列変数の定義と初期化(DEF、SET、REP) (ページ 53)

    データタイプ (ページ 62)

    1.1.2 システム変数

    システム変数は、システムの予約変数で、パートプログラムとサイクルのなかで、制御

    関連、加えて機械状態、制御状態、および処理状態に関連した現在のパラメータ設定へ

    のアクセスを可能にします。

    先読み変数

    先読み変数は、先読み処理のなかで、読み取りと書き込みがおこなわれるシステム変数

    です。つまり、プログラム指令したシステム変数を含むパートプログラムのブロックが

    解釈されるタイミングで、読み取りと書き込みがおこなわれます。 先読み変数は、先読み停止をおこないません。

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 19

    メインラン変数

    メインラン変数は、メインラン処理のなかで読み取りと書き込みがおこなわれるシステ

    ム変数です。つまり、プログラム指令したシステム変数を含むパートプログラムのブロ

    ックを実行するタイミングで読み取りと書き込みがおこなわれます。 以下にメインラン変数を示します。

    ● シンクロナイズドアクションでプログラム指令できるシステム変数(読み取り/書き込み)

    ● パートプログラムでプログラム指令して、先読み停止ができるシステム変数です(読み取り/書き込み)。

    ● パートプログラムでプログラム指令でき、値は先読み中に計算されますが、メインランまでは書き込まれないシステム変数です(メインランと同期: 書き込みのみ)。

    接頭語方式

    明確に識別するために、システム変数の名称の先頭には通常、$記号の後に 1 文字または 2 文字の英字とアンダースコアが続く接頭語が付いています。

    $ + 1. 文字 意味:データタイプ

    先読み中に読み取り/書き込みがおこなわれるシステム変数

    $M マシンデータ 1)

    $S セッティングデータ、保護領域 1)

    $T 工具管理データ

    $P プログラム指令値

    $C ISO サイクルのサイクル変数

    $O オプションデータ

    R R 変数(算術変数) 2)

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 20 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    $ + 1. 文字 意味:データタイプ

    メインラン中に読み取り/書き込みがおこなわれるシステム変数

    $$M マシンデータ 1)

    $$S セッティングデータ 1)

    $A 最新のメインランデータ

    $V サーボデータ

    $R R 変数(算術変数) 2)

    1)パートプログラム/サイクルで先読み変数としてマシンデータとセッティングデータを使用するときは、1 個の$記号を含む接頭語を書き込んでください。 シンクロナイズドアクションでメインラン変数として使用するときは、2 個の$記号を含む接頭語を書き込んでください。 2)パートプログラム/サイクルで先読み変数として R 変数を使用するときは、R10 のように、接頭語を省略してください。 シンクロナイズドアクションでメインラン変数として使用するときは、$R10 のように、$記号を接頭語として書き込んでください。

    2. 文字 意味:可視性

    N NCK グローバル変数(NCK)

    C チャネル別変数(チャネル)

    A 軸別変数(軸)

    一般条件

    接頭語方式の規則の例外 次のシステム変数は、上記の接頭語方式の規則に該当しません。

    ● $TC_...: この変数の 2 番目の英字 C は、チャネル別システム変数ではなく、工具ホルダ別システム変数(TC= 工具キャリヤ)を表わします。

    ● $P_ ...: チャネル別システム変数

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 21

    シンクロナイズドアクションのマシンデータとセッティングデータの用途 マシンデータとセッティングデータをシンクロナイズドアクションで使用するときは、

    接頭語を使用して、マシンデータとセッティングデータのどちらを、先読みの実行とメ

    インランのどちらに同期して読み取るかを定義できます。

    加工中にデータを変更しない場合は、先読みの実行に同期して読み取ることができます。 このために、書き込まれるマシンデータまたはセッティングデータには、1 個の$記号を含む接頭語を付けてください。

    プログラムコード ID=1 WHENEVER G710 $AA_IM[z] < $SA_OSCILL_REVERSE_POS2[Z]–6 DO $AA_OVR[X]=0

    加工中にデータを変更する場合は、メインランに同期して読み取り/書き込みをおこなってください。 このために、書き込まれるマシンデータまたはセッティングデータには、2 個の$記号を含む接頭語を付けてください。

    プログラムコード ID=1 WHENEVER $AA_IM[z] < $$SA_OSCILL_REVERSE_POS2[Z]–6 DO $AA_OVR[X]=0

    注記 マシンデータの書き込み マシンデータまたはセッティングデータの項目を書き込むときは、パートプログラム/サイクルの実行時に有効なアクセスレベルで書き込みが可能であり、データが直ちに有

    効となるように設定「IMMEDIATE」されていることが重要です。

    参照先

    すべてのシステム変数の機能の一覧は、

    /PGA1/ システム変数一覧表 にあります。

    下記も参照

    変数の概要 (ページ 17)

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 22 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    1.1.3 予約ユーザー変数 算術変数(R)

    機能

    算術変数または R 変数は、予約された名称 R のユーザー変数で、REAL データタイプの配列として定義されています。 互換性の理由から、R[10]などの配列インデックスによる表記、および R10 などの配列インデックスなしの表記の両方を、R 変数に使用できます。

    シンクロナイズドアクションを使用する場合は、$R10 のように、$記号を含む接頭語を使用してください。

    構文

    先読み変数として使用する場合: R R[] メインラン変数として使用する場合: $R $R[]

    意味

    R: パートプログラムなどで、先読み変数として使用する場合の識別子 $R: シンクロナイズドアクションなどで、メインラン変数として使用する

    場合の識別子

    タイプ: REAL

    値の範囲: 非指数表記の場合:

    ± (0.000 0001~9999 9999)

    注: 小数点以下 8 桁までの数値を使用できます。

    指数表記の場合:

    ± (1*10-300~1*10+300)

    注:

    表記: EX 例: 8.2EX-3

    符号と小数点を含め、10 文字までの文字を使用できます。

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 23

    R 変数の番号

    タイプ: INT

    :

    値の範囲: 0 - MAX_INDEX

    注: MAX_INDEX は、次のように、R 変数で設定した番号から計算します。 MAX_INDEX = (MD28050 $MN_MM_NUM_R_PARAM) - 1

    : 配列インデックス 式の結果が INT データタイプ(INT、REAL、BOOL、CHAR)に変換できるかぎり、任意の式を配列インデックスとして使用できます。

    R 変数の割り当て、および数学関数で R 変数を使用:

    プログラムコード コメント R0=3.5678 ; 先読み変数の割り当て R[1]=-37.3 ; 先読み変数の割り当て R3=-7 ; 先読み変数の割り当て $R4=-0.1EX-5 ; メインラン変数の割り当て: R4 = -0.1 * 10^-5 $R[6]=1.874EX8 ; メインラン変数の割り当て: R6 = 1.874 * 10^8 R7=SIN(25.3) ; 先読み変数の割り当て R[R2]=R10 ; R 変数を使用した間接アドレス指定 R[(R1+R2)*R3]=5 ; 数式を使用した間接アドレス指定 X=(R1+R2) ; R1 と R2 の合計から得られる位置に軸 X を移動します Z=SQRT(R1*R1+R2*R2) ; 平方根位置(R1^2 + R2^2)に Z 軸を移動します

    下記も参照

    変数の概要 (ページ 17)

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 24 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    1.1.4 予約ユーザー変数リンク変数

    機能

    ネットワークでリンクされた NCU 間で周期的にデータ交換をおこなう「NCU リンク」機能処理では、リンク変数を使用できます。 この変数を使用すると、リンク変数メモリへのデータ形式別のアクセスが容易になります。 リンク変数メモリは、ユーザー/工作機械メーカがシステム別基準に、サイズとデータ構成の両方を定義します。

    リンク通信を構成している場合、リンク変数は、リンクに関与するすべての NCU によりパートプログラムとサイクルで読み取りと書き込みが可能な、システムグローバルユ

    ーザー変数です。 グローバルユーザー変数(GUD)とは異なり、リンク変数は、シンクロナイズドアクションでも使用できます。

    動作中の NCU リンクのないシステムでは、リンク変数を制御装置でローカルに、グローバルユーザー変数(GUD)と一緒に追加のグローバルユーザー変数として使用できます。

    構文 $A_DLB[] $A_DLW[] $A_DLD[] $A_DLR[]

    意味 BYTE データ形式のリンク変数(1 バイト)

    データタイプ: UINT

    $A_DLB:

    値の範囲: 0~255

    WORD データ形式のリンク変数(2 バイト)

    データタイプ: INT

    $A_DLW:

    値の範囲: -32768~32767

    DWORD データ形式のリンク変数(4 バイト)

    データタイプ: INT

    $A_DLD:

    値の範囲: -2147483648~2147483647

    REAL データ形式のリンク変数(8 バイト)

    データタイプ: REAL

    $A_DLR:

    値の範囲: ±(2,2*10-308 … 1,8*10+308)

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 25

    リンク変数メモリの先頭から数えたバイト単位のアドレスインデッ

    クス

    データタイプ: INT

    :

    値の範囲: 0 - MAX_INDEX

    MAX_INDEX は、次のように、パラメータ設定されたリンク変数メモリのサイズから計算します。

    MAX_INDEX = (MD18700 $MN_MM_SIZEOF_LINKVAR_DATA) - 1

    リンク変数メモリにアドレス指定したバイト数がデータ形式の制限範囲内に配置されるよう、イン

    デックスをプログラム指令してください。つま

    り、 インデックス= n *バイト(ここでは n = 0、1、2、...)になります。 – $A_DLB[i]: i = 0、1、2、... – $A_DLW[i]: i = 0、2、4、... – $A_DLD[i]: i = 0、4、8、... – $A_DLR[i]: i = 0、8、16、...

    オートメーションシステムに 2 基の NCU (NCU1 と NCU2)が含まれます。 機械軸 AX2が NCU1 に接続されています。 この軸は、NCU2 のリンク軸として移動します。

    NCU1 は、軸 AX2 の電流フィードバック値($VA_CURR)を周期的にリンク変数メモリに書き込みます。 NCU2 は、リンク通信で周期的に伝送される電流フィードバック値を読み取り、制限値を超えた場合はアラーム 61000 を表示します。

    リンク変数メモリのデータ構成を、次の図に示します。 電流フィードバック値は、REAL 値で伝送されます。

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 26 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    NCU1 NCU1 はリンク変数$A_DLR[ 16 ]を使用して、軸 AX2 の電流フィードバック値を、内部的なシンクロナイズドアクションの補間サイクル中に周期的に、リンク変数メモリに

    書き込みます。

    プログラムコード N111 IDS=1 WHENEVER TRUE DO $A_DLR[16]=$VA_CURR[AX2]

    NCU2 NCU2 はリンク変数$A_DLR[ 16 ]を使用して、軸 AX2 の電流フィードバック値を、内部的なシンクロナイズドアクションの補間サイクル中に周期的にリンク変数メモリから

    読み取ります。 電流フィードバック値が 23.0 A を超える場合は、アラーム 61000 が表示されます。

    プログラムコード N222 IDS=1 WHEN $A_DLR[16] > 23.0 DO SETAL(61000)

    下記も参照

    変数の概要 (ページ 17)

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 27

    1.1.5 ユーザー変数の定義(DEF)

    機能

    DEF 命令を使用して、ユーザー別の変数を定義し、この変数に値を割り当てます。 この変数は、システム変数と区別して設定するために、ユーザー定義変数またはユーザー

    変数(ユーザーデータ)と呼びます。

    有効範囲(つまり、変数を表示できる範囲)に応じて、ユーザー変数には次のカテゴリがあります。

    ● ローカルユーザー変数(LUD)

    ローカルユーザー変数(LUD)は、実行時にメインプログラム以外のパートプログラムで定義した変数です。 この変数は、パートプログラムが呼び出されると作成され、パートプログラムの終了時または NC のリセット時に解除されます。 ローカルユーザー変数には、この変数を定義したパートプログラム内でのみアクセスできます。

    ● プログラムユーザー変数(PUD)

    プログラムユーザー変数(PUD)は、メインプログラムとして使用されるパートプログラムのなかで定義したユーザー変数です。 この変数は、パートプログラムが起動すると作成され、パートプログラムの終了時または NC のリセット時に解除されます。 PUD は、メインプログラム、およびメインプログラムのすべてのサブプログラムのなかでアクセスできます。

    ● グローバルユーザー変数(GUD)

    グローバルユーザー変数(GUD)は、データブロック(SGUD、MGUD、UGUD、GUD4~GUD9)で定義され、停止と再起動の後も保持される NC グローバル変数またはチャネルグローバル変数です。 GUD は、すべてのパートプログラムでアクセスできます。

    ユーザー変数は、使用(読み取り/書き込み)前に定義してください。 この場合は、以下の規則を守ってください。

    ● GUD は、定義ファイルで_N_DEF_DIR/_M_SGUD_DEF のように定義します。

    ● PUD と LUD は、パートプログラムの定義部で定義します。

    ● データは専用ブロックで定義してください。

    ● 各データ定義に使用できるのは、1 つのデータタイプのみです。

    ● 各データ定義で、複数の同じデータタイプの変数を定義できます。

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 28 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    構文 DEF <アクセス権> [,,]=

    意味

    DEF: GUD、PUD、LUD の各ユーザー変数の定義命令 適用範囲、GUD にのみ有効:

    NCK: NC グローバルユーザー変数 :

    CHAN: チャネルグローバルユーザー変数 データタイプ:

    INT: 符合付き整数 REAL: 実数(IEEE では LONG REAL) BOOL: 真偽値 TRUE (1)/FALSE (0) CHAR: ASCII 文字 STRING[]: 定義された長さの文字列 AXIS: 軸/主軸の識別子 FRAME: 内部的な座標変換のジオメトリデータ

    :

    「データタイプ (ページ 62)」を参照してください

    先読み停止、GUD にのみ有効(任意選択)

    SYNR: 読み取り中の先読み停止 SYNW: 書き込み中の先読み停止

    :

    SYNRW: 読み取り/書き込み中の先読み停止 変数が再初期化されるタイミング(任意選択)

    INIPO: 電源投入 INIRE: メインプログラムの終了時、NC リセット時、ま

    たは電源投入時

    INICF: NewConfig の使用時、またはメインプログラムの終了時、NC リセット時、または電源投入時

    PRLOC: メインプログラムの終了時、部分的な変更後のNC リセット時、または電源投入時

    :

    「属性:初期値 (ページ 37)」を参照してください

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 29

    物理単位(任意選択)

    PHU: :

    「属性: 物理単位(PHU) (ページ 42)」を参照してください

    下限値と上限値(任意選択)

    LLI: 下限値(下限) ULI: 上限値(上限)

    :

    「属性: 制限値(LLI、ULI) (ページ 41)」を参照してください

    パートプログラムまたは OPI を介した GUD の読み取り/書き込みアクセス権(任意選択)

    APRP : 読み取り: パートプログラム APWP : 書き込み:パートプログラム APRB : 読み取り: OPI APWB : 書き込み:OPI 保護レベル 値の範囲: 0 ... 7

    :

    「属性: アクセス権(APR、APW、APRP、APWP、APRB、APWB) (ページ 45)」を参照してください

    : 変数の名称 注

    最大 31 文字です。

    先頭の 2 文字には、英字とアンダースコアのいずれかまたは両方を使用してください。

    $記号はシステム変数として予約されているため、使用できません。

    [, , ]:

    1 次元から 3 次元までの配列変数の配列サイズの指定(任意選択)

    : 初期値(任意選択) 「属性:初期値 (ページ 37)」を参照してください

    配列変数の初期化の場合:

    「配列変数の定義と初期化(DEF、SET、REP) (ページ 53)」を参照してください

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 30 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    例 1: 工作機械メーカ用のデータブロックのユーザー変数の定義

    プログラムコード %_N_MGUD_DEF ; GUD ブロック: 工作機械メーカ $PATH=/_N_DEF_DIR DEF CHAN REAL PHU 24 LLI 0 ULI 10 STROM_1, STROM_2 ; 説明 ; 2 つの GUD 項目の定義: STROM_1, STROM_2 ; 適用範囲: チャネル全体 ; データタイプ: REAL ; 先読み停止: プログラム指令なし=>初期値=先読み停止なし ; 物理単位: 24 = [A] ; 制限値: 下限= 0.0、上限= 10.0 ; アクセス権: プログラム指令なし=>初期値= 7 =キー操作による切り替え位置 0 ; 初期値: プログラム指令なし=>初期値= 0.0 DEF NCK REAL PHU 13 LLI 10 APWP 3 APRP 3 APWB 0 APRB 2 ZEIT_1=12, ZEIT_2=45 ; 説明 ; 2 つの GUD 項目の定義: ZEIT_1, ZEIT_2 ; 適用範囲: NCK 全体 ; データタイプ:REAL ; 先読み停止:プログラム指令なし=>初期値=先読み停止なし ; 物理単位: 13 = [s] ; 制限値: 下限= 10.0、上限=プログラム指令なし=>制限定義範囲の上限 ; アクセス権: ; パートプログラム: 書き込み/読み取り= 3 =エンドユーザー ; OPI: 書き込み= 0 =当社、読み取り= 3 =エンドユーザー ; 初期値: ZEIT_1 = 12.0, ZEIT_2 = 45.0 DEF NCK APWP 3 APRP 3 APWB 0 APRB 3 STRING[5] GUD5_NAME = "COUNTER" ; 説明 ; 1 つの GUD 項目の定義: GUD5_NAME ; 適用範囲:NCK 全体 ; データタイプ: STRING、最大 5 文字 ; 先読み停止:プログラム指令なし=>初期値=先読み停止なし ; 物理単位: プログラム指令なし=>初期値= 0 = 単位なし ; 制限値: プログラム指令なし=>制限定義範囲: 下限= 0、上限= 255

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 31

    プログラムコード ; アクセス権: ; パートプログラム:書き込み/読み取り= 3 =エンドユーザー ; OPI:書き込み= 0 =当社、読み取り= 3 =エンドユーザー ; 初期値: "COUNTER" M30

    例 2: プログラムグローバルユーザー変数とプログラムローカルユーザー変数(PUD/LUD)

    プログラムコード コメント PROC MAIN ; メインプログラム DEF INT VAR1 ; PUD 定義 ... SUB2 ; サブプログラム呼び出し ... M30

    プログラムコード コメント PROC SUB2 ; サブプログラム SUB2 DEF INT VAR2 ; LUD 定義 ... IF (VAR1==1) ; PUD を読み取ります VAR1=VAR1+1 ; PUD を読み取り、PUD に書き込みます VAR2=1 ; LUD に書き込みます ENDIF SUB3 ; サブプログラム呼び出し ... M17

    プログラムコード コメント PROC SUB3 ; サブプログラム SUB3 ... IF (VAR1==1) ; PUD を読み取ります VAR1=VAR1+1 ; PUD を読み取り、PUD に書き込みます VAR2=1 ; エラー: SUB2 からは LUD は未知です ENDIF ... M17

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 32 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    例 3: データタイプ AXIS のユーザー変数の定義と用途 プログラムコード コメント DEF AXIS ABSCISSA ; 1. 番目のジオメトリ軸 DEF AXIS SPINDLE ; 主軸 ... IF ISAXIS(1) == FALSE GOTOF CONTINUE ABSCISSA = $P_AXN1 CONTINUE: ... SPINDLE=(S1) 1. 番目の主軸 OVRA[SPINDLE]=80 ; 主軸オーバーライド = 80% SPINDLE=(S3) 3. 番目の主軸

    一般条件

    グローバルユーザー変数(GUD)

    グローバルユーザー変数(GUD)を使用する場合は、次のマシンデータを考慮してください。

    番号 識別子: $MN_ 意味

    11140 GUD_AREA_ SAVE_TAB GUD ブロックの追加保存

    18118 1) MM_NUM_GUD_MODULES アクティブファイルシステムの GUDファイルの数

    18120 1) MM_NUM_GUD_NAMES_NCK グローバル GUD の数

    18130 1) MM_NUM_GUD_NAMES_CHAN チャネル別 GUD の数

    18140 1) MM_NUM_GUD_NAMES_AXIS 軸別 GUD の数

    18150 1) MM_GUD_VALUES_MEM グローバル GUD 値のメモリロケーション

    18660 1) MM_NUM_SYNACT_GUD_REAL REAL データタイプの設定可能なGUD の数

    18661 1) MM_NUM_SYNACT_GUD_INT INT データタイプの設定可能な GUDの数

    18662 1) MM_NUM_SYNACT_GUD_BOOL BOOL データタイプの設定可能なGUD の数

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0 33

    番号 識別子: $MN_ 意味

    18663 1) MM_NUM_SYNACT_GUD_AXIS AXIS データタイプの設定可能な GUDの数

    18664 1) MM_NUM_SYNACT_GUD_CHAR CHAR データタイプの設定可能なGUD の数

    18665 1) MM_NUM_SYNACT_GUD_STRING STRING データタイプの設定可能なGUD の数

    1) SINUMERIK 828D では使用できません。

    プログラムユーザー変数(PUD)

    通知

    プログラムローカルユーザー変数(PUD)の可視性 次のマシンデータを設定した場合は、メインプログラムで定義したプログラムローカ

    ルユーザー変数(PUD)はサブプログラムにのみ表示されます。 MD11120 $MN_LUD_EXTENDED_SCOPE = 1 MD11120 = 0 の場合は、メインプログラムで定義したプログラムローカルユーザー変数がメインプログラムにのみ表示されます。

    AXIS データタイプの NCK グローバルユーザー変数のチャネル相互間の用途

    軸識別子を含むデータブロック内で定義のときに初期化された AXIS データタイプのNCK グローバルユーザー変数は、この軸がチャネル間で同じチャネル軸番号を持つ場合にのみ、他の NC チャネルで使用できます。

    そうでない場合は、この変数を、パートプログラムの起動時にロードするか、または次

    の例のように、AXNAME(...)機能(「」を参照してください)を使用してください。

    プログラムコード コメント DEF NCK STRING[5] ACHSE="X" ; データブロックを定義します N100 AX[AXNAME(ACHSE)]=111 G00 ; パートプログラムで使用します

    下記も参照

    変数の概要 (ページ 17)

  • フレキシブルな NC プログラミング 1.1 変数

    上級編 34 プログラミングマニュアル, 07/2010, 6FC5398-2BP40-0TA0

    1.1.6 システム変数の再定義、ユーザー変数、およびNC言語命令(REDEF)

    機能

    REDEF 命令を使用すると、システム変数、ユーザー変数、および NC 言語命令の属性を変更できます。 再定義の基本状態は、対応する定義の日付けが新しくなることです。

    再定義のときは、複数の属性を同時に変更できません。 変更する属性毎に、個別のREDEF 命令をプログラム指令してください。 2 つ以上の属性の同時変更をプログラム指令した場合は、常に最後の変更属性が有効になります。

    再定義可能な属性

    「定義と再�