JP6408060B1 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP6408060B1
JP6408060B1 JP2017088433A JP2017088433A JP6408060B1 JP 6408060 B1 JP6408060 B1 JP 6408060B1 JP 2017088433 A JP2017088433 A JP 2017088433A JP 2017088433 A JP2017088433 A JP 2017088433A JP 6408060 B1 JP6408060 B1 JP 6408060B1
Authority
JP
Japan
Prior art keywords
module
memory
machine configuration
selection
management table
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
JP2017088433A
Other languages
English (en)
Other versions
JP2018185734A (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 JP2017088433A priority Critical patent/JP6408060B1/ja
Priority to US15/956,314 priority patent/US10551823B2/en
Priority to DE102018003245.1A priority patent/DE102018003245B4/de
Priority to CN201810373121.9A priority patent/CN108803498B/zh
Application granted granted Critical
Publication of JP6408060B1 publication Critical patent/JP6408060B1/ja
Publication of JP2018185734A publication Critical patent/JP2018185734A/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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • 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/408Numerical 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 data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4083Adapting programme, configuration
    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • 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/34Director, elements to supervisory
    • G05B2219/34202Reusable software, generic resource model library
    • 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/34Director, elements to supervisory
    • G05B2219/34254Operating system controls selection and execution of program modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Numerical Control (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)
  • General Factory Administration (AREA)

Abstract

【課題】最適なリソース管理を行うことが可能な数値制御装置を提供する。【解決手段】数値制御装置100は、複数の機能モジュールにリソースを割り当てる。数値制御装置100は、ユーザが選択したオプション又はパラメータに応じ、有効化すべき機能モジュールを設定した機械構成テーブル131を生成する機械構成入力手段130と、メモリ使用量を管理するメモリ管理テーブル111を生成するメモリ管理手段110と、CPU使用率を管理するパフォーマンス管理テーブル121を生成するパフォーマンス管理手段120と、機械構成テーブル131、メモリ管理テーブル111及びパフォーマンス管理テーブル121に基づいて機能モジュールの選定数を決定し、モジュール選定テーブル141を生成するモジュール選定手段140と、機能モジュールの選定数に従って機能モジュールの着脱を行うモジュール着脱手段150と、を有する。【選択図】図1

Description

本発明は数値制御装置に関し、特に最適なリソース管理を行うことが可能な数値制御装置に関する。
近年、旋盤、研削盤、マシニングセンタなどの多種の工作機械が存在し、これらの工作機械は、用途、目的に応じて、それぞれの分野のなかでも多様化しつつある。例えば、多軸制御に特化した機械、先読み数を多くすることで高精度加工に特化した機械などが存在する。このように、市場は特定の機能に特化した工作機械を求めるようになっており、これに応じて機械メーカも、独自性の高い特徴的な設計を行うようになっている。
従来の汎用的な工作機械に、単にこのような特徴的な機能を実現するためのソフトウェアを追加的に搭載すると、従来よりも多くのシステムリソース(典型的にはCPU使用率やメモリ使用量など)が必要となる。しかしながら、システムリソースの上限を拡大することはコスト増に直結する。
この点、特許文献1には、産業機械のすべてに共通して使用される入力システム部と、産業機械ごとにモジュール化した複数のブロックを有し、対象となる産業機械に応じた所定のブロックを選択してその産業機械の各種アクチュエータを制御する制御システム部と、をパッケージ化したアプリケーションを備えた産業機械用NC制御装置が開示されている。
特開平09−034529号公報
このように特許文献1は、特定の機能に特化したモジュールを搭載した数値制御装置を開示している。しかしながら、このようなモジュールの利用にあたってどのようにリソース管理を行うかについては、特許文献1には具体的に説明していない。
実際、従来の数値制御装置のコントロールソフトウェアは、全ての機能を1つのメモリマップ上に割り当てる(図10参照)。しかしながら、割り当てられた機能モジュールのうち実際に使用されるものは、汎用的な機能を除けば、オプションやパラメータによってユーザに選択された特定機能に関連するものだけである。すなわち、従来の数値制御装置は各機能のリソースを静的に決定するため、使用しない機能であってもRAM上に常駐することなる。これにより、不要なメモリ領域が消費されたり、CPUの負荷を増加させたりといった問題が生じる。
一方、工作機械の数値制御装置においても、汎用OSのように、動的にモジュールを着脱したり、1つのアプリケーションを同時に複数実行させたりすることも技術的には実現可能である。しかしながら、このような構成を採用すると、数値制御装置が搭載するリソースが限界近くまで使用されてしまい、レスポンスが低下したり、最悪の場合はアプリケーションの動作が停止したりするという問題が生じる。汎用OSとは異なり、数値制御装置のような組込みソフトウェアにおいては、このような問題の発生は許されない。
このようなジレンマのもと、従来の数値制御装置は次のような課題を有している。静的なリソース割当てを行っているため、不要な機能のリソースを動的に有効活用できず、拡張性に乏しく、独自性の高い機械が設計しにくい。ハードウェアによりこれを解決しようとすると、要求スペックが上昇しコストが増大する。一方、ソフトウェアによりこれを解決する手法として、優先度の低い機能に関するモジュールを削減した専用ソフトウェアを作成することが考えられる。しかしながら、このような手法は機種ごとに異なるソフトウェアを開発する必要があることから、開発管理コストの増大を招く。また、数値制御装置においては使用できる機能が制限されることとなり、利便性が低下する。
本発明はこのような問題点を解決するためになされたものであり、最適なリソース管理を行うことが可能な数値制御装置を提供することを目的とする。
本発明の一実施の形態にかかる数値制御装置は、複数の機能モジュールにリソースを割り当てる数値制御装置であって、ユーザが選択したオプション又はパラメータに応じ、有効化すべき前記機能モジュールを設定した機械構成テーブルを生成する機械構成入力手段と、メモリ使用量を管理するメモリ管理テーブルを生成するメモリ管理手段と、CPU使用率を管理するパフォーマンス管理テーブルを生成するパフォーマンス管理手段と、前記機械構成テーブル、前記メモリ管理テーブル及び前記パフォーマンス管理テーブルに基づいて前記機能モジュールの選定数を決定し、モジュール選定テーブルを生成するモジュール選定手段と、前記モジュール選定テーブルにおいて決定された前記機能モジュールの前記選定数に従って前記機能モジュールの着脱を行うモジュール着脱手段と、を有する。
本発明の一実施の形態にかかる数値制御装置は、前記機械構成入力手段は、有効化すべき前記機能モジュールと、前記機能モジュールそれぞれの前記選定数、優先度及び選定数上限値と、を設定した前記機械構成テーブルを生成する。
本発明の一実施の形態にかかる数値制御装置は、前記メモリ管理手段は、前記メモリ使用量と、空きメモリ量と、を管理する前記メモリ管理テーブルを生成する。
本発明の一実施の形態にかかる数値制御装置は、前記パフォーマンス管理手段は、前記CPU使用率と、空きCPU使用率と、を管理する前記パフォーマンス管理テーブルを生成する。
本発明によれば、最適なリソース管理を行うことが可能な数値制御装置を提供することができる。
本発明の実施の形態にかかる数値制御装置100の構成を示すブロック図である。 機械構成テーブル131の一例を示す図である。 メモリ管理テーブル111の一例を示す図である。 パフォーマンス管理テーブル121の一例を示す図である。 モジュール選定手段140が行う処理を示すフローチャートである。 モジュール選定テーブル141の一例を示す図である。 モジュール選定テーブル141の一例を示す図である。 数値制御装置100の動作結果を示す図である。 数値制御装置100の動作結果を示す図である。 従来の数値制御装置の動作を示す図である。
以下、図面を用いて本発明の実施の形態を説明する。まず、図1のブロック図を用いて、本発明の実施の形態にかかる数値制御装置100の構成について説明する。
数値制御装置100は、メモリ管理手段110、パフォーマンス管理手段120、機械構成入力手段130、モジュール選定手段140、モジュール着脱手段150を有する。
機械構成入力手段130は、ユーザが選択したオプションやパラメータに関する情報を取得する。典型的な数値制御装置100は、特定の機能を有効化/無効化するオプションの選択や、有効化した機能のパフォーマンスを左右するパラメータの設定などをユーザに行わせるためのインタフェースを有している。すなわち、オプションによりリソース使用量の大枠が決定され、パラメータによりその範囲内で実際にどこまでリソースが使用されるかが決定されることになる。機械構成入力手段130は、このようなインタフェースを介して数値制御装置100に設定されたオプションやパラメータの内容を、図示しない記憶領域から読み込む。具体的なパラメータの例としては、加工プログラムの先読みモジュールが先読み可能なブロック数を設定させるものがある。短い線分が連続するような加工においては、多ブロックの先読みを行うことでパフォーマンスが向上する。
機械構成入力手段130は、ユーザが選択したオプションやパラメータに関する情報に基づいて、機械構成テーブル131を生成する。図2に示すように、機械構成テーブル131は、ユーザが選択(有効化)した機能に応じて、その機能を実現するために必要な機能モジュール、当該機能モジュールの選定数、拡張優先度、選定数上限値を定義したテーブルである。各項目の意味を以下に説明する。
選定数:リソースを割り当てるべき機能モジュール名と、そのインスタンスの数を示す値である。機械構成入力手段130は、オプションやパラメータで指定された仕様と、その仕様を満たすために必要な機能モジュール及びその最低限の選定数と、の対応関係をあらかじめ記憶している。機械構成入力手段130は、ユーザが選択したオプション及びパラメータに応じて、必要な機能モジュール及びその最低限の選定数を特定し、機械構成テーブル131に初期値としてセットする。
選定数上限値:機能モジュールの選定数を幾つまで拡張できるかを示す値である。機械構成入力手段130は、機能モジュールごとに、システム上選定可能なモジュール数の上限値をあらかじめ記憶している。システム上の上限値は、主にシステムが保有するリソースの量に基づいてあらかじめ決定される。なお、選定数上限値は、ユーザの設定により下げることも可能として良い。
拡張優先度:機能モジュールごとの、リソース割り当てにおける優先度を示す値である。この項目はユーザが設定可能な項目であり、ユーザは、強化したいと考える機能に対して、より高い優先度を設定することができる。ここで設定した拡張優先度に従って、後述の処理により、最終的な選定数が決定される。
メモリ管理手段110は、機械構成テーブル131に基づいて、メモリ管理テーブル111を生成する。図3に示すメモリ管理テーブル111は、機械構成テーブル131で定義された機械構成のもとで必要となるメモリ量と、空きメモリ量とを管理するためのテーブルである。メモリ管理手段110は、機能モジュールを1つ選定する毎に必要となるメモリ使用量FUN_Mxをあらかじめ記憶している。なお、使用可能な総メモリ量MAX_Mはハードウェア構成によって決定される。また、ユーザ設定により、使用可能な総メモリ量MAX_Mのうち、リソースの割当に使用せずに残しておくべきメモリ量RSV_Mを指定できるよう構成しても良い。このとき、機械構成テーブル131にセットされた全ての機能モジュールにメモリを割り当てた場合の空きメモリ量REM_Mは、次式で定義できる。空きメモリ量REM_Mは、後述の拡張処理において使用可能なメモリ量となる。
REM_M = MAX_M − (FUN_M1+…) − RSV_M
パフォーマンス管理手段120は、機械構成テーブル131に基づいて、パフォーマンス管理テーブル121を生成する。図4に示すパフォーマンス管理テーブル121は、機械構成テーブル131で定義された機械構成のもとで必要となるCPU使用率と、空きCPU使用率とを管理するためのテーブルである。パフォーマンス管理手段120は、機能モジュールを1つ選定する毎に必要となるCPU使用率FUN_Uxをあらかじめ記憶している。なお、CPU使用率の上限MAX_Uは100%とする。また、ユーザ設定により、CPU使用率の上限MAX_Uのうち、リソースの割当に使用せずに残しておくべきCPU使用率RSV_Uを指定できるよう構成しても良い。また、CPUのスペックによる処理能力の差を調整するための係数をKとする。一般に、係数Kは、CPUの処理能力はもとより、機能モジュールとCPUの種類との組み合わせなどにより決定される。このとき、機械構成テーブル131にセットされた全ての機能モジュールにCPU使用率を割り当てた場合の空きCPU使用率REM_Uは、次式で定義できる。空きCPU使用率REM_Uは、後述の拡張処理において使用可能なCPU使用率となる。
REM_U = 100 −K × (FUN_U1+…) − RSV_U
モジュール選定手段140は、機械構成テーブル131、メモリ管理テーブル111、パフォーマンス管理テーブル121に基づいて、最終的な機能モジュールの選定数を決定する処理を行う。図5のフローチャートを用いて、モジュール選定手段140が行う処理について説明する。
<ステップ1>
S1:モジュール選定手段140は、機械構成テーブル131、メモリ管理テーブル111、パフォーマンス管理テーブル121を取得する。
S2:拡張優先度の初期値を記憶する。
S3:モジュール選定手段140は、拡張優先度>0、かつメモリ使用量<空きメモリ量、かつCPU使用率<空きCPU使用率、かつ選定数<選定数上限値となる機能モジュール番号xを取得する。
S4:xが存在する場合、S5に遷移する。xが存在しない場合は処理を終了する。
<ステップ2>
S5:モジュール選定手段140は、拡張優先度が最大の機能モジュール番号yを特定する。
S6:モジュール選定手段140は、yの中で、拡張優先度の初期値が最大である機能モジュール番号zを取得する。
<ステップ3>
S7:モジュール選定手段140は、zに該当する機能モジュールの選定数を+1し、空きメモリ量及び空きCPU使用率を再計算する。そして当該機能モジュールの拡張優先度を−1する。
<ステップ4>
S8:モジュール選定手段140は、全ての機能モジュールの拡張優先度が0であるか判定する。0である場合はS9に遷移する。その他の場合はS3に遷移する。
S9:モジュール選定手段140は、全ての機能モジュールの拡張優先度を初期値に書き換える。その後、S3に遷移する。
モジュール選定手段140は、上記ステップ1乃至ステップ4の一連の処理により最終的な機能モジュールの選定数を決定したならば、その結果をモジュール選定テーブル141に格納する。図6に、モジュール選定テーブル141の一例を示す。
上記ステップ1乃至ステップ4の処理は、次のようにも表現できる。以下の記述におけるS1乃至S9は、上記ステップ1乃至ステップ4のS1乃至S9にそれぞれ対応する。各変数の定義は以下の通りである。
k=1,2,…,n : 機能モジュール番号
M_k : 機能モジュールk
P_k : M_kの拡張優先度
UM_k : M_kのメモリ使用量
UC_k : M_kのCPU使用率
EM : 空きメモリ量
EC : 空きCPU使用率
N_k : M_kの選定数
L_k : M_kの選定数上限値
PORG_k : P_kの初期値
Φ : 空集合
<ステップ1>
S1:モジュール選定手段140は、機械構成テーブル131、メモリ管理テーブル111、パフォーマンス管理テーブル121を取得する。
S2:PORG_k:=P_kとする。
S3:A={a|aはP_k>0、かつUM_k≦EM、かつUC_k≦EC、かつN_k<L_kをみたすk}とする。
S4:A=Φの場合、処理を終了する。
<ステップ2>
S5:B={b|bはb∈A、かつP_bが最大となるk}とする。
S6:集合Bの要素の中で、PORG_kが最大となるkをmとする。
<ステップ3>
S7:N_m:=N_m+1,EM:=EM−UM_m,EC:=EC−UC_m,P_m:=P_m−1とする。
<ステップ4>
S8:D={d|dはP_k>0をみたすk}とする。
D=Φの場合、S9へ遷移する。その他の場合はS3に遷移する。
S9:全てのkに対してP_k:=PORG_kとする。
その後、S3に遷移する。
すなわちモジュール選定手段140は、拡張優先度の高さ(値の大きさ)に応じ、優先度の比率に従って、可能な限り機能モジュールの選定数を増やす。モジュール選定手段140は、最高の優先度を持つ機能モジュールをチェックし、拡張可能であれば選定数を1加算し、拡張したモジュールについては優先度を1下げる操作を、繰り返し実行する。拡張優先度が全て0になると、拡張優先度を初期値に戻して、再度一連の処理を繰り返す。モジュール選定手段140は、空きメモリ量、空きCPU使用率に対して拡張できる機能モジュールが1つも無くなった場合に処理を終了する。
<実施例1>
実施例1として、モジュール選定手段140が上述のステップ1乃至ステップ4を繰り返し実行することにより、k、P_k、UM_k、UC_k、EM、EC、N_k、PORG_kがそれぞれどのように変化していくかを具体的に示す。各段階で変化が生じた要素は四角括弧([])で囲って示す。なお、以下の記述において、{}内の要素は、図3に示すようなメモリ管理テーブル111及び図4に示すようなパフォーマンス管理テーブル121における各列の要素を示している。例えば、
k ={1,2,3,4,5,6}
P_k ={2,0,0,1,0,0}
との記述は、
機能モジュール番号1の機能モジュールの拡張優先度が2
機能モジュール番号2の機能モジュールの拡張優先度が0
機能モジュール番号3の機能モジュールの拡張優先度が0
機能モジュール番号4の機能モジュールの拡張優先度が1
機能モジュール番号5の機能モジュールの拡張優先度が0
機能モジュール番号6の機能モジュールの拡張優先度が0
であることを示している。
<初期段階>
k ={1,2,3,4,5,6}
P_k ={2,0,0,1,0,0}
UM_k ={20,30,10,10,20,50}
UC_k ={10,15,5,10,5,5}
EM =84
EC =35
N_k ={0,0,0,0,0,0}
L_k ={10,0,45,10,5,0}
PORG_k={2,0,0,1,0,0}
1回目のステップ1乃至ステップ4の処理では、k=1の機能モジュールが、ステップ3における処理の対象となる。
<第1段階処理後>
k ={1,2,3,4,5,6}
P_k ={[1],0,0,1,0,0}
UM_k ={20,30,10,10,20,50}
UC_k ={10,15,5,10,5,5}
EM =[64]
EC =[25]
N_k ={[1],0,0,0,0,0}
L_k ={10,0,45,10,5,0}
PORG_k={2,0,0,1,0,0}
1回目のステップ1乃至ステップ4の処理により、各変数の値は上記のように変更される。そして、2回目のステップ1乃至ステップ4の処理では、k=1の機能モジュールが、ステップ3における処理の対象となる。
<第2段階処理後>
k ={1,2,3,4,5,6}
P_k ={[0],0,0,1,0,0}
UM_k ={20,30,10,10,20,50}
UC_k ={10,15,5,10,5,5}
EM =[44]
EC =[15]
N_k ={[2],0,0,0,0,0}
L_k ={10,0,45,10,5,0}
PORG_k={2,0,0,1,0,0}
2回目のステップ1乃至ステップ4の処理により、各変数の値は上記のように変更される。そして、3回目のステップ1乃至ステップ4の処理では、k=4の機能モジュールが、ステップ3における処理の対象となる。
<第3段階のS7処理後>
k ={1,2,3,4,5,6}
P_k ={0,0,0,[0],0,0}
UM_k ={20,30,10,10,20,50}
UC_k ={10,15,5,10,5,5}
EM =[34]
EC =[5]
N_k ={2,0,0,[1],0,0}
L_k ={10,0,45,10,5,0}
PORG_k={2,0,0,1,0,0}
3回目のステップ1乃至ステップ3の処理により、各変数の値は上記のように変更される。
<第3段階処理後>
k ={1,2,3,4,5,6}
P_k ={0,[2],0,[1],0,0}
UM_k ={20,30,10,10,20,50}
UC_k ={10,15,5,10,5,5}
EM =[34]
EC =[5]
N_k ={2,0,0,1,0,0}
L_k ={10,0,45,10,5,0}
PORG_k={2,0,0,1,0,0}
3回目のステップ4の処理により、全てのkに対するP_kが0となったため、初期値にリセットされる。
<第4段階のS4処理後>
k ={1,2,3,4,5,6}
P_k ={0,2,0,1,0,0}
UM_k ={20,30,10,10,20,50}
UC_k ={10,15,5,10,5,5}
EM =34
EC =5
N_k ={2,0,0,1,0,0}
L_k ={10,0,45,10,5,0}
PORG_k={2,0,0,1,0,0}
4回目のステップ1の処理で、条件を満たすkが存在しなくなったため、処理が終了する。図6に、本実施例において、モジュール選定手段140が最終的な機能モジュールの選定数を決定した結果を格納したモジュール選定テーブル141を示す。
モジュール着脱手段150は、モジュール選定テーブル141に従って、機能モジュールの着脱を行う。すなわち、モジュール選定テーブル141に記載された機能モジュールについては、その選定数に相当する数のインスタンスを有効化する。一方、モジュール選定テーブル141に記載されていない機能モジュールは無効化する。これにより、ユーザが選択したオプションやパラメータを実現するために必要な機能モジュールに対してのみ、必要なリソースが割り当てられるため、リソースが有効的に活用される。
<実施例2>
続いて、実施例2として、モジュール選定手段140が上述のステップ1乃至ステップ4を繰り返し実行することにより、選定数がどのように変化していくかを表す簡単な動作例を示す。説明の簡略化のため、管理する機能モジュールを1つとし、リソースの使用量を単に使用量、使用できるリソースの空き容量を単に空き容量と表現する。また、各段階は上述の処理の1サイクル分を表している。各段階で変化が生じた要素は四角括弧([])で囲って示す。
<初期段階>
空き容量80
モジュールA:拡張優先度2、使用量25、選定数0
モジュールB:拡張優先度1、使用量15、選定数0
<第1段階処理後>
空き容量[55]
モジュールA:拡張優先度[1]、使用量25、選定数[1]
モジュールB:拡張優先度1、使用量15、選定数0
<第2段階処理後>
空き容量[30]
モジュールA:拡張優先度[0]、使用量25、選定数[2]
モジュールB:拡張優先度1、使用量15、選定数0
<第3段階のS7処理後>
空き容量[15]
モジュールA:拡張優先度0、使用量25、選定数2
モジュールB:拡張優先度[0]、使用量15、選定数[1]
<第3段階処理後>
空き容量15
モジュールA:拡張優先度[2]、使用量25、選定数2
モジュールB:拡張優先度[1]、使用量15、選定数1
ここで、拡張アルゴリズムの最後のステップで全ての拡張優先度が0となるため、初期値で置換えられる。
<第4段階処理後>
空き容量 [0]
モジュールA:拡張優先度2、使用量25、選定数2
モジュールB:拡張優先度[0]、使用量10、選定数[2]
ここで、空き容量が0となるため、処理を終了する。
なお、空き容量、拡張優先度、使用量の関係次第では、上述の例のように「拡張優先度の比率」=「選定数」とはならないことがある。すなわち、本アルゴリズムは、拡張優先度が低くても、空き使用量があれば拡張する。
もし複数の機能モジュールをセットで拡張したい場合には、モジュール選定手段140は、モジュール選定テーブル141を図7のように生成することができる。すなわち、セットで拡張したい機能モジュールについては、それらの機能モジュール番号、拡張優先度を統合する。すなわち、同じ機能モジュール番号及び拡張優先度を設定する。また、選定数上限値はいずれか低い方の値に統一する。さらに、メモリ使用量及びCPU使用率は、それらの機能モジュールのメモリ使用量及びCPU使用率を加算した値に変更する。図7は、前処理モジュールと先読みモジュールとをセットで拡張した場合のモジュール選定テーブル141の例である。例えば、複数の機能モジュール間に関係性があり、それらをセットで拡張しないと拡張の効果が得られないような場合に、このような処理を行うことができる。
なお、図7は、1つの前処理モジュールと、1つの先読みモジュールが関係性を有する場合のモジュール選定テーブル141の例を示している。一方、複数のモジュールの対応関係が1:1でない場合、例えば1つのモジュールAに対して2つのモジュールBを組み合わせる必要がある場合もある。この場合は、メモリ使用量及びCPU使用率は、モジュールAとモジュールBのメモリ使用量及びCPU使用率を1:2の割合で加算した値に変更する。また、例えばモジュールBの選定数が1の場合は、モジュール数としては2拡張するといった追加的処理を行うことができる。
図8は、本実施例にかかる数値制御装置100により、機能モジュールにリソースが割り当てられた状態を示している。このように、本実施例では、ユーザが選択した機能モジュールに対して、拡張優先度に応じたリソースが割り当てられる。一方、ユーザが選択していない機能モジュールに対しては、リソースの割り当てが行われない。
図9は、従来の数値制御装置と、本実施例にかかる数値制御装置100とのリソース割当結果を比較した図である。図9の左図は、従来の数値制御装置によるリソース割当結果を示している。この方法は、1つのプログラム内に様々な機能モジュールが同梱され、全ての機能モジュールにリソースが割り当てられているので、汎用性に富むというメリットがある。一方、個々の機能モジュールのパフォーマンスの限界は低い。図9の中図及び右図は、本実施例にかかる数値制御装置100によるリソース割当結果を示している。この方法では、図9の中図に示すように、ユーザが選択しない機能モジュールに対してはリソースを割り当てない。その代わりに、ユーザが選択した機能モジュールに対しては、拡張優先度に応じたリソースを割り当てる。これにより、ユーザに機能選択の自由度を損なうことなく、ユーザの選択した機能のパフォーマンスを最大化することができる。これにより、ユーザの選択した機能においては、処理速度の向上、加工の停止頻度の抑制、加工精度の向上などのメリットが得られる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。本発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
100 数値制御装置
110 メモリ管理手段
111 メモリ管理テーブル
120 パフォーマンス管理手段
121 パフォーマンス管理テーブル
130 機械構成入力手段
131 機械構成テーブル
140 モジュール選定手段
141 モジュール選定テーブル
150 モジュール着脱手段

Claims (4)

  1. 複数の機能モジュールにリソースを割り当てる数値制御装置であって、
    ユーザが選択したオプション又はパラメータに応じ、有効化すべき前記機能モジュールを設定した機械構成テーブルを生成する機械構成入力手段と、
    メモリ使用量を管理するメモリ管理テーブルを生成するメモリ管理手段と、
    CPU使用率を管理するパフォーマンス管理テーブルを生成するパフォーマンス管理手段と、
    前記機械構成テーブル、前記メモリ管理テーブル及び前記パフォーマンス管理テーブルに基づいて前記機能モジュールの選定数を決定し、モジュール選定テーブルを生成するモジュール選定手段と、
    前記機能モジュールの前記選定数に従って前記機能モジュールの着脱を行うモジュール着脱手段と、を有する
    数値制御装置。
  2. 前記機械構成入力手段は、有効化すべき前記機能モジュールと、前記機能モジュールそれぞれの前記選定数、優先度及び選定数上限値と、を設定した前記機械構成テーブルを生成する
    請求項1記載の数値制御装置。
  3. 前記メモリ管理手段は、前記メモリ使用量と、空きメモリ量と、を管理する前記メモリ管理テーブルを生成する
    請求項1記載の数値制御装置。
  4. 前記パフォーマンス管理手段は、前記CPU使用率と、空きCPU使用率と、を管理する前記パフォーマンス管理テーブルを生成する
    請求項1記載の数値制御装置。
JP2017088433A 2017-04-27 2017-04-27 数値制御装置 Active JP6408060B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017088433A JP6408060B1 (ja) 2017-04-27 2017-04-27 数値制御装置
US15/956,314 US10551823B2 (en) 2017-04-27 2018-04-18 Numerical controller
DE102018003245.1A DE102018003245B4 (de) 2017-04-27 2018-04-20 Numerische Steuereinrichtung
CN201810373121.9A CN108803498B (zh) 2017-04-27 2018-04-24 数值控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017088433A JP6408060B1 (ja) 2017-04-27 2017-04-27 数値制御装置

Publications (2)

Publication Number Publication Date
JP6408060B1 true JP6408060B1 (ja) 2018-10-17
JP2018185734A JP2018185734A (ja) 2018-11-22

Family

ID=63797229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017088433A Active JP6408060B1 (ja) 2017-04-27 2017-04-27 数値制御装置

Country Status (4)

Country Link
US (1) US10551823B2 (ja)
JP (1) JP6408060B1 (ja)
CN (1) CN108803498B (ja)
DE (1) DE102018003245B4 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115087935B (zh) * 2020-02-14 2024-02-02 三菱电机株式会社 驱动控制装置及驱动控制系统
US11436025B2 (en) 2020-07-09 2022-09-06 Numem Inc. Smart compute resistive memory
US11443802B2 (en) 2020-07-09 2022-09-13 Numem Inc. Adaptive memory management and control circuitry
WO2023012939A1 (ja) * 2021-08-04 2023-02-09 ファナック株式会社 数値制御システム
WO2023181400A1 (ja) * 2022-03-25 2023-09-28 ファナック株式会社 システムプログラム最適化装置、システムプログラム最適化システム、及びコンピュータが読み取り可能な記憶媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934529A (ja) 1995-07-19 1997-02-07 Kazuyuki Mori 産業機械用nc制御装置
JP2000076087A (ja) * 1998-08-28 2000-03-14 Hitachi Ltd マルチオペレーティングシステム制御方法
JP3723015B2 (ja) * 1999-07-26 2005-12-07 三菱電機株式会社 数値制御装置
JP2001101070A (ja) * 1999-10-04 2001-04-13 Okuma Corp メモリ管理方法及びメモリ管理装置
JP2005084800A (ja) * 2003-09-05 2005-03-31 Fanuc Ltd プログラマブルコントローラ
JP2006024185A (ja) * 2004-06-07 2006-01-26 Yaskawa Electric Corp モーションコントローラ及びその補間周期調整方法及び補間データバッファリング調整方法
JP4270038B2 (ja) * 2004-06-16 2009-05-27 株式会社デンソーウェーブ 制御装置及びコンピュータプログラム

Also Published As

Publication number Publication date
US20180314236A1 (en) 2018-11-01
US10551823B2 (en) 2020-02-04
DE102018003245A1 (de) 2018-10-31
CN108803498B (zh) 2019-06-14
JP2018185734A (ja) 2018-11-22
CN108803498A (zh) 2018-11-13
DE102018003245B4 (de) 2024-02-08

Similar Documents

Publication Publication Date Title
JP6408060B1 (ja) 数値制御装置
CN106802634B (zh) 数值控制装置
EP3467651B1 (en) Method, device and terminal for allocating computational resources of processor
CN102878102B (zh) 风扇调速处理方法及装置
JP6151669B2 (ja) 加工プログラム指令内容に応じてcpu負荷を分散可能な数値制御装置
CN106406134B (zh) 具备学习控制装置的伺服控制系统
CN101840216B (zh) 可编程控制器的参数设定系统及方法
JP6386511B2 (ja) 工具経路生成装置、工具経路生成方法及び工具経路生成プログラム
US6335870B1 (en) Inverter apparatus having a separate controlling application program for performing specification dependent control
CN103984602A (zh) 一种vm资源调度方法、装置及系统
JP2014211721A (ja) 数値制御装置
JP5020741B2 (ja) 工作機械によらないnc指令を入力する数値制御装置および加工方法
CN103838520A (zh) 一种输入/输出流量控制方法及设备
JP6312648B2 (ja) 工具カタログデータベースと連携する数値制御システム
JP5499865B2 (ja) 多関節型ロボットの速度指令プロファイルの生成方法
JP4409568B2 (ja) 帯域制御プログラム及びマルチプロセッサシステム
CN105760112A (zh) 延长存储器使用时间的数据存储方法、读取方法及系统
EP3200083B1 (en) Resource scheduling method and related apparatus
JP5958395B2 (ja) コンピュータシステム
CN111886551B (zh) 性能可扩展的数字控制器
CN105117167A (zh) 一种信息处理方法及装置、电子设备
CN102326146A (zh) 多任务系统中的系统启动方法
TW201810920A (zh) 馬達操作系統以及其方法
CN111444285A (zh) 运营数据的配置方法及装置
US20230161618A1 (en) Hierarchical asymmetric core attribute detection

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180820

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: 20180828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180919

R150 Certificate of patent or registration of utility model

Ref document number: 6408060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150