(57)【要約】      （修正有）【課題】  マルチＣＰＵ構成のプログラマブルコントローラにおいて、１つのＣＰＵモジュールでＩ／Ｏをエミュレートするようにして、Ｉ／Ｏモジュールや外部接続なしで、実際のラダープログラムを動作させながら実機に近いデバッグを行うことができるシミュレーション装置を提供する。【解決手段】  エミュレーションＣＰＵモジュールは、シミュレーションするための他のＣＰＵモジュールであるシーケンスＣＰＵモジュールからのＩ／Ｏモジュールアクセスを自己のＣＰＵ内でのアクセスとして処理可能なエミュレーション用Ｉ／Ｏプロセッサと、Ｉ／Ｏメモリとを備え、前記Ｉ／Ｏメモリには、予め登録されたＩ／Ｏ情報をもとに前記複数のＣＰＵモジュールの各々に備えてあるＩ／Ｏモジュールと同等なデータテーブルを有すると共に、Ｉ／Ｏモジュールの動作をエミュレートするためのプログラムを動作させる仕組みを備えたことである。【選択図】  図２
2005292912.tif 000002
【特許請求の範囲】
【請求項１】
外部バスに接続されている複数のＣＰＵモジュールで構成されているプログラマブルコントローラであって、
前記複数のＣＰＵモジュールの内の１つのＣＰＵモジュールをエミュレーションＣＰＵモジュールとし、
前記エミュレーションＣＰＵモジュールは、シミュレーションするための他のＣＰＵモジュールであるシーケンスＣＰＵモジュールからのＩ／Ｏモジュールアクセスを自己のＣＰＵ内でのアクセスとして処理可能なエミュレーション用Ｉ／Ｏプロセッサと、Ｉ／Ｏメモリとを備え、
前記Ｉ／Ｏメモリには、予め登録されたＩ／Ｏ情報をもとに前記複数のＣＰＵモジュールの各々に備えてあるＩ／Ｏモジュールと同等なデータテーブルを有すると共に、Ｉ／Ｏモジュールの動作をエミュレートするためのプログラムを動作させる仕組みを備えたことを特徴とするシミュレーション装置。
【請求項２】
前記Ｉ／Ｏモジュールの動作をエミュレートするためのプログラムは、前記Ｉ／Ｏメモリの情報をもとに接続されるべき機器の動作をシミュレーションし、その結果を前記Ｉ／Ｏメモリに書き込む又は予め設定された時間に設定されたデータを前記Ｉ／Ｏメモリに書き込むことを特徴とする請求項１に記載のシミュレーション装置。
【請求項３】
前記Ｉ／Ｏモジュールの動作をエミュレートするためのプログラムは、前記シミュレーション用Ｉ／Ｏプロセッサと内部バスで接続されているシーケンスデバイス用メモリに蓄積することを特徴とする請求項１又は２に記載のシミュレーション装置。
【請求項４】
前記エミュレーション用Ｉ／Ｏプロセッサと前記Ｉ／Ｏメモリとは、内部バスで接続されていることを特徴とする請求項１又は３に記載のシミュレーション装置。
【請求項５】
前記Ｉ／Ｏメモリには、データを格納するデータ領域と、フラグ等を格納するレジスタ領域とを備えたことを特徴とする請求項１、２、３又は４に記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置に関し、詳しくはマルチＣＰＵ構成機能を持つプログラマブルコントローラにおいて、ユーザプログラムのデバッグを効率化するシミュレーション装置に関する。
【背景技術】
【０００２】
従来技術において、プログラマブルコントローラのユーザプログラムをデバッグするためのシミュレーション機能を備えた装置は、下記に示すものがある。
【０００３】
構成１；ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）上でラダー命令を実行する方式
ユーザがプログラミングツールで作成したラダープログラムをＰＣ上で実行する。ＰＣ上のシミュレーション用ソフトウェアは、ラダー命令をインタプリタ方式で実行する。入力データはユーザがデータ作成又はオンデマンド方式で行う。
構成２；外部機器を使用する方式
ターゲットとなるプログラマブルコントローラとＩ／Ｏをエミュレートするための装置を実配線し、ユーザのラダープログラムをターゲット上で走らせながら、シミュレート装置でターゲット装置のＩ／Ｏをエミュレートしてデバッグを行う。
【０００４】
【特許文献１】特開平９−３３０２５０号公報（第５頁〜７頁  第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来技術で説明したシミュレーション機能を備えたシミュレーション装置において、構成１の場合は、実行スピードが実際と異なるため、ユーザプログラムのロジックのデバッグしかできず、タイミング等を含めたシステムとしてのテスト、デバッグができないという問題がある。
【０００６】
又、構成２の場合は、Ｉ／Ｏをエミュレートするための装置が必要となり、また、ターゲットのプログラマブルコントローラとＩ／Ｏエミュレート装置間が実配線をしなければならず、その配線に時間と手間がかかるという問題がある。
【０００７】
従って、Ｉ／Ｏのエミュレート装置を使用せず、且つ実行速度を保った状態でユーザプログラムのデバッグ、システムテストを行うことができるシミュレーション装置に解決しなければならない課題を有する。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本願発明のシミュレーション装置は、次に示す構成にしたことである。
（１）シミュレーション装置は、外部バスに接続されている複数のＣＰＵモジュールで構成されているプログラマブルコントローラであって、前記複数のＣＰＵモジュールの内の１つのＣＰＵモジュールをエミュレーションＣＰＵモジュールとし、前記エミュレーションＣＰＵモジュールは、シミュレーションするための他のＣＰＵモジュールであるシーケンスＣＰＵモジュールからのＩ／Ｏモジュールアクセスを自己のＣＰＵ内でのアクセスとして処理可能なエミュレーション用Ｉ／Ｏプロセッサと、Ｉ／Ｏメモリとを備え、前記Ｉ／Ｏメモリには、予め登録されたＩ／Ｏ情報をもとに前記複数のＣＰＵモジュールの各々に備えてあるＩ／Ｏモジュールと同等なデータテーブルを有すると共に、Ｉ／Ｏモジュールの動作をエミュレートするためのプログラムを動作させる仕組みを備えたことである。
（２）前記Ｉ／Ｏモジュールの動作をエミュレートするためのプログラムは、前記Ｉ／Ｏメモリの情報をもとに接続されるべき機器の動作をシミュレーションし、その結果を前記Ｉ／Ｏメモリに書き込む又は予め設定された時間に設定されたデータを前記Ｉ／Ｏメモリに書き込むことを特徴とする（１）に記載のシミュレーション装置。
（３）前記Ｉ／Ｏモジュールの動作をエミュレートするためのプログラムは、前記シミュレーション用Ｉ／Ｏプロセッサと内部バスで接続されているシーケンスデバイス用メモリに蓄積することを特徴とする（１）又は（２）に記載のシミュレーション装置。
（４）前記エミュレーション用Ｉ／Ｏプロセッサと前記Ｉ／Ｏメモリとは、内部バスで接続されていることを特徴とする（１）又は（３）に記載のシミュレーション装置。
（５）前記Ｉ／Ｏメモリには、データを格納するデータ領域と、フラグ等を格納するレジスタ領域とを備えたことを特徴とする（１）、（２）、（３）又は（４）に記載のシミュレーション装置。
【発明の効果】
【０００９】
本発明のシミュレーション装置は、Ｉ／Ｏをエミュレートするため、Ｉ／Ｏモジュールや外部接続なしで、実際のラダープログラムを動作させながら実機に近いデバッグを行うことができる。
【００１０】
又、タイミングがずれた場合の動作検証など、異常処理のデバッグが簡単にできるという効果がある。
【発明を実施するための最良の形態】
【００１１】
以下、本発明のシミュレーション装置について、図面を用いて詳細に説明する。
【実施例１】
【００１２】
本発明のシミュレーション装置は、図1及び図２に示すように、外部バスに接続されている複数のＣＰＵモジュールで構成されているプログラマブルコントローラであって、電源モジュール１１と、デバッグするターゲットプログラムが格納されているシーケンスＣＰＵモジュール１２と、エミュレーションを行うためのエミュレーションＣＰＵモジュール１３とから構成されている。各モジュール１１、１２、１３は外部バスであるＩ／Ｏバス１４で接続されている。
【００１３】
エミュレーションＣＰＵモジュール１３は、図２に示すように、シーケンスＣＰＵモジュール１２から送出されたＩ／Ｏアクセスデータに従って、Ｉ／Ｏメモリ２３のデータをアクセスすると共に、シーケンスＣＰＵモジュール１２にデータを返信するエミュレーション用Ｉ／Ｏプロセッサ１５と、プログラミングツールとのＲＳ２３２Ｃ仕様に基づく通信、Ｉ／Ｏメモリ２３とシーケンスデバイスメモリ２２とのデータ交換（内部レフレッシュ処理）などを行う汎用プロセッサ１７、システムプログラムを格納してあるＲＯＭ１８、ＲＡＭ１９と、Ｉ／Ｏエミュレーション用ラダープログラムを動作させるために使用するシーケンス処理用プロセッサ１６、マイクロプログラムを格納してあるＲＯＭ２０、シーケンスプログラムが格納されているＲＯＭ２１と、Ｉ／Ｏエミュレーション用ラダープログラムを動作させるために使用するシーケンスデバイス用メモリ２２と、Ｉ／Ｏ空間にマッピングされており、予め登録されたＩ／Ｏモジュール構成に基づき、エミュレートするＩ／Ｏモジュールと同じテーブルを構成するＩ／Ｏメモリ２３と、から大略構成されている。この中で、Ｉ／Ｏメモリ２３のＩ／Ｏ空間にはデータを格納するデータ領域とフラグ等を格納するレジスタ領域があり、本Ｉ／Ｏメモリ２３は両方の領域テーブルを持つ。
エミュレーションＣＰＵモジュール１３を構成するエミュレーション用Ｉ／Ｏプロセッサ１５、汎用プロセッサ１７、ＲＯＭ１８、ＲＡＭ１９、シーケンス処理用プロセッサ１６、ＲＯＭ２０、ＲＯＭ２１、シーケンスデバイス用メモリ２２、Ｉ／Ｏメモリ２３のそれぞれは内部バスに接続され、それぞれデータ及び命令の指示等が内部バスを介して行う構成になっている。
【００１４】
このような構成からなるシミュレーション装置において、先ず、シーケンスＣＰＵモジュール１２ではデバッグするターゲットプログラムが動作し、Ｉ／Ｏレフレッシュなど通常と同じ動作を行う。
【００１５】
エミュレーションＣＰＵモジュール１３では、シーケンスＣＰＵモジュール１２がＩ／Ｏバス１４上に送出したアドレスデータをエミュレート用Ｉ／Ｏプロセッサ１５が解釈し、Ｉ／Ｏメモリ２３上の該当するメモリ番地に対してシーケンスＣＰＵモジュール１２がアクセスしたアドレスのデータ書込み／読み出しを行う。
【００１６】
エミュレーションＣＰＵモジュール１３内のＲＯＭ２１に格納されているＩ／Ｏエミュレーション用シーケンスプログラムは、Ｉ／Ｏをエミュレーションするためのプログラムをユーザがラダーで作成する。例えば、接続されるべき機器であるスロット３の出力モジュールの接点１が出力されると、一定時間後にスロット３の入力モジュールの接点１が入力されるというようなＩ／Ｏ動作をラダーで作成し、エミュレーションＣＰＵモジュール１３内で動作させる。また、レジスタデータについては、例えば、アナログ入力値のデータを任意のタイミングで任意のデータに変更することができる。
【００１７】
エミュレーションＣＰＵモジュール１３内では、Ｉ／Ｏエミュレーション用プログラムのＩ／Ｏアクセスを内部のＩ／Ｏメモリ２３に対して行う。従って、通常のＩ／Ｏレフレッシュ、ＲＥＡＤ／ＷＲＩＴＥ命令動作なども、Ｉ／Ｏメモリ２３に対して行う。エミュレーション用シーケンスプログラムでは、全デバイスに対するアクセスが可能である。
【００１８】
シーケンスＣＰＵモジュール１２へのＩ／Ｏ割り込みは、汎用プロセッサ１７がエミュレーション用Ｉ／Ｏプロセッサ１５に対して割り込み要求を出すことで行う。尚、この際、Ｉ／Ｏメモリ２３のレジスタ領域に割り込みフラグをセットしておく。
【産業上の利用可能性】
【００１９】
マルチＣＰＵ構成のプログラマブルコントローラにおいて、１つのＣＰＵモジュールでＩ／Ｏをエミュレートするようにして、Ｉ／Ｏモジュールや外部接続なしで、実際のラダープログラムを動作させながら実機に近いデバッグを行うことができるシミュレーション装置を提供する。
【図面の簡単な説明】
【００２０】
【図１】本願発明のシミュレーション装置の構成を示した説明図である
【図２】同、エミュレーションＣＰＵモジュールの構成を示した説明図である。
【符号の説明】
【００２１】
１１      電源モジュール
１２      シーケンスＣＰＵモジュール
１３      エミュレーションＣＰＵモジュール
１４      Ｉ／Ｏバス
１５      エミュレーション用Ｉ／Ｏプロセッサ
１６      シーケンス処理用プロセッサ
１７      汎用プロセッサ
１８      ＲＯＭ
１９      ＲＡＭ
２０      ＲＯＭ
２１      ＲＯＭ
２２      シーケンスデバイスメモリ
２３      Ｉ／Ｏメモリ。
【図１】
2005292912.tif 000003
【図２】
2005292912.tif 000004