IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

特許7606049サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体
<>
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図1
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図2
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図3
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図4
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図5
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図6
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図7
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図8
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図9
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図10
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図11
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図12
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図13
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図14
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図15
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図16
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図17
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図18
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図19
  • 特許-サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体
(51)【国際特許分類】
   G05B 19/408 20060101AFI20241217BHJP
   G05B 19/4068 20060101ALI20241217BHJP
   G05B 19/409 20060101ALI20241217BHJP
   G05B 19/4093 20060101ALI20241217BHJP
   B23Q 15/00 20060101ALI20241217BHJP
【FI】
G05B19/408 Z
G05B19/4068
G05B19/409 C
G05B19/4093 L
B23Q15/00 B
B23Q15/00 301A
【請求項の数】 9
(21)【出願番号】P 2024520545
(86)(22)【出願日】2023-12-21
(86)【国際出願番号】 JP2023045974
【審査請求日】2024-04-11
【早期審査対象出願】
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】中西 義一
(72)【発明者】
【氏名】重松 宏希
【審査官】山本 忠博
(56)【参考文献】
【文献】特開2017-102766(JP,A)
【文献】特開2014-16982(JP,A)
【文献】特開2016-139349(JP,A)
【文献】特開2002-126975(JP,A)
【文献】特開2022-132726(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18-19/416,19/42-19/46;
B23Q 15/00-15/28
(57)【特許請求の範囲】
【請求項1】
加工プログラムに含まれるサイクル指令を検索する指令判定部と、
サイクル指令の引数の規定値、引数の組み合わせ、引数の順序の少なくともいずれかをサイクルの種類ごとに定義する指令フォーマットを記憶する指令フォーマット記憶部と、
前記加工プログラムに含まれるサイクル指令の引数と、前記サイクル指令の指令フォーマットとを比較することにより、サイクルの種類を判定する種類判定部と、
判定したサイクルの種類と、サイクル指令の引数とを表示させる情報表示部と、
を備えるサイクル種類判定装置。
【請求項2】
前記指令フォーマット記憶部は、1つのサイクル指令に対応付けられた複数の指令フォーマットを記憶する、請求項1記載のサイクル種類判定装置。
【請求項3】
前記指令フォーマットは、サイクル指令と、サイクルの種類と、引数と、引数の規定値と、引数の順序とを定義する、請求項1記載のサイクル種類判定装置。
【請求項4】
前記情報表示部は、サイクルの種類を示す画像を表示する、請求項1記載のサイクル種類判定装置。
【請求項5】
前記情報表示部は、サイクル指令の引数の意味を表示させる、請求項1記載のサイクル種類判定装置。
【請求項6】
前記情報表示部により表示された引数の変更を受け付け、前記変更を加工プログラムに反映させる変更受付部を備える、請求項1記載のサイクル種類判定装置。
【請求項7】
前記情報表示部により表示された引数の変更を受け付ける変更受付部を備え、
前記情報表示部は、引数に対応したサイクルの種類の画像を表示する、請求項1記載のサイクル種類判定装置。
【請求項8】
前記変更受付部は、引数の指令値の変更、引数の追加、引数の削除、引数の順序の入れ替えの少なくともいずれかを受け付ける、請求項6又は7記載のサイクル種類判定装置。
【請求項9】
1つ又は複数のプロセッサに、
加工プログラムに含まれるサイクル指令を検索し、
前記加工プログラムに含まれるサイクル指令の引数と、サイクル指令の引数の規定値、引数の組み合わせ、引数の順序の少なくともいずれかをサイクルの種類ごとに定義する指令フォーマットとを比較することにより、サイクルの種類を判定し、
判定したサイクルの種類と、サイクル指令の引数とを表示させる、
処理を実行させる命令を記憶するコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、サイクル種類判定装置、及びコンピュータが読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
数値制御装置の加工プログラムは、コードと引数から構成される。コードには、準備機能(Gコード)、補助機能(Mコード)、主軸機能(Sコード)、送り機能(Fコード)、工具機能(Tコード)などがある。加工プログラムは、コードと引数の組み合わせからなるブロックの集合である。
【0003】
コードには、サイクル指令とよばれるものもある。サイクル指令は、予め定められた一連の作業を1つにまとめたものである。サイクル指令を使うと工具の軸移動、座標設定、主軸の回転などの数ブロックの加工プログラムを1ブロックで作成することができる。例えば、特許文献1。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2017-102766号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
サイクル指令のコードと、サイクルの種類とは必ずしも1対1に対応しているわけではない。サイクル指令のコードと引数の組み合わせによって、1つのサイクル指令に複数種類のサイクルが対応付けられる場合がある。その場合、サイクルの種類を正確に判定する装置はない。
【0006】
従って、1つのサイクル指令に複数種類のサイクルが対応づけられていても、サイクルの種類を正確に判定することが望まれている。
【課題を解決するための手段】
【0007】
本開示の一態様であるサイクル種類判定装置は、加工プログラムに含まれるサイクル指令を検索する指令判定部と、サイクル指令の引数の規定値、引数の組み合わせ、引数の順序の少なくともいずれかをサイクルの種類ごとに定義する指令フォーマットを記憶する指令フォーマット記憶部と、前記加工プログラムに含まれるサイクル指令の引数と、前記サイクル指令の指令フォーマットとを比較することにより、サイクルの種類を判定する種類判定部と、判定したサイクルの種類と、サイクル指令の引数とを表示させる情報表示部と、を備える。
【図面の簡単な説明】
【0008】
図1】サイクル種類判定装置のブロック図である。
図2】加工プログラムの構成を説明する図である。
図3】1つの指令値からサイクルの種類を判定する処理を説明する模式図である。
図4】サイクルの種類「円柱の計測」を説明する表示画面の一例である。
図5】複数の指令値からサイクルの種類を判定する処理を説明する模式図である。
図6】サイクルの種類「内径荒削りサイクル」を説明する表示画面の一例である。
図7】指令値の範囲でサイクルの種類を判定する処理を説明する模式図である。
図8】サイクルの種類「ドリルサイクル」を説明する表示画面の一例である。
図9】引数の指令の有無でサイクルの種類を判定する処理を説明する模式図である。
図10】サイクルの種類「内幅の計測」を説明する表示画面の一例である。
図11】引数の指令値と、引数の指令の有無との組み合わせからサイクルの種類を判定する処理を説明する模式図である。
図12】サイクルの種類「キャリブレーション」を説明する表示画面の一例である。
図13】引数の順序からサイクルの種類を判定する処理を説明する模式図である。
図14】サイクルの種類「切削サイクル」を説明する表示画面の一例である。
図15】種類判定部の動作を説明するフローチャートである。
図16】第2の実施形態のサイクル種類判定装置のブロック図である。
図17】引数の変更を受け付ける表示画面の一例である。
図18】引数の追加を受け付ける表示画面の一例である。
図19】引数の順序の入れ替えを受け付ける表示画面の一例である。
図20】サイクル種類判定装置のハードウェア構成図である。
【発明を実施するための形態】
【0009】
(第1の実施形態)
以下、第1の実施形態のサイクル種類判定装置100について説明する。サイクル種類判定装置100は、加工プログラムのサイクル指令からサイクルの種類を判定する。
【0010】
図1は、サイクル種類判定装置100のブロック図である。サイクル種類判定装置100は、加工プログラム記憶部1、指令フォーマット記憶部2、指令判定部3、種類判定部4、情報表示部5を備える。
【0011】
加工プログラム記憶部1は、加工プログラムを記憶する。加工プログラムには固有の文法がある。図2を参照して加工プログラムの構成を説明する。加工プログラムは、ワードから構成される。ワードは、アドレスとよばれるアルファベットと、数字の組み合わせである。セミコロンなどで区切ったワードの集合をブロックとよぶ。ブロックは、加工プログラムの行に相当する。
ワードには、コードと引数がある。コードの1つであるGコードは、工具の軸移動、座標設定、回転、加工方法などを指令する。Gコードには、サイクル指令(マクロ指令も含む)がある。サイクル指令は、複数の指令を1つにまとめたものであり、予め定められた一連の作業を1ブロックで指令する。
【0012】
指令フォーマット記憶部2は、サイクル指令のフォーマットを記憶する。サイクル指令のフォーマットは、サイクル指令(Gコード)と、引数とから構成される。指令フォーマットは、サイクル指令と、サイクルの種類と、引数と、引数の規定と、引数の順序とを定義する。
【0013】
図3図5図7図9図11図13は、指令判定部3と種類判定部4の処理を説明する模式図である。
図3は、(1‐1)サイクル指令の引数の指令値からサイクルの種類を判定する例である。この例では1つの引数「A」からサイクルの種類を判定する。
サイクル指令「G300」は、2種類のサイクルを指令することができる。指令の種類は、フォーマットで決まる。指令フォーマット記憶部2は、サイクルの種類と、指令フォーマットとを対応づけて記憶する。
【0014】
判定する加工プログラムを「G300 A1.B20.C10.D10.L-5.R15.F20.U1.」とする。
指令判定部3は、加工プログラムのコード「G300」をサイクル指令と判定する。
以下にサイクル指令「G300」の指令フォーマットを示す。
円柱の計測 :G300 A1.B_C_D_L_R_F_U_
四角柱の計測:G300 A2.B_C_D_L_R_F_U_
なお、指令フォーマットの形式は限定しない。テーブル形式で記憶してもよい(図3図5図7図9図11図13参照)。
【0015】
種類判定部4は、サイクル指令「G300」の引数からサイクルの種類を判定する。判定基準には、(1)引数の指令値、(2)引数の指令の有無、(3)引数の順序がある。種類判定部4は、サイクルの種類の判定に、(1)乃至(3)の少なくとも1つを用いる。
【0016】
種類判定部4は、サイクルの種類と、サイクル指令と、引数と、規定値との組み合わせを記憶する。図3の例では、引数「A」の指令値が規定値「1.」のとき、サイクルの種類は「円柱の計測」であり、引数「A」の指令値が規定値「2.」のとき「四角柱の計測」であると判定できる。
【0017】
情報表示部5は、判定したサイクルの種類と、サイクル指令の引数とを一覧表示させる。図4は、表示の一例である。
表示画面には、サイクルの種類「円柱の計測」と、引数のアドレスと、引数の意味とが表示されている。引数のアドレス「A」の意味は「計測の種類」、「B」の意味は「X軸中心位置」、「C」の意味は「Y軸中心位置」、「D」の意味は「外径」、「L」の意味は「計測位置高さ」、「R」の意味は「アプローチ距離」、「F」の意味は「計測速度」、「U」の意味は「計測点数」である。
【0018】
図5は、(1‐2)複数の引数の指令値からサイクルの種類を判定する例である。判定する加工プログラムを「G800 A2.B1.R1.P10Q20F20.S800」とする。
指令判定部3は、加工プログラムのコード「G800」をサイクル指令と判定する。
以下にサイクル指令「G800」の指令フォーマットを示す。
外径荒削りサイクル :G800 A1.B1.R_P_Q_F_S_
外径中仕上げサイクル:G800 A1.B2.R_P_Q_F_S_
内径荒削りサイクル :G800 A2.B1.R_P_Q_F_S_
内径中仕上げサイクル:G800 A2.B2.R_P_Q_F_S_
【0019】
種類判定部4は、指令フォーマットを基にサイクルの種類を判定する。図5の例では、2つの引数「A」「B」の組み合わせでサイクルの種類が決まる。
具体的には、引数「A」「B」の指令値が「1」「1」のとき、サイクルの種類は「外径荒削りサイクル」であり、指令値が「1」「2」のとき、サイクルの種類は「外径中仕上げサイクル」であり、指令値が「2」「1」のとき、サイクルの種類は「内径荒削りサイクル」であり、指令値が「2」「2」のとき、サイクルの種類は「内径中仕上げサイクル」である。
【0020】
種類判定部4は、加工プログラム「G800 A2.B1.R1.P10Q20F20.S800」のサイクルの種類は「内径荒削りサイクル」と判定する。
情報表示部5は、判定したサイクルの種類と、サイクル指令の引数とを一覧表示する。図6は、表示画面の一例である。表示画面には、サイクルの種類「内径荒削りサイクル」と、引数のアドレスと、引数の意味とが表示されている。引数のアドレス「A」の意味は「内径/外径」、「B」の意味は「荒/中仕上げ」、「R」の意味は「逃げ量」、「P」の意味は「仕上げ形状開始N番号」、「Q」の意味は「仕上げ形状終了N番号」、「F」の意味は「送り速度指令」、「S」の意味は「主軸速度指令」である。
【0021】
図7は、(1-3)指令値の範囲でサイクルの種類を判定する例である。
指令判定部3は、加工プログラムのコード「G65 P1000」をサイクル指令と判定する。
サイクル指令「G65 P1000」の指令フォーマットは以下のようになる。
ドリルサイクル :G65P1000 X_Y_Z_R_F_
(-10.<Z<10.)
深穴あけサイクル:G65P1000 X_Y_Z_R_F_
(-10.≧Z又はZ≦10.)
【0022】
種類判定部4は、指令フォーマットを基にサイクル指令(実際にはマクロ指令)「G65 P1000」の種類を判定する。図7の例では、引数「Z」の指令値が規定範囲「-10.<Z<10.」のとき、サイクルの種類は「ドリルサイクル」であり、指令値が規定範囲「-10.≧Z,Z≦10.」のとき、サイクルの種類は「深穴あけサイクル」である。
【0023】
種類判定部4は、引数「Z」の指令値が「-5.」なので、加工プログラム「G65 P1000 X50.Y50.Z-5.R2.F20.」のサイクルの種類は「ドリルサイクル」と判定する。
情報表示部5は、判定したサイクルの種類と、サイクル指令の引数とを一覧表示する。図8は、表示画面の一例である。表示画面には、サイクルの種類「ドリルサイクル」と、引数のアドレスと、引数の意味とが表示されている。引数のアドレス「X」の意味は「穴位置データ」であり、「Y」の意味は「穴位置データ」であり、「Z」の意味は「R点から穴底までの距離」であり、「R」の意味は「イニシャルレベルからR点までの距離」であり、「F」の意味は「切削送り速度」である。
【0024】
図9は、(2)引数の指令の有無でサイクルの種類を判定する例である。
指令判定部3は、加工プログラムのコード「G400」をサイクル指令と判定する。判定する加工プログラムを「G400 B20.C10.D10.L-5.R15.F20.U1.」とする。
サイクル指令「G400」の指令フォーマットは以下のようになる。
内幅の計測:G400 B_C_D_L_R_F_U_
外幅の計測:G400 B_C_D_E_L_R_F_U_
【0025】
種類判定部4は、指令フォーマットを基にサイクル指令「G400」の種類を判定する。図9の例では、サイクル指令「G400」の引数が「B_C_D_L_R_F_U_」であればサイクルの種類は「内幅の計測」であり、引数が「B_C_D_E_L_R_F_U」であれば「外幅の計測」であると判定する。すなわち引数「E」の有無でサイクルの種類を判定する。
【0026】
種類判定部4は、加工プログラム「G400 B20.C10.D10.L-5.R15.F20.U1.」のサイクルの種類は「内幅の計測」であると判定する。
情報表示部5は、判定したサイクルの種類と、サイクル指令の引数とを一覧表示する。図10は、表示画面の一例である。表示画面には、サイクルの種類「内幅の計測」と、引数のアドレス、引数の意味と、指令値とが表示されている。引数のアドレス「B」の意味は「X軸中心位置」であり、「C」の意味は「Y軸中心位置」であり、「D」の意味は「溝幅」であり、「L」の意味は「計測位置高さ」であり、「R」の意味は「アプローチ距離」であり、「F」の意味は「計測速度」であり、「U」の意味は「計測点数」である。
【0027】
図11は、(1)サイクル指令の引数の指令値と、(2)引数の指令の有無との組み合わせからサイクルの種類を判定する例である。判定する加工プログラムを「G500 C1.S20.Z10.」とする。
指令判定部3は、加工プログラムのコード「G500」をサイクル指令と判定する。
サイクル指令「G500」の指令フォーマットは以下のようになる。
キャリブレーション(プローブの長さ) :G500 C1.Z_
キャリブレーション(プローブの中心ずれ):G500 C1.S_Z_
キャリブレーション(基準球) :G500 C2.S_Z_
【0028】
種類判定部4は、指令フォーマットを基にサイクル指令「G500」の種類を判定する。図11の例では、サイクル指令「G500」の引数「C」「Z」が存在し、引数「C」の指令値が規定値「1.」であれば、サイクルの種類は「キャリブレーション(プローブの長さ)」である。引数「C」「S」「Z」が存在し、引数「C」の指令値が規定値「2.」であれば、サイクルの種類は「キャリブレーション(基準球)」である。引数「C」「S」「Z」が存在し、引数「C」の指令値が規定値「1.」であれば、サイクルの種類は「キャリブレーション(プローブの中心ずれ)」である。
【0029】
種類判定部4は、加工プログラム「G500 C1.S20.Z10.」のサイクルの種類は「キャリブレーション(プローブの中心ずれ)」と判定する。
【0030】
情報表示部5は、判定したサイクルの種類と、サイクル指令の引数とを一覧表示する。図12は、表示画面の一例である。表示画面には、サイクルの種類「キャリブレーション(プローブの中心ずれ)」と、引数のアドレスと、引数の意味とが表示されている。引数のアドレス「C」の意味は「キャリブレーション対象」、「S」の意味は「基準ワーク径」、「Z」の意味は「計測位置高さ」である。判定する加工プログラムを「G700 A80.B-20.X60.Z-40.F20.」とする。
【0031】
図13は、(3)引数の順序からサイクルの種類を判定する例である。
指令判定部3は、加工プログラムのコード「G700」をサイクル指令と判定する。
サイクル指令「G700」の指令フォーマットは以下のようになる。
切削サイクル(X方向アプローチ後にZ方向アプローチ)
:G700 A_B_X_Z_F_ A:X方向アプローチ点
切削サイクル(Z方向アプローチ後にX方向アプローチ)
:G700 B_A_X_Z_F_ B:Z方向アプローチ点
【0032】
種類判定部4は、指令フォーマットを基にサイクル指令「G700」の種類を判定する。図13の例では、2つの引数「A」「B」の順序でサイクルの種類が決まる。
具体的には、引数の順序が「A」「B」「X」「Z」「F」であれば、サイクルの種類は「切削サイクル(X方向アプローチ後にZ方向アプローチ)」である。引数の順序が「B」「A」「X」「Z」「F」であれば、サイクルの種類は「切削サイクル(Z方向アプローチ後にX方向アプローチ)」である。
【0033】
種類判定部4は、加工プログラム「G700 A80.B-20.X60.Z-40.F20.」のサイクルの種類は「切削サイクル(X方向アプローチ後にZ方向アプローチ)」と判定する。
【0034】
情報表示部5は、判定したサイクルの種類と、サイクル指令の引数とを一覧表示する。図14は、表示画面の一例である。表示画面には、サイクルの種類「切削サイクル(X方向アプローチ後にZ方向アプローチ)」と、引数のアドレスと、引数の意味とが表示されている。なお、後述する第2の実施形態のように、サイクルの種類を「切削サイクル」と表示し、アプローチの方向を画像で表示してもよい。
【0035】
図15のフローチャートを参照して、種類判定部4の動作を説明する。
種類判定部4は、サイクル指令を含む加工プログラムのブロックと、指令フォーマットとを比較する。サイクル指令に対し指令フォーマットは複数存在する。種類判定部4は、複数の指令フォーマットを1つずつ比較する。
【0036】
種類判定部4は、指令フォーマットの引数の組み合わせと、加工プログラムの引数の組み合わせが等しいか否かを判定する。指令フォーマットの引数の組み合わせと加工プログラムの引数の組み合わせが異なる場合(ステップS1;Yes)、次の指令フォーマットを読み出す。
なお、ステップS1の組み合わせとは、数学的な組み合わせを意味する。数学的な組み合わせとは、どの要素が含まれているかを意味し、要素の順序を問わない。すなわち、引数の組み合わせが異なるとは、引数の個数又は引数の種類(アルファベット)が異なることを意味する。
指令フォーマットの引数と加工プログラムの引数が一致する場合(ステップS1;No)、種類判定部4は、指令フォーマットの引数の順序と、加工プログラムの引数の順序を比較する。引数の順序が異なる場合(ステップS2;Yes)、次の指令フォーマットを読み出す。
【0037】
指令フォーマットの引数の順序と、加工プログラムの引数の順序が一致する場合(ステップS2;No)、種類判定部4は、指令フォーマットの引数に規定値が設定されているか否かを判定する。
引数に規定値が設定されていない場合(ステップS3;No)、種類判定部4は、指令フォーマットで設定されたサイクルの種類を判定する(ステップS4)。
【0038】
引数に規定値が設定されている場合(ステップS3;Yes)、種類判定部4は、加工プログラムの引数の指令値と、指令フォーマットの引数の規定値とを比較する。なお、規定値とは、指令フォーマットで設定された値又は値の範囲である。規定値は、サイクルの種類と対応づけられている。規定値によってサイクルの種類が決まる。
【0039】
加工プログラムの引数の指令値が、指令フォーマットの引数の規定値と異なる場合(ステップS5;Yes)、種類判定部4は、次の指令フォーマットを読み出す。
加工プログラムの引数の指令値が、指令フォーマットの引数の規定値に適合する場合(ステップS5;No)、指令フォーマットで設定されたサイクルの種類を判定する(ステップS4)。
【0040】
種類判定部4は、加工プログラムに適合する指令フォーマットが検出されるまで、指令フォーマットを変えて、ステップS1からステップS5の処理を繰り返す。
【0041】
以上説明したように、第1の実施形態のサイクル種類判定装置100は、サイクル指令の指令フォーマットを記憶する。サイクル種類判定装置100は、サイクル指令とサイクルの種類が1対1に対応していない場合、サイクル指令の引数と、引数の指令値とを基に、サイクルの種類を判定する。
サイクル種類判定装置100は、引数の指令値、引数の有無、指令順によってサイクルの種類が切り替わるような複雑なサイクル指令であっても、自動でサイクルの種類を判定し、加工プログラムの内容の把握を支援する。
【0042】
(第2の実施形態)
図16は、第2の実施形態のサイクル種類判定装置100のブロック図である。第2の実施形態のサイクル種類判定装置100は、加工プログラム記憶部1、指令フォーマット記憶部2、指令判定部3、種類判定部4、情報表示部5、変更受付部6を備える。なお、第1の実施形態のサイクル種類判定装置100と同じ構成は省略して説明する。
【0043】
情報表示部5は、サイクルの種類を画像で表示する。図17は、表示画面の一例である。
【0044】
変更受付部6は、引数の指令値の変更を受け付ける。変更受付部6は、指令値の変更に合わせて、加工プログラムを変更する。図17の例では、引数「B」の指令値が「20.」から「50.」に変更されている。変更受付部6は、引数の変更を加工プログラムに反映させる。加工プログラムは「G300 A1.B20.C10.D10.L-5.R15.F20.U1.」から「G300 A1.B50.C10.D10.L-5.R15.F20.U1.」に変更される。
【0045】
引数の変更により画像が変わることもある。サイクル指令「G300」において、引数「A」の指令値が「1.」から「2.」に変わると、サイクルの種類が「円柱の計測」から「四角柱の計測」に変化する。情報表示部5は、サイクルの種類の変化に応じてサイクルの画像を変更する。また、必要に応じて、引数の意味の表示を変更する。
【0046】
変更受付部6は、引数の追加を受け付ける。図18は、引数の追加を受け付ける画面の例である。
サイクル指令「G400」では、引数「E」を含まないとサイクルの種類が「内幅の計測」になり、引数「E」を含むとサイクルの種類が「外幅の計測」になる。
図18の例では、サイクルの種類が「内幅の計測」のときには、「+」アイコンと引数「E」の文字を表示する。「+」アイコンを選択すると、引数「E」が追加される。なお、「-」アイコンを表示し、引数が削除できるようにしてもよい。
引数「E」を追加すると、情報表示部5は、サイクルの種類を「内幅の計測」から「外幅の計測」に変化させる。それに応じて、サイクルの画像を「内幅の計測」から「外幅の計測」に変化させる。変更受付部6は、引数の変化を加工プログラムに反映させる。
【0047】
変更受付部6は、引数の順番の変更を受け付ける。図19は、引数の順番の変更を受け付ける画面の例である。
サイクル指令「G700」では、引数「A」と「B」の順番が入れ替わると、サイクルの種類が変化する。
図19の例では、引数「A」と「B」の近傍に「上下矢印」アイコンを表示する。「上下矢印」アイコンを選択すると、引数「A」と「B」の順序が入れ替わる。
引数「A」と「B」の順序が入れ替わると、サイクルの種類が変わる。情報表示部5は、引数の順序に応じて、サイクルの画像を変化させる。変更受付部6は、順序の変化を加工プログラムに反映させる。
【0048】
以上説明したように、第2の実施形態のサイクル種類判定装置100は、1つのサイクル指令に対して複数種類のサイクルが対応づけられている場合、引数の構造からサイクルの種類を判定し、サイクルの種類を画像で表示する。
さらに、引数の変更を受け付け、引数の変更を加工プログラムに反映させる。変更には、引数の指令値の変更、引数の追加、引数の削除、引数の順序の入れ替えがある。
情報表示部5は、引数の変更を画像に反映させる。これにより、1つのサイクル指令の複数種類のサイクルが対応づけられていても、サイクルの種類、指令可能な引数、各引数の意味を視覚的に確認することができる。
【0049】
以下、本開示を適用しサイクル種類判定装置100のハードウェア構成について説明する。図20は、サイクル種類判定装置100のハードウェア構成図である。サイクル種類判定装置100は、図20に示すように、サイクル種類判定装置100を全体的に制御するCPU111、プログラムやデータを記録するROM112、一時的にデータを展開するためのRAM113を備え、CPU111はバスを介してROM112に記録されたシステムプログラムを読み出し、システムプログラムに従ってしきい値を算出する。
【0050】
不揮発性メモリ114は、例えば、図示しないバッテリでバックアップされるなどして、サイクル種類判定装置100の電源がオフされても記憶状態が保持される。不揮発性メモリ114には、インタフェース115、118、119を介して外部装置120から読み込まれたプログラムや入力装置20を介して入力された操作入力などの各種データが記憶される。不揮発性メモリ114に、本実施形態のサイクル種類判定装置100を実行するためのプログラムおよびデータを記憶してもよい。
【0051】
インタフェース115は、サイクル種類判定装置100とアダプタ等の外部装置120と接続するためのインタフェースである。外部装置120側からはプログラムや各種パラメータ等が読み込まれる。
インタフェース118は、サイクル種類判定装置100と液晶ディスプレイ等の表示装置30とを接続するためのインタフェースである。表示装置30には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ等が表示される。
インタフェース119は、サイクル種類判定装置100とキーボード、ポインティングデバイス等の入力装置20とを接続するためのインタフェースである。入力装置20は、オペレータによる操作に基づく指令、データ等を、インタフェース119を介してCPU111に渡す。
【0052】
本開示について詳述したが、本開示は上述した個々の実施形態に限定されるものではない。これらの実施形態は、本開示の要旨を逸脱しない範囲で、又は、請求の範囲に記載された内容とその均等物から導き出される本開示の主旨を逸脱しない範囲で種々の追加、置き換え、変更、部分的削除等が可能である。また、これらの実施形態は、組合せて実施することもできる。例えば、上述した実施形態において、各動作の順序や各処理の順序は、一例として示したものであり、これらに限定されるものではない。
【0053】
上記実施形態及び変形例に関し、更に以下の付記を開示する。
(付記1)
サイクル種類判定装置(100)は、加工プログラムに含まれるサイクル指令を検索する指令判定部(1)と、サイクル指令の指令フォーマットを記憶する指令フォーマット記憶部(2)と、前記加工プログラムに含まれるサイクル指令の引数と、前記サイクル指令の指令フォーマットで定義された、引数の規定値、引数の有無、引数の順序の少なくともいずれかからサイクルの種類を判定する種類判定部(4)と、判定したサイクルの種類と、サイクル指令の引数とを表示させる情報表示部(5)と、を備える。
(付記2)
前記指令フォーマット記憶部(2)は、1つのサイクル指令に対応付けられた複数の指令フォーマットを記憶する。
(付記3)
前記指令フォーマットは、サイクル指令と、サイクルの種類と、引数と、引数の規定値と、引数の順序とを定義する。
(付記4)
前記情報表示部(5)は、サイクルの種類を示す画像を表示する。
(付記5)
前記情報表示部(5)は、サイクル指令の引数の意味を表示させる。
(付記6)
サイクル種類判定装置(100)は、前記情報表示部(5)により表示された引数の変更を受け付け、前記変更を加工プログラムに反映させる変更受付部を備える。
(付記7)
サイクル種類判定装置(100)は、前記情報表示部(5)により表示された引数の変更を受け付ける変更受付部(6)を備え、前記情報表示部(5)は、引数に対応したサイクルの種類の画像を表示する。
(付記8)
変更受付部(6)は、引数の指令値の変更、引数の追加、引数の削除、引数の順序の入れ替えの少なくともいずれかを受け付ける。
(付記9)
コンピュータが読み取り可能な記憶媒体(112、113、114)は、1つ又は複数のプロセッサ(111)に、加工プログラムに含まれるサイクル指令を検索し、加工プログラムに含まれるサイクル指令の引数と、サイクル指令の指令フォーマットで定義された、引数の規定値、引数の有無、引数の順序の少なくともいずれかからサイクルの種類を判定し、判定したサイクルの種類と、サイクル指令の引数とを表示させる、処理を実行させる命令を記憶する。
【符号の説明】
【0054】
100 サイクル種類判定装置
1 加工プログラム記憶部
2 指令フォーマット記憶部
3 指令判定部
4 種類判定部
5 情報表示部
6 変更受付部
111 CPU
112 ROM
113 RAM
114 不揮発性メモリ
【要約】
サイクル種類判定装置は、加工プログラムに含まれるサイクル指令を検索し、加工プログラムに含まれるサイクル指令の引数と、サイクル指令の指令フォーマットで定義された、引数の規定値、引数の有無、引数の順序の少なくともいずれかからサイクルの種類を判定し、判定したサイクルの種類と、サイクル指令の引数とを表示させる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20