(57)【要約】【課題】ファイル操作のトラブルの原因を究明するための情報を提供する。【解決手段】プログラマブルコントローラは、ファイルを特定するファイル識別子とファイル名とを対応させたファイル識別データを管理し、ファイル操作を実行したときに操作対象のファイルを特定するファイル識別子でファイル識別データを検索することにより、操作対象のファイル名を特定するファイル処理部と、ファイル操作が実行されたときに、ファイル操作種類とファイル処理部で特定されたファイル操作対象のファイル名とを対応させて記録媒体に記録する操作履歴管理部と、を備える。【選択図】図１
2015225463.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを特定するファイル識別子とファイル名とを対応させたファイル識別データを管理し、ファイル操作を実行したときに操作対象のファイルを特定するファイル識別子で前記ファイル識別データを検索することにより、操作対象のファイル名を特定するファイル処理部と、
ファイル操作が実行されたときに、ファイル操作種類と前記ファイル処理部で特定されたファイル操作対象のファイル名とを対応させて記録媒体に記録する操作履歴管理部と、
を備えるプログラマブルコントローラ。
【請求項２】
前記ファイル処理部は、ファイルクローズ操作が行われたときに、ファイルクローズ操作対象のファイルを特定するファイル識別子とファイル名とを対応させたデータを、前記ファイル識別データから削除する、請求項１に記載のプログラマブルコントローラ。
【請求項３】
請求項１又は２に記載のプログラマブルコントローラと通信することにより、ファイル操作種類及びファイル操作対象のファイル名を前記プログラマブルコントローラから受信して表示するプログラム。
【請求項４】
請求項１又は２に記載のプログラマブルコントローラと通信することにより、ファイル操作種類及びファイル操作対象のファイル名を前記プログラマブルコントローラから受信して表示する周辺装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ（Programmable  Logic  Controller、以下、ＰＬＣという）に関し、特に、ファイル操作を行うＰＬＣに関する。さらに、本発明は、ＰＬＣと通信するプログラム及び周辺装置に関する。
【背景技術】
【０００２】
ＰＬＣは、広くＦＡ（Factory  Automation）分野で使用されており、製造ラインの制御手順を記述した制御プログラムに従って動作するシーケンス制御装置である。ＰＬＣは、実行する制御プログラムの内容に応じて、所望の制御手順を実現することができる。
【０００３】
しかし、ＰＬＣは、制御プログラムを実行した際に、制御プログラムの内容が誤っている（制御プログラムにバグがある）、ユーザが誤った操作をしてしまった等の理由でトラブルを発生する可能性がある。
【０００４】
従来、ＰＬＣは、これらのトラブル発生に備えて操作を逐次記録しており、記録された操作を確認することでトラブルの原因を究明することができる。
【０００５】
関連する技術として、下記の特許文献１には、制御プログラムが変更された場合に、変更前の制御プログラム及び変更後の制御プログラムを履歴として記録するＰＬＣが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３３０８６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＰＬＣは、制御手順を記述した制御プログラム、機器構成や設定及び管理情報を記述したパラメータデータ等をファイル（プログラムファイル、データファイル）として内部に記録している。ＰＬＣは、ファイルに対する操作であるファイル操作が制御プログラム内に記述されている場合に、制御プログラムの実行中においてファイル操作のトラブルを発生することがあり、ファイル操作のトラブルの原因を究明するための情報を提供できることが望まれる。
【０００８】
特許文献１に記載のＰＬＣは、変更前の制御プログラム及び変更後の制御プログラムを履歴として記録するが、制御プログラムの実行中のファイル操作の履歴を記録するものではないので、制御プログラムの実行中において発生したファイル操作のトラブルの原因を究明するための情報を提供できない。
【０００９】
また、ファイル操作には、ファイルオープン操作、ファイルクローズ操作、ファイル書込み操作、ファイル読出し操作等の種類がある。ファイルオープン操作では、ファイル名が引数として指定されるので、どのファイルに対する操作であるかを容易に取得することができる。しかし、ファイルクローズ操作、ファイル書込み操作、ファイル読出し操作では、ファイル名が引数として指定されないので、どのファイルに対する操作であるかを容易に取得することができないという課題があった。
【００１０】
本発明は、上記に鑑みてなされたものであって、ファイル操作のトラブルの原因の究明を容易にすることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明にかかるプログラマブルコントローラは、ファイルを特定するファイル識別子とファイル名とを対応させたファイル識別データを管理し、ファイル操作を実行したときに操作対象のファイルを特定するファイル識別子で前記ファイル識別データを検索することにより、操作対象のファイル名を特定するファイル処理部と、ファイル操作が実行されたときに、ファイル操作種類とファイル操作対象のファイル名とを対応させて記録媒体に記録する操作履歴管理部と、を備える。
【発明の効果】
【００１２】
本発明によれば、ファイル操作が実行されたファイル名とファイル操作種類とを対応させて記録するので、ファイル操作のトラブルの原因の究明を容易にすることができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の実施の形態１にかかるＰＬＣを示す図である。
【図２】図２は、ファイル情報管理部で管理されるファイル識別データの一例を示す図である。
【図３】図３は、操作履歴データの一例を示す図である。
【図４】図４は、本発明の実施の形態１にかかるＰＬＣの処理を示すフローチャートである。
【図５】図５は、本発明の実施の形態２にかかるＰＬＣ及びエンジニアリングツールを示す図である。
【図６】図６は、本発明の実施の形態３にかかるＰＬＣ及び周辺装置を示す図である。
【発明を実施するための形態】
【００１４】
実施の形態１．
図１は、本発明の実施の形態１にかかるＰＬＣを示す図である。図１に示すように、ＰＬＣ１００は、制御プログラム実行部１０１と、ファイル処理部１０２と、メモリ１０３と、操作履歴管理部１０４と、操作履歴記録部１０５と、を有する。ファイル処理部１０２は、ファイル操作部１０２ａと、ファイル情報管理部１０２ｂと、を有する。メモリ１０３は、ファイル群１０３ａを有する。
【００１５】
ファイル群１０３ａは、制御手順を記述した制御プログラム、機器構成や設定及び管理情報を記述したパラメータデータ等の１つ又は複数のファイル（プログラムファイル、データファイル）を含む。
【００１６】
制御プログラム実行部１０１は、製造ラインの制御手順を記述した制御プログラムを実行する。制御プログラムは、ファイル群１０３ａ内のファイルに対するファイル操作命令を含む。制御プログラム実行部１０１は、制御プログラム内の実行箇所がファイル操作命令に至ると、ファイル処理部１０２にファイル操作を要求する。
【００１７】
ファイル操作部１０２ａは、制御プログラム実行部１０１からの要求に応じて、ファイル群１０３ａ内のファイルに対するファイル操作を実行する。ファイル情報管理部１０２ｂは、ファイル操作内容に関するファイル情報を管理する。
【００１８】
ここで、ファイル操作命令には、ファイルオープン操作命令、ファイルクローズ操作命令、ファイル書込み操作命令、ファイル読出し操作命令等の種類がある。ファイルオープン操作命令では、ファイル名が制御プログラム中において引数として指定される。ファイル操作部１０２ａは、制御プログラム実行部１０１からの要求に応じてファイルオープン操作を実行すると、オープンしたファイルを一意に特定するファイル識別子（ファイルディスクリプタ）を制御プログラム実行部１０１に戻り値として戻す。ファイルオープン操作以降のファイルクローズ操作命令、ファイル書込み操作命令、ファイル読出し操作命令等では、ファイル識別子が制御プログラム中において引数として指定される。また、ファイル操作部１０２ａは、ファイルオープン操作を実行すると、ファイル識別子、操作種類（ここではファイルオープン操作）及びファイル名をファイル情報管理部１０２ｂに送る。ファイル情報管理部１０２ｂは、ファイル識別子に対応させてファイル名を管理する。
【００１９】
また、ファイル書込み操作命令、ファイル読出し操作命令では、ファイル識別子が制御プログラム中において引数として指定される。ファイル操作部１０２ａは、制御プログラム実行部１０１からの要求に応じてファイル書込み操作命令、ファイル読出し操作命令を実行すると、操作したファイルのファイル識別子、操作種類（ファイル書込み操作、ファイル読出し操作等）及びファイル情報をファイル情報管理部１０２ｂに送る。ここで、ファイル情報は、ファイル操作の日時、ファイルのバージョン（書込み操作が行われた累積回数）、ファイル内のアクセス箇所等が例示される。ファイル情報管理部１０２ｂは、ファイル操作部１０２ａから送られる情報を管理する。
【００２０】
図２は、ファイル情報管理部で管理されるファイル識別データの一例を示す図である。ファイル識別データ２００は、ファイル識別子の項目２０１と、ファイル名の項目２０２と、バージョンの項目２０３と、を含む。なお、バージョンの項目２０３はファイル情報の例示であり、ファイル情報は他の項目を含んでいても良い。
【００２１】
例えば、ファイル識別データ２００の第１行目は、ファイル識別子ｆｐ１（項目２０１）がファイル名ＡＡＡＡ．ＸＸＸ（項目２０２）のファイルを一意に特定するものであり、ファイルＡＡＡＡ．ＸＸＸのバージョン（項目２０３）が５であることを表している。バージョンの値は、ファイルがオープンされた段階では初期値０が設定される。ファイル情報管理部１０２ｂは、ファイル識別子ｆｐ１で一意に特定されるファイルに対してファイル書込み操作が行われると、バージョンの値をインクリメントする。
【００２２】
ファイル情報管理部１０２ｂは、ファイル書込み操作、ファイル読出し操作では、ファイル操作部１０２ａから送られるファイル識別子でファイル識別データ２００を検索することにより、操作対象のファイル名を取得することができる。
【００２３】
また、ファイルクローズ操作命令では、ファイル識別子が制御プログラム中において引数として指定される。ファイル操作部１０２ａは、制御プログラム実行部１０１からの要求に応じてファイルクローズ操作命令を実行すると、クローズしたファイルを一意に特定するファイル識別子をファイル情報管理部１０２ｂに送る。ファイル情報管理部１０２ｂは、クローズされたファイル識別子を有するファイル識別データ２００内の行を削除する。
【００２４】
また、ファイル情報管理部１０２ｂは、ファイル操作が実行される都度、操作対象のファイル名、操作種類及び操作内容に関する情報を操作履歴管理部１０４に送る。操作履歴管理部１０４は、操作対象のファイル名、操作種類及びファイル情報をファイル情報管理部１０２ｂから受け取ると、受け取った情報を操作履歴データとして操作履歴記録部１０５に記録する。
【００２５】
図３は、操作履歴データの一例を示す図である。操作履歴データ３００は、ファイル操作が実行された日時の項目３０１と、操作種類の項目３０２と、操作対象のファイル名の項目３０３と、バージョンの項目３０４と、アクセス箇所（アドレス）の項目３０５と、を含む。なお、日時の項目３０１、バージョンの項目３０４及びアクセス箇所（アドレス）の項目３０５はファイル情報の例示であり、ファイル情報はこれら以外の項目を含んでいても良い。操作履歴記録部１０５は、これらの情報を保持することで、ファイル操作のトラブルの原因を究明するための情報を提示できる。なお、操作履歴記録部１０５は、ＲＡＭ等の揮発性記録媒体でも良いが、ファイル操作のトラブルの原因を究明する利便性を考慮すると、フラッシュメモリ（登録商標）、ＳＳＤ、ＨＤＤ等の不揮発性記録媒体が好適である。
【００２６】
例えば、操作履歴データ３００の第１行目は、ファイル操作が行われた日時（項目３０１）と、ファイル名ＡＡＡＡ．ＸＸＸ（項目３０３）のファイルに対して、ファイル読出し操作（項目３０２）が行われ、操作後のファイル名ＡＡＡＡ．ＸＸＸのファイルのバージョン（項目３０４）が５であり、アクセス箇所（項目３０５）が１５の箇所からデータが読み出されたことを表している。また、例えば、操作履歴データ３００の第２行目は、ファイル操作が行われた日時（項目３０１）と、ファイル名ＡＡＡＡ．ＸＸＸ（項目３０３）のファイルに対して、ファイル書込み操作（項目３０２）が行われ、操作後のファイル名ＡＡＡＡ．ＸＸＸのファイルのバージョン（項目３０４）が６であり、アクセス箇所（項目３０５）が１５の箇所からデータが読み出されたことを表している。
【００２７】
図４は、ＰＬＣの処理を示すフローチャートである。ＰＬＣ１００は、ファイル操作を実行した都度、図４の処理を実行する。
【００２８】
まず、ファイル処理部１０２のファイル操作部１０２ａは、ステップＳ１００において、実行したファイル操作の種類を判定する。ファイル操作部１０２ａは、実行したファイル操作がファイルオープン操作であると判定したら、処理をステップＳ１０２に進める。ファイル操作部１０２ａは、実行したファイル操作がファイルクローズ操作であると判定したら、処理をステップＳ１０４に進める。ファイル操作部１０２ａは、実行したファイル操作がその他の操作（ファイルオープン操作及びファイルクローズ操作以外の操作）であると判定したら、処理をステップＳ１０８に進める。
【００２９】
ファイル処理部１０２のファイル情報管理部１０２ｂは、ファイル操作がファイルオープン操作であった場合、ステップＳ１０２において、オープンしたファイルのファイル名及びファイル情報をファイル識別子に対応させて、ファイル識別データ２００に登録（新規行追加）する。
【００３０】
また、ファイル情報管理部１０２ｂは、ファイル操作がファイルクローズ操作であった場合、ステップＳ１０４において、クローズしたファイルのファイル識別子でファイル識別データ２００を検索し、クローズしたファイルのファイル名及びファイル情報をファイル識別データ２００から取得する。
【００３１】
次に、ファイル情報管理部１０２ｂは、ステップＳ１０６において、クローズしたファイルのファイル識別子を含む行をファイル識別データ２００から削除する。つまり、ファイル情報管理部１０２ｂは、クローズしたファイルのファイル識別子、ファイル名及びファイル情報をファイル識別データ２００から削除する。これにより、ファイル識別データ２００が際限なく大きくなることを抑制することができ、記憶領域の使用量を抑制することができる。また、クローズしたファイルのファイル識別子を、別のファイルのファイルオープン操作に再利用することができる。また、ファイル識別データ２００の行数が増えると、検索速度が低下する。そこで、クローズしたファイルのファイル識別子を含む行をファイル識別データ２００から削除することで、検索速度の低下を抑制することができる。
【００３２】
また、ファイル情報管理部１０２ｂは、ファイル操作がその他の操作（ファイルオープン操作及びファイルクローズ操作以外の操作）であった場合、ステップＳ１０８において、操作対象のファイルのファイル識別子でファイル識別データ２００を検索し、操作対象のファイルのファイル名及びファイル情報をファイル識別データ２００から取得する。
【００３３】
操作履歴管理部１０４は、ステップＳ１０２、Ｓ１０６又はＳ１０８が実行されたら、ステップＳ１１０において、操作種類、ファイル名及びファイル情報を操作履歴記録部１０５に記録（蓄積）する。
【００３４】
以上説明したように、本実施の形態にかかるＰＬＣによれば、ファイル操作が実行される都度、ファイル操作対象のファイル名が操作種類及びファイル情報と共に記録（蓄積）されるので、ファイル操作のトラブルの原因の究明を容易にすることが可能となる。
【００３５】
実施の形態２．
図５は、本発明の実施の形態２にかかるＰＬＣ及びエンジニアリングツール（プログラム）を示す図である。図５に示すように、ＰＬＣ４００は、実施の形態１にかかるＰＬＣ１００に加えて、ツール通信処理部４０１を有している。ツール通信処理部４０１は、操作履歴管理部１０４を介して、操作履歴記録部１０５に記録された操作履歴データ３００を読み出すことができる。
【００３６】
エンジニアリングツール４１１は、パソコン４１０にインストールされており、ツール通信処理部４０１と有線又は無線の通信路Ｃを介して通信可能である。
【００３７】
パソコン４１０のユーザは、エンジニアリングツール４１１を操作し、ツール通信処理部４０１及び操作履歴管理部１０４を経由して、ユーザは、ＰＬＣ４００の操作履歴記録部１０５に記録されたファイル操作履歴をパソコン４１０にダウンロードすることで、ファイル操作履歴を確認することができる。
【００３８】
ユーザは、所望の条件（例えば、所望の操作日時、所望のファイル名等）をエンジニアリングツール４１１に入力する。エンジニアリングツール４１１は、入力された条件を、ツール通信処理部４０１を経由して、操作履歴管理部１０４に送信する。操作履歴管理部１０４は、エンジニアリングツール４１１から送信された条件に合致するファイル操作履歴を操作履歴記録部１０５から読み出して、ツール通信処理部４０１に送る。ツール通信処理部４０１は、操作履歴管理部１０４から送られたファイル操作履歴をエンジニアリングツール４１１に送信する。
【００３９】
エンジニアリングツール４１１は、ダウンロードしたファイル操作履歴をパソコン４１０の画面に表示する。これにより、ユーザは、ファイル操作履歴を容易に閲覧することができる。このように、ＰＬＣ４００及びエンジニアリングツール４１１は、ファイル操作のトラブル発生時の原因究明作業を効率化することが可能である。
【００４０】
実施の形態３．
図６は、本発明の実施の形態３にかかるＰＬＣ及び周辺装置を示す図である。図６に示すように、周辺装置４２０は、有線又は無線の通信路Ｃを介して、ＰＬＣ４００のツール通信処理部４０１と通信可能である。周辺装置４２０としては、ＰＬＣ４００の状態の表示やＰＬＣ４００への制御指示を行う表示器が例示される。ユーザは、ＰＬＣ４００の操作履歴記録部１０５に記録されたファイル操作履歴を周辺装置４２０にダウンロードすることで、ファイル操作履歴を確認することができる。
【００４１】
ユーザは、所望の条件（例えば、所望の操作日時、所望のファイル名等）を周辺装置４２０に入力する。周辺装置４２０は、入力された条件を、ツール通信処理部４０１を経由して、操作履歴管理部１０４に送信する。操作履歴管理部１０４は、周辺装置４２０から送信された条件に合致するファイル操作履歴を操作履歴記録部１０５から読み出して、ツール通信処理部４０１に送る。ツール通信処理部４０１は、操作履歴管理部１０４から送られたファイル操作履歴を周辺装置４２０に送信する。
【００４２】
周辺装置４２０は、ダウンロードしたファイル操作履歴を表示する。これにより、ユーザは、ファイル操作履歴を容易に閲覧することができる。このように、ＰＬＣ４００及び周辺装置４２０は、ファイル操作のトラブル発生時の原因究明作業を効率化することが可能である。
【産業上の利用可能性】
【００４３】
以上のように、本発明にかかるプログラマブルコントローラ、プログラム及び周辺装置は、ファイル操作のトラブルの原因の究明を容易にするのに適している。
【符号の説明】
【００４４】
１００，４００  ＰＬＣ、１０１  制御プログラム実行部、１０２  ファイル処理部、１０２ａ  ファイル操作部、１０２ｂ  ファイル情報管理部、１０３  メモリ、１０３ａ  ファイル群、１０４  操作履歴管理部、１０５  操作履歴記録部、２００  ファイル識別データ、３００  操作履歴データ、４０１  ツール通信処理部、４１０  パソコン、４１１  エンジニアリングツール、４２０  周辺装置。
【図１】
2015225463.tif 000003
【図２】
2015225463.tif 000004
【図３】
2015225463.tif 000005
【図４】
2015225463.tif 000006
【図５】
2015225463.tif 000007
【図６】
2015225463.tif 000008