IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社ニッキの特許一覧

特開2024-1493タスク監視システム及びタスク監視プログラム
<>
  • 特開-タスク監視システム及びタスク監視プログラム 図1
  • 特開-タスク監視システム及びタスク監視プログラム 図2
  • 特開-タスク監視システム及びタスク監視プログラム 図3
  • 特開-タスク監視システム及びタスク監視プログラム 図4
  • 特開-タスク監視システム及びタスク監視プログラム 図5
  • 特開-タスク監視システム及びタスク監視プログラム 図6
  • 特開-タスク監視システム及びタスク監視プログラム 図7
  • 特開-タスク監視システム及びタスク監視プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024001493
(43)【公開日】2024-01-10
(54)【発明の名称】タスク監視システム及びタスク監視プログラム
(51)【国際特許分類】
   G06F 11/30 20060101AFI20231227BHJP
【FI】
G06F11/30 155
G06F11/30 140E
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022100175
(22)【出願日】2022-06-22
(71)【出願人】
【識別番号】000153122
【氏名又は名称】株式会社ニッキ
(74)【代理人】
【識別番号】100092864
【弁理士】
【氏名又は名称】橋本 京子
(74)【代理人】
【氏名又は名称】橋本 克彦
(74)【代理人】
【識別番号】100226713
【弁理士】
【氏名又は名称】橋本 大輔
(72)【発明者】
【氏名】山田 隆広
(72)【発明者】
【氏名】高橋 英雄
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA23
5B042JJ21
(57)【要約】
【課題】
異なる周期タイマを有する複数のタスクを実行するコンピューターにおいて、短い周期タイマで実行されるタスクの確実な監視も可能とした監視システムを提供する。
【解決手段】
個別の周期タイマを有する複数のタスクを実行するコンピューターと、前記コンピューターの内部または外部に設けられた監視手段とからなり、各前記タスクが異常なく実行されていることを確認するためのタスク監視システムであって、前記監視手段は、前記タスクの実行状態に応じて変動する管理変数を前記タスク毎に有し、前記管理変数の値によって当該タスクの監視を行う。
【選択図】図1
【特許請求の範囲】
【請求項1】
個別の周期タイマを有する複数のタスクを実行するコンピューターと、前記コンピューターの内部または外部に設けられた監視手段とからなり、各前記タスクが異常なく実行されていることを確認するための監視システムであって、
前記監視手段は、前記タスクの実行状態に応じて変動する管理変数を前記タスク毎に有し、前記管理変数の値によって当該タスクの監視を行うことを特徴とするタスク監視システム。
【請求項2】
前記管理変数は、初期値が設定された後、前記タスク毎に実行時のデクリメントと終了時のインクリメントにより変動することを特徴とする請求項1記載のタスク監視システム。
【請求項3】
前記管理変数を合計した値である管理変数和を用いて全ての前記タスクの監視を行うことを特徴とする請求項1または2記載のタスク監視システム。
【請求項4】
前記コンピューターがDAC(デジタル アナログ コンバーター)を備え、
前記監視手段がコンパレータ回路およびオープンコレクタ回路を備えており、
前記DAC(デジタル アナログ コンバーター)によって前記管理変数をアナログ電圧に変換した判定用信号として出力し、前記コンパレータ回路により前記判定用信号を閾値と比較して正常か異常かを判定し、前記オープンコレクタ回路により前記判定の結果を出力することを特徴とする請求項1または2記載のタスク監視システム。
【請求項5】
前記コンピューターがDAC(デジタル アナログ コンバーター)を備え、
前記監視手段がコンパレータ回路およびオープンコレクタ回路を備えており、
前記DAC(デジタル アナログ コンバーター)によって前記管理変数をアナログ電圧に変換した判定用信号として出力し、前記コンパレータ回路により前記判定用信号を閾値と比較して正常か異常かを判定し、前記オープンコレクタ回路により前記判定の結果を出力することを特徴とする請求項3記載のタスク監視システム。
【請求項6】
個別の周期タイマを有する複数のタスクを実行するコンピューターにおいて各前記タスクが異常なく実行されていることを確認するためのタスク監視プログラムであって、
前記タスク毎に用意されて各前記タスクの実行状態に応じて変動する管理変数の初期値を設定するステップと、
前記管理変数を、前記タスク毎に実行時のデクリメントと終了時のインクリメントにより変動させるステップと、
前記管理変数と閾値とを比較すること、または、前記管理変数を合計した値である管理変数和と閾値とを比較することで前記管理変数に係るタスクまたは全てのタスクの実行が正常か異常かを判定するステップと、
前記判定の結果を出力するステップと、
を実行することを特徴とするタスク監視プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、個別の周期タイマを有する複数のタスクを実行するコンピューターにおいて、各前記タスクが異常なく確実に実行されているか否かを監視するためのタスク監視システム及びタスク監視プログラムに関し、特に組み込み系マイクロコンピューターに適する。
【背景技術】
【0002】
従来から、複数の異なる周期タイマを有するタスクを実行するコンピューター(演算・記憶・入出力などの機能を少数の集積回路に集約したマイクロコンピューターを含む。以下、単に「コンピューター」という)において、各前記タスクが異常なく確実に実行されているか否かを監視するためのソフトウェアまたはハードウェアによる監視システムを備えることで、異常を識別するとともに正常状態へ復帰させる対処を可能にしている。
【0003】
そして、前記監視システムの従来例としてハードウェアであるウォッチドッグタイマ(以下「WDT」という)による監視システムが旧くから知られている。
【0004】
このWDTによる監視システムは、コンピューターとWDTを内部的または外部的に接続しておき、特定のタスク完了時に所定の周期以内に発生させるコンピューターからの信号(ウォッチドッグ信号)がタイムアウト時間内にWDTに入力されることでトラップやリセット発生を抑制されることを利用してシステムが正常に動作し続けていることを判断するものであり、タイムアウト時間を超えてウォッチドッグ信号が入力されなかった場合、コンピューターに異常が発生したと判断してリセット信号を発信することでコンピューターにリセットを掛け、コンピューターの異常動作を防止するものが一般的である。
【0005】
ところで、前記従来のWDTによる監視システムは、例えば図5の例に示したように互いに異なる周期タイマ(例えば1ms,5ms,10ms)を有する3種類のタスクについて、実行周期が短い順に優先度の高い割り込みで動作を実行する場合に、図6に示したように、最小(実行誤差を含まない)時間に対し、最長周期タイマ(10ms)で実行されるタスクに合わせた一つのウォッチドッグ信号を出力させて図7に示すような内部WDT監視システム、若しくは図8に示すような外部WDT監視システムで監視するものが一般的である。
【0006】
即ち、従来方式のWDTによる監視システムは最長の周期タイマのみに着目するもののため、周期タイマが短い順に優先度の高い割り込みで動作を実行する場合、割込処理が所定回数実行する間に最長の周期タイマで実行されるタスクよりも短い周期タイマで実行されるタスクが実行されなかったとしてもコンピューターからの信号(ウォッチドッグ信号)はタイムアウト時間内にWDTに入力されるため、WDTがコンピューターのリセットを行なえず、短い周期タイマで実行されるタスクの異常動作を防止できない場合が生じる。
【0007】
周期タイマの割込み優先度と、各周期タイマで考慮される最大実行時間を見積り、全体の最大実行時間に対し、余裕を持った閾値を超えてないかを監視してコンピューターを確実にリセットすることができるWDT監視システムが、例えば、特開昭51-052256号公報(特許文献1)に掲示されている。
【0008】
また、モジュール化されたプログラムを実行した際にその識別情報を記憶し、その情報が不一致(異常)と判定した際に異常終結させるプログラム暴走防止手法が、例えば、特開昭62-298844号公報(特許文献2)に掲示されている。
【0009】
しかしながら、両者共前述の最も実行優先度が低く、周期タスクが長くなる可能性がある周期タイマやプログラムの集合であるモジュール処理に着目し、監視を実施するものであることから、より実行優先度が高く、短い周期タイマで実行されるタスクが毎回個々に確実に実行されているかを確認することができないという問題点があった。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開昭51-052256号公報
【特許文献2】特開昭62-298844号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
本発明は、異なる周期タイマを有する複数のタスクを実行するコンピューターにおいて、従来方式の監視システムと異なる方法によって、短い周期タイマで実行されるタスクの確実な監視も可能とした監視システムを提供することを課題とする。
【課題を解決するための手段】
【0012】
前記課題を解決するためになされた本発明であるタスク監視システムは、個別の周期タイマを有する複数のタスクを実行するコンピューターと、前記コンピューターの内部または外部に設けられた監視手段とからなり、各前記タスクが異常なく実行されていることを確認するための監視システムであって、前記監視手段は、前記タスクの実行状態に応じて変動する管理変数を前記タスク毎に有し、前記管理変数の値によって当該タスクの監視を行うことを特徴とする。
【0013】
本発明によれば、個別の周期タイマを有する複数のタスクを備えたコンピューターにおいて、従来方式のように時間的管理ではなく、周期の長短やタスクの優先度と関係無しに各前記タスクを個別に監視することが可能な監視システムを提供可能となる。
【0014】
殊に、前記管理変数は、初期値が設定された後、前記タスク毎に実行時のデクリメントと終了時のインクリメントにより変動する場合、前記管理変数をタスク実行・終了時のタイミングで変動させることにより、前記管理変数の値によって各タスクが正常に実行・終了できているかどうかの監視を行うことができる。
【0015】
また、前記管理変数を合計した値である管理変数和を用いて全ての前記タスクの監視を行う場合、個々の管理変数を用いるよりも効率的に全てのタスクの監視を可能とすることができる。
【0016】
更に、前記コンピューターがDAC(デジタル アナログ コンバーター)を備え、前記監視手段がコンパレータ回路およびオープンコレクタ回路を備えており、前記DAC(デジタル アナログ コンバーター)によって前記管理変数をアナログ電圧に変換した判定用信号として出力し、前記コンパレータ回路により前記判定用信号を閾値と比較して正常か異常かを判定し、前記オープンコレクタ回路により前記判定の結果を出力する場合、出力された判定の結果を用いて、例えば外部のハードウェアチェック機構により、コンピューターのリセット、アクチュエーターの停止、エラーの報知などを行うことなどができる。
【0017】
更にまた、個別の周期タイマを有する複数のタスクを実行するコンピューターにおいて各前記タスクが異常なく実行されていることを確認するためのタスク監視プログラムであって、前記タスク毎に用意されて各前記タスクの実行状態に応じて変動する管理変数の初期値を設定するステップと、前記管理変数を、前記タスク毎に実行時のデクリメントと終了時のインクリメントにより変動させるステップと、前記管理変数と閾値とを比較すること、または、前記管理変数を合計した値である管理変数和と閾値とを比較することで前記管理変数に係るタスクまたは全てのタスクの実行が正常か異常かを判定するステップと、前記判定の結果を出力するステップとを実行する場合、コンピューターで実行されるプログラム上でタスク監視を行うことができる。
【発明の効果】
【0018】
本発明によると、個別の周期タイマを有する複数のタスクを実行するコンピューターにおいて、各タスクの実行状態に応じて変動する管理変数を用いることによって、短い周期タイマで実行されるタスクの確実な監視もすることができる。
【図面の簡単な説明】
【0019】
図1】本発明であるタスク監視システムの好ましい実施の形態において、個別の周期タイマを有する複数のタスクを実行するコンピューターにおける全てのタスクが正常に実行された場合を示す実行スケジュール。
図2図1に示した実施の形態における各タスクの管理変数の制御を示す説明図。
図3図2に示した管理変数の制御において、各タスクが正常に実行・終了しているか、異常の検出例を示す説明図。
図4図1に示した実施の形態における管理変数を信号として処理するためのハードウェアインターフェース回路。
図5】個別の周期タイマを有する複数のタスクを実行するコンピューターにおいて、複数のタスクが最短理想の状態で実行された場合を示す実行スケジュール。
図6】従来方式のWDTによるタスク監視システムにおいて、個別の周期タイマを有する複数のタスクを実行するコンピューターにおける実行最長時間に対するWDT監視例を示す実行スケジュール。
図7】従来方式のWDTによるタスク監視システムにおける外部WDT監視方法の説明図。
図8】従来方式のWDTによるタスク監視システムにおける内部WDT監視方法の説明図。
【発明を実施するための形態】
【0020】
以下に、図面に基づいて本発明の好ましい実施の形態について説明する。
【0021】
図1は、本発明であるタスク監視システムの好ましい実施の形態において個別かつ互いに異なる周期タイマ(例えば3つの周期1ms,5ms,10ms)を有する各タスクを実行するコンピューターにおける全てのタスクが正常に実行された場合の実行スケジュールであり、本実施の形態では、各タスクの実行状態を時間的管理によらない変数による管理手法により各前記タスクがそれぞれ異常なく実行されていることを確認するものであって、このように各タスクの実行状態を変数化したことを本発明の特徴とする。
【0022】
以下に示した表1は、本実施の形態について各タスクの実行状態を管理変数(2ビット、4値管理)として変数化したものと、その状態を示す表であり、前記図1における周期タイマ1msであるタスクの管理変数をA、周期タイマ5msであるタスクの管理変数をB、周期タイマ10msであるタスクの管理変数をCとした。
【0023】
【表1】
【0024】
そして、本実施の形態は、図1に示したように、互いに異なる周期タイマのタスク毎に、制御1周期の開始・終了を前記表1に示した管理変数を用いて監視するものである。
【0025】
詳細に説明すると、図2に示すように、先ず管理変数の初期値である2(10)の数値をセットした後、タスク毎の管理変数を、タスク実行時にデクリメント(-1)、タスク終了時にインクリメント(+1)する。
【0026】
このとき、特定の周期タイマのタスクにおいてタスク実行と次のタスク実行までの時間は当該周期タイマに基づいており(黒矢印)、タスク実行とタスク終了までの時間は特に定められていない。
【0027】
このように、管理変数A,B,Cのそれぞれがとる値は0,1,2,3の4つであって、正常値は1または2であり(前記表1参照)、正常にタスクが実行されている場合、タスク実行時のデクリメント(-1)と、タスク終了時のインクリメント(+1)によって管理変数A,B,Cの値は1と2とを行き来する。
【0028】
すなわち、本実施の形態において管理変数A,B,Cの値が1または2である場合、各管理変数に対応するタスクの実行状態は正常であることが判定できる。
【0029】
反対に、図3に示したように、各タスクそれぞれについて、タスク実行時のデクリメント(-1)と、タスク終了時のインクリメント(+1)とを順番に(n-1番目、n番目のタスク…と順に行う)ところ、n-1番目の終了若しくは次のn番目の実行処理がなされない場合には、加算若しくは減算によって管理変数が正常値範囲から外れ、値が0または3となるので、管理変数の値によりタスクの実行異常が確認できる。
【0030】
また、本実施の形態に示した3種の各タスクにおける管理変数A,B,Cを合計した値である管理変数和Xを用いることで、各タスクが正常に実行,終了しているか否かを確認することができる。
【0031】
管理変数A,B,Cおよび管理変数和Xを用いて、各タスクの実行状態の正常または異常を判定する手段について説明する。以下の表2は、管理変数A,B,Cのそれぞれがとる値と管理変数和Xとの関係を示す。
【0032】
【表2】
【0033】
このように、管理変数A,B,Cのそれぞれがとる値は0,1,2,3の4つであって、正常値は1または2であるため(前記表1参照)、合計した値である管理変数和Xとした際に、値が3~6であれば正常範囲となり、各タスクの実行状態は正常と判定することができる。
【0034】
しかしながら、管理変数和Xが正常範囲である3~6の外にある場合、すなわち管理変数和Xが0~2または7~9である場合には、異常値となり、各タスクの実行状態は異常と判定することができる。
【0035】
尚、本実施の形態では、4状態について管理変数を示したが、4状態以外にも状態ビット桁数を増やすことで、より細やかな閾値設定が可能となり、異常検出の強化や緩和を図ることができる。
【0036】
前記管理変数または前記管理変数和を用いた各タスクの実行状態の判定の結果は出力されるため、例えば、判定の結果が異常だった場合にコンピューターのリセット、アクチュエーターの停止、エラーの報知などを行うことなどができる。
【0037】
更に、図4は、図1に示した実施の形態における各タスクの管理変数を信号として用いて外部監視を行うためのハードウェアインターフェース回路(アナログ監視回路)を示すものであり、コンピューターに備えたDAC(デジタル アナログ コンバーター、以下単に「DAC」という)から出力される信号を処理する、コンパレータ回路(COMP)と、ラッチ回路(自己保持回路)と、オープンコレクタ回路とを有している。
【0038】
先ず、図1に示した実施形態において用いられる管理変数を、前記DACによりアナログ電圧に変換した判定用信号として出力する。
【0039】
下記表3は前記図1に示した実施の形態における3種のタスクについての管理変数A,B,Cを合計した値である管理変数和Xを前記DACにより判定用信号として0~5Vのアナログ電圧を出力する場合の、デジタル値とアナログ電圧値との相関を示すものである。尚、DACは5V×管理変数和X÷MAX値としてそのまま管理変数和Xを使用することができる。
【0040】
【表3】
【0041】
次いで、前記出力された判定用信号であるアナログ電圧値に対してコンパレータ回路(COMP)により閾値と比較して正常か異常かを判定する。
【0042】
前記表3に示したように、本実施の形態では、上側の閾値と下側の閾値を設定しており、前記上側の閾値と前記下側の閾値の間を正常範囲とし、前記上側の閾値よりも上および前記下側の閾値よりも下を異常値としている。
【0043】
詳細な数値として、前記上側の閾値として3.61Vを、前記下側の閾値として1.39Vを適用しており、各閾値は、正常範囲と異常値の境目の中間値としているが、これに限られるものではない。
【0044】
このとき、前記コンパレータ回路(COMP)から出力される判定の結果をラッチ回路(自己保持回路)に入力することにより、異常状態解除信号が入力されるまでは異常状態を保持することができる。
【0045】
そして、前記コンパレータ回路から出力される判定の結果を前記オープンコレクタ回路により外部に出力することで、例えばコンピューターのリセット回路を用いたリセット操作、アクチュエーター駆動回路の停止回路を用いた停止操作、警告表示灯による報知、などのハードウェアチェック機構による監視を行うことができる。
【0046】
尚、本発明において、タスクの数および個別の周期タイマの数は本実施の形態に示した3つに限られるものではなく、任意の数とすることができる。
【0047】
また、本発明のタスク監視システムは、コンピューター上で実行されるタスク監視プログラムとしても実現可能である。
【0048】
すなわち、本発明であるタスク監視プログラムは、個別の周期タイマを有する複数のタスクを実行するコンピューターにおいて各前記タスクが異常なく実行されていることを確認するためのタスク監視プログラムであって、前記タスク毎に用意されて各前記タスクの実行状態に応じて変動する管理変数の初期値を設定するステップと、前記管理変数を、前記タスク毎に実行時のデクリメントと終了時のインクリメントにより変動させるステップと、前記管理変数と閾値とを比較すること、または、前記管理変数を合計した値である管理変数和と閾値とを比較することで前記管理変数に係るタスクまたは全てのタスクの実行が正常か異常かを判定するステップと、前記判定の結果を出力するステップとを実行するものである。
【0049】
以上の通り、本発明によると、個別の周期タイマを有する複数のタスクを実行するコンピューターにおいて、各タスクの実行状態に応じて変動する管理変数を用いることによって、短い周期タイマで実行されるタスクの確実な監視もすることができる。
図1
図2
図3
図4
図5
図6
図7
図8