(57)【特許請求の範囲】
【請求項１】
ＳＦＣ言語で記述された制御プログラムの実行時におけるアドレスの信号状態をサンプリングしてサンプリングデータを記録するトレース機能を有するプログラマブルコントローラにおいて、
前記制御プログラムを構成するステップに関連付けて、サンプリング対象となる信号アドレスを含むサンプリングパラメータを記憶するステップ用サンプリングパラメータ格納部と、
前記制御プログラムの実行時に、前記制御プログラムを構成するステップの活性状態の移行条件の成立を監視し、活性状態にあるステップを検出するステップ移行条件成立監視部と、
を備え、
前記トレース機能の実行時に、前記ステップ移行条件成立監視部が活性状態にあると検出したステップに応じて、前記ステップ用サンプリングパラメータ格納部から前記サンプリングパラメータを取得し、前記サンプリングパラメータに含まれる前記サンプリング対象となるアドレスの信号状態をサンプリングして前記活性状態にあるステップのサンプリングデータとして記録し、
前記アドレスの信号状態を表示する際に、サンプリングされなかったアドレスの信号状態については、該アドレスの信号状態をサンプリングしたデータが無いことを示すマスク表示で表示する、
ことを特徴とするプログラマブルコントローラ。
【請求項２】
複数の記録された前記活性状態にあるステップの前記サンプリングデータを、前記制御プログラムを構成するステップが活性化した順に連結して表示するサンプリングデータ表示手段を更に備える、
ことを特徴とする請求項１に記載されたプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＦＣの活性状態ステップの信号アドレスをサンプリングするプログラマブルコントローラに関する。
【背景技術】
【０００２】
従来、プログラマブルロジックコントローラ（ＰＬＣ）用の言語の１つに、シーケンス制御を状態遷移図のように記述するＳＦＣ（Ｓｅｑｕｅｎｔｉａｌ  Ｆｕｎｃｔｉｏｎ  Ｃｈａｒｔ）言語がある。ＳＦＣは、国際電気標準会議（ＩＥＣ）が１９９３年１２月に発行した標準規格のＩＥＣ６１１３１−３で定義されている５種類のプログラミング言語の１つである。
【０００３】
ＳＦＣの特徴として、ステップ単位で制御状態が遷移して行き、活性状態（ステップ実行中）と非活性状態（ステップ停止中）が切り替わることが挙げられる。非活性状態のステップでは、プログラムが実行されないため当該ステップに係る信号には変化が発生しない。図５は、ＳＦＣ言語で記述されたシーケンスプログラムの例である。図中で四角記号（□）はステップを表しており、非活性状態のステップは白抜きで、活性状態のステップは黒塗りで表現されている。図５のＳＦＣ表示は、ＤＭＳＴＥＰが活性状態となっていて、現在ＤＭＳＴＥＰ内のプログラムが実行されており、その他のステップは否活性状態となっていることを表している。
【０００４】
数値制御装置に内蔵されるプログラマブルコントローラ（ＰＭＣ）は、シーケンス制御で使用する信号アドレスの状態を取得する手段として、指定したアドレスの信号状態を周期的に監視し、設定した周期（解像度）毎に、設定した条件に従って信号の値を抽出して保存（サンプリング）し、その結果を表示するトレース機能がある。図６に、トレース機能により信号アドレスの状態を１６ｍｓ周期で監視した結果を表示した例を示す。図において、下の枠内の左側には監視している信号アドレスが表示されており、右側にはそれぞれの信号アドレスにおける信号の変化が表示されている。トレース機能は、指定した信号のサンプリングをラダー実行周期毎に行うので、ＳＦＣのステップ実行状態とは連動していない。
【０００５】
ＳＦＣのトレースに関連する従来技術として、プログラマブルコントローラ及びそのプログラマブルコントローラを用いたＳＦＣプログラムの実行方法（例えば、特許文献１）、シーケンス制御装置（例えば、特許文献２）などが提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０６−２８９９２８号公報
【特許文献２】特開平０２−１４８２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
トレース機能は、ＳＦＣの活性／非活性状態を監視していないため、ＳＦＣで使用するアドレスの信号状態をサンプリングするときに、ＳＦＣが非活性状態（ステップ停止中）でサンプリングする必要のない間の信号状態もサンプリングして取得してしまい、その結果として、取得するデータサイズが膨大になるという問題があった。
【０００８】
例えば、図７（ａ）は、ステップＳ０００１とステップＳ０００２を持つＳＦＣであり、図７（ｂ）は、図７（ａ）のプログラムを実行している最中に、ステップＳ０００１で使用する信号アドレスＺ００９１．５およびＺ００９１．６と、ステップＳ０００２で使用する信号アドレスＺ０００１．５およびＺ０００１．６の信号の変化をサンプリングした結果を表示したものである。ステップＳ０００１とステップＳ０００２が活性状態にあるときには、それぞれの信号変化を正しくサンプリングしているが、同時にステップが非活性状態にあるときにもサンプリングを行い停止中の不要なデータを取得しているため、不要なデータの保存に多くのメモリを消費している。
【０００９】
そこで本発明の目的は、ＳＦＣの実行時に、不要なサンプリングデータの取得と保存に多くのメモリを浪費することなく信号アドレスをトレースできると共に、ＳＦＣの実行の流れに沿った信号変化の状態を視認して確認できるプログラマブルコントローラを提供することである。
【課題を解決するための手段】
【００１０】
本願の請求項１に係る発明は、ＳＦＣ言語で記述された制御プログラムの実行時におけるアドレスの信号状態をサンプリングしてサンプリングデータを記録するトレース機能を有するプログラマブルコントローラにおいて、前記制御プログラムを構成するステップに関連付けて、サンプリング対象となる信号アドレスを含むサンプリングパラメータを記憶するステップ用サンプリングパラメータ格納部と、前記制御プログラムの実行時に、前記制御プログラムを構成するステップの活性状態の移行条件の成立を監視し、活性状態にあるステップを検出するステップ移行条件成立監視部と、を備え、前記トレース機能の実行時に、前記ステップ移行条件成立監視部が活性状態にあると検出したステップに応じて、前記ステップ用サンプリングパラメータ格納部から前記サンプリングパラメータを取得し、前記サンプリングパラメータに含まれる前記サンプリング対象となるアドレスの信号状態をサンプリングして前記活性状態にあるステップのサンプリングデータとして記録し、
前記アドレスの信号状態を表示する際に、サンプリングされなかったアドレスの信号状態については、該アドレスの信号状態をサンプリングしたデータが無いことを示すマスク表示で表示する、ことを特徴とするプログラマブルコントローラである。
【００１１】
本願の請求項２に係る発明は、複数の記録された前記活性状態にあるステップの前記サンプリングデータを、前記制御プログラムを構成するステップが活性化した順に連結して表示するサンプリングデータ表示手段を更に備える、ことを特徴とする請求項１に記載されたプログラマブルコントローラである。
【発明の効果】
【００１２】
本発明により、不要なデータのない効率の良いサンプリング結果が、ステップ実行毎に取得できる。また、取得したサンプリング結果を時系列順に１つに連結して表示することで、ＳＦＣの実行の流れに沿った信号変化の状態を視認してデバッグが可能となり、保守性の向上が期待できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態におけるプログラマブルコントローラの要部ブロック図である。
【図２】本発明の実施の形態におけるプログラマブルコントローラが記録するサンプリングデータを示す図である。
【図３】本発明の実施の形態におけるトレース機能実行部が実行する処理のフローチャートである。
【図４】本発明の実施の形態におけるプログラマブルコントローラによるサンプリングデータの連結表示結果を示す図である。
【図５】ＳＦＣ言語で記述されたシーケンスプログラムの例を示す図である。
【図６】信号アドレスの状態をトレース機能によりトレースした結果画面の例を示す図である。
【図７】トレースにより発生する不要なサンプリングデータについて説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図面と共に説明する。
図１は、本発明の一実施の形態におけるプログラマブルコントローラの要部ブロック図である。プログラマブルコントローラ１０は、トレース機能実行部２０を備えており、プログラマブルコントローラ１０がシーケンスプログラム（ＳＦＣ）３０を実行するに際して、シーケンスプログラム（ＳＦＣ）３０が実行されたことにより発生する信号の変化をトレース機能実行部２０が所定のサンプリング周期でサンプリングし、サンプリングデータを記録する。
【００１５】
トレース機能実行部２０は、トレース機能を実行するに際して用いられるトレース実行用のパラメータを管理する実行用パラメータ管理部２１を備えており、また、実行用パラメータ管理部は、ステップ移行条件成立監視部２２、実行用パラメータ切換部２３、およびメモリ領域２４を備えている。
【００１６】
ステップ移行条件成立監視部２２は、シーケンスプログラム（ＳＦＣ）３０の実行状況を監視し、各ステップの活性／非活性状態の変化を取得する。各ステップの活性／非活性状態は、シーケンスプログラム（ＳＦＣ）３０の起動やトランジション（移行条件）の成立／不成立を監視することで行われる。監視の結果として、現在活性状態にあるステップに係る情報を、実行用パラメータ切換部２３へと出力する。
【００１７】
実行用パラメータ切換部２３は、ステップ移行条件成立監視部２２から出力された活性状態のステップに係る情報に基づいて、トレース機能の実行用サンプリングパラメータの切り換えを行う。実行用サンプリングパラメータの切り換えは、メモリ領域２４に設けられたステップ用サンプリングパラメータ格納領域２６（後述）から、現在活性状態にあるステップ用のサンプリングパラメータが格納されたアドレスを取得し、実行用サンプリングパラメータ格納アドレス設定領域２５に実行用サンプリングパラメータ格納アドレスとして設定することにより行われる。
【００１８】
メモリ領域２４には、実行用サンプリングパラメータ格納アドレス設定領域２５とは異なる領域に、ステップ用サンプリングパラメータ格納領域２６が設けられており、ステップ用サンプリングパラメータ格納領域２６には、シーケンスプログラム（ＳＦＣ）３０に記述された各ステップと関連付けて、当該ステップが活性状態時においてサンプリング実行に使用するサンプリング解像度やサンプリング条件、サンプリングする必要がある信号アドレスのリストなどを含むサンプリングパラメータが保存されている。各ステップ用のサンプリングパラメータは、シーケンスプログラム（ＳＦＣ）３０を実行する前に、予めオペレータにより入力されて設定される。
【００１９】
そして、トレース機能実行部２０は、シーケンスプログラム（ＳＦＣ）３０が実行されたことにより発生する信号の変化をサンプリングするに際して、実行用パラメータ管理部２１から実行用サンプリングパラメータ格納アドレス設定領域２５に格納されている実行用サンプリングパラメータ格納アドレスが指し示すステップ用サンプリングパラメータ格納領域２６の位置に格納されているサンプリングパラメータを取得し、取得したサンプリングパラメータに基づいて設定されているサンプリング周期でサンプリング対象の信号アドレスの信号状態の変化をサンプリングし、サンプリングデータとして記録／保存する。
【００２０】
また、シーケンスプログラム（ＳＦＣ）３０の実行中に、ステップの移行条件が成立するとステップ移行条件成立監視部２２がそれを検知し、実行用パラメータ切換部２３が実行用サンプリングパラメータ格納アドレス設定領域２５に設定されている実行用サンプリングパラメータ格納アドレスを、活性状態となったステップ用のサンプリングパラメータが格納されているアドレスへと切り換える。実行用サンプリングパラメータ格納アドレスが切り換わると、トレース機能実行部２０は、現在実行している信号のサンプリングを停止した後、切り換えられたアドレスの指し示す位置に格納されているサンプリングパラメータに基づいて信号サンプリングを実行するので、常に活性状態のステップで使用している信号アドレスの状態のみをサンプリングすることができ、不要なサンプリングデータの取得と保存に多くのメモリを浪費する問題を解決することができる。
【００２１】
図１に示す構成を備えたプログラマブルコントローラ１０において、ＳＦＣ言語で記述されたプログラムを実行した場合の例を、図２を用いて説明する。
図２（ａ）は、ステップＳ０００１とステップＳ０００２を持つＳＦＣ言語で記述されたシーケンスプログラムの例であり、当該プログラムにおいて、ステップＳ０００１では信号アドレスＺ００９１．５およびＺ００９１．６が使用され、ステップＳ０００２では信号アドレスＺ０００１．５およびＺ０００１．６が使用されているものとする。このようなプログラムをプログラマブルコントローラ１０上で実行する際、事前にステップ用サンプリングパラメータ格納領域２６に、ステップＳ０００１用のサンプリングパラメータとして信号アドレスＺ００９１．５、Ｚ００９１．６を、ステップＳ０００２用のサンプリングパラメータとして信号アドレスＺ０００１．５、Ｚ０００１．６を、オペレータが入力機器などを操作して設定しておく。
【００２２】
このような状態で、プログラマブルコントローラ１０が図２（ａ）に示したプログラムを実行すると、プログラムの起動時にステップＳ０００１の活性化をステップ移行条件成立監視部２２が検出し、実行用パラメータ切換部２３がステップ用サンプリングパラメータ格納領域２６内のステップＳ０００１用のサンプリングパラメータが格納されているアドレスを取得して実行用サンプリングパラメータ格納アドレス設定領域２５に実行用サンプリングパラメータ格納アドレスとして設定する。そして、トレース機能実行部２０は、実行用パラメータ管理部２１から実行用サンプリングパラメータ格納アドレス設定領域２５に設定されている実行用サンプリングパラメータ格納アドレスが指し示すステップ用サンプリングパラメータ格納領域２６の位置に格納されているサンプリングパラメータを取得し、サンプリングパラメータに設定されている信号アドレスＺ００９１．５、Ｚ００９１．６のサンプリングを開始する。
【００２３】
その後、移行条件Ｐ０１０２が成立し、ステップＳ０００１が非活性状態、ステップＳ０００２が活性状態になると、このような状態の変化をステップ移行条件成立監視部２２が検出し、実行用パラメータ切換部２３がステップ用サンプリングパラメータ格納領域２６内のステップＳ０００２用のサンプリングパラメータが格納されているアドレスを取得して実行用サンプリングパラメータ格納アドレス設定領域２５に実行用サンプリングパラメータ格納アドレスとして設定する。そして、トレース機能実行部２０は、現在実行している信号サンプリングを停止した後、実行用パラメータ管理部２１から実行用サンプリングパラメータ格納アドレス設定領域２５に設定されている実行用サンプリングパラメータ格納アドレスが指し示すステップ用サンプリングパラメータ格納領域２６の位置に格納されているサンプリングパラメータを取得し、サンプリングパラメータに設定されている信号アドレスＺ０００１．５、Ｚ０００１．６のサンプリングを継続実行する。
【００２４】
図２（ｂ）は、図２（ａ）に示したプログラムの実行時に、トレース機能実行部２０が記録／保存したサンプリングデータを示す図である。図に示すように、活性状態にあるステップが変わるごとにサンプリングパラメータを切り換えることにより、活性状態のステップで使用している信号アドレスの状態だけがサンプリングされるため、信号アドレスＺ００９１．５とＺ００９１．６の信号の状態を示すデータは、ステップＳ０００１が活性化している期間のデータのみが記録／保存され、信号アドレスＺ０００１．５とＺ０００１．６の信号の状態を示すデータは、ステップＳ０００２が活性化している期間のデータのみが記録／保存されている。
【００２５】
図３は、本発明の実施の形態における、トレース機能実行部２０上で実行される処理のフローチャートである。
●［ステップＳＡ０１］シーケンスプログラム（ＳＦＣ）３０の実行開始時に自動的に活性状態になるイニシャルステップ用のサンプリングデータが格納されているステップ用サンプリングパラメータ格納領域２６内のアドレスを、実行用サンプリングパラメータ格納アドレス設定領域２５に実行用サンプリングパラメータ格納アドレスとして設定する。
●［ステップＳＡ０２］実行用サンプリングパラメータ格納アドレス設定領域２５に設定されている実行用サンプリングパラメータ格納アドレスが指し示すステップ用サンプリングパラメータ格納領域２６内の位置に格納されているサンプリングパラメータを取得し、取得したサンプリングパラメータに設定されている信号アドレスのサンプリングを実行する。
●［ステップＳＡ０３］実行中のシーケンスプログラム（ＳＦＣ）３０において、ステップ移行条件が成立したか否かを判定する。ステップ移行条件が成立した場合にはステップＳＡ０４へ進み、成立していない場合には信号サンプリングを継続する。
●［ステップＳＡ０４］活性化したステップに対応するサンプリングデータが格納されているステップ用サンプリングパラメータ格納領域２６内のアドレスを取得し、実行用サンプリングパラメータ格納アドレスとして実行用サンプリングパラメータ格納アドレス設定領域２５に設定する。
●［ステップＳＡ０５］現在実行中の信号サンプリングを停止し、ステップＳＡ０２へ戻る。
【００２６】
なお、ここまで説明してきた信号サンプリング手法により複数のサンプリングデータを取得した場合、それぞれのサンプリングデータは異なる期間の信号変化の状態を示したものであるため、個々のサンプリングデータを見てもシーケンスプログラム（ＳＦＣ）３０を実行している全体の期間における流れを把握することが難しい。そこで、ＳＦＣのステップ毎にサンプリングして取得した複数のサンプリング結果を、ステップ実行順に連結して１つのサンプリング結果として表示する表示手法を導入する。
【００２７】
図４（ｂ）は、図４（ａ）に示したプログラムの実行時に、トレース機能実行部２０が記録／保存したサンプリングデータをステップ実行順に連結して１つのサンプリング結果として表示した例である。このように表示することで、活性状態ステップがＳ０００１からＳ００００２に切り替わった時の推移と、信号変化の状態を時系列で確認することができるので、ＳＦＣの実行の流れに沿った信号変化の状態を視認してデバッグが可能となり、保守性の向上が期待できる。
【００２８】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例に限定されることなく、適宜の変更を加えることにより、その他の態様で実施することができる。例えば、プログラマブルコントローラ１０の構成で、トレース機能実行部２０の内部にサンプリングパラメータを扱う各機能手段を備えるものとして説明しているが、これに限られるものではなく、各機能手段の内包関係は設計的な範囲で適宜変更可能である。
【符号の説明】
【００２９】
１０    プログラマブルコントローラ（ＰＭＣ）
２０    トレース機能実行部
２１    実行用パラメータ管理部
２２    ステップ移行条件成立監視部
２３    実行用パラメータ切換部
２４    メモリ領域
２５    実行用サンプリングパラメータ格納アドレス設定領域
２６    ステップ用サンプリングパラメータ格納領域
３０    シーケンスプログラム（ＳＦＣ）
【図１】
0006382680.tif 000002
【図２】
0006382680.tif 000003
【図３】
0006382680.tif 000004
【図４】
0006382680.tif 000005
【図５】
0006382680.tif 000006
【図６】
0006382680.tif 000007
【図７】
0006382680.tif 000008