JP6731179B2 - 制御演算装置 - Google Patents

制御演算装置 Download PDF

Info

Publication number
JP6731179B2
JP6731179B2 JP2016043520A JP2016043520A JP6731179B2 JP 6731179 B2 JP6731179 B2 JP 6731179B2 JP 2016043520 A JP2016043520 A JP 2016043520A JP 2016043520 A JP2016043520 A JP 2016043520A JP 6731179 B2 JP6731179 B2 JP 6731179B2
Authority
JP
Japan
Prior art keywords
control
task
reception
control task
communication
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.)
Active
Application number
JP2016043520A
Other languages
English (en)
Other versions
JP2017161994A (ja
Inventor
椎名 正樹
正樹 椎名
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 JP2016043520A priority Critical patent/JP6731179B2/ja
Publication of JP2017161994A publication Critical patent/JP2017161994A/ja
Application granted granted Critical
Publication of JP6731179B2 publication Critical patent/JP6731179B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、制御演算装置に関し、詳しくは、制御演算装置の通信処理に伴う過負荷に対する保護に関するものであり、特に、単一のCPUで制御演算と周辺装置の制御を行うように構成された制御演算装置における通信処理に伴う負荷を軽減する技術に関するものである。
プラント制御の分野では、制御演算装置として、プログラムコントローラが広く用いられている。
図6は、従来から用いられているプログラムコントローラの一例を示す構成説明図である。図6において、プログラムコントローラ10は、単一のCPU11、複数の通信デバイス121〜12n、メモリ13、操作部14、表示部15などで構成されている。
CPU11上で実行される全タスクは、OS11aに設けられているスケジューラ11bによってスケジューリングされる。
スケジューラ11bは、通信タスク11c、制御タスク管理部11d、制御タスク11e、HMIタスク11fの各部に、あらかじめスケジューリングされたタイミングに基づき起動命令を出力する。
制御タスク管理部11dは、制御タスク定義、制御タスクの実行状態、I/O定義、制御タスクの制御演算処理時間を監視するWDT(ウォッチドッグタイマ)11hなどを管理する。
制御タスク定義変更やI/O定義変更などの要求およびそれらの要求への応答は通信タスク11cを介して行われる。
制御タスク11eは、図示しない制御対象に対する必要な制御処理を、I/O20を介して一定周期(たとえば100ms〜1s)で実行する。
制御タスク11eの実行状態には、制御演算処理実行中であるか、アイドル中であるかの状態がある。制御タスク11eは一定の周期で制御演算を繰り返し実行する。制御タスク管理部11dは、制御タスク11eの演算開始時に制御演算処理実行中を意味するフラグを記録し、演算終了時に同フラグを解除することにより、制御タスクの実行状態を追跡する。
制御タスク管理部11dは、制御タスクごとの演算処理時間について所定の制限時間を設定している。
WDT11hは、制御タスクの実行状態を示すフラグを参照することで、制御タスクの演算処理時間を計測する。WDT11hはそれぞれの制御タスクの演算処理時間がこの制限時間を超えたかどうかを監視し、超えていればWDTエラーを制御タスク管理部11dに報告する。
制御演算処理の遅延によりWDTエラーが発生すると、制御タスク管理部11dはエラーログを出力する。
HMIタスク11fは、図示しない上位HMIからの制御データの監視・操作、WDTエラーなどのログの閲覧、システムメンテナンスなどのサービスを、通信タスク11cを介してユーザーに提供する。
外部デバイスとの通信は、通信デバイス121〜12nを介して行われる。各通信デバイスは通信フレーム受信時に割込みを発生させ、CPU11は割込みサービスルーチンISR11gを呼び出す。ISR11gは受信フレームを通信タスク11cへ渡し、通信タスク11cは通信プロトコルを処理する。
スケジューラ11bは、制御タスク11eの実行中に通信フレームを受信すると制御タスク11eを中断し、通信タスク11cに制御を移す。通信タスク11cが終了すると制御タスク11eまたはHMIタスク11fなどのより優先度の低いタスクに制御を移す。
図7は、図6に示した従来のプログラムコントローラの動作説明図である。制御タスク11eは一定の制御周期Tcで動作している。時刻t1において通信タスクが割り込み、制御タスクが中断される。その後時刻t2において通信タスクが終了し、制御タスクへ制御が戻る。
特許文献1には、マルチタスクオペレーティングシステムにおいて、各タスクが円滑に起動して動作するとともに、通信回数や受信データ量が多くなってもエラーにならないようにソフトウェアを制御するFAコントローラの技術が記載されている。
特許文献2には、制御の実行負荷に対応した伝送負荷を実現し、効率の良い伝送を行うプログラムコントローラ及びプログラミングツール及び制御システム並びに制御システムのデータ伝送方法の技術が記載されている。
特許文献3には、ブロードキャストストームによるシステムダウンを低減しつつネットワーク機能を適切に維持し、ネットワークの信頼性を高めるネットワーク中継装置、ネットワーク中継方法およびその方法をコンピュータに実行させるプログラムの技術が記載されている。
特開平05−216694号公報 特開平10−083205号公報 特開2003−124963号公報
しかし、図6に示す従来のプログラムコントローラ10は、制御機能、HMI機能および通信機能を単一のCPU11で実行するように構成されている。そのため、通信デバイス121〜12nがフレームを受信するたびに制御タスクが中断されることになり、通信デバイス121〜12nが異常な量のフレームを受信すると制御タスクの中断時間が延びてしまい、制御タスクが制御周期Tcを超えて動作してしまう。
図8は図6に示す従来のプログラムコントローラ10の他の動作説明図であり、(a)は制御タスクの実行状態を示し、(b)は通信タスクの実行状態を示している。図8において、時刻t1で通信過負荷が発生すると、次の制御周期Tcの開始時刻t2までに制御演算が完了しないので次周期の制御演算は延期され、次々周期まで待たされてしまう。なお、図8では、WDTの設定時間を制御周期Tcに合わせた例を示している。
HMIタスクなどの優先度の低いタスクは制御や通信の空き時間に行われるが、通信過負荷が発生する状況下では動作が遅延または阻害され、ユーザーに対するサービスが実行できない場合がある。
図6に示す従来の回路構成によれば、制御演算処理時間がWDT設定時間を超えた場合にはWDTエラー発生時にログを出力することはできるが、WDTエラー自体の発生を未然に防ぐことはできない。
本発明は、このような課題を解決するものであり、その目的は、通信処理の過負荷が発生しても遅延を生じることなく制御演算処理を実行する制御演算装置を実現することにある。なお、本発明における通信は、たとえばEthernet(登録商標)におけるブロードキャストストームの例を想定している。
このような課題を達成するために、本発明は、
単一のCPUでI/Oに対する制御タスクと周辺装置との通信タスクを実行するように構成された制御演算装置において、
前記周辺装置との間の通信に伴う単位時間当たりの受信フレーム数を監視する受信制御タスクと、
前記制御タスクの中断回数のカウント結果に基づき前記受信制御タスクに動作を要求する制御タスク管理部、
を設けたことを特徴とする。
前記受信制御タスクは、受信フレーム数をカウントする受信フレームカウンタと、受信フレーム数の閾値を設定管理する閾値管理部と、前記受信フレーム数が前記閾値管理部で設定された閾値を超えた場合には前記受信フレームを所定の時間遮断するように制御する停止時間制御部、
とで構成されていてもよい。
前記受信フレームカウンタは、前記受信フレームの種類に応じて設けられていてもよい。
前記制御タスク管理部は、前記制御タスクの中断回数をカウントする中断カウンタと、前記中断回数の閾値を設定管理する閾値管理部と、前記制御タスクの演算処理時間を監視するウォッチドッグタイマ、
とで構成されていてもよい。
前記制御演算装置はプログラムコントローラであってもよい。
これら構成によれば、通信処理の過負荷が発生しても遅延を生じることなく制御演算処理を実行する制御演算装置を実現できる。
本発明の一実施例を示す構成説明図である。 図1の動作説明図である。 本発明の他の実施例を示す構成説明図である。 図3の動作説明図である。 図3の動作の流れを説明するフローチャートである。 従来から用いられているプログラムコントローラの一例を示す構成説明図である。 従来のプログラムコントローラの動作説明図である。 従来のプログラムコントローラの他の動作説明図である。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。図1は本発明の一実施例を示す構成説明図であり、図6と共通する部分には同一の符号を付けている。図1の構成では、図6の構成に新たな受信制御タスク11iを設けている。
受信制御タスク11iは、受信フレームカウンタ11jと、閾値管理部11kと、カウント値比較部11lと、停止時間制御部11mとで構成されている。
受信制御タスク11iは、単位時間当たりの受信フレーム数を、複数の通信デバイス121〜12nそれぞれについて監視する。通信タスク11cは受信割込みを受けてISR11gから起動された時に、受信フレームの種類に応じた受信フレームカウンタ11jのカウント値を、受信したフレーム分だけ増加させる。
受信制御タスク11iは所定の周期で起動され、受信フレームカウンタ11jのカウント値を前回起動時刻から今回起動時刻との差で除算することで、単位時間あたりの受信フレーム数を受信フレームの種類ごとに計算する。
カウント値比較部11lはこの単位時間あたり受信フレーム数を閾値管理部11kにより設定された所定の閾値と比較し、設定された所定の閾値よりも大きければ異常な通信トラフィックが発生していると判定する。
受信制御タスク11iは異常トラフィックを検出すると、直ちに受信した通信デバイスに対して急増した種類のフレームを遮断するように指示する。遮断指示は、停止時間制御部11mにより設定される所定の停止時間の間継続する。遮断開始時刻から設定された所定の停止時間が経過した後、受信制御タスク11iは受信遮断を指示した通信デバイスに対して受信再開を指示する。
なお、これらフレームの受信遮断や受信再開の指示は、たとえば閾値管理部11kや停止時間制御部11mが行うようにする。
また、これらフレームの受信遮断や受信再開の指示に連動してオペレータが識別可能な状態で選択的に駆動されるブザーやランプなどのアラーム手段を操作部14や表示部15に設けることにより、オペレータは通信トラフィックの現況を的確に把握できる。
図2は図1の動作説明図であり、(a)は制御タスクの実行状態を示し、(b)は通信タスクの実行状態を示し、(c)は単位時間(秒)当たりの受信フレーム数/秒を示し、(d)は受信制御タスクの動作状態を示している。
受信制御タスク11iは時刻t1において受信フレーム数の診断を行うが、異常がないため何もしない。受信制御タスク11iは所定の診断周期Tm経過後の時刻t2において再び起動されるが、ここでも受信フレーム数には異常がないため何もしない。
その後、受信回数が急増すると、それに伴って通信タスク11cが頻回に起動され、制御タスク11eの実行に割り込む。この通信タスク11cの割込みにより制御タスク11eは遅延する。
時刻t3において再び起動された受信制御タスク11iは受信フレーム数の異常を確認し、その受信フレームの種類に対応した通信デバイスに受信停止を指示する。その時点で受信割込みは抑制されて通信タスク11cの動作は止まり、制御タスク11eは通常通り制御周期内に所定の演算処理を完了することができる。
ところで、図1の構成では、受信制御タスク11iの診断周期間Tmで後続の制御周期Tcまで連続的に制御タスクを実行する制御タスク11eの遅延は回避できないという問題がある。
すなわち、図2において、(a)に示す制御タスク11eの実行状態に着目すると、時刻t2からt3の間の診断周期間Tmで後続の制御周期Tcまで連続的に制御タスクを実行する遅延が1回発生し、(b)の通信タスクの実行状態に着目すると、診断周期間Tmが切り替わる時刻t3まで通信処理実行の状態が連続している。
この問題は、図1の構成を図3に示すように改善することで解決できる。図3は本発明の他の実施例を示す構成説明図であって、図1と共通する部分には同一の符号を付けている。図3の構成では、図1の制御タスク管理部11dに、中断カウンタ11nと、中断カウンタ11nのカウント値に対する所定の閾値を設定する閾値管理部11oと、カウント値比較部11pが追加されている。
図4は図3の動作説明図であり、(a)は制御タスクの実行状態を示し、(b)は通信タスクの実行状態を示し、(c)は単位時間(秒)当たりの受信フレーム数/秒を示し、(d)は制御中断回数を示し、(e)は制御タスク管理部の動作状態を示し、(f)は受信制御タスクの動作状態を示している。
通信タスク11cの割込みによって制御タスク11eの動作実行は中断されるが、この時に通信タスク11cが制御タスク管理部11dの中断カウンタ11nのカウント値を増加させる。
カウント値比較部11pは中断カウンタ11nのカウント値と閾値管理部11oで設定された所定の閾値とを比較し、比較結果を通信タスク11cに出力する。通信タスク11cは、中断カウンタ11nのカウント値が閾値管理部11oで設定された所定の閾値を超えた時点で受信制御タスク11iに臨時診断を要求する。
図4において、時刻t1から時刻t2までの先行する診断周期Tmにおける動作は図2と同一である。時刻t2から始まる次の診断周期Tmにおいて受信フレーム数が急増し、それに伴って制御中断回数も急増する。通信タスク11cは受信割込み処理中の時刻t3に制御中断回数の急増を確認すると、受信制御タスク11iに臨時診断を要求する。
時刻t4で臨時診断要求を受けた受信制御タスク11iは臨時診断を実行して受信フレーム数の急増を確認し、これを異常トラフィックと判定して直ちに受信を停止する。
これにより、図3の構成によれば、時刻t2から始まる次の診断周期Tmの開始時刻t2から時間Ti(Tm>Ti)が経過した時刻t4において異常トラフィックを検出してフレームの受信を遮断できるので、図1に示す構成の動作と比べると、診断周期間Tmにおける制御タスク11eの遅延発生を回避できる。
図5は、図3の動作の流れを説明するフローチャートである。通信タスク11cは受信タスクに受信割込みを送信して受信処理を開始させ(ステップS1)、受信タスクは制御タスク管理部11dを呼び出して制御タスクの監視を開始させる(ステップS2)。
制御タスク管理部11dの中断カウンタ11nは動作中の制御タスクをカウントする(ステップS3)。制御タスク管理部11dは実行中の制御タスクの有無を監視し(ステップS4)、制御タスクが1つでも動作中ならば制御中断回数のカウント値を1回分増加させ(ステップS5)、制御タスクが1つも動いていなければ制御中断回数のカウント値を変更せずに監視動作を終了する(ステップS6)。
続いて、通信タスク11cは中断カウンタ11nの制御中断回数のカウント値を閾値管理部11oにより設定された所定の閾値と比較し、制御中断回数のカウント値について異常の有無を確認する(ステップS7)。中断カウンタ11nの制御中断回数のカウント値が所定の閾値よりも大きくなければ異常なしと判断して受信処理を行い(ステップS8)、一連の処理を終了する。
これに対し、中断カウンタ11nの制御中断回数のカウント値が所定の閾値よりも大きければ異常ありと判断して受信制御タスク11iを起動し、臨時診断を開始する(ステップS9)。
受信制御タスク11iは、単位時間当たりの受信フレーム数を所定の閾値と比較することにより、受信フレーム数の異常の有無を確認する(ステップS10)。単位時間当たりの受信フレーム数が所定の閾値より大きければ受信フレーム数に異常があると判断して受信停止処理を行い(ステップS11)、単位時間当たりの受信フレーム数が所定の閾値よりも小さければ何もしない。
いずれの場合も受信制御タスク11iは受信フレームカウンタ11jの受信フレーム数のカウント値と中断カウンタ11nの制御中断回数のカウント値を0にクリアして初期化した後(ステップS12)、ステップS8の受信処理に遷移して一連の処理を終了する。
なお、上記実施例では制御演算装置がプログラムコントローラの場合について説明したが、本発明は以下の各条件を満たしていれば汎用のコンピュータについても適用できる。
a)制御演算と通信デバイスからの割込み処理を単一のCPUで処理すること。
b)制御演算処理中であることが判定できること。
c)通信デバイスからの割込みを遮断および再開する手段を備えていること。
d)OSがプリエンプティブ(先取的)なスケジューリングを行うこと。
また、通信速度を動的に調整して通信負荷を抑制することにより、本発明と同様の効果が期待できる。
また、所定の周期で間欠的に異常通信トラフィック監視をするのではなく、WDTエラー発生時にのみ異常通信トラフィック監視を行うようにすることで、効率的な異常検知が行える。
以上説明したように、本発明によれば、通信処理の過負荷が発生しても遅延を生じることなく制御演算処理を実行することができ、プログラムコントローラなどの単一のCPUでI/Oに対する制御タスクと周辺装置との通信タスクを実行するように構成された制御演算装置として好適である。
10 プログラムコントローラ
11 CPU
11a OS
11b スケジューラ
11c 通信タスク
11d 制御タスク管理部
11e 制御タスク
11f HMIタスク
11g ISR(割込みサービスルーチン)
11h WDT(ウォッチドッグタイマ)
11i 受信制御タスク
11j 受信フレームカウンタ
11k 閾値管理部
11l カウント値比較部
11m 停止時間制御部
11n 中断カウンタ
11o 閾値管理部
11p カウント値比較部
121〜12n 通信デバイス
13 メモリ
14 操作部
15 表示部
20 I/O

Claims (5)

  1. 単一のCPUでI/Oに対する制御タスクと周辺装置との通信タスクを実行するように構成された制御演算装置において、
    前記周辺装置との間の通信に伴う単位時間当たりの受信フレーム数を監視する受信制御タスクと、
    前記制御タスクの中断回数のカウント結果に基づき前記受信制御タスクに動作を要求する制御タスク管理部、
    を設けたことを特徴とする制御演算装置。
  2. 前記受信制御タスクは、受信フレーム数をカウントする受信フレームカウンタと、受信フレーム数の閾値を設定管理する閾値管理部と、前記受信フレーム数が前記閾値管理部で設定された閾値を超えた場合には前記受信フレームを所定の時間遮断するように制御する停止時間制御部、
    とで構成されていることを特徴とする請求項1に記載の制御演算装置。
  3. 前記受信フレームカウンタは、前記受信フレームの種類に応じて設けられていることを特徴とする請求項に記載の制御演算装置。
  4. 前記制御タスク管理部は、前記制御タスクの中断回数をカウントする中断カウンタと、前記中断回数の閾値を設定管理する閾値管理部と、前記制御タスクの演算処理時間を監視するウォッチドッグタイマ、
    とで構成されていることを特徴とする請求項1から請求項3のいずれかに記載の制御演算装置。
  5. 前記制御演算装置はプログラムコントローラであることを特徴とする請求項1から請求項のいずれかに記載の制御演算装置。
JP2016043520A 2016-03-07 2016-03-07 制御演算装置 Active JP6731179B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016043520A JP6731179B2 (ja) 2016-03-07 2016-03-07 制御演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016043520A JP6731179B2 (ja) 2016-03-07 2016-03-07 制御演算装置

Publications (2)

Publication Number Publication Date
JP2017161994A JP2017161994A (ja) 2017-09-14
JP6731179B2 true JP6731179B2 (ja) 2020-07-29

Family

ID=59857863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016043520A Active JP6731179B2 (ja) 2016-03-07 2016-03-07 制御演算装置

Country Status (1)

Country Link
JP (1) JP6731179B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7020198B2 (ja) 2018-03-09 2022-02-16 オムロン株式会社 制御装置および制御システム
JP7231073B2 (ja) * 2018-03-09 2023-03-01 オムロン株式会社 制御装置および制御システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03282903A (ja) * 1990-03-30 1991-12-13 Omron Corp プログラマブルコントローラの通信システムに於けるタスク制御方法
JPH08265364A (ja) * 1995-03-28 1996-10-11 Nec Eng Ltd 輻輳制御システム
CN1732650A (zh) * 2002-12-26 2006-02-08 松下电器产业株式会社 网络终端装置、通信超负荷避免方法及程序
JP2007195131A (ja) * 2005-12-19 2007-08-02 Mitsubishi Heavy Ind Ltd 制御装置及び通信プログラム

Also Published As

Publication number Publication date
JP2017161994A (ja) 2017-09-14

Similar Documents

Publication Publication Date Title
EP2983086A1 (en) System fault detection and processing method, device, and computer readable storage medium
EP2733611A1 (en) Internal fault handling method, device and system for virtual machine
US8032679B2 (en) Device and method for controlling network processing mode, and non-transitory computer-readable medium recording program for controlling network processing mode
JP6731179B2 (ja) 制御演算装置
CN109558227B (zh) 一种基于任务执行预算的单调速率任务调度方法
CN110262920B (zh) Linux系统外置看门狗间接喂狗方法、看门狗喂狗代理驱动模块、看门狗系统
JP2019153144A (ja) 制御装置、システムプログラム、制御方法
CN111143099A (zh) 一种bmc进程监控方法及装置
US10613495B2 (en) Motor drive system, motor control system, and self-propelled robot
US6910133B1 (en) Reflected interrupt for hardware-based encryption
CN116887418B (zh) Epa网络中对高优先级消息进行调度的方法、设备和介质
JP5771114B2 (ja) コントローラ、およびタスクとラダーの処理方法
US9335754B2 (en) Method for testing the real-time capability of an operating system
JP2008225807A (ja) 制御装置およびそのプログラム暴走監視方法
EP2490100B1 (en) Suspendable interrupts for processor idle management
CN107145402B (zh) 一种检测软件宕机的方法和电子设备
JP5428416B2 (ja) マルチタスク処理装置及び方法、並びにプログラム
JP2006227962A (ja) アプリケーションタスク監視システムおよび方法
JP3859564B2 (ja) イベント通知タスク制御処理方式及び方法並びにプログラム
CN108600044B (zh) 一种接口状态获取方法、装置及设备
US7689689B2 (en) Protection of industrial equipment from network storms emanating from a network system
JPH10269110A (ja) 計算機システムのハングアップ回避方法並びにこの方法を用いた計算機システム。
JPS5920061A (ja) ウオツチ・ドツグ・タイマ
JPH11282725A (ja) 計算機
JP4877317B2 (ja) 情報処理装置、割り込み制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200618

R150 Certificate of patent or registration of utility model

Ref document number: 6731179

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150