JP7303014B2 - Control device - Google Patents
Control device Download PDFInfo
- Publication number
- JP7303014B2 JP7303014B2 JP2019087862A JP2019087862A JP7303014B2 JP 7303014 B2 JP7303014 B2 JP 7303014B2 JP 2019087862 A JP2019087862 A JP 2019087862A JP 2019087862 A JP2019087862 A JP 2019087862A JP 7303014 B2 JP7303014 B2 JP 7303014B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- unit
- processes
- control device
- block
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Numerical Control (AREA)
Description
本発明は、制御装置に関し、特に効率よくメモリを活用できる制御装置に関する。 TECHNICAL FIELD The present invention relates to a control device, and more particularly to a control device that can efficiently utilize memory.
従来、旋盤、研削盤、マシニングセンタなどの多種の工作機械において、多様化する用途、目的に応じて、さまざまな機能を実現するためのプロセスが開発され、個々の工作機械に拡張的に搭載されてきた。本発明においてプロセスとは、制御システムを構成する上位サーバや制御装置において、NCプログラムの解析や実行、システムの管理、ユーザの作業支援を行うために実行されるシステム・プログラムの実行単位のことを意味する。プロセスの例としては、事前にNCプログラムから実行形式データを生成する前処理プロセスや、加工に関する基本的な情報を表示するための基本画面プロセス、工作機械に取り付けられている工具を管理するための工具管理プロセス等が挙げられる。 Conventionally, in various machine tools such as lathes, grinders, and machining centers, processes have been developed to realize various functions according to diversifying applications and purposes, and have been extensively installed in individual machine tools. rice field. In the present invention, a process is an execution unit of a system program that is executed to analyze and execute NC programs, manage the system, and support user's work in a host server or control device that constitutes a control system. means. Examples of processes include a preprocessing process that generates executable data from the NC program in advance, a basic screen process that displays basic information about machining, and a tool management tool that is attached to the machine tool. A tool management process and the like can be mentioned.
汎用的な工作機械に、こうした様々なプロセスを追加的に搭載することにより、これらプロセスを展開するための大容量メモリと、これらプロセスを実行するための高性能CPUを搭載する必要があり、工作機械のコストが上がる原因となっていた。また、複数の工作機械を用いて加工を行う際に、たとえ同一の設定をする場合であっても作業者はそれぞれの工作機械の画面を見ながら入力装置を操作して設定をする必要があるため、これが作業効率低下の原因の一つとなっていた。 By additionally installing these various processes in a general-purpose machine tool, it is necessary to install a large-capacity memory for developing these processes and a high-performance CPU for executing these processes. This caused the cost of the machine to rise. Also, when performing machining using a plurality of machine tools, even if the same settings are to be made, the operator must operate the input device while looking at the screen of each machine tool to make the settings. Therefore, this has been one of the causes of lower work efficiency.
一方で、近年ではネットワーク技術の発展により、工場の工作機械をホストコンピュータやセルコントローラといった上位サーバに接続し、サーバからの加工指示や、制御命令に従って稼動するシステムが増えている。また、クラウドシステムのように、サーバ上でプロセスを実行し、その結果を工作機械で利用する形態もある。 On the other hand, in recent years, with the development of network technology, there has been an increase in the number of systems in which machine tools in factories are connected to upper servers such as host computers and cell controllers and operate according to processing instructions and control commands from the servers. There is also a form, such as a cloud system, in which a process is executed on a server and the result is used by a machine tool.
こうした中、特許文献1により、複数の工作機械の運転に必要とされるプロセスを、上位サーバと工作機械とのどちらで実行するのがシステム全体として効率がよいのかを決定するプロセス実行環境決定機構を上位サーバ上に設け、該プロセス実行環境決定機構が生産計画装置などから入力された情報に基づいて、各プロセスの最適な実行環境を決定する技術が提供された。
Under these circumstances,
工作機械の運転に必要とされる各々のプロセスの実行環境が決定され、各々の工作機械の運転を開始する場合、工作機械を実行環境とするプロセスについては、自動運転が開始される前に上位サーバから工作機械に取得する。しかしながら、例えばある工作機械において多くの複雑なオプション機能が必要となる加工を行う場合には、そのオプション機能を提供するために必要とされるプロセスを全て予め取得しておく必要がある。この様な場合、当該工作機械には高性能CPUや大容量メモリが必要となる。このように、工作機械で行われる加工内容によっては、プロセス単位で実行環境を決定することによる効果が見込めない場合がある。
そこで、複雑なオプション機能が必要となる場合においてもメモリを効率良く利用してプロセスを実行することができる制御装置が望まれている。
When the execution environment of each process required for the operation of the machine tool is determined and the operation of each machine tool is started, the process that uses the machine tool as the execution environment is set to the upper level before automatic operation is started. Obtain from the server to the machine tool. However, for example, when performing machining that requires many complicated optional functions in a certain machine tool, it is necessary to acquire in advance all the processes required to provide the optional functions. In such a case, the machine tool requires a high-performance CPU and a large-capacity memory. As described above, depending on the details of machining performed by the machine tool, it may not be possible to expect the effect of determining the execution environment for each process.
Therefore, there is a demand for a control device that can efficiently use memory and execute processes even when complicated optional functions are required.
本発明の一態様による制御装置は、自動運転中に、必要なプロセスの取得と不要になったプロセスの解放を動的に行い、小容量のメモリを効率的に使用できるような運用方法を決定することで、上記課題を解決する。 A control device according to an aspect of the present invention dynamically acquires necessary processes and releases unnecessary processes during automatic operation, and determines an operation method that can efficiently use a small memory capacity. By doing so, the above problem is solved.
そして、本発明の一態様は、機械を制御するためのNCプログラムのブロックによる指令を解析及び実行をする複数のプロセスを管理する制御装置において、前記NCプログラムから先読みされたブロック及び前記機械の機械構成に基づいて、前記先読みされたブロックにおいて必要となるプロセスの判定を行う制御指令内容判定部と、前記制御指令内容判定部における前記判定に基づき、必要となるプロセスの取得及びメモリ上への展開と、不要となるプロセスのメモリからの解放の計画を決定する活用計画決定部と、前記活用計画決定部が決定した計画に基づいて、必要となるプロセスを取得するプロセス取得部と、前記活用計画決定部が決定した計画に基づいて、前記プロセス取得部が取得したプロセスのメモリへの展開と、不要となるプロセスのメモリからの解放を実行するメモリ管理部と、を備えた制御装置である。 Further, one aspect of the present invention is a control device that manages a plurality of processes for analyzing and executing commands by blocks of an NC program for controlling a machine, wherein the block read ahead from the NC program and the machine of the machine Based on the configuration, a control command content determination unit that determines the process required in the prefetched block, and based on the determination in the control command content determination unit, the necessary process is acquired and expanded on the memory. a utilization plan determination unit that determines a plan for releasing unnecessary processes from the memory; a process acquisition unit that acquires necessary processes based on the plan determined by the utilization plan determination unit; and the utilization plan The control device includes a memory management unit that expands the processes acquired by the process acquisition unit into a memory and releases unnecessary processes from the memory based on a plan determined by a determination unit.
本発明の一態様によれば、多くの複雑なオプション機能が必要となる加工を行う場合においても、小容量のメモリを効率的に使用して、多くのプロセスを実行することが可能となる。 According to one aspect of the present invention, even when performing processing that requires many complicated optional functions, it is possible to efficiently use a small amount of memory and execute many processes.
以下、本発明の実施形態を図面と共に説明する。
図1は本発明の一実施形態による制御装置の要部を示す概略的なハードウェア構成図である。本発明の制御装置1は、例えばNCプログラムに基づいて工作機械等の産業機械を制御する制御装置として実装することができる。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a schematic hardware configuration diagram showing essential parts of a control device according to an embodiment of the present invention. The
本実施形態による制御装置1が備えるCPU11は、制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムや、ネットワークを介して上位サーバ等のプロセス保管場所から取得したシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従って制御装置1全体を制御する。RAM13には一時的な計算データや表示データ、及び外部から入力された各データ等が一時的に格納される。
The CPU 11 included in the
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD(Solid State Drive)等で構成され、制御装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、インタフェース15を介して外部機器72から読み込まれたNCプログラムやラダープログラム、表示器/MDIユニット70を介して入力されたNCプログラムやラダープログラム等が記憶される。不揮発性メモリ14に記憶された各プログラムや各データは、実行時/利用時にはRAM13に展開されても良い。また、NCプログラム等の実行やシステムの管理、作業者の支援のために必要とされるプロセスは、主としてRAM13上に展開される。
The
インタフェース15は、制御装置1のCPU11とUSB装置等の外部機器72と接続するためのインタフェースである。外部機器72側からは工作機械の制御に用いられるNCプログラムやラダープログラムや各パラメータ等が読み込まれる。また、制御装置1内で編集したNCプログラムやラダープログラムや各パラメータ等は、外部機器72を介して外部記憶手段に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、ラダープログラムを実行して工作機械及び該工作機械の周辺装置(例えば、工具交換装置や、ロボット等のアクチュエータ、工作機械に取付けられているセンサ等)にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチや周辺装置等の信号を受け、必要な信号処理をした後、CPU11に渡す。
The
表示器/MDIユニット70はタッチパネルとしての機能を備えたディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース18は表示器/MDIユニット70のキーボードやタッチパネルからの入力を受けてCPU11に渡す。インタフェース19は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤71に接続されている。
The display/
制御装置1は、インタフェース21を介して有線/無線のネットワーク7と接続されている。ネットワーク7には、少なくとも1つの上位サーバ5が接続され、制御装置1との間で相互にデータのやり取りを行っている。
The
工作機械が備える軸を制御するための軸制御回路30はCPU11からの軸の移動指令量を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。なお、図1のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる工作機械に備えられた軸の数だけ用意される。
An
スピンドル制御回路60は、主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ62にはポジションコーダ63が結合され、ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
A
図2は、本発明の第1実施形態による制御装置1の概略的な機能ブロック図である。図2に示した各機能ブロックは、図1に示した制御装置1が備えるCPU11がシステム・プログラムを実行し、制御装置1の各部の動作を制御することにより実現される。
FIG. 2 is a schematic functional block diagram of the
本実施形態の制御装置1は、先読み部100、制御部110、制御指令内容判定部120、活用計画決定部130、プロセス取得部140、メモリ管理部150を備える。制御装置1の不揮発性メモリ14上には、工作機械2を制御するための数値制御指令が含まれるNCプログラム200が予め記憶されている。
The
先読み部100は、図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。先読み部100は、NCプログラム200のブロックを先読みする機能手段である。先読み部が先読みしたブロックに係る情報は、制御部110による工作機械2の制御に用いられると共に、制御指令内容判定部120による制御指令の内容の判定に用いられる。
The
制御部110は、図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理と、軸制御回路、スピンドル制御回路、PMCを用いた工作機械の各部の制御処理、インタフェース18,19を介した入出力処理が行われることで実現される。制御部110は、先読み部100が先読みしたNCプログラム200のブロックを解析し、その解析結果に基づいて工作機械2の各部を制御する機能手段である。制御部110は、RAM13上に配置されるプロセスを呼び出すことで、先読みされたブロックの解析及び解析された指令の実行を行う。制御部110は、例えば先読みされたブロックを解析するためにRAM13上に展開された前処理プロセスを呼び出し、該プロセスによるブロックの解析を実行する。制御部110は、例えば先読みされたブロックが工作機械2の各軸を駆動させるように指令している場合には、RAM13上に展開された基本軸制御プロセスを呼び出し、制御周期毎に軸角度の変化量としての指令データを生成してサーボモータ50やスピンドルモータ62に対して出力する。また、制御部110は、例えば先読みされたブロックが工作機械2の取り付けられた周辺装置を動作させるように指令している場合には、RAM13上に展開された該周辺装置に係るプロセスを呼び出し、該周辺装置を動作させる所定の信号を生成してPMC16に出力する。この様に、制御部110は、工作機械2の各部を動作させるために必要とされる機能を、RAM13上に展開されたプロセスを呼び出すことにより実行する。制御部110は、先読みされたブロックによる指令を行うために必要とされるプロセスがRAM13上に展開されていない場合には、該プロセスが展開されるまで先読みされたブロックによる指令の実行を待ち、プロセスが展開された時点で該指令の実行を開始する。この時、制御部110は、予め定めた所定時間だけ待った段階で必要とされるプロセスがRAM13上に展開されない場合には、アラートを出力するようにしても良い。
The
制御指令内容判定部120は、図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。制御指令内容判定部120は、先読み部100により先読みされたNCプログラムのブロックや、制御対象となる工作機械2の機械構成等の情報に基づいて、先読みされた各ブロックで必要になるプロセスの判定を行う機能手段である。制御指令内容判定部120は、NCプログラム200から先読みされたブロックによる移動指令の種類や動作モードの種類、工作機械の機械構成に基づいて、NCプログラム200の各ブロックにおいていずれの機能が必要とされるのかを判定する。制御装置1の不揮発性メモリ14の設定領域には、例えば図3に例示されるように、工作機械の機械構成や数値制御指令の種類に関連付けて、必要となるプロセスが設定されている。制御指令内容判定部120は、この様な設定と、工作機械の機械構成、及び先読みされたNCプログラムの各ブロックを突き合わせて、いずれのブロックにおいてどの様なプロセスが必要であるのかを判定するようにしても良い。
The control command
活用計画決定部130は、図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。活用計画決定部130は、制御指令内容判定部120による判定に基づいて、NCプログラム200の実行中のどのタイミングで必要となるプロセスの取得を行い、どのタイミングで不要となったプロセスの解放をするのかを示す活用計画を決定する機能手段である。活用計画決定部130は、NCプログラム200内のブロックにおいて、所定のプロセスが必要となる指令が最初に現れたブロックが実行される前に、該プロセスを取得してRAM13上に展開するように活用計画を決定する。また、活用計画決定部130は、NCプログラム200内のブロックにおいて、所定のプロセスが必要となる指令があるブロック以降に出現しない場合、該プロセスを必要とする指令が最後に現れた次のブロックが実行された後に、該プロセスをRAM13上から解放する様に活用計画を決定する。
The utilization
活用計画決定部130が決定する活用計画は、所定のプロセスが必要となるブロックが実行されるタイミングにおいて、該プロセスがRAM13上に展開されているように決定されることが望ましい。この様な目的のために、活用計画決定部130は、ブロックが先読みされて、該ブロックについて制御指令内容判定部120が必要となるプロセスを判定したタイミングにおいて、RAM13のメモリ領域が十分に空いている場合には、該プロセスを即取得してRAM13上に展開するように活用計画を決定するようにしても良い。また、活用計画決定部130は、先読みされたブロックにおいて活用計画決定部130は、所定のプロセスが必要となるブロックの、予め定めた余裕ブロック数前のブロックが実行されるタイミングで、該プロセスを取得してRAM13上に展開するように活用計画を決定するようにしても良い。
It is desirable that the utilization plan determined by the utilization
活用計画決定部130が決定する活用計画は、NCプログラムの実行に利用されない所定のプロセスが効率よくRAM13上から解放されるように決定されることが望ましい。この様な目的のために、活用計画決定部130は、NCプログラム200内のブロックにおいて、所定のプロセスが必要となる指令が予め定めた所定の経過ブロック数出現しない場合に、該プロセスをRAM13上から解放する様に活用計画を決定するようにしても良い。
The utilization plan determined by the utilization
図4は、活用計画決定部130が決定する活用計画の例を示す図である。なお、図4では、説明を簡単にするために、活用計画決定部130が、前処理プロセス、基本軸制御プロセス、同時5軸制御プロセス、穴あけサイクルプロセスについて、その取得と解放のタイミングを決定する例を説明する。図4に示されたNCプログラムには、N1400ブロックにおいて同時5軸制御プロセスを必要とする指令が現れ、N2100ブロック以降においては同時5軸制御プロセスを必要とする指令が出現しないものとする。また、N2650ブロック以降のブロックには、穴あけサイクルを指令するブロックが含まれている。この様なNCプログラムを実行する場合、活用計画決定部130は、NCプログラムの実行が開始されると、先読みされたブロックに対する制御指令内容判定部120の判定に基づいて、全ての指令の処理に必要とされる前処理プロセスと、N0001ブロック以降での送り指令の実行に必要とされる基本軸制御プロセスとを取得してRAM13上に展開するように計画する。また、活用計画決定部130は、N1400ブロック以降に現れる同時5軸制御に係る指令により必要とされる同時5軸制御プロセスを、N1400ブロックが実行されるまでに取得してRAM13上に展開するように活用計画を決定する。その後、活用計画決定部130は、N2110ブロック以降において同時5軸制御プロセスを必要とする指令が現れないと判定した時点で、同時5軸制御プロセスをRAM13上から解放するように活用計画を決定する。最後に、活用計画決定部130は、N2650ブロック以降に現れる穴あけサイクル指令により必要とされる穴あけサイクルプロセスを、N2650ブロックが実行されるまでに取得してRAM13上に展開するように活用計画を決定する。
FIG. 4 is a diagram showing an example of a utilization plan determined by the utilization
プロセス取得部140は、図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるROM12、RAM13、不揮発性メモリ14を用いた演算処理、インタフェース15を介した入力処理、インタフェース21を介した通信処理等が行われることで実現される。プロセス取得部140は、NCプログラム200のブロックによる指令の実行に必要とされるプロセスを取得する機能手段である。プロセス取得部140は、活用計画決定部130が決定した活用計画に従って、ネットワーク7を介して上位サーバ5等のプロセス保管場所からプロセスを取得する。プロセス取得部140は、必要なプロセスをROM12や不揮発性メモリ14から読み出して取得するようにしても良い。また、プロセス取得部140は、必要なプロセスを外部機器72から読み出して取得するようにしても良い。制御装置1の不揮発性メモリの設定領域には、例えば図5に例示されるように、それぞれのプロセスの取得先を設定するプロセス取得先設定テーブルが予め記憶されており、プロセス取得部140は、このプロセス取得先設定テーブルを参照して、各プロセスの取得先を決定するようにすれば良い。
The
メモリ管理部150は、図1に示した制御装置1が備えるCPU11がROM12から読み出したシステム・プログラムを実行し、主としてCPU11によるRAM13、不揮発性メモリ14を用いた演算処理が行われることで実現される。メモリ管理部150は、RAM13上に展開されるプロセスを管理する機能手段である。メモリ管理部150は、プロセス取得部140が取得したプロセスをRAM13上へ展開する。また、メモリ管理部150は、活用計画決定部130が決定した活用計画に従って、RAM13上に展開されているプロセスを解放する。
The
上記構成を備えた制御装置1では、NCプログラム200の自動運転中に、先読みしたブロックを解析して、工作機械の制御等に必要とされるプロセスを必要なタイミングでメモリ上へと展開し、不要なプロセスは適宜メモリ上から解放する。そのため、制御装置1では、工作機械の自動運転中に、NCプログラム200のブロックによる指令や工作機械の機械構成等に基づいて、必要となるプロセスの動的な取得/解放のタイミングを行うことができる。ユーザは、NCプログラム200内に、プロセスの取得/解放の指令を明記しなくとも、自動的に必要となるプロセスの取得/解放が行われる。
In the
本実施形態による制御装置1の一変形例として、活用計画決定部130は、プロセスを取得してRAM13上に展開する優先順位を登録するためのプロセス取得優先テーブルを用いて活用計画を決定するようにしても良い。
As a modified example of the
図6は、プロセス取得優先テーブルの例を示す図である。プロセス取得優先テーブルは、例えば取得対象となるプロセスと、該プロセスの取得の優先順位とを関連付けたテーブルとして定義できる。プロセス取得優先テーブルは、NCプログラム200の実行開始時には空のテーブルとして用意される。NCプログラム200が実行されて、先読み部100によるブロックの先読みが行われ、制御指令内容判定部120による必要なプロセスの判定が行われると、活用計画決定部130は、先読みされたブロックの順番で優先順位を付けてプロセス取得優先テーブルに登録する。プロセス取得部140は、プロセス取得優先テーブルに取得対象プロセスが登録されると、優先順位の高い順にプロセスの取得を実行し、取得したプロセスがRAM13上に展開されると、該プロセスをプロセス取得優先テーブルから削除し、他のプロセスの優先順位を繰り上げる。プロセス取得部140及びメモリ管理部150は、現在のRAM13に空きがある限りプロセスの取得及びRAM13上への展開を行う。そして、RAM13に空きが無い場合は、取得優先テーブルを保持したまま、RAM13に空きができるまでプロセスの取得及び展開を保留する。本実施例のプロセス取得優先テーブルは、通信速度が遅い環境等で上位サーバからプロセスの取得が即時に行えない場合や、次に取得するべきプロセスを展開するための十分な空き容量が一時的にRAM13に無い場合等に用いると有効である。
FIG. 6 is a diagram showing an example of a process acquisition priority table. The process acquisition priority table can be defined, for example, as a table that associates a process to be acquired with the acquisition priority of the process. The process acquisition priority table is prepared as an empty table when the
本実施形態による制御装置1の他の変形例として、活用計画決定部130は、プロセスをRAM13上から解放する優先順位を登録するためのプロセス解放優先テーブルを用いて活用計画を決定するようにしても良い。
As another modification of the
図7は、プロセス解放優先テーブルの例を示す図である。プロセス解放優先テーブルは、例えば解放対象となるプロセスと、該プロセスが最後に呼び出されたブロックに係る情報とを関連付けたテーブルとして定義できる。プロセス解放優先テーブルは、NCプログラム200の実行開始時には空のテーブルとして用意される。NCプログラム200が実行されて、プロセス取得部140によりプロセスの取得が行われ、メモリ管理部150によりプロセスのRAM13上への展開が行われると、該プロセスに係る情報がプロセス解放優先テーブルに登録される。プロセス解放優先テーブルに登録されたプロセスが制御部110により呼び出されるたびに、プロセス解放優先テーブルの最後に呼び出されたブロックに係る情報は0ブロック前に更新される。また、NCプログラム200の実行が進むたびに、プロセス解放優先テーブルに登録されている各プロセスの最後に呼び出されたブロックに係る情報を1増加させる。この最後に呼び出されたブロックに係る情報は、当該プロセスを解放する際の逆の優先度として機能する。そして、プロセス取得優先テーブルに取得対象プロセスが登録されている場合であって、RAM13に取得対象プロセスを展開する十分な空きがない場合、メモリ管理部150は、プロセス解放優先テーブルにおいて、最後に呼び出されたブロックが最も過去のものである解放対象プロセスをメモリから解放する。メモリ管理部150は、解放したプロセスをプロセス解放優先テーブルから削除する。プロセス解放優先テーブルには、それぞれのプロセスが専有するメモリ量を関連付けて登録するようにしても良い。この様に構成した場合、例えば取得対象プロセスに必要となるメモリ量と最後に呼び出されたブロックに係る情報の双方を判断材料として、解放対象とするプロセスを決定することが出来る。なお、一部のNCプログラム200の実行に必須となるプロセスについては、プロセス解放優先テーブルに登録しないようにしても良い。
FIG. 7 is a diagram showing an example of a process release priority table. The process release priority table can be defined as a table that associates, for example, a process to be released with information related to the last block from which the process was called. The process release priority table is prepared as an empty table when the
なお、プロセス取得優先テーブルと、プロセス解放優先テーブルは併用することも可能である。プロセス取得優先テーブルと、プロセス解放優先テーブルを併用する際には、それぞれのテーブルに登録されているプロセスに応じて、プロセスの取得や解放、プロセスの優先順位の付与を制御するようにしても良い。
例えば、活用計画決定部130がプロセス取得優先テーブルに対して新たにプロセスを登録する際に、登録に先立ってプロセス解放優先テーブルを参照し、これから登録しようとするプロセスと同一のプロセスがプロセス解放優先テーブルに登録されている場合、即ち該プロセスが既にRAM13上に展開されている場合、該プロセスをプロセス取得優先テーブルに登録する代わりに、プロセス解放優先テーブルにおける該プロセスの最後に呼び出されたブロックに係る情報を0ブロック前(最も優先度の低い値)へと更新するようにしても良い。また、これとは逆に、メモリ管理部150がプロセスをRAM13から解放する際に、該プロセスを解放するに先立ってプロセス登録優先テーブルを参照し、これから解放しようとするプロセスと同一のプロセスがプロセス登録優先テーブルに所定の優先順位以上で登録されている場合、該プロセスをRAM13から解放せずに、プロセス解放優先テーブルにおける該プロセスの最後に呼び出されたブロックに係る情報を0ブロック前(最も優先度の低い値)へと更新するようにしても良い。このような制御をすることで、NCプログラム200から先読みされたブロックの解析結果から、近いタイミングで使用されることが判明しているプロセスを不用意に解放してしまうことを防止することができる。
The process acquisition priority table and the process release priority table can be used together. When the process acquisition priority table and the process release priority table are used together, the process acquisition, release, and process priority assignment may be controlled according to the processes registered in each table. .
For example, when the utilization
本実施形態による制御装置1の一変形例として、活用計画決定部130は、NCプログラム200の実行開始時において、NCプログラム200のブロックを全て先読みし、プロセスの取得及び展開並びに解放の活用計画をNCプログラム200の実行開始時に決定するようにしても良い。この様に構成した場合、プロセスの必要なタイミング及び不要となるタイミングが予め把握できるため、不要となったプロセスを積極的にRAM13上から解放したり、一時的に不要となったプロセスをRAM13上から積極的に解放し、再度必要となった場合に改めて該プロセスの取得及び展開を行うようにしたりする等、メモリをより効率よく利用することができる。
As a modified example of the
以上、本発明の実施の形態について説明したが、本発明は上記した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施形態では、1つの系統を制御する(1つの制御部110で制御される)制御装置を例として説明しているが、例えば、複数の系統を制御する場合においても本願発明の技術は活用可能である。このような場合、それぞれの系統を制御するためのNCプログラム200のブロックで必要とされるプロセスは各系統の制御において共有される。そのため、活用計画決定部130は、複数のNCプログラム200のそれぞれのブロックにおいて必要とされるプロセスを考慮して、プロセスの取得及び展開並びに解放のタイミングを計画する。これにより、複数の系統を制御する制御装置において、より効率的にプロセスによるメモリの利用を管理することができるようになる。
Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described examples of the embodiments, and can be implemented in various modes by adding appropriate modifications.
For example, in the above-described embodiment, a control device that controls one system (controlled by one control unit 110) is described as an example. Technology is available. In such a case, the processes required by the blocks of the
1 制御装置
2 工作機械
5 上位サーバ
7 ネットワーク
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15,18,19,21 インタフェース
16 PMC
17 I/Oユニット
20 バス
30 軸制御回路
40 サーボアンプ
50 サーボモータ
60 スピンドル制御回路
61 スピンドルアンプ
62 スピンドルモータ
63 ポジションコーダ
70 表示器/MDIユニット
71 操作盤
72 外部機器
100 先読み部
110 制御部
120 制御指令内容判定部
130 活用計画決定部
140 プロセス取得部
150 メモリ管理部
200 NCプログラム
1
12 ROMs
13 RAM
14
17 I/
Claims (3)
前記NCプログラムから先読みされたブロック及び前記機械の機械構成に基づいて、前記先読みされたブロックにおいて必要となるプロセスの判定を行う制御指令内容判定部と、
前記制御指令内容判定部における前記判定に基づき、必要となるプロセスの取得及びメモリ上への展開と、不要となるプロセスのメモリからの解放の計画を決定する活用計画決定部と、
前記活用計画決定部が決定した計画に基づいて、必要となるプロセスを取得するプロセス取得部と、
前記活用計画決定部が決定した計画に基づいて、前記プロセス取得部が取得したプロセスのメモリへの展開と、不要となるプロセスのメモリからの解放を実行するメモリ管理部と、
を備えた制御装置。 In a control device that manages multiple processes that analyze and execute commands by NC program blocks for controlling machines,
a control command content determination unit that determines a process required in the prefetched block based on the block prefetched from the NC program and the machine configuration of the machine;
a utilization plan determining unit that determines a plan for acquiring necessary processes, developing them on the memory, and releasing unnecessary processes from the memory, based on the determination by the control command content determining unit;
a process acquisition unit that acquires a necessary process based on the plan determined by the utilization plan determination unit;
a memory management unit that expands the processes acquired by the process acquisition unit into memory and releases unnecessary processes from the memory based on the plan determined by the utilization plan determination unit;
control device with
請求項1に記載の制御装置。 The utilization plan determination unit plans to acquire and develop a process required by a certain block on the memory at the timing when another block before the certain block by a predetermined number of spare blocks is executed. ,
A control device according to claim 1 .
請求項1に記載の制御装置。 When a predetermined process expanded in memory is not called for a predetermined number of elapsed blocks, the utilization plan determination unit plans to release the process from the memory as an unnecessary process.
A control device according to claim 1 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019087862A JP7303014B2 (en) | 2019-05-07 | 2019-05-07 | Control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019087862A JP7303014B2 (en) | 2019-05-07 | 2019-05-07 | Control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020184169A JP2020184169A (en) | 2020-11-12 |
JP7303014B2 true JP7303014B2 (en) | 2023-07-04 |
Family
ID=73045547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019087862A Active JP7303014B2 (en) | 2019-05-07 | 2019-05-07 | Control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7303014B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014063389A (en) | 2012-09-21 | 2014-04-10 | Fanuc Ltd | Numerical control device having inter-system waiting function |
JP2015219599A (en) | 2014-05-14 | 2015-12-07 | ファナック株式会社 | Numerical control device with retraction function |
JP2017211872A (en) | 2016-05-26 | 2017-11-30 | ファナック株式会社 | Numerical controller equipped with program correction assist function for resolving alarm |
JP2018005304A (en) | 2016-06-27 | 2018-01-11 | ファナック株式会社 | Numerical control device dynamically switching time constant of acceleration/deceleration filter |
JP2019079244A (en) | 2017-10-24 | 2019-05-23 | ファナック株式会社 | Numeric control device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61248107A (en) * | 1985-04-25 | 1986-11-05 | Okuma Mach Works Ltd | Operation system for large capacity part program in numerical controller |
JPS6319007A (en) * | 1986-07-12 | 1988-01-26 | Niigata Eng Co Ltd | Data transfer method in numerical controller |
JPH03167603A (en) * | 1989-11-28 | 1991-07-19 | Mitsubishi Electric Corp | Pre-read controller for nc program |
JP2692011B2 (en) * | 1990-02-09 | 1997-12-17 | 三菱電機株式会社 | Numerical control automatic programming device |
JPH04137002A (en) * | 1990-09-28 | 1992-05-12 | Makino Milling Mach Co Ltd | Nc program managing method for working system |
JPH08314523A (en) * | 1995-05-23 | 1996-11-29 | Fanuc Ltd | Numerical controller |
JPH11149307A (en) * | 1997-11-17 | 1999-06-02 | Yaskawa Electric Corp | Robot controller provided with secondary storage device |
-
2019
- 2019-05-07 JP JP2019087862A patent/JP7303014B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014063389A (en) | 2012-09-21 | 2014-04-10 | Fanuc Ltd | Numerical control device having inter-system waiting function |
JP2015219599A (en) | 2014-05-14 | 2015-12-07 | ファナック株式会社 | Numerical control device with retraction function |
JP2017211872A (en) | 2016-05-26 | 2017-11-30 | ファナック株式会社 | Numerical controller equipped with program correction assist function for resolving alarm |
JP2018005304A (en) | 2016-06-27 | 2018-01-11 | ファナック株式会社 | Numerical control device dynamically switching time constant of acceleration/deceleration filter |
JP2019079244A (en) | 2017-10-24 | 2019-05-23 | ファナック株式会社 | Numeric control device |
Also Published As
Publication number | Publication date |
---|---|
JP2020184169A (en) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9400496B2 (en) | Numerical controller with inter-path waiting function | |
US20140364989A1 (en) | Controller for controlling machine tool and robot | |
JP5355356B2 (en) | Method for creating part programs | |
JP4097670B2 (en) | Monitor device for machine tools | |
JPS62277244A (en) | Accommodation control device for machine tool | |
US10409261B2 (en) | Method for monitoring a machine tool | |
EP1471404A2 (en) | Numerical control apparatus for machine tool | |
US20160062336A1 (en) | Numerical controller for facilitating adjustment of machining motion | |
US4992712A (en) | Control device for industrial machine | |
US10809700B2 (en) | Numerical controller | |
JP7303014B2 (en) | Control device | |
JP7119485B2 (en) | Numerical controller and data control method | |
US11156986B2 (en) | Machining program editing device | |
JP2006313559A (en) | Operation method of numerical control machine tool equipment | |
CN114365048B (en) | Numerical control device | |
JP6787951B2 (en) | Numerical control device | |
JP7473653B2 (en) | Numerical control device having a function of changing a setting parameter for controlling a controlled object at a predetermined timing and a setting parameter changing method thereof | |
EP0360190B1 (en) | Control device for industrial machine | |
JP7041041B2 (en) | Numerical control device | |
JP6997131B2 (en) | Numerical control device | |
WO2022244072A1 (en) | Numerical control device and computer-readable storage medium | |
WO2023058085A1 (en) | Numerical control device | |
JPS63239511A (en) | Robot system | |
JPH0799487B2 (en) | Communication method in numerical control device | |
JP3460426B2 (en) | Robot controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230126 |
|
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: 20230523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230622 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7303014 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |