(57)【要約】【課題】異常発生時の信号の出力状態により、ハードウェア／ソフトウェア要因の切り分けを行うことが可能な制御装置を提供すること。【解決手段】本発明のパソコン機能を有する制御装置は、ハードウェアのみで構成されるハードウェアタイマ２１０と、ソフトウェアでカウントを行うソフトウェアタイマ２２０ａ，２２０ｂ，…と、ハードウェアタイマ２１０で起動していることを示すハードウェア起動中信号を生成するハードウェアタイマ起動中信号生成手段２３０と、ソフトウェアタイマで起動していることを示すソフトウェア起動中信号を生成するソフトウェアタイマ起動中信号生成手段２４０ａ，２４０ｂ，…と、ハードウェア起動中信号とソフトウェア起動中信号の状態を出力する出力手段３０と、を有する。【選択図】図２
2017045303.tif 000002
【特許請求の範囲】
【請求項１】
パソコン機能を有する制御装置において、
ハードウェアのみで構成されるハードウェアタイマと、
ソフトウェアでカウントを行うソフトウェアタイマと、
前記ハードウェアタイマで起動していることを示すハードウェア起動中信号を生成するハードウェアタイマ起動中信号生成手段と、
前記ソフトウェアタイマで起動していることを示すソフトウェア起動中信号を生成するソフトウェアタイマ起動中信号生成手段と、
ハードウェア起動中信号とソフトウェア起動中信号の状態を出力する出力手段と、
を有することを特徴とする制御装置。
【請求項２】
前記ソフトウェアタイマはプライオリティ別に複数設けられ、それぞれのソフトウェアタイマ毎にソフトウェア起動中信号生成手段を有する、
ことを有することを特徴とする請求項１に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は制御装置に関し、特に異常発生時の信号の出力状態により、ハードウェア／ソフトウェア要因の切り分けを行うことが可能な制御装置に関する。
【背景技術】
【０００２】
これまではアプリケーションやハードウェアの問題でパソコン機能に異常が発生した場合、表示自体が更新されない場合が多く、その原因を検出することは容易ではなかった。
【０００３】
一般的には不具合発生時には何も情報が得ることが出来ないため、再起動させて、実際に個々のアプリケーションを動作させ、一つ一つ確認することで要因を検出する方法が取られる。しかしこの場合でも再現しない場合が多く、前回異常発生の要因は分からないことが多い。また、仮に再現出来たとしてもその要因がハードウェアによるものか特定のアプリケーションによるものかの判断は簡単ではない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０１−３２０５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１には、プログラムが正常に動作いているのかを検出するウォッチドッグタイマに関する技術が開示されている。しかしながら、本技術はハードウェアまたはソフトウェアのどちらかに異常があっても、ＣＰＵの暴走を防止するウォッチドッグタイマを動作させるための技術であり、異常発生時にソフトウェアまたはハードウェアのどちらに要因があるのかを検出する機能は有していない。
【０００６】
そこで本発明の目的は、異常発生時の信号の出力状態により、ハードウェア／ソフトウェア要因の切り分けを行うことが可能な制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本願の請求項１に係る発明は、パソコン機能を有する制御装置において、ハードウェアのみで構成されるハードウェアタイマと、ソフトウェアでカウントを行うソフトウェアタイマと、前記ハードウェアタイマで起動していることを示すハードウェア起動中信号を生成するハードウェアタイマ起動中信号生成手段と、前記ソフトウェアタイマで起動していることを示すソフトウェア起動中信号を生成するソフトウェアタイマ起動中信号生成手段と、ハードウェア起動中信号とソフトウェア起動中信号の状態を出力する出力手段と、を有することを特徴とする制御装置である。
【０００８】
本願の請求項２に係る発明は、前記ソフトウェアタイマはプライオリティ別に複数設けられ、それぞれのソフトウェアタイマ毎にソフトウェア起動中信号生成手段を有する、ことを有することを特徴とする請求項１に記載の制御装置である。
【発明の効果】
【０００９】
本発明により、異常発生時の信号の出力状態により、ハードウェア／ソフトウェア要因の切り分けを行うことが可能となる。また、ソフトウェアタイマをプライオリティレベル毎に用意した場合には、ソフトウェア要因の場合でも更にどのレベルのプライオリティのアプリケーションで異常が発生しているかの特定が可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態における制御装置の概略構成図である。
【図２】本発明の実施形態における制御装置の動作状況を示す機能ブロック図である。
【図３】本発明の実施形態における制御装置の起動シーケンスを示す図である。
【図４】本発明の実施形態における制御装置のハードウェア異常状態を示す図である。
【図５】本発明の実施形態における制御装置のプライオリティ１レベルのアプリケーション異常状態を示す図である。
【図６】本発明の実施形態における制御装置のプライオリティ２レベルのアプリケーション異常状態を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面と共に説明する。
本発明では、ハードウェアタイマとソフトウェアタイマを使用し、外部に信号やＬＥＤなどの表示出力を使用して動作中であることを通知する。異常発生時のこれらの出力状態により、ハードウェア／ソフトウェア要因の切り分けを行う。
また、一般的に各アプリケーションには実行のプライオリティが設定されており、プライオリティの高いアプリケーションが優先して実行されており、高いプライオリティのアプリケーションに何らかの異常があった場合、プライオリティの低いアプリケーションは実行を待たされる。本発明では、プライオリティの異なるレベルで実行するソフトウェアタイマを使用することで、ソフトウェア要因の場合でもどのレベルのプライオリティのアプリケーションで異常が発生しているかの特定が可能とする。
【００１２】
図１は、本発明の一実施形態における制御装置の概略構成図である。本実施形態の制御装置１は、加工などに用いられる各種機械を制御する制御部１０と、制御部１０における制御動作の支援や作業者の作業支援などのためのパソコン機能を提供するパソコン部２０とを有する。制御部１０は、例えば従来公知の数値制御などにより機械を制御する構成であり、該制御部１０の詳細については本明細書では説明を省略する。
【００１３】
パソコン部２０は、演算処理を行うプロセッサであるＣＰＵ２１、ＲＡＭやＲＯＭなどのメモリ２２、ハードウェアレベルで時刻を計時するクロック２３、制御部１０との間でのデータの授受を制御する通信コントローラ２４、外部入力機器２を制御する入力機器コントローラ２５、外部記憶装置３を制御する記憶装置コントローラ２６、表示装置４を制御する表示コントローラ２７、および、パソコン部２０から制御装置１の信号制御をする際に用いられる信号コントローラ２８がバス２９を介して接続される。
【００１４】
パソコン部２０は、起動するとＣＰＵ２１の制御の下で外部記憶装置３からＯＳ（オペレーティングシステム）のソフトウエアプログラムを読み出して起動し、自動的にまたは外部からの指令に基づいてさまざまなアプリケーションソフトウェアを該ＯＳ上で動作させることにより制御部１０における制御動作の支援や作業者の作業支援の機能を提供する。ＯＳ上に構築されるアプリケーションの動作環境には、各アプリケーションソフトウェアの実行の優先順位を定めるプライオリティが用意されている。各アプリケーションソフトウェアは実行時にプライオリティが設定され、ＯＳは複数のアプリケーションソフトウェアを同時にマルチタスクで動作させる際に、プライオリティの高いアプリケーションソフトウェアのタスクを優先して実行する。
【００１５】
例えば、ＣＰＵ２１の実行権が得られた際に即時実行可能な状態で複数のプライオリティレベルのアプリケーションソフトウェアのタスクが待機している場合、ＯＳはこれら各アプリケーションソフトウェアのタスクの内で最もプライオリティの高いタスクに対して実行権を与える。実行権が与えられたタスクは、当該タスクの処理を実行するが、タスクの処理内容がＣＰＵ２１を使用しない処理（入出力処理など）に移行したり、よりプライオリティが高いアプリケーションソフトウェアのタスクが即時実行可能な状態になったりした場合には、該タスクによるＣＰＵ２１の実行権がＯＳに返却され、ＯＳは返却された実行権を他のプライオリティが高いアプリケーションソフトウェアのタスクに与える。このようにしてＯＳによる実行権の管理が行われることで複数のアプリケーションソフトウェアがパソコン部２０上で並列して動作するが、アプリケーションソフトウェアのタスクの処理に異常が発生すると該タスクは異常なまま実行を続けようとし、ＯＳは該タスクに実行権を与えることが可能な状態（プライオリティが高い待ち状態のタスクが存在しない状態）となった場合に、該タスクに対して実行権を与えるようになる。そのため、プライオリティの高いアプリケーションの実行において異常が発生した場合は、プライオリティの低いアプリケーションは実行を待たされることとなる。
【００１６】
本実施形態では、アプリケーションソフトウェアにより実行されるソフトウェアタイマを各プライオリティのレベル毎に用意し、該ソフトウェアタイマの実行状況を外部から監視することができるように構成することで、いずれのプライオリティのレベルに属するアプリケーションソフトウェアで異常が発生しているのかを特定できるようにする。
図２は、本実施形態の制御装置１の動作状況を示す機能ブロック図である。制御装置１のパソコン部２０では、クロック２３により実現されるハードウェアタイマ２１０が動作しており、また、アプリケーションソフトウェアを実行することにより実現されるソフトウェアタイマ２２０ａ，２２０ｂ，…がそれぞれのプライオリティレベルで実行されている。
【００１７】
ハードウェアタイマ２１０は内部にカウンタを備えており、動作している間は所定周期毎（クロック周期毎、パソコン部２０の制御周期毎など）に該内部カウンタを更新することで計時を行い、あらかじめ定められた所定時間または所定カウント数だけ動作すると内部カウンタをリセットして再びカウントを繰り返す。
また、ハードウェアタイマ起動中信号生成手段２３０は、ハードウェアタイマ２１０が動作中である場合には、ハードウェアタイマ２１０が起動中であることを示す信号を生成し、該信号を出力手段３０へと出力する。ハードウェアタイマ起動中信号生成手段２３０はハードウェアタイマ２１０の内部に設けても、外部に設けてもよい。ハードウェアタイマ起動中信号生成手段２３０によるハードウェアタイマ２１０の監視は、例えばハードウェアタイマ２１０の内部カウンタの動きを監視するようにしてもよいし、ハードウェアタイマ２１０がカウンタのリセット時に動作中であることをハードウェアタイマ起動中信号生成手段２３０に対して通知するようにしてもよい。また、ハードウェアタイマ起動中信号生成手段２３０が出力する信号は、例えばハードウェアタイマ２１０が動作している限りはＯＮ信号を出力するようにしてもよいし、ハードウェアタイマ２１０の内部カウンタが所定のカウント値を示すたびに、ＯＮ信号とＯＦＦ信号をトグルして出力するようにしてもよい。
【００１８】
ソフトウェアタイマ２２０ａ，２２０ｂ，…は、ハードウェアタイマ２１０と同様にカウンタを備えており、動作している間は所定周期毎（クロック周期毎、パソコン部２０の制御周期毎など）に該カウンタを更新することで計時を行い、あらかじめ定められた所定時間または所定カウント数だけ動作するとカウンタをリセットして再びカウントを繰り返す。
また、ソフトウェアタイマ起動中信号生成手段２４０ａ，２４０ｂ，…は、ソフトウェアタイマ２２０ａ，２２０ｂ，…が動作中である場合には、ソフトウェアタイマ２２０ａ，２２０ｂ，…が起動中であることを示す信号を生成し、該信号を出力手段３０へと出力する。ソフトウェアタイマ起動中信号生成手段２４０ａ，２４０ｂ，…はソフトウェアタイマ２２０ａ，２２０ｂ，…の内部に設けても、外部に設けてもよい。ソフトウェアタイマ起動中信号生成手段２４０ａ，２４０ｂ，…によるソフトウェアタイマ２２０ａ，２２０ｂ，…の監視は、例えばソフトウェアタイマ２２０ａ，２２０ｂ，…のカウンタの値が記憶されるメモリを監視するようにしてもよいし、ソフトウェアタイマ２２０ａ，２２０ｂ，…がカウンタのリセット時に動作中であることをソフトウェアタイマ起動中信号生成手段２４０ａ，２４０ｂ，…に対して通知するようにしてもよい。また、ソフトウェアタイマ起動中信号生成手段２４０ａ，２４０ｂ，…が出力する信号は、例えばソフトウェアタイマ２２０ａ，２２０ｂ，…が動作している限りはＯＮ信号を出力するようにしてもよいし、ソフトウェアタイマ２２０ａ，２２０ｂ，…のカウンタが所定のカウント値を示すたびに、ＯＮ信号とＯＦＦ信号をトグルして出力するようにしてもよい。
【００１９】
出力手段３０は、ハードウェアタイマ起動中信号生成手段２３０、ソフトウェアタイマ起動中信号生成手段２４０ａ，２４０ｂ，…から出力される各タイマが起動中であることを示す信号を外部から観測可能に出力する。出力手段３０は、例えば各タイマの起動中信号に対応するＬＥＤを設け、各信号に対応するＬＥＤを信号の状態に合わせて点灯または消灯する構成としてもよい。この場合、該ＬＥＤを制御装置の操作盤等に配置することで現場の作業者は制御装置１が備えるパソコン部２０の動作状況を確認することができる。また、出力手段３０の他の構成例としては、例えば各タイマの起動中信号を該信号の状態を示すデータへとエンコードし、エンコードしたデータを通信線などを介して外部の監視機器に対して出力する構成としてもよい。この場合、通信線を介してエンコードされたデータを監視装置などで受信することで、制御装置１が備えるパソコン部２０の動作状況を集中管理することができる。
【００２０】
図１、図２に示す構成を備えた制御装置１の動作状態を図３〜６を用いて説明する。
図３は、本実施形態の制御装置１の起動シーケンスを示している。本実施形態の制御装置１は、電源ＯＮされるとハードウェアタイマ２１０が起動し、ハードウェアタイマ２１０の起動が検出されるとハードウェアタイマ起動中信号生成手段２３０がハードウェアタイマ起動中信号を出力する。その後、外部記憶装置３からパソコン部２０にＯＳソフトウェアが読み込まれてＯＳが起動し、ＯＳによりソフトウェアタイマのアプリケーションソフトウェアが各プライオリティレベルで実行されることでソフトウェアタイマ２２０ａ，２２０ｂ，…が順番に起動する。そして、ソフトウェアタイマ２２０ａ，２２０ｂ，…の起動が検出されるとソフトウェアタイマ起動中信号生成手段２４０ａ，２４０ｂ，…が各ソフトウェアタイマの起動中信号を出力する。
【００２１】
図４は、制御装置１の動作中にハードウェア異常が発生した場合の動作状態を示している。本実施形態の制御装置１の動作中にハードウェア異常が発生すると、ハードウェアタイマ２１０の動作、および各プライオリティレベルで実行されているソフトウェアタイマ２２０ａ，２２０ｂ，…の動作が全て停止するため、ハードウェアタイマ起動中信号生成手段２３０、ソフトウェアタイマ起動中信号生成手段２４０ａ，２４０ｂ，…はそれぞれのタイマの起動中信号の出力を停止する。各タイマの起動中信号が停止したことにより、出力手段３０による起動中信号の出力も停止するため、例えば起動中信号をＬＥＤで表示している場合には全てのＬＥＤの消灯または点滅の停止などが観測され、ハードウェアレベルで問題がある事が把握できる。
【００２２】
図５は、制御装置１の動作中にプライオリティ１レベルのアプリケーションに異常が発生した場合の動作状態を示している。本実施形態の制御装置１の動作中にプライオリティ１レベルで動作しているアプリケーションに異常が発生すると、当該アプリケーションが異常なまま実行中の状態であり続けるため当該レベル以下のレベルのアプリケーションのタスクに対してＯＳが実行権を与えることがなくなり、当該レベル以下のレベルのアプリケーションの動作はすべて停止する。動作が停止するアプリケーションにはソフトウェアタイマ２２０ａ，２２０ｂ，…も含まれるため、プライオリティ１レベル以下のソフトウェアタイマ２２０ａ，２２０ｂ，…は全て動作を停止し、ソフトウェアタイマ起動中信号生成手段２４０ａ，２４０ｂ，…はそれぞれのタイマの起動中信号の出力を停止する。各ソフトウェアタイマの起動中信号が停止したことにより、出力手段３０による各ソフトウェアタイマの起動中信号の出力も停止するため、例えば起動中信号をＬＥＤで表示している場合には、ハードウェアタイマ２１０に対応するＬＥＤを除く全てのＬＥＤの消灯または点滅の停止などが観測され、ハードウェアは問題のない事が分かり、更にプライオリティ１レベルのアプリケーションに問題のある事が把握できる。
【００２３】
図６は、制御装置１の動作中にプライオリティ２レベルのアプリケーションに異常が発生した場合の動作状態を示している。本実施形態の制御装置１の動作中にプライオリティ２レベルで動作しているアプリケーションに異常が発生すると、当該アプリケーションが異常なまま実行中の状態であり続けるため当該レベル以下のレベルのアプリケーションのタスクに対してＯＳが実行権を与えることがなくなり、当該レベル以下のレベルのアプリケーションの動作はすべて停止する。動作が停止するアプリケーションにはソフトウェアタイマ２２０ｂ，…も含まれるため、プライオリティ２レベル以下のソフトウェアタイマ２２０ｂ，…は全て動作を停止し、ソフトウェアタイマ起動中信号生成手段２４０ｂ，…はそれぞれのタイマの起動中信号の出力を停止する。これらのソフトウェアタイマの起動中信号が停止したことにより、出力手段３０による各ソフトウェアタイマの起動中信号の出力も停止するため、例えば起動中信号をＬＥＤで表示している場合には、ハードウェアタイマ２１０、ソフトウェアタイマ２２０ａに対応するＬＥＤを除く全てのＬＥＤの消灯または点滅の停止などが観測され、ハードウェアは問題のない事が分かり、更にプライオリティ２レベルのアプリケーションに問題のある事が把握できる。
【００２４】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００２５】
１  制御装置
２  外部入力機器
３  外部記憶装置
４  表示装置
１０  制御部
２０  パソコン部
２１  ＣＰＵ
２２  メモリ
２３  クロック
２４  通信コントローラ
２５  入力機器コントローラ
２６  記憶装置コントローラ
２７  表示コントローラ
２８  信号コントローラ
２９  バス
３０  出力手段
２１０  ハードウェアタイマ
２２０ａ，２２０ｂ，２２０ｃ，  ソフトウェアタイマ
２３０  ハードウェアタイマ起動中信号生成手段
２４０ａ，２４０ｂ，２４０ｃ  ソフトウェアタイマ起動中信号生成手段
【図３】
2017045303.tif 000003
【図１】
2017045303.tif 000004
【図２】
2017045303.tif 000005
【図４】
2017045303.tif 000006
【図５】
2017045303.tif 000007
【図６】
2017045303.tif 000008