(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024062837
(43)【公開日】2024-05-10
(54)【発明の名称】プログラマブルコントローラおよびプログラム作成装置
(51)【国際特許分類】
G05B 19/05 20060101AFI20240501BHJP
【FI】
G05B19/05 D
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022170942
(22)【出願日】2022-10-25
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100124372
【弁理士】
【氏名又は名称】山ノ井 傑
(72)【発明者】
【氏名】篠原 充裕
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA04
5H220BB09
5H220CC06
5H220CX02
5H220DD04
5H220HH01
5H220JJ12
5H220JJ27
5H220JJ41
5H220JJ53
(57)【要約】
【課題】ユーザ独自のログを収集および記憶する仕組みを提供する。
【解決手段】本発明の実施形態では、プログラマブルコントローラは、ユーザが作成したユーザプログラムの実行によって、複数のシステムログのうちのユーザログを収集するプログラム実行部を備える。前記コントローラはさらに、前記ユーザプログラムの実行によって収集された前記ユーザログを記憶する領域を含むログ記憶部を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザが作成したユーザプログラムの実行によって、複数のシステムログのうちのユーザログを収集するプログラム実行部と、
前記ユーザプログラムの実行によって収集された前記ユーザログを記憶する領域を含むログ記憶部と、
を備えるプログラマブルコントローラ。
【請求項2】
前記ログ記憶部は、ファームウェアが前記システムログを記憶するシステムログ領域を含み、前記ユーザログは、前記システムログ領域に記憶される、請求項1に記載のプログラマブルコントローラ。
【請求項3】
前記複数のシステムログは、イベントログおよびエラーログを含み、前記システムログ領域は、前記イベントログを記憶するイベントログ領域と、前記エラーログを記憶するエラーログ領域とを含み、前記ユーザログは、前記イベントログ領域または前記エラーログ領域に記憶される、請求項2に記載のプログラマブルコントローラ。
【請求項4】
前記複数のシステムログは、前記イベントログに該当する前記ユーザログと、前記エラーログに該当する前記ユーザログとを含み、前記イベントログに該当する前記ユーザログは、前記イベントログ領域に記憶され、前記エラーログに該当する前記ユーザログは、前記エラーログ領域に記憶される、請求項3に記載のプログラマブルコントローラ。
【請求項5】
前記ユーザログは、前記複数のシステムログから前記ユーザログを識別することを可能にする識別情報に対応付けられて記憶される、請求項1に記載のプログラマブルコントローラ。
【請求項6】
前記ログ記憶部は、ファームウェアが前記システムログを記憶するシステムログ領域と、前記システムログ領域とは別のユーザログ領域とを含み、前記ユーザログは、前記ユーザログ領域に記憶される、請求項1に記載のプログラマブルコントローラ。
【請求項7】
複数のシステムログのうちのユーザログを収集するユーザプログラムの作成操作を受け付けるユーザプログラム作成部と、
前記ユーザプログラムを実行するプログラマブルコントローラから前記ユーザログを取得するログ取得部と、
を備えるプログラム作成装置。
【請求項8】
前記ログ取得部はさらに、前記ユーザログを表示画面上に表示する、請求項7に記載のプログラム作成装置。
【請求項9】
前記ユーザログの表示内容の編集操作を受け付けるユーザログ編集部をさらに備える、請求項7に記載のプログラム作成装置。
【請求項10】
前記ユーザログ編集部は、前記編集操作により編集された前記表示内容を、ログデータベース内に格納する、請求項9に記載のプログラム作成装置。
【請求項11】
前記編集操作により編集された前記表示内容は、前記複数のシステムログから前記ユーザログを識別することを可能にする識別情報に対応付けられて前記ログデータベース内に格納される、請求項10に記載のプログラム作成装置。
【請求項12】
前記ログ取得部により取得された前記ユーザログは、前記編集操作により編集された前記表示内容に基づいて表示される、請求項9に記載のプログラム作成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、プログラマブルコントローラおよびプログラム作成装置に関する。
【背景技術】
【0002】
生産現場等で使用される設備は、プログラマブルコントローラ(PLC(Programmable Logic Controller)とも言う)等の制御装置によって自動制御される。ユーザは、エンジニアリング装置によってユーザプログラムを作成し、このプログラムをエンジニアリング装置からプログラマブルコントローラにダウンロードすることができる。プログラマブルコントローラは、ダウンロードされたプログラムを実行することにより、上記の設備(制御対象設備)の自動制御を行うことができる。
【0003】
また、プログラマブルコントローラは、その運転状態の変化やエラーが発生した場合、その内部メモリにログ(システムログ)を記憶する。例えば、プログラマブルコントローラの定期診断により、コントローラ内にハードウェア異常が検出された場合、「ハードウェア異常」といった形式でログは収集され、内部メモリに記憶される。このログは、コントローラの運転状態の確認や異常発生時におけるユーザの調査または対応の際に広く活用されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上記のログの収集および記憶は、プログラマブルコントローラのファームウェアにより実行されるものであり、あらかじめ仕様として設計された一般的な事象(イベント)のみが記憶されるにとどまり、これ以外の事象は記憶されない。つまり、個々のプログラマブルコントローラで管理が必要な事象や、ユーザが独自に確認したい事象は記憶されない。
【0005】
そこで、本発明の実施形態は、ユーザ独自のログを収集および記憶する仕組みを有するプログラマブルコントローラおよびプログラム作成装置を提供する。
【課題を解決するための手段】
【0006】
一つの実施形態によれば、プログラマブルコントローラは、ユーザが作成したユーザプログラムの実行によって、複数のシステムログのうちのユーザログを収集するプログラム実行部を備える。前記コントローラはさらに、前記ユーザプログラムの実行によって収集された前記ユーザログを記憶する領域を含むログ記憶部を備える。
【図面の簡単な説明】
【0007】
【
図1】第1実施形態におけるプログラマブルコントローラ1やプログラム作成装置2を示す概略構成図である。
【
図2】第1実施形態におけるユーザプログラムの入力例である。
【
図3】第1実施形態におけるログ記憶部5で記憶されるシステムログの例である。
【
図4】第1実施形態におけるログデータベース13内のデータの例である。
【
図5】第1実施形態における表示装置14に表示されたシステムログの例である。
【
図6】第1実施形態におけるプログラマブルコントローラ1がユーザプログラムA8を実行する際のフローチャートの例である。
【
図7】第2実施形態におけるプログラマブルコントローラ1等の概略構成図である。
【
図8】第2実施形態におけるログ記憶部5で記憶されるシステムログの例である。
【
図9】第2実施形態におけるログデータベース13内のデータの例である。
【
図10】第2実施形態における表示装置14に表示されたシステムログの例である。
【
図11】第3実施形態におけるプログラマブルコントローラ1等の概略構成図である。
【
図12】第3実施形態におけるユーザログ編集部16によって、ログデータベース13を編集した例である。
【
図13】第3実施形態における表示装置14に表示されたシステムログの例である。
【
図14】第4実施形態におけるプログラム作成装置2のハードウェア構成図である。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態を、図面を参照して説明する。
図1~
図14では、同一の構成に同一の符号を付し、重複する説明は省略する。
【0009】
(第1実施形態)
図1は、第1実施形態におけるプログラマブルコントローラ1やプログラム作成装置2を示す概略構成図である。
【0010】
プログラマブルコントローラ1は、プログラム実行部4と、ログ記憶部5とを備える。プログラマブルコントローラ1内のCPU(Central Processing Unit)が、プログラマブルコントローラ1のプログラムを実行することにより、プログラム実行部4およびログ記憶部5の機能が実現される。ログ記憶部5は、例えばRAM(Random Access Memory)といった主記憶装置上に構築される。ログ記憶部5は、RAM以外にも、例えばHDD(Hard Disc Drive)といった補助記憶装置上に構築されてもよい。プログラム実行部4は、ユーザプログラムA8やユーザプログラムB9を実行する。ログ記憶部5は、システムログを記憶するシステムログ領域10を備える。
【0011】
システムログ領域10は、イベントログを記憶するイベントログ領域11と、エラーログを記憶するエラーログ領域12とを備える。これらの領域11および12は、プログラマブルコントローラ1のファームウェア(不図示)によって、日常的に収集されるプログラマブルコントローラ1のシステムログが、イベントログまたはエラーログの種別に応じて記憶される領域である。例えば、ファームウェアは、電源オンや、運転モード立ち上げといった動作発生時に、「電源ON」や「運転RUN」等のイベントログを収集し、これらのログをイベントログ領域11で記憶する。また、例えば、ファームウェアは、プログラマブルコントローラ1のハードウェア異常といった異常発生時に、「ハードウェア異常」等のエラーログを収集し、このログをエラーログ領域12で記憶する。ファームウェア収集するシステムログについて、イベントログまたはエラーログのいずれに属するかは、プログラマブルコントローラ1の設計時等においてあらかじめ設定される。ファームウェアは例えば、プログラマブルコントローラ1のROM(Read Only Memory)内に格納されている。
【0012】
プログラマブルコントローラ1には、プログラム作成装置2が電気的に接続される。プログラム作成装置2は、例えばエンジニアリング装置である。エンジニアリング装置は、例えば、PC(Personal Computer)にエンジニアリング装置のプログラム(エンジニアリングツール)をインストールすることにより実現することができる。
【0013】
プログラム作成装置2は、ユーザプログラム作成部3、ログ取得部6およびログ参照部7を備える。プログラム作成装置2内のCPUが、エンジニアリング装置のプログラムを実行することにより、ユーザプログラム作成部3、ログ取得部6およびログ参照部7の機能が実現される。ログ参照部7は、ログデータベース13を備える。ログ参照部7は例えば、HDDといった補助記憶装置上に構築される。また、プログラム作成装置2には、表示装置14が電気的に接続されている。表示装置14の例は、LCD(Liquid Crystal Display)などのディスプレイである。
【0014】
ユーザプログラム作成部3は、ユーザが、プログラム作成装置2において、ユーザログを収集するユーザプログラムを作成するための情報処理を行う。例えば、ユーザプログラム作成部3は、ユーザプログラムを作成するための作成操作や、ユーザプログラムを登録するための登録操作を、ユーザから受け付ける。本実施形態では、ユーザプログラムによって収集されるプログラマブルコントローラ1のシステムログを、ユーザログと呼ぶ。ユーザプログラム作成部3は、例えば、ユーザに対して、表示装置14に作成画面等のユーザインターフェース(不図示)を表示し、マウスやキーボードといった入力装置により、ユーザからの作成操作を受け付ける。ユーザプログラムの作成後、プログラム作成装置2はユーザからの登録操作を受け付ける。これにより、作成したユーザプログラムは、プログラム作成装置2から、プログラマブルコントローラ1にダウンロードされる。ユーザの例は、プログラマブルコントローラ1を取り扱う作業員や、作業の責任者または監督者や、プログラマブルコントローラ1が設置された工場やプラントの管理者である。
【0015】
プログラム実行部4は、プログラム作成装置2からダウンロードしたユーザプログラムを実行する。
図1は、ユーザがユーザプログラム作成部3で作成したユーザプログラムA8およびユーザプログラムB9をプログラム実行部4が実行する例である。この例では、ユーザプログラムA8は、イベントに関するユーザログを収集するプログラムであり、ユーザプログラムB9は、エラーに関するユーザログを収集するプログラムである。
【0016】
ログ記憶部5は、ユーザプログラムA8またはB9により収集したユーザログの種類に応じて、収集したユーザログを所定の領域で記憶する。この例では、ユーザプログラムA8によって収集したイベントに関するユーザログは、イベントログ領域11で記憶され、ユーザプログラムB9によって収集したエラーに関するユーザログは、エラーログ領域12で記憶される。
【0017】
ログ取得部6は、プログラマブルコントローラ1におけるイベントログ領域11およびエラーログ領域12で記憶された各ログを取得する。さらに、ログ取得部6は、表示内容についての辞書の役割を有するログデータベース13に格納された設定情報に基づいて、表示装置14にイベントログおよびエラーログを表示する。ログデータベース13の詳細については後述する。
【0018】
ログ参照部7は、ログデータベース13を記憶する。ログデータベース13は、例えば、ログ参照部7と同様に、プログラム作成装置2のインストール時に構築される。
【0019】
図2は、第1実施形態におけるユーザプログラムの入力例である。
【0020】
プログラム作成装置2のユーザは、
図2で示すようなラダーダイヤグラムといったグラフィック言語の他、ストラクチャードテキスト言語等の命令語によって、システムログに関するユーザプログラムを作成することができる。
【0021】
図3は、第1実施形態におけるログ記憶部5で記憶されるシステムログの例である。この例では、説明のしやすさのため、ラダーダイヤグラムではなく、模式図を用いて説明する。
【0022】
ユーザプログラムA8は、条件A発生時に、所定のイベントに関するユーザログを収集するプログラムである。以下、イベントに関するユーザログを「ユーザログ(イベント)」とも表記する。
【0023】
プログラム実行部4は、ログ種別によって、「イベントログ」および「エラーログ」の種別を区別する。また、システムログは、ログの内容を識別するため、システムログの内容ごとにログ番号が割り当てられる。この例では、ログ種別「1」は、そのログがイベントログに該当することを指し、ログ番号「1001」は、そのログが所定の内容の「ユーザログ(イベント)」であることを指す。また、この例では、最も左のビットが「1」のログ番号は、ユーザログのために割り当てられ、他の3ビットと併せて、ユーザログの内容が識別される。ログ番号は、システムログの識別情報の例である。識別情報は、番号以外にも、複数のシステムログからユーザログを識別する情報であれば採用することができる。例えば、アルファベットや記号を識別情報として採用してもよい。プログラマブルコントローラ1において条件Aが発生すると、ユーザプログラムA8はユーザログを収集する。この際、条件Aの発生日時およびログ番号「1001」が、ログ種別「1」に基づき、イベントログ領域11にログとして記憶される。また、この例では、「電源ON」や「運転RUN」といった、プログラマブルコントローラ1のファームウェアによって、日常的に収集されるイベントログもイベントログ領域11で記憶される例を示している。これらのイベントログは、ログ番号「0001」および「0002」としてイベントログ領域11に記憶される。
【0024】
ユーザプログラムB9は、条件B発生時に、所定のエラーに関するユーザログを収集するプログラムである。以下、エラーに関するユーザログを「ユーザログ(エラー)」とも表記する。
【0025】
この例では、ログ種別「2」は、そのログがエラーログに該当することを指し、ログ番号「1002」は、そのログが所定の内容の「ユーザログ(エラー)」であることを指す。プログラマブルコントローラ1において条件Bが発生すると、このプログラムはユーザログを収集する。この際、条件Bの発生日時およびログ番号「1002」が、ログ種別「2」に基づき、エラーログ領域12にログとして記憶される。また、この例では、「ハードウェア異常」といったプログラマブルコントローラ1のファームウェアによって日常的に収集されるエラーログもエラーログ領域12で記憶される例を示している。このエラーログは、ログ番号「0003」としてエラーログ領域12に記憶される。
【0026】
このように、ユーザログは、プログラマブルコントローラ1のファームウェアによって、日常的に収集されるシステムログと同様に、ログ番号に対応付けられて各領域11、12で記憶される。
【0027】
図4は、第1実施形態におけるログデータベース13内のデータの例である。
【0028】
ログ取得部6は、イベントログ領域11およびエラーログ領域12で記憶されたシステムログを取得する。また、ログ取得部6は、取得したシステムログと、ログデータベース13で記憶された情報とに基づいて、表示装置14にログを表示する。
【0029】
ここでは、
図3で説明したシステムログの例を用いて、ログ取得部6が、表示装置14にシステムログを表示する例を説明する。ログ取得部6は、
図3の各領域から取得したログ番号をもとに、
図4のログデータベース13を参照する。ログ取得部6は、ログデータベース13のログ番号に対応する表示内容について、発生日時等と併せて表示装置14に表示する。例えば、イベントログ領域11で記憶されたログ番号「1001」に関するシステムログをログ取得部6が取得した場合、ログ取得部6は、このログと対応する表示内容をログデータベース13から取得する。
図4から、このログについての表示内容は、「ユーザログ(イベント)」であることが分かる。このように、ログ取得部6は、ログデータベース13から取得した表示内容に基づいて、表示装置14にログを表示する。
【0030】
ファームウェアによって日常的に取得されるシステムログにおけるログ番号と表示内容の対応関係についてはあらかじめ作成され、ログデータベース13に格納される。ユーザログの表示内容については、例えば、ユーザプログラム作成時において、ユーザが表示内容をログデータベース13に登録することが考えられる。また、表示内容は、ログ番号をそのまま表示したり、既存のデータを活用する等により、表示内容の登録操作を不要としてもよい。このように、ログデータベース13には、表示内容「ユーザログ(イベント)」等がログ番号「1001」と対応付けられて格納されている。また、ログ番号「1002」についても同様に、ログデータベース13には、表示内容「ユーザログ(エラー)」等がログ番号「1002」と対応付けられて格納される。
【0031】
図5は、第1実施形態における表示装置14に表示されたシステムログの例である。
【0032】
ユーザは、例えば、プログラム作成装置2が提供するブラウザ等のインターフェースにおいて、システムログを確認することができる。ログデータベース13に格納された情報に基づいて、ユーザプログラムA8およびB9によって収集されたユーザログ等が表示される。また、ユーザは、各ログ種別「1」~「2」に基づいて、チェックボックスにより、表示するログ種別を選択できることを表している。
【0033】
図6は、第1実施形態におけるプログラマブルコントローラ1がユーザプログラムA8を実行する際のフローチャートの例を示す。
【0034】
プログラマブルコントローラ1は、電源投入に伴い、ステップS11において、初期化処理を行う。初期化処理では、プログラマブルコントローラ1は、ハードウェアの初期診断、ハードウェア初期化、制御プログラム診断および変数初期化等を実行する。
【0035】
ステップS12において、プログラマブルコントローラ1は、動作モード処理を実行する。動作モードの処理では、プログラマブルコントローラ1の運転状態を確認する。ここで、プログラマブルコントローラ1は、運転可能な状態が整っていれば、運転モードとなり、次の実行することができる。運転可能な状態が整わなければ、中止モードとなり、ユーザプログラムA8の処理は行われない。
【0036】
ステップS13において、プログラマブルコントローラ1は、スキャン処理を実施する。スキャン処理とは、ユーザプログラムを実行する処理のことである。これにより、プログラム実行部4はユーザプログラムA8を実行する。
【0037】
ステップS14において、プログラム実行部4は、条件Aが発生したかを確認する。条件Aが発生した場合、ステップS15において、プログラム実行部4は、ログ記憶部5のイベントログ領域11にイベントログを記憶する。この処理は、定期的に繰り返されることで、継続的なユーザログの収集が可能となる。
【0038】
また、ステップS16において、プログラマブルコントローラ1は、スキャン処理の実行の合間等に、プログラマブルコントローラ1の定期診断を実施し、ハードウェア等の定期的な診断を実施する。ファームウェアによるプログラマブルコントローラ1の日常的なシステムログの収集はこのステップで行われる。
【0039】
また、ユーザプログラムは、プログラマブルコントローラ1内部において発生した運転状態の変化やエラーに限らず、制御対象設備等のプログラマブルコントローラ1と接続された設備について、運転状態の変化やエラーに関するユーザログを収集してもよい。プログラマブルコントローラ1がユーザプログラムによって収集可能なユーザログを収集の対象とすることができる。
【0040】
この実施形態によれば、ユーザプログラムが実行されることで、従来、プログラマブルコントローラ1のファームウェアのみで記録されていたシステムログ領域10にユーザログを記憶することが可能となる。
【0041】
また、プログラマブルコントローラ1により、システムログに関するユーザプログラムが実行されることで、あらかじめ仕様として設計された一般的な事象のみだけではなく、ユーザ独自のシステムログを追加することができる。例えば、ユーザは、プログラマブルコントローラ1に内蔵されるバッテリの交換作業後、1年経過後にユーザログを収集し、表示するユーザプログラムを作成する。これにより、ユーザは、1年後にバッテリの交換時期を知らせる注意喚起としてユーザログを表示装置14に表示することができる。従来、バッテリ交換時期は点検報告書といった紙媒体等により管理されていたが、ユーザログとして自動で表示し管理することで、ユーザが管理漏れなく保守作業を行うことができる。
【0042】
また、現場のプログラマブルコントローラ1に応じたユーザログを独自に追加できるため、保守性を向上させることができる。また、プログラマブルコントローラ1における操作性や信頼性を向上させることができる。
【0043】
(第2実施形態)
図7は、第2実施形態におけるプログラマブルコントローラ1等の概略構成図である。
【0044】
第2実施形態では、プログラマブルコントローラ1におけるログ記憶部5は、イベントログ領域11やエラーログ領域12を備えるシステムログ領域10とは別に、ユーザログ領域15を備える。ユーザプログラムA8およびB9によって収集されるユーザログは、ユーザログ領域15で記憶される。
【0045】
図8は、第2実施形態におけるログ記憶部5で記憶されるシステムログの例である。
【0046】
図3の例と同様に、ユーザプログラムA8は、条件A発生時に、所定のイベントログを収集するプログラムである。この例では、ログ種別「3」はユーザログに該当することを指す。プログラム実行部4は、ログ種別によって、「イベントログ」、「エラーログ」および「ユーザログ」の種別を区別する。プログラマブルコントローラ1において条件Aが発生すると、このプログラムはユーザログを収集する。この際、ユーザプログラムA8によって、条件Aの発生日時およびログ番号「1001」が、ログ種別「3」に基づき、ユーザログ領域15にログとして記憶される。
【0047】
同様に、ユーザプログラムB9は、条件B発生時に、所定のエラーログに関するユーザログを収集するプログラムである。この例でも、ログ種別「3」はユーザログに該当することを指す。プログラマブルコントローラ1において条件Bが発生すると、このプログラムはユーザログを収集する。この際、ユーザプログラムB9によって、条件Bの発生日時およびログ番号「1002」が、ログ種別「3」に基づき、ユーザログ領域15にログとして記憶される。
【0048】
このように、ユーザログは、プログラマブルコントローラ1のファームウェアによって、日常的に収集されるシステムログと同様に、ログ番号に対応付けられてユーザログ領域15で記憶される。
【0049】
図9は、第2実施形態におけるログデータベース13内のデータの例である。
【0050】
ログ取得部6は、イベントログ領域11、エラーログ領域12およびユーザログ領域15で記憶されたログを取得する。ここでは、
図8で説明したシステムログの例を用いて説明する。ログ取得部6は、
図8の各領域から取得したログ番号をもとに、
図9のログデータベース13を参照する。ログ取得部6は、ログデータベース13のログ番号に対応する表示内容について、発生日時等と併せて表示装置14に表示する。例えば、ユーザログ領域15で記憶されたログ番号「1001」をログ取得部6が取得した場合、ログ取得部6は、このログ番号と対応する表示内容をログデータベース13から取得する。
図9から、このログについての表示内容は、「ユーザログ(イベント)」であることが分かる。
【0051】
ログ取得部6は、ログデータベース13から取得した表示内容に基づいて、表示装置14にシステムログを表示する。ユーザログの表示内容については、例えば、ユーザプログラム作成時において、ユーザが表示内容をログデータベース13にあらかじめ登録することが考えられる。また、表示内容は、ログ番号をそのまま表示したり、既存のデータを活用する等により、表示内容の登録操作を不要としてもよい。このように、ログデータベース13には、表示内容「ユーザログ(イベント)」等がログ番号「1001」と対応付けられて格納されている。また、ログ番号「1002」についても同様に、ログデータベース13には、表示内容「ユーザログ(エラー)」等がログ番号「1002」と対応付けられて格納されている。
【0052】
図10は、第2実施形態における表示装置14に表示されたシステムログの例である。
【0053】
ユーザは、例えば、プログラム作成装置2が提供するブラウザ等のインターフェースにおいて、システムログを確認することができる。表示装置14には、ログデータベース13に格納された情報に基づいて、ユーザプログラムA8およびB9によって収集されたユーザログ等が表示される。この例では、実施形態1とは異なり、ユーザログをログ種別「3」とし、イベントログおよびエラーログと区別している。そのため、ユーザは、各ログ種別「1」~「3」に基づいて、チェックボックスにより、表示するログ種別を選択できることを表している。そのため、ユーザログのみを表示装置14に表示することができる。
【0054】
この実施形態によれば、プログラマブルコントローラ1のファームウェアがシステムログを記憶する領域であるイベントログ領域11、エラーログ領域12とは別にユーザログ領域15を設け、この領域にユーザログを記憶することができる。これにより、ログ記憶部5全体の領域をユーザログで占有することはなくなり、プログラマブルコントローラ1は、動作遅延等の動作不良を防止することができる。
【0055】
また、ログ記憶部5は、ユーザログ領域15を備えることで、ユーザログのみに着目してシステムログの表示や確認が可能となるため、ユーザログの活用がしやすくなり、プログラマブルコントローラ1の運転状態の解析等に応用することができる。
【0056】
(第3実施形態)
図11は、第3実施形態におけるプログラマブルコントローラ1等の概略構成図である。
【0057】
第1または第2実施形態のユーザログは、その表示内容が変更されることはない。そのため、第1または第2実施形態のログデータベース13は、ユーザが手を加えることが想定されていない。一方、第3実施形態のプログラム作成装置2は、
図7で示す構成に加え、ユーザログ編集部16を備える。ユーザは、ユーザログ編集部16を使用して、ログデータベース13におけるユーザログの表示内容を変更することができる。
【0058】
ユーザログ編集部16は、例えば、プログラム作成装置2のユーザに対し、編集画面等のユーザインターフェース(不図示)を提供する。プログラム作成装置2内のCPUが、エンジニアリング装置のプログラムを実行することにより、ユーザログ編集部16の機能が実現される。ユーザは、マウスやキーボードといった入力装置を用いて、ログデータベース13におけるユーザログの表示内容を変更(編集)することができる。ユーザログ編集部16は、ユーザによる表示内容の編集操作を受け付け、ログデータベース13にアクセスし、編集された表示内容を格納する。編集された表示内容は、編集前と同様に、ログ番号と対応付けられて格納される。また、ユーザは、CSV(Comma Separated Value)ファイル等の設定ファイルを編集し、編集後のCSVファイルについて、ユーザログ編集部16を介してプログラム作成装置2にアップロードしてもよい。つまり、ユーザは、ユーザログ編集部16を介して設定ファイルを流し込むことで、ログデータベース13の表示内容を編集することとしてもよい。
【0059】
図12は、第3実施形態におけるユーザログ編集部16によって、ログデータベース13を編集した例である。
【0060】
ここでは、
図9に示す表示内容のうち、ログ番号「1001」および「1002」について、それぞれ「条件A発生」および「条件B発生」という表示内容に変更した例を示す。
【0061】
図13は、第3実施形態における表示装置14に表示されたシステムログの例である。
【0062】
ユーザは、例えば、プログラム作成装置2が提供するブラウザ等のインターフェースにおいて、システムログを確認することができる。表示装置14には、
図12で編集された表示内容に基づいて、ユーザプログラムA8およびB9によって収集されたユーザログ等が表示される。ログ番号「1001」および「1002」について、それぞれ、「ユーザログ(イベント)」および「ユーザログ(エラー)」と表示される代わりに、「条件A発生」および「条件B発生」と表示される。この例では、ログデータベース13に格納されたログ種別「1」~「3」に基づいて、チェックボックスにより、表示するログ種別を選択できることを表している。
【0063】
この実施例によれば、ユーザログの表示内容をユーザが編集することができるため、ユーザが表示内容を確認しやすくなる。
【0064】
また、ユーザログの表示内容をユーザが編集できるため、ユーザログの見落としを防止することができ、プログラマブルコントローラ1の保守性を向上させることができる。
【0065】
(第4実施形態)
図14は、第4実施形態におけるプログラム作成装置2のハードウェア構成図である。
【0066】
図14のプログラム作成装置2は、CPU等のプロセッサ52と、RAM等の主記憶装置53と、HDD等の補助記憶装置54と、LAN(Local Area Network)ボード等のネットワークインタフェース55と、メモリスロットやメモリポート等のデバイスインタフェース56と、これらの機器を互いに接続するバス57とを備えている。プログラム作成装置2は例えば、PC(Personal Computer)等のコンピュータであり、キーボードやマウス等の入力装置や、LCD(Liquid Crystal Display)モニタ等の表示装置14を備えている。
【0067】
本実施形態においては、第1~第3実施形態のうち、いずれかにおけるプログラム作成装置2の情報処理をコンピュータに実行させるためのプログラムが、補助記憶装置54内にインストールされている。プログラム作成装置2は、このプログラムを主記憶装置53に展開して、プロセッサ52により実行する。これにより、
図3、7または11に示す各ブロックの機能をプログラム作成装置2内で実現し、第1~第3実施形態で説明したユーザプログラム作成等が可能となる。なお、この情報処理により生成されたデータは、主記憶装置53に一時的に保持されるか、補助記憶装置54内に格納され保存される。
【0068】
このプログラムは例えば、このプログラムを記録した外部装置58をデバイスインタフェース56に装着し、このプログラムを外部装置58から補助記憶装置54に格納することでインストール可能である。外部装置58の例は、コンピュータ読み取り可能な記録媒体や、このような記録媒体を内蔵する記録装置である。記録媒体の例はCD-ROM(Compact Disk Read Only Memory)、CD-R(Compact Disk Recordable)、フレキシブルディスク、DVD-ROM(Digital Versatile Disk Read Only Memory)、DVD-R (Digital Versatile Disk Recordable)であり、記録装置の例はHDDである。また、このプログラムは例えば、このプログラムをネットワークインタフェース55を介してダウンロードすることでインストール可能である。
【0069】
本実施形態によれば、第1~第3実施形態のうち、いずれかにおけるプログラム作成装置2の機能をソフトウェアにより実現することが可能となる。
【0070】
以上、いくつかの実施形態を説明したが、これらの実施形態は、例としてのみ提示したものであり、発明の範囲を限定することを意図したものではない。本明細書で説明した新規なコントローラおよび装置は、その他の様々な形態で実施することができる。また、本明細書で説明したコントローラおよび装置の形態に対し、発明の要旨を逸脱しない範囲内で、種々の省略、置換、変更を行うことができる。添付の特許請求の範囲およびこれに均等な範囲は、発明の範囲や要旨に含まれるこのような形態や変形例を含むように意図されている。
【符号の説明】
【0071】
1:プログラマブルコントローラ、2:プログラム作成装置、
3:ユーザプログラム作成部、4:プログラム実行部、5:ログ記憶部、
6:ログ取得部、7:ログ参照部、8:ユーザプログラムA、9:ユーザプログラムB、
10:システムログ領域、11:イベントログ領域、12:エラーログ領域、
13:ログデータベース、14:表示装置、15:ユーザログ領域、
16:ユーザログ編集部、52:プロセッサ、53:主記憶装置、54:補助記憶装置、
55:ネットワークインタフェース、56:デバイスインタフェース、
57:バス、58:外部装置