(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022158230
(43)【公開日】2022-10-17
(54)【発明の名称】プログラマブルロジックコントローラ
(51)【国際特許分類】
G05B 19/05 20060101AFI20221006BHJP
【FI】
G05B19/05 D
【審査請求】未請求
【請求項の数】27
【出願形態】OL
(21)【出願番号】P 2021062986
(22)【出願日】2021-04-01
(71)【出願人】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110003281
【氏名又は名称】特許業務法人大塚国際特許事務所
(72)【発明者】
【氏名】丸山 大介
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA04
5H220BB11
5H220CX01
5H220DD01
5H220DD04
5H220DD07
5H220JJ12
5H220JJ26
5H220JJ53
(57)【要約】
【課題】データの収集機能とデータ表示画面の生成機能とを有するPLCを提供すること。
【解決手段】PLCは、アプリケーションプログラムにしたがって収集対象となるデバイスまたは変数であるシンボルに格納されているシンボル値を収集する収集手段と、アプリケーションプログラムにしたがって収集手段により収集されたシンボル値が、アプリケーションプログラムに対して設定された正常条件を満たしているかどうかを判定することで、シンボル値に関していつもと異なる状況を検知する判定手段と、判定手段の判定結果と、アプリケーションプログラムにしたがって収集手段により収集されたシンボル値を示す情報とを含む表示画面を生成する生成手段と、を有する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
アプリケーションプログラムを記憶する記憶手段と、
前記アプリケーションプログラムを実行する実行手段と、を有し、
前記実行手段は、
アプリケーションプログラムにしたがって収集対象となるデバイスまたは変数であるシンボルに格納されているシンボル値を収集する収集手段と、
前記アプリケーションプログラムにしたがって前記収集手段により収集されたシンボル値が、前記アプリケーションプログラムに対して設定された正常条件を満たしているかどうかを判定することで、前記シンボル値に関していつもと異なる状況を検知する判定手段と、
前記判定手段の判定結果と、前記アプリケーションプログラムにしたがって前記収集手段により収集されたシンボル値を示す情報とを含む表示画面を生成する生成手段と、
を有することを特徴とするプログラマブルロジックコントローラ。
【請求項2】
前記判定手段は、前記プログラマブルロジックコントローラにより実行される工程の継続時間が前記正常条件を満たしているどうかを判定することを特徴とする請求項1に記載のプログラマブルロジックコントローラ。
【請求項3】
前記シンボル値は、前記工程の開始を示す開始デバイスのデバイス値と、前記工程の終了を示す終了デバイスのデバイス値とを含み、前記継続時間は、前記開始デバイスのデバイス値が変化したタイミングから前記終了デバイスのデバイス値が変化したタイミングまでの時間であることを特徴とする請求項2に記載のプログラマブルロジックコントローラ。
【請求項4】
前記収集手段は、一つの動作サイクルを構成している複数の工程のそれぞれについて前記継続時間を求めるための前記シンボル値を収集し、
前記生成手段は、前記複数の工程のそれぞれについて前記継続時間を表示するための表示画面を生成するように構成されていることを特徴とする請求項3に記載のプログラマブルロジックコントローラ。
【請求項5】
前記表示画面は、前記複数の工程のそれぞれについての前記継続時間を示唆するグラフィカルオブジェクトと、前記複数の工程のそれぞれについての前記継続時間と対比されるマスタデータを示唆するグラフィカルオブジェクトとを表示するように構成されていることを特徴とする請求項4に記載のプログラマブルロジックコントローラ。
【請求項6】
前記グラフィカルオブジェクトは、時間の経過とともに、前記表示画面において一方向に移動するか、または、前記表示画面における所定位置を起点として一方向に伸びるように、表示されることを特徴とする請求項5に記載のプログラマブルロジックコントローラ。
【請求項7】
前記表示画面は、前記グラフィカルオブジェクトとともに、前記正常条件を示すグラフィカルオブジェクトを表示するように構成されていることを特徴とする請求項6に記載のプログラマブルロジックコントローラ。
【請求項8】
前記シンボル値がユーザにより設定された通知条件を満たすと、通知を発行する通知手段をさらに有することを特徴とする請求項1ないし7のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項9】
前記通知手段は、前記表示画面を表示する周辺機器に対して前記通知を送信するように構成されていることを特徴とする請求項8に記載のプログラマブルロジックコントローラ。
【請求項10】
前記プログラマブルロジックコントローラにおいて発生するエラーまたはイベントの履歴を登録する登録手段をさらに有し、
前記登録手段は、前記通知手段が前記通知を発行すると、前記通知に関するイベントを前記履歴に登録するように構成されていることを特徴とする請求項8に記載のプログラマブルロジックコントローラ。
【請求項11】
前記シンボル値が保存条件を満たすと当該シンボル値を運転記録として保存する運転記録保存手段をさらに有することを特徴とする請求項1ないし10のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項12】
前記正常条件を逸脱した前記シンボル値が検知されると、当該シンボル値、前記正常条件、および前記表示画面を履歴として保存する履歴保存手段をさらに有することを特徴とする請求項1ないし11のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項13】
前記表示画面は、前記シンボル値、または、当該シンボル値から求められた時間のトレンドを示すトレンドグラフを含むことを特徴とする請求項1ないし12のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項14】
前記表示画面は、前記シンボル値、または、当該シンボル値から求められた時間のヒストグラムを含むことを特徴とする請求項1ないし12のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項15】
前記正常条件を設定する設定手段をさらに有し、
前記設定手段は、予め取得されたシンボル値に所定の演算ルールを適用して前記正常条件を作成するように構成されていることを特徴とする請求項1ないし14のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項16】
前記設定手段は、前記所定の演算ルールとしてユーザにより指定された演算ルールを使用することを特徴とする請求項15に記載のプログラマブルロジックコントローラ。
【請求項17】
それぞれ異なる前記正常条件を有する複数の条件セットを記憶する条件記憶手段と、
ユーザ指示に応じて前記条件記憶手段に記憶されている複数の条件セットのうち一つの条件セットを選択する選択手段をさらに有することを特徴とする請求項1ないし16のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項18】
前記アプリケーションプログラムの実行停止または実行再開に関する指示を入力する入力手段をさらに有し、
前記実行手段は、前記アプリケーションプログラムの実行停止に関する指示が入力されると、前記アプリケーションプログラムの実行を停止し、前記アプリケーションプログラムの実行再開に関する指示が入力されると、前記アプリケーションプログラムの実行を再開することを特徴とする請求項1ないし17のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項19】
前記実行手段は、前記アプリケーションプログラムの正常な実行を妨げる事象を検知し、当該事象を報告するように構成されていることを特徴とする請求項1ないし18のいずれか一項に記載のプログラマブルロジックコントローラ。
【請求項20】
前記生成手段は、前記収集手段により時系列データとして収集された複数のシンボル値を波形として表示するよう前記表示画面を生成するように構成されていることを特徴とする請求項3に記載のプログラマブルロジックコントローラ。
【請求項21】
前記生成手段は、第一の収集期間に前記収集手段により時系列データとして収集された複数のシンボル値を示す第一波形と、前記第一の収集期間よりも過去の第二の収集期間に前記収集手段により時系列データとして収集された複数のシンボル値を示す第二波形とを重ねて表示するように構成されていることを特徴とする請求項20に記載のプログラマブルロジックコントローラ。
【請求項22】
前記生成手段は、前記波形のピーク値またはボトム値を規制するための閾値であって前記正常条件に含まれる閾値を示す線を前記波形とともに表示するよう前記表示画面を生成するように構成されていることを特徴とする請求項20または21に記載のプログラマブルロジックコントローラ。
【請求項23】
前記生成手段は、前記シンボル値が所定値を超えるタイミングを規制するための閾値であって前記正常条件に含まれる閾値を示す線を前記波形とともに表示するよう前記表示画面を生成するように構成されていることを特徴とする請求項20または21に記載のプログラマブルロジックコントローラ。
【請求項24】
前記シンボル値に基づく測定波形とユーザ入力とに基づき前記閾値の集合である閾値波形を決定する閾値決定手段をさらに有することを特徴とする請求項22に記載のプログラマブルロジックコントローラ。
【請求項25】
前記ユーザ入力は、前記測定波形に対して加算または減算される係数を含むことを特徴とする請求項24に記載のプログラマブルロジックコントローラ。
【請求項26】
前記ユーザ入力は、前記測定波形を構成する複数のシンボル値のうち、前記閾値波形における注目タイミングの閾値を決定するために考慮される波形区間であって、当該注目タイミングの前後の波形区間を指定する指定情報を含むことを特徴とする請求項24に記載のプログラマブルロジックコントローラ。
【請求項27】
ユーザにより描画される自由曲線に基づき前記閾値の集合である閾値波形を決定する閾値決定手段をさらに有することを特徴とする請求項22に記載のプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はプログラマブルロジックコントローラに関する。
【背景技術】
【0002】
プログラマブルロジックコントローラ(PLC)はファクトリーオートメーションにおいて製造機器や搬送装置、検査装置などの産業機械を制御するコントローラである。PLCはプログラマーによって作成されるラダープログラムなどのユーザプログラムを実行することで様々な拡張ユニットや被制御機器を制御する。PLCの動作を監視するために、PLCが保持しているデータを収集して、PLCの外部に接続されたコンピュータ(PC)やHMI(ヒューマンインタフェース:表示装置)でデータをモニタすることが提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、特許文献1の発明では、PLCの外部に設けられたIPC(産業用コンピュータ)において情報が収集されており、PLCだけで必要な情報を収集し、周辺装置に情報を提供することが出来なかった。そこで、本発明は、データの収集機能とデータ表示画面の生成機能とを有するPLCを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明は、たとえば、
アプリケーションプログラムを記憶する記憶手段と、
前記アプリケーションプログラムを実行する実行手段と、を有し、
前記実行手段は、
アプリケーションプログラムにしたがって収集対象となるデバイスまたは変数であるシンボルに格納されているシンボル値を収集する収集手段と、
前記アプリケーションプログラムにしたがって前記収集手段により収集されたシンボル値が、前記アプリケーションプログラムに対して設定された正常条件を満たしているかどうかを判定することで、前記シンボル値に関していつもと異なる状況を検知する分析手段と、
前記判定手段の判定結果と、前記アプリケーションプログラムにしたがって前記収集手段により収集されたシンボル値を示す情報とを含む表示画面を生成する生成手段と、
を有することを特徴とするプログラマブルロジックコントローラを提供する。
【発明の効果】
【0006】
本発明によれば、データの収集機能とデータ表示画面の生成機能とを有するPLCが提供される。
【図面の簡単な説明】
【0007】
【
図4】プログラム作成支援装置のCPUにより実現される機能
【
図5】拡張ユニット(データ活用ユニット)のCPUにより実現される機能
【
図6】拡張ユニット(データ活用ユニット)のCPUにより実現される機能
【
図7】拡張ユニット(データ活用ユニット)のCPUにより実現される機能
【
図20】アプリケーションの動作の切り替えを受け付ける画面を説明する図
【
図23】波形上下限監視アプリケーションを説明する図
【
図24】波形上下限監視アプリケーションを説明する図
【
図25】波形上下限監視アプリケーションを説明する図
【
図26】波形上下限監視アプリケーションを説明する図
【
図27】波形上下限監視アプリケーションを説明する図
【
図28】波形上下限監視アプリケーションを説明する図
【
図29】監視手法と状態判定手法の組み合わせを説明する図
【
図31】波形ガードバンド監視アプリケーションを説明する図
【
図37】工程監視およびタイミング監視を示すフローチャート
【
図40】KPI算出アプリケーションのダッシュボードを説明する図
【発明を実施するための形態】
【0008】
以下、添付図面を参照して実施形態が詳しく説明される。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一または同様の構成には同一の参照番号が付され、重複した説明は省略される。同一または類似の要素を示す参照符号の末尾には小文字のアルファベットが付与されることがある。複数の要素に共通する事項が説明される場合、小文字のアルファベットが省略される。
【0009】
<システム構成>
はじめにプログラマブルロジックコントローラ(PLC、単にプログラマブルコントローラと呼ばれてもよい)を当業者にとってよりよく理解できるようにするために、一般的なPLCの構成とその動作について説明する。
【0010】
図1は、本発明の実施の形態によるプログラマブル・ロジック・コントローラシステムの一構成例を示す概念図である。
図1が示すように、このシステムは、ラダープログラムなどのユーザプログラムの編集を行うためのPC2aと、工場等に設置される各種制御装置を統括的に制御するためのPLC(プログラマブルロジックコントローラ)1とを備えている。PCはパーソナルコンピュータの略称である。ユーザプログラムは、ラダー言語やSFC(シーケンシャルファンクションチャート)などのフローチャート形式のモーションプログラムなどのグラフィカルプログラミング言語を用いて作成されてもよいし、C言語などの高級プログラミング言語を用いて作成されてもよい。以下では、説明の便宜上、基本ユニット3で実行されるユーザプログラムはラダープログラムとする。PLC1は、CPUが内蔵された基本ユニット3と、1つないし複数の拡張ユニット4を備えている。基本ユニット3に対して1つないし複数の拡張ユニット4が着脱可能となっている。
【0011】
基本ユニット3は、表示部5および操作部6を備えている。表示部5は、基本ユニット3に取り付けられている各拡張ユニット4の動作状況などを表示することができる。操作部6の操作内容に応じて表示部5は表示内容を切り替える。表示部5は、通常、PLC1内のデバイスの現在値(デバイス値)やPLC1内で生じたエラー情報などを表示する。デバイスとは、デバイス値(デバイスデータ)を格納するために設けられたメモリ上の領域を指す名称であり、デバイスメモリと呼ばれてもよい。デバイス値とは、入力機器からの入力状態、出力機器への出力状態およびユーザプログラム上で設定される内部リレー(補助リレー)、タイマー、カウンタ、データメモリ等の状態を示す情報である。デバイス値の型にはビット型とワード型がある。ビットデバイスは1ビットのデバイス値を記憶する。ワードデバイスは1ワードのデバイス値を記憶する。PLC1は、デバイスの他、変数を取り扱うよう構成されてもよく、デバイスや変数のことをシンボルと呼び、シンボルが示す値をシンボル値と呼ぶ。
【0012】
拡張ユニット4は、PLC1の機能を拡張するために用意されている。各拡張ユニット4には、その拡張ユニット4の機能に対応するフィールドデバイス(被制御装置)10が接続されることがあり、これにより、各フィールドデバイス10が拡張ユニット4を介して基本ユニット3に接続される。フィールドデバイス10は、センサやカメラなどの入力機器であってもよいし、アクチュエータなどの出力機器であってもよい。また、一つの拡張ユニット4に対して複数のフィールドデバイスが接続されてもよい。
【0013】
たとえば、拡張ユニット4bはモータ(フィールドデバイス10)を駆動してワークの位置決めする位置決めユニットであってもよいし、カウンタユニットであってもよい。カウンタユニットは手動パルサなどのエンコーダ(フィールドデバイス10)からの信号をカウントする。
【0014】
拡張ユニット4aは、フローを実行することで、基本ユニット3や拡張ユニット4bから収集対象データを収集し、収集対象データにデータ処理を施して表示対象データを作成し、ダッシュボードを表示部7またはPC2に表示するための表示データを作成するデータ収集ユニットである。基本ユニット3はCPUユニットと呼ばれることもある。なお、PLC1とPC2とを含むシステムはプログラマブルロジックコントローラシステムと呼ばれてもよい。
【0015】
PC2aは主にプログラマーによって操作されるコンピュータである。一方、PC2bは、現場担当者によって操作されるコンピュータである。PC2bは、ユーザにより画面設定されるプログラマブル表示器であってもよい。この場合、分析結果等を表示する画面はユーザにより画面設定されてもよい。プログラマブル表示器にあらかじめWebブラウザ機能が搭載され、Webブラウザ機能により分析結果等が表示されてもよい。PC2aはプログラム作成支援装置(設定装置)と呼ばれてもよい。PC2は、たとえば、携帯可能なノートタイプやタブレットタイプのパーソナルコンピュータまたはスマートフォンであって、表示部7および操作部8を備えている外部コンピュータである。外部コンピュータとは、PLC1の外部にあるコンピュータである。PLC1を制御するためのユーザプログラムの一例であるラダープログラムは、PC2aを用いて作成される。その作成されたラダープログラムは、PC2a内でニモニックコードに変換される。PC2は、USB(Universal Serial Bus)ケーブルなどの通信ケーブル9を介してPLC1の基本ユニット3に接続される。たとえば、PC2aは、ニモニックコードに変換されたラダープログラムを基本ユニット3に送る。基本ユニット3はラダープログラムをマシンコードに変換し、基本ユニット3に備えられたメモリ内に記憶する。なお、ここではニモニックコードが基本ユニット3に送信されているが、本発明はこれに限られない。たとえば、PC2aは、ニモニックコードを中間コードに変換し、中間コードを基本ユニット3に送信してもよい。
【0016】
なお、
図1は示していないが、PC2の操作部8には、PC2に接続されたマウスなどのポインティングデバイスが含まれていてもよい。また、PC2は、USBケーブル以外の他の通信ケーブル9を介して、PLC1の基本ユニット3に対して着脱可能に接続されるような構成であってもよい。また、PC2は、通信ケーブル9を介さず、PLC1の基本ユニット3に対して無線通信によって接続されてもよい。
【0017】
HMI(ヒューマンインタフェース)16は、PLC1のデバイスまたはバッファに格納されている情報を読み出して表示する表示装置である。HMI16は、たとえば、タッチパネル式の入力装置を有していてもよい。
【0018】
<プログラム作成支援装置>
図2はPC2の電気的構成について説明するためのブロック図である。
図2が示すように、PC2は、CPU11、表示部7、操作部8、記憶装置12および通信部13を備えている。表示部7、操作部8、記憶装置12および通信部13は、それぞれCPU11に対して電気的に接続されている。記憶装置12はRAMやROM、HDD、SSDを含み、さらに着脱可能なメモリカードを含んでもよい。CPUは中央演算処理装置の略称である。ROMはリードオンリーメモリの略称である。RAMはランダムアクセスメモリの略称である。HDDはハードディスクドライブの略称である。SSDはソリッドステートドライブの略称である。
【0019】
PC2aのユーザは記憶装置12に記憶されているプロジェクト編集プログラム14aをCPU11に実行させて、操作部8を通じてプロジェクトデータを編集する。つまり、PC2aはエンジニアリングツールであり、プログラム作成支援装置として機能する。プロジェクトデータは、一つ以上のユーザプログラム(例:ラダープログラム、制御プログラム、モーションプログラム、データ活用プログラム)、基本ユニット3や拡張ユニット4の構成情報、WebHMIの作画データ、基本ユニット3や拡張ユニット4に備えられた特定機能の設定情報などを含む。構成情報は、基本ユニット3に対する複数の拡張ユニット4の接続位置や、基本ユニット3に備えられた機能(例:データ収集機能、通信機能や位置決め機能)を示す情報、拡張ユニット4の機能(例:通信機能、位置決め機能、撮影機能)などを示す情報である。作画データは、WebHMIを実現するための表示部品群である。作画データは、フロントエンドの構造を記述するマークアップデータ(例:HTMLデータ)、装飾を記述するスタイルデータ(例:CSSデータ)および動的な処理を記述するコード(例:JavaScript(登録商標)コード)などにより実現される。なお、フロントエンドとは、Webページ、WebサービスおよびやWebアプリケーションにおいてユーザから直接的に見える部分をいう。装飾を記述するスタイルデータは、たとえばファイル形式として提供されてもよい。この場合、構造を記述するマークアップデータ内で外部スタイルデータファイルを呼び出す記述により、スタイルデータが呼び出されてもよい。動的処理を記述するコードは、たとえばファイル形式で提供されてもよい。この場合、構造を記述するマークアップデータ内で外部コードファイルを呼び出す記述により、動的処理を記述するコードが呼び出されてもよい。外部スタイルデータファイルや外部コードファイルを呼び出して使用できる形式のフロントエンドは、再利用性やメンテナンス性が高く、たとえば汎用のフロントエンドコンポーネント等を利用することができる。このような汎用的で再利用性の高いWeb描画技術を採用することで、WebHMIなどの開発においてコンポーネントを再利用でき、WebHMIなどの保守性も向上する。以下で、作画データは、表示部品と表記される。データ活用プログラムは、PLC1において制御データ(デバイス値など)を収集したり、データ処理したり、WebHMIに渡すためのデータを作成したりするためのプログラムを含む。特定機能の設定情報は、基本ユニット3に備えられた機能(例:データ収集機能、通信機能、位置決め機能)に関する設定情報を含む。たとえば、データ収集機能であれば、データ収集条件やデータ収集対象の設定情報が含まれる。拡張ユニット4の機能(例:通信機能、位置決め機能、データ活用機能、撮影機能)に関する設定情報等も含まれてもよい。ここで、プロジェクトデータの編集には、プロジェクトデータの作成および変更(再編集)が含まれる。ユーザは、必要に応じて記憶装置12に記憶されているプロジェクトデータを読み出し、そのプロジェクトデータを、プロジェクト編集プログラム14aを用いて変更することができる。通信部13は、通信ケーブル9aを介して基本ユニット3と通信する。CPU11は通信部13を介してプロジェクトデータを基本ユニット3に転送する。通信部13は、通信ケーブル9bを介して拡張ユニット4aと通信する。
【0020】
CPU11はフロー・ダッシュボード編集プログラム14bを実行することで、フロー(データ活用プログラム)やダッシュボードの設定データを作成してもよい。フロー・ダッシュボード編集プログラム14bは、プロジェクト編集プログラム14aの一部であってもよい。
【0021】
CPU11はWebブラウザプログラム14dを実行することで、
図4に示されるWebブラウザ61として機能してもよい。Webブラウザ61もプロジェクト編集プログラム14aの一部であってもよい。Webブラウザ61は、PLC1により提供される表示画面(ダッシュボード)を表示部7に表示する。なお、プロジェクト編集プログラム14aまたはフロー・ダッシュボード編集プログラム14bがPLC1により提供される表示画面(ダッシュボード)を表示部7に表示する機能を内蔵していてもよい。CPU11は通信部13を介してフローやダッシュボードの設定データを拡張ユニット4aに転送する。
【0022】
<PLC>
図3はPLC1の電気的構成について説明するためのブロック図である。
図3が示すように、基本ユニット3は、CPU31、表示部5、操作部6、記憶装置32および通信部33を備えている。表示部5、操作部6、記憶装置32、および通信部33は、それぞれCPU31に電気的に接続されている。記憶装置32は、RAMやROM、メモリカードなどを含んでもよい。記憶装置32はデバイス部34やプロジェクト記憶部35などの複数の記憶領域を有している。デバイス部34はビットデバイスやワードデバイスなどを有し、各デバイスはデバイス値を記憶する。プロジェクト記憶部35は、PC2aから入力されたプロジェクトデータを記憶する。記憶装置32は基本ユニット3用の制御プログラムも記憶する。
図3が示すように基本ユニット3と拡張ユニット4とは拡張バスの一種であるユニット内部バス19を介して接続されている。なお、ユニット内部バス19に関する通信機能はCPU31に実装されるが、通信部33の一部として実装されてもよい。通信部33はネットワーク通信回路を有してもよい。CPU31は通信部33を介してプロジェクトデータをPC2aから受信する。
【0023】
ここで、ユニット内部バス19について、補足説明する。このユニット内部バス19は、入出力リフレッシュに使用される通信バスである。入出力リフレッシュとは、基本ユニット3と拡張ユニット4との間でデバイス値を更新する処理である。入出力リフレッシュは、ラダープログラムが一回実行されるごとに(つまり、一スキャンごとに)、実行される。
【0024】
拡張ユニット4はCPU41とメモリ42を備えている。拡張ユニット4bのCPU41bは、デバイスに格納された基本ユニット3からの指示(デバイス値)にしたがってフィールドデバイス10を制御する。また、CPU41bは、フィールドデバイス10の制御結果をバッファメモリとよばれるデバイスに格納する。デバイスに格納された制御結果は入出力リフレッシュによって基本ユニット3に転送される。また、デバイスに格納されている制御結果は、基本ユニット3からの読み出し命令にしたがって、入出力リフレッシュとは異なるタイミングであっても、基本ユニット3に転送される。メモリ42はRAMやROMなどを含む。とりわけ、RAMにはバッファメモリとして使用される記憶領域が確保されている。メモリ42は、フィールドデバイス10によって取得されたデータ(例:静止画データや動画データ)を一時的に保持するバッファを有してもよい。
【0025】
データ活用ユニット(分析ユニット)として機能する拡張ユニット4aのCPU41aは、通信部43とケーブル9bを介してPC2aと通信する。通信部43は、ネットワーク通信を実行する通信回路を含む。CPU41aは、データ活用アプリケーションとして運転記録分析アプリケーションが設定されると、基本ユニット3において収集されたデバイス値を分析することで、分析結果を含む分析レポートを作成する。たとえば、CPU41aは、運転記録データに含まれるシンボル値を分析することで、非正常シンボルと当該シンボルが非正常となった時刻とを特定し、非正常シンボルと当該シンボルが非正常となった時刻とを対応づけた分析結果を含む分析レポートを作成する。運転記録データは、運転記録の保存イベント発生時刻周辺の状況を再現するための情報を含んでいる。そのため、運転記録データは分析レポートと紐づけて管理されてもよい。また、運転記録データは、運転記録の保存イベント発生時刻周辺の状況を再現するための多くのシンボルのシンボル値を含む。そのため、運転記録データのデータサイズは大きくなりやすい。たとえば、CPU41aは、運転記録データの中から、分析レポートに必要なデータを読み出して、分析レポート用のデータとして運転記録データに追加保存してもよい。ここで、追加保存とは、たとえば、分析レポートに必要なデータを運転記録データから読み出してコピーし、コピーされたデータをタグ付けすることで作成された分析レポート用のデータを、運転記録データに追加保存することをいう。このようにデータをタグ付けしておくなど、データ加工を適用することで、分析レポートを作成しやすくなる。
【0026】
運転記録データにカメラ画像が含まれてもよい。この場合、カメラ画像を再生することにより、ユーザは、運転記録の保存イベント発生時刻周辺の状況をより詳細に把握することができる。分析レポートはカメラ画像を再生するUI(ユーザインターフェース)を含んでもよい。カメラ画像はデータサイズが大きい。そのため、カメラ画像を再生するUIにおいてクリックやスクロール操作を受け付けた時などに、必要なカメラ画像データだけが部分的にダウンロードされてもよい。たとえば、CPU41aは、分析レポートを作成する際、カメラ画像を分析レポートにおける表示順序に対応して加工したり、時刻とカメラ画像の保存位置の対応関係を示すインデックス情報を生成したりしてもよい。これにより、CPU41aは、表示時刻(再生用の内部時計の時刻)に対応したカメラ画像を高速かつ部分的にダウンロードしてもよい。
【0027】
分析レポートは、狭義には、分析結果そのものを意味するが、広義には、分析結果を表示するWebアプリケーションやそのユーザインタフェースを意味することがある。CPU41aは、たとえば、デバイス値が正常範囲内かどうかや、デバイス値が変化するタイミングが正常範囲内かどうかなどを判定する。デバイス値が変化するタイミングが正常範囲内かどうかは、たとえば、デバイス値が"1"(オン)である期間の長さが正常範囲かどうかであってもよい。また、ある工程またはサイクルにおけるデバイス値の変化回数が正常範囲内かどうかが判定されてもよい。あるデバイスから収集されたデバイス値が正常条件を満たしていない場合、そのデバイスは、いつもと違う振る舞いのデバイスであるため、非正常デバイスと呼ばれてもよい。CPU41aは、Web形式の分析レポートを作成し、通信部43および通信ケーブル9bを介して分析レポートをPC2bのWebブラウザに提供してもよい。
【0028】
データ活用ユニットは、データ活用アプリケーションを実行する拡張ユニットである。データ活用アプリケーションは、制御データを収集したりデータ処理したりするデータ活用プログラム(例:フロー)と、データ活用プログラムの実行結果を表示するダッシュボードとを含む。ここでは、データ活用プログラムの一例としてフローが採用されているが、他の言語によるユーザプログラムであってもよい。フローはデータを収集する演算ブロック、データ処理を実行する演算ブロック、および、表示データを作成する演算ブロックなどを有してもよい。ダッシュボードは、グラフ表示部品や数値表示部品などを有する。分析レポートは、グラフ表示部品や数値表示部品などを有してもよい。これらの表示部品は、フロントエンドの構造を記述するマークアップデータ、装飾を記述するスタイルデータおよび動的な処理を記述するコードなどにより実現されてもよい。本実施形態で、フローはフローテンプレートにより実現される。フローテンプレートは予めアプリケーションごとに用意されており、ユーザにより指定されたパラメータが設定される一つ以上の演算ブロックを有している。ダッシュボードもテンプレートにより実現される。ダッシュボードテンプレートは、ユーザにより指定されたパラメータが設定される一つ以上の表示部品を有している。パラメータは、たとえば、ダッシュボードの名称、デバイス名、数値、ユニット変数名など多種多様な情報である。ユニット変数とは、拡張ユニット4aがフローの実行結果を保持するための変数である。
【0029】
CPU41aはPC2aから受信したフローやダッシュボードの設定データをメモリ42aに格納する。CPU41aは、設定データにしたがってフローを実行し、デバイス値を収集し、ダッシュボードに表示するための表示データを作成する。CPU41aは、通信部43とケーブル9bを介してPC2bと通信する。CPU41aはPC2bに対してダッシュボードの表示データを送信する。これにより、PC2bはPLC1に関する各種データを含むダッシュボードを表示する。
【0030】
HMI16も通信部43に接続され、通信部43を介してCPU41aと通信してもよい。CPU41aは、表示データを所定のバッファまたはデバイスに格納する。HMI16は、所定のバッファまたはデバイスから表示データを読み出して、表示データを表示する。
【0031】
図4はPC2aのCPU11によって実現される機能を説明する図である。プロジェクト作成部50は、CPU11がプロジェクト編集プログラム14aを実行することで実現される機能である。プロジェクト作成部50は、制御プログラム作成部52、フロー・ダッシュボード作成部51および収集設定部57を備えている。プロジェクト作成部50は、操作部8を通じて入力されるユーザ指示にしたがってラダープログラム等のユーザプログラムを含むプロジェクトデータ70を作成する。
【0032】
制御プログラム作成部52は、操作部8を通じて入力されるユーザ指示にしたがって、CPU31で実行されるラダープログラム等の制御プログラム155を作成する。制御プログラム155はプロジェクトデータ70の一部として記憶装置12に格納される。
【0033】
フロー・ダッシュボード作成部51は、CPU11がフロー・ダッシュボード編集プログラム14bを実行することで実現される機能である。フロー・ダッシュボード作成部51は、アプリケーション選択部55および設定データ作成部56を備える。アプリケーション選択部55は、複数のアプリケーション(データ活用プログラム)から一つのアプリケーションをユーザが選択することを支援する選択画面を表示部7に表示し、ユーザによるアプリケーションの選択を受け付ける。アプリケーションとしては、監視対象であるデバイスや変数をリアルタイムに監視するリアルタイム監視アプリケーションと、PLC1の運転状態を再現するための運転記録を分析して分析レポートを生成する運転記録分析アプリケーションなどが存在してもよい。また、アプリケーションとしては、可動率(べきどうりつ)、良品率、または、サイクルタイムなどのKPI(Key Performance Indicator)を算出する算出アプリケーションなどが存在してもよい。
【0034】
設定データ作成部56は、ユーザにより選択されたアプリケーション(データ活用プログラム)に関するパラメータやダッシュボードの表示設定に関するパラメータを含むアプリケーション設定データ74bをユーザ指示に従い作成する。このパラメータとしては、たとえば、監視対象のデバイスまたは変数、監視項目名(例:工程の名称)、各監視対象に対する監視条件や、解析対象のファイル、解析対象のデバイス、解析対象期間、表示対象、表示部品の名称、単位、などである。設定データ作成部56は、アプリケーション設定データ74bを作成するために必要な情報をCSV等のファイル形式でPLC1に提供してもよい。設定部78は、提供されたCSV等のファイルを読み出して、アプリケーション設定データ74bを作成してもよい。設定データ作成部56は、ユーザにより選択されたダッシュボードを表示するためのテンプレートを抽出する。たとえば、ダッシュボードテンプレート71からダッシュボードテンプレート71aが抽出され、設定データ73に保存される。ダッシュボードテンプレート71は、ダッシュボードを実現するための様々な表示部品(グラフモジュール)を有している。設定データ作成部56は、ユーザにより選択されたダッシュボードにデータを表示するために必要となるデータ処理を実行するデータ活用プログラムのテンプレートを抽出する。たとえば、活用プログラムテンプレート72から活用プログラムテンプレート72aが抽出されて、設定データ73に保存される。活用プログラムテンプレート72は、データ処理を実行するための演算部品(プログラムモジュール)を有している。設定データ作成部56は、ダッシュボードのテンプレート、データ活用プログラムのテンプレート、これらのテンプレートに設定されるアプリケーション設定データ74bを含む設定データ73を作成し、記憶装置12に格納する。なお、設定データ作成部56は、収集対象のデバイスまたは変数、収集条件等を含む収集設定データ74aを作成してもよい。
【0035】
設定データ作成部56は、リアルタイム監視アプリケーションにおいて算出された監視対象の測定結果を参照する他のアプリケーションを作成してもよい。リアルタイム監視アプリケーションにより算出された監視対象の測定結果は、測定結果毎に所定の変数に出力される。設定データ作成部56は、測定結果を示す変数を参照するように、他のアプリケーションやユーザが新規に作成するアプリケーションを設定する。リアルタイム監視アプリケーションにおいて算出された監視対象の測定結果は、たとえば各工程の処理時間、先行する工程と後続の工程との間の時間、全行程の長さを示す時間といった時間結果、時系列データ(波形データ)の特徴量、カメラ画像の特徴量などを含んでもよい。設定データ作成部56は、測定結果を示す変数を参照するようにユーザが作成するダッシュボードを設定してもよい。なお、リアルタイム監視アプリケーションにおいて算出された監視対象の測定結果は、データベースに格納されてもよい。これは、リアルタイム監視アプリケーションとデータベース機能とを連動させることで実現されてもよい。
【0036】
収集設定部57は、ユーザ指示にしたがって、デバイスや変数の収集動作を定義する。さらに、収集設定部57は、収集対象のデバイスまたは変数、収集条件等を含む収集設定データ74aを作成する。収集設定データ74aは設定データ73に含まれてもよい。収集設定部57と設定データ作成部56は一つに統合されてもよい。
【0037】
転送部60は、プロジェクトデータ70を基本ユニット3に転送したり、設定データ73を拡張ユニット4aに転送したりする。Webブラウザ61は、CPU11がWebブラウザプログラム14dを実行することで実現される。
【0038】
図5は拡張ユニット4aのCPU41aによって実現される機能を示している。以下で説明される拡張ユニット4aの機能の一部またはすべてが基本ユニット3に実装されてもよい。設定部80は、PC2aから受信した設定データ73をメモリ42aに格納する。設定部80は、設定データ73にしたがって基本ユニット3に対してどのようなデバイス値を収集すべきかを設定してもよい。設定データ73は、ダッシュボードテンプレート71a、活用プログラムテンプレート72a、収集設定データ74aおよびアプリケーション設定データ74bを含む。収集設定データ74aは、ダッシュボードテンプレート71aおよび活用プログラムテンプレート72aに代入された状態でPC2aから拡張ユニット4aに渡されてもよいし、ダッシュボードテンプレート71aおよび活用プログラムテンプレート72aから分離された状態でPC2aから拡張ユニット4aに渡されてもよい。フロー実行部81は、CPU41aが、収集設定データ74aにしたがって活用プログラムテンプレート72a内のフローを実行することで実現される機能である。収集部82は、収集設定データ74aにより指定されたデバイス値を基本ユニット3や拡張ユニット4bから収集し、収集されたデータ75を作成し、メモリ42aに格納する。データ処理部83は、収集設定データ74aにより指定されたデータ処理を、収集されたデータ75に適用し、解析されたデータ76を作成し、メモリ42aに格納する。表示処理部84は、アプリケーション設定データ74bにより指定されたダッシュボードテンプレート71aと表示対象データとに基づきダッシュボードの表示データ77(例:HTMLデータや画像データ、CSS(カスケーディングスタイルシート)、JavaScript(登録商標)のコード)を作成する。Webサーバ85は、PC2bなどのWebブラウザ61に対して、ダッシュボードの表示データ77を提供する。
【0039】
図6は拡張ユニット4aのCPU41aによって実現される他の機能を説明する図である。以下で説明される拡張ユニット4aの機能の一部またはすべてが基本ユニット3に実装されてもよい。ここでは、拡張ユニット4aはPC2bに対してWebベースの技術によりダッシュボードなどの設定編集機能を提供する。なお、設定編集機能はダッシュボードから呼び出されて実行されてもよい。また、設定編集機能はプログラム作成支援装置であるPC2aにも備えられてもよい。なお、すでに説明された機能と同様の機能には同一の参照符号を付与されており、そのような機能の説明は省略される。
【0040】
設定部80は、上述されたフロー・ダッシュボード作成部51を有している。フロー・ダッシュボード作成部51は、CPU41aがフロー・ダッシュボード編集プログラム14bを実行することで実現される機能である。フロー・ダッシュボード編集プログラム14bは、Webサーバ85を介していわゆるWebブラウザ61と通信して表示画面を提供したり、入力を受け付けたりするWeb処理部としてCPU41aを機能させてもよい。アプリケーション選択部55は、複数のダッシュボード(リアルタイム監視アプリケーション)から一つのダッシュボードをユーザが選択することを支援する選択画面を、Webサーバ85を通じて、PC2bの表示部7bに表示し、ユーザによるダッシュボードの選択を受け付ける。設定データ作成部56は、ユーザにより選択されたダッシュボードに関連付けられているフローに関するパラメータやダッシュボードの表示設定に関するパラメータについてのユーザ指定を、Webサーバ85を通じて、受け付ける。このパラメータとしては、収集対象のデバイスや、解析対象のデバイス、解析対象期間、表示対象、表示部品の名称、単位、などである。設定データ作成部56は、ユーザにより選択されたダッシュボードを表示するためのダッシュボードテンプレート71aを、ダッシュボードテンプレート71から抽出する。ダッシュボードテンプレート71は、ダッシュボードを実現するための様々な表示部品(グラフモジュール)を有している。設定データ作成部56は、ユーザにより選択されたダッシュボードにデータを表示するために必要となるデータ処理を実行する活用プログラムテンプレート72aを、活用プログラムテンプレート72から抽出する。活用プログラムテンプレート72は、データ処理を実行するための演算部品(プログラムモジュール)を有している。フロー・ダッシュボード作成部51は、Webブラウザ61から入力されるユーザ指示に従って、上述された収集設定データ74aおよびアプリケーション設定データ74bも作成してもよい。設定データ作成部56は、ダッシュボードテンプレート71a、活用プログラムテンプレート72a、収集設定データ74aおよびアプリケーション設定データ74bを含む設定データ73を作成し、メモリ42aに格納する。
【0041】
図7は拡張ユニット4aに実装される追加の機能を示している。
【0042】
発報部90は、フロー実行部81(分析部54)の判定結果に基づき周辺機器に通知を発行する機能である。周辺機器とは、HMI16、PC2a、2bなどである。アプリケーション通知部91は、リアルタイム監視アプリケーションの監視状態が正常状態から注意状態または警報状態に変化したことを周辺機器に通知する機能である。リアルタイム監視アプリケーションとは、PLC1においてユーザプログラム(ラダープログラム)が実行されているときにデバイス値を表示画面に表示するアプリケーションである。リアルタイム監視アプリケーションは、メモリカードなどに保存された過去のデバイス値のみを表示するアプリケーションとは区別される。リアルタイム監視アプリケーションが、これらの過去のデバイス値を表示する機能も含んでいてもよい。
【0043】
イベント登録部92は、監視アプリケーションの監視状態が正常状態から注意状態または警報状態に変化したことをイベントとして基本ユニット3に登録する機能である。基本ユニット3のCPU31は、エラーやイベントの履歴を保存する機能を有している。イベント登録部92は、内部バス19を介して通信コマンドを送信することで、基本ユニット3のCPU31にイベントの登録を要求する。
【0044】
運転記録保存部93は、収集されたデバイス値(運転記録)を保存するよう基本ユニット3のCPU31に要求する機能である。CPU31は、ラダープログラムのスキャンタイムごとに、リングバッファ等へデバイス値を格納する。拡張ユニット4aのCPU41aは、このデバイス値を取得して分析し、保存条件を満たしているかどうかを判定する。保存条件が満たされると、運転記録保存部93は、CPU31に対して内部バス19を介して保存要求を送信する。CPU31は、保存要求にしたがってリングバッファに格納されているデバイス値を運転記録として保存する。フロー実行部81(分析部54)は、基本ユニット3から運転記録を読み出して分析することで分析結果を取得し、分析結果を、解析されたデータ76に保存してもよい。
【0045】
ここで運転記録とはPLC1の運転状態をスキャンタイムレベルで記録したものであってもよい。たとえば、運転記録は、PLC1の運転に関わる全てのシンボルのシンボル値とその収集時刻とを、一スキャン毎に時系列に記録することであってもよい。運転に関わる全てのシンボルとは、たとえばラダープログラム等のユーザプログラムに使用される全てのシンボルであってもよいし、ユーザにより選択されるプログラム単位やユニット単位に含まれるすべてのシンボルであってもよい。この場合、運転記録の対象となるシンボルは、プログラム単位やユニット単位のように、有意な単位で一括して選択されてもよい。運転記録の対象となるシンボルは、個別に加除(追加または削除)されてもよい。たとえば、トラブル発生時に、トラブル発生時刻の周辺においてPLC1の運転に関わる全てのシンボルのシンボル値とその収集時刻とが、一スキャン毎に時系列に記録した運転記録が生成されてもよい。ユーザは運転記録に基づきトラブル発生時に何が起きたかを後からでも正確に把握することが可能となろう。運転記録には、その時の状況を再現するために多くの情報が含まれるかもしれない。情報が多いと運転記録のデータ容量が大きくなり、運転記録の取り扱い(データ処理など)が難しくなったり、運転記録の収集に負荷がかかったりする。そのため、収集対象となるシンボルは、プログラム単位やユニット単位でユーザにより選択できるようになっている。
【0046】
また、運転記録には、シンボルに加え、時系列のカメラ画像がその撮像時刻ともに含まれていてもよい。これにより、ユーザは、たとえば、トラブル発生時に、トラブル発生時刻の周辺に遡って何が起きたかを後からでも正確に把握できるようになろう。とりわけ、設備の外観変化を示すカメラ画像が運転記録に含まれていることは、状況を把握することに役立つであろう。そのため、ユーザプログラムの実行の時系列と連動してカメラ画像が記録されてもよい。HMI(ヒューマンマシンインタフェース)やPCなどの外部機器からの書き込み履歴やPLCからの書き込み履歴が変化点イベントとして運転記録に含まれてもよい。これにより、たとえば、トラブル発生前後にどのような変化点イベントがあったかをユーザは時系列で確認できる。さらに、運転記録には、プロジェクトデータが含まれてもよい。運転記録データが生成された際のプロジェクトデータを運転記録に含ませることで、プロジェクトデータに複数のバージョンが存在しても、運転記録データを生成したときに実際に使用されていたプロジェクトデータにより状況を再現することができる。運転記録には、分析レポートが含まれてもよい。運転記録データを分析することで得られた分析結果を含む分析レポートを運転記録に含ませることで、分析結果と運転記録データとを連携させることが可能となる。
【0047】
履歴保存部94は、注意状態または警報状態が発生したときに取得されたデバイス値、ダッシュボード用の表示データ(チャートやグラフ)、閾値を、履歴として保存する機能である。これらの履歴は過去に起きたいつもと異なる動作を表示画面上で再現することに役立つ。
【0048】
データ処理部83は、収集されたデータ75(デバイス値など)について統計処理を実行する機能を有していてもよい。トレンドグラフ作成部53aは、収集されたデータ75からトレンドグラフを作成する。たとえば、トレンドグラフ作成部53aは、収集されたデータ75に含まれている、指定された個数のデバイス値ごとに統計値(最大値、平均値または最小値)を選択し、選択された統計値と、この統計値が収集された時刻を示す時刻情報とを紐づけて蓄積する機能である。指定された個数の測定値から一つの測定値が選択されて保存されるため、データ圧縮効果が得られる。指定された個数を増加することで、保存されるデータの量が削減され、より長期間のトレンドを示すデータが得られる。
【0049】
ヒストグラム作成部53bは、収集されたデータ75に含まれている、指定された個数のデバイス値の分布を作成する。たとえば、直近に収集された数百点分の測定値についての分布が得られる。
【0050】
分析部54は、アプリケーションプログラムにしたがって収集手段により収集されたシンボル値が、アプリケーションプログラムに対して設定された正常条件を満たしているかどうかを分析する。これにより、分析部54は、シンボル値に関していつもと異なる状況を検知する。正常条件は、たとえば、注意状態や警報状態を検知するために使用される閾値を含む。
【0051】
フロー・ダッシュボード作成部51は、閾値設定部58とバンク切替部59とを有していてもよい。閾値設定部58は、注意状態や警報状態を検知するために使用される閾値の設定に関してユーザを補助する機能である。たとえば、閾値設定部58は、過去に収集されたデバイス値に基づき学習を実行し、学習結果に基づき閾値をユーザに提案してもよい。バンク切替部59は、PLC1の制御下で製造される製品の種類に応じて予め閾値のセット(バンク)を用意しておき、製品の種類が変更されると、閾値のセットを切り替える。
【0052】
フロー実行部81は、停止/再開部86とアプリケーションエラー検知部87とを有してもよい。停止/再開部86は、監視アプリケーションを一時的に停止させたり、監視アプリケーションの動作を再開させたりする機能である。監視アプリケーションはメモリカードにアクセスすることで、様々なデータを保存することがある。監視アプリケーションがメモリカードにアクセスしているときにメモリカードが抜かれると、データが損傷することがある。よって、メモリカードが抜かれるときは、監視アプリケーションが停止されるべきであろう。また、電源投入から一定時間が経過するまではアクチュエータの動作が安定しないことがある。このような期間においては、監視アプリケーションにアクチュエータを監視させるべきではないであろう。よって、停止/再開部86は、PC2a、PC2bなどから監視アプリケーションの停止要求を受信すると、当該監視アプリケーションの動作を一時的に停止する。停止/再開部86は、PC2a、PC2bなどから監視アプリケーションの再開要求を受信すると、当該監視アプリケーションの動作を再開させる。アプリケーションエラー検知部87は、監視アプリケーション自体のエラーを検知してエラーの発生を周辺機器に通知する。たとえば、アプリケーションエラー検知部87は、監視対象となるデバイスや変数の指定が誤っていたり、監視結果を保存するメモリカードの空き容量が不足したりすると、周辺機器に通知を発行する。アプリケーションエラー検知部87は、発報部90に含まれていてもよい。
【0053】
●リアルタイム監視アプリケーション
以下ではダッシュボードを提供する複数のリアルタイム監視アプリケーションが説明される。このようなアプリケーションは、監視対象であるデバイスや変数をリアルタイムに監視する。リアルタイム監視アプリケーションとして、以下のものが存在してもよい。
(I)工程監視(サイクルチャート): サイクル動作とは、複数の工程を一サイクルごとに繰り返し実行することをいう。サイクル監視では、サイクル動作を構成する複数の工程それぞれの開始タイミングを示すビットデバイスと終了タイミングを示すビットデバイスとが監視対象デバイスとして設定される。サイクル全体動作の開始から終了までの時間間隔と、一サイクル内の各工程の開始から終了までの時間間隔とが監視される。サイクル全体動作とは、一サイクルの全体を指す。たとえば、開始トリガから終了トリガまでの時間(工程時間)が規定範囲内かどうかが監視されてもよい。複数の工程の監視結果が同時に表示される場合、複数の工程のうちでボトルネックとなっている工程がユーザにとって確認しやすくなる。ある工程について異常が発生すると、その工程だけでなく、その工程の前後に実行される他の工程についても監視結果(チャート)が保存される。
(II)タイミング監視: 監視対象のビットデバイスのONおよび/またはOFFのタイミングが監視される。たとえば、開始トリガから終了トリガまでの時間が規定範囲内かどうかが監視される。タイミング監視では、ある工程について異常が発生すると、その工程の監視結果(チャート)のみが保存される。
(III)波形上下限監視: 時系列のデバイス値(または変数に格納されたアナログ値)からなる波形(監視対象波形)があらかじめ設定された上限値から下限値までの範囲内に収まっているかどうかが監視される。
(IV)波形ガードバンド監視: 時系列のデバイス値(または変数に格納されたアナログ値)からなる波形(監視対象波形)が、予め定められたガードバンド内に収まっているかが時系列で監視される。ガードバンドとは、二つの閾値波形によって囲まれる帯状の範囲である。ガードバンドは、時間の経過とともに変化する上限値または下限値により定義されてもよい。つまり、ガードバンドは、時系列の上限値と、時系列の下限値とにより定義されてもよい。
(V)カメラ監視: 監視対象のカメラ画像の特徴量データ(例:輝度、色差青、色差赤など)があらかじめ設定された検知条件を満たすかどうかが監視される。フィールドデバイス10がカメラである場合に、カメラ監視プリケーションが実行される。
【0054】
リアルタイム監視アプリケーションは、PLC1のシンボルのシンボル値に基づく常時監視するためのアプリケーションで、たとえばリアルタイム監視アプリケーションの設定に応じて1又は複数のシンボルのシンボル値をスキャンタイムレベルで常時収集し、収集したシンボル値に基づく情報をリアルタイムに更新しながら常時表示するアプリケーションである。常時監視の対象となる1又は複数のシンボルは、予めユーザにより設定される。リアルタイム監視アプリケーションは、たとえばWebサーバ機能を有し、通信部43を介して汎用ブラウザから設定が可能である。汎用ブラウザから設定できることにより、プログラム作成支援装置等の専用ツールを介さずに、PC、スマホ、タブレットから設定または監視ができる。また、リアルタイム監視アプリケーションは、常時監視の対象となる1又は複数のシンボルについて正常時における複数のサイクルのシンボル値に基づき当該シンボルに対応する閾値を自動で設定する。たとえば、リアルタイム監視アプリケーションは、ユーザ指示を受け付けて、常時監視の対象となる複数のシンボルについて正常時における複数のサイクルのシンボル値のばらつきに基づき、シンボルの状態を監視するための閾値を一括で自動設定する。閾値は、いつもと違う状態、つまり、非正常状態を監視するように設定され、リアルタイム監視アプリケーションは、監視対象のシンボルのシンボル値が閾値を超えた場合はアラームを発報する。このようにして、たとえば、PLC1は、設備が止まる前に兆候を捉えることができる。PLC1は、リアルタイム監視アプリケーションによる兆候監視の結果、監視対象のシンボルのシンボル値が閾値を超えた場合のアラームを、運転記録の保存条件としてもよい。PLC1は、リアルタイム監視アプリケーションによるアラーム発生をイベントトリガとして、トリガ前後の運転記録データを保存する。PLC1は、運転記録データの保存が完了すると保存完了デバイスをONする。運転記録分析アプリケーションは、運転記録データの保存が完了したことをうけ、自動的に運転記録データを分析してもよい。たとえば、運転記録分析アプリケーションは、保存完了デバイスをONしたことに応じて運転記録データを分析してもよい。運転記録分析アプリケーションは、分析対象となったシンボルのシンボル値(例、全ビットデバイスのデバイス値)を分析して、アラートが出た要因候補のシンボルを抽出する。このようにして運転記録分析アプリケーションは、リアルタイム監視アプリケーションによるアラーム発生の要因をアラーム発生により保存した運転記録データを自動分析し、運転記録データの中からいつもと違うシンボルを抽出する。これにより、CPU41aは、リアルタイム監視アプリケーションの兆候監視機能により設備の状態を常時監視し、変化要因でアラートを発報する。さらに、CPU41aは、アラート要因を自動分析し、いつもと違うシンボルを抽出する。つまり、PLC1は、シンボル値を常時監視することで被制御対象設備の兆候監視をして、アラームにより被制御対象設備が止まる前に兆候を報知して、兆候の要因を自動分析する。
【0055】
[工程監視アプリケーションの詳細]
図8はPC2bに表示される工程監視アプリケーションのダッシュボード100を示している。ダッシュボード100は、たとえば、表示データ77にしたがってWebブラウザ61により表示される。ダッシュボード100は、PC2aやHMI16などWebブウザとは異なるソフトウエアにより表示装置に表示されてもよい。ダッシュボード100は、監視結果をリアルタイムで表示する表示画面(ユーザーインタフェース)である。動作表示部101は、工程監視アプリケーションが動作中であるか、停止中であるかを表示する。切替ボタン102は、工程監視アプリケーションの動作状態を動作中と停止中との間で切り替えを停止/再開部86に指示するボタンである。切替ボタン102は、アプリケーションの動作/非動作だけでなく、試運転モードのオン/オフが切り替えられてもよい。試運転モードとは、警報状態と注意状態の判定は実行されて判定結果は表示されるが、判定結果が履歴として記録されないモードである。履歴ボタン103は、現在表示されている情報(測定値、チャートなど)を履歴として保存することを履歴保存部94に指示するためのボタンである。設定ボタン104は、工程監視アプリケーションの設定ウィザードを呼び出すためのボタンである。割合ボタン105は、各工程の測定値(開始トリガから終了トリガまでの時間)を工程ごとに割合で表示するよう表示処理部84に要求するためのボタンである。このように、表示データ77は、ボタンなどのコントロールオブジェクトを実現する表示部品を含んでいる。
【0056】
状態表示領域106aは、測定値が正常状態、注意状態または警状態報のいずれであるかを示す。項目名表示領域106bは各工程の名称を表示する。測定値表示領域106cは、開始トリガから終了トリガまでの時間の測定値を表示する。チャート表示領域106dは、測定値を棒状のオブジェクト107aで表示する。チャート表示領域106dは、測定値が警報状態かどうかを判定するための上限値および下限値と、測定値が注意状態かどうかを判定するための上限値を下限値とを縦線オブジェクト107cで表示してもよい。さらに、チャート表示領域106dは、学習結果またはユーザにより指定された測定値のマスタデータを棒状のオブジェクト107bで表示してもよい。マスタデータのオブジェクト107bは、たとえば、ハッチングを付与されることで、測定値のオブジェクト107aに対して視覚的に差別化されてもよい。詳細ボタン108は、測定値の詳細(例:トレンドグラフ、ヒストグラム)を表示することを指示するボタンである。
【0057】
図8においてチャート表示領域106dは同期モード(切り出しモード)で測定値を表示している。同期モードとは、サイクル全体動作における開始トリガのタイミングを起点として、各工程の測定値を表示するモードである。同期モードにおいてチャート表示領域106dは、一つの全体サイクルごとに、測定値とマスタデータを表示する。測定値はリアルタイムで更新される。そのため、全体サイクルの測定値を示すオブジェクト107aは時間の経過とともに徐々に左から右に向かって伸びて行く。各工程も開始トリガが発生すると、その工程の測定値を示すオブジェクト107aが時間の経過とともに徐々に左から右に向かって伸びて行く。終了トリガが発生すると、オブジェクト107bの伸びは停止する。なお、マスタデータのオブジェクト107bは常に一定の長さのオブジェクトとして表示され続ける。
【0058】
このように表示データ77は複数の表示領域106を実現するための表示部品を有している。また、表示処理部84が時間の経過とともに表示データ77を更新するため、ダッシュボード100に表示される情報も更新される。
【0059】
図9は、非同期モードにおける工程監視アプリケーションのダッシュボード100を示している。非同期モードにおいて各工程の継続時間の測定値のうち、最新の測定値は右から左に移動する棒状のオブジェクト107dとして表示される。過去の測定値は破線の棒状のオブジェクト107eとして表示される。つまり、ある工程について開始トリガが検知されると、オブジェクト107dがチャート表示領域106dの右端から左端に向けて延びて行く。その工程について終了トリガが検知されると、測定値が確定するため、オブジェクト107dの延びは停止する。その後、オブジェクト107dは測定値に対応する一定の長さを維持したまま、オブジェクト107dは時間の経過とともに左へ移動する。なお、チャート表示領域106dの左端に到着するとオブジェクト107dはそれ以上左に移動できないため、時間の経過とともに、オブジェクト107dは縮むように表示される。
【0060】
チャート表示領域106dは、連続した複数の全体サイクルについて測定値を表示してもよい。たとえば、ある工程について、過去の測定値を示すオブジェクト107eの右端から、次の測定値を示すオブジェクト107dの左端までの距離が短ければ短いほど、その工程には時間的な余裕が少なく、全体サイクルにおいてボトルネックになっていることが視覚的にわかる。
【0061】
オブジェクト107a、107b、107d、107eの色は、正常状態、注意状態および警報状態に応じて異なってもよい。たとえば、正常状態は緑色、注意状態は黄色、警報状態は赤色などで視覚的に差別化されてもよい。
【0062】
図10は割合ボタン105により呼び出される割合表示モードを示している。割合表示モードでは、たとえば、警報状態の上限値と注意状態の上限値とのうちいずれか大きい方が、チャート表示領域106dの全体の長さにおける70%となるように、オブジェクト107a、107bを正規化して表示するモードである。あるいは、警報状態の下限値と注意状態の下限値とのうちいずれか小さい方が、チャート表示領域106dの全体の長さにおける30%となるように、オブジェクト107a、107bを正規化して表示するモードであってもよい。あるいは、マスタデータがチャート表示領域106dの全体の長さにおける50%となるように、オブジェクト107a、107bを正規化して表示するモードであってもよい。あるいは、予め定められた最大監視時間を100%として、オブジェクト107a、107bを正規化して表示するモードであってもよい。割合を規定する具体的な数値は例示にすぎない。割合表示モードに関する表示設定(割合を示すパラメータなど)も後述される設定ウィザードにおいてユーザにより選択または指定されてもよい。
【0063】
図10においては、アプリケーションエラーが発生したことを示す通知表示領域109が設けられている。アプリケーションエラーが発生していなければ、通知表示領域109は、正常であることを表示するか、または、何も表示しなくてもよい。アプリケーションエラー検知部87がアプリケーションエラーを検知すると、通知が発行される。通知表示領域109は、この通知に基づき、エラーコードや発生日時などとともにエラーメッセージ(通知内容)を表示する。
【0064】
図10においては、バンク切替ボタン191が設けられている。バンク切替ボタン191はバンク切替部59に対して複数のバンクのうち一つのバンクを指定するためのボタンである。まだ、ユーザによりバンクが作成されていない場合、バンク切替ボタン191が押されると、バンク切替部59は、バンクの新規作成画面を表示部7に表示し、たとえば、バンクの識別情報(例:バンク番号やバンク名)の指定を受け付けてもよい。このようにして、メモリ42aは、複数のバンクが保存される。複数のバンクは設定データ73の一部であってもよい。
【0065】
各バンクには、注意状態の閾値設定、警報状態の閾値設定、チャートの表示設定(例:トレンドグラフの作成および表示の設定やヒストグラムの作成および表示の設定)が紐づけられている。そのため、バンクを切り替えることで、これらの設定も一括して切り替えられる。
【0066】
図11は詳細ボタン108を押すことで表示される詳細画面110を示している。表示処理部84は、詳細ボタン108を押されたことを示す情報を、Webサーバ85を通じて受信すると、詳細画面110を表示するための表示データを、Webサーバ85を通じてWebブラウザ61に送信する。なお、詳細画面110を表示するための表示データは、表示データ77の一部であってもよい。
【0067】
状態表示領域111は、詳細ボタン108により選択された工程の状態を示している。日時表示領域112は、状態表示領域111に示された状態が発生した日時を示す。戻るボタン113は、詳細画面110からダッシュボード100に戻ることを指示するボタンである。詳細ボタン108により選択された工程の状態の詳細は表示領域106a~106dに示される。割合ボタン105はチャート表示領域106dに設けられていてもよい。
【0068】
詳細表示領域114は、ボタン116aが押されるとヒストグラムを表示し、ボタン116bが押されるとトレンドグラフを表示する。ヒストグラム表示領域115は、直近データのヒストグラムと、マスタデータのヒストグラムとを対比可能に表示する。ヒストグラム表示領域115は、警報状態と注意状態の閾値(上限値、下限値)を縦線に表示してもよい。統計値表示領域117aは直近データの統計値(データ数、最大値、最小値および平均値)を表示する。統計値表示領域117bはマスタデータの統計値(データ数、最大値、最小値および平均値)を表示する。
【0069】
監視項目設定表示領域118は、監視項目として設定された項目名(工程名)、監視方法、開始トリガとなるビットデバイス、および、終了トリガとなるビットデバイスなどを表示する。編集ボタン120aは、監視項目の設定の編集を指示するボタンである。編集ボタン120aが押されると、拡張ユニット4aのCPU41a(表示処理部84および設定部80)がPC2bに対して設定の編集画面を表示してもよい。
【0070】
閾値設定表示領域119は、警報状態と注意状態の閾値(上限値、下限値)を表示する。編集ボタン120bは、閾値設定の編集を指示するボタンである。編集ボタン120bが押されると、拡張ユニット4aのCPU41aがPC2bに対して閾値設定の編集画面を表示してもよい。閾値自動設定ボタン121は、拡張ユニット4aのCPU41a(閾値設定部58)に対して閾値を自動で設定するよう指示するボタンである。
【0071】
図12は詳細ボタン108を押すことで表示される詳細画面110を示している。ここで、ボタン116bが押されたため、詳細表示領域114は、トレンドグラフ表示領域123にトレンドグラフを表示している。トレンドグラフ表示領域123は、最大値のトレンドを示す折れ線と、平均値のトレンドを示す折れ線と、最小値のトレンドを示す折れ線とを表示してもよい。さらに、警報状態と注意状態の閾値(上限値、下限値)を横線により表示してもよい。
【0072】
●設定ウィザード
図13は、これらのリアルタイム監視アプリケーションを設定する際にPC2の表示部7に表示される選択画面130を示している。PC2aとPC2bとでほぼ同一の選択画面130が表示される。PC2aとPC2bのいずれか一方に選択画面130が表示されてもよい。フロー・ダッシュボード作成部51は、ボタン131aの押し下げを検知すると、工程監視アプリケーションを設定するための設定ウィザードを表示部7に表示する。フロー・ダッシュボード作成部51は、ボタン131bの押し下げを検知すると、タイミング監視アプリケーションを設定するための設定ウィザードを表示部7に表示する。フロー・ダッシュボード作成部51は、ボタン131cの押し下げを検知すると、波形上下限監視アプリケーションを設定するための設定ウィザードを表示部7に表示する。フロー・ダッシュボード作成部51は、ボタン131dの押し下げを検知すると、波形ガードバンド監視アプリケーションを設定するための設定ウィザードを表示部7に表示する。フロー・ダッシュボード作成部51は、ボタン131eの押し下げを検知すると、カメラ監視アプリケーションを設定するための設定ウィザードを表示部7に表示する。ボタン131a~131eはポインタ132によって操作される。
【0073】
図14は工程監視アプリケーションを設定するための設定ウィザード140を示している。アプリケーション名設定部141は、設定対象となるリアルタイム監視アプリケーションの識別情報や名称の指定を受け付ける。アプリケーション名設定部141は、たとえば、アプリケーションID(=0、1、2・・・)ごとにアプリケーション名を受け付けてもよい。さらに、アプリケーション名設定部141は、複数の言語ごとのアプリケーション名の入力を受け付けてもよい。
【0074】
最大監視時間入力部142は、リアルタイム監視アプリケーションによってデバイス値等が連続的に監視される時間の入力を受け付ける。表示モード選択メニュー143は、チャート表示領域106dにおけるチャートの表示モードの選択を受け付けるメニューである。ここでは、上述された同期モードと非同期モードのいずれかが選択される。監視方法設定部145aは、工程ごとの監視方法の設定を受け付ける。監視方法のうち開始指定とは、ある開始トリガの入力から次の開始トリガの入力までの期間を監視期間とする監視方法を意味する。開始・終了指定とは、開始トリガの入力から終了トリガの入力までの期間を監視期間とする監視方法を意味する。項目名設定部145bは、工程の名称の入力を受け付ける。開始トリガ設定部145cは、開始トリガとなるビットデバイスの指定を受け付ける。終了トリガ設定部145d、終了トリガとなるビットデバイスの指定を受け付ける。監視方法が「開始指定」の場合は、終了トリガの設定は不要である。監視有効化部145eは、工程の監視を有効化するか無効化するかの指定を受け付ける。注意状態閾値設定部145fは、注意状態の上限値と下限値との指定を受け付ける。警報状態閾値設定部145gは、注意状態の上限値と下限値との指定を受け付ける。
図14には示されていないが、マスタデータの設定部および詳細設定部(例:閾値自動設定ボタン、トレンドグラフを作成するために使用されるデータ数の入力部)などが追加されてもよい。
【0075】
設定ウィザード140で受け付けられる設定情報のうち、開始トリガ設定部145cや終了トリガ設定部145d等で受け付けられる設定情報は、基本ユニット3で実行されるユーザプログラムを理解することで適切に選択される。しかし、ユーザプログラムの作成者と、リアルタイム監視アプリケーションの設定者とが異なることがある。この場合、リアルタイム監視アプリケーションの設定者はユーザプログラムを理解していないであろう。そこで、開始トリガとなるビットデバイスや終了トリガとなるビットデバイスがファイル形式で入力可能とされてもよい。全体工程に対する開始トリガと終了トリガ、および、個別の工程に対する開始トリガと終了トリガが、CSVなどの構造化データを含むファイル形式で、入力されてもよい。また、複数のアプリケーションに関するパラメータが、一括して構造化データを含むファイル形式で、入力されてもよい。複数のアプリケーションには、運転記録分析アプリケーションとリアルタイム監視アプリケーションが含まれてもよいし、リアルタイム監視アプリケーションのうち、工程監視アプリケーションとタイミング監視アプリケーションが含まれてもよい。パラメータは、項目名、トリガの種類(開始トリガのみを使用するか、開始トリガと終了トリガとの両方を使用する)、開始トリガのデバイス名とそのトリガ成立条件(デバイスの立上と立下のどちらをトリガ成立と判定するか)、終了トリガのデバイス名とそのトリガ成立条件を含んでもよい。
【0076】
表示モードとして同期モードが選択された場合、さらに、同期表示の基準となる項目名またはその項目の番号の指定を受け付ける受付部が表示されてもよい。
【0077】
言語設定ボタン146は、複数あるコメントセットのうちのどのセットに割り当てるかを設定するためのボタンである。たとえば、コメントセットの1番には日本語を割り当て、コメントセットの2番には英語を割り当てるといった言語設定が実行される。なお、アプリケーション名も言語設定に関連付けて入力される。たとえば、コメントセットの1番が日本語に設定されると、コメントセットの1番に設定されるアプリケーション名は日本語で記述される。
【0078】
翻訳ボタン147は、あるコメントセットにおいて、ある言語で記述された単語を、他のコメントセットにおける他の選択された言語の単語へと翻訳することをCPU41aに要求するボタンである。翻訳前の言語と、翻訳後の言語と、翻訳結果の出力先となるコメントセットの番号がユーザにより指定されると、CPU41aは翻訳を実行してコメントセットを作成する。CPU41aは、翻訳に使用する辞書データの指定をユーザから受け付けてもよい。
【0079】
設定保存ボタン148は、設定ウィザード140を通じ入力された設定データにファイル名を付与して保存することをCPU41aに命令するボタンである。設定読出ボタン149は、予め保存されている設定データを読み出して設定ウィザード140に反映することをCPU41aに命令するボタンである。
【0080】
●閾値自動設定
閾値設定部58は、
図12に示された閾値自動設定ボタン121が押されたことを検知すると、予め設けられた設定ルール(演算ルール)にしたがって注意状態の閾値と警報状態の閾値を一括して自動設定する。ここで、自動設定とは、設定される必要があるすべての閾値のうち少なくとも一部の閾値をユーザが手動で入力する作業を不要にすることをいう。閾値設定部58は、自動設定の演算に必要となる条件の入力を受け付けてもよい。ここで、条件は、閾値の演算に使用される測定データの指定と、閾値の演算手法(演算ルール)の指定とを含んでもよい。測定データとしては、ヒストグラムを表示するために蓄積されている測定データが指定されてもよいし、新規の測定データが指定されてもよい。後者の場合、閾値設定部58は、不図示の実行ボタンの押し下げを検知すると、データの測定を開始して、新規の測定データを取得して、閾値演算に使用する。
【0081】
図15は、閾値設定部58がPC2bの表示部7に表示する条件設定画面150を示している。この例では、各閾値ごとに演算手法の選択メニューが設けられている。この例では、測定データの標準偏差σを用いて注意状態の上限値(例:+σ)と下限値(例:-σ)が設定されることが選択されている。標準偏差σを用いる場合、ドリフト等の長期的なオフセットが少ない安定した条件下では、適切な閾値を設定しやすい。一方、長期的なオフセットを考慮して、測定データの最大値と最小値を用いて上限値と下限値とを設定できるようにしてもよい。たとえば、閾値設定部58は、最大値と最小値にそれぞれ1.1または0.9等の係数を乗算して上限値と下限値とを設定してもよい。また、警報状態に関しては、測定データの標準偏差σを用いて注意状態の上限値(例:+3σ)と下限値(例:-3σ)が設定されることが選択されている。警報状態に関しても、注意状態と同様に、最大値と最小値を用いた設定方法が用意されてもよい。マスタ値については、測定データの平均値が採用されている。このように、選択メニューにより複数の演算手法が提案され、ユーザにより選択された一つの演算手法が閾値の自動設定に使用される。なお、ユーザが閾値を指定する場合、チェックボックスからチェックが外される。
【0082】
●監視項目設定
図16は、編集ボタン120aが押されると表示される監視項目の手動設定画面200を示している。この例では、監視を有効にするか無効にするかを指示するトグルスイッチ201が設けられている。手動設定部202は、監視方法、項目名(工程名)、開始トリガおよび終了トリガの指定をユーザから受け付ける。設定部80は、手動設定画面200を通じて入力された情報を設定データ73に保存する。
【0083】
●閾値手動設定
図17は編集ボタン120bが押されると表示される閾値の手動設定画面210を示している。閾値入力部211は、注意状態および警報状態に関する閾値(上限値と下限値)に加えマスタ値について手動入力を受け付ける。設定部80は、手動設定画面210を通じて入力された情報を設定データ73に保存する。
【0084】
●システム設定
図18は設定ウィザード140に含まれるシステム設定タブ160を示している。運転記録設定部161は、運転記録を保存するか否かを指定するチェックボックスと、運転記録IDの指定部とを有している。このチェックボックスがチェックされると、運転記録保存部93が有効化される。詳細ボタン165aは、運転記録に関する詳細設定を受け付けるためのボタンである。たとえば、運転記録の保存条件の設定画面が表示されてもよい。この設定画面では、保存条件として、注意状態が発生したときにのみ運転記録を保存するか、警報状態が発生したときにのみ運転記録を保存するか、注意状態または警報状態のいずれかが発生したときに運転記録を保存するか、が選択される。
【0085】
イベント登録設定部162は、注意状態または警報状態を基本ユニット3のCPUイベント/エラー履歴に登録するかどうかの設定を受け付けるチェックボックスを有する。チェックボックスがチェックされると、上述されたイベント登録部92が有効化される。詳細ボタン165bは、イベント/エラー履歴に関する詳細設定を受け付けるためのボタンである。詳細ボタン165bが押されると、イベント/エラー履歴の登録条件の設定画面が表示され、登録条件として、注意状態が発生したときにのみ登録を実行するか、警報状態が発生したときにのみ登録を実行するか、注意状態または警報状態のいずれかが発生したときに登録を実行するか、が選択される。
【0086】
データ設定に関しては、メモリカード設定部163は、メモリカードを運転記録の保存先として使用するかどうかを指定するチェックボックスと、どのユニットに取り付けられた、メモリカードを使用するかを指定するメニューとを有している。
【0087】
履歴データ設定部164は、注意状態または警報状態が発生した後に履歴保存部94により保存されるチャートのデータ量の指定を受け付ける指定部と、履歴の最大保存件数の指定部と、トレンドグラフを表示するためのデータを保持するかどうかを指定するチェックボックスとを有する。
【0088】
高度な設定部166は、監視項目数(監視される工程の数)の上限数、項目名の文字列の長さの上限値、開始トリガ/終了トリガで指定される変数名の長さの上限値の指定などを受け付ける。システム設定タブ160を通じて入力された情報は設定部80により設定データ73に保存される。
【0089】
●ダッシュボードの他の例
図19はダッシュボード100の他の例を示している。すでに説明された表示部品には同一の参照符号が付与されており、その説明は省略される。
図19に示されたダッシュボード100には注意状態の閾値(上限値、下限値)を表示する閾値表示領域106eと警報状態の閾値(上限値、下限値)を表示する閾値表示領域106fとを含む。これらは数値として上限値と下限値を表示している。
図19に示されたダッシュボード100においても閾値自動設定ボタン121が押されると、
図15に示された条件設定画面150が表示され、指定された条件で全項目の閾値が自動設定される。その他のボタンや表示に関しては、
図10に関連して説明された通りである。
【0090】
●アプリケーション動作の切り替え画面
図20は、アプリケーションの動作を切り替える画面220を示している。画面220は、切替ボタン102が押されると、停止/再開部86によって、PC2bの表示部7に表示される。スイッチ221は、アプリケーションの動作状態を動作中または停止中に切り替えることを停止/再開部86に指示するスイッチである。スイッチ221は、試運転モードを有効または無効に切り替えることを停止/再開部86に指示するスイッチである。
【0091】
●チャートにおける測定データとマスタデータとの関係
図21は同期モードにおけるチャートを示している。ハッチングを施された棒状のオブジェクトはマスタデータを示している。空白の棒状のオブジェクトは各工程の継続時間(測定結果)を示している。この例では、時刻t0に全体サイクルの開始トリガがオンになっている。時刻t1にマスタデータにおける搬送工程が開始されている。一方、それに遅れて時刻t2で測定データにおける搬送工程が開始されている。時刻t3は、時刻t2を基準とした警報状態の下限値に相当する。時刻t4は、時刻t2を基準とした注意状態の下限値に相当する。時刻t5は、マスタデータにおける搬送工程が終了した時刻であり、加工工程の開始時刻である。時刻t6は、搬送工程について時刻t2を基準とした注意状態の上限値に相当する。時刻t7は、搬送工程について時刻t2を基準とした注意状態の上限値に相当する。実際には、時刻t1ないし時刻t7などは、時間の長さとして管理されている。たとえば、搬送工程について警報状態の下限値は、時刻t2から時刻t3までの時間長T1として予め記憶されている。搬送工程について注意状態の下限値は、時刻t2から時刻t4までの時間長T2として予め記憶されている。搬送工程について注意状態の上限は、時刻t2から時刻t6までの時間長T3として予め記憶されている。搬送工程について警報状態の上限値は、時刻t2から時刻t7までの時間長T4として予め記憶されている。時刻t2は毎回変わるため、時刻t2が判明すると、時刻t2に対して時間長T1~T4が加算されて、各閾値の表示位置が決定される。
【0092】
各工程の時間的な長さ(測定値)を示す棒状のオブジェクトは状態に応じて着色されてもよい。同様に、各状態の閾値を示す縦線も状態に応じて着色されてもよい。たとえば、正常状態は緑色に着色され、注意状態は黄色に着色され、警報状態は赤色に着色されてもよい。
【0093】
表示レンジには、(1)全体サイクルの最大監視時間、または、(2)閾値、マスタ値(マスタデータ)および前回の全体サイクルの測定値(測定データ)のうちでの最大値が設定される。(1)は、閾値もマスタ値も設定されていないケースである。(2)は、閾値およびマスタ値のいずれかが設定される場合である。
【0094】
[タイミング監視アプリケーションの詳細]
タイミング監視アプリケーションは、上述の工程監視アプリケーションの機能縮小版である。たとえば、工程監視アプリケーションには同期モード、非同期モード、割合表示モードが存在するが、タイミング監視アプリケーションは割合表示モードのみが存在する。また、工程監視アプリケーションでは、履歴保存イベントが発生すると、すべての工程のチャートが履歴として保存されるが、タイミング監視アプリケーションでは、履歴保存イベントの原因となった工程のチャートのみが保存される。タイミング監視アプリケーションは、主にアクチュエータ(例:エアシリンダ)の動作を監視することに使用される。つまり、工程監視アプリケーションの用途とタイミング監視アプリケーションの用途の違いをユーザにわかりやすくするために、タイミング監視アプリケーションは、工程監視アプリケーションから独立して用意されている。そのため、タイミング監視アプリケーションで実行可能か監視手法は、工程監視アプリケーションでも実行可能である。タイミング監視アプリケーションでは機能が削減されているため、設定ウィザードも簡素化される。これは、ユーザビリティを向上させるであろう。
【0095】
図22はタイミング監視アプリケーションの設定ウィザード140を示している。タイミング監視アプリケーションの設定ウィザード140も工程監視アプリケーションの設定ウィザード140とほぼ共通している。表示モードは割合表示モードに固定されるため、表示モードの選択メニューが省略されている。その一方で、工程ごとに最大監視時間の設定を受け付ける設定部145hが設けられている。タイミング監視アプリケーションにおける最大監視時間とは、終了トリガのタイムアウト時間である。工程監視アプリケーションでは全体サイクルに対して一つの最大監視時間が設定されているが、タイミング監視アプリケーションでは工程ごとに最大監視時間が設定される。
【0096】
[波形上下限監視アプリケーション]
●上下限監視
図23は波形上下限監視アプリケーションにおける監視手法(上下限監視)を説明する図である。横軸は時間を示す。縦軸は測定値の大きさを示す。上下限監視とは、ある測定時間内に測定された時系列の測定値がいずれも上限値以下でかつ下限値以上であるかどうかを監視する手法である。ここで、上限値と下限値とは、警報状態に設定された二つの閾値であってもよいし、注意状態に設定された二つの閾値であってもよい。
図23において正常範囲とは上限値以下でかつ下限値以上である範囲である。測定値が警報状態の上限値を超えると、CPU41aは、上限NGが発生したと判定し、警報通知を発行する。NGは不良(非正常)を意味する。測定値が警報状態の下限値を下回ると、CPU41aは、下限NGが発生したと判定し、警報通知を発行する。なお、注意状態に関しても同様の判定処理と通知処理とが実行される。
【0097】
●ピーク(ボトム)上下限監視
図24は波形上下限監視アプリケーションにおける監視手法(ピーク(ボトム)上下限監視)を説明する図である。横軸は時間を示す。縦軸は測定値を示す。ピーク(ボトム)上下限監視とは、ある測定時間内に測定された時系列の測定値のうちピーク値(またはボトム値)が上限値以下でかつ下限値以上であるかどうかを監視する手法である。ここで、上限値と下限値とは、警報状態に設定された二つの閾値であってもよいし、注意状態に設定された二つの閾値であってもよい。
図24において正常範囲とは上限値以下でかつ下限値以上である範囲である。ピーク値(またはボトム値)が正常範囲内に入っていない場合、CPU41a(分析部54、アプリケーション通知部91)は、ピーク値(またはボトム値)のNGが発生したと判定し、警報通知を発行する。なお、注意状態に関しても同様の判定処理と通知処理とが実行される。測定時間は、ユーザによってあらかじめ指定される。測定時間は、たとえば、開始トリガの立ち上がり(立下り)から計時される。
図24では、測定時間において測定されたピーク値が正常範囲に届いていないため、分析部54は、ピーク値のNGが発生したと判定し、アプリケーション通知部91が通知を発行する。
図24のケースでは、分析部54がNGを判定するタイミングは測定時間の終了時である。
【0098】
図25はピーク(ボトム)上下限監視に関する他の例を示している。
図25では、測定値が測定時間の途中で正常範囲を逸脱している。この場合、CPU41a(分析部54、アプリケーション通知部91)は、測定値が上限値を超えたタイミングで、ピーク値が上限値を超えたことを示す通知を発行する。このように、ピーク値の上下限監視を実行している場合、測定値が上限値を超えたタイミングで、NGを知らせる通知が発行される。
【0099】
なお、ボトム値の上下限監視を行っているときに、測定時間においてボトム値が上限値以下でかつ下限値以上に収まらなかった場合、CPU41aは、NGを通知する。この場合の判定タイミングは測定時間の終了タイミングである。一方、測定時間の途中で測定値が下限値を下回った場合、CPU41aは即座にNG通知を発行する。
【0100】
●タイミング上下限監視
図26はタイミング上下限監視を説明する図である。タイミング上下限監視とは、測定値の変化タイミングを監視することをいう。変化タイミングとは、たとえば、測定値が閾値(トリガレベル)を超えるタイミングなどである。
【0101】
CPU41a(分析部54)は、測定値が閾値(トリガレベル)を超えるタイミングが正常範囲内かどうか、を判定する。つまり、測定値がトリガレベルを超えたタイミングが下限値以上であり、かつ、上限値以下であれば、CPU41aは正常と判定する。
図26では、測定値がトリガレベルを超えたタイミングが上限値を超えているため、CPU41a(アプリケーション通知部91)は、NGを知らせる通知を発行する。この場合の判定タイミングは、上限値に相当するタイミングである。
【0102】
図27は、正常範囲内において測定値がトリガレベルを超えなかったケースを示している。CPU41a(分析部54、アプリケーション通知部91)は、正常範囲内で測定値はトリガレベルに到達しなかったため、NGを知らせる通知を発行する。この場合の判定タイミングは、上限値に相当するタイミングである。
【0103】
図28は、波形上下限監視アプリケーションにおける詳細表示領域114のUIを示している。波形上下限監視アプリケーションでは、
図12で示されたUIの詳細表示領域114に波形表示を指示するためのボタン116cが設けられている。ボタン116a~116cはタブとして実装されてもよい。
【0104】
ボタン116cが押されると、CPU41a(表示処理部84)は、測定値の時系列データである波形を波形表示領域305に表示する。この例では、波形表示領域305の横軸(表示レンジ)の長さは1つの測定時間に相当する。CPU41aによって過去の測定値における最大値と最小値とに基づき波形表示領域305の縦軸(表示レンジ)を決定する。つまり、過去の測定値における最大値と最小値とが表示レンジをはみ出さないように、縦軸の目盛りが設定される。CPU41aは、波形表示領域305に警報状態と注意状態の閾値を表示してもよい。CPU41aは、波形表示領域305にカーソル306を表示してもよい。カーソル306はユーザ操作に応じて横軸方向に移動可能であり、ツールチップ307に表示される測定値の収集時刻(収集タイミング)を指定する。ツールチップ307は、開始トリガを基準とした同一の経過時間における現在の測定値と過去の測定値を表示する。表示コントロール303は、波形表示領域305の表示の更新を停止したり、再開したりすることをCPU41aに指示するコントロールオブジェクトを含んでもよい。表示コントロール303は、波形表示領域305の横軸(時間軸)を拡大または縮小することをCPU41aに指示するコントロールオブジェクトを含んでもよい。CPU41aは、拡大された表示範囲の移動操作を受け付け、移動操作に応じて波形の表示範囲を移動してもよい。
【0105】
図28では同期モードにより複数の波形が表示されているが、非同期モードで波形が表示されてもよい。たとえば、波形の切り出し手法が未設定の場合、CPU41aは、波形表示領域305の右端に最新の測定値を表示する。最新の測定値が更新されると、CPU41aは、波形表示領域305の右端に最新の測定値を表示し、過去の測定値をその左側に表示する。これにより、波形表示領域305の右端から左端に向かって波形が移動するように、波形が表示される。この場合も波形表示領域305の横軸の表示レンジは最大監視時間に応じて設定されてもよい。CPU41a(表示処理部84、設定部80)はこれまでに取得された複数の測定値における最大値と最小値とに応じて縦軸の表示レンジを調整してもよい。
【0106】
CPU41a(表示処理部84)は、波形表示領域305に各状態の閾値を表示してもよい。この場合に、CPU41aは、現在の測定値、過去の測定値、および各状態の閾値の表示色をそれぞれ異なる色に設定してもよい。
【0107】
●監視手法
図29は、波形上下限監視アプリケーションにおける監視手法(波形切り出し手法)と判定手法との関係を示している。「開始トリガのみ」とは、ある開始トリガから次の開始トリガまでの時間を測定時間(監視時間)とする監視手法である。「開始トリガ/終了トリガ」とは、開始トリガから終了トリガまでの時間を測定時間(監視時間)とする監視手法である。「開始トリガ/監視時間」とは、開始トリガを起点とした所定時間を監視時間とする監視手法である。「常時監視」とは、常に監視する手法である。「サンプルトリガ」とは、あるサンプルトリガが入った瞬間のみ値を監視する手法である。
【0108】
図29が示すように監視手法と状態判定手法との組み合わせにより、5つの波形表示パターンが存在する。第1パターンでは波形は移動せず、波形表示領域305の左端は開始トリガの発生時刻に相当する。波形表示領域305の右端の位置は、過去に取得された波形に適用された波形切り出し範囲(監視時間)のうちで最大の範囲に相当する位置である。各トリガの発生タイミングが非周期的である場合に、波形切り出し範囲(監視時間)にばらつきが生じる。そのため、波形表示領域305の右端の位置は、このばらつきに応じて設定されてもよい。波形表示領域305には、最新波形に加えて、一つ以上の過去波形が表示されてもよい。また、各状態に対応した閾値が横棒として表示されてもよい。
【0109】
第2パターンは、波形表示領域305において波形が右端から左端に向かって移動するように表示され続ける手法である。波形表示領域305の横軸の表示レンジは、予めユーザにより設定された最大測定時間である。各状態に対応した閾値が横棒として表示される。
【0110】
第3パターンは、波形表示領域305において波形が右端から左端に向かって移動するように表示され続ける手法である。波形表示領域305の横軸の表示レンジは、予めユーザにより設定された最大測定時間である。各状態に対応した閾値が横棒として表示される。
【0111】
第4パターンは、波形は移動せず、波形表示領域305の左端は開始トリガの発生時刻に相当する。波形表示領域305の右端の位置は、波形切り出し範囲(監視時間)の終端の位置である。波形表示領域305には、最新波形に加えて、一つ以上の過去波形が表示されてもよい。また、各状態に対応した閾値が横棒として表示される。
【0112】
第5パターンは、波形は移動せず、波形表示領域305の左端は開始トリガの発生時刻に相当する。波形表示領域305の右端の位置は、波形切り出し範囲(監視時間)の終端の位置である。波形表示領域305には、最新波形に加えて、一つ以上の過去波形が表示されてもよい。また、各状態に対応した閾値が縦棒として表示される。さらに、変化タイミングに判定に使用されるトリガレベルを示す横棒も表示される。
【0113】
図30は、波形上下限監視アプリケーション用の設定ウィザード140を示している。すでに説明された部分については同一の参照符号が付与されている。
【0114】
判定手法設定部310aは、上述された波形判定手法のいずれかの設定を受け付ける。監視対象設定部310cは、監視対象となるユニット、デバイス(または変数)、データ型などの設定を受け付ける。収集周期設定部310dは、監視対象についての収集周期(例:定周期またはスキャンタイム)の設定を受け付ける。定周期が選択された場合、具体的な周期長(例:50ミリ秒)などの設定も受け付けられる。監視手法設定部310eは、上述された監視手法(例:開始トリガのみ、開始トリガ/終了トリガなど)のいずれかが選択される。指定条件設定部310fは、トリガとなるデバイスや、トリガ信号のタイミング(立下り、立ち上がり)、監視時間などの設定を受け付ける。変化タイミング設定部310gは、判定手法が変化タイミング(タイミング上下限監視)である場合に、トリガレベルや、トリガレベルに対する条件を受け付ける。トリガレベルに対する条件とは、たとえば、測定値がトリガレベルを超える(または下回る)までに要する時間(測定時間)を、各状態の上限値または下限値と比較することなどを意味する。トリガレベルに対する条件としては、たとえば、「超える」または「下回る」が選択されてもよい。
【0115】
図30では省略されているが、項目ごとに、監視を有効化するか無効化するかの指定を受け付ける監視有効化部145eが設けられてもよい。また、詳細設定ボタンなどが設けられてもよい。詳細設定ボタンが押されると、たとえば、ダッシュボードに表示される数値の小数点以下の桁数の設定が受け付けられてもよい。
【0116】
[波形ガードバンド監視アプリケーション]
波形ガードバンド監視とは、測定値からなる波形が上限値波形と下限値波形とにより定義される正常範囲(ガードバンド)内に収まっているかどうかを監視することをいう。上限値波形と下限値波形とはガードバンド波形(閾値波形)と呼ばれてもよい。なお、波形ガードバンド監視アプリケーションと、波形上下限監視アプリケーションとはほぼ共通したアプリケーションはである。ただし、これらは、判定手法における閾値が異なる。波形上下限監視アプリケーションでは、閾値は一定値として指定される。一方、波形ガードバンド監視アプリケーションでは、閾値は波形として指定される。さらに、波形ガードバンド監視アプリケーションでは監視手法として開始トリガ/測定時間だけが使用される。これは、測定波形を閾値波形と比較するためには、測定波形の時間的な長さと閾値波形の時間的長さとが一致していなければならないからである。波形上下限監視アプリケーションでは、
図29に示された5種類のパターンのうちのいずれかのパターンが使用される。
【0117】
図31は、波形ガードバンド監視アプリケーションの波形表示領域305に表示される波形を示している。CPU41aは、開始トリガを基準として閾値波形と測定波形とを同期させ、時間の経過とともに取得される測定値と閾値波形とを比較する。この例では、正常範囲は、上限値波形と下限値波形との間にある帯状の範囲(ガードバンド)である。
図31では、あるタイミングで測定値が上限値波形を超えているため、CPU41a(分析部54、アプリケーション通知部91)は、上限NGが発生したと判定して、通知を発行する。
図31では、さらに別のタイミングで測定値が下限値波形を下回っているため、CPU41aは、下限NGが発生したと判定して、通知を発行する。
【0118】
●閾値波形の設定方法
図32は閾値波形の設定方法(演算ルール)を示している。縦軸は値を示し、横軸は時間を示す。CPU41a(閾値設定部58)は、過去の測定データと、ユーザにより予め指定された値許容幅mvとに基づき上限値波形と下限値波形とを決定する。過去の測定データは、一回分の測定データであってもよいし、複数回の測定データの平均値データであってもよい。この例では、過去の測定値M(t)に対して値許容幅mvが加算されることで、上限値波形Uth(t)が演算されている。同様に、過去の測定値M(t)に対して値許容幅mvが減算されることで、下限値波形Lth(t)が演算されている。
【0119】
図33は閾値波形の他の設定方法(演算ルール)を示している。この例では、値許容幅mvを用いて求められた上限値波形Uth(t)と下限値波形Lth(t)とが、時間許容幅mtを用いて変形される。たとえば、時間許容幅mtが2である場合、新たな上限値波形Uth'(t)は、以下のように求められる。まず、Uth(t-2)、Uth(t-1)、Uth(t)、Uth(t+1)、Uth(t+2)のうちでの最大値Uth_max(t)が求められる。t=3の場合、Uth_max(3)は7である。よって、Uth'(3)は7に決定される。
【0120】
新たな下限値波形Lth'(t)は、以下のように求められる。時間許容幅mtが2である場合、Lth(t-2)、Lth(t-1)、Lth(t)、Lth(t+1)、Lth(t+2)のうちでの最小値Lth_min(t)が求められる。t=3の場合、Lth_min(3)は-1である。よって、Lth'(3)は-1に決定される。
【0121】
このように、ある時刻tにおける上限値Uth'(t)は、時刻t-mtと時刻t+mtとの間で取得されたmt+1個の測定値(値許容幅mvが使用される場合、Uth)のうちの最大値に決定される。同様に、ある時刻tにおける下限値Lth'(t)は、時刻t-mtと時刻t+mtとの間で取得されたmt+1個の測定値(値許容幅mvが使用される場合、Lth)のうちの最小値に決定される。
【0122】
図34は閾値波形のさらに他の設定方法を示している。CPU41a(閾値設定部58)は、PC2bの操作部8の操作に連動するポインタ132の軌跡に基づいて描画される自由曲線などを、上限値Uth(t)と下限値Lth(t)とに決定してもよい。たとえば、CPU41aは、ポインタ132の軌跡(自由曲線)の座標データをCSV形式のファイルとして保存してもよい。CPU41aは、アプリケーションIDと監視項目の番号とを組み合わせてファイルパスを作成し、そのファイルパスのCSV形式のファイルを保存する。これにより、監視アプリケーションと監視項目との組み合わせごとに上限値と下限値とを含むCSV形式のファイルが保存される。
【0123】
図35は、波形ガードバンド監視アプリケーションにおける詳細表示領域114のUIを示している。
図28と比較して
図35で異なる点は、各状態の閾値が波形として設定されている点である。波形ガードバンド監視アプリケーションにおけるその他の表示手法は、波形上下限監視アプリケーションの表示手法と同様である。たとえば、現在の波形に加えて、過去に測定された三つの波形も併せて表示されてもよい。
【0124】
上述されたように、波形ガードバンド監視アプリケーションの監視手法は開始トリガと測定時間とにより定義される。しかし、まれに監視手法がユーザによって未設定の場合がある。この場合、CPU41a(表示処理部84)は、波形表示領域305の右端に測定波形における最新の測定値が表示されるように、時間の経過とともに、表示を更新して行く。つまり、非同期モードと同様に、波形表示領域305の右端から左端に向かって波形が移動して行く。CPU41aは、開始トリガを基準として各状態の閾値波形を測定波形とともに表示してもよい。なお、波形表示領域305の横軸の表示レンジは、予めユーザによって定められた最大監視時間に設定される。
【0125】
図36は、波形ガードバンド監視アプリケーション用の設定ウィザード140を示している。すでに説明された部分については同一の参照符号が付与されている。設定部80は、設定ウィザード140をPC2bに表示させ、様々な設定を受け付ける。開始トリガ設定部320aは、開始トリガとなるデバイスなどの設定を受け付ける。測定時間設定部320bは、開始トリガを基準とした測定時間(監視時間)の設定を受け付ける。閾値指定手法設定部320cは、閾値指定手法の設定を受け付ける。上述されたように、許容幅(値許容幅と時間許容幅)と過去の測定データとを指定する手法と、自由曲線により閾値波形を指定する手法とのどちらかがユーザにより選択されてもよい。他の手法が実装されている場合は、その他の手法も選択肢となる。許容幅設定部320dでは、注意状態に関する値許容幅mvと時間許容幅mtとの設定を受け付ける。許容幅設定部320eでは、警報状態に関する値許容幅mvと時間許容幅mtとの設定を受け付ける。許容幅設定部320dと許容幅設定部320eは、上限閾値波形と下限閾値波形とで共通の値許容幅mvと時間許容幅mtとを受け付けているが、これは一例に過ぎない。上限閾値波形のため値許容幅mvと時間許容幅mtと、下限閾値波形のための値許容幅mvと時間許容幅mtとが個別に受け付けられてもよい。
【0126】
[フローチャート]
●工程監視アプリケーションとタイミング監視アプリケーション
図37は拡張ユニット4aのCPU41aにより実行される監視処理を示すフローチャートである。上述されたように、タイミング監視アプリケーションは、工程監視アプリケーションの機能縮小版(サブセット)であるため、以下で、両方のアプリケーションに適用される処理が説明される。また、監視アプリケーションは、拡張ユニット4aで実行されるデータ活用プログラムと、PC2bのWebブラウザで実行されるWebアプリケーションとを含む。
【0127】
S41でCPU41a(収集部82)は設定データ73に従い開始トリガおよび終了トリガに対応するデバイスまたは変数を監視する。設定データ73は、開始トリガとして利用されるデバイスまたは変数の名称と、デバイスまたは変数に格納される所定値とを保持している。当該デバイスまたは変数の値が所定値に変化したタイミングが開始タイミングであるいは、デバイスまたは変数の変化が立ち上がりエッジまたは立下りエッジであることが開始条件として設定されてもよい。終了トリガについても同様である。CPU41a(収集部82)は設定データ73に基づくデータ活用プログラムを実行することによって設定データ73により指定される収集対象のデバイス値を収集し、メモリ42aに、収集されたデータ76として格納する。ここで、収集されたデータ76は、異なる時刻に収集された時系列データであってもよい。データ活用プログラムとは別に、設定データ73内の収集設定データ74aに従い収集動作を実行する収集プログラムを備えていてもよい。
【0128】
S2でCPU41a(データ処理部83)は活用プログラムテンプレート72により指定されたデータ活用プログラムを実行する。CPU41a(データ処理部83)はデータ活用プログラムを実行することで、収集されたデータ75(デバイス値)に基づいて開始トリガの条件を満たすタイミングから終了トリガの条件を満たすタイミングまでの時間情報を決定する。CPU41a(データ処理部83)は、監視対象として設定されたデバイスや変数が立ち上がりエッジ等の条件を満たすかを監視する。ここでは、条件を満たすタイミング、つまり開始トリガの条件を満たすタイミングが監視される。CPU41a(データ処理部83)は、監視対象として設定されたデバイスや変数が立ち上がりエッジ等の条件を満たすかを監視する。ここでは、条件を満たすタイミング、つまり終了トリガの条件を満たすタイミングが監視される。CPU41a(データ処理部83)により決定される時間情報は、開始トリガの条件を満たすタイミングから終了トリガの条件を満たすタイミングまでの時間幅(測定時間)であってもよい。
【0129】
S3でCPU41a(データ処理部83)はS2で決定された時間情報と設定データ73に従い設定された判定閾値に基づいて状態を判定する。CPU41a(データ処理部83)はデータ活用プログラムを実行することで、この判定を実行する。判定閾値として注意状態や警報状態のための上限値および下限値が設定されている場合がある。この場合、CPU41a(データ処理部83)は、測定値である決定された時間情報が上限値を上回るか否かを判定する。また、CPU41a(データ処理部83)は、決定された時間情報が下限値を下回るか否かを判定する。監視対象の状態としては、正常状態、注意状態、警報状態が含まれてもよい。正常状態に対する測定値の乖離度に基づき注意状態と警報状態とが区別される。正常状態の測定値(正常値)と警報状態の測定値(警報値)との差は、正常状態の測定値と注意状態の測定値(注意値)との差よりも大きい。よって、警報状態の閾値には、注意状態の閾値よりも正常値から乖離した値が設定される。注意状態の閾値と警報状態の閾値とがそれぞれ上限値として設定される場合がある。この場合、CPU41a(データ処理部83)は、決定された時間情報が注意状態の閾値以下であるときに、監視対象の状態を「正常状態」と判定する。CPU41a(データ処理部83)は、決定された時間情報が注意状態の閾値を超え、かつ、警報状態の閾値以下であるときに監視対象の状態を「注意状態」と判定する。CPU41a(データ処理部83)は、決定された時間情報が警報状態の閾値を超えるときに、監視対象の状態を「警報状態」と判定する。これにより、解析されたデータ76が作成され、メモリ42aに保存される。
【0130】
注意状態の閾値と警報状態の閾値とがそれぞれ下限値として設定される場合がある。この場合、CPU41a(データ処理部83)は、決定された時間情報が注意状態の閾値以上であるときに、監視対象の状態を「正常状態」と判定する。CPU41a(データ処理部83)は、決定された時間情報が注意状態の閾値未満となり、かつ、警報状態の閾値以上であるときに監視対象の状態を「注意状態」と判定する。CPU41a(データ処理部83)は、決定された時間情報が警報状態の閾値未満であるときに、監視対象の状態を「警報状態」と判定する。これにより、解析されたデータ76が作成され、メモリ42aに保存される。
【0131】
注意状態の閾値と警報状態の閾値とがそれぞれ上限値および下限値により設定される場合がある。この場合、CPU41a(データ処理部83)は、決定された時間情報が注意状態の下限値以上でありかつ、決定された時間情報が注意状態の閾値上限以下であるときに、監視対象の状態を「正常状態」と判定する。CPU41a(データ処理部83)は、決定された時間情報が警報状態の上限値未満となり、かつ、注意状態の上限閾値以上であるときに監視対象の状態を「注意状態」と判定する。同様に、CPU41a(データ処理部83)は、決定された時間情報が注意状態の下限値未満となり、かつ、警報状態の下限値以上であるときに監視対象の状態を「注意状態」と判定する。CPU41a(データ処理部83)は、決定された時間情報が警報状態の下限閾値未満であるか、または、決定された時間情報が警報状態の上限閾値を超えているときに、監視対象の状態を「警報状態」と判定する。これにより、解析されたデータ76が作成され、メモリ42aに保存される。
【0132】
S4でCPU41a(表示処理部84)はS42で決定された時間情報、判定閾値、S3で判定された監視対象の状態を含むダッシュボードの表示データ77を生成する。CPU41a(表示処理部84)はダッシュボードテンプレート71と設定データ73とに基づいて決定した時間情報、判定閾値、判定した監視対象の状態を、ダッシュボードテンプレート71に割り当てられた変数に反映する。たとえば、CPU41aは、チャート表示領域106dに、開始トリガの条件を満たすタイミングから終了トリガの条件を満たすタイミングまでの時間幅を示す測定値が棒グラフの形式で表示されるように表示データ77を作成する。表示データ77はWebアプリケーションの一部として作成されてもよい。このときと開始トリガの条件を満たすタイミングから終了トリガの条件を満たすタイミングまでの時間が帯状に表示されてもよい。これにより、時間幅だけでなく、サイクル動作の制御において各監視対象がサイクル内のどのタイミングで動作しているかを示すダッシュボードが表示される。CPU41aは、表示対象データを定期的に更新することで表示データ77を作成してもよい。CPU41aは、収集されたデータ75および/または解析されたデータ76などの表示対象データを用いて表示データ77を作成する。
【0133】
S5でCPU41a(Webサーバ85)は表示データ77をPC2bに提供する。CPU41aは表示データ77をPLC1の表示器(HMI16)に表示してもよい。PLC1の表示器はPLC1に内蔵されていてもよいし、PLC1に対して有線たまは無線により接続されていてもよい。
【0134】
●波形上下限監視アプリケーションおよび波形ガードバンド監視アプリケーション
図38は波形監視アプリケーションに関する監視処理を示すフローチャートである。
図38において
図37と共通する処理には同一の参照符号が付与されており、その説明は省略される。上述されたS1の次にCPU41aはS12に進む。
【0135】
S12でCPU41a(データ処理部83)は、設定データ73にしたがって収集されたデータ75(デバイス値)に基づいて開始トリガの条件を満たすタイミングから終了トリガの条件を満たすタイミングまでの監視期間において切り出した波形の特徴量を求める。上下限監視アプリケーションの特徴量は測定値そのものである。ピーク上下限監視の特徴量は、監視期間において測定されたすべての測定値のうちの最大値(ピーク値)である。ボトム上下限監視の特徴量は、監視期間において測定されたすべての測定値のうちの最小値(ボトム値)である。変化タイミング監視の特徴量は、開始トリガがオンになってから、測定値が最初にトリガレベルを超えた測定時刻までの時間である。
【0136】
S13でCPU41a(データ処理部83)は、特徴量と判定閾値とに基づいて状態を判定する。判定閾値は判定手法に応じて異なる。たとえば、波形ガードバンド監視アプリケーションでは、判定閾値が波形データ(CSV形式のファイルなど)として提供される。S3で説明されたように特徴量と判定閾値(各状態の閾値である上限値、下限値)とを比較することで、監視対象項目の状態が、正常状態、注意状態または警報状態に分類される。
【0137】
S14でCPU41a(表示処理部84)は、判定閾値、波形(測定値または特徴量)、および、判定された情報(判定結果)をダッシュボードに表示するための表示データ77を生成する。S5でダッシュボード100の表示データ77がPC2a、PC2bまたはHMI16に提供される。
【0138】
[KPI算出アプリケーションの詳細]
図40はPC2bに表示されるKPI算出アプリケーションのダッシュボード400を示している。KPI算出アプリケーションは、たとえば生産準備期間のKPIを算出するものであってもよい。KPI算出アプリケーションのダッシュボード400は、算出したKPIを表示する。ここでKPIは、一定期間のKPIを含む。たとえば、時間あたり出来高、可動率、良品率、サイクルタイムなどが含まれてもよい。KPI算出アプリケーションは、KPIに加え、KPIの目標に対する達成率を算出し、達成率を表示にしてもよい。一定期間のKPIは、KPI算出アプリケーションのダッシュボード400に表示され計測開始ボタン401が押されてから計測終了ボタン402が押されるまでの計測期間におけるKPIであってもよい。このように、ユーザ入力により指定された計測期間におけるKPIが算出されもよい。あるいは、計測期間を規定するデバイスが設定されてもよい。この場合、設定されたデバイスのデバイス値に応じて決まる計測期間におけるKPIが算出されよう。
【0139】
KPI算出アプリケーションのダッシュボード400は、KPIの項目表示部410と、計測結果表示部420とを有している。項目表示部410は、KPIの項目として、出来高計測に関する項目、平均CT(サイクルタイム)に関する項目、良品率に関する項目、可動率に関する項目を表示する。計測結果表示部420は、KPIの算出に使用された生データ(計測結果)を表示する。計測結果は、計測開始時刻、計測終了時刻、経過時間、稼働時間、サイクルタイム、サイクルタイムの計測回数、生産品の排出回数、良品数、不良数などを含んでもよい。KPI算出アプリケーションのダッシュボード400は、計測開始から計測終了前までは、計測開始から現在時刻までの計測値に基づいて算出されたKPIを表示する。ダッシュボード400は、計測終了後には、計測開始から計測終了までの計測値に基づいて算出されたKPIを表示する。ダッシュボード400は、ユーザ入力やデバイス入力に基づく計測開始時刻を開始時刻の表示欄に表示する。ダッシュボード400は、ユーザ入力やデバイス入力に基づく計測終了時刻を終了時刻の表示欄に表示する。ダッシュボード400は、計測開始から現在時刻まで時間を経過時間の表示欄に表示する。終了時刻の表示欄は、計測がまだ終了していない場合、計測中である旨を表示してもよい。
【0140】
KPI算出アプリケーション(フロー・ダッシュボード作成部51)は、KPIの各項目を算出するためのパラメータ設定を受け付ける。フロー・ダッシュボード作成部51は、たとえば、生産設備が稼働していることを示す稼働信号、生産設備において生産品を排出したことを示す排出信号、1サイクルあたりの取り数、および、1サイクルあたりの不良数のそれぞれに対応するデバイスの指定を受け付ける。稼働信号としては稼働中にONするビットデバイスが指定されてもよい。排出信号としては生産品を排出するごとにONするビットデバイスが指定されてもよい。1サイクル取り数としては取り数を示す定数または定数を格納したワードデバイスが指定されてもよい。1サイクル不良数としては1サイクルあたりの不良数を格納したデバイスが指定されてもよい。
【0141】
サイクルタイムとしては工程監視アプリケーションにおいて測定された全体サイクルの時間(測定値)が指定されてもよい。KPI算出アプリケーションは、他のアプリケーションにより計測された値、つまりサイクルタイムやサイクルタイムの測定回数を取得する。KPI算出アプリケーションは、工程監視アプリケーションから全体サイクルの測定値やサイクルタイムの測定回数を自動取得にしてもよい。サイクルタイムの測定回数は、全体サイクルの開始から終了までを1回の測定とカウントしたものである。そのため、サイクルタイムの測定回数は全体サイクルの繰り返し回数を示す。
【0142】
ダッシュボード400は、稼働中にONするビットデバイスのON時間に基づき計測された稼働時間を稼働時間表示欄に表示する。ダッシュボード400は、工程監視アプリケーションから自動取得した現在のサイクルタイムを現在CT表示欄に表示し、サイクルタイムの測定回数をCTカウント表示欄に表示する。ダッシュボード400は、生産品を排出するごとにONするビットデバイスのON回数を排出信号ONの表示欄に表示する。ダッシュボード400は、良品数を良品数表示欄に表示し、不良数を不良数表示欄に表示する。良品数は、排出信号がONするたびに1サイクルあたりの取り数から1サイクルあたりの不良数を差し引いた個数を加算した累積個数である。不良数は、排出信号がONするたびに1サイクルあたりの不良数を加算した累積個数である。
【0143】
ダッシュボード400の項目表示部410は、ユーザ入力された各目標値と、計測結果に基づき算出されたKPIの各項目と、各項目に対応する達成率とを達成率のグラフとともに表示してもよい。各項目に対する達成率は、各KPIの項目の各目標に対する実際の値(算出されたKPI)を示す。出来高は良品数に相当する。平均CTは、全体サイクルの測定値の累積値をサイクルタイム測定回数で除したものである。良品率は良品数を総生産数で除したものである。総生産数は排出信号がONするたびに1サイクルあたりの取り数を加算した累積個数である。
図40の例では、排出信号ONの回数が163回である。取り数は12個である。良品数が1917個である。そのため、良品率は1917/(163×12)と演算される。可動率は、稼働時間を経過時間で除したものである。なお、KPI算出アプリケーションのダッシュボード400は、上述されたリアルタイム画面の他、KPI算出アプリケーションを設定するための設定画面を表示するための設定ボタン404と、過去の履歴を表示する履歴画面を表示するための履歴表示ボタン403を有していてもよい。
【0144】
<まとめ>
[観点1]
記憶装置32やメモリ42a、42bはアプリケーションプログラムを記憶する記憶手段として使用されてもよい。CPU31、41a、41bはアプリケーションプログラムを実行する実行手段として機能してもよい。
【0145】
収集部82は、アプリケーションプログラムにしたがって収集対象となるデバイスまたは変数であるシンボルに格納されているシンボル値を収集する収集手段の一例である。フロー実行部81(分析部54)は、アプリケーションプログラムにしたがって収集手段により収集されたシンボル値が、アプリケーションプログラムに対して設定された正常条件を満たしているかどうかを判定または分析することで、シンボル値に関していつもと異なる状況を検知する判定手段または分析手段として機能してもよい。表示処理部84は、判定結果または分析結果と、アプリケーションプログラムにしたがって収集手段により収集されたシンボル値を示す情報とを含む表示画面(例:ダッシュボード100)を生成する生成手段として機能する。ダッシュボード100は、プログラム作成支援装置であるPC2a、Webブラウザを有したPC2bまたはHMI16のいずれに表示されてもよい。表示画面を表示するために必要となる表示データ77は、画像または映像であってもよいし、Webアプリケーションとして実現されてもよい。また、シンボル値はリアルタイムで収集されて表示されてもよい。つまり、表示画面が表示されている間は、リアルタイムでシンボル値が更新されて表示されてもよい。
【0146】
[観点2]
判定手段または分析手段(例:フロー実行部81)は、PLC1により実行される工程の継続時間(例:開始トリガから終了トリガまでの時間)が正常条件を満たしているどうかを判定または分析してもよい。なお、継続時間は監視時間や測定時間と呼ばれてもよい。
【0147】
[観点3]
シンボル値(例:デバイス値または変数に格納された値)は、工程の開始を示す開始デバイスのデバイス値と、工程の終了を示す終了デバイスのデバイス値とを含んでもよい。継続時間は、開始デバイスのデバイス値が変化したタイミングから終了デバイスのデバイス値が変化したタイミングまでの時間であってもよい。継続時間は、第一の開始トリガから第二の開始トリガまでの時間であってもよい。第二の開始トリガは第一の開始トリガの次の開始トリガである。また、継続時間は、第一の開始トリガを起点とした所定時間であってもよい。
【0148】
[観点4]
収集手段(例:収集部82)は、一つの動作サイクルを構成している複数の工程(例:全体サイクル、搬送工程、加工工程、検査工程、排出工程など)のそれぞれについて継続時間を求めるためのシンボル値を収集してもよい。生成手段(例:表示処理部84)は、複数の工程のそれぞれについて継続時間を表示するための表示画面を生成するように構成されていてもよい。
【0149】
[観点5]
表示画面は、複数の工程のそれぞれについての継続時間を示唆するグラフィカルオブジェクト(例:棒状のオブジェクト)と、複数の工程のそれぞれについての継続時間と対比されるマスタデータを示唆するグラフィカルオブジェクトとを表示するように構成されていてもよい。マスタデータはいつもと同様の状態を示すデータであるため、ユーザは、どの工程においていつもと異なる事象が発生しているかを、容易に認識できるであろう。
【0150】
[観点6]
非同期モードに関して説明されたように、グラフィカルオブジェクトは、時間の経過とともに、表示画面において一方向に移動するように表示されてもよい。同期モードに関して説明されたように、グラフィカルオブジェクトは、表示画面における所定位置を起点として一方向に伸びるように表示されてもよい。
【0151】
[観点7]
表示画面は、グラフィカルオブジェクトとともに、正常条件を示すグラフィカルオブジェクト(例:縦線、横線、波形、帯)を表示するように構成されていてもよい。
【0152】
[観点8]
発報部90は、シンボル値がユーザにより設定された通知条件を満たすと、通知を発行する通知手段として機能してもよい。
【0153】
[観点9]
通知手段は、表示画面を表示する周辺機器に対して通知を送信するように構成されていてもよい。
図19などが例示するように、アプリケーション通知部91は、ダッシュボード100に通知を表示してもよい。
図39が例示するように、アプリケーション通知部91は、ダッシュボード330に対してダイアログ331を重ねて表示してもよい。ダイアログ331は、アプリケーションの監視状態が正常状態から注意状態または警報状態に変化したことを示すメッセージを含んでいてもよい。複数の通知が時間を空けて発生した場合、アプリケーション通知部91は、監視アプリケーションごとに最新の一つの通知だけをダイアログ331に表示してもよい。ダイアログ331には、クリアボタン332が設けられていてもよい。アプリケーション通知部91は、クリアボタン332がユーザにより押されたことを検知すると、ダイアログ331を消去してもよい。アプリケーション通知部91は、監視対象デバイスごとに、通知を保持していてもよい。アプリケーション通知部91は、クリアボタン332が押されると、クリアボタン332を含むダイアログ331に紐づけられている監視対象デバイスについてのすべての通知を削除してもよい。なお、監視対象デバイスに関する通知が発生したときに、PC2b等でダッシュボード100、330が表示されていないことがある。この場合、アプリケーション通知部91は、ダッシュボード100、330がPC2bにおいて表示されると、これまで保持しておいた通知を示すダイアログ331をPC2bに表示してもよい。なお、PC2a、2bのCPU11やHMI16は、アプリケーション通知部91に対してポーリングを実行して通知を取得してダイアログ331を表示してもよい。表示リンク333は、ダイアログ331により通知されたデバイスを監視している監視アプリケーションのダッシュボード100、330を呼び出すためのリンクである。表示リンク333が押されたことを検知すると、表示処理部84は、表示リンク333に紐づけられているダッシュボード100、330の表示データ77を、Webサーバ85を介してPC2bに送信する。これにより、通知が発生したときのデバイス値を示すチャートがダッシュボード100、330に表示される。
【0154】
[観点10]
イベント登録部92は、PLC1において発生するエラーまたはイベントの履歴を登録する登録手段として機能してもよい。イベント登録部92は、シンボル値が登録条件(例:注意状態または警報状態)を満たすと履歴に登録するように構成されていてもよい。たとえば、この履歴は、基本ユニット3のCPU31により保持されてもよい。イベント登録部92は、内部バス19を介してCPU31に履歴への登録を要求してもよい。
【0155】
[観点11]
運転記録保存部93は、シンボル値が保存条件(例:注意状態または警報状態)を満たすと当該シンボル値を運転記録として保存する運転記録保存手段として機能する。この場合、CPU41a(フロー実行部81)は、運転記録を分析して分析結果を示す分析レポートを作成して周辺装置に表示してもよい。
【0156】
[観点12]
履歴保存部94は、正常条件を逸脱したシンボル値が検知されると、当該シンボル値、正常条件、および表示画面を履歴として保存する履歴保存手段として機能する。たとえば、正常条件を逸脱したシンボル値が検知されると、そのシンボル値だけでなく、そのシンボル値に関する表示データ77が保存されてもよい。
【0157】
[観点13、14]
図12が示すように、表示画面は、シンボル値、または、当該シンボル値から求められた時間のトレンドを示すトレンドグラフを含んでもよい。
図11が示すように、表示画面は、シンボル値、または、当該シンボル値から求められた時間のヒストグラムを含んでもよい。
【0158】
[観点15、16]
設定部80や設定ウィザード140などは、正常条件を設定する設定手段として機能する。
図32や
図33を用いて説明されたように、設定手段(閾値設定部58)は、予め取得されたシンボル値に所定の演算ルールを適用して正常条件を作成するように構成されていてもよい。たとえば、閾値設定部58は、所定の演算ルールとしてユーザにより指定された演算ルールを使用してもよい。
【0159】
[観点17]
メモリ42aは、それぞれ異なる正常条件を有する複数の条件セットを記憶する条件記憶手段として機能してもよい。バンク切替部59は、ユーザ指示に応じて条件記憶手段に記憶されている複数の条件セットのうち一つの条件セットを選択する選択手段として機能してもよい。これにより正常条件を容易に変更することが可能となろう。複数の条件セットは、たとえば、PLC1により制御される製造ラインで製造される製品の品種ごとに用意されていてもよい。
【0160】
[観点18]
停止/再開部86および切替ボタン102は、アプリケーションプログラムの実行停止または実行再開に関する指示を入力する入力手段の一例である。停止/再開部86は、アプリケーションプログラムの実行停止に関する指示が入力されると、アプリケーションプログラムの実行を停止する。アプリケーションプログラムの実行再開に関する指示が入力されると、停止/再開部86は、アプリケーションプログラムの実行を再開する。これにより、ユーザは、容易にアプリケーションプログラムの停止と再開とを指示することが可能となる。
【0161】
[観点19]
アプリケーションエラー検知部87は、アプリケーションプログラムの正常な実行を妨げる事象を検知し、当該事象を報告するように構成されていてもよい。このような事象としては、ラダープログラム等で使用されないデバイスが監視対象デバイスとして指定されていることなである。また、監視対象として指定された変数がユーザプログラムに記述されていないことなども、一種のエラーとして検知されてもよい。また、収集されたデータ75や解析されたデータ76の保存先として指定されたメモリカードの空き容量が不足していることなども、一種のエラーとして検知されてもよい。これらのエラーは、いずれもアプリケーションプログラムの正常な実行を妨げるからである。
【0162】
[観点20]
図23や
図28などが示すように、生成手段(表示処理部84)は、収集手段により時系列データとして収集された複数のシンボル値を波形として表示するよう表示画面を生成してもよい。
【0163】
[観点21]
図28が示すように、生成手段(表示処理部84)は、第一の収集期間に収集手段により時系列データとして収集された複数のシンボル値を示す第一波形(太線)と、第一の収集期間よりも過去の第二の収集期間に収集手段により時系列データとして収集された複数のシンボル値を示す第二波形(細線)とを重ねて表示してもよい。第一波形表示中にユーザがラッチ操作を行うことにより第一波形をラッチし、そのラッチした波形を第二波形としてもよい。これにより、ユーザは、現在の波形と、過去のいくつかの波形とを対比しやすくなるであろう。
【0164】
[観点22]
生成手段(表示処理部84)は、波形のピーク値またはボトム値を規制するための閾値(例:注意状態または警報状態の上限値もしくは下限値)であって正常条件に含まれる閾値を示す線を、波形とともに表示するよう表示画面を生成してもよい。これにより、ユーザは、ピーク値やボトム値が閾値に対してどの程度の余裕があるかなどを視覚的に理解しやすくなるであろう。
【0165】
[観点23]
図26や
図27が示すように、生成手段(表示処理部84)は、シンボル値が所定値(例:トリガレベル)を超えるタイミングを規制するための閾値であって正常条件に含まれる閾値を示す線を波形とともに表示するよう表示画面を生成してもよい。
【0166】
[観点24]
図32や
図33を用いて説明されたように、閾値設定部58は、シンボル値に基づく測定波形とユーザ入力とに基づき閾値の集合である閾値波形を決定する閾値決定手段として機能してもよい。ユーザ入力は、たとえば、測定波形に対して加算または減算される係数(例:値許容幅mv)を含んでもよい。ユーザ入力は、測定波形を構成する複数のシンボル値のうち、閾値波形における注目タイミングの閾値を決定するために考慮される波形区間(例:時間許容幅mt)であって、当該注目タイミングの前後の波形区間を指定する指定情報を含んでもよい。これにより、容易に閾値を設定することが可能となる。
【0167】
[観点27]
図34が示すように、閾値設定部58は、ユーザにより描画される自由曲線に基づき閾値の集合である閾値波形を決定する閾値決定手段として機能してもよい。
【0168】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。