JP6870234B2 - 制御装置、制御システム及び制御方法 - Google Patents

制御装置、制御システム及び制御方法 Download PDF

Info

Publication number
JP6870234B2
JP6870234B2 JP2016152243A JP2016152243A JP6870234B2 JP 6870234 B2 JP6870234 B2 JP 6870234B2 JP 2016152243 A JP2016152243 A JP 2016152243A JP 2016152243 A JP2016152243 A JP 2016152243A JP 6870234 B2 JP6870234 B2 JP 6870234B2
Authority
JP
Japan
Prior art keywords
control
event
period
controlled device
program
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
JP2016152243A
Other languages
English (en)
Other versions
JP2018022288A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2016152243A priority Critical patent/JP6870234B2/ja
Publication of JP2018022288A publication Critical patent/JP2018022288A/ja
Application granted granted Critical
Publication of JP6870234B2 publication Critical patent/JP6870234B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

本発明は、制御装置、制御システム及び制御方法に関する。
各アナログ入力信号を第1の所定周期毎に収集してタイムスタンプを付してサンプリングデータとして格納する制御装置が知られている(例えば特許文献1参照)。
特許文献1 特開2008−204166号公報
従来、制御プログラムが被制御機器を制御する周期より短い周期で被制御機器の制御に関するイベントを検出できないという課題があった。
第1の態様において、制御装置は、制御プログラムに従って第1の周期で被制御機器を制御し、第1の周期より短い第2の周期で、被制御機器の制御に関するイベントを検出する制御部を備える。
制御部は、制御プログラムに従って、被制御機器に対する制御データを生成し、制御装置は、第1の周期で制御データを被制御機器へ出力する出力部をさらに備えてよい。
制御部は、2個以上のN個のタクト毎に被制御機器を制御し、N個より少ないM個のタクト毎にイベントを検出してよい。
制御部は、1個のタクト毎に、イベントを検出してよい。
制御部は、第1の周期より短い第2の周期で、制御プログラムとは異なるシステムプログラムに従って、イベントを検出してよい。
各タクトにおいて、制御部が制御プログラムを実行する第1の期間と、制御部がシステムプログラムを実行する第2の期間とが定められており、制御部は、システムプログラムに従って、1つのタクトにおける第2の期間内で、イベントを検出してよい。
制御部がシステムプログラムに従って実行する処理は、制御プログラムのタスクの実行をスケジューリングする処理、被制御機器からの入力データをIOメモリに記憶する処理、制御プログラムを実行することにより生成された被制御機器に対する制御データを被制御機器へ出力するための処理、及び、外部の監視装置との間でメッセージを送受信するための処理のうちの少なくとも1つを含んでよい。
イベントを検出するための検出条件を記憶する検出条件記憶部と、外部の監視装置から、検出条件に対して更新、追加又は削除を指示するメッセージを受信する受信部とをさらに備え、制御部は、制御プログラムを稼働させたまま、受信部が受信したメッセージに従って、検出条件記憶部に記憶されている検出条件を更新、追加又は削除してよい。
制御部は、第1の周期より短い周期で、制御プログラムが演算に用いる変数を検証することによって、前記イベントを検出してよい。
制御部は、第1の周期より短い周期で被制御機器からの入力データを取得し、制御部は、第2の周期で入力データを検証することによって、イベントを検出してよい。
第2の周期で検出されたイベントを、外部の監視装置に送信する送信部をさらに備えてよい。
第2の態様において、制御システムは、上記の制御装置と、監視装置とを備え、制御装置は、第2の周期で検出されたイベントを、監視装置に送信する。
第3の態様において、制御システムは、上記の制御装置と、制御装置による制御に従って、被制御機器との間でデータの入出力を行う入出力装置とを備える。
第4の態様において、制御方法は、制御プログラムに従って第1の周期で被制御機器を制御する段階と、第1の周期より短い第2の周期で、被制御機器の制御に関するイベントを検出する段階とを備える。
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
一実施形態における制御システム10の概略的な構成を示す。 CPUモジュール100の機能構成を概略的に示す。 監視装置20において設定される検出条件データの一例を示す。 制御部200において行うイベント検出処理を概略的に示す。 制御部200が実行する処理のタイムシーケンスを示す。 制御部200がイベントを検出する処理のフローチャートを示す。 監視装置20が表示するイベント一覧情報を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、一実施形態における制御システム10の概略的な構成を示す。制御システム10は、監視装置20と、CPUモジュール100と、IOモジュール120a及びIOモジュール120bと、被制御機器40a、被制御機器40b及び被制御機器40cとを備える。
本実施形態において、IOモジュール120a及びIOモジュール120bを、IOモジュール120と総称する場合がある。また、被制御機器40a、被制御機器40b及び被制御機器40cを、被制御機器40と総称する場合がある。CPUモジュール100は、制御装置の一例である。IOモジュール120は、CPUモジュール100による制御に従って、被制御機器40との間でデータの入出力を行う入出力装置の一例である。
監視装置20は、パーソナルコンピュータ等のコンピュータにより実現される。監視装置20は、ネットワークを通じてCPUモジュール100と通信する。CPUモジュール100は、ネットワーク又はバスを通じて、IOモジュール120a及びIOモジュール120bと通信する。IOモジュール120aは、被制御機器40aに接続される。IOモジュール120aは、被制御機器40aとの間のデータの入出力を担う。IOモジュール120bは、被制御機器40b及び被制御機器40cに接続される。IOモジュール120bは、被制御機器40b及び被制御機器40cのそれぞれのとの間のデータの入出力を担う。なお、CPUモジュール100の数、IOモジュール120の数、及び、被制御機器40の数は、本実施形態に示される数に限定されない。
制御システム10は、工場やプラント等の産業施設において用いられてよい。制御システム10は、ファクトリーオートメーションの少なくとも一部として用いられてよい。監視装置20、CPUモジュール100及びIOモジュール120は、産業用制御システムであってよい。被制御機器40は、監視装置20、CPUモジュール100及びIOモジュール120による制御対象となる機器である。被制御機器40は、モータ、エンコーダ、ポンプ、バルブ、カメラ、各種センサ等であってよい。被制御機器40は、例えば産業機械であってよい。CPUモジュール100及びIOモジュール120は、それぞれプログラマブルロジックコントローラ(PLC)であってよい。
監視装置20は、制御システム10の監視制御をする。監視装置20は、CPUモジュール100との間でメッセージを送受信することにより、制御システム10を監視制御する。監視装置20は、CPUモジュール100からステータス情報を読み出し、制御システム10が制御する工程に従って、CPUモジュール100に各種の制御指示を出力する。また、監視装置20は、イベント設定ツールとして機能する。例えば、監視装置20は、ユーザからの支持に基づいて、制御システム10におけるイベントの検出条件を設定する。監視装置20は、ユーザからの指示に基づいて、イベントの検出条件の追加、更新又は削除をする。
IOモジュール120は、被制御機器40の状態を示す情報や、被制御機器40が計測した結果を示す情報等のデータを、監視データとして被制御機器40から取得する。IOモジュール120は、被制御機器40から入力された監視データを、CPUモジュール100に出力する。なお、監視データは、被制御機器40からの入力データの一例である。
CPUモジュール100は、ラダー図等を通じて生成されたシーケンス制御のための制御アプリケーションプログラムを有する。制御アプリケーションプログラムは、被制御機器40を制御するための制御プログラムの一例である。CPUモジュール100は、監視装置20から取得したメッセージと、IOモジュール120を通じて取得した監視データとに基づいて、被制御機器40への制御データを生成して、IOモジュール120に出力する。IOモジュール120は、CPUモジュール100から取得した制御データに基づいて、被制御機器40に制御信号を出力する。
図2は、CPUモジュール100の機能構成を概略的に示す。CPUモジュール100は、制御部200と、IOメモリ部220と、制御用変数メモリ部230と、入出力部240と、イベントログメモリ部280と、イベント設定メモリ部282と、通信部270と、バス290とを備える。
制御部200は、IOメモリ部220、入出力部240、制御用変数メモリ部230、イベントログメモリ部280、イベント設定メモリ部282、通信部270と、バス290を通じて接続される。制御部200、IOメモリ部220、入出力部240、制御用変数メモリ部230、イベントログメモリ部280、イベント設定メモリ部282、通信部270は、バス290を通じて互いにデータを送受信する。
制御部200は、プロセッサであってよい。制御部200は、マイクロコントローラであってよい。制御部200は、中央処理装置(CPU)、ROM、RAM等を含む半導体集積回路で構成される。制御部200のROMは、システムプログラム及び制御アプリケーションプログラムを格納する。CPUモジュール100は、システムプログラムが制御部200のROMに書き込まれた状態で出荷される。
制御アプリケーションプログラムは、制御システム10のユーザによって提供される。制御アプリケーションプログラムは、CPUモジュール100が被制御機器40を制御する動作を停止している場合に、監視装置20からCPUモジュール100に提供されて、制御部200のROMに書き込まれる。CPUモジュール100が起動すると、制御部200はブート処理中に、ROMに書き込まれたシステムプログラム及び制御アプリケーションプログラムをロードする。これにより、制御アプリケーションプログラムのタスクが稼働する。
制御部200は、CPUモジュール100における主処理を担う。例えば、制御部200は、制御アプリケーションプログラムに従って、IOモジュール120から取得した監視データの処理や、監視データに基づいてIOモジュール120に対する制御データを生成する処理を行う。また、制御部200は、システムプログラムに従って、実行するべき制御アプリケーションプログラムのタスクを決定する処理、被制御機器40からの監視データをIOメモリ部220に記憶する処理、制御アプリケーションプログラムを実行することにより生成された被制御機器40に対する制御データを被制御機器40へ出力するための処理、及び、監視装置20との間でメッセージを送受信するための処理を行う。
入出力部240は、IOモジュール120との間のデータの入出力を担う。入出力部240は、IOモジュール120から監視データを取得し、IOモジュール120に制御データを出力する。IOメモリ部220は、被制御機器40との間のIOデータを格納する。例えば、IOメモリ部220は、入出力部240が取得した監視データを格納する。また、IOメモリ部220は、IOモジュール120に出力される制御データを格納する。
制御用変数メモリ部230は、制御アプリケーションプログラムが演算に用いる変数である制御用変数を格納する。制御部200は、制御アプリケーションプログラムに従って、制御用変数メモリ部230に格納された制御用変数を用いて処理を行う。制御用変数は、制御アプリケーションプログラムの動作パラメータを定める変数であってよい。制御用変数は、制御アプリケーションプログラムの状態等を表す変数であってよい。制御部200は、制御アプリケーションプログラムに従って動作して、制御用変数メモリ部230に格納されている制御用変数を更新してよい。
制御部200は、IOメモリ部220に格納されている監視データを読み出す。制御部200は、制御アプリケーションプログラムに従って、監視データに基づいて制御データを生成する。制御部200は、生成した制御データを、IOメモリ部220に格納する。入出力部240は、IOメモリ部220に格納された制御データをIOモジュール120に出力する。
通信部270は、監視装置20との通信を担う。通信部270は、監視装置20からのメッセージを受信して、受信したメッセージを制御部200に出力する。また、通信部270は、監視装置20へのメッセージを制御部200から受信して、受信したメッセージを監視装置20に送信する。制御部200が監視装置20に送信するメッセージは、被制御機器40の制御に関するイベントを示す情報を含む。
IOメモリ部220及び制御用変数メモリ部230は、揮発性のメモリであってよい。IOメモリ部220及び制御用変数メモリ部230は、SRAM等であってよい。IOメモリ部220及び制御用変数メモリ部230は、別個のメモリであってよい。
イベント設定メモリ部282は、被制御機器40の制御に関するイベントを検出するための検出条件を格納する。イベント設定メモリ部282は、フラッシュメモリ等の不揮発性メモリである。検出条件は、監視装置20から提供されて、イベント設定メモリ部282に格納される。制御部200は、CPUモジュール100が稼働中であっても、イベント設定メモリ部282に格納されているデータを変更することができる。
検出条件は、制御用変数についての検出条件、監視データについての検出条件、制御データについての検出条件を含む。制御部200は、制御用変数が検出条件を満たす場合に、イベントを検出する。また、制御部200は、イベントログメモリ部280から検出条件を読み出して、監視データが検出条件を満たす場合に、イベントを検出する。また、制御部200は、制御データが検出条件を満たす場合に、イベントを検出する。検出条件は、監視データ、制御データ及び制御用変数のうちの2つ以上を含んでよい。
イベントログメモリ部280は、制御部200が検出したイベントのログデータを格納する。イベントログメモリ部280は、SRAM等の揮発性メモリであってよい。通信部270は、制御部200により検出されたイベントを、監視装置20に送信してよい。制御部200は、イベントログメモリ部280に格納されているイベントログデータを読み出して、読み出したイベントログデータを、通信部270を通じて監視装置20に送信してよい。制御部200は、監視装置20に送信したイベントログデータを、イベントログメモリ部280から削除してよい。
制御部200は、制御アプリケーションプログラムに従って第1の周期で被制御機器40を制御し、第1の周期より短い第2の周期で、被制御機器40の制御に関するイベントを検出する。例えば、制御部200は、第1の周期より短い周期で、制御用変数を検証することによって、前記イベントを検出してよい。また、制御部200は、第1の周期より短い周期で被制御機器40からの監視データを取得し、第2の周期で監視データを検証することによって、イベントを検出してよい。また、制御部200は、制御アプリケーションプログラムに従って、被制御機器40に対する制御データを生成し、入出力部240は、第1の周期で制御データを被制御機器40へ出力する。そのため、制御アプリケーションプログラムによる制御周期である第1の周期の経過を待つことなく、イベントを検出することができる。これにより、よりリアルタイムにイベントを検出することができる。
また、制御部200は、第1の周期より短い第2の周期で、制御アプリケーションプログラムとは異なるシステムプログラムに従って、イベントを検出する。制御部200は、制御アプリケーションプログラムではなく、システムプログラムに従って、イベントを検出するので、アプリケーションプログラムをROMに再ロードしなくても、イベントの検出条件を変更することができる。また、アプリケーションプログラムが稼働させた状態で、イベントの検出条件を変更することができる。
図3は、監視装置20において設定される検出条件データの一例を示す。検出条件データは、イベント番号、イベント名、検出条件、有効/無効、レベル、種別、対応手段及び場所の情報を含む。監視装置20は、ユーザが編集可能なように、検出条件データをテーブル形式で表示する。
「イベント番号」は、イベントを識別する値である。「イベント名」は、イベントに付与される名前を示す。「検出条件」は、1つ又は複数の評価式を含む検出条件を文字列で記したものである。例えば、検出条件は、1つ又は複数の等式又は不等式を含む。
図示されるように、イベントの検出条件は、イベント検出用変数を用いた1以上の評価式で設定される。イベント番号1〜3に示す検出条件は、単一のイベント検出用変数を用いた単一の評価式で表される。イベント番号4〜5に示す検出条件は、複数のイベント検出用変数を用いた複数の評価式で表される。各評価式の評価結果は、論理値TRUE又はFALSEとなる。
例えば、イベント番号1の検出条件は、「Var01=FALSE」という評価式を1つ含む。この検出条件は、Var01の値がFALSEである場合に、イベント名「イベントA」のイベントが生じていることを示す。なお、Var01は、イベントを検出するためのイベント検出用変数であり、IOメモリ部220に格納された監視データ、IOメモリ部220に格納された制御データ、又は、制御用変数メモリ部230に格納されている制御用変数のいずれかを示す。イベント設定メモリ部282には、イベント検出用変数の値がIOメモリ部220又は制御用変数メモリ部230のどのアドレスに格納されているかを示すアドレス情報が格納されている。制御部200は、当該アドレス情報を参照して、検出条件に含まれる評価式を評価する。
また、イベント番号4の検出条件は、ANDで結合される「Var01=FALSE」の項と「Var02>1000」の項の2つの評価式を含む。この検出条件は、イベント検出用Var01の値がFALSEであり、かつ、イベント検出用Var02が1000より大きい場合に、イベント名「イベントC」のイベントが生じていることを示す。
「有効/無効」は、検索条件が有効であるか無効であるかを示す。「有効/無効」に有効を示す値が設定されている場合、対応するイベントの検出を行うことを示す。「有効/無効」に無効を示す値が設定されている場合、対応するイベントの検出を行わないことを示す。
「レベル」は、対応するイベントの重要度を示す。Hiは、対応するイベントの重要度が高いことを示す。Lowは、対応するイベントの重要度が低いことを示す。
「種別」は、イベントの種別を示す。Sysは、システムに関するイベントであることを示す。例えば、CPUモジュール100におけるプログラムの処理に関するイベントであることを示す。Machineは、被制御機器に関するイベントであることを示す。Moduleは、CPUモジュール100又はIOモジュール120に関するイベントであることを示す。
「対応手段」は、イベントへの対処方法を示す。「場所」は、イベントに対応づけられた場所を示す。例えば、「場所」は、対応するイベントが生じる原因となった被制御機器40が設けられた場所を示してよい。なお、「レベル」、「種別」、「対応手段」及び「場所」は、対応するイベントが検出された場合にユーザに通知されてよい。
図4は、制御部200において行うイベント検出処理を概略的に示す。
IOメモリ部220には、監視データ及び制御データの今回値が格納されている。制御用変数メモリ部230には、制御用変数の今回値が格納されている。制御部200のRAMには、監視データ、制御データ及び制御用変数の前回値が格納されている。制御部200は、検出条件に含まれる変数の前回値と今回値とを比較する処理430を行う。制御部200は、処理430によって今回値が前回値と異なる場合、今回値について条件式を評価する処理440を行う。
制御部200は、処理440において、検出条件に含まれる条件式に今回値を適用して、条件式を評価する。条件式の評価結果が、偽(FALSE)から真(TRUE)に変化した場合、制御部200は、イベント番号及び時刻を含むイベントログ情報450を生成して、イベントログメモリ部280に格納する。また、制御部200は、評価結果が真(TRUE)から偽(FALSE)に変化した場合も、イベントログ450を生成して、制御部200内のRAM又はイベントログメモリ部280に格納する。
図5は、制御部200が実行する処理のタイムシーケンスを示す。制御部200は、タクト周期で処理を実行する。タクト周期は、例えば1ms〜10msの間で設定することができる。制御周期は、制御アプリケーションプログラムを実行することにより生成されるタスクの制御周期である。タスクの制御周期は、例えば10ms〜200msの範囲内で設定することができる。制御周期及びタクト周期は、これらの値に限られない。
図5において、「SYS」で示される期間は、制御部200がシステムプログラムを実行する期間である。この期間を、「システム実行期間」と呼ぶ。「APL」で示される期間は、制御部200が制御アプリケーションプログラムを実行する期間である。この期間を、「アプリケーション実行期間」と呼ぶ。1タクトは、第1のシステム実行期間と、第1のシステム実行期間に続くアプリケーション実行期間と、アプリケーション実行期間に続く第2のシステム実行期間とを含んで構成される。なお、1タクト内におけるシステム実行期間及びアプリケーション実行期間の長さは、設定によって変更することができる。
制御部200は、第1のシステム実行期間及び第2のシステム実行期間の少なくとも一方において、制御アプリケーションプログラムで定められるタスクの実行スケジュールを決定する。制御部200は、各タスクの優先順位と、各タスクの制御周期とに基づいて、制御アプリケーションプログラムのタスクの実行をスケジューリングしてよい。このように、制御部200がシステムプログラムに従って実行する処理は、制御アプリケーションプログラムのタスクをスケジューリングする処理を含む。
図5は、特定のタスクに着目したタイムシーケンスを示している。このタスクの制御周期は、N個のタクト周期に相当するものとする。分かり易く説明するために、このタスクを開始したタクトを第1タクトと呼び、当該タスクが終了するタクトを第Nタクトとする。
制御部200は、第1のシステム実行期間において、被制御機器40からの監視データをIOメモリ部220に記憶する処理を行う。例えば、制御部200は、入出力部240を制御して、IOモジュール120が取得した監視データをIOモジュール120から取得して、IOメモリ部220に記憶する。このように、制御部200がシステムプログラムに従って実行する処理は、被制御機器40からの監視データをIOメモリ部220に記憶する処理を含む。
制御部200は、アプリケーション実行期間において、制御アプリケーションプログラムを実行することにより、スケジューリングしたタスクを実行する。制御部200は、制御アプリケーションプログラムに従って、監視データや制御用変数を用いて、対象とする被制御機器40の制御データを生成するための演算を行う。
アプリケーション実行期間に続く第2のシステム実行期間において、制御部200は、イベントの検出を行う。具体的には、図4に関連して説明したように、検出条件の条件式に今回値を適用して条件式を評価することにより、イベントの検出を行う。なお、イベント検出処理の具体的なフローチャートは、図6に関連して説明する。
第2のシステム実行期間において、制御部200は、イベント検出の処理に続いて、監視装置20に対するメッセージに関する処理を実行する。例えば、検出されたイベントを監視装置20にメッセージで通知する処理を行う。このように、制御部200がシステムプログラムに従って実行する処理は、外部の監視装置20との間でメッセージを送受信するための処理を含む。
制御部200は、各タクト周期においても同様の処理を繰り返す。第Nタクトにおけるアプリケーション実行期間においてタスクが終了すると、制御部200は、第Nタクトにおけるシステム実行期間において、IOメモリ部220に格納されている制御データを、入出力部240からIOモジュール120へと出力させる。このように、1つのタスクは、複数のタクトにわたる期間内で実行される。1つのタスクが開始してから終了するまでの制御周期毎に、制御データが生成されて、IOモジュール120へ出力される。このように、制御部200がシステムプログラムに従って実行する処理は、制御アプリケーションプログラムを実行することにより生成された被制御機器40に対する制御データを、被制御機器40へ出力するための処理を含む。すなわち、制御部200がシステムプログラムに従って実行する処理は、IOリフレッシュ処理を含む。
これに対し、制御部200は、1タスク毎にイベントを検出するので、タスクの制御周期を待つことなく、イベントを検出できる。そのため、よりリアルタイムに近い時間間隔で故障やエラー等のイベントを検出できる。例えば、1つの故障やエラーが原因で多数の故障やエラーが連鎖的に生じた場合において、タスクの制御周期でイベントを検出していると、どの故障やエラーが最初の原因であったかを全く特定できない場合がある。しかし、制御部200が1タスク毎にイベントを検出するので、どの故障やエラーが最初の原因であったかを容易に特定できる場合がある。また、制御部200によれば、タスクの制御周期内で一旦生じたエラーが復帰したことを検出することができる。
なお、通信部270は、監視装置20から、検出条件に対して更新、追加又は削除を指示するメッセージを受信する。制御部200は、通信部270がメッセージを受信した場合、制御アプリケーションプログラムを稼働させたまま、システムプログラムに従って、イベント設定メモリ部282に記憶されている検出条件を更新、追加又は削除してよい。制御部200は、検出条件を更新、追加又は削除する処理を、システム実行期間において実行する。すなわち、制御部200は、システムプログラムに従って、検出条件を更新、追加又は削除する処理を実行する。イベントの検出をシステムプログラムが行うので、制御アプリケーションプログラムが稼働した状態で、検索条件の更新、追加又は削除を行うことができる。
ここで、制御アプリケーションプログラムを稼働した状態とは、制御アプリケーションを制御部200のRAMにロードした状態を意味してよい。すなわち、制御アプリケーションを制御部200のRAMにロードした状態で、検索条件の更新、追加又は削除を行うことができる。このように、検索条件を設定するために制御アプリケーションプログラムを変更する必要がないので、制御アプリケーションプログラムを再ロードする必要がない。したがって、検索条件を設定するために制御アプリケーションプログラムにバグが入り込んだり、制御アプリケーションプログラムの変更ミスが生じたりすることがない。
以上、図5に関連して説明したように、各タクトにおいて、制御部200が制御アプリケーションプログラムを実行する第1の期間と、制御部200がシステムプログラムを実行する第2の期間とが定められている。そして、制御部200は、システムプログラムに従って、1つのタクトにおける第2の期間内で、イベントを検出する。
なお、図5に示す例において、Nは2以上の整数であってよい。すなわち、制御部200は、2個以上のN個のタクト毎に被制御機器40を制御してよい。図5の例では、制御部200が1個のタクト毎にイベントを検出するが、制御部200は、N個より少ないM個のタクト毎にイベントを検出してよい。
図6は、制御部200がイベントを検出する処理のフローチャートを示す。S600において、制御部200は、現在の日時情報を取得する。続いて、S602からS626におけるイベント検出のループ処理を行う。このループ処理では、ループ毎にイベントの検出条件を選択する。
S604において、制御部200は、選択した検出条件が有効に設定されているか否かを判断する。制御部200は、検出条件の「有効/無効」の情報を参照して、S604の判断を行う。検出条件が無効の場合、「イベント検出」のループ処理における次の検索条件に進む。検出条件が有効の場合、S606に進む。
S606において、制御部200は、検索条件に用いられている全変数の今回値が、前回値から変化しているか否かを判断する。全変数の今回値が前回値から変化していない場合、「イベント検出」のループ処理における次の検索条件に進む。少なくとも1つの変数の今回値が前回値から変化している場合、S608に進む。
S608において、制御部200は、検索条件の条件式に含まれる各項の数を取得する。具体的には、制御部200は、ANDで結合された各項の数を取得する。続いて、S610からS614における、条件式の項の評価のループ処理を行う。このループ処理では、ループ毎に条件式の次の項を選択する。
S612において、項の評価式が真か否かを判断する。項の評価式が偽の場合、「条件式の項の評価」のループ処理を終了する。項の評価式が真の場合は、「条件式の項の評価」のループ処理における次の項を選択する。
S610からS614のループ処理が終了すると、S620において、イベントステータスを更新する。なお、S612において評価式が偽と判断された項が存在する場合は、イベントが生じていないと判断する。S612において全ての項の評価式が真と判断された場合は、イベントが生じていると判断する。
続いて、S622においてイベントステータスが変更されたか否かを判断する。イベントステータスが変更されていない場合は、「イベント検出」のループ処理における次の検索条件に進む。イベントステータスが変更されている場合は、S624において、イベントログデータを生成する。イベントログデータは、イベント番号と、S600で取得した日時とを含む。そして、「イベント検出」のループ処理における次の検索条件に進む。
図7は、監視装置20が表示するイベント一覧情報を示す。監視装置20は、CPUモジュール100から、イベントログデータをメッセージで受信する。監視装置20は、設定したイベントログデータを、テーブル形式で一覧表示する。監視装置20は、イベントログを、検出条件で設定されている「場所」、検出条件で設定される「対応手段」の情報を含んで表示する。監視装置20は、検出条件で設定されている「レベル」や「重要度」の値に応じて、対応するイベントの行を色等で強調表示してよい。
以上に説明したように、制御システム10によれば、よりリアルタイムに近い頻度でイベント検出を行うことができる。また、制御アプリケーションプログラムが用いる変数等に基づくイベント検出を、システムプログラムの実行時間で行うので、制御アプリケーションプログラムを変更せずに、検出条件を設定することが容易になる。
なお、一実施形態における制御システム10は、制御装置としてPLCを用いたPLCシステムである。他の形態において、制御システムは、分散制御システム(DCS)であり得る。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10 制御システム
20 監視装置
40 被制御機器
100 CPUモジュール
120 IOモジュール
200 制御部
220 IOメモリ部
230 制御用変数メモリ部
240 入出力部
270 通信部
280 イベントログメモリ部
282 イベント設定メモリ部
290 バス
430 処理
440 処理
450 イベントログ情報

Claims (9)

  1. 制御プログラムに従って第1の周期で被制御機器を制御し、前記第1の周期より短い第2の周期で、前記被制御機器の制御に関するイベントを検出する制御部
    を備え、
    各タクトにおいて、前記制御部が前記制御プログラムを実行する第1の期間と、前記制御部がシステムプログラムを実行する第2の期間とが定められており、
    前記第2の期間は、第1のシステム実行期間と、第2のシステム実行期間とを含み、
    前記第1の期間は、前記第1のシステム実行期間に続く期間であり、
    前記第2のシステム実行期間は、前記第1の期間に続く期間であり、
    前記制御部は、前記システムプログラムに従って、前記第1のシステム実行期間内で、前記被制御機器からの入力データをIOメモリに記憶する処理を行い、前記第2のシステム実行期間内で、前記イベントを検出する
    制御装置。
  2. 前記制御部は、2個以上のN個のタクト毎に前記被制御機器を制御し、
    前記制御部は、前記システムプログラムに従って、N個目のタクトの前記第2のシステム実行期間内で、前記制御プログラムを実行することにより生成された前記被制御機器に対する制御データを前記被制御機器へ出力するための処理を実行する
    請求項に記載の制御装置。
  3. 前記イベントを検出するための検出条件を記憶する検出条件記憶部と、
    外部の監視装置から、前記検出条件に対して更新、追加又は削除を指示するメッセージを受信する受信部と
    をさらに備え、
    前記制御部は、前記受信部が前記メッセージを受信した場合に、前記制御プログラムを稼働させたまま、前記システムプログラムに従って前記検出条件記憶部に記憶されている検出条件を更新、追加又は削除する
    請求項1又は2に記載の制御装置。
  4. 前記制御部は、前記第1の周期より短い周期で、前記制御プログラムが演算に用いる変数を検証することによって、前記イベントを検出する
    請求項1からのいずれか一項に記載の制御装置。
  5. 前記第2の周期で検出された前記イベントを、外部の監視装置に送信する送信部
    をさらに備える請求項1からのいずれか一項に記載の制御装置。
  6. 前記制御部は、前記制御プログラムに従って、前記被制御機器に対する制御データを生成し、
    前記制御装置は、
    前記第1の周期で前記制御データを前記被制御機器へ出力する出力部
    をさらに備える請求項1から5のいずれか一項に記載の制御装置。
  7. 請求項1からのいずれか一項に記載の制御装置と、
    監視装置と
    を備え、
    前記制御装置は、前記第2の周期で検出された前記イベントを、前記監視装置に送信する
    制御システム。
  8. 請求項1からのいずれか一項に記載の制御装置と、
    前記制御装置による制御に従って、前記被制御機器との間でデータの入出力を行う入出力装置と
    を備える制御システム。
  9. 制御方法であって、
    制御プログラムに従って第1の周期で被制御機器を制御する段階と、
    前記第1の周期より短い第2の周期で、前記被制御機器の制御に関するイベントを検出する段階と
    を備え、
    各タクトにおいて、前記制御プログラムが実行される第1の期間と、システムプログラムが実行される第2の期間とが定められており、
    前記第2の期間は、第1のシステム実行期間と、第2のシステム実行期間とを含み、
    前記第1の期間は、前記第1のシステム実行期間に続く期間であり、
    前記第2のシステム実行期間は、前記第1の期間に続く期間であり、
    前記制御方法は、
    前記システムプログラムに従って、前記第1のシステム実行期間内で、前記被制御機器からの入力データをIOメモリに記憶する処理を行う段階
    をさらに備え、
    前記被制御機器の制御に関するイベントを検出する段階は、前記システムプログラムに従って、前記第2のシステム実行期間内で、前記イベントを検出する
    制御方法。
JP2016152243A 2016-08-02 2016-08-02 制御装置、制御システム及び制御方法 Active JP6870234B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016152243A JP6870234B2 (ja) 2016-08-02 2016-08-02 制御装置、制御システム及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016152243A JP6870234B2 (ja) 2016-08-02 2016-08-02 制御装置、制御システム及び制御方法

Publications (2)

Publication Number Publication Date
JP2018022288A JP2018022288A (ja) 2018-02-08
JP6870234B2 true JP6870234B2 (ja) 2021-05-12

Family

ID=61165675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016152243A Active JP6870234B2 (ja) 2016-08-02 2016-08-02 制御装置、制御システム及び制御方法

Country Status (1)

Country Link
JP (1) JP6870234B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102132857B1 (ko) * 2018-05-03 2020-07-10 엘에스일렉트릭(주) Plc의 모터 구동 제어 방법
WO2020079720A1 (ja) 2018-10-15 2020-04-23 三菱電機株式会社 プログラマブルロジックコントローラ、外部機器、方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07120176B2 (ja) * 1987-07-09 1995-12-20 株式会社アマダメトレックス プログラマブルコントロ−ラ
JP3369470B2 (ja) * 1998-05-28 2003-01-20 三菱電機株式会社 サーボシステムコントローラ
JP4811260B2 (ja) * 2006-12-11 2011-11-09 富士電機株式会社 プログラマブルコントローラ、及びその支援装置
JP5318745B2 (ja) * 2009-12-25 2013-10-16 株式会社日立産機システム プログラマブルコントローラ
JP5845629B2 (ja) * 2011-05-24 2016-01-20 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体

Also Published As

Publication number Publication date
JP2018022288A (ja) 2018-02-08

Similar Documents

Publication Publication Date Title
US11513506B2 (en) Configuring an industrial automation system for internet-of-things accessibility
JP2020091924A (ja) フィールド計装装置からの診断データのバックグラウンド収集
CN110062918B (zh) 在云端网关中进行软件更新的方法、执行该方法的计算机程序和实施该方法的处理单元
US20190188110A1 (en) Industrial control system, and assistance apparatus, control assist method, and program thereof
KR101178186B1 (ko) Pc 기반 시스템에서 피엘씨 신호 패턴을 이용하여 다수의 설비로 구성된 자동화 라인의 비정상 상태 알람 방법.
JP2018159981A (ja) 制御システム、制御装置、制御プログラム、および制御方法
EP3151071B1 (en) System for updating a control program while actively controlling an industrial process
US20170262340A1 (en) Relay device, control method of relay device, control program and recording medium
KR101657928B1 (ko) 프로그래머블 로직 컨트롤러
JP6139386B2 (ja) プログラマブルコントローラ
JP6870234B2 (ja) 制御装置、制御システム及び制御方法
JP2018014046A (ja) 検証システムおよび検証方法
US11287793B2 (en) Control device, control method for control device, information processing program, and recording medium
JP5012548B2 (ja) プログラマブルコントローラ
US10880151B2 (en) Notification control device, notification control system, notification control method, and storage medium
KR101527419B1 (ko) 자동화 라인의 정상 상태 판단을 위한 기준 마스터 패턴 생성 방법
JP5365875B2 (ja) 産業用コントローラ
CN110399258B (zh) 一种服务器系统的稳定性测试方法、系统及装置
CN105320030B (zh) 工程装置、工程系统以及下载处理方法
US11092945B2 (en) Control device, control method, and non-transitory storage medium storing control program
KR101333639B1 (ko) 머신코드 생성 방식을 이용한 원격감시제어장치의 설비 제어방법 및 그 원격감시제어장치
JP6051545B2 (ja) Plcシステム、状態表示方法、plc、およびプログラマブル表示器
US20240295871A1 (en) Systems and methods for recurring industrial automation project design validation
JP2019087118A (ja) 車載制御装置
US20170003985A1 (en) Procede de configuration et procede de commande d'un systeme de modules d'execution interconnectes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201116

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: 20210316

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210329

R150 Certificate of patent or registration of utility model

Ref document number: 6870234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250