(57)【要約】【課題】入力デバイスのＯＮ／ＯＦＦに応じてシーケンスプログラムにより制御される出力デバイスのＯＮ／ＯＦＦにつき人手をかけずに記録すること。【解決手段】デバッグ対象とするシーケンスプログラムにて制御されるべき注目する出力デバイスを入力するキーボード２、出力デバイスに関係する入力デバイスをシーケンスプログラム内から検索し入出力デバイスリスト１９を作成するＣＰＵ４及び入力デバイス決定手段１６、入力デバイスの全パターンの組み合わせ表を作成するＣＰＵ４、シーケンスプログラムを使用しエミュレーションを実行するエミュレーション手段９、全パターンのすべての組み合わせをエミュレーションした結果を保存するエミュレーション結果領域１５を備えた。【選択図】　　　図１
2004046509.tif 000002
【特許請求の範囲】
【請求項１】
デバッグ対象とするシーケンスプログラムにて制御されるべき注目する出力デバイスを入力する手段、出力デバイスに関係する入力デバイスをシーケンスプログラム内から検索し入出力デバイスリストを作成する手段、入力デバイスの全パターンの組み合わせ表を作成する手段、シーケンスプログラムを使用しエミュレーションを実行するエミュレーション手段、全パターンのすべての組み合わせをエミュレーションした結果を保存する手段を備えた、プログラマブルコントローラのエミュレーション装置。
【請求項２】
入出力デバイスリストには、シーケンスプログラム内に存在する内部デバイスを含むことを特徴とする、請求項１に記載のプログラマブルコントローラのエミュレーション装置。
【請求項３】
エミュレーションの実行は、シーケンスプログラムに基づくラダー回路の行を単位として行うことを特徴とする、請求項１に記載のプログラマブルコントローラのエミュレーション装置。
【請求項４】
エミュレーションの実行は、入力デバイスのＡＮＤ処理を行っている部分については回路ブロックのはじめに現れる入力デバイスがＯＦＦの場合にはその後ろの入力デバイスのＯＮ／ＯＦＦにかかわらずエミュレーションを省略し出力デバイスの結果を出力することを特徴とする、請求項１に記載のプログラマブルコントローラのエミュレーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プログラマブルコントローラ（以下ＰＣあるいはシーケンサという）のシーケンスプログラムをデバッグするためパーソナルコンピュータ上にてエミュレーションする装置に関する。
【０００２】
【従来の技術】
ＰＣのシーケンスプログラムをデバッグするにつけては、従来、実機を組み立てて動作させることにより仕様どおりのシーケンスプログラム動作か否かを確認する方法や、パーソナルコンピュータにてシーケンスプログラムを実行させてエミュレーションを行う方法がある。図４は、従来におけるパーソナルコンピュータにてシーケンスプログラムを実行させるエミュレーション装置を示し、従来のデバッグのためのパーソナルコンピュータのブロック図を示す。
【０００３】
ここで、パーソナルコンピュータ１は、ＣＰＵ４、メモリ５、８、キーボード２につながるキーボード用Ｉ／Ｆ（インターフェース）１２、ＣＲＴ３につながるＣＲＴ用Ｉ／Ｆ１３及び記憶装置１８を有する。また、メモリ５には、シーケンスプログラム６、仮想シーケンス設定ファイル７が記憶され、メモリ８には、エミュレーション手段９、仮想シーケンサ設定手段１０、エミュレーション領域１１が記憶される。
【０００４】
このうち、メモリ５にあって、シーケンスプログラム６は、デバッグの対象となるＰＣのシーケンスプログラムであり、仮想シーケンス設定ファイル７は、外部デバイスからの入出力データを模擬的にエミュレートするためのキーボード２により入力されたシーケンス設定データファイルである。また、メモリ８にあって、エミュレーション手段９は、シーケンスプログラム６を仮想実行するための実行手段であり、仮想シーケンサ設定手段１０は、シーケンサ自体のタイプや機能等の仕様を仮想的に設定する設定手段であり、またエミュレーション領域１１は、仮想実行領域である。また、記憶装置１８は、パーソナルコンピュータ１のＯＳ、シミュレーションプログラム本体の記憶装置である。
【０００５】
このようなエミュレーション装置にあって、メモリ５上にデバッグの対象となるシーケンスプログラム６をロードし、仮想シーケンサ設定手段１０に基づきエミュレーション領域１１を使用してエミュレーション手段９を動作させ、パーソナルコンピュータ１上にてシーケンスプログラムを擬似動作させデバッグを行うものである。
【０００６】
また、実機を組み立てて動作させることにより仕様どおりのシーケンスプログラム動作か否かを確認する方法を実行するに当たっては、実際のシステムを結線し入力デバイスを入力し出力デバイスの変化を確認するものである。
【０００７】
図５は、従来の実機であるＰＣのシーケンスプログラムをデバッグする手順を示すフローチャートである。図５においては、まずシーケンスプログラムの動作確認を行うために、ステップＳ１０１においてデバッグ環境を整える。すなわち、ステップＳ１０１において、ＰＣ・稼動装置のシステムを実際に結線し電源を入れて稼動可能な状態とする。次に、ステップＳ１０２において、ＰＣを停止状態にしてシーケンスプログラムを書き込み可能な状態にする。ステップＳ１０３においては、ＰＣにデバッグの対象となるシーケンスプログラムの書き込みを行う。そして、ステップＳ１０４において、ＰＣを動作状態にして実際にＰＣのシーケンスプログラムを実行する。ステップＳ１０５においては、デバッグの際に注目する入力デバイスの値をスイッチ板などの入力スイッチを用いて手動でＯＮ／ＯＦＦ等の手入力をする。ステップＳ１０６においては、入力デバイスの手入力による変更に応じたシーケンスプログラムの動作結果としての出力デバイスの結果を作業者がモニタする。この場合、ステップＳ１０５の入力デバイスの手入力によるＯＮ／ＯＦＦの組み合わせが通常複数存在するため、この複数の組み合わせに応じて作業者はステップＳ１０５とステップＳ１０６を複数回繰り返し、動作結果の確認を行う必要がある。この後、ステップＳ１０７において、シーケンスプログラムの動作が仕様どおりであったか否かを仕様と実際の出力デバイスの動作結果とを比較することで判定し、仕様と食い違いがある場合には、ステップＳ１０９にてシーケンスプログラムの修正を行いステップＳ１０２からの作業を繰り返すこととなる。
【０００８】
この実機であるＰＣを組み立てて動作させることにより仕様どおりのシーケンスプログラム動作か否かを確認するデバッグの方法にあっては、次のような問題がある。
【０００９】
すなわち、ＰＣが組み込まれたシステムのデバッグを行うに当たり、ＰＣ本体だけではなく入出力デバイスに接続された外部機器を含めた全装置が必要となるため、実際にＰＣシステムを構築した後でしか、シーケンスプログラムの動作確認、修正を行うことができない。このため、ＰＣシステムを立ち上げる期間が長期化すると共に、ＰＣシステムの構築とシーケンスプログラムの動作検証を並行して作業することができず作業能率が悪いという問題がある。
【００１０】
また、シーケンスプログラムおよび、シーケンスプログラムによって制御される装置全体の動作確認のためには、シーケンスプログラムのプログラマが現場に出向き稼動装置の動作をみながら確認しなければならない。この際、実際のシステムおよび稼動装置を使用し試験するため、シーケンスプログラムの不具合によるシステムの誤動作が発生した場合、この誤操作によって稼動装置の故障を誘発する恐れなどがある。
【００１１】
更に、シーケンスプログラムにより制御される装置は、一般的に複数の入力デバイスと複数の出力デバイスを持ち、複数の入力デバイスの組み合わせにより出力デバイスの値を決定している。例えば図６に示すブロックにおいて、入力デバイスとしてスイッチＸ１、スイッチＸ２、スイッチＸ３の３つを持ち、ＰＣ内のシーケンスプログラムの動作により電灯Ｙ１のＯＮ／ＯＦＦの制御を行う場合を例示する。この場合の動作仕様は、ＰＣ内のシーケンスプログラムによりスイッチＸ１をＯＮしたときのみ電灯Ｙ１をＯＮすることも可能であり、別のシーケンスプログラムにおいてはスイッチＸ１、スイッチＸ２、スイッチＸ３の３つのスイッチをＯＮしたときのみ電灯Ｙ１をＯＮすることも可能である。そして、この動作仕様はシーケンスプログラムの実装により決定されるため、仕様通りに動作することを確認するためには入力デバイスをＯＮ／ＯＦＦする全組み合わせパターンを試験し、そのときの出力デバイスの値を確認する必要がある。この試験作業を行うためには、ＰＣとスイッチ３つと電灯１つの結線を行い装置を稼動可能な状態にする必要がある。その上で人手により各スイッチのＯＮ／ＯＦＦを行い電灯のＯＮ／ＯＦＦの動作確認を行う必要がある。
【００１２】
シーケンスプログラムのデバッグ作業に関して述べれば、一般的なシーケンスプログラムは入力デバイスのＯＮ／ＯＦＦ状態により出力デバイスのＯＮ／ＯＦＦを決定することになる。従って、入出力デバイスの点数が増加したり、１つの出力デバイスのＯＮ／ＯＦＦを決定するための入力デバイスの個数が増えたりした場合、シーケンスプログラムが複雑になる。シーケンスプログラムが複雑になると、シーケンスプログラムのデバッグを行う際に作業者がシーケンスプログラム全体からデバッグを行う入出力デバイスに関係のあるデバイスおよびシーケンスプログラムのロジックを１つずつ確認する作業が発生する。この作業はシーケンスプログラム全体から該当する入出力デバイスを検索し、その入出力デバイスが関係しているシーケンスプログラムのロジックを解析しながら動作検証を行うことが必要となる。作業者がこの作業を行うに当たりプログラムが複雑になると関係する入出力デバイスの見落としが発生する可能性が高い。また入出力デバイス以外に内部デバイスをシーケンスプログラム内の一時記憶用デバイスとして使用することが一般的であるため、入出力デバイス以外の内部デバイスに関してもＯＮ／ＯＦＦ状態を確認する必要がある。このように現状では人手に頼ったシーケンスプログラムのデバッグを行っているため、出力デバイスのＯＮ／ＯＦＦが仕様と異なった場合のシーケンスプログラム内の不具合個所の発見に時間がかかっている。シーケンスプログラムのデバッグ完了後、試験により入出力デバイスの動作を確認し仕様通りの動作を行うか否か確認することが必要となる。この試験において作業者は入力デバイスの値のＯＮ／ＯＦＦを行い出力デバイスのＯＮ／ＯＦＦの確認を行い仕様通りの動作を行うか否か確認する。ここで試験する入出力デバイスの点数が増加すると、入力デバイスのＯＮ／ＯＦＦの組み合わせが多くなるため試験項目が増加する。実際には作業時間の関係からすべての入力デバイスのＯＮ／ＯＦＦの組み合わせ試験を行うことは不可能である。
【００１３】
図７はシーケンスプログラムの一例をラダー回路として示したものであり、３０１は内部リレーＭ１を３０２は内部リレーＭ２を３０３は出力デバイスＹ１を示している。このシーケンスプログラムにおいて、出力デバイスＹ１のＯＮ／ＯＦＦについての条件を試験する手順としては次のようになる。出力デバイスＹ１が記述されている行をみた限りでは、Ｙ１の出力は入力デバイスＸ１と内部リレーＭ２によってのみ、制御されている。次に内部リレーＭ２の値のＯＮ／ＯＦＦを検討するに、シーケンスプログラム全体から内部リレーＭ２の使用されている個所を検索すると、Ｍ２はＭ１のＯＮ／ＯＦＦにより制御されていることがわかる。更にＭ１は、入力デバイスＸ１、Ｘ２により制御されている。つまり、出力デバイスＹ１のＯＮ／ＯＦＦの試験をするためには、入力デバイスＸ１、入力デバイスＸ２、入力デバイスＸ３のＯＮ／ＯＦＦによる組み合わせを実施する必要があることが分かる。このように１つの出力デバイスのＯＮ／ＯＦＦの動作を確認するためにはシーケンスプログラム全体を検索し確認する必要のある入力デバイスＸ１、Ｘ２、Ｘ３を選びそのＯＮ／ＯＦＦの組み合わせ試験を行う必要がある。
【００１４】
このように挙げた問題点は、ＰＣのシーケンスプログラムをデバッグするに際し実機のシステムを構築することによって生じるもので、ＰＣ・稼動装置の構築に始まり実際の入出力デバイスの値確認までの工数と時間がかかり、ＰＣシステムの構築とシーケンスプログラムの動作検証を並行に処理できず、プログラマが現場に出向くことも生じ、また稼動可能な状態にして試験を行い動作の確認をすることも必要になり、試験科目の増加により実際上試験が不可能になってしまうことにつながる。
【００１５】
【発明が解決しようとする課題】
上述した実機であるＰＣを組み立てて動作させることにより仕様どおりのシーケンスプログラム動作か否かを確認する場合の上述した欠点を少しでも除くために、図１に示すＰＣのシーケンスプログラムの動作をパーソナルコンピュータ上でエミュレーションするエミュレーション装置を使用した場合は、ＰＣ・稼動装置の構築に始まり実際の入出力デバイスの値確認までの工数と時間がかかる、等の問題は解決できる。
【００１６】
しかしながら、図５に示すステップＳ１０５とステップＳ１０６の操作に相当する、確認すべき入出力デバイスの組み合わせ試験は必要となり、デバッグを行う作業者に依存して組み合わせ操作が行われるため試験の漏れがないとは限らず、この漏れの存在の確認が難しい。
【００１７】
また、デバッグ中に出力デバイスが予期しない値になった場合に、その原因を調査するためには、シーケンスプログラムのロジックや関連する外部装置を調べることにより、誤出力の原因を解析する必要がある。しかし、プログラムのステップ数が大きくなるにつれ、原因個所を調査しにくくなり時間がかかるという欠点がある。
【００１８】
この発明は、上記に鑑みてなされたもので、ＰＣを組み込んだシステム全体の構築前に、エミュレータによりＰＣ内のシーケンスプログラムのデバッグを可能とすることを前提として、入力デバイスのＯＮ／ＯＦＦに応じてシーケンスプログラムにより制御される出力デバイスのＯＮ／ＯＦＦにつき人手をかけずに記録するプログラマブルコントローラのエミュレーション装置の提供を目的とする。
【００１９】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかるプログラマブルコントローラのエミュレーション装置は、デバッグ対象とするシーケンスプログラムにて制御されるべき注目する出力デバイスを入力する手段、出力デバイスに関係する入力デバイスをシーケンスプログラム内から検索し入出力デバイスリストを作成する手段、入力デバイスの全パターンの組み合わせ表を作成する手段、シーケンスプログラムを使用しエミュレーションを実行するエミュレーション手段、全パターンのすべての組み合わせをエミュレーションした結果を保存する手段を備えたことを特徴とする。
【００２０】
この発明によれば、実際のＰＣシステムを構築することなく、シーケンスプログラムの作成、動作エミュレート、修正を行うことができる。コンピュータ上でのエミュレートが可能となるためシーケンスプログラム動作のための環境をつくる手間が省け、ＰＣおよびＰＣを用いたシステムのシーケンスプログラムの作成、動作試験のコストが低減される。ＰＣ実機および、稼動装置を使用しないため、ＰＣおよびそれに関係するシステムの試験中の誤動作による危険発生の可能性が無くなり安全性が増す。仕様書のないシーケンスプログラムがＰＣ内に格納され動作している装置が多数あるため、注目するデバイスを選択することで入力もしくは出力デバイスを検索し、全てのパターンのＯＮ／ＯＦＦ検査を行うことは、装置メンテナンス上の利用価値が高い。入力デバイスのＯＮ／ＯＦＦによる出力デバイスのＯＮ／ＯＦＦの全組み合わせ試験が可能となり、製品品質向上の期待ができる。
【００２１】
つぎの発明にかかるプログラマブルコントローラのエミュレーション装置は、上記の発明において、入出力デバイスリストには、シーケンスプログラム内に存在する内部デバイスを含むことを特徴とする。
【００２２】
この発明によれば、漏れのない完全なエミュレーションを行うことができる。
【００２３】
つぎの発明にかかるプログラマブルコントローラのエミュレーション装置は、上記の発明において、エミュレーションの実行は、シーケンスプログラムに基づくラダー回路の行を単位として行うことを特徴とする。
【００２４】
この発明によれば、タイマーやカウンターがデバイスとしてあったとしてもその動作前後の結果を正確に記録することができる。
【００２５】
つぎの発明にかかるプログラマブルコントローラのエミュレーション装置は、上記の発明において、エミュレーションの実行は、入力デバイスのＡＮＤ処理を行っている部分については回路ブロックのはじめに現れる入力デバイスがＯＦＦの場合にはその後ろの入力デバイスのＯＮ／ＯＦＦにかかわらずエミュレーションを省略し出力デバイスの結果を出力することを特徴とする。
【００２６】
この発明によれば、組合せ試験を省略することができる。
【００２７】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる好適な実施の形態を詳細に説明する。
【００２８】
図１は、この発明の実施の形態１であるプログラマブルコントローラのエミュレーション装置の構成を示すブロック図である。この図１においては、図４と同一部分には同一符号を付す。すなわち、図１において、パーソナルコンピュータ１は、ＣＰＵ４、メモリ５、８、キーボード２につながるキーボード用Ｉ／Ｆ（インターフェース）１２、ＣＲＴ３につながるＣＲＴ用Ｉ／Ｆ１３及び記憶装置１８を有する。また、メモリ５には、シーケンスプログラム６、仮想シーケンス設定ファイル７が記憶され、メモリ８には、エミュレーション手段９、仮想シーケンサ設定手段１０、エミュレーション領域１１が記憶される。
【００２９】
このうち、メモリ５にあって、シーケンスプログラム６は、デバッグの対象となるＰＣのシーケンスプログラムであり、仮想シーケンス設定ファイル７は、外部デバイスからの入出力データを模擬的にエミュレートするためのキーボード２により入力されたシーケンス設定データファイルである。また、メモリ８にあって、エミュレーション手段９は、シーケンスプログラム６を仮想実行するための実行手段であり、仮想シーケンサ設定手段１０は、シーケンサ自体のタイプや機能等の仕様を仮想的に設定する設定手段であり、またエミュレーション領域１１は、仮想実行領域である。
【００３０】
図１においては、更にメモリ８にあって、エミュレーション結果領域１５、入力デバイス決定手段１６が備えられる。また記憶装置１８にはパーソナルコンピュータ１のＯＳ、シミュレーションプログラム本体のみならず、入出力デバイスリスト１９が備えられる。ここで、エミュレーション結果領域１５は、デバッグの結果についてファイルとして記憶し、最終的にシーケンスプログラムの動作が仕様どおりかを記憶する。また、入力デバイス決定手段１６は、キーボード２から注目する出力デバイスが入力されたとき、この出力デバイスの制御に当たって関係する回路ブロックのうちの最小単位である入力デバイスをシーケンスプログラム内から抽出して記憶するものである。例えば、図７のラダー回路にあって出力デバイスＹ１が入力されたとき、入力デバイスＸ１、Ｘ２、Ｘ３をシーケンスプログラムから抽出するものである。また、記憶装置１８の入出力デバイスリスト１９は、出力デバイス及び入力デバイス決定手段１６における抽出した入力デバイスを登録するとともに、内部デバイスが存在した場合はその内部デバイスを出力デバイスとして扱い登録するものである。従って、図７に例示されるラダー回路では、表１に示す各デバイスの動作パターンを含めたデバイスリストが作成され得る。
【００３１】
次表１は、入力デバイスの組合せと出力デバイス及びそのデバイス値を示す。
【表１】
2004046509.tif 000003
【００３２】
従って、前にも述べた図６の装置は、３つのスイッチＸ１、Ｘ２、Ｘ３のＯＮ／ＯＦＦ状態により電灯Ｙ１をＯＮ／ＯＦＦする制御を行う装置であり、ここで図７のようにスイッチＸ１〜スイッチＸ３の３つのスイッチをすべてＯＮした場合のみ電灯Ｙ１がＯＮするというシーケンスプログラムを作成しデバッグする手順が表１にて表される。
【００３３】
従来の図４にて示したエミュレーション装置は、エミュレーション手段９を備えているものの、実際のＰＣと同等の動作を行うだけであるため、出力デバイスのＯＮ／ＯＦＦを確認するためには、作業者がエミュレーション手段９に対して入力デバイスのＯＮ／ＯＦＦを手動で１つずつ入力する必要がある。そして、シーケンスプログラムが複雑になった場合にすべての入力デバイスのＯＮ／ＯＦＦの組み合わせを試験することは作業量から実施困難であり、前述したように試験漏れを生起し、作業者が選択した代表パターンに基づく入力デバイスのＯＮ／ＯＦＦの組み合わせにより試験を行うのが一般的であるため、代表パターンの選択によっては確認漏れが発生し仕様どおりでない不具合を含んだシーケンスプログラムを出荷する要因となっている。ところが、本実施の形態では、入力デバイスの手動入力はない。
【００３４】
図２において動作を述べるに、ステップＳ５０２にて作業者はデバッグ対象のシーケンスプログラムをパーソナルコンピュータ１内にあるメモリ５に書き込む。この書き込みにより、従来の図５に示すような実システムを構築するステップを省略することができる。
【００３５】
次に作業者はステップＳ５０３においてデバッグ対象としてＰＣ上にて注目する出力デバイスをメモリ５及び記憶装置１８にキーボードで入力する。本例ではデバイスＹ１を入力する。
【００３６】
次に、ステップＳ５０４にて出力デバイスに関係する入力デバイスをシーケンスプログラム内から検索し入出力デバイスリスト１９を作成する。本例では図７のシーケンスプログラムをデバッグ対象としているので表１に示すデバイスが入出力デバイスリスト１９として登録される。この場合、各デバイスの初期状態（表１のデバイス値の初期値）が登録される。
【００３７】
次にステップＳ５０５にて入力デバイスの全パターンの組み合わせ表を作成する。表１の入力デバイスＸ１、Ｘ２、Ｘ３のＯＮ／ＯＦＦにかかる各行がステップＳ５０５により出力される部分である。ここでは、入力デバイスの個数Ｎにつき２のＮ乗通りの組み合わせを得る。
【００３８】
ステップＳ５０６においては、デバイス値をすべて初期状態にする。通常はすべてのデバイスをＯＦＦにセットする。作業者がデバイス初期値データを用意しパーソナルコンピュータ１に入力することにより、デバイス値がＯＦＦでない状態を初期状態としてデバッグを開始することも可能である。
【００３９】
ステップＳ５０７においては、入出力デバイスリスト１９の１行毎の入力デバイスのＯＮ／ＯＦＦの組をセットする。この例ではＸ１＝ＯＦＦ、Ｘ２＝ＯＦＦ、Ｘ３＝ＯＦＦの３つの入力デバイス値をセットした場合を説明する。
【００４０】
ステップＳ５０８において、シーケンスプログラムエミュレーション手段９を使用しエミュレーションを行う。ここではシーケンスプログラムのロジックに従いエミュレーションを行うため、入出力デバイス、内部デバイスが実装置と同様にＯＮ／ＯＦＦする。この例ではＹ１＝ＯＦＦがエミュレーション結果として出力される。
【００４１】
ステップＳ５０９においては、入力デバイスの値の組をすべてエミュレーションするまでステップＳ５０６からのループを繰り返す。すべての組み合わせをエミュレーションした後ステップＳ５１０にて結果を記憶装置のエミュレーション結果領域１５にファイルとして保存する。このファイルは表１の通りとなる。
【００４２】
作業者は表１を確認することで、注目した出力デバイスＹ１がＯＮ／ＯＦＦする条件をすべて確認することが可能となる。本シーケンスプログラムの仕様は、入力デバイスＸ１〜Ｘ３がすべてＯＮしたときのみ、出力デバイスＹ１がＯＮすることである。作業者は表１を確認することでこの動作を確認することも可能となる。また、表の列をソートする機能を備え、出力デバイスＹ１がＯＮである行のみ表示することが可能であり、この機能を備えることで本例のように出力デバイスがＯＮもしくはＯＦＦになるパターンが少ない場合の仕様である動作確認を作業者が容易に行うことができる。
【００４３】
また、表１の結果が仕様と異なった場合、作業者は入力デバイス、内部デバイスの値を表１で確認しながらプログラムの修正を行い、再度図２のフローに従ってデバッグを行う。このとき、内部デバイスの値をすべて表示することが可能であるため、作業者は動作に影響を与えている内部デバイスをシーケンスプログラムのロジックの解析をしないで容易に把握することが可能となる。従って、作業者はシーケンスプログラム内の作成ミスによる問題個所を特定する作業を短縮することが可能である。
【００４４】
ここで、図２のステップＳ５０４での全入力デバイスの検索を行うための動作を図３により説明する。図３において、ステップＳ７０２において作業者は注目する出力デバイスを入力する。本例の場合は出力デバイスＹ１を入力することになる。
【００４５】
次にステップＳ７０３にあって、ステップＳ７０６に移り、出力デバイスＹ１の制御が行われている回路ブロックをシーケンスプログラム内から抽出する。この回路ブロックは、図７に示すラダー回路で記述された入力デバイスと出力デバイスの関係をあらわしたブロックの最小単位である。ステップＳ７０７において、入力デバイス決定手段１６により抽出した回路ブロック内で使用されている入力デバイスを入出力デバイスリスト１９に登録する。入出力デバイスリスト１９は、表１の入力デバイスと内部デバイスの部分に相当する。
【００４６】
ステップＳ７０８において、内部デバイスが存在した場合はステップＳ７０９にてその内部デバイスを出力デバイスとして扱っている回路ブロックを検索し、その内部デバイスを出力デバイスとして扱いステップＳ７０３からの処理を再起的に実行する。そして、この操作を繰り返すことで、ステップＳ７０４の出力デバイスを操作する入力デバイス、内部デバイスの入出力デバイスリスト１９を作成することが可能である。
【００４７】
また、図２のステップＳ５０８にてシーケンスプログラムのエミュレーションを実行する部分について説明する。このエミュレーション実行は、入力デバイスの値セット後シーケンスプログラムを１スキャンのみ実行するのではなく、回路内にタイマー、カウンターが入っていた場合にはタイマー、カウンターが設定値に満了し接点をＯＮするスキャン数分エミュレーションを実行する。ここでは、タイマー、カウンターの接点についても内部デバイスとして入出力デバイスリスト１９に追加するため、タイマー／カウンターの満了前の出力デバイスの結果と満了後の出力デバイスの結果を正確に記録することが可能である。
【００４８】
更に、図２のステップＳ５０７において、エミュレーション時間削減のための動作を説明する。入力、デバイスのＯＮ／ＯＦＦの組み合わせを実際にすべてエミュレーションすることはデバイスの数が増えることで指数関数的に増加することから、現状のコンピュータではエミュレーション不能になることが予想される。これを回避するために、入力デバイスのＡＮＤ処理を行っている部分については回路ブロックのはじめに現れる入力デバイスがＯＦＦの場合にはその後ろのデバイスのＯＮ／ＯＦＦにかかわらず出力はＯＦＦとなることから、エミュレーションを省略し出力デバイスの結果を出力する仕組みを有する。例として図７の３０１行について説明すると、デバイスＸ１がＯＦＦであった場合、デバイスＸ２のＯＮ／ＯＦＦに関係なくＭ１の値がＯＦＦと決定されるため、デバイスＸ２のＯＮ／ＯＦＦの組み合わせ試験を省略する仕組みを有する。
【００４９】
【発明の効果】
以上説明したように、この発明によれば、デバッグ対象とするシーケンスプログラムにて制御されるべき注目する出力デバイスを入力する手段、出力デバイスに関係する入力デバイスをシーケンスプログラム内から検索し入出力デバイスリストを作成する手段、入力デバイスの全パターンの組み合わせ表を作成する手段、シーケンスプログラムを使用しエミュレーションを実行するエミュレーション手段、全パターンのすべての組み合わせをエミュレーションした結果を保存する手段を備えたことにより、次の効果を有する。実際のＰＣシステムを構築することなく、シーケンスプログラムの作成、動作エミュレート、修正を行うことができる。コンピュータ上でのエミュレートが可能となるためシーケンスプログラム動作のための環境をつくる手間が省け、ＰＣおよびＰＣを用いたシステムのシーケンスプログラムの作成、動作試験のコストが低減される。ＰＣ実機および、稼動装置を使用しないため、ＰＣおよびそれに関係するシステムの試験中の誤動作による危険発生の可能性が無くなり安全性が増す。仕様書のないシーケンスプログラムがＰＣ内に格納され動作している装置が多数あるため、注目するデバイスを選択することで入力もしくは出力デバイスを検索し、全てのパターンのＯＮ／ＯＦＦ検査を行うことは、装置メンテナンス上の利用価値が高い。入力デバイスのＯＮ／ＯＦＦによる出力デバイスのＯＮ／ＯＦＦの全組み合わせ試験が可能となり、製品品質向上の期待ができる。
【００５０】
つぎの発明によれば、入出力デバイスリストには、シーケンスプログラム内に存在する内部デバイスを含むことにより、漏れのない完全なエミュレーションを行うことができる。
【００５１】
つぎの発明によれば、エミュレーションの実行は、シーケンスプログラムに基づくラダー回路の行を単位として行うことにより、タイマーやカウンターがデバイスとしてあったとしてもその動作前後の結果を正確に記録することができる。
【００５２】
つぎの発明によれば、エミュレーションの実行は、入力デバイスのＡＮＤ処理を行っている部分については回路ブロックのはじめに現れる入力デバイスがＯＦＦの場合にはその後ろの入力デバイスのＯＮ／ＯＦＦにかかわらずエミュレーションを省略し出力デバイスの結果を出力することにより、組合せ試験を省略することができる。
【図面の簡単な説明】
【図１】この発明の実施の形態であるプログラマブルコントローラのエミュレーション装置の構成を示すブロック図である。
【図２】図１に示したプログラマブルコントローラのエミュレーション装置の動作に当たって実行されるフローチャートである。
【図３】図２の部分的なフローチャートである。
【図４】従来のプログラマブルコントローラのエミュレーション装置の構成を示すブロック図である。
【図５】実機であるＰＣのプログラマブルコントローラの動作に当たって実行されるフローチャートである。
【図６】シーケンスプログラムにより制御される装置のブロック図である。
【図７】図６に相当するラダー回路を示す図である。
【符号の説明】
１　パーソナルコンピュータ、２　キーボード、４　ＣＰＵ、５　メモリ、６シーケンスプログラム、７　仮想シーケンス設定ファイル、８　メモリ、９　エミュレーション手段、１０　仮想シーケンサ設定手段、１１　エミュレーション領域、１５　エミュレーション結果領域、１６　入力デバイス決定手段、１８
記憶装置、１９　入出力デバイスリスト。
【図１】
2004046509.tif 000004
【図２】
2004046509.tif 000005
【図３】
2004046509.tif 000006
【図４】
2004046509.tif 000007
【図５】
2004046509.tif 000008
【図６】
2004046509.tif 000009
【図７】
2004046509.tif 000010