JP7436192B2 - 制御装置及び産業機械 - Google Patents
制御装置及び産業機械 Download PDFInfo
- Publication number
- JP7436192B2 JP7436192B2 JP2019220079A JP2019220079A JP7436192B2 JP 7436192 B2 JP7436192 B2 JP 7436192B2 JP 2019220079 A JP2019220079 A JP 2019220079A JP 2019220079 A JP2019220079 A JP 2019220079A JP 7436192 B2 JP7436192 B2 JP 7436192B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- command
- unit
- subprogram
- cache memory
- 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
Links
- 238000012545 processing Methods 0.000 claims description 35
- 238000003860 storage Methods 0.000 claims description 28
- 238000004458 analytical method Methods 0.000 claims description 27
- 238000012790 confirmation Methods 0.000 claims description 14
- 230000001629 suppression Effects 0.000 claims description 8
- 238000000034 method Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 7
- 238000003754 machining Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000002826 coolant Substances 0.000 description 1
- 239000000498 cooling water Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31124—Interface between communication network and process control, store, exchange data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/452—Instruction code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Description
産業機械を制御する制御装置には、産業機械の動作に係る動作プログラムを記憶している。動作プログラムは、例えば、数値制御装置の場合には、加工プログラムであり、ロボットコントローラの場合には、ロボットを制御するためのロボットプログラムである。加工プログラムの場合には、軸を動作させる指令や、数値計算が含まれており、加工プログラムを実行することにより、ワークを加工する。そして、加工プログラムは、例えば、記憶媒体等の記憶領域に格納されており、加工処理時には、加工プログラムをキャッシュメモリに展開して実行することが行われている。ロボットプログラムの場合は、例えば、関節軸に係る指令が含まれており、ロボットプログラムを実行することによりロボットを動作させる。ロボットプログラムも加工プログラムと同様に、例えば、記憶媒体等の記憶領域に格納されており、ロボット制御時には、ロボットプログラムをキャッシュメモリに展開して実行することが行われる。
特に、数値制御装置等の産業機械を制御する制御装置においては、加工プログラム内の指令により別のプログラムを呼び出す処理が数多く存在する。一例として、自動盤では、頻繁にサブプログラムの呼び出しが行われる。そのため、現状のハードウェア構成のままで加工プログラム等を効率的にキャッシュメモリに展開する仕組みが求められている。
まず、一態様の実施形態の概略を説明する。本実施形態では、産業機械として工作機械を例示する。また、本実施形態では、制御装置として数値制御装置を例示し、動作プログラムとして加工プログラムを例示する。
本実施形態は、数値制御装置において加工プログラムを実行し、加工プログラムにサブプログラムの呼び出しがある場合に、運転負荷が低い指令にサブプログラムをキャッシュメモリに展開する指令を自動で追加するものに関する。
図1に示す生産システム100は、数値制御装置1と、工作機械4とを備える。数値制御装置1は、工作機械4が行う、例えば、ワークを加工するための各種動作の制御を行う制御装置である。そして、数値制御装置1と工作機械4とは、通信回線Nにより通信可能に接続されている。通信回線Nは、信号の送受信が行えるものであればよい。
ここで、本実施形態では、数値制御装置1と工作機械4とは別体であるものを例示する。しかし、これに限定されるものではなく、数値制御装置1と工作機械4とが一体であって、数値制御装置1が工作機械4に含まれる構成のものであってもよい。
数値制御装置1は、CPU10と、記憶装置20と、通信IF(インタフェース)29とを備える。また、数値制御装置1は、入力装置31及び表示装置32に対して通信可能に接続されている。
CPU10は、数値制御装置1を全体的に制御するプロセッサである。CPU10は、記憶装置20のプログラム記憶部22に格納された加工プログラムを、キャッシュメモリ26に展開した上で、キャッシュメモリ26の加工プログラムを実行して数値制御装置1の全体を制御する。
ROM21は、プログラム記憶部22と、負荷情報記憶部23とを備える。
プログラム記憶部22は、加工プログラムや、加工プログラムが呼び出すサブプログラム等の各種のプログラム、その他各種システムプログラムを記憶する記憶領域である。なお、CPU10は、外部機器(図示せず)を介して、記憶媒体からプログラム記憶部22に、加工プログラム等を予め記憶させてもよい。
負荷情報記憶部23は、加工プログラムの指令ごとに、CPU10に関する運転負荷を記憶する。指令ごとのCPU10に関する運転負荷については、後述の運転負荷判断部14の機能説明において詳述する。
キャッシュメモリ26は、高速な記憶装置であり、プログラム記憶部22から読み取った加工プログラム等を記憶する。キャッシュメモリ26は、プログラム等を予め展開(キャッシュ)しておくことにより、相対的に低速なROM21へのアクセスを減らして、処理を高速化することができるものである。
キャッシュメモリ26は、後述するが複数の分割領域によって構成される。
キャッシュ制御部11は、加工プログラムをキャッシュメモリ26に展開する。キャッシュ制御部11は、キャッシュ制御要求処理部12を備える。
キャッシュ制御要求処理部12は、後述するキャッシュ制御要求に基づいて加工プログラムから呼び出されるサブプログラムを、キャッシュメモリ26に展開する。また、キャッシュ制御要求処理部12は、不要になったサブプログラムを、キャッシュメモリ26から消去する。
解析部13は、キャッシュメモリ26に展開された加工プログラムを解析する。解析部13は、運転負荷判断部14と、呼び出し確認部15と、制御指令追加部16(キャッシュ制御指令追加部)と、キャッシュ制御要求部17とを備える。
運転負荷判断部14が行うCPU10に関する運転負荷の判断は、例えば、CPU10の使用率を用いるものがある。例えば、負荷情報記憶部23に、指令ごとに開始から終了までにかかる時間や、CPU使用率情報等の実測値を蓄積しておき、運転負荷判断部14は、CPU使用率がa%以下の指令、又は、CPU使用率がb%以下であり、かつ、処理時間がcミリ秒以上の場合に、運転負荷が低いと判断してもよい。なお、a,b,cは、いずれも規定値であり、予め設定した値である。
また、CPU10に関する運転負荷の判断は、待ち指令(dwell)の有無や、待ち指令の待ち時間(ミリ秒)を用いてもよい。待ち指令があれば、運転負荷は当然に低くなる。
なお、一般的に、加工プログラムが小さいブロックの連続であれば、CPU10を使用した計算処理が多く行われるため、運転負荷が高くなる傾向にある。
制御指令追加部16は、呼び出し確認部15により、サブプログラムの呼び出し指令が確認された場合に、所定条件に従ってサブプログラムのキャッシュメモリ26への展開に係るキャッシュ制御指令を当該指令に追加する。
ここで、制御指令追加部16は、呼び出し確認部15により、サブプログラムの呼び出し指令が確認された場合に、必ずサブプログラムのキャッシュメモリ26への展開に係るキャッシュ制御指令を当該指令に追加するわけではない。例えば、サブプログラムの呼び出し指令より前に解析抑制指令(マスクバッファ)が存在する場合には、キャッシュ制御指令を追加しない。
運転部18は、解析部13から渡される解析された指令に基づき、軸制御を行うことで、工作機械4を動作させる。
入力装置31及び表示装置32は、例えば、表示器/MDIユニットである。表示器/MDIユニットは、ディスプレイやキーボード等を備えた手動データ入力装置である。
次に、本実施形態の数値制御装置1における制御処理を説明する。
図2及び図3は、数値制御装置1での制御処理に係るフローチャートである。
オペレータが、例えば、数値制御装置1の図示しない電源を投入し、数値制御装置1を起動させることで、図2のステップS(以下、「ステップS」を、単に「S」という。)11において、数値制御装置1のCPU10(キャッシュ制御部11)は、プログラム記憶部22に記憶されている加工プログラムを、キャッシュメモリ26に展開する。
S12において、CPU10(解析部13)は、S11でキャッシュメモリ26に展開された加工プログラムを解析する。
また、CPU10(運転負荷判断部14)は、運転部18に渡された指令が実行されたときにおけるCPU10に関する運転負荷を、当該指令に対応付けて負荷情報記憶部23に記憶させるようにしてもよい。この処理により、負荷情報記憶部23には、指令ごとの運転負荷の実測値が蓄積される。
S14において、CPU10は、当該指令以降を先読みし、サブプログラム呼び出し指令の探索をするサブプログラム呼び出し指令の探索処理を行う。
図3のS21において、CPU10(解析部13)は、当該指令以降を先読みする。なお、何ブロック先まで先読みするかは、数値制御装置1において予め設定されているものとする。
S22において、CPU10(呼び出し確認部15)は、サブプログラムの呼び出し指令があるか否かを判断する。サブプログラムの呼び出し指令がある場合(S22:YES)には、CPU10は、処理をS23に移す。他方、サブプログラムの呼び出し指令がない場合(S22:NO)には、CPU10は、処理を図2のS15に移す。
S24において、CPU10(制御指令追加部16)は、当該サブプログラムが、キャッシュメモリ26に既に展開済であるか否かを判断する。既にキャッシュメモリ26に展開済である場合(S24:YES)には、CPU10は、処理をS25に移す。他方、キャッシュメモリ26に展開されていない場合(S24:NO)には、CPU10は、処理をS26に移す。
S27において、CPU10(キャッシュ制御要求部17)は、キャッシュ制御部11に対して、追加されたキャッシュ制御指令(確保要求)に応じた、キャッシュメモリ26に対するキャッシュ制御要求を行う。そして、CPU10(キャッシュ制御要求処理部12)は、キャッシュ制御要求に基づいて、サブプログラムをキャッシュメモリ26に展開するキャッシュ処理を行う。その後、CPU10は、処理を図2のS15に移す。
次に、具体例に基づき、キャッシュ制御指令の追加処理について説明する。
図4Aは、「O0001」である加工プログラムPG01の例を示す。
加工プログラムPG01は、1つの指令を1行にしてブロック単位で処理を行うプログラムである。ここで、ブロックB03は、CPU10に関する運転負荷が規定値以下である、運転負荷の低い指令を示す。なお、「M08」は、クーラント(冷却水)ONを示す指令である。その場合、CPU10は、加工プログラムPG01を、図4Aの矢印の方向(下方向)に先読みしていく。そうすると、CPU10は、「O0002」であるサブプログラムの呼び出し指令であるブロックB06を確認する。そして、CPU10は、図4Bに示す加工プログラムPG01-Aに示すように、元のブロックB03(図4A)の「M08」に、「O0002」であるサブプログラムのキャッシュメモリ26への展開に係るキャッシュ制御指令(確保要求)「CACHE O2」を追加することで、ブロックB03をブロックB03-Aにする。
このようにすることで、CPU10は、当該指令に追加されたキャッシュ制御指令(確保要求)に応じた、キャッシュメモリ26に対するキャッシュ制御要求を行い、キャッシュ制御要求に基づいてサブプログラムをキャッシュメモリ26に展開するキャッシュ処理を行う。そのため、指令がブロックB06に到達した際には、既にキャッシュメモリ26にサブプログラムが展開されているため、処理を効率的に行うことができる。
次に、キャッシュメモリ26への展開処理について説明する。
図5は、キャッシュメモリ26には、サブプログラムが何もキャッシュ(展開)されていない場合の例である。
この場合、解析部13は、キャッシュメモリ26を確認して(S1)キャッシュ制御指令(確保要求)に応じたキャッシュ制御要求を、キャッシュ制御部11に対して行う(S2)。キャッシュ制御部11は、キャッシュ制御要求を受信すると、プログラム記憶部22に対して該当のサブプログラムの読み取りを行う(S3)。また、キャッシュ制御部11は、読み取ったサブプログラムを、キャッシュメモリ26に展開する(S4)。キャッシュメモリ26には、当該処理前にはサブプログラムが何もキャッシュされていないため、読み取ったサブプログラムは、先頭の分割領域27-1に展開される。なお、サブプログラムが一定サイズ以上の場合には、データを一定サイズに分割した上で、複数の分割領域27-n(nは、自然数)に分けて展開する。
この場合、解析部13は、キャッシュメモリ26を確認し(S5)、キャッシュ制御指令(確保要求)に応じたキャッシュ制御要求を、キャッシュ制御部11に対して行う(S6)。ここで、サブプログラムは、分割領域27-11~27-16に展開済であるが、先頭データがない。そのため、キャッシュ制御指令(確保要求)に応じたキャッシュ制御要求は、先頭データからのサブプログラムの展開に係る要求になる。キャッシュ制御部11は、キャッシュ制御要求を受信すると、プログラム記憶部22に対して該当の加工プログラムの読み取りを行う(S7)。また、キャッシュ制御部11は、読み取った加工プログラムを、キャッシュメモリ26に展開する(S8)。その際、キャッシュメモリ26の先頭の分割領域27-1には、何もキャッシュされていないため、読み取った加工プログラムは、先頭の分割領域27-1に展開される。なお、既に展開されているサブプログラムについては、展開前に消去をするようにしてもよい。
上述した実施形態では、産業機械として工作機械を例示すると共に、工作機械と制御装置とが別の装置であるものを例に説明したが、これに限定されない。上述したように、工作機械と制御装置とが一体になった装置であってもよい。
また、制御装置として数値制御装置に代えて、例えば、産業用ロボットを制御するロボットコントローラ等であってもよい。さらに、産業機械として工作機械に代えて、例えば、産業用ロボット等であってもよい。
上述した実施形態では、系統(運転単位)については、特に触れていないが、例えば、工作機械に複数の系統を有する場合であっても用いることができる。複数の系統がある場合には、加工プログラムは、各々異なるプログラムを用いる。このような場合であっても、各系統で独立して処理を行うことができる。
具体的には、工作機械が、例えば、2系統存在していて、各系統で異なる加工プログラムを実行している場合を考える。この場合、各系統で独立して加工プログラムを実行でき、例えば、待ち指令や運転負荷も個別に有する。例えば、1系統目に待ち指令があって、キャッシュ制御をしている間に、2系統目は、1系統目のキャッシュ制御とは独立して運転を続けることができる。また、1系統目がキャッシュ制御をしている間に、2系統目にも待ち指令が見つかった場合には、2系統目でも、キャッシュ制御をすることができる。
上述した実施形態では、運転負荷の低い指令に、サブプログラムのキャッシュ制御指令を追加するものを例に説明した(図4B参照)が、これに限定されない。例えば、運転負荷の低い指令の直前に、サブプログラムのキャッシュ制御指令を追加してもよい。その場合であっても、運転負荷の低い指令の際にサブプログラムのキャッシュを行うので、加工処理の影響を抑えることができる。
(1) 工作機械4を制御する数値制御装置1が、工作機械4の動作に係る加工プログラムを格納するプログラム記憶部22と、プログラム記憶部22から読み取った加工プログラムを記憶するキャッシュメモリ26と、キャッシュメモリ26への書込及び破棄の制御を行うキャッシュ制御部11と、キャッシュメモリ26に展開された加工プログラムを解析する解析部13と、を備え、解析部13は、加工プログラムに含まれる指令の、CPU10に関する運転負荷が規定値を下回るか否かを判断する運転負荷判断部14と、運転負荷判断部14により運転負荷が規定値を下回ったと判断された場合に、キャッシュメモリ26に展開された加工プログラムに含まれる当該指令より後の指令を先読みし、サブプログラムの呼び出し指令の有無を確認する呼び出し確認部15と、呼び出し確認部15により、サブプログラムの呼び出し指令が確認された場合に、所定条件に従ってサブプログラムのキャッシュメモリ26への展開に係るキャッシュ制御指令を当該指令に追加する制御指令追加部16と、キャッシュ制御部11に対して、制御指令追加部16により追加されたキャッシュ制御指令に応じた、キャッシュメモリ26に対するキャッシュ制御要求を行うキャッシュ制御要求部17と、を備え、キャッシュ制御部11は、キャッシュ制御要求部17によるキャッシュ制御要求に基づいて、サブプログラムをキャッシュメモリ26に展開するキャッシュ制御要求処理部を備える。
また、数値制御装置1は、キャッシュ制御のタイミングを、運転負荷が低い指令時にすることで、加工処理への影響を軽減できる。
さらに、例えば、起動時にキャッシュメモリ26に全てをキャッシュすると起動時間に影響するが、加工プログラムの処理中に行うことで、起動時間に影響を及ぼさずに済み、かつ、不要なキャッシュを抑制できる。
これにより、過去の運転履歴から得られる実測値に基づいて、運転負荷が低い指令を判断できる。
これにより、解析抑制指令が存在する場合には、先読みが禁止されているため、その場合を除外できる。また、解析抑制指令が存在しなければ、サブプログラムをキャッシュメモリ26に展開できる。
これにより、サブプログラムがキャッシュメモリ26に展開されていない場合には、キャッシュメモリ26にサブプログラムを展開させることができる。
また、サブプログラムがキャッシュメモリ26に展開されている場合であっても、指定位置からのプログラムをキャッシュメモリ26に展開させることができる。サブプログラムがキャッシュメモリ26に展開されている場合であっても、例えば、指定位置(先頭を含む)からのサブプログラムがキャッシュメモリ26にない場合や、途中で編集等がされて、展開された情報が最新でない場合がある。その場合であっても、指定位置からのプログラムをキャッシュメモリ26に展開させるので、正確に処理を行うことができる。
これにより、各系統で独立して処理を行うことができる。
4 工作機械
10 CPU
11 キャッシュ制御部
12 キャッシュ制御要求処理部
13 解析部
14 運転負荷判断部
15 呼び出し確認部
16 制御指令追加部(キャッシュ制御指令追加部)
17 キャッシュ制御要求部
18 運転部
20 記憶装置
21 ROM
22 プログラム記憶部
23 負荷情報記憶部
25 RAM
26 キャッシュメモリ
100 生産システム
Claims (6)
- 産業機械を制御する制御装置であって、
前記産業機械の動作に係る動作プログラムを格納する記憶領域と、
前記記憶領域から読み取った前記動作プログラムを記憶するキャッシュメモリと、
前記キャッシュメモリへの書込及び破棄の制御を行うキャッシュ制御部と、
前記キャッシュメモリに展開された前記動作プログラムを解析する解析部と、
を備え、
前記解析部は、
前記動作プログラムに含まれる指令の、CPUに関する運転負荷が規定値を下回るか否かを判断する運転負荷判断部と、
前記運転負荷判断部により運転負荷が規定値を下回ったと判断された場合に、前記キャッシュメモリに展開された前記動作プログラムに含まれる前記指令より後の指令を先読みし、サブプログラムの呼び出し指令の有無を確認する呼び出し確認部と、
前記呼び出し確認部により、前記サブプログラムの呼び出し指令が確認された場合に、所定条件に従って前記サブプログラムの前記キャッシュメモリへの展開に係るキャッシュ制御指令を前記指令に追加するキャッシュ制御指令追加部と、
前記キャッシュ制御部に対して、前記キャッシュ制御指令追加部により追加された前記キャッシュ制御指令に応じた、前記キャッシュメモリに対するキャッシュ制御要求を行うキャッシュ制御要求部と、
を備え、
前記キャッシュ制御部は、前記キャッシュ制御要求部による前記キャッシュ制御要求に基づいて、前記サブプログラムを前記キャッシュメモリに展開するキャッシュ制御要求処理部を備える、制御装置。 - 請求項1に記載の制御装置において、
指令ごとのCPUに関する運転負荷を記憶する負荷情報記憶部を備え、
前記運転負荷判断部は、前記負荷情報記憶部を参照して、前記CPUに関する運転負荷が規定値を下回るか否かを判断する、制御装置。 - 請求項1又は請求項2に記載の制御装置において、
前記キャッシュ制御指令追加部は、前記呼び出し確認部により前記サブプログラムの呼び出し指令が確認された場合に、前記サブプログラムの呼び出し指令より前に解析抑制指令が存在しない場合に限り前記キャッシュ制御指令を前記指令に追加する、制御装置。 - 請求項1から請求項3までのいずれかに記載の制御装置において、
前記キャッシュ制御指令追加部は、前記キャッシュメモリに指定の前記サブプログラムが既に展開されているか否かを判断し、前記サブプログラムが展開されていない場合には、先頭データからの前記サブプログラムの前記キャッシュメモリへの展開に係る前記キャッシュ制御指令を前記指令に追加し、前記サブプログラムが展開されている場合には、前記サブプログラムの呼び出し指令の内容に基づいて、指定位置からの前記サブプログラムの前記キャッシュメモリへの展開に係る前記キャッシュ制御指令を前記指令に追加する、制御装置。 - 請求項1から請求項4までのいずれかに記載の制御装置において、
前記動作プログラムは、前記産業機械の系統ごとにそれぞれ実行されるものであり、
前記キャッシュ制御部及び前記解析部による処理は、前記系統ごとに行われるものである、制御装置。 - 請求項1から請求項5までのいずれかに記載の制御装置を含む産業機械。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019220079A JP7436192B2 (ja) | 2019-12-05 | 2019-12-05 | 制御装置及び産業機械 |
US17/101,466 US11366755B2 (en) | 2019-12-05 | 2020-11-23 | Controller and industrial machine |
DE102020131816.2A DE102020131816A1 (de) | 2019-12-05 | 2020-12-01 | Steuerung und industriemaschine |
CN202011403536.XA CN112925262A (zh) | 2019-12-05 | 2020-12-02 | 控制装置以及工业机械 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019220079A JP7436192B2 (ja) | 2019-12-05 | 2019-12-05 | 制御装置及び産業機械 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021089620A JP2021089620A (ja) | 2021-06-10 |
JP7436192B2 true JP7436192B2 (ja) | 2024-02-21 |
Family
ID=76162637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019220079A Active JP7436192B2 (ja) | 2019-12-05 | 2019-12-05 | 制御装置及び産業機械 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11366755B2 (ja) |
JP (1) | JP7436192B2 (ja) |
CN (1) | CN112925262A (ja) |
DE (1) | DE102020131816A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020184179A (ja) * | 2019-05-08 | 2020-11-12 | ファナック株式会社 | 加工制御システム及び加工システム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008040734A (ja) | 2006-08-04 | 2008-02-21 | Hitachi Ltd | 実行コードの生成方法及びプログラム |
JP2011107995A (ja) | 2009-11-18 | 2011-06-02 | Fujitsu Ltd | メモリデータ転送装置およびメモリデータ転送方法 |
JP2017120587A (ja) | 2015-12-28 | 2017-07-06 | ファナック株式会社 | キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4413663B2 (ja) | 2004-03-17 | 2010-02-10 | 富士通株式会社 | 命令キャッシュシステム |
US8037285B1 (en) * | 2005-09-28 | 2011-10-11 | Oracle America, Inc. | Trace unit |
US10296343B2 (en) * | 2017-03-30 | 2019-05-21 | Intel Corporation | Hybrid atomicity support for a binary translation based microprocessor |
-
2019
- 2019-12-05 JP JP2019220079A patent/JP7436192B2/ja active Active
-
2020
- 2020-11-23 US US17/101,466 patent/US11366755B2/en active Active
- 2020-12-01 DE DE102020131816.2A patent/DE102020131816A1/de active Pending
- 2020-12-02 CN CN202011403536.XA patent/CN112925262A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008040734A (ja) | 2006-08-04 | 2008-02-21 | Hitachi Ltd | 実行コードの生成方法及びプログラム |
JP2011107995A (ja) | 2009-11-18 | 2011-06-02 | Fujitsu Ltd | メモリデータ転送装置およびメモリデータ転送方法 |
JP2017120587A (ja) | 2015-12-28 | 2017-07-06 | ファナック株式会社 | キャッシュロックを学習する機械学習器,産業機械システム,製造システム,機械学習方法および機械学習プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN112925262A (zh) | 2021-06-08 |
JP2021089620A (ja) | 2021-06-10 |
US11366755B2 (en) | 2022-06-21 |
DE102020131816A1 (de) | 2021-07-01 |
US20210173775A1 (en) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140364989A1 (en) | Controller for controlling machine tool and robot | |
US9494928B2 (en) | Numerical control apparatus | |
JP7436192B2 (ja) | 制御装置及び産業機械 | |
JP6472227B2 (ja) | 数値制御装置 | |
JP2017134505A (ja) | 加工シミュレーションで解析したデータを実加工に使用する数値制御システム | |
JP3451594B2 (ja) | 数値制御装置における記憶手段アクセス制御方法および数値制御装置 | |
JP2010033150A (ja) | 数値制御工作機械 | |
US11320800B2 (en) | Optimization device | |
JP6538754B2 (ja) | 数値制御装置 | |
CN112147953B (zh) | 数值控制装置 | |
JP7464386B2 (ja) | 制御装置、及び制御方法 | |
JP2007213241A (ja) | 割り込み加工可能な数値制御工作機械 | |
JP4867876B2 (ja) | 数値制御装置、数値制御プログラム及び数値制御プログラムを記憶した記憶媒体 | |
JP7401244B2 (ja) | 制御装置、及び制御方法 | |
JP7343340B2 (ja) | 工作機械の加工制御装置及び加工制御方法 | |
JP7137042B1 (ja) | 産業機械の制御装置 | |
US11454950B2 (en) | Machining control system and machining system | |
JP7303014B2 (ja) | 制御装置 | |
JP7294891B2 (ja) | 加工制御システム及び加工システム | |
JP6046099B2 (ja) | 高速応答制御を備えた数値制御装置 | |
JP7498276B2 (ja) | 工作機械システム | |
JPH056213A (ja) | 産業用ロボツト制御方法およびその装置 | |
WO2023073835A1 (ja) | 選択装置、シミュレーション装置、及び通信制御装置 | |
JP6568152B2 (ja) | 数値制御装置 | |
CN117280287A (zh) | 数值控制装置以及计算机可读取的存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221021 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231011 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231017 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231031 |
|
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: 20240109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240208 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7436192 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |