特許第6823027号(P6823027)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

<>
  • 6823027-数値制御装置 図000002
  • 6823027-数値制御装置 図000003
  • 6823027-数値制御装置 図000004
  • 6823027-数値制御装置 図000005
  • 6823027-数値制御装置 図000006
  • 6823027-数値制御装置 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6823027
(24)【登録日】2021年1月12日
(45)【発行日】2021年1月27日
(54)【発明の名称】数値制御装置
(51)【国際特許分類】
   G05B 19/414 20060101AFI20210114BHJP
   G06F 12/02 20060101ALI20210114BHJP
   G06F 12/06 20060101ALI20210114BHJP
【FI】
   G05B19/414 N
   G06F12/02 510A
   G06F12/06 520A
【請求項の数】3
【全頁数】8
(21)【出願番号】特願2018-174185(P2018-174185)
(22)【出願日】2018年9月18日
(65)【公開番号】特開2020-46874(P2020-46874A)
(43)【公開日】2020年3月26日
【審査請求日】2020年2月10日
【早期審査対象出願】
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ特許業務法人
(72)【発明者】
【氏名】酒寄 祐樹
(72)【発明者】
【氏名】金丸 智
【審査官】 石川 薫
(56)【参考文献】
【文献】 特開2017−156908(JP,A)
【文献】 特開平05−224729(JP,A)
【文献】 特開平09−212226(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18−19/416
G05B 19/42−19/46
G06F 12/02
G06F 12/06
(57)【特許請求の範囲】
【請求項1】
数値制御装置の電源投入時に、設定に従ってメモリマップを構築する起動部と、
前記メモリマップの再構築を必要とする操作を検出する変更検出部と、
前記操作が検出されたとき、動作中のタスクの停止処理を行うタスク制御部と、
前記タスクが停止した後、前記メモリマップのバックアップを取得し、前記設定にしたがってメモリマップを再構築し、前記再構築したメモリマップと前記バックアップされたメモリマップとを比較してプログラムカウンタなど再度タスクを動作させるために必要な情報を再設定するメモリマップ制御部と、を含む
数値制御装置。
【請求項2】
前記タスク制御部は、前記メモリマップ制御部による処理が完了した後、停止した前記タスクを再度起動する
請求項1記載の数値制御装置。
【請求項3】
前記メモリマップ制御部が前記メモリマップを再構築している間、周辺機器との通信を実行する周辺機器通信部をさらに含み、前記再構築中のメモリマップのメモリ領域とは別のメモリ領域に、前記バックアップされたメモリマップを配置し、さらに前記通信を実行するためのプログラムを展開することにより、前記通信を実行する
請求項1記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御装置に関し、特に安全にメモリマップを再構築する機能を有する数値制御装置に関する。
【背景技術】
【0002】
組み込みソフトウェアが搭載された情報処理装置の多くは、電源投入時に、予め設定されたパラメータやオプションにしたがって、ソフトウェア構成、コード領域、ワーク領域のサイズ及びアドレスなどを決定している。これらのメモリ上の配置をメモリマップと呼ぶ。メモリマップを固定化することで信頼性や安定性を高めるよう設計されている。
【0003】
工作機械を含む産業用機械(以下、単に機械という)を制御する数値制御装置も、上記情報処理装置と同様に、コード領域やワーク領域といったメモリマップを固定化することで信頼性や安定性の向上を図っている(例えば特許文献1)。メモリマップを固定せず、動的にメモリを取得する方法では、例えばある機能で多くのメモリを確保しており、別の機能でメモリを取得しようとしてもメモリの取得に失敗するなどし、数値制御装置の状態によっては意図しない挙動をする可能性がある。また、動作が不安定になると、同一の加工プログラムを運転しても同じ結果が得られず、再現性が低下することがある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平08−137513号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、メモリマップを固定化すると、数値制御装置の動作中にパラメータやオプションの設定を変更する度に、メモリマップを再構築するために数値制御装置を再起動することが必要となる。例えば、工作機械の立上げ時には頻繁に設定を変更する必要が生じるため、何度も数値制御装置の再起動を繰り返すことになり、オペレータに負担がかかる。さらに、数値制御装置を再起動する際には、数値制御装置または工作機械に接続されている周辺機器も同時に再起動する必要がある。この際、全ての周辺機器が起動するまでに多くの時間を要することが少なくない。
【0006】
現在は数値制御装置の電源投入時にメモリマップを決定することが一般的であるが、上述の問題を回避するためには、数値制御装置を再起動せずにパラメータやオプションの変更を反映できれば良い。数値制御装置の運転中にメモリマップの再構築を行うためには、CPUのメモリアクセスを停止させる必要がある。CPUによるメモリアクセスを停止させずにメモリマップの再構築を行うと、再構築の直前までCPUが指していたプログラムカウンタ(図4(a))が次の瞬間に異常値となってしまう(図4(b))などの危険性があり、不具合の原因となりうるためである。
【0007】
CPUのメモリアクセスを停止させて、数値制御装置の運転中に電源投入時と同じ処理をするには、相当な時間を必要とする。その間は、リアルタイムに応答が必要な処理や、接続されている周辺機器に対する応答なども全くできなくなってしまう(図5)。数値制御装置からの応答がなければ、例えば周辺機器は数値制御装置に何らかの異常が発生したとみなし動作を停止するなどの問題を起こす可能性がある(図6)。
【0008】
本発明はこのような課題を解決するためのものであり、安全にメモリマップを再構築する機能を有する数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一実施形態にかかる数値制御装置は、数値制御装置の電源投入時に、設定に従ってメモリマップを構築する起動部と、前記メモリマップの再構築を必要とする操作を検出する変更検出部と、前記操作が検出されたとき、動作中のタスクの停止処理を行うタスク制御部と、前記タスクが停止した後、前記メモリマップのバックアップを取得し、前記設定にしたがってメモリマップを再構築し、前記再構築したメモリマップと前記バックアップされたメモリマップとを比較してプログラムカウンタなど再度タスクを動作させるために必要な情報を再設定するメモリマップ制御部と、を含む。
本発明の一実施形態にかかる数値制御装置は、前記タスク制御部は、前記メモリマップ制御部による処理が完了した後、停止した前記タスクを再度起動する。
本発明の一実施形態にかかる数値制御装置は、前記メモリマップ制御部が前記メモリマップを再構築している間、周辺機器との通信を実行する周辺機器通信部をさらに含み、前記再構築中のメモリマップのメモリ領域とは別のメモリ領域に、前記バックアップされたメモリマップを配置し、さらに前記通信を実行するためのプログラムを展開することにより、前記通信を実行する。
【発明の効果】
【0010】
本発明により、安全にメモリマップを再構築する機能を有する数値制御装置を提供することができる。
【図面の簡単な説明】
【0011】
図1】数値制御装置1のハードウェア構成例を示す図である。
図2】数値制御装置1の機能構成例を示す図である。
図3】数値制御装置1の動作例を示すフローチャートである。
図4】従来の課題を示す図である。
図5】従来の課題を示す図である。
図6】従来の課題を示す図である。
【発明を実施するための形態】
【0012】
図1は、実施の形態1にかかる数値制御装置1の要部を示す概略的なハードウェア構成図である。数値制御装置1は、工作機械を含む産業用機械の制御を行う装置である。数値制御装置1は、CPU11、ROM12、RAM13、不揮発性メモリ14、バス10、軸制御回路16、サーボアンプ17、インタフェース18、インタフェース19を有する。数値制御装置1には、サーボモータ50、入出力装置60、1以上の周辺機器70が接続される。
【0013】
CPU11は、数値制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス10を介して読み出し、システム・プログラムに従って数値制御装置1全体を制御する。
【0014】
ROM12は、例えば機械の各種制御を実行するためのシステム・プログラムを予め格納している。
【0015】
RAM13は、一時的な計算データや表示データ、入出力装置60を介してオペレータが入力したデータやプログラム等を一時的に格納する。
【0016】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされており、数値制御装置1の電源が遮断されても記憶状態を保持する。不揮発性メモリ14は、入出力装置60から入力されるデータやプログラム等を格納する。不揮発性メモリ14に記憶されたプログラムやデータは、実行時及び利用時にはRAM13に展開されても良い。
【0017】
軸制御回路16は、機械の動作軸を制御する。軸制御回路16は、CPU11が出力する軸の移動指令量を受けて、動作軸の移動指令をサーボアンプ17に出力する。
【0018】
サーボアンプ17は、軸制御回路16が出力する軸の移動指令を受けて、サーボモータ50を駆動する。
【0019】
サーボモータ50は、サーボアンプ17により駆動されて機械の動作軸を動かす。サーボモータ50は、典型的には位置・速度検出器を内蔵する。位置・速度検出器は位置・速度フィードバック信号を出力し、この信号が軸制御回路16にフィードバックされることで、位置・速度のフィードバック制御が行われる。
【0020】
なお、図1では軸制御回路16、サーボアンプ17、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる機械に備えられた軸の数だけ用意される。
【0021】
入出力装置60は、ディスプレイやハードウェアキー等を備えたデータ入出力装置であり、典型的にはMDI又は操作盤である。入出力装置60は、インタフェース18を介してCPU11から受けた情報をディスプレイに表示する。入出力装置60は、ハードウェアキー等から入力された指令やデータ等をインタフェース18を介してCPU11に渡す。
【0022】
周辺機器70は、数値制御装置または工作機械に接続される1以上の周辺機器であり、例えば各種センサ、タイマ、ロボット等が含まれる。周辺機器70は、インタフェース19を介してCPU11からの情報を受信する。周辺機器70が出力する情報は、インタフェース19を介してCPU11に渡される。
【0023】
図2は、数値制御装置1の特徴的な機能構成を示すブロック図である。典型的な数値制御装置1は、起動部101、タスク制御部102、変更検出部103、周辺機器通信部104、メモリマップ制御部105を有する。これらの組み合わせは、本願発明独自の技術により可能になる構成要素である。
【0024】
図3のフローチャートを参照しつつ、数値制御装置1の各処理部の動作について順を追って説明する。なお図3のフローチャートは、一点鎖線で囲まれた左側の矩形内の処理と、同じく一点鎖線で囲まれた右側の矩形内の処理と、に大きく分類できる。このうち特に右側の矩形内の処理は、本願発明独自の新規な処理を含んでいる。
【0025】
起動部101は、数値制御装置1の電源投入時に必要な処理を行う(S101)。例えば、不揮発性メモリ14に予め格納されたパラメータやオプションを読み込み、それらの設定に応じてソフトウェアをロードし、コード領域やワーク領域のメモリマップを作成する。さらに、タスクの初期化、CPU11と周辺機器70との通信の初期化を行う。その後、起動部101は、タスク制御部102に電源投入時の処理が終わったことを通知する。
【0026】
タスク制御部102は、電源投入時の処理が終わった後、タスクの周期や優先度に応じてタスクを起動(S102)させたり、タスクを停止させる処理を行う。タスクを停止する場合は、動作中のタスクがクリティカルな処理を行っていないことを確認してから停止させる。クリティカルな処理を行っているタスクがあれば、当該タスクの処理が終わるまで待ってから停止させる(S104乃至S105)。オペレータが、再起動が必要な操作を行った場合(後述の変更検出部103により検知及び通知される)、タスク制御部102は、全てのタスクが停止したことをメモリマップ制御部105に通知し、メモリマップの再構築を依頼する。
【0027】
変更検出部103は、再起動が必要なオペレータによる操作を検出する(S103)。再起動が必要な操作とは、メモリマップの再構築が必要となる操作をいい、例えばソフトウェアのインストールなどが含まれる。再起動が必要な操作を検出した場合、変更検出部103は、タスク制御部102に動作中の全てのタスクを停止させるよう依頼する。動作中の全てのタスクが停止すると、CPU11による再構築対象のメモリ領域へのアクセスは停止された状態となり、安全にメモリマップの再構築が可能となる。
【0028】
周辺機器通信部104は、メモリマップ制御部105がメモリマップを再構築している間、すなわちCPU11が再構築中のメモリ領域へのメモリアクセスを停止している間、周辺機器70と数値制御装置1との間で通信(ハンドシェイク)を代行する(S106)。例えば、数値制御装置1の状態を監視しているウォッチドッグタイマを無効にしたり、サーボモータから数値制御装置1に要求やフィードバックが送信されたときにレスポンスを返す処理などがある。これにより、周辺機器70は、数値制御装置1が動作を停止しているなどと誤認することなく、数値制御装置1がメモリマップの再構築している間も稼働し続けることができる。
【0029】
周辺機器通信部104は、再構築中のメモリ領域以外のメモリ領域を使用してこの処理を実行できる。すなわち、周辺機器通信部104は、周辺機器70とのハンドシェイク処理を行うためのプログラムやワーク領域を含む一時的なメモリマップを、再構築対象のメモリマップとは別の領域に確保する。メモリマップ制御部105がメモリマップの再構築を行っている間、周辺機器通信部104は上記一時的なメモリマップを使用して周辺機器70とのハンドシェイク処理を行う。
【0030】
メモリマップ制御部105は、メモリマップの制御を行う。メモリマップ制御部105は、タスク制御部102からメモリマップの再構築を依頼されると、メモリマップの再構築を開始する前に、メモリマップのバックアップを取得する(S107)。その後、メモリマップ制御部105は、再びパラメータやオプションを読み込み、公知の事前チェック処理(再構築後のメモリマップが使用可能なメモリサイズを超えないかなど)を実行した後、パラメータやオプションの設定に応じてソフトウェアをロードし、コード領域やワーク領域のメモリマップを再構築する(S108)。
【0031】
メモリマップ制御部105は、メモリマップの再構築終了後、バックアップしたメモリマップと再構築したメモリマップとを比較して、タスクやCPU11に適切なプログラムカウンタなど再度タスクを動作させるために必要な情報を再設定する(S109)。これにより、安全にタスクを動作させることができる。その後、メモリマップ制御部105は、タスク制御部102部にタスクの起動を依頼する(S102)。
【0032】
本実施の形態によれば、従来は数値制御装置1の再起動が必要であったような操作、すなわちメモリマップの再構築を要する操作が行われた場合であっても、再起動を要せずに、かつ周辺機器70との接続を維持したまま、メモリマップを再構築することができる。これにより、数値制御装置1の再起動に要していた時間(周辺機器の再起動に要する時間などを含む)を削減できるため、オペレータの負担を軽減することができる。また、再起動に伴う消費電力等を削減できる。
【0033】
さらに、本実施の形態によれば、ソフトウェアや機能の着脱(ダイナミックダウンロードなど)が容易になる。また、不具合対応やデバッグなどを行う際や、ソフトウェアをアップデートする際に数値制御装置1を再起動する必要がないので、従来より柔軟な利用形態を実現できる。
【符号の説明】
【0034】
1 数値制御装置
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
18 インタフェース
19 インタフェース
10 バス
16 軸制御回路
17 サーボアンプ
50 サーボモータ
60 入出力装置
70 周辺機器
101 起動部
102 タスク制御部
103 変更検出部
104 周辺機器通信部
105 メモリマップ制御部
図1
図2
図3
図4
図5
図6