(57)【要約】      （修正有）【課題】異常の原因を迅速に特定することの可能なプログラマブルコントローラを提供すること。【解決手段】実施形態によれば、プログラマブルコントローラは、シーケンスプログラムの実行に係わるデータを記憶するプログラムレジスタと、シーケンスプログラムを実行する主プロセッサ１と、主プロセッサ１にバスを介して接続される副プロセッサ９とを具備する。副プロセッサ９は、主プロセッサ１におけるシーケンスプログラムの実行状況を保存する実行状況保存部１１ａを備える。【選択図】図２
2013065074.tif 000002
【特許請求の範囲】
【請求項１】
シーケンスプログラムの実行に係わるデータを記憶するプログラムレジスタと、
前記シーケンスプログラムを実行する主プロセッサと、
前記主プロセッサにバスを介して接続される副プロセッサとを具備し、
前記副プロセッサは、
前記主プロセッサにおける前記シーケンスプログラムの実行状況を保存する実行状況保存部を備える、プログラマブルコントローラ。
【請求項２】
シーケンスプログラムの実行に係わるデータを記憶するプログラムレジスタと、
前記シーケンスプログラムを実行する主プロセッサと、
前記主プロセッサにバスを介して接続される副プロセッサとを具備し、
前記副プロセッサは、
前記プログラムレジスタの内容を保存するレジスタ保存部を備える、プログラマブルコントローラ。
【請求項３】
前記レジスタ保存部は、前記シーケンスプログラムの実行に係わるスキャン周期ごとに前記プログラムレジスタの内容を保存する、請求項２に記載のプログラマブルコントローラ。
【請求項４】
シーケンスプログラムの実行に係わるデータを記憶するプログラムレジスタと、
前記シーケンスプログラムを実行する主プロセッサと、
前記主プロセッサにバスを介して接続される副プロセッサとを具備し、
前記副プロセッサは、
前記主プロセッサの停止時における前記シーケンスプログラムの実行状況および前記プログラムレジスタの内容を時刻情報とともに保存するフルダンプ保存部を備える、プログラマブルコントローラ。
【請求項５】
シーケンスプログラムの実行に係わるデータを記憶するプログラムレジスタと、
前記シーケンスプログラムを実行する主プロセッサと、
前記主プロセッサにバスを介して接続される副プロセッサとを具備し、
前記副プロセッサは、
前記主プロセッサに係わるＲＡＳ（reliability, availability, serviceability）情報を保存するＲＡＳ情報保存部を備える、プログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、鉄鋼、製紙プラントや上下水道などの公共システム、ビル、官公施設、電鉄の受変電システム、中央監視制御システム、自動車産業など、産業用システムの制御に広く使用されているプログラマブルコントローラに関する。
【背景技術】
【０００２】
プログラマブルコントローラ（以下、ＰＬＣと表記する）を用いた制御システムでは、原因の特定が困難な異常が生じることがある。異常を誘発する原因には、処理渋滞、基板異常、伝送異常などがあるがこれらを特定するのは容易ではない。特に、再現性の無い一過性不良は原因を特定することが非常に困難である。複数の要因が複雑に絡み合っているケースでは原因の究明はますます難しくなる。
【０００３】
異常の主な原因には、ＰＬＣと接続するハードウェア回路の異常、ＰＬＣソフトウェア回路の異常、ＰＬＣを構成する基板の異常などがある。従来では次の（１）〜（４）の方法でシステムを解析することで原因究明がなされていたが、一長一短である。
【０００４】
（１）罠がけプログラムの追加による情報収集・解析
（２）伝送アナライザや記録計などの情報記録装置を用いて収集したデータによる解析
（３）ＣＰＵ基板、伝送基板のＲＡＳ（reliability, availability, serviceability）情報による解析
（４）プログラム開発ツールを用いてのデータ解析
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−０１８２４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の技術では以下に説明するような問題がある。
【０００７】
（１）の方法では、罠を仕掛けるべき部位を特定することが困難である。つまりソースプログラムの何処にトラッププログラムを仕掛ければよいのか、特定することが難しい。
【０００８】
特定した部位が的外れな場合は意味をなさない。またこの方法では、同様の事象が再度発生して初めて原因調査に必要な情報が得られるので、問題の特定に膨大な時間を要する場合が多い。また、収集可能な情報は罠がけプログラムで指定した情報に限定され、さらに単発的で長時間連続記録が難しいことから、時系列的な解析が困難である。
【０００９】
（２）の方法では、解析のための装置が高価である。また（１）と同じように、（２）の方法でも同様の事象が発生して初めて原因調査に必要な情報が得られる。さらには収集データ量が膨大になるので、解析までに要する時間がますます膨大なものになる。
【００１０】
（３）の方法では、得られる情報が発生事象の履歴（イベント履歴）であるので、原因が基板異常であるかないかを特定することしかできない。
【００１１】
（４）の方法では、プログラム開発ツール上でのプログラム実行状況表示能力が、Central Processing Unit（ＣＰＵ）の速度に追いつかず、情報を単発的にしかモニタに表示できない。また、表示できる範囲が必要な情報のごく一部であり、人がモニタを常に見ている必要がある。さらに、情報が高速に更新されるので人の目では追い切れないばかりか、必要な記録も取れない。
【００１２】
目的は、異常の原因を迅速に特定することの可能なプログラマブルコントローラを提供することにある。
【課題を解決するための手段】
【００１３】
実施形態によれば、プログラマブルコントローラは、シーケンスプログラムの実行に係わるデータを記憶するプログラムレジスタと、シーケンスプログラムを実行する主プロセッサと、主プロセッサにバスを介して接続される副プロセッサとを具備する。副プロセッサは、主プロセッサにおけるシーケンスプログラムの実行状況を保存する実行状況保存部を備える。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係わるプログラマブルコントローラの一例を示す機能ブロック図。
【図２】図２は、図１に示されるプログラマブルコントローラの要部を示す機能ブロック図。
【発明を実施するための形態】
【００１５】
図１は、実施形態に係わるプログラマブルコントローラの一例を示す機能ブロック図である。図１において、主ＣＰＵ１はマイクロプロセッサで、ＰＬＣの中枢部分であり、シーケンスの実行及び実行制御を行う。プログラムメモリ２はＣＰＵ１が実行するシーケンスプログラムを記憶するメモリであり、ＯＳやシーケンスプログラムの解釈、実行プログラムが格納される。
【００１６】
ワークメモリ３はＣＰＵ１がプログラムを実行するときに作業領域として使用する。シーケンスプログラムメモリ（ユーザプログラムメモリ）４はユーザが作成したシーケンスプログラムを格納するメモリである。データメモリ５はユーザが使用する変数などのデータを格納するメモリである。
【００１７】
マイコンバス６はＰＬＣ内の要素をＣＰＵ１と接続するためのバスであり、アドレスバス、データバス、制御バスの総体である。Ｉ／Ｏ７はＰＬＣと外部の制御対象を接続するための入出力装置である。通信インタフェース（通信Ｉ／Ｆ）８はＰＬＣとモニタ装置２０などを通信媒体を介して接続するための回路である。トレースＣＰＵ９はマイコンバス６を介してＣＰＵ１や各種メモリに接続されており、マイコンバス６上の信号を監視しながら自立して動作できるように構成されている。
【００１８】
図２は、図１に示されるプログラマブルコントローラの要部を示す機能ブロック図である。主ＣＰＵ１はプログラム制御を行う、いわばＰＬＣの本体である。主ＣＰＵ１は不揮発性のＴＲＡＣＥメモリ１２を備える。このＴＲＡＣＥメモリ１２は、主ＣＰＵ１によるシーケンスプログラムの実行に係わる種々のデータを一時的に記憶する。
【００１９】
トレースＣＰＵ９はマイコンバス６を介して主ＣＰＵに接続され、主ＣＰＵ１のプログラム実行状況、およびメモリ（レジスタ）の内容を保存する。なおオプションとして、トレースＣＰＵ９が保存したデータを、さらに外部記憶装置に保存することも可能である。
【００２０】
ところで、トレースＣＰＵ９はプログラムメモリ１１を備える。プログラムメモリ１１は例えばElectrically Erasable Programmable Read-Only Memory（ＥＥＰＲＯＭ）などの不揮発性メモリであり、トレースＣＰＵ９の演算処理により実現される処理機能として実行状況保存部１１ａ、レジスタ保存部１１ｂ、フルダンプ保存部１１ｃ、および、ＲＡＳ情報保存部１１ｄを記憶する。
【００２１】
実行状況保存部１１ａは、主ＣＰＵ１におけるプログラム実行状況をリアルタイムで保存する。これにより主ＣＰＵ１に異常が発生した際にシーケンスプログラムのどこまでが実行されていたかを確認することが可能になる。プログラムコードの逐次実施の過程において最後に実行された命令付近に原因が潜んでいることは明白であるので、従って不具合を引き起こしたコード（バグ）の潜む箇所を容易に推測することが可能になる。
【００２２】
レジスタ保存部１１ｂは、主ＣＰＵ１におけるＴＲＡＣＥメモリ１２の内容を保存する。この保存処理はシーケンスプログラムの実行に係わるスキャン周期ごとに実行される。また、データの保存範囲を設定することも可能である。また、設定した単位（数分〜数日など）ごとに外部記憶装置に保存させるようにすることもできる。レジスタ保存部１１ｂによりＴＲＡＣＥメモリ１２の内容を保存することで、主ＣＰＵ１において異常が発生した際に、異常発生時点での全てのメモリ（レジスタ）内容を確認することができ、障害の原因の究明をより短時間に、且つ効率よく実施することが可能になる。
【００２３】
フルダンプ保存部１１ｃは、主ＣＰＵ１の停止時に、その時点における主ＣＰＵ１におけるプログラム実行状況、およびＴＲＡＣＥメモリ１２の内容を時刻情報付きで保存する。すなわちフルダンプ保存部１１ｃは、再起動時、物理メモリの内容を全てファイルに記録する。これにより障害の発生時に、オペレータは詳細且つ時系列的な情報を即座に入手することが可能になる。
【００２４】
ＲＡＳ情報保存部１１ｄは、主ＣＰＵ１のＲＡＳ情報を保存する。一般に、ＣＰＵのＲＡＳ情報はＣＰＵがダウンすることで消失するケースがある。実施形態によればダウン直前までのＲＡＳ情報が保存されるので、ＣＰＵがダウンした際にもその直前までのＲＡＳ情報を確認することが可能となる。
【００２５】
以上述べたように実施形態では、プログラムシーケンスを実行する主ＣＰＵ１をトレースするトレースＣＰＵ９を設け、トレースＣＰＵ９により、シーケンスプログラムの実行状況、主ＣＰＵ１のレジスタの内容およびこれらのフルダンプデータ、ＲＡＳ情報を保存するようにしている。このようにしたので以下の効果を得ることが可能になる。
【００２６】
（ａ）従来から収集可能であった情報に加え、プログラム実行状況、メモリ（レジスタ）内容など、収集可能な情報が大幅に増える。これらの情報は本来、全てが揃ってはじめて意味をなすものであるので、既存技術で得られる単発的な情報だけでは解析が困難であった障害に対しても実施形態により意味をなす情報収集ができるようになり、従ってデータ解析が容易となる。
【００２７】
（ｂ）時系列的な情報が得られるようになるので、処理の流れを追った解析が可能となり、異常部位、渋滞部位の特定が容易となる。
【００２８】
（ｃ）プログラムトレース用ＣＰＵとして専用のＣＰＵ（トレースＣＰＵ９）を用いることで、制御用の主ＣＰＵ１の暴走・停止時にもトレースを行うことが可能になる。ＲＡＳ情報は主ＣＰＵ１のダウンにより消失することがあるが、実施形態によれば、主ＣＰＵ１のダウン時のＲＡＳ情報を消失の恐れなく保存することが可能になる。
【００２９】
（ｄ）外部からの情報（ＤＯ出力、ＦＢ応動、伝送情報など）とメモリ（レジスタ）内容とを照らし合わせることで、プログラムだけでなく、ハードウェア回路、他ＣＰＵを含めたシステム全体の機能トレースが可能となる。
【００３０】
以上のこれらの効果により、従来技術では困難であった原因部位の特定、時系列的な解析を容易に行うことが可能となり、迅速な原因究明が行えるようになる。従って異常の原因を迅速に特定することの可能なプログラマブルコントローラを提供することが可能となる。すなわちＰＬＣを用いた制御システムにおいて、異常の発生後、直ちに解析を始めること、および異常発生時の詳細な状態（データ）を得ることが可能になり、原因の迅速且つ確実な究明を行うことを目的とする。
【００３１】
なお本発明は上記実施の形態に限定されるものではない。例えば実行状況保存部１１ａにより主ＣＰＵ１におけるプログラム実行状況を保存するタイミング、あるいはレジスタ保存部１１ｂによりＴＲＡＣＥメモリ１２の内容を保存するタイミングは、例えばリアルタイムだけに限らず、異常検知時などのトリガの発生時、あるいはスキャン周期に基づいてサイクリックで実行したり、または定期的に実行するようにしても良い。
【００３２】
本発明の実施形態を説明したが、この実施形態は例として提示するものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００３３】
１…マイクロプロセッサ（ＣＰＵ）、２…プログラムメモリ、３…ワークメモリ、４…シーケンスプログラムメモリ、５…データメモリ、６…マイコンバス、７…Ｉ／Ｏ、８…通信インタフェース、９…トレースＣＰＵ、１０…割込み信号、２０…モニタ装置、１１…プログラムメモリ、１１ａ…実行状況保存部、１１ｂ…レジスタ保存部、１１ｃ…フルダンプ保存部、１１ｄ…ＲＡＳ情報保存部、１２…ＴＲＡＣＥメモリ
【図１】
2013065074.tif 000003
【図２】
2013065074.tif 000004