以下に、本開示の実施の形態にかかるデータ表示プログラム、プログラマブル表示器およびプログラマブル表示器の再現シミュレータを図面に基づいて詳細に説明する。なお、この実施の形態によりこの開示が限定されるものではない。
実施の形態1.
最初に、実施の形態1によるデータ表示プログラムが導入された異常原因解析支援装置について説明を行い、その後に、異常原因解析支援装置でのデータ表示方法について説明を行う。図1は、実施の形態1による異常原因解析支援装置の機能構成の一例を模式的に示すブロック図である。異常原因解析支援装置10は、プログラマブルロジックコントローラ71およびプログラマブル表示器72を有する生産設備システム70における異常原因の解析を支援する装置である。
図1の例では、異常原因解析支援装置10は、生産設備システム70の1台のプログラマブルロジックコントローラ71と1台のプログラマブル表示器72とに接続されている。プログラマブルロジックコントローラ71は、制御プログラムにしたがって図示しないデバイスとの間でデータの入出力処理を行ったり、デバイスから入力されたデータを用いた演算処理を行ったりする。プログラマブルロジックコントローラ71は、各時刻における動作状況を示すデータを再現データとして異常原因解析支援装置10に出力する。
プログラマブル表示器72は、プログラマブルロジックコントローラ71での動作状況を表示するとともに、生産設備システム70での異常発生要因の解決に利用可能なデータである解析データを収集する。解析データは、日時と対応付けられた内容を有する複数のレコードを含む。解析データの一例は、プログラマブル表示器72が収集したアラームデータ、操作ログデータ、ロギングデータである。プログラマブル表示器72は、各時刻における動作状況を示すデータである再現データと、生産設備システム70で発生した事象を発生した日時を示す発生日時と対応付けた解析データと、を異常原因解析支援装置10に出力する。
異常原因解析支援装置10は、再現データ取得部11と、再現データ取得部12と、再現データ記憶部13と、解析データ取得部14と、解析データ記憶部15と、プログラマブルロジックコントローラ動作再現部16と、プログラマブル表示器動作再現部17と、データ表示部18と、入力部19と、表示部20と、を備える。
再現データ取得部11は、プログラマブルロジックコントローラ71から第1再現データである再現データ131を取得する。再現データ取得部11は、取得した再現データ131を再現データ記憶部13に保存する。
再現データ取得部12は、プログラマブル表示器72から第2再現データである再現データ132を取得する。再現データ取得部12は、取得した再現データ132を再現データ記憶部13に保存する。
再現データ記憶部13は、再現データ取得部11,12で取得されたプログラマブルロジックコントローラ71の再現データ131およびプログラマブル表示器72の再現データ132を記憶する。
解析データ取得部14は、プログラマブル表示器72から出力された解析データ151a,151bを取得し、取得した解析データ151a,151bを解析データ記憶部15に保存する。解析データ記憶部15は、解析データ151a,151bを記憶する。解析データ記憶部15では、出力された解析データ151a,151bがファイルごとに管理される。解析データ取得部14は、解析データ151a,151bの取得が完了し、解析データ記憶部15に記憶された後でも、再度、解析データ151a,151bを取得することが可能であるものとする。図1では、解析データ記憶部15に2つの解析データ151a,151bが記憶される場合が示されるが、解析データ記憶部15に記憶される解析データ151a,151bのファイルの数は、プログラマブル表示器72から送られる解析データの数に依存する。
プログラマブルロジックコントローラ動作再現部16は、再現データ取得部11で取得されたプログラマブルロジックコントローラ71の再現データ131に基づいて、実際の生産設備システム70におけるプログラマブルロジックコントローラ71での動作を再現する。再現データ131を再現するときに、プログラマブルロジックコントローラ動作再現部16は、再現データ131に付された日時である再現日時をデータ表示部18およびプログラマブル表示器動作再現部17に通知する。一例では、プログラマブルロジックコントローラ動作再現部16は、再現データ131に基づいてラダープログラムの表示を変化させる。
また、プログラマブルロジックコントローラ動作再現部16は、データ表示部18から指定された日時である指定日時を受け取ると、指定日時と同じ再現日時を有する再現データ131を再現する。このとき、プログラマブルロジックコントローラ動作再現部16は、データ表示部18からの指定日時を、データ表示部18からの指示の下、プログラマブル表示器動作再現部17に通知する。一例では、プログラマブルロジックコントローラ動作再現部16によって再現データ131に基づいて再現される画面である第1画面は、表示部20上に表示される。
プログラマブル表示器動作再現部17は、再現データ取得部12で取得されたプログラマブル表示器72の再現データ132に基づいて、生産設備システム70が稼働中におけるプログラマブル表示器72での実際の表示動作を再現する。プログラマブル表示器動作再現部17は、プログラマブルロジックコントローラ動作再現部16から受信した再現日時または指定日時に対応する再現データ132を用いて、プログラマブル表示器72の動作を再現する。指定日時が通知された場合には、ユーザによって指定された指定日時の時点におけるプログラマブル表示器72の画面を表示することが可能となる。一例では、プログラマブル表示器動作再現部17によって再現データ132に基づいて再現される画面である第2画面は、表示部20上に表示される。
データ表示部18は、プログラマブルロジックコントローラ動作再現部16およびプログラマブル表示器動作再現部17が再現データ131,132を再現しているときに、再現中の再現データ131,132に関連する解析データ151a,151bの内容を表示する。データ表示部18は、解析データ151a,151bの表示に関係する処理を行う表示処理部30と、解析データ記憶部15に記憶される解析データ151a,151bの中から指定された条件を満たすレコードを検索し、検索結果を出力するデータ出力部40と、を有する。
表示処理部30は、解析データ表示部31と、データ表示変更部32と、日時通知部33と、日時連動変更部34と、更新通知部35と、を有する。
解析データ表示部31は、解析データ記憶部15中の解析データ151a,151bを参照し、解析データ記憶部15中に記憶されている解析データ151a,151bの一覧を示す画面である解析データ一覧画面を生成し、表示部20に表示する。解析データ表示部31は、解析データ表示手段に対応する。解析データ一覧画面には、解析データ151a,151bのファイル名が一覧となって表示される。このとき、解析データ表示部31は、解析データ記憶部15中の解析データ151a,151bの種類を示す機能種別毎に分類してもよい。機能種別は、一例では、解析データ151a,151bの予め定められた位置に含まれる内容であり、解析データ表示部31は、解析データ151a,151b中の機能種別を読み込むことで、分類することが可能となる。
また、解析データ表示部31は、解析データ一覧画面の中で、ユーザが入力部19を介して解析データ151a,151bのファイル名を選択すると、選択されたファイル名の解析データを解析データ記憶部15中から読み出し、選択された解析データの内容を示す画面である内容表示画面を生成し、表示部20に表示する。解析データ表示部31は、解析データ一覧画面および内容表示画面を、プログラマブルロジックコントローラ動作再現部16およびプログラマブル表示器動作再現部17で再現された再現データ131,132を表示する画面とは別の画面として表示する。
図2は、解析データ一覧画面および内容表示画面の一例を示す図である。ここでは、解析データ一覧画面200が画面の左側に表示され、内容表示画面210が画面の中央付近に表示される例が示されている。解析データ一覧画面200では、機能種別毎に、解析データのファイル名がツリー状に表示されている。図2の例では、機能種別は、「アラーム履歴(ユーザ)」、「アラーム履歴(システム)」および「操作ログ」である。「アラーム履歴(ユーザ)」には、9個の解析データが分類されており、「アラーム履歴(システム)」には、2個の解析データが分類されており、「操作ログ」には、2個の解析データが分類されている。
図2では、ユーザによって、解析データ一覧画面200内の「操作ログ」に含まれる1つの解析データ151が選択された場合が示されており、この解析データ151の内容が内容表示画面210に表示されている。通常、解析データ151は、内容表示画面210に示されるように、解析データ151についての詳細な内容が記録された複数のレコード221を含む。レコード221には、その内容を取得した日時が含まれている。レコード221は、解析データ151の内容を示す予め定められた項目を含む。図2に示される機能種別が「操作ログ」である解析データ151の場合には、項目として、レコード221を識別する識別情報である「ログ番号」211、レコード221が作成された日付および時刻を示す「日時」212、変更の対象となった機能を示す「機能名」213、変更後の機能の値を示す「変更値」214および表示される画面を示す「画面No.」215が含まれる。
解析データ表示部31は、ユーザからの指示に基づいて、内容表示画面210に表示されている解析データ151の内容をソートする機能を有する。一例では、項目を選択することで、選択した項目の値が昇順または降順となるようにレコード221がソートされる。
図3は、解析データ一覧画面および機能名でソートした内容表示画面の一例を示す図である。図3では、解析データ151の項目である「機能名」213についてソートが行われた状態が示されている。このように、ソート機能を有することで、ユーザにとって処理し易い形態で解析データ151の内容を表示することができる。
内容表示画面210に表示される項目は、表示される解析データ151の機能種別によって異なる。解析データ表示部31は、デフォルトでは、機能種別毎に予め設定された項目を用いて、解析データ151の内容を内容表示画面210に表示する。しかし、ユーザからの指示に従って、解析データ表示部31は、内容表示画面210に表示する解析データ151の項目を変更する機能も有する。
図4は、内容表示画面の表示項目の設定画面の一例を示す図である。内容表示画面210の表示項目の設定画面240は、設定対象設定領域250と、表示項目設定領域260と、を有する。設定対象設定領域250には、項目を変更する対象となる解析データ151の機能種別を設定する設定対象欄251が設けられる。表示項目設定領域260は、表示項目欄261、表示項目候補欄262、選択ボタン263、削除ボタン264、OKボタン265およびキャンセルボタン266を有する。表示項目欄261には、内容表示画面210に表示させたい項目が表示される。表示項目候補欄262には、内容表示画面210に表示可能な項目が表示される。ここでは、内容表示画面210に表示可能な項目のうち、表示項目欄261に含まれない項目が表示される例が示されている。選択ボタン263は、表示項目候補欄262から表示項目欄261へと項目を選択する場合に使用される。削除ボタン264は、表示項目欄261から項目を削除する場合に使用される。OKボタン265は、表示項目設定領域260に設定された内容を確定することを指示するボタンである。キャンセルボタン266は、表示項目設定領域260に設定された内容をキャンセルすることを指示するボタンである。
図5は、解析データ一覧画面および表示項目を変更した内容表示画面の一例を示す図である。図4の内容表示画面210の表示項目の設定画面240でOKボタン265が押された後の解析データ一覧画面200および内容表示画面210が示されている。図4の表示項目欄261に含まれる項目が内容表示画面210の項目として設定されている。このように、項目を変更することで、ユーザにとって不要な項目が隠された、見易い表示形式とすることができる。
また、解析データ表示部31は、内容表示画面210に表示されている解析データ151が更新された場合には、更新された解析データ151を解析データ記憶部15から再度読み込み、内容表示画面210の内容を更新する。なお、解析データ151が更新されたことは、後述する更新通知部35からの通知によって、認識することができる。
データ表示変更部32は、プログラマブルロジックコントローラ動作再現部16から再現日時が通知された後、後述するデータ出力部40によって検索されたレコードの情報が通知されると、通知されたレコードの日時に応じて、再現日時に対して未来ではない日時に対応する内容表示画面210内の位置を、他のレコードとは異なる方法で表示させる。内容表示画面210内の位置は、レコード221の場合もあれば、隣接するレコード221の境界部分の場合もある。この処理は、プログラマブルロジックコントローラ動作再現部16から再現時刻が通知されるたびに実行されるので、再現時刻の通知にしたがって、内容表示画面210内で他のレコードとは異なる方法で表示される位置が変動することになる。データ表示変更部32は、データ表示変更手段に対応する。
一例では、データ表示変更部32は、内容表示画面210内の通知されたレコード上もしくは通知されたレコードに基づいて決定されるレコード上に、または通知されたレコードに基づいて決定される時刻に対応する内容表示画面210内の位置に、カーソルを移動させる。データ表示変更部32は、通知されたレコードを反転表示させたり、あるいは通知されたレコードもしくは通知されたレコードに基づいて決定されるレコードを他の色で表示させたりしてもよい。これによって、ユーザに特定のデータを注目させることができる。図2の例では、データ表示変更部32は、内容表示画面210のログ番号が「1」のレコード232にカーソル231を移動させるとともに、ログ番号が「1」のレコード232を反転表示させて、ユーザに注目され易い表示としている。
データ出力部40から通知されたレコードの日時が、再現日時と同じ場合、あるいは再現日時に対して過去の日時である場合には、データ表示変更部32は、通知されたレコードを、他のレコードとは異なる方法で表示させる。一方、通知されたレコードの日時が、再現日時に対して未来の日時である場合には、データ表示変更部32は、通知されたレコードではなく、通知されたレコードの1つ前の日時を有するレコードを、他のレコードとは異なる方法で表示させる。後述するように、データ出力部40から通知されたレコードの日時は、再現日時に最も近いレコードが選択されたものである。そのため、再現日時と同じではなく、再現日時に最も近い未来の日時を有するレコードよりも、日時が1つ前のレコードは、再現日時に最も近い過去の日時を有するレコードとなる。あるいは、データ表示変更部32は、通知されたレコードと、通知されたレコードよりも日時が1つ前のレコードと、の間の位置にカーソルを当てるようにしてもよい。
日時通知部33は、ユーザが入力部19を介して解析データ一覧画面200で解析データ151を選択し、さらに選択した解析データ151についての内容表示画面210中のレコード221を選択したことを検知すると、プログラマブルロジックコントローラ動作再現部16およびプログラマブル表示器動作再現部17に、選択したレコードの日時である指定日時を通知する。これによって、プログラマブルロジックコントローラ動作再現部16およびプログラマブル表示器動作再現部17では、指定日時と同じ再現日時の再現データ131,132が表示される。その結果、内容表示画面210で選択されたレコード221と、プログラマブルロジックコントローラ動作再現部16で表示される再現データ131と、プログラマブル表示器動作再現部17で表示される再現データ132と、の日時が一致する。日時通知部33は、日時通知手段に対応する。
日時連動変更部34は、ユーザからの入力部19を介した指示に従って、プログラマブルロジックコントローラ動作再現部16およびプログラマブル表示器動作再現部17と、再現日時および指定日時を介して連動させるか否かを変更する。具体的には、日時連動変更部34は、解析データ表示部31で表示される解析データ一覧画面200および内容表示画面210の内容と、プログラマブルロジックコントローラ動作再現部16での再現データ131およびプログラマブル表示器動作再現部17での再現データ132と、の間で日時を連動させるか否かの変更を行う。日時連動変更部34は、日時連動変更手段に対応する。
日時連動変更部34は、ユーザから日時を連動させる指示を受けたときには、データ表示変更部32および日時通知部33が動作するように設定する。これによって、表示部20に表示される解析データ一覧画面200および内容表示画面210の内容と、プログラマブルロジックコントローラ動作再現部16で再現される再現データ131およびプログラマブル表示器動作再現部17で再現される再現データ132と、は、日時が連動したものとなる。
一方、日時連動変更部34は、ユーザから日時を連動させない指示を受けたときには、データ表示変更部32および日時通知部33が動作しないように設定する。これによって、表示部20に表示される解析データ一覧画面200および内容表示画面210の内容は、プログラマブルロジックコントローラ動作再現部16で再現される再現データ131およびプログラマブル表示器動作再現部17で再現される再現データ132と独立したものとなる。つまり、データ表示部18は、プログラマブルロジックコントローラ動作再現部16およびプログラマブル表示器動作再現部17と、切り離して、解析データの内容を表示することができる。この場合、プログラマブルロジックコントローラ動作再現部16およびプログラマブル表示器動作再現部17は、異常原因解析支援装置10に設けられなくてもよい。
更新通知部35は、解析データ記憶部15に既に記憶されている解析データ151a,151bと同じ解析データ151a,151bが解析データ取得部14によって取得された場合、すなわち解析データ151a,151bが更新された場合には、解析データ151a,151bが更新されたことを示す更新通知画面を表示部20に表示する。また、更新通知部35は、解析データ151a,151bが更新されたことを示す通知を解析データ表示部31に通知する。更新通知部35は、更新通知手段に対応する。
データ出力部40は、プログラマブルロジックコントローラ動作再現部16から再現データ131の再現日時を受け取ると、解析データ記憶部15中の解析データ151a,151bを検索し、再現日時と同じ日時を有するレコード、あるいは、再現日時に最も近い日時を有するレコードを解析データ151a,151bの中から抽出する。データ出力部40は、データ出力手段に対応する。以下では、再現日時に最も近い日時を有するレコードは、発見レコードと称されることがある。データ出力部40は、最初に、内容表示画面210に表示されている解析データ151を検索対象とし、内容表示画面210に表示されている解析データ151に、再現日時と同じ日時を有するレコードおよび発見レコードがない場合に、解析データ記憶部15中の他の解析データ151a,151bを検索対象とする。データ出力部40は、検索結果である再現日時と同じ日時を有するレコードまたは発見レコードを、表示処理部30のデータ表示変更部32に通知する。
また、データ出力部40は、ユーザからの検索条件の指定によって、指定された検索条件に対応するレコードを解析データ記憶部15中の解析データ151a,151bから検索する。検索条件としては、日時およびキーワードを用いることができる。これによって、解析データ記憶部15に多量の解析データ151a,151bが記憶されている場合でも、特定のデータを容易に抽出することができる。また、データ出力部40は、検索の結果得られたレコードの一覧を、表示部20に表示したり、出力データとしてテキストファイルの形式で保存したりする。
図6は、解析データの検索画面の一例を示す図である。解析データの検索画面300は、検索条件を入力する領域である検索条件入力領域310と、検索条件に合致する検索結果を表示する領域である検索結果表示領域320と、を有する。
図6の例では、検索条件入力領域310は、検索対象入力部311と、検索方法入力部312と、日時指定部313と、検索ボタン314と、を有する。検索対象入力部311には、一例では、解析データ151の機能種別が入力される。図6の例では、「操作ログ」が入力されている。検索方法入力部312には、検索対象入力部311で指定された機能種別の解析データ151のうち検索対象となる項目が指定される。図6の例では、「日時」が指定されている。日時指定部313には、検索対象の範囲となる日時が指定される。一例では、検索対象の範囲を指定する日時と、指定した日時を用いた検索対象の範囲と、が指定される。図6の例では、「2019/12/06 09:47:54以前」のレコードが指定される。なお、これに加えて、検索対象となる項目が「日時」以外の項目について、キーワード検索を行えるようにしてもよい。
検索結果表示領域320は、検索結果表示部321と、エクスポートボタン322と、閉じるボタン323と、を有する。検索結果表示部321には、検索条件入力領域310で入力された検索条件に合致する検索結果が表示される。操作ログについての検索結果では、「ファイル名」、「ログ番号」、「日時」、「機能名」、「変更値」などを項目として、レコードがリスト形式で表示される。エクスポートボタン322は、検索結果をファイルとして出力することを指示するボタンである。閉じるボタン323は、解析データの検索画面300を閉じることを指示するボタンである。
入力部19は、ユーザからの情報の入力を受け付ける。一例では、入力部19は、解析データ一覧画面200での解析データ151の選択、内容表示画面210でのレコード221の選択、あるいは日時連動の変更の要否を受け付ける。入力部19は、一例では、キーボード、マウス、操作ボタンである。
表示部20は、ユーザに対して情報を表示する。一例では、表示部20は、解析データ表示部31によって生成される解析データ一覧画面200または内容表示画面210を表示する。また、表示部20は、プログラマブルロジックコントローラ動作再現部16によって再現された情報を表示したり、プログラマブル表示器動作再現部17によって再現された情報を表示したりする。表示部20は、一例では、液晶表示装置である。入力部19と表示部20とは、両者を一体化したタッチパネルによって構成されてもよい。
なお、図1では、1台のプログラマブルロジックコントローラ71と1台のプログラマブル表示器72とが異常原因解析支援装置10に接続される場合を示した。しかし、異常原因解析支援装置10には、複数台のプログラマブルロジックコントローラ71および複数台のプログラマブル表示器72が接続されてもよい。この場合には、異常原因解析支援装置10には、複数のプログラマブルロジックコントローラ動作再現部16および複数のプログラマブル表示器動作再現部17が設けられる。
また、図1では、異常原因解析支援装置10は、プログラマブルロジックコントローラ71およびプログラマブル表示器72と接続された状態にある。そして、異常原因解析支援装置10は、プログラマブルロジックコントローラ71から再現データ131を取得し、プログラマブル表示器72から再現データ132および解析データ151a,151bを取得していた。しかし、異常原因解析支援装置10は、生産設備システム70から独立し設けられてもよい。この場合、一例では、プログラマブルロジックコントローラ71からの再現データ131と、プログラマブル表示器72からの再現データ132および解析データ151a,151bと、を記憶した記憶媒体を、異常原因解析支援装置10に読み込ませて、異常原因の解析を支援することも可能である。
図7は、実施の形態1によるデータ表示プログラムにおけるデータ表示方法の手順の一例を示すフローチャートである。異常原因解析支援装置10の再現データ取得部11は、プログラマブルロジックコントローラ71から再現データ131を取得する。また、異常原因解析支援装置10の再現データ取得部12は、プログラマブル表示器72から再現データ132を取得する。再現データ取得部11,12は、取得した再現データ131,132を再現データ記憶部13に記憶する。異常原因解析支援装置10の解析データ取得部14は、プログラマブル表示器72から解析データ151a,151bを取得し、ファイルごとに解析データ151a,151bとして解析データ記憶部15に保存する(ステップS11)。
解析データ表示部31は、解析データ一覧画面200を表示し(ステップS12)、解析データ一覧画面200中でユーザによって選択された解析データを解析データ記憶部15から読み出し、選択された解析データの内容を内容表示画面210に表示する(ステップS13)。
プログラマブルロジックコントローラ動作再現部16は、再現データ131に基づいて、生産設備システム70の稼働状況を再現するとともに、再現日時をデータ表示部18およびプログラマブル表示器動作再現部17に通知する。プログラマブルロジックコントローラ動作再現部16は、一例では、再現データ131に基づいた再現内容を表示部20に表示する。
プログラマブル表示器動作再現部17は、プログラマブルロジックコントローラ動作再現部16から受信した再現日時と同じ再現日時を有する再現データ132を用いて、プログラマブル表示器72の動作状況を再現する。プログラマブル表示器動作再現部17は、一例では、再現データ132に基づいた再現内容を表示部20に表示する。
データ表示部18の解析データ表示部31が、プログラマブルロジックコントローラ動作再現部16から再現日時を受信すると(ステップS14)、データ出力部40は、内容表示画面210に表示されている解析データ151を検索対象ファイルとして選択する(ステップS15)。ついで、データ出力部40は、再現日時が検索対象ファイルに含まれる下限日時および上限日時の範囲内であるかを判定する(ステップS16)。下限日時は、解析データ151に含まれるレコードのうち最も古い日時であり、上限日時は、解析データ151に含まれるレコードのうち最も新しい日時である。
再現日時が検索対象ファイルに含まれる下限日時および上限日時の範囲内でない場合(ステップS16でNoの場合)には、データ出力部40は、解析データ記憶部15中に検索していない解析データ151a,151bが存在するかを判定する(ステップS17)。解析データ記憶部15中に検索していない解析データ151a,151bが存在する場合(ステップS17でYesの場合)には、データ出力部40は、検索対象ファイルを解析データ記憶部15中の他の解析データ151a,151bに変更する(ステップS18)。このとき、解析データ表示部31は、変更した解析データ151a,151bの内容を内容表示画面210に表示する(ステップS19)。そして、処理がステップS15に戻る。
一方、解析データ記憶部15中に検索していない解析データ151a,151bが存在しない場合(ステップS17でNoの場合)には、受信した再現日時に紐付くレコードが解析データ記憶部15中の解析データ151a,151bには存在しないと判断し、何も処理をせずに、データ表示方法が終了する。
ステップS16で、再現日時が検索対象ファイルに含まれる下限日時および上限日時の範囲内である場合(ステップS16でYesの場合)には、データ出力部40は、検索対象ファイルの中に再現日時と一致する日時のレコードが存在するかを判定する(ステップS20)。
検索対象ファイルの中に再現日時と一致する日時のレコードが存在する場合(ステップS20でYesの場合)には、データ出力部40は、再現日時と一致する日時を有するレコードの情報をデータ表示変更部32に渡す。そして、データ表示変更部32は、内容表示画面210内で再現日時と一致する日時を有するレコードを、他のレコードとは異なる方法で表示する(ステップS21)。一例では、図2に示されるように、再現日時と一致する日時を有するレコード232にカーソル231を当てたり、再現日時と一致する日時を有するレコード232を反転表示したりする。そして、処理が終了する。
検索対象ファイルの中に再現日時と一致する日時のレコードが存在しない場合(ステップS20でNoの場合)には、データ出力部40は、検索対象ファイルの中で再現日時に最も近い日時を有するレコードを発見レコードとする(ステップS22)。データ出力部40は、発見レコードの情報をデータ表示変更部32に渡す。なお、発見レコードの日時は、再現日時に対して、未来である場合もあるし、過去である場合もある。
データ表示変更部32は、発見レコードの日時が再現日時に対して未来の日時であるかを判定する(ステップS23)。発見レコードの日時が再現日時に対して未来の日時である場合(ステップS23でYesの場合)には、データ表示変更部32は、発見レコードの1つ前の日時のレコード、または発見レコードと発見レコードの1つ前のレコードとの間の位置を、他のレコードとは異なる方法で表示する(ステップS24)。そして、処理が終了する。
発見レコードの日時が再現日時に対して未来の日時ではない場合(ステップS23でNoの場合)には、データ表示変更部32は、発見レコードを、他のレコードとは異なる方法で表示する(ステップS25)。そして、処理が終了する。
以上のように、プログラマブルロジックコントローラ動作再現部16で再現される動作およびプログラマブル表示器動作再現部17で再現される表示動作と連動して、関連する解析データ151中のレコード232が、ユーザに認識され易く表示されるため、ユーザは、異常発生の原因の解析処理を進め易くなる。
以上説明した異常原因解析支援装置10は、一例では、実施の形態1による図7に示されるデータ表示方法の手順を記述したデータ表示プログラムが導入されたパーソナルコンピュータなどの情報処理装置によって実現される。
図8は、実施の形態1によるデータ表示プログラムが導入された情報処理装置のハードウェア構成の一例を模式的に示す図である。なお、図1と同一の構成要素には、同一の符号を付して、その説明を省略する。
情報処理装置80は、通信インタフェース(InterFace:I/F)81と、入力部82と、プロセッサ83と、メモリ84と、出力部85と、を備える。通信インタフェース81、入力部82、プロセッサ83、メモリ84および出力部85は、バスライン86を介して接続される。プロセッサ83の例は、CPU(Central Processing Unit)またはシステムLSI(Large Scale Integration)である。メモリ84の例は、主記憶装置であるRAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置であるHDD(Hard Disk Drive)またはSSD(Solid State Drive)である。
情報処理装置80は、一例では補助記憶装置に記憶されている、データ表示部18の動作を実行するための、コンピュータで実行可能なデータ表示プログラム180をプロセッサ83が読み出して実行することにより実現される。データ表示部18の動作を実行するためのプログラムであるデータ表示プログラム180は、異常原因解析支援装置10におけるデータ表示方法の手順をコンピュータに実行させるものであるともいえる。
情報処理装置80で実行されるデータ表示プログラム180は、解析データ表示部31、データ表示変更部32、日時通知部33、日時連動変更部34、更新通知部35およびデータ出力部40を含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。
また、情報処理装置80は、一例では補助記憶装置に記憶されている、プログラマブルロジックコントローラ動作再現部16の動作を実行するための、コンピュータで実行可能なプログラマブルロジックコントローラの再現シミュレータ160をプロセッサ83が読み出して実行することにより実現される。さらに、情報処理装置80は、プロセッサ83が、一例では補助記憶装置に記憶されている、プログラマブル表示器動作再現部17の動作を実行するための、コンピュータで実行可能なプログラマブル表示器の再現シミュレータ170をプロセッサ83が読み出して実行することにより実現される。
すなわち、情報処理装置80には、実施の形態1によるデータ表示プログラム180と、プログラマブルロジックコントローラの再現シミュレータ160と、プログラマブル表示器の再現シミュレータ170と、が導入されている。プログラマブルロジックコントローラの再現シミュレータ160は、図1のプログラマブルロジックコントローラ動作再現部16に対応する。プログラマブル表示器の再現シミュレータ170は、図1のプログラマブル表示器動作再現部17に対応する。データ表示プログラム180は、図1のデータ表示部18および解析データ記憶部15に対応する。
メモリ84は、プロセッサ83が各種処理を実行する際の一時メモリにも使用される。また、メモリ84は、再現データ記憶部13および解析データ記憶部15としても使用される。
入力部82は、一例では、キーボード、マウス、ボタンなどの入力装置である。入力部82は、ユーザがデータ表示処理の設定を行う際の入力インタフェースを提供する。出力部85は、データ表示処理の設定画面をユーザに対して表示したり、解析データをユーザに対して表示したりする。出力部85は、一例では、表示装置である。通信インタフェース81は、予め定められた通信プロトコルによって、プログラマブルロジックコントローラ71およびプログラマブル表示器72との間で通信を行う。図1のように異常原因解析支援装置10が生産設備システム70と接続されている場合には、通信インタフェース81は、プログラマブルロジックコントローラ71から再現データ131を受信し、プログラマブル表示器72から再現データ132および解析データ151a,151bを受信する。
データ表示プログラム180は、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、データ表示プログラム180は、インターネットなどのネットワーク経由で情報処理装置80に提供されてもよい。
なお、図8に示されるように、パーソナルコンピュータなどの情報処理装置80にデータ表示プログラム180が導入されて異常原因解析支援装置10として構成されてもよいし、プログラマブル表示器72にデータ表示プログラム180が導入されてもよい。
また、上記した説明では、データ表示プログラム180は、情報処理装置80に導入される場合を示したが、プログラマブル表示器の再現シミュレータ170に組み込まれてもよい。図9は、実施の形態1によるデータ表示プログラムを有するプログラマブル表示器の再現シミュレータの構成の一例を示す図である。なお、図1および図8と同一の構成要素には、同一の符号を付して、その説明を省略する。
図9では、情報処理装置80Aにデータ表示プログラム180は導入されておらず、プログラマブル表示器の再現シミュレータ170Aにデータ表示プログラム180が組み込まれている。これによって、プログラマブル表示器の再現シミュレータ170Aにおいて、プログラマブルロジックコントローラ71の再現データ131の再生日時に対応する解析データのレコードを表示させることが可能となる。
実施の形態1では、解析データ表示部31は、解析データ記憶部15に記憶されたプログラマブル表示器72からの解析データ151a,151bの一覧を表示するとともに、一覧中から選択された解析データの内容を表示する。プログラマブルロジックコントローラ動作再現部16から再現データ131の再現日時を受け取ると、データ出力部40は、再現日時と一致する日時を有するレコード、あるいは再現日時に最も近い日時を有するレコードである発見レコードを解析データ記憶部15中の解析データ151a,151bから検索する。データ表示変更部32は、受け取ったレコードの日時が再現日時と一致する日時を有するレコードである場合、または発見レコードが再現日時に対して過去の日時である場合には、再現日時と一致する日時を有するレコードまたは発見レコードの表示を、他のレコードとは異なる方法で表示する。そして、この処理がプログラマブルロジックコントローラ動作再現部16で再現される再現データ131の再現日時が変わるたびに繰り返される。
これによって、プログラマブルロジックコントローラ動作再現部16が再現データ131に基づいて、生産設備システム70の稼働状況を再現する一方で、データ表示部18は、プログラマブル表示器72が記録した解析データ151a,151bをプログラマブルロジックコントローラ動作再現部16の再現時刻に合わせて表示することが可能になる。また、このとき、プログラマブルロジックコントローラ71の動作が再現されている再現日時と一致する日時または近い日時で発生した解析データ151内のレコードがユーザに認識され易い形で提示される。つまり、プログラマブルロジックコントローラ動作再現部16で再現された情報と、プログラマブル表示器動作再現部17で再現された情報と、データ表示部18で表示される情報と、が日時について連動して表示されるので、ユーザに対して、各日時において解析データにどのような変化があったのかを提示することができる。その結果、生産設備システム70で生じた異常原因の解析にかかるユーザの手間を低減することができるという効果を有する。
また、データ表示変更部32は、発見レコードが再現日時に対して未来の日時である場合には、1つ前の日時のレコード、あるいは発見レコードと日時が発見レコードよりも1つ前のレコードとの間の位置を、他のレコードとは異なる方法で表示するようにした。つまり、再現日時に一致する日時を有するレコードがない場合に、解析データ151a,151bの中から再現日時に最も近い過去の日時のデータを動的に選択し、表示するようにした。解析データ151a,151bは、ユーザ操作の情報、アラーム情報、ロギングしたデータなどによって構成されるが、再現日時に一致するレコードが必ずしも存在するとは限らない。そのため、再現日時に一致するレコードが存在しない場合には、再現日時に対して最も近い過去の日時に同期させるようにした。これによって、解析データ151a,151b中の再現日時が示す日時よりも未来の日時のレコードが選択され、表示されることがない。その結果、ユーザが、再現日時に対して未来の日時のレコードを、生産設備システム70の異常原因として認識してしまうことを抑制することができる。
さらに、日時通知部33は、ユーザによって選択された解析データ151中のレコードの指定日時をプログラマブルロジックコントローラ動作再現部16およびプログラマブル表示器動作再現部17に通知するようにした。これによって、解析データ151中のレコードの指定日時に対応するプログラマブルロジックコントローラ71およびプログラマブル表示器72の動作がプログラマブルロジックコントローラ動作再現部16およびプログラマブル表示器動作再現部17で再現される。その結果、解析データ151中のレコードの指定日時を基準時刻として、生産設備システム70の稼働状況を確認することができるという効果を有する。つまり、指定日時において、プログラマブルロジックコントローラ71およびプログラマブル表示器72がどのような動作をしていたのかを、ユーザに提示することができる。
このように、実施の形態1では、データ表示部18は、プログラマブルロジックコントローラ動作再現部16から再現時刻を受けて、再現時刻に対応する解析データ中のレコードがユーザに認識され易い形で表示されるとともに、ユーザによって指定された解析データ中のレコードに対応する指定時刻をプログラマブルロジックコントローラ動作再現部16およびプログラマブル表示器動作再現部17に通知して、指定時刻での動作を再現させることができる。つまり、データ表示部18では、プログラマブルロジックコントローラ動作再現部16に対して双方向で時間情報をやり取りすることができ、ユーザが欲する情報を提供することができる。その結果、従来に比して、ユーザによる生産設備システム70における異常原因の解析の支援の幅を広げることができる。
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。