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

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

▶ 富士機械製造株式会社の特許一覧

<>
  • 特開-工作機械 図1
  • 特開-工作機械 図2
  • 特開-工作機械 図3
  • 特開-工作機械 図4
  • 特開-工作機械 図5
  • 特開-工作機械 図6
  • 特開-工作機械 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134563
(43)【公開日】2024-10-04
(54)【発明の名称】工作機械
(51)【国際特許分類】
   G05B 19/4155 20060101AFI20240927BHJP
   B23Q 15/00 20060101ALI20240927BHJP
【FI】
G05B19/4155 Z
B23Q15/00 B
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023044814
(22)【出願日】2023-03-21
(71)【出願人】
【識別番号】000237271
【氏名又は名称】株式会社FUJI
(74)【代理人】
【識別番号】110000992
【氏名又は名称】弁理士法人ネクスト
(74)【代理人】
【識別番号】100162237
【弁理士】
【氏名又は名称】深津 泰隆
(74)【代理人】
【識別番号】100191433
【弁理士】
【氏名又は名称】片岡 友希
(72)【発明者】
【氏名】野口 修平
(72)【発明者】
【氏名】伊藤 雄基
(72)【発明者】
【氏名】松村 淳平
(72)【発明者】
【氏名】森田 諒
【テーマコード(参考)】
3C269
【Fターム(参考)】
3C269AB02
3C269AB03
3C269AB05
3C269AB24
3C269AB31
3C269AB33
3C269BB07
3C269EF39
3C269QC01
3C269QC10
3C269QD02
3C269QE17
3C269QE18
3C269QE22
3C269QE26
3C269QE28
(57)【要約】
【課題】Mコードの実行が完了できない場合に、完了できない原因を特定する作業の負担を軽減できる工作機械を提供すること。
【解決手段】工作機械は、表示装置と、ワークに対する作業を実行するワーク作業装置と、動作プログラムを実行し動作プログラムに基づいてワーク作業装置を制御しワークに対する作業を実行させることが可能であり、且つ、表示装置の表示内容を変更可能な制御装置と、を備える。制御装置は、動作プログラムから実行中のMコードを検出し、検出した実行中のMコードに基づいて、実行中のMコードの機能名と、実行中のMコードの実行を完了するための完了条件を検出する検出処理と、動作プログラムに係る情報を表示するプログラム情報表示画面を表示装置に表示し、検出処理で検出した機能名及び完了条件をプログラム情報表示画面に表示する表示処理と、を実行する。
【選択図】図4
【特許請求の範囲】
【請求項1】
表示装置と、
ワークに対する作業を実行するワーク作業装置と、
動作プログラムを実行し前記動作プログラムに基づいて前記ワーク作業装置を制御し前記ワークに対する作業を実行させることが可能であり、且つ、前記表示装置の表示内容を変更可能な制御装置と、
を備え、
前記制御装置は、
前記動作プログラムから実行中のMコードを検出し、検出した実行中の前記Mコードに基づいて、実行中の前記Mコードの機能名と、実行中の前記Mコードの実行を完了するための完了条件を検出する検出処理と、
前記動作プログラムに係る情報を表示するプログラム情報表示画面を前記表示装置に表示し、前記検出処理で検出した前記機能名及び前記完了条件を前記プログラム情報表示画面に表示する表示処理と、
を実行する、工作機械。
【請求項2】
機能名データが記憶された記憶装置を、さらに備え、
前記機能名データは、
前記動作プログラムにおいて前記Mコードに使用されるMコード名と、前記機能名とが互いに関連付けられたデータであり、
前記制御装置は、
前記検出処理において、前記動作プログラムから前記Mコード名を検出することで実行中の前記Mコードを検出し、検出した前記Mコード名に基づいて、前記機能名データから前記機能名を検出する、請求項1に記載の工作機械。
【請求項3】
前記制御装置は、
前記表示処理において、前記検出処理で検出した前記完了条件のうち、完了する条件が成立していない未完了の前記完了条件のみを前記プログラム情報表示画面に表示する、請求項1又は請求項2に記載の工作機械。
【請求項4】
PLCと、
完了条件データが記憶された記憶装置と、
をさらに備え、
前記完了条件データは、
前記動作プログラムにおいて前記Mコードに使用されるMコード名と、前記PLCが有するデバイスのうち前記完了条件が成立したか否かを判断可能な前記デバイスを示すデバイス情報と、前記完了条件を示す完了条件コメントが互いに関連付けられており、
前記制御装置は、
前記検出処理において、前記動作プログラムから前記Mコード名を検出することで実行中の前記Mコードを検出し、検出した前記Mコード名に基づいて、前記完了条件データから前記デバイス情報を検出し、
前記表示処理において、前記検出処理で検出した前記デバイス情報が示す前記デバイスの信号に基づいて未完了の前記完了条件を判断し、未完了の前記完了条件を示す前記完了条件コメントを前記プログラム情報表示画面に表示する、請求項3に記載の工作機械。
【請求項5】
前記制御装置は、
前記検出処理において、前記動作プログラムから実行中の前記Mコードを複数検出した場合、前記表示処理において、検出した複数の前記Mコードの各々の前記機能名を前記プログラム情報表示画面に表示し、且つ、表示する複数の前記Mコードのうち、前記検出処理で検出した後に前記完了条件が成立した前記Mコードの前記機能名と、前記完了条件が成立していない未完了の前記Mコードの前記機能名とを識別可能に表示する、請求項1又は請求項2に記載の工作機械。
【請求項6】
前記制御装置は、
前記動作プログラムにおける実行中の行を前記プログラム情報表示画面に表示し、前記完了条件が成立したことに基づいて、実行中の行、前記機能名、前記完了条件の情報を更新する、請求項1又は請求項2に記載の工作機械。
【請求項7】
前記制御装置は、
前記動作プログラムにおける実行中の行を表示するプログラム表示部を、前記プログラム情報表示画面に表示し、前記プログラム表示部に対する操作に基づいて、前記動作プログラムの編集を受け付ける、請求項6に記載の工作機械。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、工作機械における動作プログラムの表示処理に関するものである。
【背景技術】
【0002】
下記特許文献1には、モーションコントローラの制御プログラムを編集するプログラミング装置について記載されている。特許文献1のプログラミング装置は、ブロック毎に編集する項目を表示し、カーソルで選択したブロックについて、GコードやMコードの選択を受け付ける。プログラミング装置は、選択されたGコードに従って指令可能なアドレスコード(X、Y、Z等)の編集を受け付ける。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5-100730号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、工作機械でMコードを実行中に意図せず実行が完了しない場合、作業者は、動作プログラム(NCプログラムなど)の内容を見て実行中のMコードを確認する必要が生じる。しかしながら、作業者は、実行中のMコードの識別番号等を確認しても、そのMコードがどのような制御を実行するものであるのか直ぐにわからない虞がある。このため、Mコードの実行を完了できなかった原因を特定することが困難となる。
【0005】
本開示は、上記の課題に鑑みてなされたものであり、Mコードの実行が完了できない場合に、完了できない原因を特定する作業の負担を軽減できる工作機械を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本明細書は、表示装置と、ワークに対する作業を実行するワーク作業装置と、動作プログラムを実行し前記動作プログラムに基づいて前記ワーク作業装置を制御し前記ワークに対する作業を実行させることが可能であり、且つ、前記表示装置の表示内容を変更可能な制御装置と、を備え、前記制御装置は、前記動作プログラムから実行中のMコードを検出し、検出した実行中の前記Mコードに基づいて、実行中の前記Mコードの機能名と、実行中の前記Mコードの実行を完了するための完了条件を検出する検出処理と、前記動作プログラムに係る情報を表示するプログラム情報表示画面を前記表示装置に表示し、前記検出処理で検出した前記機能名及び前記完了条件を前記プログラム情報表示画面に表示する表示処理と、を実行する、工作機械を開示する。
【発明の効果】
【0007】
本開示の工作機械によれば、制御装置は、検出処理において、実行中のMコードの機能名及びその完了条件を検出する。制御装置は、表示処理において、検出処理で検出した機能名及び完了条件をプログラム情報表示画面に表示する。これにより、実行中のMコードの機能名及び完了条件の情報を、作業者に提供できる。作業者は、例えば、Mコードを実行中に意図せず実行が完了しない場合、表示された機能名からどのような制御を実行するMコードの実行中に停止等したのかを確認できる。また、作業者は、表示された完了条件から、完了できなかったMコードを完了させるための条件を確認できる。このため、動作プログラムについての高い知識を持っていない作業者であっても、完了できなかった原因を特定する作業を効率的に実行できる。
【図面の簡単な説明】
【0008】
図1】本実施例に係わる工作機械のブロック図。
図2】機能名データに記憶されるデータを示す図。
図3】完了条件データに記憶されるデータを示す図。
図4】プログラム情報表示画面を示す図。
図5】別実施例のプログラム情報表示画面を示す図。
図6】複数のMコードのうち、完了条件が成立したMコードが発生した状態におけるプログラム情報表示画面を示す図。
図7図4の表示状態からNCプログラムの実行する行が1行だけ進んだ状態のプログラム情報表示画面を示す図。
【発明を実施するための形態】
【0009】
以下、本開示の工作機械を具体化した一実施例について、図面を参照しつつ詳しく説明する。図1は、本実施例に係る工作機械10のブロック図を示している。図1に示すように、工作機械10は、例えば、旋盤であり、ワーク主軸装置11、タレット装置12、スライド装置13、ロボット14、操作盤20、ティーチングペンダント21、制御装置22を備えている。尚、図1に示す工作機械10の構成は、一例である。例えば、工作機械10は、ワーク主軸装置11及びタレット装置12を複数組備える旋盤でも良く、旋盤に加えて工具主軸装置を備える、所謂複合加工機でも良い。従って、本開示の工作機械としては、旋盤に限らず、例えば、マシニングセンタ、フライス盤、ボール盤など、様々な構成の工作機械を採用できる。
【0010】
ワーク主軸装置11は、ワークを把持するチャック機構(チャック爪やコレットチャックなど)を備え、把持したワークを、ワーク主軸を中心に回転させる。タレット装置12は、複数の工具(切削工具や回転工具などのタレット工具)を取り付け可能な刃物台と、刃物台を回転させる回転駆動機構を備えている。タレット装置12は、回転駆動機構を駆動して刃物台を回転させ作業位置に割り出す工具を変更し、作業位置に割り出した工具を用いてワーク主軸装置11に把持されたワークに対する加工を実行する。スライド装置13は、タレット装置12を移動させ、刃物台(作業位置の工具)の位置を変更する装置である。スライド装置13は、例えば、ワーク主軸と平行な方向(ワークに接近する方向又はワークから離間する方向)と、ワーク主軸に垂直な方向に沿って、刃物台を移動させることができる。スライド装置13は、例えば、刃物台を各方向に移動させるボールねじ機構、スライダ、駆動源のサーボモータなどを備えている。尚、上記したスライド装置13が刃物台を移動させる方向は一例である。スライド装置13は、刃物台を、互いに垂直な3軸方向へ移動させる装置でも良い。また、方向の定義は、工作機械10の構成に応じて適宜変更される。
【0011】
ロボット14は、例えば、ガントリ式のワーク搬送装置(ローダとも言い得る)である。ロボット14は、例えば、ワークを把持する把持部(チャック爪など)を有するヘッドを備えている。ロボット14は、例えば、工作機械10に設けられたレール台に沿って、工作機械10における左右方向、上下方向、前後方向の各方向と平行な方向に沿ってヘッドを移動させることができる。ロボット14は、ヘッドの把持部によって、例えば、ワークを搬入する入口装置、ワークを搬出する出口装置、ワークの形状を検査する検測装置、ワークを反転させるワーク反転装置等(共に図示略)との間でワークの受け渡しを実行する。
【0012】
操作盤20は、例えば、タッチパネル26や複数の操作スイッチ27を備え、工作機械10に関する情報の表示や動作指示の受け付けなどを実行する。特に、本実施例では、工作機械10は、タッチパネル26によって、後述するプログラム情報表示画面61(図4参照)の表示を実行する。また、ティーチングペンダント21は、ロボット14の動作等を制御可能な携帯型の操作端末であり、例えば、タッチパネルや操作キー等を備えている。作業者は、操作盤20と同様に、ティーチングペンダント21を操作して工作機械10に対する操作を行うことができる。
【0013】
また、制御装置22は、数値制御装置31と、PLC41を備えている。数値制御装置31は、CPU33と、記憶装置34とを備えている。PLC41は、CPU43と、記憶装置44とを備えている。記憶装置34,44は、例えば、RAM、ROM、フラッシュメモリ、HDD等を備えている。尚、記憶装置34,44の構成は、上記した構成に限らず、HDDに替えてSSDを備える構成でも良く、USBメモリなどの外部記憶装置、DVD-RAMなどの記憶メディアを備える構成でも良く、あるいはこれらを組み合わせた構成でも良い。
【0014】
また、工作機械10は、制御装置22と、上記した各装置(ワーク主軸装置11、タレット装置12、スライド装置13、ロボット14、操作盤20、ティーチングペンダント21)の各々を接続する複数の駆動回路28を備えている。制御装置22は、各装置と駆動回路28を介して電気的に接続され、各装置を制御可能となっている。駆動回路28は、例えば、スライド装置13の駆動源のモータやロボット14の駆動源のモータに接続された駆動回路28であれば、各モータ(サーボモータなど)に供給する電力(三相交流の電流など)を、制御装置22の指示信号(移動量、移動先の位置、移動速度、目標トルクなど)に基づいて変更するドライバ回路(サーボアンプ)である。また、駆動回路28は、例えば、操作盤20に接続された駆動回路28であれば、操作盤20から入力した信号の増幅等を実行するアンプ回路である。
【0015】
また、記憶装置34には、ワーク主軸装置11、タレット装置12、ロボット14などの動作を数値制御する複数のNCプログラム35等が記憶されている。数値制御装置31は、NCプログラム35をCPU33で実行し、NCプログラム35に記述された数値指令に従って、駆動回路28(ドライバ回路)に指示信号を出力して制御する。駆動回路28(ドライバ回路)は、例えば、各サーボモータに取り付けられたエンコーダのエンコーダ情報と、制御装置22の指示信号に基づいて三相交流の電流を変更するフィードバック制御を実行し、処理の完了等を数値制御装置31に通知する。これにより、制御装置22は、数値制御装置31による数値制御に基づいて所望の位置へタレット装置12の刃物台やロボット14のヘッド等を各軸方向に沿ってスライド移動させる。尚、各装置をスライド移動させる駆動源としては、サーボモータに限らず、ステッピングモータやリニアモータなどの他の駆動源を採用できる。
【0016】
PLC41は、Programmable Logic Controllerである。記憶装置44には、各種の信号を処理するラダー回路を構築するためのラダープログラム45が記憶されている。PLC41は、CPU43でラダープログラム45を実行し、ラダープログラム45に基づくシーケンス処理によって、例えば、工作機械10が備える各種のランプ、リレー、ソレノイド等の素子へ出力信号を出力して駆動する処理、リミットスイッチ、センサなどの素子から入力信号を入力する処理を実行する。また、PLC41は、例えば、通信バス40を介して数値制御装置31と接続され、数値制御装置31との間で通信可能となっている。PLC41は、ラダープログラム45に基づいて構築したデバイス46を用いて数値制御装置31との間で信号の入出力を実行する。デバイス46は、例えば、CPU43でラダープログラム45を実行することで記憶装置44上に構築される記憶領域であり、工作機械10が備える外部I/O(センサなど)の信号の値を記憶するデバイス、数値制御装置31とやり取りするための信号の値を記憶するためのデバイス、設定値を記憶するキープリレーを実現するデバイスなどである。これにより、PLC41は、工作機械10が備える外部I/Oと、数値制御装置31との間の信号の中継(入出力)を実行する。例えば、ファナック株式会社製のPLC(PMC)であれば、PLC41から数値制御装置31への指示にデバイス記号「G」のデバイス46(Gデバイス)が用いられる。また、逆に、数値制御装置31からPLC41への指示にデバイス記号「F」のデバイス46(Fデバイス)が用いられる。
【0017】
また、記憶装置34には、NCプログラム35の他に、操作盤20の表示内容を変更するための表示制御プログラム36、機能名データ37、完了条件データ38、その他の加工に必要な各種のデータなど(図示略)が記憶されている。表示制御プログラム36は、操作盤20のタッチパネル26の表示内容を変更するプログラムである。また、表示制御プログラム36には、NCプログラム35から実行中のMコードを検出し、検出した実行中のMコードに基づいて、実行中のMコードの機能名及び完了条件を検出する処理(本開示の検出処理の一例)、NCプログラム35に係る情報を表示するプログラム情報表示画面61(図4参照)に機能名及び完了条件を表示する処理(本開示の表示処理の一例)を実行するプログラムが含まれている。
【0018】
以下の説明では、説明が煩雑となるのを避けるため、上記した表示制御プログラム36による処理の対象とするNCプログラム35として、ロボット14を制御するNCプログラム35を対象とした場合について説明する。しかしながら、上記したように、記憶装置34には、工作機械10が備える各装置(ワーク主軸装置11、タレット装置12、ロボット14など)を数値制御する複数のNCプログラム35が記憶されている。このため、以下に説明するロボット14の場合と同様に、他の装置(ワーク主軸装置11やタレット装置12)を数値制御するNCプログラム35についても、Mコード、機能名、完了条件の検出や表示を行うことができる。
【0019】
また、NCプログラム35は、装置ごとに別々のプログラムでなくとも良い。例えば、制御装置22は、ワーク主軸装置11、タレット装置12、ロボット14などの複数の装置をまとめて数値制御するNCプログラム35を用いても良い。この場合、制御装置22は、表示制御プログラム36を実行することで、複数の装置をまとめて制御するNCプログラム35から実行中のMコード、機能名及び完了条件を検出し、表示しても良い。従って、以下に説明する図2の機能名データ37や図3の完了条件データ38は、ロボット14を対象とした場合のデータ構成を示しているが、他の装置を対象とした場合には登録されるデータが適宜変更される。
【0020】
(機能名データ37について)
図2は、機能名データ37に記憶されるデータの一例を示している。図2に示すように、機能名データ37には、Mコード名51と、機能名52が互いに関連付けられたデータ(以下、レコードという場合がある)が複数記憶されている。Mコード名51は、例えば、NCプログラム35においてMコードを識別するための文字列であり、M05などの「M」の文字と「数字」とを組み合わせた文字列である。数値制御装置31は、NCプログラム35を実行する際に、NCプログラム35に記述されたMコードをMコード名51で識別し、Mコード名51に応じた機能(制御)を実行する。Mコードごとの実行すべき機能(制御)の内容は、例えば、NCプログラム35内や別のデータなどで予め定義されている。
【0021】
機能名52は、Mコード名51が示すMコードを実行した際に実行される機能(制御)を示す文字列である。図2に示す例では、例えば、Mコード名51がM05のMコードは、ロボット14を入口装置へ移動させるMコードである。このため、M05のMコードの機能名52として、「入口装置移動」の文字列が記憶されている。また、例えば、Mコード名51がM101のMコードは、ワーク主軸装置11からロボット14にワークを受け取るMコードである。このため、M101のMコードの機能名52として、「ワークを受け取り」の文字列が記憶されている。また、例えば、Mコード名51がM102のMコードは、加工スペースの扉を自動で開くMコードである。このため、M102のMコードの機能名52として、「自動扉を開く」の文字列が記憶されている。また、例えば、Mコード名51がM103のMコードは、ロボット14等の切粉を吹き飛ばすクーラントやエアーの吹き付けを停止させるMコードである。このため、M103のMコードの機能名52として、「ブロー停止」の文字列が記憶されている。制御装置22は、表示制御プログラム36を実行することでNCプログラム35から実行中のMコードのMコード名51を検出し、検出したMコード名51を機能名データ37から検索することで対応する機能名52を検出し、検出した機能名52をプログラム情報表示画面61(図2参照)に表示する。尚、NCプログラム35から実行中のMコードを検出するタイミングは、NCプログラム35の実行中でも良く、NCプログラム35の実行を停止した後でも良い。制御装置22は、NCプログラム35の実行を停止した後に検出する場合、例えば、実行を停止する際に、最後に実行していた行のMコードを、実行中のMコードとして検出しても良い。
【0022】
(完了条件データ38について)
図3は、完了条件データ38に記憶されるデータの一例を示している。図3に示すように、完了条件データ38には、識別番号54、Mコード名51、デバイス情報55、完了条件コメント56が互いに関連付けられたデータ(レコード)が複数記憶されている。識別番号54は、記憶された各レコードを識別するための番号(NO)である。Mコード名51は、機能名データ37と同様に、Mコードを識別する文字列である。
【0023】
デバイス情報55は、PLC41が有するデバイス46のうち、Mコード名51が示すMコードの実行を完了する完了条件が成立したか否かを判断可能なデバイス46を示す情報である。例えば、Mコード名51がM05のMコードは、上記したとおり、入口装置へロボット14を移動させるMコードである。このため、Mコード名51がM05のMコードに関連付けられたデバイス情報55としては、ロボット14が入口装置で停止したか否かを示す信号を記憶するデバイス46の情報と、ロボット14が停止した場合に検出される信号の状態を示す情報を採用できる。ロボット14の停止をセンサで検出する場合、デバイス情報55が示すデバイス46としては、センサの信号の情報を数値制御装置31に伝えるデバイス46を採用できる。図3に示す例では、センサの信号を数値制御装置31に伝えるデバイス46として、G50のGデバイスが用いられている。また、ロボット14が停止した際にセンサの信号がONする(ハイレベルとなる)のであれば、停止した場合に検出される信号の状態を示す情報としては、図3に示すようにON(ハイレベル)を採用できる。
【0024】
また、例えば、Mコード名51がM101のMコードは、上記したとおり、ワーク主軸装置11からロボット14にワークを受け取るMコードである。このため、Mコード名51がM101のMコードに関連付けられたデバイス情報55としては、ロボット14の把持部が正常に閉じたか否かを示す信号を数値制御装置31に伝えるデバイス46を示す情報と、正常に閉じた場合に検出される信号の状態を示す情報を採用できる。例えば、ワークの把持位置を、把持部を駆動するエアシリンダのシリンダの位置で検出する場合、デバイス情報55が示すデバイス46としては、シリンダスイッチの信号を数値制御装置31に伝えるデバイス46を採用できる。図3に示す例では、デバイス46として、G501のGデバイスが用いられている。また、把持部が閉じた際にシリンダスイッチがONするのであれば、閉じた場合に検出される信号の状態を示す情報としては、図3に示すようにONを採用できる。
【0025】
尚、上記したデバイス情報55は、一例である。例えば、把持部が閉じたか否かを把持部に発生するトルク(反力)で検出する場合、数値制御装置31が把持部のトルクを監視し、トルクが正常に閉じたことを示す閾値トルクを越えた場合に所定のデバイス46の信号をONさせても良い。この場合、デバイス情報55としては、この所定のデバイス46のアドレス、ON信号の情報を採用できる。同様に、例えば、Mコード名51がM102のMコードの場合、デバイス情報55として、扉が閉じたことを検出するセンサの信号を数値制御装置31に伝えるデバイス46(図示例ではG502のGデバイス)の情報を採用できる。また、Mコード名51がM103のMコードに示すように、1つのMコードに対応するデバイス情報55は、1つに限らず、複数個でも良い。図3に示すように、ブローの停止を複数の信号(デバイス46)で判断する場合、複数のデバイス情報55を、1つのMコード名51に関連付けても良い。図3に示す例では、Mコード名51がM103のMコードには、デバイス情報55が「G503のOFF」で完了条件コメント56が「ノズルNO.XXが閉じるのを検出」の情報と、「G521のOFF」で完了条件コメント56が「バルブNO.XXの切り替えを検出」の2組の情報が関連付けられている。
【0026】
また、完了条件コメント56は、Mコード名51が示すMコードの実行を完了する完了条件を示す文字列である。例えば、Mコード名51がM05のMコードであれば、ロボット14が入口装置まで移動する完了条件を示す「入口装置移動完了」の文字列が記憶されている。また、例えば、Mコード名51がM101のMコードであれば、ワーク主軸装置11からロボット14にワークを受け取る完了条件を示す「ワーク受け取り検出」の文字列が記憶されている。制御装置22は、表示制御プログラム36を実行し、NCプログラム35から実行中のMコードのMコード名51を検出し、検出したMコード名51を完了条件データ38から検索することで対応する完了条件コメント56を検出し、検出した完了条件コメント56をプログラム情報表示画面61(図4参照)に表示する。また、制御装置22は、検出したMコード名51を完了条件データ38から検索することで対応するデバイス情報55を検出する。制御装置22は、検出したデバイス情報55が示すデバイス46(Gデバイスなど)の信号をPLC41から読み取り、デバイス情報55が示す信号の状態(ONやOFF)となっているか、即ち、完了条件が成立しているか否かを判断する。制御装置22は、PLC41から読み取った信号が、デバイス情報55が示す信号の状態となっている場合、完了条件が成立したと判断する。制御装置22は、後述するように、複数の完了条件のうち、未完了の完了条件のみをプログラム情報表示画面61(図4参照)に表示する。
【0027】
上記した機能名データ37及び完了条件データ38は、例えば、工作機械10の製造メーカによって予め登録される。このため、機能名データ37及び完了条件データ38は、工作機械10を使用するユーザが変更できないデータとなっている。換言すれば、機能名データ37は、機能名52を示すデータとして製造メーカによって正確性を担保されたデータである。また、完了条件データ38は、完了条件を示すデータとして製造メーカによって正確性を担保されたデータである。尚、工作機械10は、ユーザレベルで機能名データ37や完了条件データ38を変更可能な構成でも良い。また、図2及び図3に示すデータの内容は一例である。また、図2及び図3は、機能名データ37や完了条件データ38に登録されたデータの一部を示している。
【0028】
(プログラム情報表示画面61について)
次に、プログラム情報表示画面61について説明する。図4は、プログラム情報表示画面61を示している。制御装置22は、例えば、操作盤20に対する所定の操作入力に基づいて、表示制御プログラム36を実行し、プログラム情報表示画面61をタッチパネル26に表示する。尚、制御装置22は、操作入力以外の条件、例えば、エラー等によりNCプログラム35の実行を停止した条件が成立したことに基づいてプログラム情報表示画面61を表示しても良い。あるいは、制御装置22は、NCプログラム35のMコードを実行中に停止した場合に限り、プログラム情報表示画面61を表示しても良い。また、工作機械10は、工作機械10を操作する手段として、操作盤20以外にティーチングペンダント21を備えている。このため、以下に説明するプログラム情報表示画面61の表示などは、ティーチングペンダント21によっても同様に実施可能である。また、操作盤20とティーチングペンダント21とを組み合わせた表示処理も可能である。
【0029】
図4に示すように、制御装置22は、ブロック表示部63、プログラム表示部64、実行中Mコード表示部65、完了条件表示部66、拡大ボタン67、閉じるボタン68を、プログラム情報表示画面61に表示する。尚、図4に示す画面構成は、一例であり、表示する項目、表示の順番等を、装置の構成に応じて適宜変更しても良い。
【0030】
制御装置22は、ブロック表示部63に、ブロック名を表示する。このブロック名は、例えば、実行する作業内容などをブロックと称して、NCプログラム35を複数のブロックに分割した場合における各ブロックの名称である。図4に示す例では、例えば、「ワーク取り出し」のブロックを実行中であることを示している。制御装置22は、例えば、ワークの加工を開始すると、予め設定された数のワークを製造するごとに、検査のためにワークを作業者に受け渡す動作を実行する。制御装置22は、例えば、加工後のワークをワーク主軸装置11からロボット14に受け取り、ブローを停止し、自動扉を開いてロボットから作業者にワークを受け渡す位置に配置する。「ワーク取り出し」のブロックは、このワークを取り出す一連の動作を実行するブロックである。
【0031】
尚、図4に示すブロックの内容等は一例である。NCプログラム35を分割するブロックとしては、「ワーク取り出し」の他に、「入口装置でのワークの搬入」、「反転装置でのワークの反転」、「ワーク主軸装置11へのワークの受け渡し」、「出口装置でのワークの搬出」などの作業を採用することができる。
【0032】
また、制御装置22は、実行中のNCプログラム35の行をプログラム表示部64に表示する。図4に示す例では、プログラム表示部64の1行目に「(UKEWATASHI)」のコメントが表示されている。また、2行目に「M101 M103 M102」の3つのMコードが表示されている。NCプログラム35は、図4に示すように、1行1行にプログラム(コード)やコメントが記述され、上から順番に実行される。制御装置22は、例えば、NCプログラム35を1行ずつ実行し、任意の行に記述されたコード(MコードやGコード)の実行が全て完了すると、次の行を実行する。尚、1行に記載可能なMコードの数、即ち、並列に実行可能なMコードの数は、1、2、3、あるいは4以上など、特に限定されない。
【0033】
図4に示す例では、1行目は、コメント(コメントアウト)であり、実行対象のコードが記載されていない。このため、2行目の3つのMコードが実行中の行(コード)となる。制御装置22は、このようなNCプログラム35にコメントなどの非実行対象の文字列があった場合、プログラム表示部64の1行目に非実行対象の文字列を残して2行目に実行中の行を表示する。制御装置22は、2行目の「M101 M103 M102」の3つのMコードの実行が全て完了すると、スクロールアップし、3行目の「G0 XXXX」を1行目に表示する。尚、制御装置22は、「M101 M103 M102」の実行を開始した時点で、「M101 M103 M102」をプログラム表示部64の1行目に表示し、その上のコメントを非表示に(フレームアウト)しても良い。
【0034】
また、制御装置22は、実行中のMコードを実行中Mコード表示部65に表示する。制御装置22は、例えば、NCプログラム35を実行してロボット14を制御している最中に、プログラム情報表示画面61を表示する操作をタッチパネル26で受け付けると、表示制御プログラム36を実行し、実行中のNCプログラム35から実行中のMコードを検出する。また、制御装置22は、例えば、NCプログラム35を実行してロボット14を制御している最中にエラー等により実行を停止した後、プログラム情報表示画面61を表示する操作をタッチパネル26で受け付けると、表示制御プログラム36を実行し、停止した(又は一時的に停止し再開可能な)行を実行中の行として、NCプログラム35から実行中のMコードを検出する。また、制御装置22は、エラー等により実行が停止した場合、表示制御プログラム36を自動で実行し、停止した行を実行中の行として、NCプログラム35から実行中のMコードを検出し、プログラム情報表示画面61を表示しても良い。
【0035】
従って、本開示における「実行中のMコード」とは、現に実行して制御中である状態のMコードに限らず、エラー等により停止した場合に停止する際(直前)に実行していた(実行を停止中の)Mコードも実行中のMコードとして含む概念である。即ち、「エラー等が発生した際に実行しており停止したMコード」、「エラー等が発生し実行を一時的に停止し、実行を再開可能なMコード」等も、「実行中のMコード」に含まれる。以下の説明においてこのような実行中又は実行していた行を、「実行中の行」と記載する。
【0036】
制御装置22は、NCプログラム35から検出した実行中のMコードと同一名称のMコード名51を機能名データ37から検出する。制御装置22は、検出したMコード名51と機能名データ37において関連付けられた機能名52を機能名データ37から検出する。制御装置22は、図4に示すように、表示番号69、Mコード名51、及び機能名52の組み合わせを1行ごとに実行中Mコード表示部65に表示する。図4に示す例では、例えば、1行目に「1 M101 ワーク受け取り」の文字が表示される。
【0037】
制御装置22は、例えば、1行に複数のコード(Mコードなど)が記述されていた場合、左から順番に上記した検出処理を実行し、実行中Mコード表示部65において上から検出した順番に、表示番号69の1、2、3の順に表示する。このため、図4に示す例では、上から順番に、「1 M101 ワーク受け取り」、「2 M103 ブロー停止」、「3 M102 自動扉を開く」の順に表示される。
【0038】
また、制御装置22は、NCプログラム35から検出した実行中のMコードと同一名称のMコード名51を完了条件データ38から検出し、検出したMコード名51と完了条件データ38で関連付けられた完了条件コメント56を検出する。制御装置22は、図4に示すように、完了条件コメント56を1行ごとに完了条件表示部66に表示する。制御装置22は、例えば、完了条件データ38の識別番号54(図3参照)の順番に、完了条件表示部66の上から順に表示する。このため、図4に示す例では、上から順番に、「ワーク受け取り検出」、「扉が開位置検出」、「ノズルNO.XXが閉じるのを検出」、「バルブNO.XXの切り替えを検出」の順に表示される。
【0039】
尚、上記した実行中Mコード表示部65及び完了条件表示部66の表示順や表示形式は、一例である。例えば、制御装置22は、実行中Mコード表示部65に機能名52だけを表示しても良い。また、制御装置22は、完了条件表示部66において、識別番号54の順番ではなく、実行中Mコード表示部65と同様に、NCプログラム35に記述されたMコードの順番(左から順番)に完了条件コメント56を表示しても良い。
【0040】
また、制御装置22は、機能名52と完了条件コメント56を同じ表示部に表示しても良い。例えば、図5は、別実施例のプログラム情報表示画面61Aを示している。図5に示すように、制御装置22は、実行中Mコード表示部65に、完了条件コメント56も表示しても良い。また、制御装置22は、図5に示すように、Mコード名51ごとに、機能名52や完了条件コメント56を線で区画して表示しても良い。これにより、Mコードと完了条件コメント56の対応関係を1か所で分かり易く表示することができる。
【0041】
図4に戻り、拡大ボタン67は、完了条件表示部66に表示しきれなかった完了条件コメント56を表示するためのボタンである。制御装置22は、例えば、拡大ボタン67を選択されると、完了条件表示部66の枠を大きくしたポップアップ画面をプログラム情報表示画面61の前に重ねて表示し、完了条件表示部66で表示しきれなかった完了条件コメント56が全て見られるように表示する。拡大ボタン67を選択する方法は、特に限定されないが、拡大ボタン67に対するタッチ操作でも良く、操作スイッチ27を操作して拡大ボタン67を選択する操作でも良い。後述する他の選択操作についても同様である。
【0042】
また、完了条件表示部66に表示しきれなかった完了条件コメント56を表示する方法は、上記した方法に限らない。例えば、制御装置22は、完了条件表示部66にスクロールバーを表示し、スクロールバーを選択される操作に応じて完了条件表示部66の表示を上下方向に切り替え、表示しきれなかった完了条件コメント56を表示しても良い。また、制御装置22は、プログラム情報表示画面61の右上の角に表示した閉じるボタン68を選択されると、プログラム情報表示画面61の表示を終了し、初期画面等をタッチパネル26に表示する。
【0043】
ここで、工作機械10でMコードを実行中に意図せず実行が完了しない場合、作業者は、NCプログラム35の内容を見て実行中のMコードを確認する必要が生じる。しかしながら、作業者は、Mコードの知識が十分ない場合など、実行中のMコードのMコード名51を確認しても、そのMコードがどのような制御を実行するものであるのかわからず、Mコードの実行を完了できなかった原因を特定することが困難となる。これに対し、本実施の制御装置22は、プログラム情報表示画面61を表示することで、実行中のMコードについて情報を表示することができる。
【0044】
例えば、制御装置22は、NCプログラム35を実行しロボット14を制御中にエラー等により停止した場合、タッチパネル26に対する操作入力に基づいて、あるいは自動で、プログラム情報表示画面61をタッチパネル26に表示する。図4の場合であれば、「ワーク取り出し」のブロックを実行中に停止した状態を示している。作業者は、プログラム情報表示画面61に表示されたMコード、即ち、実行を停止する際に実行中であったMコードの機能名52や完了条件コメント56を確認することができる。これにより、作業者は、例えば、「ワーク受け取り」、「ブロー停止」、「自動扉を開く」の3つのMコードの実行が完了できていなことを確認できる。このため、作業者は、どのような機能のMコードが実行中に停止したのかを把握できる。また、作業者は、「ワーク受け取り検出」、「扉が開位置検出」、「ノズルNO.XXが閉じるのを検出」、「バルブNO.XXの切り替えを検出」の各完了条件が完了できていないことを確認できる。このため、作業者は、どのような完了条件が完了できずにMコードを停止したのかを把握できる。その結果、Mコードを完了できない原因をより迅速且つ的確に特定することが可能となる。
【0045】
また、図3に示すように、機能名データ37には、NCプログラム35においてMコードに使用されるMコード名51と、機能名52とが互いに関連付けられている。制御装置22は、Mコードの検出処理において、NCプログラム35からMコード名51を検出することで実行中のMコードを検出し、検出したMコード名51に基づいて、機能名データ37から機能名52を検出する。これにより、機能名52として適切な情報を予め機能名データ37に設定しておくことで、適切な名称の機能名52をプログラム情報表示画面61に表示できる。結果として、Mコードを完了できない原因を特定する作業者の負担を軽減できる。
【0046】
また、制御装置22は、図4に示すように、NCプログラム35から実行中のMコードを複数検出した場合、検出した複数のMコードの各々の機能名52をプログラム情報表示画面61に表示する。制御装置22は、図4にハッチングを付して示すように、例えば、複数組の表示番号69、Mコード名51及び機能名52の各々を、黄色などの有色の背景色を付して表示する。
【0047】
制御装置22は、表示した複数のMコードのうち、検出した後に完了条件が成立した、表示番号69、Mコード名51及び機能名52の背景色を白色にして、有色で強調した表示を解除する。図6は、一例として、図4に示す状態から、Mコード名51がM101のMコードの実行が完了した状態を示している。この場合、制御装置22は、図6に示すように、実行中Mコード表示部65における1行目のM101の行の背景を白色にする。即ち、制御装置22は、完了条件が成立したMコードの機能名52等を、完了条件が成立していない未完了のMコードの機能名52等と識別可能に表示する。これにより、実行中のMコードのうち、完了条件が成立していないMコードをより分かり易く表示することができる。Mコードを完了できない原因を特定する作業者の負担をより軽減できる。尚、完了条件が成立したMコードの機能名52等と、完了条件が成立していない未完了のMコードの機能名52等とを、識別可能に表示する方法は、上記した方法に限らない。例えば、完了した機能名52等を白色で表示し、未完了の機能名52等を有色で表示しても良い。また、完了条件が成立した機能名52等に対し、取り消し線などの完了したことを示唆する表示を実行しても良い。
【0048】
また、制御装置22は、完了条件表示部66に表示する完了条件コメント56のうち、完了条件が成立した完了条件コメント56を非表示とする。換言すれば、制御装置22は、実行中のMコードに基づいて検出した完了条件のうち、未完了の完了条件コメント56のみを完了条件表示部66に表示する。例えば、制御装置22は、完了条件データ38において実行中のMコードに関連付けられたデバイス情報55が示すデバイス46の信号を、完了条件が成立するまで定期的に監視する。制御装置22は、例えば、デバイス46の信号に基づいてM101の実行が完了したことを検出すると、完了条件データ38においてM101に関連付けられた完了条件コメント56を非表示にする。図6に示すように、制御装置22は、完了したM101の完了条件コメント56「ワーク受け取り検出」を非表示とし、未完了のM102、M103の完了条件コメント56のみを完了条件表示部66に表示し、且つ、上に詰めて表示する。これにより、完了できなかった完了条件を作業者により分かり易く表示することができる。
【0049】
尚、上記した実行中Mコード表示部65及び完了条件表示部66の表示処理は一例である。例えば、制御装置22は、実行中Mコード表示部65の表示において、実行が完了したMコードのMコード名51、機能名52(例えば、M101)を非表示としても良い。また、制御装置22は、完了条件表示部66の表示において、実行が完了した完了条件コメント56を非表示としなくとも良い。制御装置22は、未完了の完了条件コメント56の背景色を有色にし、完了した完了条件コメント56の背景色を白色にしても良い。
【0050】
また、図3に示すように、完了条件データ38は、Mコード名51、デバイス情報55、完了条件コメント56が互いに関連付けられている。制御装置22は、実行中のMコードの検出処理において、NCプログラム35から検出したMコード名51に基づいて完了条件データ38からデバイス情報55を検出する。制御装置22は、検出したデバイス情報55が示すデバイス46の信号に基づいて未完了の完了条件を判断する。例えば、制御装置22は、M101の判断において、G501のデバイス46の信号がONであるか否かを判断する。制御装置22は、各デバイス46(この場合、G501、G502、G503、G521)の信号に基づいて、複数の完了条件の成立を判断する。制御装置22は、未完了の完了条件コメント56のみをプログラム情報表示画面61に表示する。これにより、制御装置22は、PLC41のデバイス46の信号を確認することで、実行中のMコードについて完了条件の成立を判断することができる。
【0051】
また、制御装置22は、エラー等によりNCプログラム35の実行が停止されなければ、プログラム情報表示画面61の表示情報を更新する。例えば、制御装置22が、タッチパネル26に対する所定の操作入力に基づいてプログラム情報表示画面61を表示した際に、図4に示す状態のプログラム情報表示画面61を表示したとする。その後、プログラム表示部64の2行目に示す3つのMコード(M101、M102、M103)の実行が無事完了すると、制御装置22は、プログラム情報表示画面61に表示する情報を更新する。
【0052】
図7は、図4の表示状態からNCプログラム35の実行する行が1行だけ進んだ状態のプログラム情報表示画面61を示している。図7に示すように、実行するブロックが変更されない場合、制御装置22は、ブロック表示部63に表示する情報を維持する。また、制御装置22は、プログラム表示部64の表示において、図4の次の行「G0 XXXX」を1番上に表示するようにNCプログラム35の表示を更新する。また、制御装置22は、Gコード(G0)を実行中となり、実行中のMコードが検出されないため、実行中Mコード表示部65及び完了条件表示部66を非表示とする。制御装置22は、このようにNCプログラム35の実行する行に応じて、ブロック表示部63、プログラム表示部64、実行中Mコード表示部65、完了条件表示部66に表示する情報を更新する。
【0053】
従って、制御装置22は、NCプログラム35における実行中の行をプログラム表示部64に表示し、完了条件が成立し全てのMコードの実行が完了すると、プログラム表示部64の実行中の行、実行中Mコード表示部65の機能名52、完了条件表示部66の完了条件コメント56の情報を更新する。これにより、実行中のMコードの完了条件が成立し、NCプログラム35の実行が進行するのに合わせて、最新の情報を作業者に見せることができる。また、作業者は、予めMコードが実行される前にプログラム情報表示画面61を表示させておくことで、プログラム情報表示画面61の更新が停止した際の表示内容を確認しエラー等により停止する行をすぐに確認できる。尚、制御装置22は、プログラム情報表示画面61のリアルタイムな更新処理を実行しなくとも良い。
【0054】
また、例えば、NCプログラム35の作成者は、図4のプログラム表示部64の1行目に示すように、次の行以降で実行されるコード(プログラム)の概要を示す情報をコメント(図中の「UKEWATASHI」)として記載する。しかしながら、このコメントは、プログラム作成者が手作業で入力するため、誤った内容を入力する可能性や、入力自体を忘れる虞がある。そこで、本実施例の制御装置22は、プログラム情報表示画面61でNCプログラム35の内容を確認した作業者が編集できるように編集機能を有する。
【0055】
制御装置22は、例えば、プログラム表示部64に対するタッチ操作に基づいて、図4に示すように、プログラム表示部64のタッチ操作された位置にカーソル70を表示する。制御装置22は、カーソル70の位置において文字の入力や削除を受け付ける。制御装置22は、例えば、カーソル70を表示した後、プログラム情報表示画面61におけるプログラム表示部64以外の場所に対するタッチ操作を受け付けると、NCプログラム35の変更を保存する。制御装置22は、例えば、プログラム表示部64以外の場所に対するタッチ操作を受け付けると、「変更を保存しますか?」といったメッセージのダイアログを表示し、変更の保存の最終指示を確認しても良い。これにより、作業者は、プログラム情報表示画面61に表示された機能名52(製造メーカにより正確性を担保された情報)などを確認し、プログラム表示部64のコメント等が間違っていた場合、機能名52の情報等を参照しながらより適切な情報をNCプログラム35に入力することができる。
【0056】
因みに、上記実施例において、ワーク主軸装置11、タレット装置12、ロボット14は、ワーク作業装置の一例である。タッチパネル26は、表示装置の一例である。NCプログラム35は、動作プログラムの一例である。
【0057】
以上、上記した本実施例では、以下の効果を奏する。
本願の一態様である制御装置22は、NCプログラム35から実行中のMコードを検出し、検出した実行中のMコードに基づいて、実行中のMコードの機能名52と、実行中のMコードの実行を完了するための完了条件コメント56を検出する(本開示の検出処理の一例)。制御装置22は、検出した機能名52及び完了条件コメント56をNCプログラム35に係る情報を表示するプログラム情報表示画面61に表示する(本開示の表示処理の一例)。これにより、作業者は、Mコードを実行中に意図せず実行が完了しない場合、表示された機能名52からどのような制御を実行するMコードの実行中に停止等したのかを確認できる。また、作業者は、表示された完了条件コメント56から、完了できなかったMコードを完了させるための条件を確認できる。このため、NCプログラム35の高い知識を持っていない作業者であっても、完了できなかった原因を特定する作業をより効率的に実行できる。
【0058】
また、本開示の内容は、上記実施例に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。
例えば、上記実施例では、本開示の表示装置として、表示と入力が可能なタッチパネル26を採用したが、これに限らない。本開示の表示装置として、LCD、有機ELパネルなどの表示のみを実行する表示装置を採用し、表示装置とは別に設けられた操作スイッチ27で操作を受け付けても良い。
また、本開示の動作プログラムとして、数値制御を実行するNCプログラム35を採用したが、これに限らない。本開示の動作プログラムとしては、工作機械10を制御可能な様々な形式のプログラムを採用できる。
また、上記実施例では、本願のワーク作業装置として、ワーク主軸装置11、タレット装置12、ロボット14を採用した。また、その中で、表示制御プログラム36による処理の対象とするNCプログラム35として、主にロボット14を制御するNCプログラム35を対象とした場合について説明した。しかしながらこれに限らない。例えば、ワーク主軸装置11やタレット装置12を制御するNCプログラム35を対象として、表示制御プログラム36による検出処理や表示処理を実行し、ワーク主軸装置11やタレット装置12を制御するMコードについて機能名52や完了条件コメント56の表示を実行しても良い。また、本願のワーク作業装置としては、上記した装置に限らず、工具主軸装置などの動作プログラムで制御可能な他の装置を採用できる。
また、本開示の検出処理や表示処理の対象となるコードは、Mコードに限らず、機能名や完了条件を設定可能な他のコードを採用できる。
また、図2図7に示す画面構成、表示項目、表示位置等は、一例である。例えば、制御装置22は、プログラム情報表示画面61にブロック表示部63やプログラム表示部64を表示しなくとも良い。
【0059】
尚、本開示の内容は、請求項に記載の従属関係に限定されない。例えば、請求項5において「請求項1又は請求項2に記載の工作機械」を「請求項1から請求項4の何れか1項に記載の工作機械」に変更した技術思想についても、本明細書は開示している。また、例えば、請求項6において「請求項1又は請求項2に記載の工作機械」を「請求項1から請求項5の何れか1項に記載の工作機械」に変更した技術思想についても、本明細書は開示している。
【符号の説明】
【0060】
10 工作機械、11 ワーク主軸装置(ワーク作業装置)、12 タレット装置(ワーク作業装置)、14 ロボット(ワーク作業装置)、26 タッチパネル(表示装置)、34 記憶装置、35 NCプログラム(動作プログラム)、37 機能名データ、38 完了条件データ、41 PLC、51 Mコード名、52 機能名、55 デバイス情報、61,61A プログラム情報表示画面、64 プログラム表示部。
図1
図2
図3
図4
図5
図6
図7