JP2006048402A - コントローラ - Google Patents

コントローラ Download PDF

Info

Publication number
JP2006048402A
JP2006048402A JP2004229060A JP2004229060A JP2006048402A JP 2006048402 A JP2006048402 A JP 2006048402A JP 2004229060 A JP2004229060 A JP 2004229060A JP 2004229060 A JP2004229060 A JP 2004229060A JP 2006048402 A JP2006048402 A JP 2006048402A
Authority
JP
Japan
Prior art keywords
diagnosis
priority
controller
diagnostic
controller according
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.)
Pending
Application number
JP2004229060A
Other languages
English (en)
Inventor
Koji Matsuoka
康二 松岡
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2004229060A priority Critical patent/JP2006048402A/ja
Publication of JP2006048402A publication Critical patent/JP2006048402A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】 汎用コントローラで制御対象のシステムの運転を停止すること無しに、ハードウェア診断プログラムを状況に合わせた任意の優先順位で実行させる手段を提供する。
【解決手段】 制御対象のシステムで用いるOSを備えたコントローラにおいて、前記制御対象のシステムを通常運転する際に実行される運転用プロセスと並列して診断用プロセスを実行する診断実行手段と、前記診断用プロセスの実行優先順位を指定する優先度制御手段とを備えたことを特徴とするコントローラであり、前記診断用プロセスに、所定のハードウェア診断を実行させる。
【選択図】 図1

Description

本発明は、各産業界で各種用途に適用され、管理対象システムを制御するコントローラに関する。より詳しくはソフトウェアにマルチプロセス対応のオペレーティングシステム(OS)を搭載した汎用のコントローラに関する。
マルチプロセス対応のオペレーティングシステムを搭載したコントローラに係わる先行技術として、例えば次のような文献がある。
特開平5−216694号公報
特許文献1は、外部機器と通信を行うコントローラのマルチタスクオペレーティングシステムに係わり、特に受信バッファを扱う受信タスクのプライオリティの制御方法に関する。
また、コントローラに関連しコンピュータの制御方式に係わる先行技術として、例えば次のような文献がある。
特開2003−84989号公報
特許文献2は、コントローラとしても使用可能なコンピュータにおいて、ジョブまたはプロセスのプライオリティ動的制御方式とその制御用プログラムを開示する。すなわち、実行中のジョブまたはプロセスのプライオリティを、外部の記憶装置を用いてコンピュータが決定し動的な変更を行うプログラムに関する。
本発明のコントローラは、C言語などの汎用の開発言語でそのプログラムが記載されたコンピュータ若しくはプロセッサ(以下、CPUと記す)を有し、プライオリティ制御機能を持つオペレーティングシステムやモニタププログラムが搭載されていることを前提としている。
また、本発明のコントローラが管理する管理対象システムとは、広く産業界で用いられる各種施設や設備装置など、業種業界や規模の大小を問わず1点以上の監視や制御を必要とする制御点を含み、これら制御点を所定の管理方針に基づいて有機的に結合させた集合体である。
より具体的には、管理対象システムが工場プラントの工業用計器や装置群である場合や、物流システム、運輸システム、或いは有人または無人の諸施設などが該当する。
すなわち、本発明のコントローラは管理対象システム内のフィールド機器を始めとする各種計装機器やセンサ群、装置、設備群を所定の方針の基に全体を協調して機能させ、所定の状態を維持し効率良く運用し生産活動をすべく管理する役割を担う。
例えば管理対象システムがプラント設備の工業計器や装置である場合、プラント内の制御点からリアルタイム情報を収集して得られた定量値情報に基づいて、所定の制御方針に従い所望の状態や結果を得るべく適切な処置を施すフィードバック制御を行う。
コントローラのソフトウェアは、管理対象内でそれぞれが機能や作用の異なる各種設備や機器を制御する際に、対象となる設備や目的毎に最適なプロセスが必要である。
一般にコントローラのオペレーティングシステム(以下OSと表す)は、複数プロセスとこれら複数プロセスを対象とする優先(以下プライオリティと表す)制御機能を備えたソフトウェアモジュール構成を採用している。
これらのプロセス群はコントローラのOSが備えたプライオリティ制御機能やスケジューラ機能等によってその実行を管理されている。
コントローラは、通常の運転や運用活動に相当する運転モードに加えて、メンテナンスや障害切り分時など、敢えて通常の生産処理活動を一時中断させて行う診断モードを別に備えることがある。
すなわち、通常の運転モードで得られるセンサ等の出力値や警報情報のみではシステム内で発生進行している障害の箇所や内容が正確に把握できない場合がある。このような場合にはコントローラを運転モードから診断モードに切り替え、通常処理に係わるプロセスを一時中断してから診断用プログラムを起動する。
図5では従来例1として、このような診断モードを実装したコントローラのソフトウェアのシステム構成例を示している。コントローラのソフトウェアモジュールが、通常モードに相当するモードPと、通常モードを一旦中断して行うモードQとの2種類から構成されている。
モードPで用いるソフトウェアモジュール群は、プロセス1、プロセス2、プロセス3の他にデバイスドライバインタフェース4、リアルタイムOS5、ハードウェアアクセスインタフェース6の各ソフトウェアモジュールが含まれている。リアルタイムOS5には、スケジューラ51が内部に含まれている。
一方、モードQで用いるソフトウェアモジュールでは、プロセスに相当する診断用プログラム7のみで構成されている。
次に、図5の構成図の作用を説明する。コントローラの通常の生産処理活動に係る運転モードはモードPに設定される。モードPでは図5の例としてプロセス1、2及び3の3つのプロセスをコントローラにロードし実行している状態を示している。
モードPにおけるプロセス数は図5でプロセス1、2および3のみ示してあるが、コントローラの内部資源の規模や制御対象数に応じて適宜N個(N=1,2、・・・N)までを用いて良い。
通常の運転モードの状態下で並列実効されるプロセス1、2、3のそれぞれは、コントローラが内部に備えるCPU(図示しない)によって時分割処理されている。
リアルタイムOS5では、各プロセス処理に割り当てるCPUの連続占有実行時間を、規格化された最小マシンタイムであるクオンタムを単位として、細分化した状態で割り当てる。
これらのプロセスを実行する際には、CPUのマシンタイムの利用規定としてそれぞれが所定の占有許可時間長(以下、スレッドと表す)を割り当てられて実行されている。
例えばリアルタイムOS5がプロセス1を処理する場合には、連続2クオンタムの時間に亘りCPUの処理時間を占有する。一方プロセス2またはプロセス3を処理する場合では、連続1クオンタムの時間に亘りCPUの処理時間を占有する。
同一のプロセスに属して、連続Nクオンタム(N=1,2、・・・N)に亘りCPUの処理時間を占有して実行するCPUの連続処理量を、一般にスレッドと称している。
またこのスレッドは、コントローラ内のCPUが同一メモリ空間で実行を継続できる、同一プロセス処理の一部または全体を構成する実行ステップ量にも相当する。
プロセス1、2,3から観て、自分のプロセスに割り当てられたスレッドクオンタムの時間が巡ってきたときスケジューラ51の指示に基づきCPUの処理時間を占有することができる。
このようにマシンタイムをプロセス毎に長さが異なるスレッドクオンタムに細分化してCPUに隙間無くスケジューリングすることで、リアルタイムOS5はあたかもプロセス1、2、3を並列処理するかの如く、時分割でのマルチスレッド処理を実行する。
各プロセスのスレッドクオンタムをCPUにスケジューリングする際は、それぞれのプロセスに割り当てられている実行処理の緊急度合すなわちプライオリティに基づいて時間割が作成され、スケジューラ51が管理している。
この結果、コントローラのCPUがプロセス1、2、3を並列処理するに当たり各スレッドに所定の処理時間であるスレッドクオンタムを配分している。
一方、制御対象のシステムの運用過程でハードウェア診断が必要となった場合は、診断用プログラム7が実行出来るようにモードPからモードQへの切換が必要である。
モードQは、センサ出力値の異常、設定目標値からの乖離、機器の動作不良などの運転中に発見した障害の究明や、原因の早期切り分け、所定のハードウェア資源を対象とした点検チェックなどに使用する。
図5に示す様に、コントローラが動作モードで用いたソフトウェアモジュール群は全て診断用プログラム7に置き換えられる。
この様に、診断の際にコントローラの通常動作を停止して、リソース内の全域を使用した診断プログラム7をロードすることで、通常運転中には実行不可能であった診断作業に集中することが出来る。
また、モードPとモードQとをコントローラ資源上で同時に共存させず完全に排他的にロードされるため、両モードで個別にソフトウェアモジュールの版数管理やメンテナンスができる利点もある。
ところが、従来例1として図5に示すソフトウェアモジュール構成には、以下のような問題点があった。
第一の問題点は、診断用プログラムを実行する際、運転を一時中断しなければならないことである。すなわちコントローラから通常運転用のソフトウェアモジュール群を一旦全て退避させ、診断用プログラムをロードしなければならないことである。
このためモードPを中断してモードQに移行後、所定のハードウェア診断を終えて再びモードPに復帰するまでの時間、管理対象システムの運転を停止させることになり、システムの運用効率が著しく低下する問題があった。
第二の問題点は、コントローラの制御端末等における操作手順が煩雑となりオペレータの手間と工数を要することである。すなわちモード切り替え操作に続く診断プログラムのロードと診断実行、運転モードへ復帰といった一連の操作は長時間に及ぶ場合が多く、作業を行うオペレータの負担が多きい。
第三の問題点は、通常の運転状態下でのハードウェア診断データを得られないことである。すなわち運転中に生じた不具合を、運転を停止させた状態で診断しなければならない。このために管理対象の障害や異常値が診断モードでは再現しなかった場合、不具合原因の究明作業や解析は困難を極めた。
すなわち既存のコントローラには、通常の稼動条件下にある設備やフィールド機器、開閉ループ群に属する装置等を対象として診断作業を併せて実施する作用をもつ、運転用プロセスと診断用プロセスの並列稼動の環境を提供する手段が存在しなかった。
以上の従来例1の問題点に鑑みて例えば図6に示す従来例2では、コントローラの実行モードを切り替えることなく、診断用プログラムを実行する。
従来例2である図6では、このような診断用プログラムを使用するプログラムコントローラのソフトウェア構成例を示している。この例では、プログラムコントローラのソフトウェアが、通常の運転モードに相当するプロセスの一つとして診断用プログラムを常駐させている。
図6で示す構成要素の内、図5の従来例1で説明した図中記号と同一記号のモジュールは、従来例1と同一作用を持つ構成要素であるので説明を省略する。
従来例2では、運転中のプログラムコントローラにプロセス1、プロセス2、プロセス3とデバイスドライバインタフェース4、リアルタイムOS5、ハードウェアアクセスインタフェース6の各ソフトウェアモジュール群に加えて、診断プロセス10を実装している。
次に、図6の構成図の作用を説明する。診断用プロセス10は、通常運転モードの状態でコントローラにロードされて、リアルタイムOS5内部に備えたスケジューラ51が、プロセス1,2,3と並列に一括して実行管理される。
ところで、従来例2において診断用プロセス10を実行させる緊急度を事前に正確に予見することは困難である。仮に制御対象の、例えば処理プラント等が通常運転中にハードウェア診断を必要とする事態が何も生じなければ、コントローラのメモリ資源を無駄に消費して通常運転に全く寄与しないばかりかスケジューラ51の作業負荷を増大させてしまう。
このため、リアルタイムOS5はプロセス1、2,3の実行スレッドのプライオリティを相対的に高く設定し、診断用プロセス10はこれらに比して最低プライオリティに予め設定しておく必要がある。
ところが逆に、管理対象のシステムで例えば特定フィールド機器や特定制御ループに属する設備のハードウェア診断が急遽必要になり、診断用プロセス10の実行が必要とされる場合、最低プライオリティに設定してある診断用プロセス10では、確実な実行を担保することは困難である。
すなわち図6の従来例2の様に、例えハードウェア診断用プロセスを通常運転下のコントローラに常駐させたとしても、適切なプライオリティ制御が為されなければ、適切な時点で実行させることが出来ない問題がある。
さらに、ハードウェアの定期検診として例えば通常運転を実行しつつ一定周期で所定のハードウェア診断を実施させる手段も存在しながった。
以上の従来例1及び従来例2の問題点に鑑みて、例えば図7の従来例3ではコントローラのモードを切り替えることなく、診断機能の処理時間を確保したソフトウェアの実装方式例を示している。
従来例3である図7は、処理対象システムを通常運転中に診断用プログラムを実行するコントローラのソフトウェア構成例を示している。通常運転中に実行させるソフトウェアモジュールを単一プロセスで構成して、当該プロセス処理過程の一部にハードウェア診断処理を実行スケジュールに予め組み込むことで診断用プログラム実行時間を確保している。
図7の従来例3では、コントローラのソフトウェアが単一プロセスに属したタスクとして処理A、処理B、処理C及び診断機能Dとで構成され、これらタスクの実行順序が処理A、処理B、処理C、診断機能Dの順に連続して繰り返すラウンドロビン・スケジューリングの形式で実行される。
図7の別の見方として、従来例3の各タスクA,B,C,Dをそれぞれプロセスとして置き換え、予め同一クラスのプライオリティに設定した状態で処理A、処理B、処理C、診断機能Dの4つのプロセスを扱うラウンドロビン・スケジューリングとして実行させても同等の結果を得る。
ところが、図7の従来例3は各プロセスまたはタスクに相当する処理A、B,C及び診断機能Dが固定優先度であるため、高い優先度を要求されるリアルタイム処理の実行には不向きである。
すなわちシステムの規模が大きくなるに従い、各プロセスまたはタスクにとってCPU処理時間として付与されるクオンタムが与えられる周期間隔が長くなると共に、プロプラムの開発効率も低下しメンテナンス上不利である。
本発明は上述した従来例1、2、3の問題点を解決するために成され、その目的はコントローラで制御対象のシステムの運転を停止すること無しに、ハードウェア診断プログラムを状況に合わせた任意の優先順位で実行させる手段を提供することにある。
このような目的を達成するために、本発明のうち請求項1記載の発明は、
制御対象のシステムで用いるOSを備えたコントローラにおいて、
前記システムを通常運転する際に実行される運転用プロセスと並列して診断用プロセスを実行する診断実行手段と、前記診断用プロセスの実行優先順位を指定する優先度制御手段と、を備えたことを特徴とするコントローラである。
請求項2記載の発明は、
前記診断用プロセスは、所定のハードウェア診断を実行することを特徴とする請求項1に記載のコントローラである。
請求項3記載の発明は、
前記診断用プロセスに所定の優先順位を設定する入力部を備えたことを特徴とする請求項1または2に記載のコントローラである。
請求項4記載の発明は、
前記診断用プロセスの診断結果を出力する出力部を備えたことを特徴とする請求項1から3までの何れかに記載のコントローラである。
請求項5記載の発明は、
前記優先度制御手段は、前記診断用プロセスが所定の診断を終了すると前記優先順位を最低優先順位に設定することを特徴とする請求項1から4までの何れかに記載のコントローラである。
請求項6記載の発明は、
前記診断用プロセスは、前記リアルタイムOS内で用いている所定のグローバル変数を介して前記運転用プロセスから所定のパラメータ取得を行うことを特徴とする請求項1から3までの何れかに記載のコントローラである。
請求項7記載の発明は、
前記入力部は、通信用インタフェースと接続することを特徴とする請求項3に記載のコントローラである。
請求項8記載の発明は、
前記出力部は、通信用インタフェースと接続することを特徴とする請求項4に記載のコントローラである。
請求項9記載の発明は、
前記出力部は、前記リアルタイムOSで現在実行中の前記運転用プロセス及び前記診断用プロセスについてその数と各々の実行状況とを出力することを特徴とする請求項4に記載のコントローラである。
請求項10記載の発明は、
制御対象のシステムで用いるOSを備えたコントローラにおいて、
前記システムを通常運転する際に実行される運転用プロセスと並列して診断用プロセスを実行する診断実行手段と、前記診断用プロセスの実行優先順位を指定する優先度制御手段と、前記OSの許容占有時間長を指定する動作時間制御手段と、を備えたことを特徴とするコントローラである。
請求項11から請求項18記載の発明は、請求項10に従属し請求項1に対する請求項2から請求項9までの付加内容と同一である。
本発明によれば、以下のような効果がある。
第一の効果は、診断用プロセスがコントローラのモード変更を伴う管理対象システムの運転停止に至ることなく確実に実行できる効果がある。
すなわち診断用プロセスのプライオリティ値が緊急度に応じたレベルに可変できることから従来例2では実現不可能であった、診断プロセスのスレッドクオンタムが着実にスケジューラ上で確保される。
このため任意の機器を対象としたハードウェア障害切り分けが運転中の日常業務の中で手軽かつ柔軟に実行でき、システム運用効率と信頼性とを格段に向上させる。
第二の効果は、コントローラの制御端末におけるオペレータの手間と工数を軽減することである。ハードウェア診断を実行する場合は、従来要していたモード切り替え操作に続く診断プログラムのロードに診断、運転モードへの復帰といった一連の長時間の操作は必要なく、作業を行うオペレータの負担を軽減させる。
第三の効果は、通常の運転状態下にある管理対象システムのハードウェア診断データを得られることである。すなわち運転中に生じた不具合を、運転を続行させた状態で診断できる。このためハードウェア障害が疑われる状態を運転中に認めた場合は、直ちに不具合原因の究明作業に着手し原因の切り分けに着手できる。
第四の効果は、診断用プロセスの実行を制御する入力部と出力部とを備えたので、例えば通信用インタフェースを介したリモート制御端末から、当該コントローラ配下の任意のハードウェアを対象とする診断を任意の時間に指令し、その結果を着実かつ速やかに入手できることである。
第五の効果は、緊急時には臨時のハードウェア診断の強制実行が可能である他に、通常運転時に於いては運転に支障を与えること無く、ほぼ一定間隔の周期で実行されるハードウェア定期診断機能が実装可能である。
この効果は、診断用プロセスのプライオリティについて、必要の無いときはデフォルト状態の最低クラスに設定した事実上全く実行されない状態から、必要な場合には、最高クラスのプライオリティに設定した最優先で実行される状態までを任意のレンジ幅で設定できる特徴から与えられている。
すなわち、ハードウェア診断用プロセスのプライオリティを、現状の運転用プロセス群のプロセス数やCPU負荷状況に応じ、適切な値にその都度設定する特徴によって実現している。
従って管理対象システムの管理保守手段として有効でありハードウェアの信頼性を向上させて稼動効率を改善するとともに、オーバーホール定期診断やメンテナンス時には重点検査箇所を限定でき管理工数を低減する。
さらに、ハードウェア診断プロセスに対するプライオリティの制御に加えて、スレッドクオンタムの制御をも併せて付加したことから、現状の運転用プロセス群に対する影響を更に低減できる。
このため通常運転に支障を与えること無しに、多種多様のハードウェア診断プログラムを同時に並列に待機させ、必要に応じ最適化したスケジューリングにアレンジし臨機応変に実行させることができる。
本発明について実施例に基づき詳細に説明する。
本発明の実施例1は、図1の構成ブロック図に示している。
実施例1ではコントローラが備えたソフトウェアモジュールとして、プロセス1、プロセス2、プロセス3の他にデバイスドライバインタフェース4、OSとしてリアルタイムOS5、ハードウェアアクセスインタフェース6、及び診断用プロセス20及び診断実行手段30をもつ。
診断用プロセス20の内部には、優先度制御手段21を備えている。診断実行手段30の外部には、入力部31及び出力部32を備え、入力部31及び出力部32は信号経路40を介して診断実行手段30に属する診断プロセス20と接続している。
入力部31及び出力部32は実施例1に相当するコントローラ筐体の内部に設けても、外部に設けてもどちらでも差し支えない。例えば、入力部31及び出力部32を遠隔地に備えた制御用コンピュータの端末装置として実施すれば、信号経路40を公衆回線や専用線などを含む通信用インタフェースで実施することができる。
次に図1の実施例1の作用について説明する。プロセス1、プロセス2及びプロセス3はコントローラが制御している制御対象システムの通常運転に対応している。診断用プロセス20は、実行優先度が初期状態である最下位クラスに設定され、通常はスリープ状態を維持して待機している。
診断実行手段30は、コントローラのハードウェアが備えた図示しないCPUと、そのCPUの実行用に記述された診断のためのソフトウェア・プログラムであり、診断プロセス20を実行させる機能をもつ。
入力部31は、診断要求Cと診断要求Cの付属パラメータであるプライオリティ値P1とを入力する作用をもつ。信号経路40を経由して、診断要求Cは診断プロセス20へ、プライオリティ値P1は優先度制御手段21へ供給している。出力部32は診断プロセス20と接続して、診断用プロセス20が発行する結果出力Rを受信する。
制御対象システムを通常運転中にハードウェア診断の必要が生じた場合は、コントローラでは診断用プロセス20に診断要求Cとプライオリティ値P1を発行する。診断要求Cとパラメータであるプライオリティ値P1は、入力部31から診断用プロセス20に対して信号経路40を介し入力される。診断要求Cは、診断用プロセス20を現行のスリープ状態らラン状態に遷移させる作用をもつ。
パラメータであるプライオリティ値P1は、優先度制御手段21に入力され所定のプライオリティ値を設定する。例えば、診断用プロセス20のプライオリティを、現状の最下位クラスからプロセス2及びプロセス3と同等クラスに設定する。
同時にスケジューラ51では、図示しない内部の管理テーブルにプロセス2及びプロセス3と同一プライオリティクラスとして新たな診断用プロセス20を追加する。
この結果、診断用プロセス20は、プロセス2及びプロセス3と同等条件でCPU処理時間であるスレッドクオンタムを取得する資格を得る。
診断用プロセス20は、実行中のスレッド処理を通じて通常運端中のデバイスドライバ4やハードウェアアクセスインタフェース6等のソフトウェア共有資源を活用して、図示していない制御対象システムに属する所定ハードウェアの診断を実施する。
また、実施例1に示した構成要素に対応するコントローラのハードウェアや、通信経路40、入力部31または出力部41などのハードウェア診断を実行しても差し支えない。
診断用プロセス20は、実行したハードウェア診断結果または診断経過の状況を、結果出力Rを介し出力部32へ提示する。所定のクオンタムを満了しハードウェア診断を終了した診断用プロセス20は、自動的に自らのプライオリティを最下位クラスに設定し直してスリープ状態に復帰する。
この様に、コントローラにおいて最下位プライオリティにしてスリープ状態で潜伏させていた診断用プロセス20を、緊急度やCPU負荷状況に応じ適宜最適なプライオリティを付与してからラン状態にする。これにより、診断用プロセス20はCPU実行時間すなわちスレッドクオンタムを確実に確保することができる。
CPU負荷状況については、実施例1では信号経路40を介した出力部32により現在ラン状態にある、全プロセスについて一覧表示して出力することで取得する。ラン中の全プロセスの一覧情報は、OSに備えつきの管理用コマンドなどを活用してもよい。
現行のCPU負荷状況に合わせて、診断用プロセス20に付与するプライオリティクラスを適切に選択することにより、診断用プロセス20に対してクオンタム割り当てが発生するまでのレスポンス時間を調整することができる。
さらに入力部31を介して行う診断要求Cの発行間隔を適切に調整することにより、制御対象システムの通常運転を妨げること無しに定期的な間隔で実行を開始するハードウェア診断プロセスのクオンタム確保が可能となる。診断プロセス20のクオンタム割り当てが無い間は、診断用プロセス20を最下位プライオリティクラスに固定してスリープ状態としておく。
もちろん実行するハードウェア診断が、一回分のスレッドクオンタムで終了し切れない場合、診断要求Cの発行時点で付与したプライオリティを保持させたまま、診断プロセス20のクオンタム割り当てが無い間を、ウェイト状態で待機させても良い。
診断用プロセス20は、リアルタイムOS5によりプロセス1、2、3など他の運転用プロセスや、他の診断用プロセス(図示しない)との間で、グローバル変数を介した引数の送受やプロセス間通信ができる。
このため、他の運転用プロセスが自身のスレッドクオンタム中に現場の装置や設備から取得した、最新の物理量やステイタス情報を引数としてコピーし、ハードウェア診断用のデータとしても二次活用できる。
これにより、デバイスドライバ4やハードウェアアクセスインタフェース6などの共有資源に対して、診断プロセス20の占有時間を短縮するので効率の良い診断を実行できる。
また逆に診断用プロセス20が得た診断結果について、結果出力Rを介した出力部32への出力データとして用いる以外に、実行中の他プロセスにおいて運転中の装置や設備の設定パラメータやモード変更など、通常運転に係わるフィードバック制御にも反映することができる。
この様に、運転用プロセスと診断用プロセスとを同時に並列して稼動させる結果、通常の運転環境下でもハードウェア診断が可能となる。稼動中のシステムで生じた軽微な不具合や不明箇所は、運転を停止させることなく早期の段階でハードウェア障害の有無について切り分け判断することができる。
さらには運転用プロセスと診断用プロセスとの共存により、双方のプロセスがスレッドクオンタム期間中に取得したデータは、OSに備付けのグローバル変数などのプロセス間通信手段を媒介すれば互いに共有させることができる。
これにより運転と診断の両プロセスは、互いの専門性を生かした情報を相互に補完し合える環境が実現し、コントローラ内部リソースやCPU負荷を軽減させると共に、作業効率を改善する効果をもたらす。
以上の様に図1の実施例1によれば、管理対象システムの運転を停止させること無しにクオンタムを確実に確保して、定時または臨時のハードウェア診断プログラムを実行するコントローラが提供できる。
本発明の実施例2は、図2の構成ブロックに示している。
実施例2では診断実行手段30として、優先度制御手段21の他に動作制御時間制御部22を備えた診断プロセス20を使用している。また、入力部31は信号経路40を介して優先度制御手段21及び動作時間制御手段22に接続している。その他の構成は、図1に示した実施例1と同一である。
次に図2の実施例2の作用について説明する。図1の実施例1に示した同一記号の構成要素は同一作用をもつことから作用の詳細説明を省略する。
実施例2の診断プロセス20が備える動作時間制御手段22は、診断用プロセス20の指定スレッドクオンタム値を設定する作用を持つ。プライオリティを設定する優先度制御手段21と同様に、診断用プログラム20のスレッド実行に必要なパラメータをスケジューラ51に提供する作用をもつ。
制御対象システムの通常運転中に、ハードウェア診断の必要が生じた場合、入力部31では診断要求Cとそのパラメータであるプライオリティ値P1及びスレッドクオンタム値P2を発行する。
パラメータの1つであるプライオリティ値P1は、優先度制御手段21に入力され所定のプライオリティ値を設定する。また他のパラメータであるスレッドクオンタム値P2は動作時間制御手段22へ入力して、診断用プロセス20のクオンタム値を設定している。
この結果、スケジューラ51では、内部の管理テーブルに指定されたプライオリティに加え、指定されたクオンタム値を含めた状態で診断用プロセス20をスケジューリングできる。
実施例2のスケジューラ51では、診断用プロセス20についてプライオリティ制御以外にもスレッドクオンタム制御を併せて駆使できることから、他の運転用プロセス群に対する影響を最小限とするスケジューリング構成が実現できる。
このため、多種多様なハードウェア診断プログラムを予め複数個スリープさせておき、状況や必要に応じてパラメータ値を調整した診断要求を適宜発行することで、通常運転を停止させること無く複数の診断用プログラムの並列実行を最適化できる。
図3は、実施例2の信号経路40に通信用インタフェースとして広域ネットワーク網を用いた場合の構成例を示している。図3の入力部31及び出力部32は、制御用端末装置50として構成している。制御用端末装置50には、専用に設計された装置以外にも例えば市販のコンピュータやワークステーション、モバイル端末装置などを流用しても良い。
入力部31、出力部32及び通信経路40の各作用は図2の構成と同等であるが、図3の場合は入力部31と出力部32を遠隔地に設置できる効果をもつ。
次に実施例2の作用について、図4Aおよび図4Bを用いて更に説明する。
図4Aは、診断用プロセス20が初期設定のスリープ状態のまま待機中のスケジューリング状況例である。実施例2のコントローラのリアルタイムOS5における、プロセス別の実行時間、具体的にはスレッドクオンタムの配分状況を示している。
横軸は経過時間T、縦軸はプライオリティクラスであり例として高位、中位及び低位の3クラスを設定している。
横軸上で消費される規格化された、単位時間長はクオンタムに対応している。プロセス0とプロセス1は、高位クラスのプライオリティに属している。OS管理用のプロセス0はスレッドクオンタム数を1単位、運転用プロセス1は2クオンタム単位数で実行している。
運転用であるプロセス2とプロセス3は、中位クラスのプライオリティに属して、プロセス2はスレッドクオンタムを3単位、プロセス3はスレッドクオンタムを4単位で実行している。
診断用プロセス20、201、202は低位クラスのプライオリティに属し、それぞれ初期値として3単位のスレッドクオンタムを割り当てている。
図4Aと図4Bのスケジューリングは、説明が単純であることからコオペラティブ方式を採用し、同一クラスのプライオリティのスレッド同士ではラウンドロビン・スケジュールで示している。
図4Aでは診断要求Cが発行されず、診断用プロセス20、201、202はすべてスリープ状態に止まり、最低のプライオリティを維持することから、診断用プロセスのスレッドは実行されることは無い。また各診断用プロセスのスレッドクオンタムのデフォルト値は便宜上、3単位数に設定している。
一方、図4Bでは、診断用プロセス20に対する診断要求Cが発行されている。このため最低クラスのプライオリティを維持してスリープ状態で待機していた診断プロセス20は、図4Bの例では中位クラスのプライオリティで、スレッドクオンタムを4単位に設定されてラン状態に移行する。
このとき発行した診断要求Cは、第一のパラメータP1がプライオリティを中位クラスに指定し、第二のパラメータP2がスレッドクオンタムを4単位に指定している。
ラン中の診断用プロセス20は、同じ中位クラスのプライオリティに属する、運転用のプロセス2及びプロセス3と同等に扱われてラウンドロビン・スケジュールで実行処理される。
診断要求Cを定期的に発行し、その都度診断用プロセス20のプライオリティを中位クラスまで上げることによって確実かつ定期的なスレッドクオンタムを確保できる。
図4Bの例では一回のスレッドクオンタムを終了する度に、所定のハードウェア診断に係わる結果出力Rを得ているので診断用プロセス20は、初期状態である低位プライオリティクラスに復帰してからスリープ状態へ戻っている。
もちろん、ハードウェア診断のプロセス実行に時間を要する場合は、復帰せずこのまま次回のスレッドクオンタムまでウェイト状態を維持しても良い。図4Bにおいては、診断要求Cを受けてからプロセス20が実際に実行されるまでのウェイト状態は、破線部で示してある。
以上説明した様に、本発明によれば制御対象システムの通常運転を停止すること無く、ハードウェア診断プロセスをシステム稼動状況に合わせた任意の優先順位、かつ最適クオンタムで実行させる手段を備えたコントローラを提供できる。
さらに、信号経路40を介在させて入力部31と出力部32とを接続したことで、コントローラに備付けのHMI手段の他、入出力機能を備えた遠隔地にあるコンピュータ端末等を用い通信用インタフェースを介した診断要求を発行し、コントローラで起動した所定のハードウェア診断プロセスについて診断結果を取得できる。
本発明の実施例1を示す構成ブロック図である。 本発明の実施例2を示す構成ブロック図である。 本発明における信号経路を通信インタフェースとした場合の構成例をブロック図である。 本発明の実施例2のプロセスのスケジューリング動作例を示すブロック図である。 診断用プロセスの実施形態の例として従来例1を示す構成ブロック図である。 診断用プロセスの実施形態の例として従来例2を示す構成ブロック図である。 診断用プロセスの実施形態の例として従来例3を示す構成ブロック図である。
符号の説明
1、2、3 プロセス
4 デバイスドライバインタフェース
5 リアルタイムOS
6 ハードウェアアクセスインタフェース
7 診断用プログラム
20、200、201 診断用プロセス
21 優先度制御手段
22 動作時間制御手段
30 診断実行手段
31 入力部
32 出力部
40 信号経路
51 スケジューラ

Claims (18)

  1. 制御対象のシステムで用いるOSを備えたコントローラにおいて、
    前記制御対象のシステムを通常運転する際に実行される運転用プロセスと並列して診断用プロセスを実行する診断実行手段と、
    前記診断用プロセスの実行優先順位を指定する優先度制御手段と、
    を備えたことを特徴とするコントローラ。
  2. 前記診断用プロセスは、所定のハードウェア診断を実行することを特徴とする請求項1に記載のコントローラ。
  3. 前記診断用プロセスに所定の優先順位を設定する入力部を備えたことを特徴とする請求項1または2に記載のコントローラ。
  4. 前記診断用プロセスの診断結果を出力する出力部を備えたことを特徴とする請求項1から3までの何れかに記載のコントローラ。
  5. 前記優先度制御手段は、前記診断用プロセスが所定の診断を終了すると前記優先順位を最低優先順位に設定することを特徴とする請求項1から4までの何れかに記載のコントローラ。
  6. 前記診断用プロセスは、前記OS内で用いている所定のグローバル変数を介して前記運転用プロセスから所定のパラメータ取得を行うことを特徴とする請求項1から5までの何れかに記載のコントローラ。
  7. 前記入力部は、通信用インタフェースと接続することを特徴とする請求項3に記載のコントローラ。
  8. 前記出力部は、通信用インタフェースと接続することを特徴とする請求項4に記載のコントローラ。
  9. 前記出力部は、前記OSで現在実行中の前記運転用プロセス及び前記診断用プロセスについてその数と各々の実行状況とを出力することを特徴とする請求項4に記載のコントローラ。
  10. 制御対象のシステムで用いるOSを備えたコントローラにおいて、
    前記制御対象のシステムを通常運転する際に実行される運転用プロセスと並列して診断用プロセスを実行する診断実行手段と、
    前記診断用プロセスの実行優先順位を指定する優先度制御手段と、
    前記OSの許容占有時間長を指定する動作時間制御手段と、
    を備えたことを特徴とするコントローラ。
  11. 前記診断用プロセスは、所定のハードウェア診断を実行することを特徴とする請求項10に記載のコントローラ。
  12. 前記診断用プロセスに所定の優先順位と所定の許容占有時間長とを設定する入力部を備えたことを特徴とする請求項10または11に記載のコントローラ。
  13. 前記診断用プロセスの診断結果を出力する出力部を備えたことを特徴とする請求項10から12までの何れかに記載のコントローラ。
  14. 前記優先度制御手段は、前記診断用プロセスが所定の診断を終了すると前記優先順位を最低順位に設定することを特徴とする請求項10から13の何れかに記載のプログラムコントローラ。
  15. 前記診断用プロセスは、前記OS内で用いている所定のグローバル変数を介して前記運転用プロセスから所定のパラメータ取得を行うことを特徴とする請求項10から14の何れかに記載のコントローラ。
  16. 前記入力部は、通信用インタフェースと接続することを特徴とする請求項12に記載のコントローラ。
  17. 前記出力部は、通信用インタフェースと接続することを特徴とする請求項13に記載のコントローラ。
  18. 前記出力部は、前記リアルタイムOSで現在実行中の前記運転用プロセス及び前記診断用プロセスについてその数と各々の実行状況とを出力することを特徴とする請求項13に記載のコントローラ。
JP2004229060A 2004-08-05 2004-08-05 コントローラ Pending JP2006048402A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004229060A JP2006048402A (ja) 2004-08-05 2004-08-05 コントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004229060A JP2006048402A (ja) 2004-08-05 2004-08-05 コントローラ

Publications (1)

Publication Number Publication Date
JP2006048402A true JP2006048402A (ja) 2006-02-16

Family

ID=36026880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004229060A Pending JP2006048402A (ja) 2004-08-05 2004-08-05 コントローラ

Country Status (1)

Country Link
JP (1) JP2006048402A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2918193A1 (fr) * 2007-06-28 2009-01-02 Airbus France Sas Carte electrique apte a executer une commande provenant d'un systeme de simulation et une commande provenant d'un module de diagnostic et procede de simulation associe
WO2009001218A3 (fr) * 2007-06-28 2009-11-26 Airbus Operations Carte électronique apte á exécuter une commande provenant d'un système de simulation et une commande provenant d'un module de diagnostic et procédé de simulation associé
JP2010538338A (ja) * 2007-08-31 2010-12-09 エアバス オペラシオン シミュレーション・システムからの命令と診断モジュールからの命令を実行できる電子機器ボードと、それに関連するシミュレーション方法
WO2019188177A1 (ja) * 2018-03-30 2019-10-03 株式会社デンソー 情報処理装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2918193A1 (fr) * 2007-06-28 2009-01-02 Airbus France Sas Carte electrique apte a executer une commande provenant d'un systeme de simulation et une commande provenant d'un module de diagnostic et procede de simulation associe
WO2009001218A3 (fr) * 2007-06-28 2009-11-26 Airbus Operations Carte électronique apte á exécuter une commande provenant d'un système de simulation et une commande provenant d'un module de diagnostic et procédé de simulation associé
US8402315B2 (en) 2007-06-28 2013-03-19 Airbus Operations Sas Electronic card able to execute a command originating from a simulation system and a command originating from a diagnostic module and associated simulation method
JP2010538338A (ja) * 2007-08-31 2010-12-09 エアバス オペラシオン シミュレーション・システムからの命令と診断モジュールからの命令を実行できる電子機器ボードと、それに関連するシミュレーション方法
WO2019188177A1 (ja) * 2018-03-30 2019-10-03 株式会社デンソー 情報処理装置
JP2019179414A (ja) * 2018-03-30 2019-10-17 株式会社デンソー 情報処理装置
JP7236811B2 (ja) 2018-03-30 2023-03-10 株式会社デンソー 情報処理装置

Similar Documents

Publication Publication Date Title
US11321132B2 (en) Edge computing method and apparatus for flexibly allocating computing resource
US10303128B2 (en) System and method for control and/or analytics of an industrial process
US11301294B2 (en) Control device, control method, and control program
CN110402430B (zh) 控制装置、控制方法以及记录介质
EP3557345B1 (en) Control apparatus, system program, and control method
US11307550B2 (en) Sequence control of program modules
US10102045B2 (en) Control device, control method and program
AU2017203372A1 (en) System and method for robust real-time control of regular automated production
WO2019058547A1 (ja) 情報処理システムおよび情報処理方法
US7168075B1 (en) Automation device and updating method
EP2733613B1 (en) Controller and program
US10281886B2 (en) Method and device for the energy-efficient control of a plant
JP2006048402A (ja) コントローラ
US20080141213A1 (en) Flexible interconnection system
JP2009064094A (ja) プロセス監視制御システム
CN110162160B (zh) 监控、控制和受监督地关机控制和/或计算机单元的方法
CN114115140B (zh) 多核主控制器、主辅多核控制器间数据同步系统和方法
US20230359487A1 (en) Control device, non-transitory computer-readable medium, and control method
KR102116174B1 (ko) 멀티코어 프로세서 기반의 plc 및 hmi 통합 시스템
KR101862931B1 (ko) 배전운영시스템의 해석용 응용프로그램의 운영시스템
JP2003316424A (ja) 機器診断装置
WO2023157145A1 (ja) メモリ管理支援装置、及びコンピュータが読み取り可能な記憶媒体
KR20200083017A (ko) 멀티코어 프로세서 기반의 이중화된 plc 제어시스템
Heinze et al. Resource management and usage in highly flexible and adaptable manufacturing systems
JP2023049531A (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081211

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090312