JP6829221B2 - 数値制御システム - Google Patents

数値制御システム Download PDF

Info

Publication number
JP6829221B2
JP6829221B2 JP2018077770A JP2018077770A JP6829221B2 JP 6829221 B2 JP6829221 B2 JP 6829221B2 JP 2018077770 A JP2018077770 A JP 2018077770A JP 2018077770 A JP2018077770 A JP 2018077770A JP 6829221 B2 JP6829221 B2 JP 6829221B2
Authority
JP
Japan
Prior art keywords
image processing
program
numerical control
control system
imaging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018077770A
Other languages
English (en)
Other versions
JP2019185545A (ja
Inventor
健至 宮▲崎▼
健至 宮▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2018077770A priority Critical patent/JP6829221B2/ja
Priority to DE102019202908.6A priority patent/DE102019202908A1/de
Priority to US16/298,284 priority patent/US10678212B2/en
Priority to CN201910275619.6A priority patent/CN110376961A/zh
Publication of JP2019185545A publication Critical patent/JP2019185545A/ja
Application granted granted Critical
Publication of JP6829221B2 publication Critical patent/JP6829221B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4063Monitoring general control system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/182Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by the machine tool function, e.g. thread cutting, cam making, tool direction control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/401Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for measuring, e.g. calibration and initialisation, measuring workpiece for machining purposes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31263Imbedded learning for planner, executor, monitor, controller and evaluator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35158Calculation of contact point of tool on surface, curve
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35252Function, machine codes G, M
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37559Camera, vision of tool, compute tool center, detect tool wear
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49365Minimise noncutting area, tool travel, eliminate air cutting
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50064Camera inspects workpiece for errors, correction of workpiece at desired position

Description

本発明は、工作機械、産業機械又は産業ロボット等を制御する数値制御システムに関する。
近年、工作機械内の加工ワークや周辺機械等に取り付けられたビデオカメラで撮影された画像が、加工ワーク及び周辺装置の遠隔監視、加工したワークの画像や映像の記録による品質管理などに利用されるようになってきている。特許文献1には、工作機械に接続されたビデオカメラの操作機能を有する数値制御装置が開示されている。
数値制御装置は、ビデオカメラを操作する際、操作に必要な設定値(例えば、ビデオカメラの選択、解像度、フレーム数)を指定する必要がある。特許文献1には、Gコード指令の引数を使用してビデオカメラの各設定値の指定を行う技術が開示されている。
特開2014−63434号公報
ところで、撮像装置によって撮像された機械における工具又はワークの撮像及び画像処理結果(例えば、OK/NG、計測長、面積)をNCプログラムに反映できると、撮像及び画像処理結果に応じてNCプログラムを変更できるので、便利である。
しかし、Gコード指令では、撮像及び画像処理結果を受け取ることができず、撮像及び画像処理結果をNCプログラムに反映できない。
本発明は、撮像装置によって撮像された機械又はワークの撮像結果をプログラムに反映することができる数値制御システムを提供することを目的とする。
(1) 本発明に係る数値制御システム(例えば、後述の数値制御システム1,1B)は、ワーク(例えば、後述のワークW)に所定の処理を施す機械を制御する数値制御システムであって、撮像装置(例えば、後述の視覚センサ2)によって撮像された機械(例えば、後述の工具Tを含む)又はワークの画像を画像処理する画像処理装置(例えば、後述の画像処理装置20)と、プログラムに基づいて、前記機械を制御すると共に、前記画像処理装置を制御する数値制御装置(例えば、後述の数値制御装置10,10B)とを備え、前記数値制御装置又は前記画像処理装置は、前記撮像装置を制御し、前記数値制御装置は、前記プログラムを解析するプログラム解析部(例えば、後述のNCプログラム解析部11又はラダープログラム解析部11B)と、前記機械、前記撮像装置及び前記画像処理装置を運転制御する際に必要な運転制御情報を、前記プログラム解析部によって読み書き可能な形式で格納する運転制御情報格納部(例えば、後述のマクロ変数値テーブル格納部12又は信号格納部12B)とを備え、前記数値制御システムは、前記プログラム解析部が前記プログラムから読み出した指令又は前記運転制御情報格納部に格納された前記運転制御情報を、前記撮像装置及び前記画像処理装置によって認識可能な形式の設定値である画像処理の入力項目に変換すると共に、前記画像処理装置からの画像処理の結果である画像処理の出力項目を、前記プログラム解析部によって認識可能な形式の運転制御情報に変換する画像処理入出力項目−運転制御情報変換部(例えば、後述の画像処理入出力項目−変数番号変換部14及び後述の画像処理入出力項目−信号アドレス変換部14B)を備える。
(2) (1)に記載の数値制御システムにおいて、前記運転制御情報格納部は、前記プログラム解析部によって読み書き可能なマクロ変数であってもよい。
(3) (1)又は(2)に記載の数値制御システムにおいて、前記画像処理入出力項目−運転制御情報変換部は、前記数値制御装置内に配置されてもよい。
(4) (1)又は(2)に記載の数値制御システムにおいて、前記画像処理入出力項目−運転制御情報変換部は、前記画像処理装置内に配置されてもよい。
本発明によれば、撮像装置によって撮像された機械又はワークの撮像結果をプログラムに反映することができる。
第1実施形態に係る数値制御システムを示す図である。 図1に示す数値制御装置及び画像処理装置を詳細に示す図である。 工具又はワークの撮像及び画像処理時、視覚センサ及び画像処理装置を制御するためのNCプログラムの一例(左部分)とその説明(右部分)を示す図である。 第1実施形態に係る数値制御システムによる工具又はワークの撮像及び画像処理の動作を示すフローチャートである。 NCプログラムによる工具軌跡と大きい鋳物との関係を示す図である。 NCプログラムによる工具軌跡と小さい鋳物との関係を示す図である。 実施例1の視覚センサの配置を示す図である。 実施例1の撮像及び画像処理のためのNCプログラムを示す図である。 実施例1のマクロ変数値テーブルを示す図である。 実施例1の画像処理結果の利用例を含めたNCプログラムを示す図である。 実施例2の視覚センサの配置を示す図である。 実施例2の撮像及び画像処理のためのNCプログラムを示す図である。 実施例2のマクロ変数値テーブルを示す図である。 実施例2の画像処理結果の利用例を含めたNCプログラムを示す図である。 図9Aに示すNCプログラム(加工時)による動作を示す図である。 トレランス量を説明するための図である。 トレランス量を指定するNCプログラム(加工時)の一例を示す図である。 実施例3の視覚センサの配置を示す図である。 実施例3の撮像及び画像処理のためのNCプログラムを示す図である。 実施例3のマクロ変数値テーブルを示す図である。 実施例3の画像処理結果の利用例を含めたNCプログラムを示す図である。 実施例4の視覚センサの配置を示す図である。 実施例4の撮像及び画像処理のためのNCプログラムを示す図である。 実施例4のマクロ変数値テーブルを示す図である。 実施例4の画像処理結果の利用例を含めたNCプログラムを示す図である。 実施例4の画像処理結果の利用例を含めたNCプログラムを示す図である。 実施例4の画像処理結果の利用例を含めたNCプログラムを示す図である。 第2実施形態に係る数値制御システムを示す図である。 第2実施形態に係る数値制御システムによる工具又はワークの撮像及び画像処理の動作を示すフローチャートである。 第3実施形態に係る数値制御システムを示す図である。 工具又はワークの撮像及び画像処理時、視覚センサ及び画像処理装置を制御するためのラダープログラムの一例(左部分)とその説明(右部分)を示す図である。 第2実施形態に係る数値制御システムによる工具又はワークの撮像及び画像処理の動作を示すフローチャートである。 実施例5の視覚センサの配置を示す図である。 実施例5の撮像及び画像処理のためのラダープログラムを示す図である。 実施例5の信号領域を示す図である。 実施例5の画像処理結果の利用例を含めたラダープログラムを示す図である。 第4実施形態に係る数値制御システムを示す図である。 工具又はワークの撮像及び画像処理時、視覚センサ及び画像処理装置を制御するためのNCプログラムの一例(左部分)とその説明(右部分)を示す図である。 第4実施形態に係る数値制御システムによる工具又はワークの撮像及び画像処理の動作を示すフローチャートである。 工具又はワークの撮像及び画像処理時、視覚センサ及び画像処理装置を制御するためのNCプログラムの一例(左部分)とその説明(右部分)を示す図である。
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
(第1実施形態)
図1は、第1実施形態に係る数値制御システムを示す図である。図1に示す数値制御システム1は、工作機械(図示省略)を制御するシステムであり、数値制御装置10と画像処理装置20とを備える。
画像処理装置20は、視覚センサ(撮像装置)2によって撮像された工作機械における工具T又はワークWの画像を画像処理する。視覚センサ2は、工作機械における工具T又はワークWを撮像する。なお、撮像装置としては、視覚センサに限定されず、例えば、カメラ又は3次元ビジョンセンサなどの種々の撮像装置であってもよい。また、撮像装置から画像処理装置20へ提供する画像としては、白黒画像、カラー画像、距離画像などに限らず、3次元点群なども含むものとする。
数値制御装置10は、ワークWの加工時、NCプログラムに基づいて工作機械を制御する。また、数値制御装置10は、工具T又はワークWの撮像及び画像処理時、NCプログラムに基づいて視覚センサ2及び画像処理装置20を制御する。
以下では、工具T又はワークWの撮像及び画像処理を行う際について主に着目し、数値制御装置10及び画像処理装置20について詳細に説明する。
図2は、図1に示す数値制御装置10及び画像処理装置20を詳細に示す図である。図2に示すように、数値制御装置10は、NCプログラム解析部(プログラム解析部)11と、マクロ変数値テーブル格納部(運転制御情報格納部)12と、通信部13と、画像処理入出力項目−変数番号変換部(画像処理入出力項目−運転制御情報変換部)14とを備える。
図3は、工具T又はワークWの撮像及び画像処理時、視覚センサ2及び画像処理装置20を制御するためのNCプログラムの一例(左部分)とその説明(右部分)を示す図である。図3に示すように、NCプログラムは、Gコード指令、Mコード指令及びマクロ変数を含む。例えば、
「G810」は、撮像および画像処理起動指令(Gコード指令)であり、
「♯100」は、使用する視覚センサを指定するマクロ変数であり、
「♯101」は、画像処理プログラム番号を指定するマクロ変数であり、
「♯201」は、実行結果(計測点の座標値)を示すマクロ変数である。
NCプログラムは、例えばEEPROM等の書き換え可能なメモリ(図示省略)に格納される。
NCプログラム解析部11は、NCプログラムを1ブロックずつ読み取り、指令内容を解析する。
指令がマクロ変数の書き込み指令である場合、NCプログラム解析部11は、マクロ変数値テーブル格納部12のマクロ変数値テーブルにマクロ変数値を書き込む。具体的には、NCプログラム解析部11は、指令において指定されたマクロ変数番号(例えば、等式の左辺)に対応するマクロ変数値テーブルの領域に、指令において設定されたマクロ変数値(例えば、等式の右辺)を書き込む。
一方、図3に示すように、指令が撮像及び画像処理の起動指令である場合、NCプログラム解析部11は、撮像及び画像処理の起動指令を通信部13に出力する。
マクロ変数値テーブル格納部12は、工作機械の運転制御に必要な設定値(例えば、工具情報、ワーク情報、特徴的な箇所の座標値)をマクロ変数の値として格納する。また、マクロ変数値テーブル格納部12は、視覚センサ2及び画像処理装置20の運転制御に必要な設定値(例えば、視覚センサ2の解像度、画像処理のプログラム名)をマクロ変数の値として格納する。このような設定値は、NCプログラムが実行されたときに設定される。
更に、マクロ変数値テーブル格納部12は、画像処理装置20による画像処理の結果得られた工具T又はワークWの情報をマクロ変数の値として格納する。
例えば、上述の例では、マクロ変数値テーブルは以下のようになる。
♯100:使用する視覚センサ番号
♯101:画像処理プログラム番号
♯201:実行結果(計測点の座標値)
ここで、変数番号「♯100」「#101」が、後述の画像処理入力項目の値が格納されるマクロ変数名であり、使用する視覚センサ番号、および画像処理プログラム番号が、画像処理入力項目の値である。
また、変数番号「♯201」が、後述の画像処理出力項目の値が格納されるマクロ変数名であり、実行結果(計測点の座標値)が、画像処理出力項目の値である。
このように、マクロ変数値テーブル格納部12は、工作機械、視覚センサ2及び画像処理装置20の運転制御に必要な各種設定値を、NCプログラム解析部11によって読み書き可能な形式であるマクロ変数の値として格納するする。換言すれば、マクロ変数値テーブル格納部12は、NCプログラム作成者が読み書きでき、かつ、NCプログラム解析部11が読み書きできる領域である。マクロ変数値テーブル格納部12は、例えばEEPROM等の書き換え可能なメモリである。
通信部13は、NCプログラム解析部11から撮像及び画像処理の起動指令が出力されるとき、視覚センサ2及び画像処理装置20を操作するために必要な設定値を、マクロ変数値テーブル格納部12のマクロ変数値テーブルから読み出す。そして、通信部13は、撮像及び画像処理の起動指令と、マクロ変数値テーブルから読み出した設定値(後述の画像処理入力項目及びその値)とを、画像処理装置20又は視覚センサ2に送信する。
また、通信部13は、画像処理装置20から画像処理の実行結果を受信し、受信した実行結果(後述する画像処理出力項目及びその値)をマクロ変数値テーブル格納部12のマクロ変数値テーブルに書き込む。
本実施形態では、通信部13は、マクロ変数値テーブル格納部12のマクロ変数値テーブルからの設定値の読み出し、及び、マクロ変数値テーブル格納部12のマクロ変数値テーブルへの撮像及び画像処理の実行結果の書き込みを、画像処理入出力項目−変数番号変換部14を介して行う。
通信部13は、LAN、WAN等の有線又は無線通信規格、又は、Bluetooth、Wi−Fi等の近距離通信規格などに従う通信インタフェースを含む。
マクロ変数値テーブルからの設定値の読み出し時、画像処理入出力項目−変数番号変換部14は、マクロ変数値テーブル格納部12に格納された視覚センサ2及び画像処理装置20を操作するために必要な設定値(マクロ変数値)を、視覚センサ2及び画像処理装置20によって認識可能な形式の設定値である画像処理の入力項目に変換する。
一方、マクロ変数値テーブルへの撮像及び画像処理の実行結果の書き込み時、画像処理入出力項目−変数番号変換部14は、画像処理装置20からの画像処理の結果である画像処理の出力項目を、NCプログラム解析部11によって認識可能な形式の変数(マクロ変数)に変換する。
次に、画像処理装置20は、図2に示すように、通信部21と画像処理部22とを備える。
通信部21は、数値制御装置10から受信した撮像の起動指令、及び、視覚センサ2の運転に必要な設定値を視覚センサ2に送信する。また、通信部21は、視覚センサ2から工具T又はワークWの撮像画像を受信し、受信した撮像画像を画像処理装置20に出力する。
通信部13は、LAN、WAN等の有線又は無線通信規格、又は、Bluetooth、Wi−Fi等の近距離通信規格などに従う通信インタフェースを含む。
画像処理部22は、数値制御装置10から受信した画像処理の起動指令、及び、画像処理部22の運転に必要な設定値に基づいて、視覚センサ2からの画像を画像処理し、画像処理の実行結果を画像処理の出力項目として、数値制御装置10に送信する。
数値制御装置10及び画像処理装置20は、例えば、DSP(Digital Signal Processor)、FPGA(Field−Programmable Gate Array)等の演算プロセッサで構成される。数値制御装置10及び画像処理装置20の各種機能は、例えば記憶部に格納された所定のソフトウェア(プログラム、アプリケーション)を実行することで実現される。数値制御装置10及び画像処理装置20の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよいし、ハードウェア(電子回路)のみで実現されてもよい。
次に、図4を参照して、第1実施形態に係る数値制御システム1による工具T又はワークWの撮像及び画像処理の動作について説明する。図4は、第1実施形態に係る数値制御システム1による工具T又はワークWの撮像及び画像処理の動作を示すフローチャートである。
まず、数値制御装置10におけるNCプログラム解析部11は、NCプログラムにおける1ブロックを読み取り(S1)、指令内容を解析する(S2)。
指令がマクロ変数の書き込み指令である場合、NCプログラム解析部11は、マクロ変数値テーブル格納部12のマクロ変数値テーブルにマクロ変数値を書き込む(S3)。具体的には、NCプログラム解析部11は、指令において指定されたマクロ変数番号(例えば、等式の左辺)に対応するマクロ変数値テーブルの領域に、指令において設定されたマクロ変数値(例えば、等式の右辺)を書き込む(S3)。その後、後述のステップS11に移行する。
一方、ステップS2において指令が撮像及び画像処理の起動指令である場合、通信部13は、画像処理入出力項目−変数番号変換部14に、画像処理入力項目の値を読み出すように要求する(S4)。
次に、画像処理入出力項目−変数番号変換部14は、画像処理入力項目を予め定められた変数番号に変換し、変換した変数番号の値をマクロ変数値テーブル格納部12のマクロ変数値テーブルから読み出し、読み出した変数番号の値を画像処理入力項目の値として通信部13に応答する(S5)。
次に、通信部13は、撮像及び画像処理の起動指令と、画像処理入出力項目−変数番号変換部14から取得した画像処理入力項目の値とを、画像処理装置20に送信する(S6)。
画像処理装置20における画像処理部22は、数値制御装置10から受信した撮像及び画像処理の起動指令に基づいて、通信部21を介して視覚センサ2を操作し、工作機械における工具T又はワークWの撮像を行う(S7)。
次に、画像処理部22は、視覚センサ2からの撮像画像に対して画像処理を実行し、画像処理入力項目の値に応じた画像処理出力項目の値を得る(S8)。
次に、数値制御装置10における通信部13は、画像処理装置20から画像処理出力項目の値(実行結果)を取得し、画像処理入出力項目−変数番号変換部14に出力する(S9)。
次に、画像処理入出力項目−変数番号変換部14は、通信部13から取得した画像処理出力項目の値を、予め定められた変数番号の値とみなし、変数番号に対応するマクロ変数値テーブル格納部12のマクロ変数値テーブルの領域に書き込む(S10)。
次に、NCプログラム解析部11は、NCプログラムの全てのブロックの解析が終了したか否かを判定する(S11)。NCプログラムの全てのブロックの解析が終了していない場合、ステップS1に戻り、NCプログラムの次の1ブロックについて上述したステップS1〜S11の処理を行う。
一方、ステップS11においてNCプログラムの全てのブロックの解析が終了した場合、数値制御システム1は、工具T又はワークWの撮像及び画像処理の動作を終了する。
次に、具体的な実施例を挙げながら本実施形態を詳細に説明するが、本実施形態はこれらの具体例に限定されない。
(実施例1)
例えば、図5A及び図5Bに示すように、無垢の鋳物は、鋳物ごとに寸法が大きく異なるので、NCプログラムは、寸法の大きい鋳物でも加工できるように作成される。このNCプログラムを寸法の小さい鋳物に対して使うと、工具軌跡において非切削(エアカット)時間が多くなり、無駄な加工時間がかかる。
そこで、実施例1では、鋳物Wの撮像及び画像処理によって鋳物Wの最上面の座標値をマクロ変数値としてマクロ変数値テーブルに格納する。これにより、鋳物Wの最上面の座標値をNCプログラムに反映することができる。
まず、図6Aに示すように、視覚センサ2(例えば、3次元ビジョンセンサ)を鋳物Wに向けて設置する。
次に、画像処理部において、視覚センサ2が鋳物Wを撮像後にその画像(例えば、3次元点群)を受け取り、その画像をもとに鋳物Wの最上面の座標値を求めるようにしておく。これは、一般的な画像処理ソフトで実現すればよい。
次に、図6Bに示すように、撮像及び画像処理のためのNCプログラムを作成する。このとき、画像処理入力項目及び画像処理出力項目は以下のように設定される。
画像処理入力項目:使用する視覚センサ番号(#100)、画像処理プログラム番号(#101)
画像処理出力項目:鋳物Wの最上面の座標値(#201)
次に、NCプログラムを実行すると、上述した図4のフローチャートに従って撮像及び画像処理が実行され、図6Cに示すように画像処理の実行結果がマクロ変数値テーブルに格納される。
これにより、NCプログラム作成者は、加工時、マクロ変数値テーブルを読み出し、鋳物Wが存在する領域のみ加工(例えば切削)するように、NCプログラムを作成することができる。例えば、NCプログラム解析部11は、図6Cに示すマクロ変数値テーブルを読み出し、♯201(鋳物の最上面の座標値)が小さい場合、図7に示すようにそれよりも高い部分を加工するためのブロックが実行されないように、NCプログラムを作成することができる。
これにより、非切削(エアカット)時間が少なくなり、加工時間が削減される。
(実施例2)
例えば、図8Aに示すように、ワークWを加工すると切粉が加工領域に溜まることがある。加工領域に切粉が溜まり過ぎると、機械の動作不良、又はワークWの加工不良が発生することがある。
そこで、実施例2では、ワークWの加工領域の撮像及び画像処理によって切粉の堆積量及び堆積領域(点の位置)をマクロ変数値としてマクロ変数値テーブルに格納する。これにより、ワークWの加工領域の切粉の堆積量及び堆積領域(点の位置)に応じて切粉の除去を行うようにNCプログラムを作成することができる。
まず、図8Aに示すように、視覚センサ2を、ワークWにおける切粉が堆積しやすい領域に向けて設置する。
次に、画像処理部22において、視覚センサ2がワークWにおける切粉が堆積しやすい領域を撮像後にその画像を受け取り、その画像をもとに、切粉がある一定量溜まったことを示すフラグ、切粉の堆積領域(点の位置)X,Yを求めるようにしておく。
例えば、切粉が堆積しているかどうかやその位置は、ヒストグラムで明るさの違いを検知するなどして求められればよい。
これは、一般的な画像処理ソフトで実現すればよい。
次に、図8Bに示すように、撮像及び画像処理のためのNCプログラムを作成する。このとき、画像処理入力項目及び画像処理出力項目は以下のように設定される。
画像処理入力項目:使用する視覚センサ番号(#100)、画像処理プログラム番号(#101)
画像処理出力項目:切粉がある一定量溜まったことを示すフラグ、切粉の堆積領域(点の位置)X,Y(♯201,♯202,♯203)
次に、NCプログラムを実行すると、上述した図4のフローチャートに従って撮像及び画像処理が実行され、図8Cに示すように画像処理の実行結果がマクロ変数値テーブルに格納される。
これにより、NCプログラム作成者は、加工時、マクロ変数値テーブルを読み出し、図9A及び図9Bに示すように、ワークWにおける切粉の堆積領域に切削液が当たるようにテーブルを移動させる、というようなNCプログラムを作成することができる。
これにより、切削液を切粉に集中的に当てることで切粉を除去し、機械の動作不良、又はワークWの加工不良の発生を防ぐことができる。
(実施例3)
図10A及び図10Bに示すように、加工プログラムにおいて、コーナ部を滑らかに接続するコーナ接続機能がある。コーナ接続機能では、NCプログラムにおいてトレランス量(加工ワーク形状が設計図の形状から乖離していい上限値)を引数として指定することが可能である。しかし、実際に加工を行うと、サーボ遅れにより余計に内回るので、内回った分だけトレランス量に小さい値を再指定することが考えられる。しかし、トレランス量を手動で再指定するのは手間がかかる。
そこで、実施例3では、ワークWの撮像及び画像処理によってワークWの実形状が期待していた形状と一番乖離している部分の距離をマクロ変数値としてマクロ変数値テーブルに格納する。これにより、トレランス量を自動的に修正するようにNCプログラムを作成することができる。
まず、図11Aに示すように、視覚センサ2をワークWに向けて設置する。
次に、画像処理部において、視覚センサ2がワークWを撮像後にその画像を受け取り、その画像をもとに、実形状が期待していた理想形状と一番乖離している部分の距離を求めるようにしておく。
例えば、画像処理出力項目は以下のように求められればよい。
・予めワークWの理想形状が教示される。
・理想形状における任意の理想点と、得られた実形状における任意の実加工形状点との距離を、複数の任意の点について算出
・ある1つの「理想点」と複数の「実加工形状点」との上記距離の中から、最小値を選出
・複数の「理想点」において上記の最小値を選出し、その中の最大値を出力
これは、一般的な画像処理ソフトで実現すればよい。
次に、図11Bに示すように、撮像及び画像処理のためのNCプログラムを作成する。このとき、画像処理入力項目及び画像処理出力項目は以下のように設定される。
画像処理入力項目:使用する視覚センサ番号(#100)、画像処理プログラム番号(#101)
画像処理出力項目:実形状が期待していた形状と一番乖離している部分の距離(♯201)
次に、NCプログラムを実行すると、上述した図4のフローチャートに従って撮像及び画像処理が実行され、図11Cに示すように画像処理の実行結果がマクロ変数値テーブルに格納される。
これにより、図12に示すように、実形状が期待していた形状と一番乖離している部分の距離に基づいてトレランス量の指定値を自動的に修正するNCプログラムを作成することができる。そのため、トレランス量を手動で再指定する手間を省くことができる。
(実施例4)
実施例4では、工具Tの撮像及び画像処理によって工具長をマクロ変数値テーブルに格納する。これにより、工具交換、加工停止、又は数値制御装置への工具情報設定等を行うようにプログラムを作成することができる。
まず、図13Aに示すように、視覚センサ2を工具Tに向けて設置する。
次に、画像処理部において、視覚センサ2が工具Tを撮像後にその画像を受け取り、その画像をもとに、工具長を求めるようにしておく。これは、一般的な画像処理ソフトで実現すればよい。
次に、図13Bに示すように、撮像及び画像処理のためのNCプログラムを作成する。このとき、画像処理入力項目及び画像処理出力項目は以下のように設定される。
画像処理入力項目:使用する視覚センサ番号(#100)、画像処理プログラム番号(#101)
画像処理出力項目:工具長(♯201)
次に、NCプログラムを実行すると、上述した図4のフローチャートに従って撮像及び画像処理が実行され、図13Cに示すように画像処理の実行結果がマクロ変数値テーブルに格納される。
これにより、加工時、マクロ変数値テーブルを読み出し、画像処理結果の工具長が数値制御装置10に予め設定されている工具長と異なる場合、以下のようにNCプログラムのプログラマの判断により状況に応じたNCプログラムを作成することができる。
(A)加工直前に撮像し、かつ、工具が折損している可能性が考えられる状況だとプログラマが判断する場合、図14Aに示すように、正常に加工を行うために工作機械の工具マガジンに装着されている同種の別の工具に交換をする、というようなNCプログラムを組むことができる。
(B)加工直後に撮像し、かつ、工具が加工中に折損して加工が正常に行われていない可能性が考えられる状況だとプログラマが判断する場合、図14Bに示すように、加工を停止する、というようなNCプログラムを組むこともできる。
(C)新品の工具の長さを計測する場合など、工具が折損している可能性が低い状況だとプログラマが判断する場合、図14Cに示すように、画像処理結果の工具長を数値制御装置10に予め設定されている値に上書きするようなNCプログラムを組むこともできる。
以上説明したように、本実施形態の数値制御システム1によれば、画像処理入出力項目−変数番号変換部(画像処理入出力項目−運転制御情報変換部)14は、画像処理装置20からの画像処理の結果である画像処理の出力項目を、NCプログラム解析部11によって認識可能な形式のマクロ変数の値(運転制御情報)に変換する。
これにより、NCプログラム解析部11は、マクロ変数を読み出すことにより画像処理の実行結果(画像処理の出力項目)を受け取ることができる。そのため、視覚センサ2によって撮像された工作機械における工具T又はワークWの撮像結果をNCプログラムに反映することができる。
ところで、特許文献1に記載の技術のように、Gコード指令の引数を使用して視覚センサ2及び画像処理装置20の運転制御を行う場合、Gコードの指令フォーマットにより引数の数が制限を受けるので、設定値を指定できる数が制限を受け易い。例えば、アルファベット1文字により引数の種類を指定するフォーマットの場合、アルファベットの文字数が指定できる数の上限となる。
この点に関し、本実施形態の数値制御システム1によれば、画像処理入出力項目−変数番号変換部(画像処理入出力項目−運転制御情報変換部)14は、NCプログラム解析部11によって読み書き可能な形式でマクロ変数値テーブル格納部(運転制御情報格納部)12に格納されたマクロ変数の値(運転制御情報)を、撮像装置2及び画像処理装置20によって認識可能な形式の設定値である画像処理の入力項目に変換する。
これにより、マクロ変数値テーブル格納部として使える領域のサイズを増やすだけで、マクロ変数の数を増やすことができる。そのため、設定値を指定できる数が制限を受け難い。また、簡単に対応でき、拡張性が高い。
(第2実施形態)
第1実施形態では、画像処理入出力項目−変数番号変換部14が数値制御装置10内に配置される形態を例示したが、画像処理入出力項目−変数番号変換部14は画像処理装置20内に配置されてもよい。
図15は、第2実施形態に係る数値制御システムを示す図である。図15に示す第2実施形態の数値制御システム1は、図2に示す数値制御システム1において、画像処理入出力項目−変数番号変換部14が画像処理装置20内に配置されている点で第1実施形態と異なる。
次に、図16を参照して、第2実施形態に係る数値制御システム1による工具T又はワークWの撮像及び画像処理の動作について説明する。図16は、第2実施形態に係る数値制御システム1による工具T又はワークWの撮像及び画像処理の動作を示すフローチャートである。
まず、上述のステップS1及びステップS2と同様に、数値制御装置10におけるNCプログラム解析部11は、NCプログラムにおける1ブロックを読み取り(S1A)、指令内容を解析する(S2A)。
指令がマクロ変数の書き込み指令である場合、上述のステップS3と同様に、NCプログラム解析部11は、マクロ変数値テーブル格納部12のマクロ変数値テーブルにマクロ変数値を書き込む(S3A)。具体的には、NCプログラム解析部11は、指令において指定されたマクロ変数番号(例えば、等式の左辺)に対応するマクロ変数値テーブルの領域に、指令において設定されたマクロ変数値(例えば、等式の右辺)を書き込む(S3A)。その後、後述のステップS10Aに移行する。
一方、ステップS2Aにおいて指令が撮像及び画像処理の起動指令である場合、通信部13は、予め定められた変数番号の値をマクロ変数値テーブル格納部12のマクロ変数値テーブルから読み出す。通信部13は、撮像及び画像処理の起動指令と、読み出した変数番号の値とを、画像処理装置20に送信する(S4A)。
画像処理装置20における画像処理入出力項目−変数番号変換部14は、数値制御装置10から受信した変数番号の値を、画像処理入力項目とみなし、画像処理部22に入力する(S5A)。
次に、上述のステップS7と同様に、画像処理部22は、数値制御装置10から受信した撮像及び画像処理の起動指令に基づいて、通信部21を介して視覚センサ2を操作し、工作機械における工具T又はワークWの撮像を行う(S6A)。
次に、上述のステップS8と同様に、画像処理部22は、視覚センサ2からの撮像画像に対して画像処理を実行し、画像処理入力項目の値に応じた画像処理出力項目の値を得る(S7A)。
次に、画像処理入出力項目−変数番号変換部14は、画像処理出力項目の値を、予め定められた変数番号の値とみなし、数値制御装置10に送信する(S8A)。
次に、数値制御装置10における通信部13は、画像処理装置20から画像処理出力項目の値(実行結果)を取得し、取得した画像処理出力項目の値を、変数番号に対応するマクロ変数値テーブル格納部12のマクロ変数値テーブルの領域に書き込む(S9A)。
次に、上述のステップS11と同様に、NCプログラム解析部11は、NCプログラムの全てのブロックの解析が終了したか否かを判定する(S10A)。NCプログラムの全てのブロックの解析が終了していない場合、ステップS1Aに戻り、NCプログラムの次の1ブロックについて上述したステップS1A〜S10Aの処理を行う。
一方、ステップS10AにおいてNCプログラムの全てのブロックの解析が終了した場合、数値制御システム1は、工具T又はワークWの撮像及び画像処理の動作を終了する。
この第2実施形態の数値制御システム1でも、上述した第1実施形態の数値制御システム1と同様の利点を得ることができる。
なお、第2実施形態の数値制御システム1によれば、既存の数値制御装置でも本発明の特徴を実現することができる。
(第3実施形態)
第1実施形態では、工作機械の工具T又はワークWの撮像及び画像処理の結果をNCプログラムに反映する数値制御システム1について説明した。第3実施形態では、工作機械の工具T又はワークWの撮像及び画像処理の結果をラダープログラムに反映する数値制御システムについて説明する。
図17は、第3実施形態に係る数値制御システムを示す図である。図17に示す数値制御システム1Bは、図2に示す数値制御システム1において数値制御装置10に代えて数値制御装置10Bを備える構成で第1実施形態と異なる。
数値制御装置10Bは、数値制御装置10において、NCプログラムにラダープログラムを用いる点、及び、NCプログラム解析部11、マクロ変数値テーブル格納部12及び画像処理入出力項目−変数番号変換部14に代えて、ラダープログラム解析部(プログラム解析部)11B、信号格納部(運転制御情報格納部)12B及び画像処理入出力項目−信号アドレス変換部(画像処理入出力項目−運転制御情報変換部)14Bを備える構成で第1実施形態と異なる。
図18は、工具T又はワークWの撮像及び画像処理時、視覚センサ2及び画像処理装置20を制御するためのラダープログラムの一例(左部分)とその説明(右部分)を示す図である。図18に示すように、ラダープログラムは、指令と信号領域とを含む。例えば、
「R0810」は、撮像および画像処理起動指令であり、
「R0100」は、使用する視覚センサを指定する信号領域であり、
「R0101」は、画像処理プログラム番号を指定するする信号領域であり、
「R0210」は、実行結果(計測点の座標値)を示す信号領域である。
ラダープログラムは、例えばEEPROM等の書き換え可能なメモリ(図示省略)に格納される。
ラダープログラム解析部11Bは、ラダープログラムを1ブロックずつ読み取り、指令内容を解析する。
図18のSET(R0100、1)やSET(R0101、123)のように、指令が信号領域の書き込み指令である場合、ラダープログラム解析部11Bは、信号格納部12Bの信号領域に引数を書き込む。具体的には、ラダープログラム解析部11Bは、指令において第1引数に指定された信号アドレスに対応する信号領域に、第2引数を書き込む。
一方、図18のSET(R0810、1)のように、指令が撮像及び画像処理の起動指令である場合、ラダープログラム解析部11Bは、撮像及び画像処理の起動指令を通信部13に出力する。
信号格納部12Bは、工作機械の運転制御に必要な設定値(例えば、工具情報、ワーク情報、特徴的な箇所の座標値)を信号として格納する。また、信号格納部12Bは、視覚センサ2及び画像処理装置20の運転制御に必要な設定値(例えば、視覚センサ2の解像度、画像処理のプログラム名)をマクロ変数として格納する。このような設定値は、ラダープログラムが実行されたときに設定される。
更に、信号格納部12Bは、画像処理装置20による画像処理の結果得られた工具T又はワークWの情報をマクロ変数として格納する。
例えば、信号格納部12Bにおける信号領域は以下のようになる。
R0100:使用する視覚センサ番号
R0101:画像処理プログラム番号
R0210:実行結果(計測点の座標値)
ここで、変数番号「R0100」「R0101」が、後述の画像処理入力項目の値が格納される信号名であり、使用する視覚センサ番号、および画像処理プログラム番号が、画像処理入力項目の値である。
また、変数番号「R0210」が、後述の画像処理出力項目の値が格納される信号名であり、実行結果(計測点の座標値)が、画像処理出力項目の値である。
このように、信号格納部12Bは、工作機械、視覚センサ2及び画像処理装置20の運転制御に必要な各種設定値を、ラダープログラム解析部11Bによって読み書き可能な形式である信号として格納する。換言すれば、信号格納部12Bは、ラダープログラム作成者が読み書きでき、かつ、ラダープログラム解析部11Bが読み書きできる領域である。信号格納部12Bは、例えばEEPROM等の書き換え可能なメモリである。
画像処理入出力項目−信号アドレス変換部14Bは、信号領域からの設定値の読み出し時、画像処理入出力項目−信号アドレス変換部14Bは、信号格納部12Bに格納された視覚センサ2及び画像処理装置20を操作するために必要な設定値(信号)を、視覚センサ2及び画像処理装置20によって認識可能な形式の設定値である画像処理の入力項目に変換する。
一方、信号領域への撮像及び画像処理の実行結果の書き込み時、画像処理入出力項目−信号アドレス変換部14Bは、画像処理装置20からの画像処理の結果である画像処理の出力項目を、ラダープログラム解析部11Bによって認識可能な形式の信号に変換する。
次に、図19を参照して、第3実施形態に係る数値制御システム1Bによる工具T又はワークWの撮像及び画像処理の動作について説明する。図19は、第3実施形態に係る数値制御システム1Bによる工具T又はワークWの撮像及び画像処理の動作を示すフローチャートである。
まず、数値制御装置10Bにおけるラダープログラム解析部11Bは、ラダープログラムにおける1ブロックを読み取り(S1B)、指令内容を解析する(S2B)。
指令が信号の書き込み指令である場合、ラダープログラム解析部11Bは、信号格納部12Bの信号領域に引数を書き込む(S3B)。具体的には、ラダープログラム解析部11Bは、指令において第1引数に指定された信号アドレスに対応する信号領域に、第2引数を書き込む(S3B)。その後、後述のステップS11Bに移行する。
一方、ステップS2Bにおいて指令が撮像及び画像処理の起動指令である場合、通信部13は、画像処理入出力項目−信号アドレス変換部14Bに、画像処理入力項目の値を読み出すように要求する(S4B)。
次に、画像処理入出力項目−信号アドレス変換部14Bは、画像処理入力項目を予め定められた信号アドレスに変換し、変換した信号アドレスの値を信号格納部12Bの信号領域から読み出し、読み出した信号アドレスの値を画像処理入力項目の値として通信部13に応答する(S5B)。
次に、通信部13は、撮像及び画像処理の起動指令と、画像処理入出力項目−信号アドレス変換部14Bから取得した画像処理入力項目の値とを、画像処理装置20に送信する(S6B)。
画像処理装置20における画像処理部22は、上述のステップS7と同様に、数値制御装置10Bから受信した撮像及び画像処理の起動指令に基づいて、通信部21を介して視覚センサ2を操作し、工作機械における工具T又はワークWの撮像を行う(S7B)。
次に、画像処理部22は、上述のステップS8と同様に、視覚センサ2からの撮像画像に対して画像処理を実行し、画像処理入力項目の値に応じた画像処理出力項目の値を得る(S8B)。
次に、数値制御装置10Bにおける通信部13は、画像処理装置20から画像処理出力項目の値(実行結果)を取得し、画像処理入出力項目−信号アドレス変換部14Bに出力する(S9B)。
次に、画像処理入出力項目−信号アドレス変換部14Bは、通信部13から取得した画像処理出力項目の値を、予め定められた信号アドレスの値とみなし、信号アドレスに対応する信号格納部12Bの信号領域に書き込む(S10B)。
次に、ラダープログラム解析部11Bは、ラダープログラムの全てのブロックの解析が終了したか否かを判定する(S11B)。ラダープログラムの全てのブロックの解析が終了していない場合、ステップS1Bに戻り、ラダープログラムの次の1ブロックについて上述したステップS1B〜S11Bの処理を行う。
一方、ステップS11Bにおいてラダープログラムの全てのブロックの解析が終了した場合、数値制御システム1Bは、工具T又はワークWの撮像及び画像処理の動作を終了する。
次に、具体的な実施例を挙げながら本実施形態を詳細に説明するが、本実施形態はこれらの具体例に限定されない。
(実施例5)
例えば、実施例2において上述したように、ワークWを加工すると切粉が加工領域に溜まることがある。加工領域に切粉が溜まり過ぎると、機械の動作不良、又はワークWの加工不良が発生することがある。
そこで、実施例5では、ワークWの加工領域の撮像及び画像処理によって切粉の堆積量及び堆積領域(点の位置)を信号として信号領域に格納する。これにより、ワークWの加工領域の切粉の堆積量及び堆積領域(点の位置)に応じて切粉の除去を行うようにNCプログラムを作成することができる。
まず、図20Aに示すように、視覚センサ2を、ワークWにおける切粉が堆積しやすい領域に向けて設置する。
なお、本実施例では、工具T(主軸及び切削液用ノズル)は、NCプログラムの移動指令によりX方向、Y方向及びZ方向に移動する。そして、切粉堆積箇所向けノズルが、堆積した切粉を除去するためのノズルである。切粉堆積箇所向けノズルは、主軸の移動軸X、Y、Zとは別の切粉堆積箇所向けノズル用の移動軸XL、YLに沿うXL、YL方向に、ラダープログラムの移動指令により移動する。
次に、画像処理部において、視覚センサ2がワークWにおける切粉が堆積しやすい領域を撮像後にその画像を受け取り、その画像をもとに、切粉がある一定量溜まったことを示すフラグ、切粉の堆積領域(点の位置)X,Yを求めるようにしておく。
例えば、切粉が堆積しているかどうかやその位置は、ヒストグラムで明るさの違いを検知するなどして求められれば良い。
これは、一般的な画像処理ソフトで実現すればよい。
次に、図20Bに示すように、撮像及び画像処理のためのラダープログラムを作成する。このとき、画像処理入力項目及び画像処理出力項目は以下のように設定される。
画像処理入力項目:使用する視覚センサ番号(#100)、画像処理プログラム番号(#101)
画像処理出力項目:切粉がある一定量溜まったことを示すフラグ、切粉の堆積領域(点の位置)XL,YL(♯201,♯202,♯203)
次に、ラダープログラムを実行すると、上述した図19のフローチャートに従って撮像及び画像処理が実行され、図20Cに示すように画像処理の実行結果が信号領域に格納される。
これにより、ラダープログラム作成者は、加工時、信号領域の信号を読み出し、図20A及び図21に示すように、ワークWにおける切粉の堆積領域に切削液が当たるように切粉堆積箇所向けノズルを移動させる、というようなラダープログラムを作成することができる。
これにより、切削液を切粉に集中的に当てることで切粉を除去し、機械の動作不良、又はワークWの加工不良の発生を防ぐことができる。
更に、ラダープログラムはNCプログラムとは独立して実行されるので、NCプログラムによる加工と並行して、切粉を除去することができる。これにより、加工にかかる工数を削減することができる。
この第3実施形態の数値制御システム1Bでも、上述した第1実施形態の数値制御システム1と同様の利点を得ることができる。
第3実施形態では、画像処理入出力項目−信号アドレス変換部14Bが数値制御装置10B内に配置される形態を例示したが、画像処理入出力項目−信号アドレス変換部14Bは画像処理装置20内に配置されてもよい。
(第4実施形態)
第1実施形態では、画像処理入出力項目−変数番号変換部(画像処理入出力項目−運転制御情報変換部)14は、マクロ変数値テーブル格納部(運転制御情報格納部)12に格納された運転制御情報を、視覚センサ2及び画像処理装置20によって認識可能な形式の設定値である画像処理の入力項目に変換した。
第4実施形態では、画像処理入出力項目−運転制御情報変換部は、プログラム解析部がプログラムから読み出した指令を、視覚センサ及び画像処理装置によって認識可能な形式の設定値である画像処理の入力項目に変換する。
図22は、第4実施形態に係る数値制御システムを示す図である。図22に示す第4実施形態の数値制御システム1は、図2に示す数値制御システム1において、画像処理入出力項目−変数番号変換部14に代えて、画像処理入出力項目−運転制御情報変換部14を備える点で第1実施形態と異なる。
図23は、工具T又はワークWの撮像及び画像処理時、視覚センサ2及び画像処理装置20を制御するためのNCプログラムの一例(左部分)とその説明(右部分)を示す図である。図23に示すように、本実施形態では、視覚センサ番号、画像処理プログラム番号をマクロ変数♯100、♯101に代入する代わりに、G810のブロックで指定する。
画像処理入出力項目−運転制御情報変換部14は、プログラム解析部11がプログラムから読み出した起動指令を、視覚センサ2及び画像処理装置20によって認識可能な形式の設定値である画像処理の入力項目に変換する。
次に、図24を参照して、第4実施形態に係る数値制御システム1による工具T又はワークWの撮像及び画像処理の動作について説明する。図24は、第4実施形態に係る数値制御システム1による工具T又はワークWの撮像及び画像処理の動作を示すフローチャートである。
まず、上述同様に、数値制御装置10におけるNCプログラム解析部11は、NCプログラムにおける1ブロックを読み取り(S1)、指令内容を解析する。
次に、画像処理入出力項目−運転制御情報変換部14は、NCプログラム解析部11が読み出した撮像及び画像処理の起動指令の引数の値を、画像処理入力項目の値に変換する(S5C)。
次に、上述同様に、通信部13は、画像処理入出力項目−運転制御情報変換部14から取得した画像処理入力項目の値を、画像処理装置20に送信する(S6)。
すると、上述同様に、画像処理装置20における画像処理部22は、数値制御装置10から受信した撮像及び画像処理の起動指令に基づいて、通信部21を介して視覚センサ2を操作し、工作機械における工具T又はワークWの撮像を行う(S7)。
次に、上述同様に、画像処理部22は、視覚センサ2からの撮像画像に対して画像処理を実行し、画像処理入力項目の値に応じた画像処理出力項目の値を得る(S8)。
次に、上述同様に、数値制御装置10における通信部13は、画像処理装置20から画像処理出力項目の値(実行結果)を取得し、画像処理入出力項目−運転制御情報変換部14に出力する(S9)。
次に、上述同様に、画像処理入出力項目−運転制御情報変換部14は、通信部13から取得した画像処理出力項目の値を、予め定められた変数番号の値とみなし、変数番号に対応するマクロ変数値テーブル格納部12のマクロ変数値テーブルの領域に書き込む(S10)。
次に、上述同様に、NCプログラム解析部11は、NCプログラムの全てのブロックの解析が終了したか否かを判定する(S11)。NCプログラムの全てのブロックの解析が終了していない場合、ステップS1に戻り、NCプログラムの次の1ブロックについて上述したステップS1〜S11の処理を行う。
一方、ステップS11においてNCプログラムの全てのブロックの解析が終了した場合、数値制御システム1は、工具T又はワークWの撮像及び画像処理の動作を終了する。
この第4実施形態の数値制御システム1でも、第1実施形態の数値制御システム1と同様の利点を得ることができる。
更に、第4実施形態の数値制御システム1によれば、マクロ変数値テーブル格納部(運転制御情報格納部)12への設定、読み出しをすることなく視覚センサ2及び画像処理を起動できるので、処理時間が少なく済む。第4実施形態の数値制御システム1は、
画像処理入力項目の種類が少ない場合(マクロ変数の数の拡張性がメリットにならない場合)に有効である。
なお、第4実施形態の特徴は、上述した第2実施形態及び第3実施形態に適用されてもよい。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、種々の変更及び変形が可能である。例えば、上述した実施形態では、工作機械の工具又はワークの撮像及び画像処理の結果をNCプログラム又はラダープログラムに反映する数値制御システムを例示した。しかし、本発明の特徴はこれに限定されず、例えば、コンパイルしてROM(例えば、フラッシュメモリ)等に登録される実行形式のマクロプログラムに、工作機械の工具又はワークの撮像及び画像処理の結果を反映する数値制御システムにも適用可能である。このようなマクロプログラムとしては、例えばNCプログラムの一種であるP−CODEマクロが挙げられる。
また、上述した実施形態では、数値制御装置が画像処理装置を介して視覚センサを制御する形態を説明したが、画像処理装置が視覚センサを制御してもよい。
図25は、工具T又はワークWの撮像及び画像処理時、視覚センサ2及び画像処理装置20を制御するためのNCプログラムの一例(左部分)とその説明(右部分)を示す図である。図25に示すように、画像処理装置が視覚センサを制御する場合、NCプログラムでは、画像処理装置の操作に関する設定値(画像処理プログラム番号♯101など)のみを設定し、視覚センサに関する設定(視覚センサ番号など)は、画像処理装置に予め設定しておけばよい。
また、上述した実施形態では、工作機械を制御する数値制御システムを例示した。しかし、本発明の特徴はこれに限定されず、産業機械又は産業ロボット等の種々の機械を制御する数値制御システムに適用可能である。
また、上述した実施形態では、工作機械の工具又はワークを撮像する撮像装置として視覚センサを例示した。しかし、撮像装置はこれに限定されず、種々の撮像装置が用いられてもよい。
また、上述した実施形態では、数値制御装置と画像処理装置とが別の装置で構成される形態を説明したが、数値制御装置と画像処理装置とは一つの装置で構成される形態であってもよい。すなわち、数値制御装置及び画像処理装置の各構成要素は一つの装置に組み込まれる形態であってもよい。各構成要素の役割は上述同様である。
また、上述した実施形態では、画像処理装置と撮像装置とが別の装置で構成される形態を説明したが、画像処理装置と撮像装置とは一つの装置で構成される形態であってもよい。すなわち、画像処理装置及び撮像装置の各構成要素は一つの装置に組み込まれる形態であってもよい。各構成要素の役割は上述同様である。
1,1B 数値制御システム
2 視覚センサ(撮像装置)
10,10B 数値制御装置
11 NCプログラム解析部(プログラム解析部)
11B ラダープログラム解析部(プログラム解析部)
12 マクロ変数値テーブル格納部(運転制御情報格納部)
12B 信号格納部(運転制御情報格納部)
13 通信部
14 画像処理入出力項目−変数番号変換部(画像処理入出力項目−運転制御情報変換部)
14B 画像処理入出力項目−信号アドレス変換部(画像処理入出力項目−運転制御情報変換部)
20 画像処理装置
21 通信部
22 画像処理部
T 工具
W ワーク

Claims (4)

  1. ワークに所定の処理を施す機械を制御する数値制御システムであって、
    撮像装置によって撮像された機械又はワークの画像を画像処理する画像処理装置と、
    プログラムに基づいて、前記機械を制御すると共に、前記画像処理装置を制御する数値制御装置と、
    を備え、
    前記数値制御装置又は前記画像処理装置は、前記撮像装置を制御し、
    前記数値制御装置は、
    前記プログラムを解析するプログラム解析部と、
    前記機械、前記撮像装置及び前記画像処理装置を運転制御する際に必要な運転制御情報を、前記プログラム解析部によって読み書き可能な形式で格納する運転制御情報格納部と、
    を備え、
    前記数値制御システムは、前記プログラム解析部が前記プログラムから読み出した指令又は前記運転制御情報格納部に格納された前記運転制御情報を、前記撮像装置及び前記画像処理装置によって認識可能な形式の設定値である画像処理の入力項目に変換すると共に、前記画像処理装置からの画像処理の結果である画像処理の出力項目を、前記プログラム解析部によって認識可能な形式の運転制御情報に変換する画像処理入出力項目−運転制御情報変換部を備え
    前記画像処理の出力項目は、前記ワークの切粉の堆積量及び堆積領域に関する情報を含み、
    前記プログラムは、前記ワークの前記切粉の堆積量及び堆積領域に応じて前記切粉の除去を行うプログラムを含む、
    数値制御システム。
  2. 前記運転制御情報格納部は、前記プログラム解析部によって読み書き可能なマクロ変数の値を格納する、請求項1に記載の数値制御システム。
  3. 前記画像処理入出力項目−運転制御情報変換部は、前記数値制御装置内に配置される、請求項1又は2に記載の数値制御システム。
  4. 前記画像処理入出力項目−運転制御情報変換部は、前記画像処理装置内に配置される、請求項1又は2に記載の数値制御システム。
JP2018077770A 2018-04-13 2018-04-13 数値制御システム Active JP6829221B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018077770A JP6829221B2 (ja) 2018-04-13 2018-04-13 数値制御システム
DE102019202908.6A DE102019202908A1 (de) 2018-04-13 2019-03-05 Numerisches Steuersystem
US16/298,284 US10678212B2 (en) 2018-04-13 2019-03-11 Numerical control system
CN201910275619.6A CN110376961A (zh) 2018-04-13 2019-04-08 数值控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018077770A JP6829221B2 (ja) 2018-04-13 2018-04-13 数値制御システム

Publications (2)

Publication Number Publication Date
JP2019185545A JP2019185545A (ja) 2019-10-24
JP6829221B2 true JP6829221B2 (ja) 2021-02-10

Family

ID=68053021

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018077770A Active JP6829221B2 (ja) 2018-04-13 2018-04-13 数値制御システム

Country Status (4)

Country Link
US (1) US10678212B2 (ja)
JP (1) JP6829221B2 (ja)
CN (1) CN110376961A (ja)
DE (1) DE102019202908A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2020275387A1 (en) * 2019-05-14 2021-10-28 NEXA3D Inc. Robotic powder bed carts and compatible printer housings for SLS three-dimensional printing
JP6833145B1 (ja) * 2020-07-30 2021-02-24 三菱電機株式会社 数値制御装置および数値制御システム
EP3955071A1 (de) * 2020-08-10 2022-02-16 Siemens Aktiengesellschaft Betriebsverfahren für eine werkzeugmaschine, computerprogrammprodukt, steuereinheit und werkzeugmaschine
CN112558545B (zh) * 2020-11-17 2022-07-15 沈机(上海)智能系统研发设计有限公司 基于机床加工的交互系统、方法及存储介质
JP7209907B1 (ja) * 2022-04-28 2023-01-20 三菱電機株式会社 情報処理装置、制御システム、情報処理方法、およびプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62130410A (ja) * 1985-12-02 1987-06-12 Mitsubishi Electric Corp 数値制御装置
JPH01159703A (ja) * 1987-12-17 1989-06-22 Mitsubishi Electric Corp 数値制御装置
JP2993158B2 (ja) * 1990-04-05 1999-12-20 三菱電機株式会社 数値制御装置
JPH103307A (ja) * 1996-06-17 1998-01-06 Fanuc Ltd 数値制御装置
DE10297651T5 (de) * 2002-02-07 2005-05-19 Mitsubishi Denki K.K. Numerisches Steuerverfahren und numerisches Steuersystem
JP5620446B2 (ja) * 2012-09-24 2014-11-05 ファナック株式会社 Gコード指令によりビデオカメラを操作する機能を備えた数値制御装置
US9811759B2 (en) * 2012-12-10 2017-11-07 Mitsubishi Electric Corporation NC program searching method, NC program searching unit, NC program creating method, and NC program creating unit
JP6266268B2 (ja) * 2013-08-28 2018-01-24 Dmg森精機株式会社 表示装置
JPWO2015155821A1 (ja) * 2014-04-07 2017-04-13 三菱電機株式会社 数値制御装置
US20180210420A1 (en) * 2014-07-23 2018-07-26 Mitsubishi Electric Corporation Display device and display method
JP2016194843A (ja) * 2015-04-01 2016-11-17 ファナック株式会社 複数画像を用いたプログラム表示機能を有する数値制御装置
JP2016218550A (ja) * 2015-05-15 2016-12-22 ファナック株式会社 加工に使用する工具の取付け状態を確認する数値制御装置
JP6407812B2 (ja) * 2015-07-14 2018-10-17 ファナック株式会社 ワーク原点を取得可能な工作機械制御システムおよびワーク原点設定方法
JP6553552B2 (ja) * 2016-07-25 2019-07-31 ファナック株式会社 カメラを使って計測動作を自動化する機能を備えた数値制御装置

Also Published As

Publication number Publication date
US10678212B2 (en) 2020-06-09
DE102019202908A1 (de) 2019-10-17
JP2019185545A (ja) 2019-10-24
CN110376961A (zh) 2019-10-25
US20190317474A1 (en) 2019-10-17

Similar Documents

Publication Publication Date Title
JP6829221B2 (ja) 数値制御システム
CN106346315B (zh) 能够取得工件原点的机床控制系统以及工件原点设定方法
JP4784752B2 (ja) 画像処理装置
EP2082850B1 (en) Generating device of processing robot program
JP2016218550A (ja) 加工に使用する工具の取付け状態を確認する数値制御装置
JP6514264B2 (ja) 工作機械の制御システム
WO2014155723A1 (ja) 数値制御装置
JP2005103681A (ja) ロボットシステム
JP6677706B2 (ja) リンク情報生成装置、リンク情報生成方法及びリンク情報生成プログラム
CN111225142A (zh) 图像处理装置及其控制方法和记录介质
WO2018225159A1 (ja) 情報処理装置および加工不良特定方法
JP6871220B2 (ja) 制御システム
US10459427B2 (en) Numeric controller with notification of a CAM system in the event of a change in the subroutine
JP6696465B2 (ja) コントロールシステム、コントローラ及び制御方法
US20070216332A1 (en) Method for Effecting the Movement of a Handling Device and Image Processing Device
US10007837B2 (en) Determining the robot axis angle and selection of a robot with the aid of a camera
WO2016147834A1 (ja) 工作機械
JP4451708B2 (ja) 誤加工防止装置および誤加工防止方法
US20210132581A1 (en) Simulation device, numerical control device, and simulation method
WO2014091897A1 (ja) ロボット制御システム
CN112135036A (zh) 图像处理系统和产业机械
JP2672595B2 (ja) 工具入替え方法
US11698434B2 (en) Machine control device
WO2022176241A1 (ja) 工作機械、工作機械の制御方法、および工作機械の制御プログラム
WO2023181206A1 (ja) ロボットプログラミングシステム及びロボット制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190911

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191217

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200806

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201102

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201102

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201113

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210121

R150 Certificate of patent or registration of utility model

Ref document number: 6829221

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150