(57)【要約】【課題】コストの増大を抑制しながら、プログラマブルコントローラの動作を事後に確認することを可能とするプログラマブルコントローラの動作履歴記録方法及びシーケンスプログラムを提供する。【解決手段】予め設定されたシーケンスプログラム１０２に基づいて制御対象の設備４を制御するプログラマブルコントローラ１の動作履歴を記録する動作履歴記録方法において、シーケンスプログラム１０２は、複数のリレーの接点を含んで記述され、設備４に所定の動作をさせるための条件が複数のリレーの接点の組み合わせにより表現されており、複数のリレーのうち少なくとも一部のリレーの接点のオンオフ状態の変化を時刻情報と共に動作履歴情報としてプログラマブルコントローラ１のメモリ１２２に記録する。【選択図】図４
2020177485.tif 000002
【特許請求の範囲】
【請求項１】
予め設定されたシーケンスプログラムに基づいて制御対象設備を制御するプログラマブルコントローラの動作履歴を記録する動作履歴記録方法であって、
前記シーケンスプログラムは、複数のリレーの接点を含んで記述され、前記制御対象設備に所定の動作をさせるための条件が前記複数のリレーの接点の組み合わせにより表現されており、
前記複数のリレーのうち少なくとも一部のリレーの接点のオンオフ状態の変化を時刻情報と共に動作履歴情報として前記プログラマブルコントローラのメモリに記録する、
プログラマブルコントローラの動作履歴記録方法。
【請求項２】
前記動作履歴情報を前記プログラマブルコントローラのメモリに記録する処理が前記シーケンスプログラムにより行われる、
請求項１に記載のプログラマブルコントローラの動作履歴記録方法。
【請求項３】
前記シーケンスプログラムは、前記制御対象設備を制御するための制御プログラム部と、前記動作履歴情報を記録するための動作履歴情報記録プログラム部とを有し、
前記シーケンスプログラムの一回の実行時に、前記制御プログラム部及び動作履歴情報記録プログラム部がそれぞれ一回ずつ実行される、
請求項２に記載のプログラマブルコントローラの動作履歴記録方法。
【請求項４】
前記少なくとも一部のリレーの接点がオフ状態からオン状態に切り替わったとき及びオン状態からオフ状態に切り替わったときの時刻を当該リレーのアドレス情報と共に前記動作履歴情報として記録する、
請求項１乃至３の何れか１項に記載のプログラマブルコントローラの動作履歴記録方法。
【請求項５】
制御対象設備を制御するプログラマブルコントローラにおいて実行されるシーケンスプログラムであって、
前記制御対象設備を制御するための制御プログラム部と、前記プログラマブルコントローラの動作履歴情報を記録するための動作履歴情報記録プログラム部とを有し、
前記制御プログラム部は、複数のリレーの接点を含んで記述され、前記制御対象設備に所定の動作をさせるための条件が前記の接点の組み合わせにより表現されており、
動作履歴情報記録プログラム部は、前記複数のリレーのうち少なくとも一部のリレーの接点のオンオフ状態の変化を時刻情報と共に動作履歴情報として前記プログラマブルコントローラのメモリに記録する命令を含む、
シーケンスプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め設定されたシーケンスプログラムに基づいて制御対象設備を制御するプログラマブルコントローラの動作履歴を記録する動作履歴記録方法、及びシーケンスプログラムに関する。
【背景技術】
【０００２】
従来、例えばプラント等の設備の立ち上げ時において、ユーザによって作成されたシーケンスプログラムに基づいて設備を制御するプログラマブルコントローラの動作履歴を記録し、この記録を解析することによりプログラマブルコントローラの動作を事後に確認することが行われる場合がある。
【０００３】
特許文献１には、プログラマブルコントローラに、シーケンスプログラムの１シーケンスサイクル終了毎に動作結果を外部出力するラダー動作結果送信プログラムを設け、外部出力された動作結果を外部装置であるデバッグツールで受信する動作確認方法が記載されている。デバッグツールには、プログラマブルコントローラから外部出力される動作結果を記憶する記憶装置と、記憶装置から読み出した動作結果を表示する表示手段とが設けられている。ユーザは、表示手段に表示された動作結果を解析することにより、プログラマブルコントローラの動作を確認することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１２２４０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
プログラマブルコントローラの動作を事後に確認することが必要になる場面は、設備の立ち上げ時のみならず、設備の稼働時に何らかの異常が発生した場合にも生じ得る。例えば特許文献１に記載の動作確認方法では、プログラマブルコントローラにデバッグツール等の外部装置が接続されていれば、その記憶媒体にプログラマブルコントローラの動作結果が記憶されるが、外部装置が接続されていなければ、複数のシーケンスサイクルにわたるプログラマブルコントローラの動作を事後に確認することはできない。しかし、工場内における個々のプログラマブルコントローラにそれぞれ外部装置を接続しておくことは、コスト面から現実的ではない。
【０００６】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、コストの増大を抑制しながら、プログラマブルコントローラの動作を事後に確認することを可能とするプログラマブルコントローラの動作履歴記録方法及びシーケンスプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、上記の目的を達成するため、予め設定されたシーケンスプログラムに基づいて制御対象設備を制御するプログラマブルコントローラの動作履歴を記録する動作履歴記録方法であって、前記シーケンスプログラムは、複数のリレーの接点を含んで記述され、前記制御対象設備に所定の動作をさせるための条件が前記の接点の組み合わせにより表現されており、前記複数のリレーのうち少なくとも一部のリレーの接点のオンオフ状態の変化を時刻情報と共に動作履歴情報として前記プログラマブルコントローラのメモリに記録する、プログラマブルコントローラの動作履歴記録方法を提供する。
【０００８】
また、本発明は、上記の目的を達成するため、制御対象設備を制御するプログラマブルコントローラにおいて実行されるシーケンスプログラムであって、前記制御対象設備を制御するための制御プログラム部と、前記プログラマブルコントローラの動作履歴情報を記録するための動作履歴情報記録プログラム部とを有し、前記制御プログラム部は、複数のリレーの接点を含んで記述され、前記制御対象設備に所定の動作をさせるための条件が前記の接点の組み合わせにより表現されており、動作履歴情報記録プログラム部は、前記複数のリレーのうち少なくとも一部のリレーの接点のオンオフ状態の変化を時刻情報と共に動作履歴情報として前記プログラマブルコントローラのメモリに記録する命令を含む、シーケンスプログラムを提供する。
【発明の効果】
【０００９】
本発明に係るプログラマブルコントローラの動作履歴記録方法及びシーケンスプログラムによれば、コストの増大を抑制しながらも、プログラマブルコントローラの動作を事後に確認することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係るプログラマブルコントローラを、このプログラマブルコントローラに接続される操作盤及びプログラム編集装置、ならびに制御対象の設備と共に示す概略構成図である。
【図２】プログラマブルコントローラのＣＰＵモジュールの機能構成例を示すブロック図である。
【図３】シーケンスプログラムの概略構成を示す模式図である。
【図４】（ａ）は、制御プログラム部の一部を示す説明図である。（ｂ）は、動作履歴情報記録プログラム部の一部を示す説明図である。
【図５】図４（ｂ）に示すラダー回路図によって記録される動作履歴情報の一例を示している。
【発明を実施するための形態】
【００１１】
［実施の形態］
本発明の実施の形態について、図１乃至図５を参照して説明する。なお、以下に説明する実施の形態は、本発明を実施する上での好適な具体例として示すものであり、技術的に好ましい種々の技術的事項を具体的に例示している部分もあるが、本発明の技術的範囲は、この具体的態様に限定されるものではない。
【００１２】
図１は、本発明の実施の形態に係るプログラマブルコントローラ１を、このプログラマブルコントローラ１に接続される操作盤２及びプログラム編集装置３、ならびに制御対象の設備４と共に示す概略構成図である。
【００１３】
プログラマブルコントローラ１は、電源モジュール１１、ＣＰＵモジュール１２、出力モジュール１３、入力モジュール１４、及びこれら各モジュールが装着されたベース１５を有して構成されている。電源モジュール１１は、ベース１５を介して各モジュール１２〜１４に電源を供給する。設備４は、例えば工作機械であり、複数のアクチュエータ４１及び複数のセンサ４２を有している。
【００１４】
出力モジュール１３は、設備４の複数のアクチュエータ４１にそれぞれ接続された複数の出力リレーを有している。複数のアクチュエータ４１は、例えばソレノイドやモータ、あるいは油圧を制御する電磁切換弁等である。入力モジュール１４は、設備４の複数のセンサ４２に接続された複数の入力リレーを有している。複数のセンサ４２は、例えば近接センサや光電センサ、あるいはリミットスイッチ等であり、アクチュエータ４１の動作状態や、工作物の位置及び加工状態等を検出する。
【００１５】
ＣＰＵモジュール１２は、プログラム編集装置３によって編集されたシーケンスプログラムを記憶し、このシーケンスプログラムに基づいて設備４を制御する。具体的には、シーケンスプログラムを実行することで、入力モジュール１４の各入力リレーの状態等に応じて出力モジュール１３の各出力リレーの接点をオン／オフさせる。
【００１６】
プログラム編集装置３は、ディスプレイ３１を備えた情報処理装置によって構成されている。本実施の形態では、プログラム編集装置３が可搬型コンピュータ（ノートパソコン）であり、シーケンスプログラムを作成するプログラマーが操作するキーボード３２及びポインティングデバイス３３を一体に有している。シーケンスプログラムの詳細については後述する。
【００１７】
操作盤２は、自動／各個選択スイッチ２１と、運転準備スイッチ２２と、起動スイッチ２３と、非常停止スイッチ２４と、設備４のアクチュエータ４１を個別に操作するための複数の各個操作スイッチ２５とを有している。自動／各個選択スイッチ２１は、二者択一のセレクトスイッチであり、他のスイッチ２２〜２５は、押しボタンスイッチである。
【００１８】
自動／各個選択スイッチ２１は、プログラマブルコントローラ１がプログラム編集装置３によって編集されたシーケンスプログラムに従って連続運転を行う自動運転モードと、複数の各個操作スイッチ２５により設備４のアクチュエータ４１を個別に動作させる各個操作を行う各個操作モードとを切り替えるスイッチである。各個操作は、例えば連続運転中に設備４に何らかの異常が発生した際に異常処理作業を行う作業者が行う操作である。この作業者及び前述のプログラマーは、プログラマブルコントローラ１のユーザ（使用者）の一例である。
【００１９】
運転準備スイッチ２２は、設備４の複数のアクチュエータ４１を動作可能とするためのスイッチである。起動スイッチ２３は、シーケンスプログラムによる設備４の自動運転の起動を指示するためのスイッチである。非常停止スイッチ２４は、設備４の動作を即時停止させるためのスイッチである。これらの各スイッチ２１〜２５は、複数の信号線からなるパラレル信号線２０により、プログラマブルコントローラ１の入力モジュール１４に接続されている。
【００２０】
図２は、プログラマブルコントローラ１のＣＰＵモジュール１２の機能構成例を示すブロック図である。ＣＰＵモジュール１２は、演算処理装置であるＣＰＵ１２１と、半導体記憶素子からなるメモリ１２２と、プログラム編集装置３との通信を行う通信回路１２３と、例えば電池によってバックアップされて現在時刻及び年月日の情報を出力可能なＲＴＣ（リアルタイムクロック）１２４と、ベース１５に設けられた信号線を介して通信モジュール１３、出力モジュール１３、及び入力モジュール１４との通信を行う通信インタフェース回路１２５とを有している。
【００２１】
メモリ１２２は、ＣＰＵ１２１の動作のためのシステムプログラム１０１と、プログラマーが作成したシーケンスプログラム１０２と、入力リレー及び出力リレーのオン／オフ状態を示すＩＯデータ１０３と、シーケンスプログラム１０２で変数として用いられる複数のレジスタの値を示すレジスタデータ１０４とを記憶している。シーケンスプログラム１０２は、ＩＥＣ６１１３１−３で規定されているラダーダイアグラム言語で記載されている。ラダーダイアグラム言語で記載されたプログラムは、ラダー回路図とも称される。
【００２２】
レジスタデータ１０４の一部は、後述する動作履歴情報を記録するためのリングバッファ１０５として構成されている。ここで、リングバッファとは、連続するメモリ空間の始端と終端とを仮想的に連続させて無限に連続するメモリ空間として使用するバッファである。より具体的には、メモリ空間におけるアクセス先のアドレスを示すポインタを用い、例えばポインタが示すアドレス値を順次にインクリメントしてアクセスしていく場合、終端のアドレスに対してアクセスした後に、ポインタが示すアドレス値をリングバッファの始端のアドレスに戻し、再度始端のアドレスから順にアクセスがなされる。
【００２３】
図３は、シーケンスプログラム１０２の概略構成を示す模式図である。シーケンスプログラム１０２は、イニシャルプログラム部５０と、ＳＴＡＲＴ命令５１と、メインプログラム部５２と、ＥＮＤ命令５３とからなる。イニシャルプログラム部５０は、変数の初期化等を行うためのものであり、プログラマブルコントローラ１の電源投入後に一回のみ実行され、以降は実行が省略される。イニシャルプログラム部５０の実行後には、ＳＴＡＲＴ命令５１とＥＮＤ命令５３との間のメインプログラム部５２が繰り返し実行される。以下、ＣＰＵ１２１がＳＴＡＲＴ命令５１の直後からＥＮＤ命令５３の直前までのメインプログラム部５２を通して実行することをスキャンという。
【００２４】
メインプログラム部５２は、設備４を制御するための制御プログラム部５２１と、制御プログラム部５２１の実行時におけるプログラマブルコントローラ１の動作履歴情報を記録するための動作履歴情報記録プログラム部５２２とを有している。メインプログラム部５２の一回の実行時には、制御プログラム部５２１及び動作履歴情報記録プログラム部５２２がそれぞれ一回ずつ実行される。図３に示す例では、動作履歴情報記録プログラム部５２２が制御プログラム部５２１の実行後に実行される。
【００２５】
図４（ａ）は、制御プログラム部５２１の一部を例示する説明図である。制御プログラム部５２１では、設備４に所定の動作をさせるための条件が複数のリレーの接点の組み合わせにより表現されている。図４（ａ）には、入力モジュール１４の三つの入力リレーの接点の組み合わせにより出力モジュール１３の一つの出力リレーをオン／オフさせるラダー回路図の例を示している。
【００２６】
図４（ａ）において、符号６１で示すシンボルは、アドレスＸ００１で特定される入力リレー（以下、入力リレーＸ００１という）のａ接点であり、符号６２で示すシンボルは、アドレスＸ００２で特定される入力リレー（以下、入力リレーＸ００２という）のｂ接点である。符号６３で示すシンボルは、アドレスＸ００３で特定される入力リレー（以下、入力リレーＸ００３という）のａ接点である。ここで、ａ接点とは、リレーのオン状態で導通状態となる接点であり、ｂ接点とは、リレーのオフ状態で導通状態となる接点である。また、符号６４で示すシンボルは、アドレスＹ００１で特定される出力リレー（以下、出力リレーＹ００１という）のコイルである。
【００２７】
図４（ａ）の回路例では、入力リレーＸ００１のａ接点と入力リレーＸ００２のｂ接点との直列回路に入力リレーＸ００３のａ接点が並列に接続されている。このため、入力リレーＸ００１がオン状態であり、かつ入力リレーＸ００２がオフ状態である場合、もしくは入力リレーＸ００３がオン状態である場合に、出力リレーＹ００１がオン状態となる。これにより、出力リレーＹ００１に対応するアクチュエータ４１が動作する。
【００２８】
動作履歴情報記録プログラム部５２２は、制御プログラム部５２１で用いられる複数のリレーのうち少なくとも一部のリレーの接点のオンオフ状態の変化を時刻情報と共に動作履歴情報としてメモリ１２２に記録するために、シーケンスプログラム１０２の一部としてプログラマーによって作成されている。すなわち、本実施の形態では、動作履歴情報をメモリ１２２に記録する処理が、シーケンスプログラム１０２の動作履歴情報記録プログラム部５２２により行われる。
【００２９】
図４（ｂ）は、動作履歴情報記録プログラム部５２２の一部として、入力リレーＸ００１の動作履歴情報を記録するラダー回路図の例を示している。図５は、図４（ｂ）に示すラダー回路図によってリングバッファ１０５に記録された動作履歴情報の一例を示している。
【００３０】
図４（ｂ）において、符号７１で示すシンボルは、入力リレーＸ００１のａ接点であり、符号７２で示すシンボルは、微分接点Ｐ００１である。微分接点Ｐ００１は、前回のスキャン時には入力リレーＸ００１がオフ状態で、今回のスキャン時に入力リレーＸ００１がオン状態となった場合に、当該スキャン時において一回のみ導通状態となる接点である。図４（ｂ）に示す例では、微分接点Ｐ００１が導通状態となった場合、すなわち入力リレーＸ００１がオフ状態からオン状態となった場合に、第１乃至第４のファンクション命令７３〜７６が実行される。
【００３１】
第１のファンクション命令７３は、リングバッファ１０５におけるアクセス先を示すポインタの値（アドレス）を設定する命令である。第２のファンクション命令７４は、ＲＴＣ１２４から読み出した現在時刻及び年月日の情報を第１のファンクション命令７３で設定されたアドレスのリングバッファ１０５に書き込む命令である。第３のファンクション命令７５は、オンオフ状態が変化したリレーのアドレス情報（ここでは、Ｘ００１）を現在時刻及び年月日の情報に続けてリングバッファ１０５に書き込む命令である。
【００３２】
第４のファンクション命令７６は、オンオフ状態が変化したリレーの接点がオフ状態からオン状態に変化したことをリレーのアドレス情報に続けてリングバッファ１０５に書き込む命令である。本実施の形態では、オフ状態からオン状態に変化した場合に第４のファンクション命令７６によってリングバッファ１０５に「１」を書き込み、オン状態からオフ状態に変化した場合には、後述する第５のファンクション命令７８によってリングバッファ１０５に「０」を書き込む。
【００３３】
図４（ｂ）において、符号７７で示すシンボルは、微分接点Ｐ００２である。微分接点Ｐ００２は、前回のスキャン時には入力リレーＸ００１がオン状態で、今回のスキャン時に入力リレーＸ００１がオフ状態となった場合に、当該スキャン時においてのみ導通状態となる。微分接点Ｐ００２が導通状態となった場合には、第１乃至第３のファンクション命令７３〜７５及び第５のファンクション命令７８が実行される。第５のファンクション命令７８は、オフ状態からオン状態に変化したことをリレーのアドレス情報に続けてリングバッファ１０５に書き込む命令である。
【００３４】
このように、本実施の形態では、リレーの接点がオフ状態からオン状態に切り替わったとき、及びオン状態からオフ状態に切り替わったときの時刻及び日時の情報を、リレーのアドレス情報と共に動作履歴情報としてリングバッファ１０５に記録する。この動作履歴情報の記録は、入力モジュール１４の入力リレーの他、出力モジュール１３の出力リレーでもよい。また、シーケンスプログラム１０２内でのみ用いられる内部リレーに関して動作履歴情報を記録してもよい。またさらに、シーケンスプログラム１０２の制御プログラム部５２１に用いられる全てのリレーに関して動作履歴情報を記録してもよく、一部のリレーのみに関して動作履歴情報を記録してもよい。
【００３５】
リングバッファ１０５に記録された動作履歴情報は、例えばプログラム編集装置３によって読み出され、その内容がディスプレイ３１に表示される。これにより、例えば設備４の異常処理作業を行う作業者が、異常発生時のプログラマブルコントローラ１の動作状態を把握することができる。そして、その情報を基に異常の発生原因を特定すること等が可能となる。
【００３６】
（実施の形態の効果）
以上説明した本実施の形態によれば、動作履歴情報がプログラマブルコントローラ１のメモリ１２２に記録されるので、設備４に異常が発生したときにプログラム編集装置３が接続されていなくても、事後にプログラム編集装置３を接続すれば異常発生時のプログラマブルコントローラ１の動作状態を把握することができる。また、動作履歴情報をメモリ１２２に記録する処理がシーケンスプログラム１０２により行われるので、プログラマブルコントローラ１としては既存のものを用いることができると共に、動作履歴情報の記録対象となるリレーの追加や削除を容易に行うことができる。また、メインプログラム部５２の一回の実行時に、制御プログラム部５２１及び動作履歴情報記録プログラム部５２２がそれぞれ一回ずつ実行されるので、動作履歴情報の記録対象であるリレーの接点状態が変わったときに、確実に動作履歴情報をメモリ１２２に記録することができる。
【００３７】
（付記）
以上、本発明を実施の形態に基づいて説明したが、これらの実施の形態は特許請求の範囲に係る発明を限定するものではない。また、実施の形態の中で説明した特徴の組合せの全てが発明の課題を解決するための手段に必須であるとは限らない点に留意すべきである。また、本発明は、その趣旨を逸脱しない範囲で適宜変形して実施することが可能である。
【符号の説明】
【００３８】
１…プログラマブルコントローラ            ４…設備
１０２…シーケンスプログラム              １２２…メモリ
５２１…制御プログラム部                  ５２２…動作履歴情報記録プログラム部
【図１】
2020177485.tif 000003
【図２】
2020177485.tif 000004
【図３】
2020177485.tif 000005
【図４】
2020177485.tif 000006
【図５】
2020177485.tif 000007