(57)【要約】  タイムチャートに基づいて作成されたシーケンスプログラムの検証を、高い精度で実行することができるプログラマブルロジックコントローラの周辺装置を得ること。外部機器をシーケンスプログラムに基づいて制御するＰＬＣ（１）に接続され、ＰＬＣ（１）でのシーケンスプログラムの動作状態を検証するＰＬＣの周辺装置（２）において、ＰＬＣ（１）が外部機器のうちの所定の信号入出力部に対応するシーケンス処理を実行することによって得られるトレース結果を外部機器の性能に基づいて補正した最適化後トレース結果を生成するトレース結果最適化処理部（２６）と、最適化後トレース結果と外部機器に対するシーケンス処理の基になるタイムチャートとを照合して、最適化後トレース結果のずれを検出するトレース結果照合処理部（２７）と、を備える。
2007144936.tif 000002
【特許請求の範囲】
【請求項１】
外部機器をシーケンスプログラムに基づいて制御するプログラマブルロジックコントローラ（以下、ＰＬＣという）に接続され、前記ＰＬＣでの前記シーケンスプログラムの動作状態を検証するＰＬＣの周辺装置において、
前記ＰＬＣが前記外部機器のうちの所定の信号入出力部に対応するシーケンス処理を実行することによって得られるトレース結果を前記外部機器の性能に基づいて補正した最適化後トレース結果を生成するトレース結果最適化処理手段と、
前記最適化後トレース結果と、前記外部機器に対するシーケンス処理の基になるタイムチャートとを照合して、前記最適化後トレース結果のずれを検出するトレース結果照合処理手段と、
を備えることを特徴とするＰＬＣの周辺装置。
【請求項２】
前記ＰＬＣが前記外部機器のうちの所定の信号入出力部に対するシーケンス処理を、所定の時間間隔で実行することによって得られるトレース結果を蓄積して格納するトレース結果記憶手段をさらに備え、
前記トレース結果記憶手段に前記トレース結果が格納される毎に、
前記トレース結果最適化処理手段は、最適化後トレース結果を生成し、
前記トレース結果照合処理手段は、前記最適化後トレース結果と前記タイムチャートとの照合を行い、時間経過によるタイミングのずれを検出する機能を備えることを特徴とする請求項１に記載のＰＬＣの周辺装置。
【請求項３】
前記トレース結果照合処理手段によって得られた照合結果から前記タイムチャートと前記最適化後トレース結果との間にタイミングのずれが検出されると、そのタイミングのずれに対応する前記シーケンスプログラム上の位置と、そのタイミングのずれの量を特定した修正対象タイミング情報を生成する修正対象タイミング検出処理手段と、
前記修正対象タイミング検出処理手段によって生成された前記修正対象タイミングに基づいて前記シーケンスプログラムの修正処理を行うタイミング修正処理手段と、
をさらに備えることを特徴とする請求項１に記載のＰＬＣの周辺装置。
【請求項４】
前記修正対象タイミング検出処理手段は、前記タイミングのずれに対応する前記シーケンスプログラム上の位置よりも前にタイマ処理が存在する場合に、このタイマ処理のタイマ設定値に対して前記タイミングのずれの量が解消される新たなタイマ設定値を算出し、
前記タイミング修正処理手段は、前記シーケンスプログラム上の前記タイマ処理のタイマ設定値に前記新たなタイマ設定値を設定することを特徴とする請求項３に記載のＰＬＣの周辺装置。
【請求項５】
前記トレース結果照合処理手段によって得られた照合結果から前記タイムチャートと前記最適化後トレース結果との間に時間経過によるタイミングのずれが検出されると、そのタイミングのずれの原因となるデバイスを取得し、このデバイスに関係する前記シーケンスプログラム中のステップを取得する修正対象シーケンスプログラム検出処理手段と、
前記シーケンスプログラム中の前記タイミングのずれが生じる原因となる前記デバイスを強調して、当該ＰＬＣの周辺装置に接続される表示手段に表示させる表示処理手段と、
をさらに備えることを特徴とする請求項２に記載のＰＬＣの周辺装置。
【請求項６】
前記トレース結果照合処理手段によって得られた照合結果から前記タイムチャートと前記最適化後トレース結果との間にタイミングのずれが検出されると、そのタイミングのずれの原因となる前記シーケンスプログラム中のステップを取得する修正対象シーケンスプログラム検出処理手段と、
前記シーケンスプログラム中の前記タイミングのずれが生じる原因となるステップを強調して、当該ＰＬＣの周辺装置に接続される表示手段に表示させる表示処理手段と、
をさらに備えることを特徴とする請求項１に記載のＰＬＣの周辺装置。
【請求項７】
前記修正対象シーケンスプログラム検出処理手段は、前記タイミングのずれに対応する前記シーケンスプログラム中のステップを抽出し、このステップで接点として使用されるデバイスをコイルとするステップを、前記タイミングのずれが生じる原因となるステップとして取得することを特徴とする請求項６に記載のＰＬＣの周辺装置。
【請求項８】
外部機器をシーケンスプログラムに基づいて制御するプログラマブルロジックコントローラ（以下、ＰＬＣという）に接続されるＰＬＣの周辺装置で、前記ＰＬＣでの前記シーケンスプログラムの動作状態を検証するプログラムの自動検証方法において、
前記ＰＬＣが前記外部機器のうちの所定の信号入出力部に対応するシーケンス処理を実行することによって得られるトレース結果を前記外部機器の性能に基づいて補正した最適化後トレース結果を生成する工程と、
前記最適化後トレース結果と、前記外部機器に対するシーケンス処理の基になるタイムチャートとを照合して、前記最適化後トレース結果のずれを検出する工程と、
を含むことを特徴とするプログラムの自動検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラマブルロジックコントローラ（以下、ＰＬＣという）のシーケンスプログラムの作成、編集を行うＰＬＣの周辺装置およびプログラムの自動検証方法に関するものである。
【背景技術】
【０００２】
従来から、ＰＬＣの周辺装置における、タイムチャートから作成されたシーケンスプログラムの動作試験を行うシーケンスプログラムの試験方法が提案されている（たとえば、特許文献１参照）。この特許文献１に記載のシーケンスプログラムの試験方法は、シーケンサプログラムによって制御される機器の動作パターンであるシーケンスタイムチャートに基づいて、動作パターンを数値化した動作パターンマトリクス表を予め作成しておき、シーケンサプログラムによって制御される機器からの動作出力を数値化した値と動作パターンマトリクス表とを比較する。そして、両者が一致した場合には、シーケンサプログラムは正常であると判定し、両者が一致しない場合には、シーケンサプログラムは異常であると判定して、その結果をＰＬＣの周辺装置のオペレータに出力する。【０００３】
【特許文献１】特開２００２−７３６１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載のシーケンスプログラムの試験方法では、シーケンスプログラムによって制御される機器が有する固有の性能によって生じるタイミングのずれを考慮していなかった。その結果、比較の基準となる動作パターンマトリクス表と、比較の対象となる機器からの動作出力を数値化した値とは厳密には一致しないので、判定処理においては、両者のずれを許容するような誤差率を設定しなければならず、精度の高い判定を行うことができないという問題点があった。また、精度の高い判定を行う場合には、オペレータが、機器からの動作出力を数値化した値のデバッグ処理を行わなければならないという問題点もあった。【０００５】
この発明は上記に鑑みてなされたもので、タイムチャートに基づいて作成されたシーケンスプログラムの検証を、高い精度で実行することができるプログラマブルロジックコントローラの周辺装置およびプログラムの自動検証方法を得ることを目的とする。また、シーケンスプログラムを実際に実行した場合のトレース結果の時間経過によるタイムチャートからのずれを検出することができるプログラマブルロジックコントローラの周辺装置およびプログラムの自動検証方法を得ることも目的とする。さらに、トレース結果のタイムチャートからのずれの原因となるデバイスやシーケンスプログラム上の位置を検出し、自動的に修正可能な部分では修正し、自動的に修正できない場合にはその部分を表示することができるプログラマブルロジックコントローラの周辺装置およびプログラムの自動検証方法を得ることも目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、この発明にかかるＰＬＣの周辺装置は、外部機器をシーケンスプログラムに基づいて制御するプログラマブルロジックコントローラ（以下、ＰＬＣという）に接続され、前記ＰＬＣでの前記シーケンスプログラムの動作状態を検証するＰＬＣの周辺装置において、前記ＰＬＣが前記外部機器のうちの所定の信号入出力部に対応するシーケンス処理を実行することによって得られるトレース結果を前記外部機器の性能に基づいて補正した最適化後トレース結果を生成するトレース結果最適化処理手段と、前記最適化後トレース結果と、前記外部機器に対するシーケンス処理の基になるタイムチャートとを照合して、前記最適化後トレース結果のずれを検出するトレース結果照合処理手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
この発明によれば、タイムチャートから作成したシーケンスプログラムの検証を行う場合に、トレース処理を実行し、検証対象の機器の性能誤差を考慮した最適化後トレース結果とタイムチャートとを比較するようにしたので、ユーザがＰＬＣで得られたトレース結果をデバッグすることなく、シーケンスプログラムを効率的にかつ正確に検証するができるという効果を有する。また、シーケンスプログラムの実行対象となる外部機器の性能によるタイミングのずれは比較対象にならないようにしたので、本来のシーケンスプログラムの問題のみ検出することができるという効果を有する。
【図面の簡単な説明】
【０００８】
【図１】図１は、この発明によるＰＬＣ周辺装置の実施の形態１の構造をＰＬＣとともに模式的に示すブロック図である。
【図２】図２は、ＰＬＣ周辺装置における機器性能情報のデータ構造図である。
【図３】図３は、ＰＬＣ周辺装置におけるタイムチャートとトレース結果のデータ構造図である。
【図４】図４は、ＰＬＣとＰＬＣ周辺装置におけるシーケンスプログラム自動検証処理の手順の一例を示すフローチャートである。
【図５】図５は、トレース結果の最適化処理の手順の一例を示すフローチャートである。
【図６】図６は、ＰＬＣ、ＰＬＣ周辺装置および外部機器の構成の一例を模式的に示す図である。
【図７】図７は、図６の構成図で実行させるシーケンスプログラムの一例を示す図である。
【図８】図８は、この実施の形態１によるトレース結果の最適化処理の一例を示す図である。
【図９】図９は、この実施の形態１による最適化後トレース結果の照合処理の一例を示す図である。
【図１０】図１０は、この発明によるＰＬＣ周辺装置の実施の形態２の構造をＰＬＣとともに模式的に示すブロック図である。
【図１１】図１１は、ＰＬＣ周辺装置における時間経過によるタイミングずれの検出処理の一例を示すフローチャートである。
【図１２】図１２は、ＰＬＣ周辺装置における時間経過によるタイミングのずれを検出する照合処理の一例を示す図である。
【図１３】図１３は、この発明によるＰＬＣ周辺装置の実施の形態３の構造をＰＬＣとともに模式的に示すブロック図である。
【図１４】図１４は、ＰＬＣ周辺装置におけるシーケンスプログラムのタイミング自動修正処理の手順の一例を示すフローチャートである。
【図１５】図１５は、ＰＬＣ周辺装置におけるシーケンスプログラムのタイミング自動修正の具体例を示す図である。
【図１６】図１６は、この発明によるＰＬＣ周辺装置の実施の形態４の構造をＰＬＣとともに模式的に示すブロック図である。
【図１７】図１７は、ＰＬＣ周辺装置のシーケンスプログラムの位置提示処理の手順の一例を示すフローチャートである。
【図１８】図１８は、この発明によるＰＬＣ周辺装置の実施の形態５の構造をＰＬＣとともに模式的に示すブロック図である。
【図１９】図１９は、ＰＬＣ周辺装置のシーケンスプログラムのタイミング修正必要箇所表示処理の手順の一例を示すフローチャートである。
【図２０】図２０は、ＰＬＣ周辺装置におけるシーケンスプログラムのタイミング修正必要箇所表示処理の一例を示す図である。
【符号の説明】
【０００９】
１  プログラマブルロジックコントローラ（ＰＬＣ）
２  ＰＬＣ周辺装置
３  表示装置
４  入力装置
１１，２４  データメモリ
１２  トレース処理部
１３  周辺装置Ｉ／Ｆ部
２１  ＰＬＣ  Ｉ／Ｆ部
２２  表示処理部
２３  入力処理部
２５  トレース対象デバイス取得処理部
２６  トレース結果最適化処理部
２７  トレース結果照合処理部
２８  修正対象タイミング検出処理部
２９  タイミング修正処理部
３０  修正対象シーケンスプログラム検出処理部
２２１  シーケンスプログラムハイライト表示機能
【発明を実施するための最良の形態】
【００１０】
以下に添付図面を参照して、この発明にかかるプログラマブルロジックコントローラ（以下、ＰＬＣという）の周辺装置（以下、ＰＬＣ周辺装置という）およびプログラムの自動検証方法の好適な実施の形態を詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。【００１１】
実施の形態１．
図１は、この発明にかかるＰＬＣ周辺装置の実施の形態１の構造をＰＬＣとともに模式的に示すブロック図である。制御対象である機器などを制御するＰＬＣ１本体に、ＰＬＣ周辺装置２が接続され、このＰＬＣ周辺装置２には、ＣＲＴ（Cathode  Ray  Tube）やＬＣＤ（Liquid  Crystal  Display）などの表示装置３と、キーボードなどの入力装置４と、が接続された構成を有する。【００１２】
ＰＬＣ１は、シーケンスプログラムやデバイス値などを格納するデータメモリ１１と、サンプリングトレースを実行するトレース処理部１２と、ＰＬＣ周辺装置２本体とのインタフェースとなる周辺装置Ｉ／Ｆ部１３と、を備える。データメモリ１１には、シーケンスプログラムなどのプログラム１１ａと、シーケンスプログラムの命令を順次実行した結果となるデバイス値１１ｂと、トレースの対象となるデバイスを指定するトレース対象デバイス１１ｃと、トレース対象デバイスのトレース結果１１ｄと、を含む情報が格納される。【００１３】
ＰＬＣ周辺装置２は、ＰＬＣ１本体とのインタフェースとなるＰＬＣインタフェース部（以下、ＰＬＣ  Ｉ／Ｆ部という）２１と、表示装置３に情報を表示するための表示処理部２２と、入力装置４からの入力を処理する入力処理部２３と、トレース処理を行うプログラムなどを格納するデータメモリ２４と、データメモリ２４に格納されるタイムチャート２４ｂからトレース対象デバイス２４ｃを取得するトレース対象デバイス取得処理部２５と、トレース結果２４ｄをその機器の性能を考慮して最適化するトレース結果最適化処理部２６と、データメモリに格納されるタイムチャート２４ｂと最適化後トレース結果２４ｆとを照合するトレース結果照合処理部２７と、を備える。【００１４】
データメモリ２４には、トレース結果を最適化してタイムチャートと照合する処理などを行うプログラム２４ａと、ＰＬＣ１の制御対象である機器に実行させるタイムチャート２４ｂと、トレースの対象となるデバイスを指定するトレース対象デバイス２４ｃと、ＰＬＣ１によるトレースの結果であるトレース結果２４ｄと、ＰＬＣ１に接続される機器の性能についての情報である機器性能情報２４ｅと、トレース結果最適化処理部２６によって作成された最適化後トレース結果２４ｆと、トレース結果照合処理部２７によって処理された照合結果２４ｇと、を含む情報が格納される。【００１５】
図２は、ＰＬＣ周辺装置における機器性能情報のデータ構造図である。機器性能情報２４ｅは、ＰＬＣ１に接続される制御対象となる機器に関する性能情報であり、具体的には機器の性能によるタイミングのずれを含むその機器のトレース結果を補正するための情報である。この機器性能情報２４ｅは、複数の機器の性能情報２４１の集合体からなり、複数の機器の性能情報２４１は、各機器の信号入力部と信号出力部を組み合わせた信号入出力部組み合わせ性能情報２４１０の集合体である。各信号入出力組み合わせ性能情報２４１０は、信号入力部の名称２４１１、信号出力部の名称２４１２、その機器の信号入力部２４１１からの信号が出力信号部２４１２から出力されるまでの時間である基準応答時間２４１３、基準応答時間２４１３に対して許容される誤差率である許容誤差率２４１４を含む。これらの情報は、ＰＬＣ周辺装置２に予め設定されている情報である。ただし、許容誤差率２４１４は、ユーザによって任意の値に変更可能であるものとする。【００１６】
図３は、ＰＬＣ周辺装置におけるタイムチャートとトレース結果のデータ構造図である。なお、タイムチャートとトレース結果は、共通のデータ構造を有している。この図に示されるように、タイムチャートまたはトレース結果は、経過時間ごとのＯＮ／ＯＦＦ状態をデバイスごとに格納している。たとえば、ＯＮ状態は「１」で表し、ＯＦＦ状態は「０」で表す。なお、デバイス名は、プログラム名やステップ番号の組み合わせで特定される。【００１７】
トレース対象デバイス取得処理部２５は、ユーザによって入力装置４からシーケンスプログラムの自動検証指示を受けると、データメモリ２４に格納されているタイムチャート２４ｂからトレースを実行するデバイスを取得する。また、トレース対象デバイス取得処理部２５は、取得したデバイスを、トレース対象デバイス２４ｃとしてデータメモリ２４に格納する。具体的には、データメモリ２４内のタイムチャート２４ｂに登録されているデバイスをトレース対象デバイス２４ｃとして選択し、取得する。【００１８】
トレース結果最適化処理部２６は、データメモリ２４中のトレース結果２４ｄに対して、トレースを行った機器の性能を考慮して最適化する。具体的には、データメモリ２４内のトレース結果２４ｄ中の機器の信号出力部から出力されるトレース結果データに関係するトレース結果データについて、図２に示される機器性能情報２４ｅの基準応答時間２４１３を差し引く処理を行う。このトレース結果最適化処理部２６によって最適化されたトレース結果を、最適化後トレース結果という。トレース結果最適化処理部２６は、最適化後トレース結果２４ｆをデータメモリ２４中に格納する。【００１９】
トレース結果照合処理部２７は、データメモリ２４に格納されるトレース対象デバイス２４ｃについてのタイムチャート２４ｂと、そのタイムチャート２４ｂに対応する機器のデバイスの最適化後トレース結果２４ｆとを照合し、その照合結果２４ｇをデータメモリ２４に格納する。ここでは、最適化後トレース結果２４ｆが、対応するタイムチャート２４ｂと比較して図２に示される機器性能情報２４ｅの許容誤差率２４１４内に収まっているか否かが照合される。【００２０】
図４は、図１に示したＰＬＣとＰＬＣ周辺装置におけるシーケンスプログラム自動検証処理の手順の一例を示すフローチャートである。まず、ＰＬＣ周辺装置２はユーザ（オペレータ）からのシーケンスプログラムの自動検証指示の有無を判別する（ステップＳ１０１）。ユーザからのシーケンスプログラムの自動検証指示がない場合（ステップＳ１０１でＮｏの場合）には、ＰＬＣ周辺装置２におけるシーケンスプログラムの自動検証処理が終了する。一方、ユーザからのシーケンスプログラムの自動検証指示があった場合（ステップＳ１０１でＹｅｓの場合）には、トレース対象デバイス取得処理部２５は、データメモリ２４内のタイムチャート２４ｂからトレース対象デバイス２４ｃを取得する（ステップＳ１０２）。具体的には、データメモリ２４に格納されているタイムチャート２４ｂに登録されているデバイスをトレース対象デバイス２４ｃとして取得し、データメモリ２４に設定する。ついで、トレース対象デバイス取得処理部２５は、取得したトレース対象デバイス２４ｃを、ＰＬＣ  Ｉ／Ｆ部２１を介してＰＬＣ１へ送信する（ステップＳ１０３）。【００２１】
ＰＬＣ１はＰＬＣ周辺装置２からトレース対象デバイスを受信すると（ステップＳ１０４）、受信したトレース対象デバイス１１ｃをデータメモリ１１へ格納する（ステップＳ１０５）。その後、受信したトレース対象デバイス１１ｃをデータメモリ１１へ格納したことを示す格納完了信号をＰＬＣ周辺装置２へ、周辺装置Ｉ／Ｆ部１３を介して送信する（ステップＳ１０６）。【００２２】
ＰＬＣ周辺装置２は、ＰＬＣ１から格納完了信号を受信すると（ステップＳ１０７）、トレース開始指示を、ＰＬＣ  Ｉ／Ｆ部２１を介してＰＬＣ１へ送信する（ステップＳ１０８）。ＰＬＣ１は、ＰＬＣ周辺装置２からトレース開始指示を受信すると（ステップＳ１０９）、そのトレース処理部１２にてトレース処理を実行する（ステップＳ１１０）。トレース処理部１２は、シーケンスプログラムの実行処理中のデータをトレース結果１１ｄとしてデータメモリ１１に格納する。トレース処理部１２によるトレース処理が実行された後、ＰＬＣ１はトレース結果１１ｄを、周辺装置Ｉ／Ｆ部１３を介してＰＬＣ周辺装置２へ送信する（ステップＳ１１１）。【００２３】
ＰＬＣ周辺装置２は、ＰＬＣ１からトレース結果を受信すると（ステップＳ１１２）、その受信したトレース結果２４ｄをデータメモリ２４に格納する。トレース結果２４ｄには外部機器の性能誤差が含まれているため、トレース結果最適化処理部２６は、トレース結果２４ｄから外部機器の性能誤差を取り除く最適化処理を実施する（ステップＳ１１３）。【００２４】
図５は、トレース結果の最適化処理の手順の一例を示すフローチャートである。まず、トレース結果最適化処理部２６は、自動検証を行う対象機器についての機器性能情報２４ｅをデータメモリ２４から取得し（ステップＳ１３１）、さらに取得した対象機器の機器性能情報２４ｅから、自動検証を行った信号入力部と信号出力部の組み合わせに対応する信号入出力部組み合わせ性能情報２４１０を取得する（ステップＳ１３２）。ついで、データメモリ２４に格納されたトレース結果２４ｄのうち、対象機器の出力に関係するトレース結果データについて、信号入出力部組み合わせ性能情報２４１０中の基準応答時間２４１３を引いて最適化後トレース結果を生成する（ステップＳ１３３）。そして、生成した最適化後トレース結果２４ｆをデータメモリ２４に格納して（ステップＳ１３４）、トレース結果の最適化処理が終了し、図４のフローチャートに処理が戻る。【００２５】
図４に戻り、トレース結果照合処理部２７は、データメモリ２４に格納される最適化後トレース結果２４ｆとタイムチャート２４ｂとを抽出し、両者の照合処理を実施して（ステップＳ１１４）、その照合結果２４ｇをデータメモリ２４に格納する。そして、表示処理部２２は、データメモリ２４から照合結果２４ｇを抽出し、ＰＬＣ周辺装置２に接続された表示装置３に照合結果２４ｇを表示して（ステップＳ１１５）、シーケンスプログラムの自動検証処理が終了する。【００２６】
ここで、シーケンスプログラムの自動検証処理の具体例について説明する。図６は、ＰＬＣ、ＰＬＣ周辺装置および外部機器の構成の一例を模式的に示す図であり、図７は、図６の構成図で実行させるシーケンスプログラムの一例であり、図８は、この実施の形態１によるトレース結果の最適化処理の一例を示す図であり、図９は、この実施の形態１による最適化後トレース結果の照合処理の一例を示す図である。【００２７】
図８のトレース結果最適化前８１０は、ＰＬＣ１のトレース処理部１２でとられたデバイスのトレース結果を示している。この図に示されるように、図７のラダー図におけるデバイスＡとデバイスＢの信号の立ち上がりに比べ、デバイスＣとデバイスＤの信号の立ち上がりのタイミングが時間Δｔだけ遅れている。これは、外部機器の性能に起因するずれである。【００２８】
このようなトレース結果に対して、ＰＬＣ周辺装置２のトレース結果最適化処理部２６は、機器性能情報中の機器Ａの信号入力と信号出力の組み合わせに対応する性能情報中の基準応答時間を用いて最適化処理を実行する。具体的には、外部機器の出力部からの信号であるデバイスＣと、このデバイスＣを接点とするデバイスＤについて、トレース結果から取得した基準応答時間（Δｔ）を差し引いて、最適化後トレース結果を作成する。その結果が、図８のトレース結果最適化後８２０に示されている。【００２９】
また、図９の下側に示される最適化後トレース結果９２０には、ＰＬＣ１に接続される外部機器の性能誤差となる基準応答時間が含まれていないために、正常動作していれば、図９の上側に示されるタイムチャート９１０と一致する。ただし、システム構成の状態や動作環境により、タイムチャート９１０と最適化後トレース結果９２０が一致しない可能性もある。その場合、両者のずれが図２の信号入出力部組み合わせ性能情報中の許容誤差率の範囲内であれば、両者が一致しているものとみなす。以上のようにして、トレース結果の最適化処理と照合処理が行われる。【００３０】
この実施の形態１によれば、タイムチャートから作成したシーケンスプログラムの検証を行う場合に、トレース処理を実行し、機器の性能による誤差時間となる基準応答時間をトレース結果から差し引いた最適化後トレース結果を、タイムチャートと比較するようにしたので、ユーザがＰＬＣ１でデバッグすることがなく、シーケンスプログラムを効率的にかつ正確に検証することができるという効果を有する。また、ユーザが任意の許容誤差率を設定可能とすることで、システム構成や環境によって発生する可能性がある性能誤差を許容した検証を行うことができるという効果も有する。【００３１】
実施の形態２．
この実施の形態２では、実施の形態１で取得した最適化後トレース結果を蓄積し、オペレータによってＰＬＣ周辺装置に設定された所定時間の経過毎に行われたトレース結果とタイムチャートの照合を行うことで、時間経過によるタイミングのずれを検出することができるＰＬＣ周辺装置について説明する。【００３２】
図１０は、この発明にかかるＰＬＣ周辺装置の実施の形態２の構造をＰＬＣとともに模式的に示すブロック図である。このＰＬＣ周辺装置２は、実施の形態１の図１のＰＬＣ周辺装置２において、データメモリ２４が、最適化後トレース結果２４ｆと照合結果２４ｇを蓄積して格納することができる構成を有する。たとえば、最適化後トレース結果２４ｆとして、１回目、２回目、・・・、のトレース結果である「トレース結果１」２４ｆ−１、「トレース結果２」２４ｆ−２、・・・、が格納され、照合結果２４ｇとして、１回目、２回目、・・・、の照合結果である「照合結果１」２４ｇ−１、「照合結果２」２４ｇ−２、・・・、が格納される。また、データメモリ２４はトレース結果照合処理部２７によって検出されたタイミングずれ検出結果２４ｈを格納することができる構成となっている。【００３３】
さらに、トレース結果照合処理部２７は、最適化後トレース結果２４ｆと対応する機器のタイムチャート２４ｂとを照合するが、このとき、最適化後トレース結果２４ｆを、自動検証処理を実行した回数分つなげて表示させ、各最適化後トレース結果について基準となるタイムチャート２４ｂを用いて照合を行う。ここで、最適化後トレース結果２４ｆが、タイムチャート２４ｂに比べて許容誤差率の範囲内に収まっている場合には、最適化後トレース結果２４ｆは、タイムチャート２４ｂに一致しているものと判定するが、最適化後トレース結果２４ｆが、タイムチャート２４ｂに比べて許容誤差率の範囲を超えてしまっている場合には、そのずれをタイミングずれとして検出し、時間の経過によるタイミングずれであると判定する機能をさらに有している。そして、その検出したタイミングずれ検出結果２４ｈをデータメモリ２４に格納する。なお、実施の形態１と同一の構成要素には同一の符号を付して、その説明を省略している。【００３４】
つぎに、このような構成のＰＬＣ周辺装置２における蓄積したトレース結果とタイムチャートを比較することによって、時間経過によるタイミングのずれを検出する方法について説明する。図１１は、ＰＬＣ周辺装置における時間経過によるタイミングずれの検出処理の一例を示すフローチャートである。【００３５】
まず、ＰＬＣ周辺装置２は、ユーザからの時間経過によるタイミングずれの検出処理の指示の有無を判定する（ステップＳ２０１）。時間経過によるタイミングずれを検出する指示がない場合（ステップＳ２０１でＮｏの場合）には、時間経過によるタイミングずれの検出処理を終了する。一方、時間経過によるタイミングずれを検出する指示があった場合（ステップＳ２０１でＹｅｓの場合）には、トレース対象デバイス取得処理部２５は、データメモリ２４内のタイムチャート２４ｂからトレース対象デバイスを取得し（ステップＳ２０２）、データメモリ２４内にトレース対象デバイス２４ｃを設定する。その後、トレース対象デバイス取得処理部２５は、取得したトレース対象デバイスを、ＰＬＣ  Ｉ／Ｆ部２１を介してＰＬＣ１へ送信する（ステップＳ２０３）。【００３６】
ついで、実施の形態１のステップＳ１０４〜Ｓ１０６と同様に、ＰＬＣ１はＰＬＣ周辺装置２からトレース対象デバイスを受信し、データメモリ１１へ格納した後、受信したトレース対象デバイス１１ｃをデータメモリ１１へ格納したことを示す格納完了信号をＰＬＣ周辺装置２に対して送信する（ステップＳ２０４〜Ｓ２０６）。【００３７】
ついで、ＰＬＣ周辺装置２は、ＰＬＣ１から格納完了信号を受信すると（ステップＳ２０７）、所定時間毎にトレース処理を実行するトレース実行処理が開始される（ステップＳ２０８〜Ｓ２１８）。つまり、ＰＬＣ周辺装置２は、トレース開始指示をＰＬＣ１へ送信し（ステップＳ２０９）、ＰＬＣ１は、ＰＬＣ周辺装置２からトレース開始指示を受信すると（ステップＳ２１０）、トレース処理部１２にてトレース処理を実行し（ステップＳ２１１）、そのトレース結果１１ｄをデータメモリ１１に格納する。その後、ＰＬＣ１は、トレース処理を実行した後、トレース結果をＰＬＣ周辺装置２へ送信する（ステップＳ２１２）。【００３８】
ＰＬＣ周辺装置２は、ＰＬＣ１からトレース結果を受信すると（ステップＳ２１３）、データメモリ２４内に格納する。このトレース結果２４ｄには、トレースを実行した外部機器の性能誤差が含まれているため、トレース結果最適化処理部２６によるトレース結果の最適化処理が実行される（ステップＳ２１４）。このトレース結果の最適化処理は、実施の形態１の図５で説明した処理であり、データメモリ２４中のトレース結果２４ｄから、トレースしている対象の機器についての機器性能情報２４ｅ内の基準応答時間を差し引くことによって行われる。【００３９】
ついで、トレース結果照合処理部２７は、最適化後トレース結果２４ｆをデータメモリ２４に格納された対応する機器のタイムチャート２４ｂと比較する照合処理を実施する（ステップＳ２１５）。図１２は、ＰＬＣ周辺装置における時間経過によるタイミングのずれを検出する照合処理の一例を示す図である。この図１２には、基準となるタイムチャート１２１０と最適化後トレース結果１２２０とが示されている。この図１２の下側の最適化後トレース結果１２２０のトレース１，２に示されるように、網掛けがしている範囲が機器の性能範囲（許容誤差率を考慮した範囲）１２０１であり、この機器の性能範囲１２０１内に最適化後トレース結果が納まっている場合には、トレース結果照合処理部２７は、最適化後トレース結果はタイムチャートとよく一致しているものと判定する。一方、図１２の下側の最適化後トレース結果１２２０のトレース３に示されるように、トレース結果が、機器の性能範囲１２０１を超えてしまっている場合には、トレース結果照合処理部２７は、その機器の性能範囲を超えた範囲１２０２、すなわち最適化後トレース結果とタイムチャートとの差を、時間経過によるタイミングずれとして検出する。【００４０】
ついで、最適化後トレース結果２４ｆ、照合結果２４ｇおよびタイミングずれがある場合にはタイミングずれ検出結果２４ｈをデータメモリ２４に蓄積した後（ステップＳ２１６）、表示処理部２２は、時間経過によるタイミングのずれの原因となる箇所を抽出し、ＰＬＣ周辺装置２に接続される表示装置３に表示して（ステップＳ２１７）、時間経過によるタイミングずれの検出処理が終了する。なお、ステップＳ２１７での時間経過によるタイミングずれを検出した場合における、その原因となる箇所をユーザに示す方法については、実施の形態４で説明する。また、ステップＳ２０９〜Ｓ２１８は、所定の時間ごとに繰り返し実行される。【００４１】
この実施の形態２によれば、最適化後トレース結果を蓄積して格納するようにしたので、時間の経過によるタイムチャートからのずれを検出することができるという効果を有する。【００４２】
実施の形態３．
この実施の形態３では、実施の形態１でタイムチャートと最適化後トレース結果とを照合した結果、タイミングずれを検出した場合に、シーケンスプログラムに含まれるタイマの設定値などを修正し、そのタイミングずれを自動修正することができるＰＬＣ周辺装置について説明する。【００４３】
図１３は、この発明にかかるＰＬＣ周辺装置の実施の形態３の構造をＰＬＣとともに模式的に示すブロック図である。このＰＬＣ周辺装置２は、実施の形態１の図１のＰＬＣ周辺装置２において、照合結果２４ｇに基づいてシーケンスプログラム中の修正が必要なタイミングを検出する修正対象タイミング検出処理部２８と、修正対象タイミング検出処理部２８で検出された修正対象タイミング一覧２４ｉを基にシーケンスプログラムを修正するタイミング修正処理部２９と、をさらに備える構成を有する。また、データメモリ２４は、修正対象のタイミングの一覧である修正対象タイミング一覧２４ｉをさらに格納する。【００４４】
修正対象タイミング検出処理部２８は、照合結果２４ｇに基づいて修正が必要なタイミングを検出し、シーケンスプログラム内から検出したタイミングよりも前でタイマを使用している箇所を抽出し、現在のタイマの設定値に対してタイムチャート２４ｂと最適化後トレース結果２４ｆとの間に差異が生じない値を算出し、その値を用いて新しいタイマ設定値を算出する。検出した修正が必要なシーケンスプログラム上のタイミングと新たなタイマ設定値を含む修正タイミングは、修正対象タイミング一覧２４ｉの一つの情報としてデータメモリ２４に格納される。【００４５】
タイミング修正処理部２９は、修正対象タイミング検出処理部２８によって作成された修正対象タイミング一覧２４ｉに基づいて、修正が必要なシーケンスプログラム上のタイミングよりも前に存在するタイマの設定値を新たなタイマ設定値に修正する。【００４６】
図１４は、ＰＬＣ周辺装置におけるシーケンスプログラムのタイミング自動修正処理の手順の一例を示すフローチャートである。まず、ＰＬＣ周辺装置２は、ユーザからのシーケンスプログラムの自動修正指示の有無を判別する（ステップＳ３０１）。シーケンスプログラムの自動修正指示がない場合（ステップＳ３０１でＮｏの場合）には、ＰＬＣ周辺装置２におけるシーケンスプログラムの自動修正処理が終了する。一方、シーケンスプログラムの自動修正指示があった場合（ステップＳ３０１でＹｅｓの場合）には、最適化後トレース結果２４ｆがタイムチャート２４ｂとずれている箇所をシーケンスプログラムから検出する処理を実行する（ステップＳ３０２〜Ｓ３０８）。【００４７】
修正対象タイミング検出処理部２８は、データメモリ２４内のタイムチャート２４ｂと最適化後トレース結果２４ｆの照合結果２４ｇとを用いて不一致箇所を取得し（ステップＳ３０３）、データメモリ２４に格納されるプログラム２４ａ中のシーケンスプログラムから、不一致箇所に該当するステップを検索する（ステップＳ３０４）。たとえば、不一致箇所を有するトレース結果データに対応するデバイスを基に、シーケンスプログラム内の該当するステップを検索する。その後、検索したステップの前にタイマ処理があるかを判別する（ステップＳ３０５）。その結果、タイマ処理がある場合（ステップＳ３０５でＹｅｓの場合）には、修正対象タイミング検出処理部２８は、現在のタイマの設定値に対してタイムチャート２４ｂと最適化後トレース結果２４ｆとの間に差異が生じない値を算出し、その値を用いて新しいタイマ設定値を算出する（ステップＳ３０６）。そして、修正対象タイミング検出処理部２８は、ステップＳ３０４で検索したステップとステップＳ３０６で算出した新タイマ設定値とを含む修正対象タイミングデータをデータメモリ２４内の修正対象タイミング一覧２４ｉに格納する（ステップＳ３０７）。一方、ステップＳ３０５で該当するステップの前にタイマ処理がない場合（ステップＳ３０５でＮｏの場合）には、そのステップについての処理はここでは何も行われない。以上のステップＳ３０２からの処理が、タイムチャートと最適化後トレース結果との間の不一致箇所がなくなるまで実行される（ステップＳ３０２〜Ｓ３０８）。【００４８】
ついで、タイミング修正処理部２９は、修正対象タイミングデータが修正対象タイミング一覧２４ｉ中からなくなるまで、タイミング修正処理を実行する（ステップＳ３０９〜Ｓ３１２）。つまり、タイミング修正処理部２９は、データメモリ２４内の修正対象タイミング一覧２４ｉから修正対象タイミングデータ（修正が必要なステップと新タイマ設定値）を取得し（ステップＳ３１０）、データメモリ２４のプログラム２４ａ中のシーケンスプログラムに対して、修正対象のステップよりも前に存在するタイマ処理のタイマ設定値を、取得した新しいタイマ設定値に変更するプログラムの修正処理を実行する（ステップＳ３１１）。以上のステップＳ３０９からの処理が、タイミング修正処理として修正対象タイミング一覧２４ｉから修正していない修正対象タイミングデータがなくなるまで実行される（ステップＳ３０９〜Ｓ３１２）。そして、シーケンスプログラムのタイミング自動修正処理が終了する。【００４９】
図１５は、ＰＬＣ周辺装置におけるシーケンスプログラムのタイミング自動修正の具体例を示す図である。この図には、タイムチャート１５１０と、タイミング修正前の最適化後トレース結果１５２０とシーケンスプログラム１５３０、タイミング修正後の最適化後トレース結果１５４０とシーケンスプログラム１５５０とが示されている。この図では、修正後最適化後トレース結果１５４０のデバイスＤが、基準となるタイムチャート１５１０に対して許容誤差率を超えた結果を有してしまっている場合を示している。修正対象タイミング検出処理部２８は、データメモリから修正前シーケンスプログラム１５３０を取得し、この修正前シーケンスプログラム１５３０の「デバイスＤ」１５３１よりも前にタイマ処理があるかを判断する。この修正前シーケンスプログラム１５３０の「デバイスＤ」１５３１の前に待機タイマ１５３２というタイマ処理が存在する。またタイムチャート１５１０と最適化後トレース結果１５２０との間で差異が生じない時間Δｔは、修正前最適化後トレース結果１５２０とタイムチャート１５１０から１秒であるとすると、修正対象タイミング検出処理部２８は、待機タイマ１５３２の設定値を「Ｋ２０」から「Ｋ１０」に修正した新たなタイマ設定値を設定する。このとき、ステップを特定するために、たとえばシーケンスプログラムの左側の母線に書かれている番号「８０」などが用いられる。その後、タイミング修正処理部２９によって、修正後最適化後トレース結果１５４０と修正後シーケンスプログラム１５５０に示されるように、それぞれ修正対象タイミングに基づいて修正される。【００５０】
この実施の形態３によれば、基準となるタイムチャートに比べてタイミングのずれている最適化後トレース結果のシーケンスプログラム中の場所を特定し、その特定された位置の前に設定されているタイマのタイマ設定値をそのずれの量から修正するようにしたので、自動的にタイムチャートに合致したトレース結果を有するシーケンスプログラムを得ることができるという効果を有する。【００５１】
実施の形態４．
この実施の形態４では、実施の形態２で、時間経過によるタイミングのずれを検出した場合に、原因となる箇所をユーザに示すことができるＰＬＣ周辺装置について説明する。【００５２】
図１６は、この発明にかかるＰＬＣ周辺装置の実施の形態４の構造をＰＬＣとともに模式的に示すブロック図である。このＰＬＣ周辺装置２は、実施の形態２の図１０のＰＬＣ周辺装置２において、タイミングずれ検出結果２４ｈを基に、シーケンスプログラム内で修正が必要な箇所を検出する修正対象シーケンスプログラム検出処理部３０をさらに備え、表示処理部２２は、表示装置３に表示されるシーケンスプログラム中の修正対象の位置をハイライト表示するシーケンスプログラムハイライト表示処理機能２２１をさらに備え、データメモリ２４は、修正対象シーケンスプログラム検出処理部３０によって検出されたタイミングがずれる原因となるシーケンスプログラム中の修正対象である修正対象シーケンスプログラム一覧２４ｊを有する構成となっている。なお、実施の形態１，２と同一の構成要素には同一の符号を付して、その説明を省略している。【００５３】
図１７は、ＰＬＣ周辺装置の時間経過によるタイミングずれの原因となるシーケンスプログラムの位置提示処理の手順の一例を示すフローチャートである。まず、ＰＬＣ周辺装置２は、時間経過によるタイミングずれが検出されているか否かを確認する（ステップＳ４０１）。時間経過によるタイミングずれの検出は、トレース結果照合処理部２７によって行われ、その結果がタイミングずれ検出結果２４ｈとしてデータメモリ２４に記憶される。それ故、タイミングずれの検出の有無は、データメモリ２４におけるタイミングずれ検出結果２４ｈの有無で判断することができる。なお、トレース結果照合処理部２７によるタイミングずれ検出処理は、実施の形態２で説明したのでその説明を省略する。時間経過によるタイミングずれが検出されていない場合（ステップＳ４０１でＮｏの場合）には、タイミングずれ位置提示処理を終了する。一方、時間経過によるタイミングずれが検出されていた場合（ステップＳ４０１でＹｅｓの場合）には、タイミングずれの原因となるシーケンスプログラム上の位置の検出処理を行う（ステップＳ４０２〜Ｓ４０７）。【００５４】
修正対象シーケンスプログラム検出処理部３０は、まず、タイミングずれ検出結果２４ｈから原因のデバイスを取得し（ステップＳ４０３）、取得したデバイスによりデータメモリ２４のプログラム（シーケンスプログラム）２４ａ中の該当するステップを検索する（ステップＳ４０４）。たとえば、タイミングずれが検出されたトレース結果データに対応するデバイスを基に、シーケンスプログラム内の該当するステップを検索する。検索の結果、デバイスに該当するステップが見つかった場合（ステップＳ４０５でＹｅｓの場合）には、シーケンスプログラム中の該当箇所を修正対象シーケンスプログラムとして修正対象シーケンスプログラム一覧２４ｊへ格納する（ステップＳ４０６）。また、ステップＳ４０５でデバイスに該当するステップが見つからなかった場合（ステップＳ４０５でＮｏの場合）には、そのステップについての処理はここでは何も行われない。以上のステップＳ４０２からの処理が、シーケンスプログラムの最後まで実行される（ステップＳ４０２〜Ｓ４０７）。【００５５】
ついで、表示処理部２２のシーケンスプログラムハイライト表示処理機能２２１は、修正対象シーケンスが修正対象シーケンスプログラム一覧２４ｊ中からなくなるまで、ハイライト表示処理を実行する（ステップＳ４０８〜Ｓ４１１）。つまり、表示処理部２２のシーケンスプログラムハイライト表示処理機能２２１は、修正対象シーケンスプログラム一覧２４ｊから修正が必要なプログラム上の位置を取得して（ステップＳ４０９）、その該当デバイスを表示装置３にハイライト表示する（ステップＳ４１０）。そして、ハイライト表示を該当する修正対象シーケンスプログラムがなくなるまで実施した後（ステップＳ４０９〜Ｓ４１１）、タイミングずれ位置提示処理が終了する。【００５６】
この実施の形態４によれば、時間経過によるタイミングずれの原因となるシーケンスプログラム上の位置をユーザに表示するようにしたので、シーケンスプログラム中のその時間ずれの原因を特定することができるという効果を有する。【００５７】
実施の形態５．
この実施の形態５では、実施の形態３においてシーケンスプログラムを修正する必要がある場合に、原因となるデバイスが使用されている箇所を検索し、関連するシーケンスプログラム部分をユーザに示すことができるＰＬＣ周辺装置について説明する。【００５８】
図１８は、この発明にかかるＰＬＣ周辺装置の実施の形態５の構造をＰＬＣとともに模式的に示すブロック図である。このＰＬＣ周辺装置２は、実施の形態３の図１３のＰＬＣ周辺装置２において、照合結果２４ｇを基に修正が必要なタイミングを検出し、修正が必要なシーケンスプログラムを検出する修正対象シーケンスプログラム検出処理部３０をさらに備え、表示処理部２２は、表示装置３に表示されるシーケンスプログラム中の修正が必要なシーケンスプログラムをハイライト表示するシーケンスプログラムハイライト表示処理機能２２１をさらに備え、データメモリは、修正が必要なシーケンスプログラムを含む修正対象シーケンスプログラム一覧を有する。なお、実施の形態１，３と同一の構成要素には同一の符号を付して、その説明を省略している。また、修正対象シーケンスプログラム検出処理部３０と表示処理部２２のシーケンスプログラムハイライト表示処理機能２２１の機能は、実施の形態４で説明したものと同一であるので、その説明を省略する。【００５９】
図１９は、ＰＬＣ周辺装置のシーケンスプログラムのタイミング自動修正時におけるタイミング修正必要箇所表示処理の手順の一例を示すフローチャートである。まず、ＰＬＣ周辺装置２は、シーケンスプログラムのタイミングの自動修正指示の有無を判別する（ステップＳ５０１）。シーケンスプログラムのタイミングの自動修正指示がない場合（ステップＳ５０１でＮｏの場合）には、ＰＬＣ周辺装置２におけるシーケンスプログラムのタイミング修正必要箇所表示処理が終了する。一方、シーケンスプログラムのタイミングの自動修正指示があった場合（ステップＳ５０１でＹｅｓの場合）には、最適化後トレース結果がタイムチャートとずれている箇所をシーケンスプログラムから検出する処理を実行する（ステップＳ５０２〜Ｓ５１１）。【００６０】
修正対象タイミング検出処理部２８は、データメモリ２４内のタイムチャート２４ｂと最適化後トレース結果２４ｆの照合結果２４ｇとを用いて不一致箇所を取得し（ステップＳ５０３）、データメモリ２４に格納されるプログラム２４ａ中のシーケンスプログラムから、不一致箇所に該当するステップを検索する（ステップＳ５０４）。たとえば、不一致箇所を有するトレース結果データに対応するデバイスを基に、シーケンスプログラム内の該当するステップを検索する。その後、検索したステップの前にタイマ処理があるかを判別する（ステップＳ５０５）。その結果、タイマ処理がある場合（ステップＳ５０５でＹｅｓの場合）には、修正対象タイミング検出処理部２８は、現在のタイマの設定値に対してタイムチャート２４ｂと最適化後トレース結果２４ｆとの間に差異が生じない値を算出し、その値を用いて新しいタイマ設定値を算出する（ステップＳ５０６）。そして、修正対象タイミング検出処理部２８は、ステップＳ５０４で検索したステップとステップＳ５０６で算出した新タイマ設定値とを含む修正対象タイミングデータをデータメモリ２４内の修正対象タイミング一覧２４ｉに格納する（ステップＳ５０７）。【００６１】
一方、ステップＳ５０５で該当するステップの前にタイマ処理がない場合（ステップＳ５０５でＮｏの場合）には、修正対象シーケンスプログラム検出処理部３０は、シーケンスプログラムにおける該当するステップの接点に対応するコイルを検索する（ステップＳ５０８）。その結果、修正対象シーケンスプログラム検出処理部３０が該当するコイルを見つけた場合（ステップＳ５０８でＹｅｓの場合）には、修正対象シーケンスプログラム検出処理部３０は、そのコイルを含むシーケンスプログラムの開始ステップと終了ステップを修正対象シーケンスプログラムとして、修正対象シーケンスプログラム一覧２４ｊへ格納する（ステップＳ５１０）。また、修正対象シーケンスプログラム検出処理部３０が該当するコイルを見つけることができなかった場合（ステップＳ５０８でＮｏの場合）には、そのステップについての処理はここでは何も行われない。以上のステップＳ５０２からの処理が、タイムチャートと最適化後トレース結果との間の不一致箇所がなくなるまで実行される（ステップＳ５０２〜Ｓ５１１）。【００６２】
ついで、タイミング修正処理部２９は、修正対象タイミングデータが修正対象タイミング一覧２４ｉ中からなくなるまで、タイミング修正処理を実行する（ステップＳ５１２〜Ｓ５１５）。つまり、タイミング修正処理部２９は、データメモリ２４内の修正対象タイミング一覧２４ｉから修正対象タイミングデータ（修正が必要なステップと新タイマ設定値）を取得し（ステップＳ５１３）、データメモリ２４内のシーケンスプログラムに対して、修正対象のステップよりも前に存在するタイマ処理のタイマ設定値を、取得した新タイマ設定値に変更するプログラムの修正処理を実行する（ステップＳ５１４）。以上のステップＳ５１２からの処理が、タイミング修正処理として修正対象タイミング一覧２４ｉから修正していない修正対象タイミングデータがなくなるまで実行される（ステップＳ５１２〜Ｓ５１５）。【００６３】
その後、表示処理部２２のシーケンスプログラムハイライト表示処理機能２２１は、修正対象シーケンスプログラムが修正対象シーケンスプログラム一覧２４ｊ中からなくなるまで、ハイライト表示処理を実行する（ステップＳ５１６〜Ｓ５１９）。つまり、表示処理部２２のシーケンスプログラムハイライト表示処理機能２２１は、修正対象シーケンスプログラム一覧２４ｊから修正対象シーケンスプログラムの開始ステップと終了ステップを取得し（ステップＳ５１７）、修正対象シーケンスプログラムをハイライト表示する（ステップＳ５１８）。そして、ハイライト表示を該当する修正対象シーケンスプログラムがなくなるまで実施する（ステップＳ５１６〜Ｓ５１９）。これにより、ステップＳ５１２〜Ｓ５１５で、タイミングの自動修正がなされなかったシーケンスプログラム中の位置をユーザに対して表示する。以上により、ＰＬＣ周辺装置２におけるシーケンスプログラムのタイミング修正必要箇所表示処理が終了する。【００６４】
図２０は、ＰＬＣ周辺装置におけるシーケンスプログラムのタイミング修正必要箇所表示処理の一例を示す図である。この図に示されるように、タイミング修正前の最適化後トレース結果２０２０を、基準となるタイムチャート２０１０と比較して照合を行い、両者が一致しないシーケンスプログラム２０３０上の該当する位置を検出する。そして、該当するステップの前にコイル処理がない場合には、修正対象ステップの接点に対応するコイルを検索する。図２０に示される場合には、その修正前最適化後トレース結果２０２０を見ると、デバイスＣのトレース結果データがタイムチャートと不一致である。そこで、修正前シーケンスプログラム２０３０を見ると、修正対象ステップである「デバイスＣ」２０３１の前にはタイマがないので、「デバイスＣ」２０３１を有するステップの接点である「デバイスＢ」２０３２と「始動スイッチ」２０３３を抽出する。その後、これらの「デバイスＢ」２０３２と「始動スイッチ」２０３３をコイルとするシーケンスプログラム２０３０中のステップである「ステップ７８」と「ステップ８０」を修正対象シーケンスプログラムとして、修正対象シーケンスプログラム一覧に格納する。そして、表示処理部２２のシーケンスプログラムハイライト表示処理機能２２１は、この修正対象シーケンスプログラム一覧に格納されるステップをハイライト表示させる処理を行う。図２０の場合には、シーケンスプログラム２０４０に示されるように、コイルとして「デバイスＢ」と「始動スイッチ」を含む「ステップ７８」と「ステップ８０」がハイライト表示される。【００６５】
この実施の形態５によれば、ＰＬＣ周辺装置のシーケンスプログラムのタイミング自動修正時において、自動的にタイミングが修正されなかった修正が必要なシーケンスプログラムの位置が明示されるので、タイムチャートとトレース結果にずれが生じた際の原因追求が容易となり、効率的にデバッグ作業が実施できるという効果を有する。
【産業上の利用可能性】
【００６６】
以上のように、この発明にかかるＰＬＣの周辺装置およびプログラムの自動検証方法は、シーケンスプログラムのデバッグを行う際において用いられるのに適している。
【図１】
2007144936.tif 000003
【図２】
2007144936.tif 000004
【図３】
2007144936.tif 000005
【図４】
2007144936.tif 000006
【図５】
2007144936.tif 000007
【図６】
2007144936.tif 000008
【図７】
2007144936.tif 000009
【図８】
2007144936.tif 000010
【図９】
2007144936.tif 000011
【図１０】
2007144936.tif 000012
【図１１】
2007144936.tif 000013
【図１２】
2007144936.tif 000014
【図１３】
2007144936.tif 000015
【図１４】
2007144936.tif 000016
【図１５】
2007144936.tif 000017
【図１６】
2007144936.tif 000018
【図１７】
2007144936.tif 000019
【図１８】
2007144936.tif 000020
【図１９】
2007144936.tif 000021
【図２０】
2007144936.tif 000022
【手続補正書】
【提出日】平成19年10月3日(2007.10.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部機器をシーケンスプログラムに基づいて制御するプログラマブルロジックコントローラ（以下、ＰＬＣという）に接続され、前記ＰＬＣでの前記シーケンスプログラムの動作状態を検証するＰＬＣの周辺装置において、
前記ＰＬＣが前記外部機器のうちの所定の信号入出力部に対応するシーケンス処理を実行することによって得られるトレース結果を前記外部機器の性能に基づいて補正した最適化後トレース結果を生成するトレース結果最適化処理手段と、
前記最適化後トレース結果と、前記外部機器に対するシーケンス処理の基になるタイムチャートとを照合して、前記最適化後トレース結果のずれを検出するトレース結果照合処理手段と、
前記ＰＬＣが前記外部機器のうちの所定の信号入出力部に対するシーケンス処理を、所定の時間間隔で実行することによって得られるトレース結果を蓄積して格納するトレース結果記憶手段と、
を備え、
前記トレース結果記憶手段に前記トレース結果が格納される毎に、
前記トレース結果最適化処理手段は、最適化後トレース結果を生成し、
前記トレース結果照合処理手段は、前記最適化後トレース結果と前記タイムチャートとの照合を行い、時間経過によるタイミングのずれを検出する機能を備えることを特徴とするＰＬＣの周辺装置。
【請求項２】
（削除）
【請求項３】
外部機器をシーケンスプログラムに基づいて制御するプログラマブルロジックコントローラ（以下、ＰＬＣという）に接続され、前記ＰＬＣでの前記シーケンスプログラムの動作状態を検証するＰＬＣの周辺装置において、
前記ＰＬＣが前記外部機器のうちの所定の信号入出力部に対応するシーケンス処理を実行することによって得られるトレース結果を前記外部機器の性能に基づいて補正した最適化後トレース結果を生成するトレース結果最適化処理手段と、
前記最適化後トレース結果と、前記外部機器に対するシーケンス処理の基になるタイムチャートとを照合して、前記最適化後トレース結果のずれを検出するトレース結果照合処理手段と、
前記トレース結果照合処理手段によって得られた照合結果から前記タイムチャートと前記最適化後トレース結果との間にタイミングのずれが検出されると、そのタイミングのずれに対応する前記シーケンスプログラム中のステップよりも前でタイマを使用している処理があるかを判別し、前記ステップよりも前にタイマを使用している処理がある場合にのみ、前記シーケンスプログラム上の前記タイマ処理のタイマ設定値に対して、前記タイミングのずれの量が解消される新たなタイマ設定値を算出する修正対象タイミング検出処理手段と、
前記修正対象タイミング検出処理手段によって生成された前記新たなタイマ設定値を前記シーケンスプログラム上の前記タイマ処理のタイマ設定値に設定するタイミング修正処理手段と、
を備えることを特徴とするＰＬＣの周辺装置。
【請求項４】
（削除）
【請求項５】
前記トレース結果照合処理手段によって得られた照合結果から前記タイムチャートと前記最適化後トレース結果との間に時間経過によるタイミングのずれが検出されると、そのタイミングのずれの原因となるデバイスを取得し、このデバイスに関係する前記シーケンスプログラム中のステップを取得する修正対象シーケンスプログラム検出処理手段と、
前記シーケンスプログラム中の前記タイミングのずれが生じる原因となる前記デバイスを強調して、当該ＰＬＣの周辺装置に接続される表示手段に表示させる表示処理手段と、
をさらに備えることを特徴とする請求項１に記載のＰＬＣの周辺装置。
【請求項６】
外部機器をシーケンスプログラムに基づいて制御するプログラマブルロジックコントローラ（以下、ＰＬＣという）に接続され、前記ＰＬＣでの前記シーケンスプログラムの動作状態を検証するＰＬＣの周辺装置において、
前記ＰＬＣが前記外部機器のうちの所定の信号入出力部に対応するシーケンス処理を実行することによって得られるトレース結果を前記外部機器の性能に基づいて補正した最適化後トレース結果を生成するトレース結果最適化処理手段と、
前記最適化後トレース結果と、前記外部機器に対するシーケンス処理の基になるタイムチャートとを照合して、前記最適化後トレース結果のずれを検出するトレース結果照合処理手段と、
前記トレース結果照合処理手段によって得られた照合結果から前記タイムチャートと前記最適化後トレース結果との間にタイミングのずれが検出されると、前記タイミングのずれに対応する前記シーケンスプログラム中のステップを抽出し、このステップで接点として使用されるデバイスをコイルとするステップを、前記タイミングのずれが生じる原因となるステップとして取得する修正対象シーケンスプログラム検出処理手段と、
を備えることを特徴とするＰＬＣの周辺装置。
【請求項７】
前記シーケンスプログラム中の前記タイミングのずれが生じる原因となるステップを強調して、当該ＰＬＣの周辺装置に接続される表示手段に表示させる表示処理手段をさらに備えることを特徴とする請求項６に記載のＰＬＣの周辺装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
技術分野
［０００１］
この発明は、プログラマブルロジックコントローラ（以下、ＰＬＣという）のシーケンスプログラムの作成、編集を行うＰＬＣの周辺装置に関するものである。
背景技術
［０００２］
従来から、ＰＬＣの周辺装置における、タイムチャートから作成されたシーケンスプログラムの動作試験を行うシーケンスプログラムの試験方法が提案されている（たとえば、特許文献１参照）。この特許文献１に記載のシーケンスプログラムの試験方法は、シーケンサプログラムによって制御される機器の動作パターンであるシーケンスタイムチャートに基づいて、動作パターンを数値化した動作パターンマトリクス表を予め作成しておき、シーケンサプログラムによって制御される機器からの動作出力を数値化した値と動作パターンマトリクス表とを比較する。そして、両者が一致した場合には、シーケンサプログラムは正常であると判定し、両者が一致しない場合には、シーケンサプログラムは異常であると判定して、その結果をＰＬＣの周辺装置のオペレータに出力する。
［０００３］
特許文献１：特開２００２−７３６１９号公報
発明の開示
発明が解決しようとする課題
［０００４］
しかしながら、特許文献１に記載のシーケンスプログラムの試験方法では、シーケンスプログラムによって制御される機器が有する固有の性能によって生じるタイミングのずれを考慮していなかった。その結果、比較の基準となる動作パターンマトリクス表と、比較の対象となる機器からの動作出力を数値化した値とは厳密には一致しないので、判定処理においては、両者のずれを許容するような誤差率を設定しなければならず、精度の高い判定を行うことができないという問題点があった。また、精度の高い
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
判定を行う場合には、オペレータが、機器からの動作出力を数値化した値のデバッグ処理を行わなければならないという問題点もあった。
［０００５］
この発明は上記に鑑みてなされたもので、タイムチャートに基づいて作成されたシーケンスプログラムの検証を、高い精度で実行することができるプログラマブルロジックコントローラの周辺装置を得ることを目的とする。また、シーケンスプログラムを実際に実行した場合のトレース結果の時間経過によるタイムチャートからのずれを検出することができるプログラマブルロジックコントローラの周辺装置を得ることも目的とする。さらに、トレース結果のタイムチャートからのずれの原因となるデバイスやシーケンスプログラム上の位置を検出し、自動的に修正可能な部分では修正し、自動的に修正できない場合にはその部分を表示することができるプログラマブルロジックコントローラの周辺装置を得ることも目的とする。
課題を解決するための手段
［０００６］
上記目的を達成するため、この発明にかかるＰＬＣの周辺装置は、外部機器をシーケンスプログラムに基づいて制御するプログラマブルロジックコントローラ（以下、ＰＬＣという）に接続され、前記ＰＬＣでの前記シーケンスプログラムの動作状態を検証するＰＬＣの周辺装置において、前記ＰＬＣが前記外部機器のうちの所定の信号入出力部に対応するシーケンス処理を実行することによって得られるトレース結果を前記外部機器の性能に基づいて補正した最適化後トレース結果を生成するトレース結果最適化処理手段と、前記最適化後トレース結果と、前記外部機器に対するシーケンス処理の基になるタイムチャートとを照合して、前記最適化後トレース結果のずれを検出するトレース結果照合処理手段と、前記ＰＬＣが前記外部機器のうちの所定の信号入出力部に対するシーケンス処理を、所定の時間間隔で実行することによって得られるトレース結果を蓄積して格納するトレース結果記憶手段と、を備え、前記トレース結果記憶手段に前記トレース結果が格納される毎に、前記トレース結果最適化処理手段は、最適化後トレース結果を生成し、前記トレース結果照合処理手段は、前記最適化後トレース結果と前記タイムチャートとの照合を行い、時間経過によるタイミングのずれを検出する機能を備えることを特徴とする。
発明の効果
［０００７］
この発明によれば、タイムチャートから作成したシーケンスプログラムの検証を行う場合に、トレース処理を実行し、検証対象の機器の性能誤差を考慮した最適化後トレース結果とタイムチャートとを比較するようにしたので、ユーザがＰＬＣで得られたトレース結果をデバッグすることなく、シーケンスプログラムを効率的にかつ正確に検証するができるという効果を有する。また、シーケンスプログラムの実行対象となる外
【国際調査報告】
2007144936.tif 000023
2007144936.tif 000024