(57)【要約】【課題】同一のパソコン上で動作するアプリケーションからのアクセスを可能とし、そのアプリケーションからの指示に従ってシミュレートすることができるようにすること。【解決手段】シーケンサシミュレータ１０２内に設けたインタフェースモジュール１０５はユーザアプリケーション１０７や表示器シミュレータ１０６からのデータ通信情報２０１を解析し、任意の局番２０５のシミュレータ１０３への読み書きを実現する。インタフェースモジュールは受け取ったデータ通信情報の解析結果存在しない局番やレジスタへの読み書き指示の場合は、エラー情報２０８を要求元のユーザアプリケーションや表示器シミュレータに送る。エラー情報はパソコン画面１１０に表示され、ユーザに通知される。これによって、ユーザは、ユーザアプリケーションや表示器シミュレータにおけるプログラム作成ミスや設定ミスのデバッグを効果的に実施できる。【選択図】        図２
2007286654.tif 000002
【特許請求の範囲】
【請求項１】
１以上のシーケンサがネットワークを介して接続される上位装置に、前記１以上のシーケンサそれぞれの動作をシミュレートするために搭載されるシーケンサシミュレーション装置において、
前記上位装置に搭載されるアプリケーションと通信してその通信電文の受付処理を行うインタフェース、
を備えていることを特徴とするシーケンサシミュレーション装置。
【請求項２】
前記上位装置に搭載されるアプリケーションは、前記１以上のシーケンサそれぞれのレジスタ値を読み書きするユーザアプリケーションであり、
前記インタフェースは、前記ユーザアプリケーションからの通信電文を解読し、不正な読み書きの有無を解析する手段、
を備えていることを特徴とする請求項１に記載のシーケンサシミュレーション装置。
【請求項３】
前記インタフェースは、前記ユーザアプリケーションからの通信電文を解読し、正しい読み書き指示である場合は、当該シーケンサシミュレーション装置内の複数のシミュレータにおける該当するシミュレータのレジスタへの読み書きを実行する手段、
を備えていることを特徴とする請求項２に記載のシーケンサシミュレーション装置。
【請求項４】
前記インタフェースは、前記ユーザアプリケーションからの通信電文を解読し、不正な読み書き指示である場合はユーザに報知する手段、
を備えていることを特徴とする請求項２に記載のシーケンサシミュレーション装置。
【請求項５】
前記上位装置に搭載されるアプリケーションは、前記１以上のシーケンサそれぞれのレジスタ値を読み書きするために前記ネットワークに接続される表示器をシミュレートする表示器シミュレータであり、
前記インタフェースは、前記表示器シミュレータからの通信電文を解読し、不正な読み書きの有無を解析する手段、
を備えていることを特徴とする請求項１または２に記載のシーケンサシミュレーション装置。
【請求項６】
前記インタフェースは、前記表示器シミュレータからの通信電文を解読し、正しい読み書き指示である場合は、当該シーケンサシミュレーション装置内の複数のシミュレータにおける該当するシミュレータのレジスタの読み書きを実行する手段、
を備えていることを特徴とする請求項５に記載のシーケンサシミュレーション装置。
【請求項７】
前記インタフェースは、前記表示器シミュレータからの通信電文を解読し、不正な読み書き指示である場合はユーザに報知する手段、
を備えていることを特徴とする請求項５に記載のシーケンサシミュレーション装置。
【請求項８】
前記上位装置に搭載されるアプリケーションは、シーケンスプログラムを作成するエディタであり、
前記インタフェースは、前記エディタからの通信電文を解読し、指定されたシーケンスプログラムを当該シーケンサシミュレーション装置内の複数のシミュレータにおける該当するシミュレータに実行させる手段、
を備えていることを特徴とする請求項１，２，５のいずれか一つに記載のシーケンサシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、シーケンサシミュレーション装置に関するものである。
【背景技術】
【０００２】
シーケンサを使用したシステムとして、１以上のシーケンサがネットワークを介して上位装置であるパーソナルコンピュータ（以降「パソコン」という）に接続され、さらに表示器も接続したシステムが知られている。このシステムでは、パソコンにロギングやモニタリングするためのユーザアプリケーションを搭載し、このユーザアプリケーションが各シーケンサのレジスタ値を読み書きし、読み取ったレジスタ値をパソコン画面に表示し、またロギングデータの収集を行うようになっている。また、表示器も表示画面の設定内容確認のために各シーケンサのレジスタ値を読み取り、それを表示画面に表示できるようになっている。
【０００３】
一方、上記のパソコンには、配下に在る１以上のシーケンサの動作をシミュレートする等のために、シーケンサシミュレータを搭載している。この種のシーケンサシミュレータとしては、例えば特許文献１にも開示されている。ここでは、この発明の理解を容易にするために、図９を参照して、その概要を説明する。
【０００４】
図９は、従来のシーケンサシミュレータの使用例を示したシステム構成図である。図９において、符号９０１は上記の上位装置としてのパソコンである。符号９０２は、このパソコン９０１上で動作するシーケンスエディタである。符号９０３は，シーケンスエディタ９０２にて作成された複数のシーケンスプログラムである。符号９０４は、パソコン９０１上で動作するシーケンサシミュレータである。このシーケンサシミュレータ９０４には，複数のシミュレータ９０５が存在する。
【０００５】
次に、動作について説明する。図９において、シーケンサシミュレータ９０４に存在する複数のシミュレータ９０５は、パソコン９０１内のシーケンサエディタ９０２にて作成されたそれぞれ異なるシーケンスプログラム９０３を読み込む。そして、複数のシミュレータ９０５は、それぞれ読み込んだシーケンスプログラム９０３の命令の動作を模擬し、シーケンスを実行する。上記のような手順で、このシーケンサシミュレータ９０４は、シーケンスプログラム９０３のデバッグを目的として使用されている。
【０００６】
すなわち、上位装置であるパソコン９０１にネットワークを介して１以上のシーケンサを接続したシステムでは、そのパソコン９０１が、シーケンサシミュレータ９０４のシーケンスプログラム９０３を動作させ、シーケンスプログラム９０３の動作確認が実施できるようになっている。また、パソコン９０１内でシーケンスプログラム９０３を複数動作させ協調させることも可能である。このシーケンサシミュレータ９０４による動作確認等は、シーケンサの実機準備を必要としないので、ユーザにとっては非常に有用な機能である。
【０００７】
【特許文献１】特開２００１−２８２３２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来のシーケンサシミュレータは、実機のシーケンサについてロギングやモニタリングを行うためにシーケンサのレジスタを読み書きするユーザアプリケーションと通信できるようには構成されていない。つまり、従来のシーケンサシミュレータは、当該パソコンに接続されるシーケンサシステム上に存在せず、別個独立のシステムとして構成されている。
【０００９】
したがって、仮にシーケンサのレジスタを読書きするユーザアプリケーションが当該シーケンサシミュレータ内のシミュレータ、レジスタを指定した通信電文を発行したとしても、当該シーケンサシミュレータでは、その通信電文を解析する手段がないので、処理できない。
【００１０】
そのため、従来では、ユーザは、実機のシーケンサ無しではユーザアプリケーションの動作の確認や表示器の表示画面設定内容の確認ができないという問題があった。また、シーケンサシミュレータは上記のように通信電文を解析する手段がなく利用できないので、ユーザは、ユーザアプリケーションから実機シーケンサのレジスタに値を書き込む際に、その書き込むレジスタ値が本来のシーケンサのレジスタに書き込まれるべき値であるか否かのチェックができない。つまり、ユーザは、ユーザアプリケーションからシステム上に存在しないシーケンサにアクセスするなどの不正操作（設定ミス）があっても見つけ出すことができないという問題もあった。
【００１１】
加えて、シーケンスエディタが作成した複数のシーケンスプログラムは、通常、連携して動作するが、その連係動作をシーケンサシミュレータにて確認するためにはシーケンサシミュレータ内に複数存在するミュレータのどれに実行させるかを決定する必要がある。しかし、従来では、その決定手段が存在しないので、複数のシーケンスプログラムの連係動作をシーケンサシミュレータにて確認することができないという問題もあった。
【００１２】
この発明は、上記に鑑みてなされたものであり、同一のパソコン上で動作するアプリケーションからのアクセスを可能とし、そのアプリケーションからの指示に従ってシミュレートすることのできるシーケンサシミュレーション装置を得ることを目的とする。
【課題を解決するための手段】
【００１３】
上述した目的を達成するために、この発明は、１以上のシーケンサがネットワークを介して接続される上位装置に、前記１以上のシーケンサそれぞれの動作をシミュレートするために搭載されるシーケンサシミュレーション装置において、前記上位装置に搭載されるアプリケーションと通信してその通信電文の受付処理を行うインタフェースを備えていることを特徴とする。
【００１４】
この発明によれば、同一の上位装置上で動作するアプリケーションからのアクセスが可能となる。
【発明の効果】
【００１５】
この発明によれば、同一の上位装置上で動作するアプリケーションからのアクセスが可能となるので、ユーザは、例えば、シーケンサのレジスタ値を読み書きするユーザアプリケーションの動作確認を実機のシーケンサを用いることなく実施することが可能となり、またプログラム作成ミスのデバッグを効果的に実施することが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に図面を参照して、この発明にかかるシーケンサシミュレーション装置の好適な実施の形態を詳細に説明する。
【００１７】
実施の形態１．
図１は、この発明の実施の形態１によるシーケンサシミュレーション装置の構成を示すブロック図である。図１において、符号１０１は、上位装置であるパソコンである。符号１０２は、シーケンサの動作を模擬するパソコン１０１内のシーケンサシミュレータである。シーケンサシミュレータ１０２は、複数のシミュレータ１０３で構成される。符号１０４は，シミュレータ１０３内のレジスタある。符号１０５は、シーケンサシミュレータ１０２内にあるインタフェースモジュールである。符号１０６は、パソコン１０１内で動作する表示器シミュレータであり、実機の表示器の動作をパソコン１０１上でシミュレートするものである。符号１０７は、シーケンサシミュレータ１０２のレジスタ１０４を読書きするユーザアプリケーションである。符号１０８は、ユーザアプリケーション１０７から出力されるロギングデータである。符号１０９、はロギングデータ内に保持されるレジスタ値である。
【００１８】
図２は、図１に示すユーザアプリケーションや表示シミュレータとシーケンサシミュレータとのデータ通信時での構成を説明する図である。図２において、符号２０１は、ユーザアプリケーション１０７や表示器シミュレータ１０６からシーケンサシミュレータ１０２のインタフェースモジュール１０５に送信されるデータ通信情報である。データ通信情報２０１は、レジスタ情報２０２とアクセス先局情報２０３と構成される。アクセス先局情報２０３には、局番２０４が含まれる。この局番２０４は、シーケンサシミュレータ１０２内のどのシミュレータにアクセスするかを指定する識別番号である。また、シーケンサシミュレータ１０２を構成するシミュレータ１０３のそれぞれには、局番２０５が一意に割り当てられている。この局番２０５は、インタフェースモジュール１０５がシーケンサシミュレータ１０２内のどのシミュレータであるかを識別する識別番号である。符号２０６は、インタフェースモジュール１０５内にあるエラー通知モジュールである。符号２０７は、パソコン画面１１０に設けられるエラー表示モジュールである。エラー表示モジュール２０７は、エラー通知モジュール２０６が出力するエラー情報２０８をパソコン画面１１０に表示する。
【００１９】
図３は、図１に示すユーザアプリケーションや表示シミュレータが送信するデータ通信情報の構成を説明する図である。図３において、データ通信情報２０１は、具体的には、アクセス先局情報２０３とレジスタ情報２０２とレジスタ値３０２とで構成される。アクセス先局情報２０３には局番２０４が含まれることは図２にて示した。ここでは、追加して示された要素について説明する。すなわち、レジスタ情報２０２には、ＸやＤなどのレジスタの種類を示すためのレジスタ種別３０１が含まれている。このレジスタ種別３０１は、異なる種別の複数個からなる。レジスタ値３０２は、ユーザアプリケーション１０７や表示器シミュレータ１０６がシミュレータ１０３のレジスタ１０４に書き込むための値である。
【００２０】
図４は、図１に示すシミュレータの構成を説明する図である。なお、図４では、追加される要素を示す趣旨から、図２にて示した局番２０５は図示を省略した。図４に示すように、シミュレータ１０３のレジスタ１０４には、レジスタ種別４０１が含まれている。このレジスタ種別４０１は、ＸやＤなどのレジスタの種類を示すためのもので、異なる種別の複数個からなる。
【００２１】
次に、図１〜図７を参照して、以上のように構成されるシーケンサシミュレーション装置の動作について説明する。なお、図５は、図１に示すユーザアプリケーションや表示シミュレータがシーケンサシミュレータをアクセスする際のインタフェースモジュールの動作を説明するフロー図である（正常アクセス時）。図６と図７は、図１に示すユーザアプリケーションや表示シミュレータがシーケンサシミュレータをアクセスする際のインタフェースモジュールの動作を説明するフロー図である（不正アクセス時）。
【００２２】
まず、正常アクセス時の動作について説明する。図５において、ユーザアプリケーション１０７や表示シミュレータ１０６は、シーケンサシミュレータ１０２に対する読み書きを指示するデータ通信情報２０１をインタフェースモジュール１０５に対して発行する（手順Ｔ１）。データ通信情報２０１には、どの局番２０５にアクセスするかのアクセス先局情報２０３と、その局番２０３を持つレジスタ１０４のどのレジスタ種別４０１に対して読み書きを行うかのレジスタ情報２０２とが含まれている。
【００２３】
インタフェースモジュール１０５は、ユーザアプリケーション１０７や表示シミュレータ１０６から受け取ったデータ通信情報２０１を解読し、データ通信情報２０１内のアクセス先局情報２０３が持つ局番２０４と同じ局番を持つシミュレータが存在するか否かを調べ、同じ局番を持つシミュレータの存在が確認できると、その受け取ったデータ通信情報２０１をシーケンサシミュレータ１０２内の該当するシミュレータに送信する（手順Ｔ２）。
【００２４】
インタフェースモジュール１０５からデータ通信情報２０１を受け取ったシーケンサシミュレータ１０２内の該当するシミュレータでは、データ通信情報２０１内のレジスタ情報２０２を解析し（手順Ｔ３）、書き込み指示か否かを判断する（Ｔ４）。その結果、書き込み指示である場合（手順Ｔ４：Ｙｅｓ）は、該当するレジスタ種別のレジスタ値を変更する。また、書き込み指示でない場合（手順Ｔ４：Ｎｏ）は、要求されたレジスタ値を該当するレジスタ種別のレジスタから読み取り、インタフェースモジュール１０５に送信する（手順Ｔ６）。
【００２５】
インタフェースモジュール１０５は、シミュレータから受け取ったレジスタ値を要求元のユーザアプリケーション１０７や表示シミュレータ１０６に送信する（手順Ｔ７）。要求元のユーザアプリケーション１０７や表示シミュレータ１０６では、パソコン画面１１０にインタフェースモジュール１０５から受け取ったレジスタ値１１１を表示する（手順Ｔ８）。
【００２６】
次に、不正アクセス時の動作について説明する。これは、ユーザが想定していないシーケンサシミュレータに対して読み書きを実行した場合であり、図６と図７に示す２種類がある。図６において、ユーザアプリケーション１０７や表示シミュレータ１０６は、シーケンサシミュレータ１０２に対する読み書きを指示するデータ通信情報２０１をインタフェースモジュール１０５に対して発行する（手順Ｔ１０）。データ通信情報２０１には、どの局番２０５にアクセスするかのアクセス先局情報２０３と、その局番２０３を持つレジスタ１０４のどのレジスタ種別４０１に対して読み書きを行うかのレジスタ情報２０２とが含まれている。
【００２７】
インタフェースモジュール１０５は、ユーザアプリケーション１０７や表示シミュレータ１０６から受け取ったデータ通信情報２０１を解読し、データ通信情報２０１内のアクセス先局情報２０３が持つ局番２０４と同じ局番を持つシミュレータが存在するか否かを調べ、同じ局番を持つシミュレータの存在が確認できない場合は（手順Ｔ１１）、エラー通知モジュール２０６を起動し、エラー情報を要求元に送信させる（手順Ｔ１２）。
【００２８】
要求元のユーザアプリケーション１０７や表示シミュレータ１０６では、パソコン画面１１０のエラー表示モジュール２０７がエラー通知モジュール２０６から受け取ったエラー情報２０８を表示しユーザに不正アクセスが行われたことを報知する（手順Ｔ１３）。なお、エラー情報の表示方法は、表形式などが使用できるが、表示の形態は任意である。
【００２９】
また、図７において、ユーザアプリケーション１０７や表示シミュレータ１０６は、シーケンサシミュレータ１０２に対する読み書きを指示するデータ通信情報２０１をインタフェースモジュール１０５に対して発行する（手順Ｔ１５）。データ通信情報２０１には、どの局番２０５にアクセスするかのアクセス先局情報２０３と、その局番２０３を持つレジスタ１０４のどのレジスタ種別４０１に対して読み書きを行うかのレジスタ情報２０２とが含まれている。
【００３０】
インタフェースモジュール１０５は、ユーザアプリケーション１０７や表示シミュレータ１０６から受け取ったデータ通信情報２０１を解読し、データ通信情報２０１内のレジスタ種別３０１と同じレジスタ種別を持つシミュレータが存在するか否かを調べ、同じレジスタ種別を持つシミュレータの存在が確認できない場合は（手順Ｔ１６）、エラー通知モジュール２０６を起動し、エラー情報を要求元に送信させる（手順Ｔ１７）。
【００３１】
要求元のユーザアプリケーション１０７や表示シミュレータ１０６では、パソコン画面１１０のエラー表示モジュール２０７がエラー通知モジュール２０６から受け取ったエラー情報２０８を表示しユーザに不正アクセスが行われたことを報知する（手順Ｔ１８）。なお、エラー情報の表示方法は、表形式などが使用できるが、表示の形態は任意である。
【００３２】
このように、実施の形態１によれば、ユーザアプリケーションや表示器シミュレータから複数のミュレータにアクセスできるようにしたので、ユーザは、実機のシーケンサを用いずにユーザアプリケーションの動作の確認や表示器の表示画面設定内容の確認が可能になる。
【００３３】
また、ユーザアプリケーションや表示器シミュレータから複数のシミュレータにアクセスするデータを解析し、不正アクセスがあったときはユーザに通知するようにしたので、ユーザは、ユーザアプリケーションや表示器シミュレータから存在しないなどの不正な局番へのアクセスや不正なレジスタへのアクセスを行ったこと、つまりプログラム作成ミスや設定ミスがあったことを認識することができ、デバッグを効果的に実施することができるようになる。
【００３４】
実施の形態２．
図８は、この発明の実施の形態２によるシーケンサシミュレーション装置の構成を示すブロック図である。図８において、ユーザはパソコン１０１上で動作するシーケンスプログラムエディタ８０２を用いて複数のシーケンスプログラム８０３を作成するが、通常、存在する複数のシーケンスプログラム８０３は、連携して動作する。
【００３５】
そこで、この実施の形態２では、ユーザはシーケンスプログラムエディタ８０２を用いて、シーケンサシミュレータ１０２内に複数存在するシミュレータ１０３のどれにシーケンスプログラム８０３を実行させるかを決定し、その決定したシーケンスプログラム８０３とシミュレータ１０３との関係一覧をインタフェースモジュール１０５に送信するようになっている。
【００３６】
そして、インタフェースモジュール１０５は、シーケンスプログラムエディタ８０２から受け取った関係一覧に基づき、指定されたシミュレータ１０３に指定されたシーケンスプログラム８０１を送り込み、実行させる。これによって、ユーザは、シーケンスシミュレータ１０２を用いて、連携する複数のシーケンスプログラム８０１のその連携動作をシミュレートすることができるようになる。
【００３７】
このように、実施の形態２によれば、シーケンスプログラムエディタがその作成した複数のシーケンスプログラムのそれぞれと１対１の関係でシミュレータを指定しシーケンスシミュレータに送信することができるようにしたので、ユーザは、実機のシーケンサを用いることなくシーケンスシミュレータを用いて、シーケンスプログラムエディタが作成した複数のシーケンスプログラムの連携動作を確認することができる。
【産業上の利用可能性】
【００３８】
以上のように、この発明にかかるシーケンサシミュレーション装置は、実機のシーケンサを用いることなくユーザアプリケーションや表示器の動作確認を行い、また複数のシーケンスプログラムの連携動作を確認するのに有用である。
【図面の簡単な説明】
【００３９】
【図１】この発明の実施の形態１によるシーケンサシミュレーション装置の構成を示すブロック図である。
【図２】図１に示すユーザアプリケーションや表示シミュレータとシーケンサシミュレータとのデータ通信時での構成を説明する図である。
【図３】図１に示すユーザアプリケーションや表示シミュレータが送信するデータ通信情報の構成を説明する図である。
【図４】図１に示すシミュレータの構成を説明する図である。
【図５】図１に示すユーザアプリケーションや表示シミュレータがシーケンサシミュレータをアクセスする際のインタフェースモジュールの動作を説明するフロー図である（正常アクセス時）。
【図６】図１に示すユーザアプリケーションや表示シミュレータがシーケンサシミュレータをアクセスする際のインタフェースモジュールの動作を説明するフロー図である（不正アクセス時）。
【図７】図１に示すユーザアプリケーションや表示シミュレータがシーケンサシミュレータをアクセスする際のインタフェースモジュールの動作を説明するフロー図である（不正アクセス時）。
【図８】この発明の実施の形態２によるシーケンサシミュレーション装置の構成を示すブロック図である。
【図９】従来のシーケンサシミュレータの使用例を示したシステム構成図である。
【符号の説明】
【００４０】
１０１  パーソナルコンピュータ（パソコン）
１０２  シーケンサシミュレータ
１０３  シミュレータ
１０４  レジスタ
１０５  インタフェースモジュール
１０６  表示器シミュレータ
１０７  ユーザアプリケーション
１０８  ロギングデータ
１０９  レジスタ値
１１０  パソコン画面
１１１  レジスタ値
８０１，８０３  シーケンスプログラム
８０２  シーケンスプログラムエディタ
【図１】
2007286654.tif 000003
【図２】
2007286654.tif 000004
【図３】
2007286654.tif 000005
【図４】
2007286654.tif 000006
【図５】
2007286654.tif 000007
【図６】
2007286654.tif 000008
【図７】
2007286654.tif 000009
【図８】
2007286654.tif 000010
【図９】
2007286654.tif 000011