(57)【要約】      （修正有）【課題】実使用環境における制御動作をオフライン環境でも正確に再現させることによって、シーケンスラダープログラムの動作確認精度を高める。【解決手段】制御対象機器の制御シーケンスプログラムを格納するシーケンスプログラムメモリ４と、前記プログラムメモリ４に格納されたプログラムに基づいて演算処理するマイクロプロセッサユニット２と、シーケンスプログラムの演算処理過程で演算に用いられる値を一時的に格納するデータメモリ５と、プログラムメモリ４に格納されるプログラムを書き換えるためにプログラミング装置と接続されるプログラミング装置インタフェース６とを備えるプログラマブルロジックコントローラ１であって、前記データメモリ５とは別に、シーケンスラダープログラムの演算結果を格納する記憶手段と、ユーザからの条件指令に基づいて、記憶手段へのデータの格納を制御するためのデータ格納制御手段１１を備える。【選択図】図１
2016045712.tif 000002
【特許請求の範囲】
【請求項１】
制御対象である機器の制御シーケンスを書き示すシーケンスプログラムを格納するシーケンスプログラムメモリと、
前記シーケンスプログラムメモリに格納された前記シーケンスプログラムに基づいて演算処理するマイクロプロセッサユニットと、
前記シーケンスプログラムの演算処理過程で演算に用いられる値を一時的に格納しておくデータメモリと、
前記シーケンスプログラムメモリに格納される前記シーケンスプログラムを書き換えるためにプログラミング装置と接続されるプログラミング装置インタフェースと
を備えるプログラマブルロジックコントローラであって、
前記データメモリとは別に、前記シーケンスラダープログラムの演算結果を格納するための記憶手段と、
ユーザからの条件指令に基づいて、前記記憶手段へのデータの格納を制御するためのデータ格納制御手段を備えるプログラマブルロジックコントローラ。
【請求項２】
請求項１に記載のプログラムロジックコントローラにおいて、
前記記憶手段を取り外し可能としたことを特徴とするプログラマブルロジックコントローラ。
【請求項３】
請求項２に記載のプログラムロジックコントローラにおいて、
前記記憶手段と前記データ格納制御手段とを一体として、取り外し可能としたことを特徴とするプログラマブルロジックコントローラ。
【請求項４】
請求項２に記載のプログラムロジックコントローラにおいて、
前記データ格納制御手段はプログラマブルロジックコントローラ側に設け、前記記憶手段を取り外し可能としたことを特徴とするプログラマブルロジックコントローラ。
【請求項５】
請求項４に記載のプログラムロジックコントローラにおいて、
前記記憶手段を、ＵＳＢメモリ、ＵＳＢハードディスク、ＳＤカードの何れかで構成したことを特徴とするプログラマブルロジックコントローラ。
【請求項６】
請求項１〜５の何れか一つに記載のプログラムロジックコントローラにおいて、
前記データ格納制御手段は、条件一致信号を入力し、条件一致信号が入力した場合に、データを前記記憶手段に記憶することを特徴とするプログラマブルロジックコントローラ。
【請求項７】
請求項６に記載のプログラムロジックコントローラにおいて、
前記データ格納制御手段は、更に、スキャン回数信号を入力し、スキャン回数信号で指定されたデータを前記記憶手段に記憶することを特徴とするプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラに関する。
【背景技術】
【０００２】
機器の制御装置としてプログラマブルロジックコントローラ（以下、ＰＬＣともいう。）が用いられている。
【０００３】
プログラマブルコントローラにて演算処理されるシーケンスプログラムは、プログラマブルコントローラメーカ各社が提供するプログラミング装置にて入力される。  
このプログラミング装置は、パソコン用のアプリケーションソフトウェアという形態で提供されるのが一般的であり、プログラミング装置とシーケンスプログラムが格納されたプログラマブルコントローラ間を専用、あるいは汎用の通信用ケーブルで接続し、プログラミング装置から所定の操作をすることで、プログラマブルコントローラに格納されるシーケンスプログラムの処理内容を変更したり、処理状況を確認したりすることができる。
【０００４】
一般的にＰＬＣのシーケンスラダープログラムの動作確認（デバッグ）は以下のような流れで実施される。  
ＰＬＣ実機入手前の段階では、プログラミング装置にてオフラインシミュレーションが実施される。ＰＬＣが制御設備へ組込まれる前の段階では、すべての制御信号が整っていない状況であるものの、実機を使用したオンラインデバッグが実施される。そして、ＰＬＣが制御設備へ組込まれた段階（以下、実使用環境とする。）でようやく最終的なオンラインデバッグが可能な状態になる。
【０００５】
ラダーシーケンスプログラムの動作確認技術として特許文献１には、ラダーシーケンスプログラムの１シーケンスサイクル終了ごとにラダー動作結果を外部出力する手段と、その出力信号をデバッグツールで受信して記憶する装置と、その受信した情報を表示する手段を設けることによって、シーケンス処理が実行中においてもオフラインにて詳細なデータをモニタ可能とすることが記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−１２２４０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般的にＰＬＣのシーケンスラダープログラムの動作確認は上記のような流れで行われるが、ＰＬＣ実機入手前の段階や、ＰＬＣが制御設備へ組込まれる前の段階では、外部入出力信号や通信経由で伝達される情報を完全に模擬することが難しいため、動作確認の結果が実使用環境の動作と一致しないことが起こり得る。さらに、実使用環境においても、シーケンスラダープログラムの実行時間（１シーケンスの処理時間は数十μｓ〜数ｍｓ）と、オンラインデバッグ用プログラミング装置とＰＬＣ間のデータ伝送時間（数十〜数百ｍｓ）との速度差や、シーケンスラダープログラムの動作とオンラインデバッグにおけるプログラミング装置とＰＬＣ間のデータ伝送動作が非同期であることなどが起因して、異常動作を確実に捕捉できないことが起こり得る。
【０００８】
さらに、一般的に実使用環境においては、動作確認にかけられる作業時間が決まっているため、とくに再現性の低い問題の現象を十分に検証することが困難なことが多くある。
【０００９】
特許文献１には、ラダーシーケンスプログラムの１シーケンスサイクル終了ごとにラダー動作結果を外部出力して記憶し、オフラインにてモニタ可能とすることが記載されているが、全てのラダー動作結果を記憶するものであり、また、動作確認に多くのデータをモニタする必要がある。
【００１０】
本発明は、上記事由に鑑みて為されたものであり、その目的は、実使用環境における制御動作をオフライン環境でも正確に再現させることによって、シーケンスラダープログラムの動作確認精度を高めることである。
【課題を解決するための手段】
【００１１】
本発明では、演算結果を格納する主たるデータメモリ領域とは別に、プログラミング装置から指定された条件に基づいて、その条件に一致した前後数スキャン分の演算結果の情報を格納するための制御手段と専用記憶領域が設けられる。ここで、専用記憶領域に格納される情報は、データメモリ領域の情報と同一である。
さらに、その専用記憶領域をＰＬＣから取り外し可能とすることで、実使用環境で取得した演算結果情報を実使用環境以外の環境においてオフラインデバッグできるようになる。
【００１２】
また、専用記憶領域に格納された情報は通常の演算処理で用いられる必要はないので、通常処理において読み出し動作は不要であり、ＰＬＣ本来の制御処理への負担とはならない。
【００１３】
動作確認作業者は、実使用環境ではない環境において、必要最小限のＰＬＣ機器を構築し、実使用環境から取得してきた専用記憶領域を装着する。この動作環境においてプログラミング装置からの指示によって、専用記憶領域に格納された情報に基づいてシーケンスラダープログラムの動作を再現させることが可能になる。
【００１４】
本発明のプログラマブルロジックコントローラの一例を挙げるならば、制御対象である機器の制御シーケンスを書き示すシーケンスプログラムを格納する書き換え可能なシーケンスプログラムメモリと、前記シーケンスプログラムメモリに格納された前記シーケンスプログラムに基づいて演算処理するマイクロプロセッサユニットと、前記シーケンスプログラムの演算処理過程で演算に用いられる値を一時的に格納しておくデータメモリと、前記シーケンスプログラムメモリに格納される前記シーケンスプログラムを書き換えるためにプログラミング装置と接続されるプログラミング装置インタフェースとを備えるプログラマブルロジックコントローラにおいて、前記データメモリとは別に、前記シーケンスラダープログラムの演算結果を格納するための記憶手段と、ユーザからの条件指令に基づいて、前記記憶手段へのデータの格納を制御するためのデータ格納制御手段を備えるものである。
【発明の効果】
【００１５】
本発明によれば、実使用環境における制御動作の結果をオフライン環境においても正確に再現させることができるため、より精度の高いシーケンスラダープログラムの動作確認作業が可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例１の専用記憶領域を備えたＰＬＣの構成を示す説明図である。
【図２】実施例１の専用記憶領域の構成を示す説明図である。
【図３】専用記憶領域にデータを記憶する動作を示す説明図である。
【図４】実施例２の専用記憶領域の構成を示す説明図である。
【図５】一般的なＰＬＣの構成を示す説明図である。
【図６】プログラミング装置に表示されるシーケンスラダープログラムの一例を示す図である。
【発明を実施するための形態】
【００１７】
本発明を実施するための形態を説明する前に、一般的なＰＬＣとプログラミング装置について図５と図６を用いて説明する。
【００１８】
図５に、一般的なプログラマブルロジックコントローラとプログラミング装置の構成を示す。  
ＰＬＣ１は、論理演算や算術演算を行うＭＰＵ２、ＭＰＵ２が制御する内容・手順を記憶したシステムプログラムメモリ３、シーケンスラダープログラムが格納されるシーケンスラダープログラムメモリ４、シーケンスラダープログラムの演算結果などを一時的に記憶するデータメモリ５、プログラミング装置７と通信し、シーケンスラダープログラムメモリ４の内容変更やシーケンスラダープログラムの動作確認などに利用されるプログラミング装置インタフェース６、データバス８、シーケンスラダープログラムの処理結果に基づいて周辺機器との間で制御情報をやり取りするＰＩ／ＯバスＩ／Ｆ９とを備えている。
【００１９】
プログラミング装置７は、ＰＬＣ１にて演算処理されるシーケンスラダープログラムをプログラミングする目的のほか、ＰＬＣ１へのシーケンスラダープログラムの書込み、ＰＬＣ１からのシーケンスラダープログラムの読出し、シーケンスラダープログラムの動作確認やデバッグなどに使用される。
なお、周辺機器との接続は、ＰＩ／ＯバスＩ／Ｆ９とＰＩ／Ｏバスとが接続され、さらに、ＰＩ／Ｏバスと周辺機器とがインタフェースを介して接続される。
【００２０】
図６は、プログラミング装置７に表示されるシーケンスラダープログラム１５の一例である。  
このシーケンスラダープログラム１５では、Ｘ０、Ｘ１、Ｘ２、Ｘ３という４つの入力接点シンボルのＯＮ／ＯＦＦ状態によって出力コイルシンボルＹ１００のＯＮ／ＯＦＦを制御するものであり、Ｘ０とＸ１とＸ３がＯＮ状態のときと、Ｘ０とＸ２とＸ３がＯＮ状態のときに、Ｙ１００がＯＮ状態になり、Ｘ０、Ｘ１、Ｘ２、Ｘ３が前記の状態以外のときはＹ１００がＯＦＦ状態になる。Ｘ０、Ｘ１、Ｘ２、Ｘ３、Ｙ１００などのＯＮ／ＯＦＦ情報は、データメモリ５へ格納される。シーケンスラダープログラム１５はプログラミング装置７に表示されているラダーシンボルの上から下に順次演算処理され、最終シンボルまで演算が完了すると最初のシンボルへ戻って再びに上から下に順次演算処理を続けるようになっている。
【００２１】
プログラミング装置７の操作者によりラダーシンボル形式でプログラミングされたシーケンスラダープログラム１５は、プログラミング装置インタフェース６とＭＰＵ２を介してシーケンスプログラムメモリ４に格納される。
【００２２】
シーケンスラダープログラム１５の動作確認は、プログラミング装置７とＰＬＣ１を通信手段で接続して一般的にオンラインといわれる状態にして実施される。プログラミング装置７ではさらにモニタなどと呼ばれる状態にすることで、ラダーシンボルのＯＮ／ＯＦＦ状態を視覚的に確認できるようになっている。このＯＮ／ＯＦＦ情報はデータメモリ５に記憶されているもので、通信によりＰＬＣ１からプログラミング装置７へ伝達されている。
【００２３】
本発明は、このようなプログラマブルロジックコントローラにおいて、実使用環境における制御動作をオフライン環境でも正確に再現させることによって、シーケンスラダープログラムの動作確認精度を高めるものである。
【００２４】
本発明の実施例を、以下に図面を用いて説明する。
【実施例１】
【００２５】
図１に、本発明の実施例１のＰＬＣを示す。この実施例では、一般的なＰＬＣ１を構成するＭＰＵ２、システムプログラムメモリ３、シーケンスラダープログラムメモリ４、データメモリ５、プログラミング装置Ｉ／Ｆ６、ＰＩ／ＯバスＩ／Ｆ９に加えて、専用記憶領域１０と呼ばれる着脱可能なメモリ装置を備えている。
【００２６】
ＭＰＵ２、システムプログラムメモリ３、シーケンスラダープログラムメモリ４、データメモリ５、専用記憶領域１０、ＰＩ／ＯバスＩ／Ｆ９はデータバス８で結ばれており、システムプログラムメモリ３に格納された情報やシーケンスラダープログラムメモリ４に格納された情報が、このデータバス８を介してＭＰＵ２へ受け渡される。ＭＰＵ２で演算処理された結果の情報は、データメモリ５へ順次格納される。専用記憶領域１０はデータメモリ５と同様にデータバス８に接続されて、ＭＰＵ２の演算処理結果が伝達される構成になっている。本実施例において、専用記憶領域はデバッグ用の記憶領域であって、必要な演算処理結果を記憶する。
【００２７】
プログラミング装置７からは、ＰＬＣ１のプログラミング装置Ｉ／Ｆ６を経由して、ＰＬＣ１内部の演算処理内容を通信経由で受け渡しすることにより、ＰＬＣ１内部の演算状況をモニタすることによって、意図した制御が処理されているかを確認することができるようになっている。本実施例では、このプログラミング装置７にて、専用記憶領域１０へ格納する情報の条件を設定できるようになっており、その条件はシーケンスラダープログラムメモリ４へ格納される。
【００２８】
図２は、専用記憶領域１０の一実施例を示すものである。専用記憶領域１０は、データ格納制御手段１１、メモリ１２、バッテリ１３で構成されている。データ格納制御手段１２には一般的な非同期メモリを制御するためのチップセレクト信号、ライトストローブ信号、アドレス信号が接続されているのに加えて、プログラミング装置７から設定された専用記憶領域へのデータ格納を制御するための条件一致信号と、シーケンスラダープログラムの演算回数を示すスキャン回数信号が接続されている。
【００２９】
条件一致信号が無効な場合、ＭＰＵ２で演算された結果の情報は、メモリ１２には書き込まれないように制御される。
【００３０】
条件一致信号が有効になると、ＭＰＵ２から伝達されるスキャン回数信号で指定された回数分だけの情報がメモリ１３へ格納されるように制御される。これにより、指定された条件が一致したタイミング前後の情報が演算結果メモリ１２へ格納されるようになる。条件一致信号としては、例えば、意図しない動作をしたときの信号である。
【００３１】
図３に、演算結果のデータを専用記憶領域に記憶する動作を示す。時間の矢印で示すように、演算結果のデータは順次送られてくる。条件一致信号が送られてくると、選択したデータを専用記憶領域に記憶する。記憶するデータは、スキャン回数信号で指定された数、例えば４個、のデータを、条件一致信号の前後から選択する。例えば図においては、実線で示される４個のデータが選択され、専用記憶領域に記憶される。条件一致信号のいくつ前のデータから記憶するかは、予め設定しておけば良い。
【００３２】
メモリ１３に格納された情報はバッテリ１３にて情報が保持されるようになっており、ＰＬＣ１から専用記憶領域１０が取り外されても情報が失われない。
【００３３】
本実施例によれば、演算結果を格納する主たるデータメモリ領域とは別に、プログラミング装置から指定された条件に基づいて、その条件に一致した前後数スキャン分の演算結果の情報を格納するための制御手段と専用記憶領域が設けられるので、制御設備へ組み込まれた状態での演算結果に基づいてシーケンスラダープログラムのデバッグができるため、精度の高い検証が可能となる。専用記憶領域に格納された情報は通常の演算処理で用いられる必要はないので、通常処理において読み出し動作は不要であり、ＰＬＣ本来の制御処理への負担とはならない。
【００３４】
また、専用記憶領域をＰＬＣから取り外し可能とすることで、実使用環境で取得した演算結果情報を実使用環境以外の環境においてオフラインデバッグできるようになる。すなわち、演算結果が格納された専用記憶領域を回収して、プログラミング装置を用いてデバッグを行うことができる。
【実施例２】
【００３５】
図４に、本発明の実施例２のＰＬＣを構成する専用記憶領域１０を示す。実施例１では、専用記憶領域１０を構成する着脱可能なメモリ装置に、データ格納制御手段１１を備えていた。本実施例では、データ格納制御手段１１をＰＬＣ側に設け、着脱可能なメモリ装置としてはメモリ１２とバッテリ１３のみで構成する。
【００３６】
データ格納制御手段１１をＰＬＣ側に設けることにより、専用記憶領域１０を構成する着脱可能なメモリ装置として、汎用的なメモリである、ＵＳＢメモリ、ＵＳＢハードディスク、ＳＤカード等を利用することができる。
【符号の説明】
【００３７】
１  プログラマブルロジックコントローラ（ＰＬＣ）
２  ＭＰＵ
３  システムプログラムメモリ
４  シーケンスラダープログラムメモリ
５  データメモリ
６  プログラミング装置Ｉ／Ｆ
７  プログラミング装置
８  データバス
９  ＰＩ／ＯバスＩ／Ｆ
１０  専用記憶領域
１１  データ格納制御手段
１２  メモリ
１３  バッテリ
１５  ラダーシンボル形式のシーケンスプログラム
【図１】
2016045712.tif 000003
【図２】
2016045712.tif 000004
【図３】
2016045712.tif 000005
【図４】
2016045712.tif 000006
【図５】
2016045712.tif 000007
【図６】
2016045712.tif 000008