(57)【要約】【課題】未使用メモリ領域に異常が発生した場合であってもメモリ領域の一括バックアップが可能な数値制御装置を提供すること。【解決手段】本発明の数値制御装置１は、揮発性メモリ１１の有効データの領域のアドレスを記憶する不揮発性メモリ１２と、揮発性メモリ１１に記憶されたデータを読み出した際にデータの異常を検出する検出回路１３と、該検出回路１３で異常なデータを検出した際に、該異常なデータのアドレスと前記不揮発性メモリ１２に記憶されたアドレスとを比較して、前記異常なデータが有効なデータ領域のデータであるか無効な領域のデータであるかを判定し、前記異常なデータが無効な領域のデータである場合、バックアップ処理を続行する手段と、を有する。【選択図】図１
2017041182.tif 000002
【特許請求の範囲】
【請求項１】
揮発性メモリに記憶されたデータをインタフェースを介して外部メモリへバックアップすることが可能な数値制御装置において、
前記揮発性メモリの有効データの領域のアドレスを記憶する不揮発性メモリと、
前記揮発性メモリに記憶されたデータを読み出した際にデータの異常を検出する検出回路と、
該検出回路で異常なデータを検出した際に、該異常なデータのアドレスと前記不揮発性メモリに記憶されたアドレスとを比較して、前記異常なデータが有効なデータ領域のデータであるか無効な領域のデータであるかを判定し、前記異常なデータが無効な領域のデータである場合、バックアップ処理を続行する手段と、
を有することを特徴とする数値制御装置。
【請求項２】
揮発性メモリに記憶されたデータをインタフェースを介して外部メモリへバックアップすることが可能な数値制御装置において、
前記揮発性メモリの有効データの領域のアドレスを記憶する不揮発性メモリと、
前記揮発性メモリに記憶されたデータを読み出した際にデータの異常を検出する検出回路と、
前記揮発性メモリのデータを一括してバックアップを行う際、前記揮発性メモリの有効なデータ領域に対してのみバックアップ処理を行う手段と、
を有することを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は数値制御装置に関し、特に未使用メモリ領域に異常が発生した場合であってもメモリ領域の一括バックアップが可能な数値制御装置に関する。
【背景技術】
【０００２】
図７は、従来技術における数値制御装置の概略構成図である。数値制御装置１では、機械を制御するための設定情報やユーザの加工プログラム、工具の管理情報などを記憶するメモリが内蔵されている。これらのデータは、頻繁に書き換えが行われるため、ＳＲＡＭなどの揮発性メモリ１１に記憶して使用するケースが多いが、揮発性メモリ１１は電源を供給し続けないとデータが消えてしまうため、データ保持用バッテリーなどを接続してデータを保持している。また、これらのデータは、揮発性メモリ１１に記憶されているデータが壊れた場合に備えて、しばしばコンパクトフラッシュ（登録商標）、ＵＳＢメモリ、ＳＤカードなどの外部メモリ２にインタフェース１４を介してバックアップされる。
【０００３】
バックアップの際、加工プログラムや工具管理情報などデータごとにファイルにしてバックアップする方法もあるが、ファイルの数が多くなると、バックアップ作業やバックアップしたファイルの管理がわずらわしくなるため、全てのメモリ領域を一括してバックアップする方法がとられる。図８は、メモリ領域を一括してバックアップする処理のフローチャートを示している。メモリ領域の一括バックアップ処理では、ＣＰＵ１０（中央処理装置）の制御の下で、揮発性メモリ１１からデータを逐次読み出し（ステップＳＣ０１）、読み出したデータに異常がなければ（ステップＳＣ０２）外部メモリに対して読み出したデータの書き込みを行う（ステップＳＣ０３）。そして、メモリ領域全体のデータの読み出しと書き込みが完了した時点で（ステップＳＣ０４，ＳＣ０５）バックアップが終了する。
【０００４】
図９は、メモリバックアップ処理の概要を説明する図である。揮発性メモリ１１のメモリ領域を一括バックアップする方法では、ＣＰＵ１０がメモリ領域の先頭アドレスから順番にデータを読み出し、検出回路１３によるエラーチェックを経てバックアップ用の外部メモリ２に書き込むものであり、外部メモリ２に作成されるファイルはバックアップごとに１つになるため、メモリに記憶されているデータファイル毎のバックアップと比較すると、バックアップ時の操作や、バックアップしたデータの管理が容易になる。
【０００５】
一方、これらのデータは数値制御装置１が正しく動作するために重要で、仮にこのデータに異常があった場合には、数値制御装置１が異常な動作をしないように直ちに処理を中止し、アラームとする必要がある。データ異常が発生する要因としては、上記データ保持用バッテリーの電圧低下や、ノイズ、ソフトエラーなどにより、上記メモリが保持していたデータが壊れる場合や、転送時にバスがノイズ、ソフトエラーなどにより、影響を受け、転送データが異常となる場合などがある。
【０００６】
データの異常を検出するため、メモリやバスにはパリティやＥＣＣなどデータ異常を検出する機能があり、メモリからのデータの読み出し時やデータの転送時（バス）にデータのチェックを行い、万一異常が確認された場合、アラームを発生させ、処理を中止する。上記のデータの異常を検出する機能はバックアップ時にも動作し、データの異常を検出した際にはアラームを発生し、処理を停止させる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第５３９８５５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
メモリを一括してバックアップする方法は、ファイルが１つにできるため、操作や、バックアップデータの管理も容易になる。しかし、この方法はメモリの全ての領域をバックアップするため、通常の動作で使用されない無効な領域もバックアップの対象に含まれる。しかしながら、上記のデータの異常を検出する機能はデータのリード時には必ず検出を行うため、上記の無効な領域でデータの異常があった場合にも異常を検出し、処理を中止してしまう。すなわち、実際の動作と無関係な領域のデータが壊れたことで、有効なデータのバックアップが正常に完了しないことになる。
【０００９】
図１０は、異常を検出した場合におけるメモリバックアップ処理を説明する図である。メモリ領域の一括バックアップにおいて、例えばアドレス０４００Ｈから始まるメモリ領域に記憶されているデータを読み出す際に読み出したデータの異常を検出回路１３が検出すると、該メモリ領域が数値制御装置１で使用されていなかった場合であってもＣＰＵ１０は検出回路１３の検出結果に基づいてアラームを発生し、メモリバックアップ処理を中断する。そのため、外部メモリ２にはアドレス００００Ｈから０３ＦＦＨまでのデータしか書き込みされず、未使用のメモリ領域が原因で正常なバックアップが行われないという問題が生じる。
【００１０】
そこで本発明の目的は、未使用メモリ領域に異常が発生した場合であってもメモリ領域の一括バックアップが可能な数値制御装置を提供することである。
【課題を解決するための手段】
【００１１】
本発明では、上記問題を解決するために、予めバックアップ対象の揮発性メモリの中で、有効なデータが格納された領域のアドレスを不揮発性メモリに記憶し、揮発性メモリの無効な領域を認識し、無効な領域のバックアップ時に検出したデータの異常については異常を無視し、データのバックアップを続ける。
【００１２】
そして、本願の請求項１に係る発明は、揮発性メモリに記憶されたデータをインタフェースを介して外部メモリへバックアップすることが可能な数値制御装置において、前記揮発性メモリの有効データの領域のアドレスを記憶する不揮発性メモリと、前記揮発性メモリに記憶されたデータを読み出した際にデータの異常を検出する検出回路と、該検出回路で異常なデータを検出した際に、該異常なデータのアドレスと前記不揮発性メモリに記憶されたアドレスとを比較して、前記異常なデータが有効なデータ領域のデータであるか無効な領域のデータであるかを判定し、前記異常なデータが無効な領域のデータである場合、バックアップ処理を続行する手段と、を有することを特徴とする数値制御装置である。
【００１３】
また、本願の請求項２に係る発明は、揮発性メモリに記憶されたデータをインタフェースを介して外部メモリへバックアップすることが可能な数値制御装置において、前記揮発性メモリの有効データの領域のアドレスを記憶する不揮発性メモリと、前記揮発性メモリに記憶されたデータを読み出した際にデータの異常を検出する検出回路と、前記揮発性メモリのデータを一括してバックアップを行う際、前記揮発性メモリの有効なデータ領域に対してのみバックアップ処理を行う手段と、を有することを特徴とする数値制御装置である。
【発明の効果】
【００１４】
本発明によれば、バックアップ対象の揮発性メモリのデータのバックアップの際、通常の動作で未使用の無効なデータ領域のデータの異常を無視することにより、バックアップ処理が停止する確率を下げることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態における数値制御装置の概略構成図である。
【図２】本発明の有効データ領域情報の例を示す図である。
【図３】本発明の第１の実施形態におけるメモリバックアップ処理を説明する図である。
【図４】本発明の第１の実施形態におけるメモリバックアップ処理のフローチャートである。
【図５】本発明の第２の実施形態におけるメモリバックアップ処理を説明する図である。
【図６】本発明の第２の実施形態におけるメモリバックアップ処理のフローチャートである。
【図７】従来技術における数値制御装置の概略構成図である。
【図８】従来技術におけるメモリバックアップ処理のフローチャートである。
【図９】従来技術におけるメモリバックアップ処理を説明する図である。
【図１０】従来技術におけるメモリバックアップ処理の問題点を説明する図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面と共に説明する。なお、従来技術と同一または類似する構成は同じ符号を用いて説明する。
【００１７】
＜第１の実施形態＞
図１は、本発明の一実施形態における数値制御装置の概略構成図である。本実施形態の数値制御装置１は、ＣＰＵ１０、揮発性メモリ１１、不揮発性メモリ１２、検出回路１３、インタフェース１４を備え、インタフェース１４を介して外部メモリ２を接続することが可能となっている。
【００１８】
ＣＰＵ１０は、図示しないＲＯＭなどに記憶されているシステムプログラムを読み出して、該システムプログラムに従って数値制御装置１の全体を制御する中央制御装置である。また、ＣＰＵ１０は、システムプログラムに含まれるメモリバックアッププログラムに従い、後述するメモリバックアップ処理を実行する。
【００１９】
揮発性メモリ１１は、図示しないバッテリーでバックアップされＳＲＡＭ等で構成されており、機械を制御するための設定情報やユーザの加工プログラム、工具の管理情報などを記憶している。揮発性メモリ１１上にはファイルシステムが構築されており、揮発性メモリ１１に記憶されるデータは各プログラムからファイル単位でのアクセスが可能である一方で、揮発性メモリ１１のメモリ領域に記憶される該データに対してアドレス単位でのアクセスも可能となっている。なお、揮発性メモリ１１は、ＥＣＣ機能やパリティ機能などを備えており、記憶されている各データの異常を検出することができるようになっている。
【００２０】
不揮発性メモリ１２は、ＥＥＰＲＯＭ、フラッシュメモリ、ＭＲＡＭ、ＲｅＲＡＭ、ＦｅＲＡＭ等で構成されており、揮発性メモリ１１のメモリ領域の使用・未使用を係る有効データ領域情報を記憶して管理している。図２は、有効データ領域情報の例を示している。有効データ領域情報は、例えば揮発性メモリ１１上のメモリ領域の内、有効なデータが記憶されているアドレスまたはアドレス範囲の集合で定義される。有効データ領域情報は数値制御装置１の初期導入の段階では全ての揮発性メモリ１１のメモリ領域に対して未使用となるように設定され（空集合）、その後、システムプログラムの中の揮発性メモリ１１に対するアクセスを制御する処理ルーチンやＤＭＡ転送などを用いて揮発性メモリ１１に対するデータの書き込みが行われた場合に、書き込みが行われたメモリ領域に対応するアドレス又はアドレス範囲が有効データ領域情報に追加され、データの消去または解放がされたメモリ領域に対応するアドレス又はアドレス範囲が有効データ領域情報から削除される。
【００２１】
検出回路１３は、揮発性メモリ１１からデータを読み出した際に、パリティやＥＣＣなどを用いて読み出したデータに異常が発生していないかを検出する回路である。検出回路１３においてデータの異常が検出された場合には、その旨アラームとしてＣＰＵ１０に対して出力される。
【００２２】
そして、外部メモリ２は、インタフェース１４を介して数値制御装置１に接続されたコンパクトフラッシュ（登録商標）、ＵＳＢメモリ、ＳＤカードなどの不揮発性メモリで構成されており、本実施形態においては揮発性メモリ１１に記憶されているデータのバックアップに用いられる。
【００２３】
このような構成を備えた数値制御装置１における、揮発性メモリ１１に記憶されているデータの一括バックアップ処理を、図３を用いて説明する。
一括バックアップ機能が選択されると、ＣＰＵ１０は、システムプログラムに含まれる一括バックアッププログラムに従って一括バックアップ処理を実行する。一括バックアップ処理が開始されると、ＣＰＵ１０はインタフェース１４を介して外部メモリ２にアクセスしバックアップファイルを作成する。また、不揮発性メモリ１２に記憶されている有効データ領域情報を読み出して図示しない一時データ格納用のメモリに格納する。
【００２４】
一括バックアップ処理では、ＣＰＵ１０は、揮発性メモリ１１のアドレス００００Ｈから順にデータの読み出しを行う。読み出されたデータは、検出回路１３により異常が発生していないかチェックされ、異常が無い場合にはバスを介してインタフェース１４へと転送され、転送されたデータはインタフェース１４から外部メモリ２上のバックアップファイルへと書き込まれる。
【００２５】
本実施形態では、データの読み出し時に、検出回路１３によりデータの異常が検出された場合、有効データ領域情報を参照して異常が検出されたデータが格納されていたメモリ領域が有効（使用）であるか無効（未使用）であるかを判定する。その結果、異常が検出されたデータが格納されていたメモリ領域が有効である場合には、ＣＰＵ１０はアラームを発生させて一括バックアップ処理を中止する。一方で、異常が検出されたデータが格納されていたメモリ領域が無効である場合には、一括バックアップ処理を継続し異常が検出されたデータをバックアップファイルへと書き込む。
【００２６】
そして、揮発性メモリ１１の有効なメモリ領域のデータに異常が検出されない限り、一括バックアップ処理は揮発性メモリ１１の最後のアドレスまで継続される。その後、不揮発性メモリ１２に記憶されている有効データ領域情報をバックアップファイルに追記することでバックアップは完了する。
【００２７】
図４は、本実施形態の数値制御装置１上で実行される一括バックアップ処理のフローチャートである。
●［ステップＳＡ０１］一括バックアップ処理が開始されると、ＣＰＵ１０は、不揮発性メモリ１２に記憶されている有効データ領域情報を読み出して図示しない一時データ格納用のメモリに格納する。
●［ステップＳＡ０２］揮発性メモリ１１の読出しアドレス（初期値００００Ｈ）からデータを読み出す。
【００２８】
●［ステップＳＡ０３］ステップＳＡ０２におけるデータ読み出し、および読み出した該データのデータ転送において検出回路１３でデータの異常が検出されたか否かを判定する。データの異常が検出された場合にはステップＳＡ０４へ進み、データの異常が検出されなかった場合にはステップＳＡ０５へ進む。
●［ステップＳＡ０４］異常が検出されたデータが記憶されていた揮発性メモリ１１のメモリ領域が有効であるか、無効であるかを、ステップＳＡ０１で読み出した有効データ領域情報を参照して判定する。有効である場合にはバックアップ処理を中止し、無効である場合にはステップＳＡ０５へ進む。
【００２９】
●［ステップＳＡ０５］ステップＳＡ０２で読み出されたデータを外部メモリ２上のバックアップファイルに書込む。
●［ステップＳＡ０６］揮発性メモリ１１の読出しアドレスをインクリメントする。
●［ステップＳＡ０７］揮発性メモリ１１上に記憶されているデータは最終アドレスまで読み出されたか否かを判定する。最終アドレスまで読み出された場合にはバックアップ処理を終了し、最終アドレスまで読み出されていない場合にはステップＳＡ０２へ戻る。
【００３０】
このように、本実施形態の数値制御装置１では、揮発性メモリ１１の無効なメモリ領域に記憶されたデータに異常が検出されても無視するため、バックアップ処理が停止する確率を下げることができる。
【００３１】
＜第２の実施形態＞
第１の実施形態では、一括バックアップ処理において揮発性メモリ１１から読み出したデータに異常が検出された場合、該データを記憶していたメモリ領域が無効なメモリ領域であった場合には以上の検出を無視して一括バックアップ処理を継続するようにしていた。本実施形態では、一括バックアップ処理において無効なメモリ領域（未使用のメモリ領域）に対してはアクセスしないようにする。
【００３２】
本実施形態における揮発性メモリ１１に記憶されているデータの一括バックアップ処理を、図５を用いて説明する。なお、本実施形態の数値制御装置１の構成は第１の実施形態の数値制御装置１の構成と同様である。
一括バックアップ機能が選択されると、ＣＰＵ１０は、システムプログラムに含まれる一括バックアッププログラムに従って一括バックアップ処理を実行する。一括バックアップ処理が開始されると、ＣＰＵ１０は図示しないインタフェースを介して外部メモリ２にアクセスしバックアップファイルを作成する。また、不揮発性メモリ１２に記憶されている有効データ領域情報を読み出して図示しない一時データ格納用のメモリに格納する。
【００３３】
一括バックアップ処理では、ＣＰＵ１０は、揮発性メモリ１１のアドレス００００Ｈから順にデータの読み出しを行う。ＣＰＵ１０は、揮発性メモリ１１からデータの読み出しを行う際に、これから読み出そうとするデータが記憶されているメモリ領域が有効（使用）であるか無効（未使用）であるのかを有効データ領域情報を参照して判定する。そして、無効である場合にはデータの読み出し、およびバックアップファイルへの書き込みを行わずに、揮発性メモリ１１の読出しアドレス、バックアップファイルへの書き込みアドレスの更新（インクリメント）のみを行い、次のデータの読み出しへと処理を移行する。
【００３４】
有効なメモリ領域のデータが読み出された場合には、検出回路１３により異常が発生していないかチェックされ、異常が無い場合にはバスを介してインタフェース１４へと転送される。そして、転送されたデータはインタフェース１４により外部メモリ２上のバックアップファイルへと書き込まれる。また、データの読み出し時に、検出回路１３によりデータの異常が検出された場合には、ＣＰＵ１０はアラームを発生させて一括バックアップ処理を中止する。
【００３５】
本実施形態においては、無効なメモリ領域のデータは揮発性メモリ１１からの読み出しもバックアップファイルへの書き込みも行われないため、揮発性メモリ１１の有効なメモリ領域のデータに異常が検出されない限り、一括バックアップ処理は揮発性メモリ１１の最後のアドレスまで継続される。その後、不揮発性メモリ１２に記憶されている有効データ領域情報をバックアップファイルに追記することでバックアップは完了する。
なお、作成されたバックアップファイル上で、無効なメモリ領域に対応する部分はバックアップファイル作成時の初期状態となっているが、当該部分のデータをバックアップから数値制御装置１の揮発性メモリ１１上に復元したとしても当該部分に対応するメモリ領域は使用されないため、数値制御装置１の動作上問題を生じることは無い。
【００３６】
図６は、本実施形態の数値制御装置１上で実行される一括バックアップ処理のフローチャートである。
●［ステップＳＢ０１］一括バックアップ処理が開始されると、ＣＰＵ１０は、不揮発性メモリ１２に記憶されている有効データ領域情報を読み出して図示しない一時データ格納用のメモリに格納する。
●［ステップＳＢ０２］揮発性メモリ１１の読出しアドレス（初期値００００Ｈ）が示すメモリ領域が有効であるか、無効であるかを、ステップＳＢ０１で読み出した有効データ領域情報を参照して判定する。有効である場合にはステップＳＢ０３へ進み、無効である場合にはステップＳＢ０６へ進む。
●［ステップＳＢ０３］揮発性メモリ１１の読出しアドレスからデータを読み出す。
【００３７】
●［ステップＳＢ０４］ステップＳＢ０３におけるデータ読み出し、および読み出した該データのデータ転送において検出回路１３でデータの異常が検出されたか否かを判定する。データの異常が検出された場合にはバックアップ処理を中止し、データの異常が検出されなかった場合にはステップＳＢ０５へ進む。
【００３８】
●［ステップＳＢ０５］ステップＳＢ０３で読み出されたデータを外部メモリ２上のバックアップファイルに書込む。
●［ステップＳＢ０６］揮発性メモリ１１の読出しアドレスをインクリメントする。
●［ステップＳＢ０７］揮発性メモリ１１上に記憶されているデータは最終アドレスまで読み出されたか否かを判定する。最終アドレスまで読み出された場合にはバックアップ処理を終了し、最終アドレスまで読み出されていない場合にはステップＳＢ０２へ戻る。
【００３９】
このように、本実施形態の数値制御装置１では、揮発性メモリ１１の無効なメモリ領域に記憶されたデータの読み出しおよびバックアップファイルへの書き込みを行わないため、バックアップ処理が停止する確率を下げることができる。
【００４０】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００４１】
１  数値制御装置
２  外部メモリ
１０  ＣＰＵ
１１  揮発性メモリ
１２  不揮発性メモリ
１３  検出回路
１４  インタフェース
【図１】
2017041182.tif 000003
【図２】
2017041182.tif 000004
【図３】
2017041182.tif 000005
【図４】
2017041182.tif 000006
【図５】
2017041182.tif 000007
【図６】
2017041182.tif 000008
【図７】
2017041182.tif 000009
【図８】
2017041182.tif 000010
【図９】
2017041182.tif 000011
【図１０】
2017041182.tif 000012