(57)【特許請求の範囲】
【請求項１】
プログラマブル表示器又はプログラマブル表示器のエミュレータ装置がそれに接続される接続機器に対して実行する制御を、該制御時に指定されるデバイスメモリを擬似する擬似メモリを介して模擬するシミュレータ装置において、
前記擬似メモリに対する操作シーケンスを記述するシーケンスブロックデータと、該操作シーケンスを実行する契機を指定するシーケンス動作タイミングデータとを記憶するシーケンス情報記憶部と、
前記シーケンス情報記憶部に記憶された前記操作シーケンスを実行する契機を指定する前記シーケンス動作タイミングデータを順次読み出すことにより前記操作シーケンスを実行するタイミングを制御しながら、前記シーケンス情報記憶部に記憶された前記疑似メモリに対する操作シーケンスを記述した前記シーケンスブロックデータを順次読み出すことにより、前記接続機器の制御時に指定されるデバイスメモリを疑似する前記擬似メモリに対する操作を実行して模擬するシーケンス実行制御部と、
を含むことを特徴とする接続機器シミュレータのシーケンス制御装置。
【請求項２】
前記シーケンス情報記憶部に記憶された前記疑似メモリに対する操作シーケンスを記述したシーケンスブロックデータに実行可能なシーケンスブロックが設定されていた場合、ユーザが任意にシーケンスブロックＮｏによるシーケンス実行を指令することで前記シーケンス実行制御部にシーケンス実行イベント通知がなされることでシーケンスを実行するシーケンス実行指令処理部を更に含む、
ことを特徴とする請求項１に記載の接続機器シミュレータのシーケンス制御装置。
【請求項３】
前記シーケンスブロックデータ及び前記シーケンス動作タイミングデータを編集するシーケンスエディタ部を更に含む、
ことを特徴とする請求項１に記載の接続機器シミュレータのシーケンス制御装置。
【請求項４】
プログラマブル表示器又はプログラマブル表示器のエミュレータ装置がそれに接続される接続機器に対して実行する制御を、該制御時に指定されるデバイスメモリを擬似する擬似メモリを介して模擬するシミュレート方法において、
前記擬似メモリに対する操作シーケンスを記述するシーケンスブロックデータと、該操作シーケンスを実行する契機を指定するシーケンス動作タイミングデータとをシーケンス情報記憶部に記憶し、
前記シーケンス情報記憶部に記憶された前記操作シーケンスを実行する契機を指定する前記シーケンス動作タイミングデータを順次読み出すことにより前記操作シーケンスを実行するタイミングを制御しながら、前記シーケンス情報記憶部に記憶された前記疑似メモリに対する操作シーケンスを記述した前記シーケンスブロックデータを順次読み出すことにより、前記接続機器の制御時に指定されるデバイスメモリを疑似する前記擬似メモリに対する操作を実行して模擬する、
ことを特徴とする接続機器シミュレータのシーケンス制御方法。
【請求項５】
プログラマブル表示器又はプログラマブル表示器のエミュレータ装置がそれに接続される接続機器に対して実行する制御を、該制御時に指定されるデバイスメモリを擬似する擬似メモリを介して模擬するシミュレータ装置に、
前記擬似メモリに対する操作シーケンスを記述するシーケンスブロックデータと、該操作シーケンスを実行する契機を指定するシーケンス動作タイミングデータとをシーケンス情報記憶部に記憶し、
前記シーケンス情報記憶部に記憶された前記操作シーケンスを実行する契機を指定する前記シーケンス動作タイミングデータを順次読み出すことにより前記操作シーケンスを実行するタイミングを制御しながら、前記シーケンス情報記憶部に記憶された前記疑似メモリに対する操作シーケンスを記述した前記シーケンスブロックデータを順次読み出すことにより、前記接続機器の制御時に指定されるデバイスメモリを疑似する前記擬似メモリに対する操作を実行して模擬する、
機能を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル表示器に接続され、プログラマブル表示器の接続機器を擬似的にシミュレートする技術に関する。
【背景技術】
【０００２】
従来のプログラマブル表示器用の接続機器シミュレータ装置（以下シミュレータ装置と表記する）は、プログラマブル表示器からのメモリの読込み／書込み要求に応じて、擬似的に構築されている接続機器メモリ（以下擬似メモリと表記する）に対して読出し／書換えを行うことで、接続機器をシミュレートしている。このとき、シミュレータ装置は、シミュレート中の擬似メモリ中のアドレス（又は変数）とその値を一覧で表示し、ＧＵＩ（グラフィカル・ユーザ・インタフェース）にてユーザが任意に指定した擬似メモリのアドレスに対して読込み／書込みを行う機能を有する。更に、シミュレータ装置は、ユーザが任意に指定した擬似メモリのアドレスの値を、任意に指定した単位／範囲／時間でインクリメント／デクリメントする機能を有している。
【０００３】
例えば、下記特許文献１及び２では、プログラマブル・ロジック・コントローラ（以下ＰＬＣと表記）内の動作をシミュレートする方式が開示されている。これらの従来技術は、ＰＬＣのシーケンスをシミュレートすることにより、ＰＬＣのデバッグ効率を向上させている。
【０００４】
また、下記特許文献３ではプログラマブル表示器とシミュレータ装置間の汎用的なインタフェースと、シミュレータ装置内部に持つ擬似メモリの制御方法について開示されている。この従来技術は、プログラマブル表示器に対するインタフェース部分をシミュレートすることで、実際の接続機器を接続していなくてもプログラマブル表示器の動作を確認することを可能にしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−２１５１０５号公報
【特許文献２】特開平５−２９７９１５号公報
【特許文献３】特許第３５６２７８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１及び２に記載の従来技術は、その目的がＰＬＣのデバッグ効率の向上であり、プログラマブル表示器の接続機器のシミュレータ装置としては使用できないという問題点を有していた。
【０００７】
また、特許文献３の従来技術では、本来シミュレートしたい接続機器の制御シーケンスを実現するためには、シミュレータ装置上の擬似メモリの内容を、実際の制御シーケンスを考慮しながら、ユーザが手動で更新しなければならなかった。このため、多大な設定工数が掛かってしまうという問題点を有していた。
【０００８】
そこで、本発明の課題は、プログラマブル表示器のデバッグのために、ＰＬＣの擬似メモリを操作するためのインタフェースだけでなく、プログラマブル表示器との連動に最低限必要なＰＬＣ側のシーケンス制御を実現することにある。
【課題を解決するための手段】
【０００９】
態様の一例では、プログラマブル表示器又はプログラマブル表示器のエミュレータ装置がそれに接続される接続機器に対して実行する制御を、その制御時に指定されるデバイスメモリを擬似する擬似メモリを介して模擬するシミュレータ装置として実現され、以下の構成を有する。
【００１０】
シーケンス情報記憶部は、擬似メモリに対する操作シーケンスを記述するシーケンスブロックデータと、その操作シーケンスを実行する契機を指定するシーケンス動作タイミングデータとを記憶する。
【００１１】
シーケンス実行制御部は、シーケンス情報記憶部に記憶された前記操作シーケンスを実行する契機を指定するシーケンス動作タイミングデータを順次読み出すことにより前記操作シーケンスを実行するタイミングを制御しながら、シーケンス情報記憶部に記憶された前記疑似メモリに対する操作シーケンスを記述したシーケンスブロックデータを順次読み出すことにより、前記接続機器の制御時に指定されるデバイスメモリを疑似する擬似メモリに対する操作を実行して模擬する。
【発明の効果】
【００１２】
本発明によれば、画面データ作成者は、接続機器毎のシーケンス記述方法に依存することなく、接続機器に対するシミュレータ部のシーケンス記述方法でＰＬＣ等の接続機器の模擬シーケンスを記述することができ、テスト用のシーケンスを構築する工数を削減することが可能となる。
【００１３】
また、本発明によれば、接続機器に対するシミュレータのシーケンス制御機能が追加されることで、プログラマブル表示器の画面データの開発者は、動作確認のために接続機器の入手を待つ必要がなくなり、確認工数を削減できる効果が得られる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態の全体構成図である。
【図２】プログラマブル表示器のハードウェア構成例を示す図である。
【図３】本実施形態の機能ブロック図である。
【図４】シミュレータ部の制御動作を示す動作フローチャートである。
【図５】シーケンスデータの構成例を示す図である。
【図６】シーケンスブロックとして記述可能な命令の例を示す図である。
【図７】シーケンス処理におけるモード遷移を示すモード遷移表である。
【図８】シーケンスエディタの画面例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図１は、本実施形態の全体構成図である。
図１に示されるように、プログラマブル表示器１は、プログラマブル・ロジック・コントローラ（以下ＰＬＣと表記）や温調器である接続機器４や、シミュレータ装置である作画エディタ装置５と、それぞれに対応した通信インタフェース２及び通信ライン３を介して接続される。作画エディタ装置５は、パーソナルコンピュータ等によって構成される。
【００１６】
ＰＬＣや温調器といった接続機器４は、汎用的なワーク領域や各制御情報等を、デバイス名とアドレス等とで指定するメモリと、それらを制御する機能によって実現されるのが一般的である。プログラマブル表示器１は、通信インタフェース２から通信ライン３を介して接続機器４に、固有のプロトコルに即した命令を、上述のデバイス名とアドレス等を指定して発行することにより、接続機器４を制御し、また接続機器４の状態を表示することができる。
【００１７】
図２は、図１に示されるプログラマブル表示器１のハードウェア構成例を示す図である
。まず、プログラマブル表示器１は、表示器本体であるディスプレイ７と表示器本体上で各種操作を行うタッチパネル６を備える。また、プログラマブル表示器１は、バスを介して接続されるＲＯＭ１２に記憶された制御プログラムを、同じくバスを介して接続されるＲＡＭ１３をワーク領域として使用しながら実行することにより、以下に説明する各種制御動作を実現するＣＰＵ８を備える。更に、このＣＰＵ８にバスを介して接続され、タッチパネル６を制御するタッチパネルコントローラ９、ディスプレイ７を制御するグラフィックコントローラ１１、図１の通信ライン３に接続される通信インタフェース２を制御する通信コントローラ１０を備える。
【００１８】
図３は、本実施形態の機能ブロック図である。プログラマブル表示器１による表示機能及び接続機器４に対する制御機能は、表示制御などの基本的な機能に関するプログラムを実行する本体プログラム実行部１４と、接続機器４毎のそれぞれ固有のプロトコルに対応した通信制御を実行する通信プログラム実行部１６とで実現される。
【００１９】
本体プログラム実行部１４及び通信プログラム実行部１６は、例えば図２において、ＣＰＵ８がＲＯＭ１２に記憶された本体プログラム実行部１４に対応する本体プログラムと通信プログラム実行部１６に対応する通信プログラムを実行する機能として実現される。
【００２０】
これらのプログラムは、パーソナルコンピュータ（以下、「ＰＣ」という）１７内の作画エディタ部１９から、通信処理部１８及び通信ライン３を介して、プログラマブル表示器１に転送され、例えば図２のＲＯＭ１２（不揮発性メモリ）へ登録される。特に、接続機器４毎に固有の通信プログラムは、ＰＣ１７内の特には図示しないハードディスク記憶装置等に記憶された通信プログラムファイル２３から作画エディタ部１９によって読み込まれ、通信処理部１８から通信ライン３を介して、プログラマブル表示器１内のＲＯＭ１２等に記憶される。
【００２１】
また、プログラマブル表示器１の本体プログラム実行部１４が、どのような表示動作を実行するか、及び行うか、どのような制御を行うか、どのような接続機種かといったプログラマブル表示器１の動作を規定する画面データ１５は、ＰＣ１７上の作画エディタ部１９を用いて作成され、プログラマブル表示器１へダウンロードされる。また、この画面データ１５は、画面データファイル２２として、ＰＣ１７への保存が可能である。
【００２２】
ここで例えば、ＰＣ１７上の作画エディタ部１９での画面データ１５の作成においては、ユーザの操作を受け付けるスイッチ、データの表示を行う数値表示などの各部品のシンボル画を含む部品リストが、ＰＣ１７上の特には図示しないディスプレイに表示される。ユーザが、この部品リストとの中から所望の部品を選択して、作画エディタ部１９がＰＣ１７上の特には図示しないディスプレイに表示するプログラマブル表示器１の画面の任意の位置に移動させ、その部品をプログラマブル表示器１に接続される接続機器４のデバイス名とアドレス等の制御対象メモリと対応付ける。これによって、作画エディタ部１９は、上記部品に関する画面データ１５を作成し、その画面データ１５を画面データファイル２２として保存すると共にプログラマブル表示器１に転送する。プログラマブル表示器１においては、本体プログラム実行部１４が上記画面データ１５を読み込むことにより、ユーザが選択した部品に対応する制御プログラムが選択、起動される。そして、その制御プログラムが、指定されたデバイス名のアドレスに対応する制御対象のメモリ情報を、自動的にディスプレイ７（図２）に表示するようになる。このようにして、制御対象として構成されるべき複数の部品を選択して作画エディタ部１９が表示する画面上に配置することによって、接続機器４の情報を容易に制御／表示することができる。
【００２３】
プログラマブル表示器１が実装する通信プログラム実行部１６は、ＰＣ１７上の作画エディタ部１９で設定された接続機器４に応じてそれぞれ固有の通信プログラムに差し替え
られて動作するような、汎用的な構成にしておくことが実用的である。この場合、本体プログラム実行部１４と通信プログラム実行部１６の間のインタフェースは、接続機器４固有の通信プロトコルに依存しない、汎用的な共通インタフェースにしておくことが理想的である。
【００２４】
図１において、プログラマブル表示器１と接続機器４の連携動作は、通信ライン３及び通信インタフェース２を介してプログラマブル表示器１から接続機器４に対して指定されるコマンドによって構築される。そして、接続機器４の制御は、そのコマンドによるデバイスメモリに対する操作として実行される。このことは、通信ライン３を介して指定されるコマンドによってプログラマブル表示器１と接続機器４が連携できれば、接続機器４は実機である必要がないということを意味する。そこで、本実施形態において、シミュレータ装置として機能するＰＣ１７上のシミュレータ部２１には、シミュレートされるデバイスメモリが擬似メモリ２４として用意される。より具体的には、擬似メモリ２４は、ＰＣ１７上の特には図示しないＲＡＭ（ランダム・アクセス・メモリ）上に確保される。
【００２５】
そして、プログラマブル表示器１とＰＣ１７上のシミュレータ部２１とが連携してシミュレート動作が実行される場合には、以下のような動作が実行される。
即ちまず、プログラマブル表示器１の通信プログラム実行部１６が実行する通信プログラムが、ＰＣ１７上のシミュレータ部２１との通信用の通信プログラムに差し替えられる。これにより、実際にプログラマブル表示器１と通信する接続機器４が、ＰＣ１７上のシミュレータ部２１に変更される。この結果、プログラマブル表示器１があたかも接続機器４の実機に接続しているような状態で、プログラマブル表示器１を動作させることが可能となる。
【００２６】
シミュレータ部２１は、擬似メモリ２４の記憶内容を表示及び編集するＧＵＩ（グラフィカル・ユーザ・インタフェース）等の、擬似メモリ２４の記憶内容を容易に表示・変更できる手段を提供する。プログラマブル表示器１が動作を開始すると、コマンドによるデバイスメモリのアドレス指定により、ＰＣ１７上のシミュレータ部２１が管理する擬似メモリがアクセスされる。シミュレータ部２１は、シミュレート対象の画面データファイル２２と実際にプログラマブル表示器１が表示している画面とに基づいて、擬似メモリ２４上のどの記憶内容がアクセスされているかを解析し、その画面で使用される擬似メモリ２４の記憶内容をディスプレイ上に一覧表示する。なお、接続機器４の動作を模擬する上で必要になる一時的な記憶領域は、シミュレータ部２１が管理するテンポラリメモリ２５上に確保される。テンポラリメモリ２５は、ＰＣ１７上の特には図示しないＲＡＭ上に確保される。
【００２７】
このようにして、プログラマブル表示器１に接続機器４が擬似的に接続された状態にして、プログラマブル表示器１にダウンロードされた画面データ１５の動作を、ＰＣ１７上でシミュレートすることができる。
【００２８】
ここで、シミュレータ部２１は、プログラマブル表示器１をＰＣ１７に接続しない状態でも、シミュレート動作を実行することができる。この場合には、ＰＣ１７内のエミュレータ部２０が、プログラマブル表示器１の動作をエミュレートする。そして、シミュレータ部２１は、通信処理部１８を介して、プログラマブル表示器１とではなくエミュレータ部２０と通信を行うことにより、エミュレータ部２０に対するシミュレート動作を実行する。
【００２９】
本実施形態では、図３に示されるように、シミュレータ部２１において、接続機器４（図１）に対応する擬似メモリ２４が構築され、プログラマブル表示器１と接続機器４とのインタフェースが模擬されるだけでなく、シミュレータ部２１でシミュレートしている擬
似的な接続機器４での動作シーケンスをユーザが任意に設定できる。これにより、プログラマブル表示器１と接続機器４間の制御シーケンスを容易に模擬することができるようになる。シミュレータ部２１が模擬する擬似的な接続機器４の動作シーケンスと動作タイミングは、図３に示されるシーケンスファイル２７によって設定される。このシーケンスファイル２７は、図３に示されるシーケンスエディタ部２６により編集／保存を行うことが可能である。シミュレータ部２１は、指定されたシーケンスファイル２７より、擬似的な接続機器４の動作シーケンスと動作タイミングを読み込むことで、シミュレート中の擬似的な接続機器４の制御シーケンスを模擬する。
【００３０】
図４は、図３のシミュレータ部２１及び通信処理部１８の詳細な機能ブロック図である。
まず、図３及び図４の通信処理部１８は、プログラマブル表示器１又は図３に示されるＰＣ１７内のエミュレータ部２０と選択的に通信を行う。シーケンスファイル読込み処理２８では、図３のシーケンスファイル２７からシーケンスデータを読み込む。シーケンス実行開始処理２９では、シーケンスの実行開始を行う。シーケンス実行終了処理３０では、シーケンスの実行終了を行う。シーケンス実行指令処理３１では、任意のシーケンスの実行を行う。模擬サイクルタイマイベント処理３５では、シミュレートする接続機器４のサイクル時間間隔を通知する。時間経過タイマイベント処理３６では、シーケンスの実効契機か否かを判定する。擬似メモリアクセス処理３７では、擬似メモリ２４の更新によってシーケンスの実効契機か否かを判定する。シーケンス実行条件判定処理３９では、シーケンスを実行してよい条件であるか否かを判定する。シーケンス実行処理４１では、シーケンスを解析して実行する。
【００３１】
次に、図５は、シーケンスファイル２７から読み込まれるシーケンスデータの構成例を示す図である。シーケンスデータは、模擬サイクル時間と、シーケンス動作タイミングデータと、シーケンスブロックデータとで構成される。
【００３２】
シーケンス動作タイミングデータは、シーケンス動作タイミングデータＮｏにより管理され、ヘッダ部とデータ部とに分類できる。シーケンス動作タイミングヘッダには、設定数とそれぞれのシーケンス動作タイミングデータへのオフセット情報が含まれる。シーケンス動作タイミングデータには、それぞれ設定数分のシーケンス動作タイミングデータが含まれる。シーケンス動作タイミングデータは更に、シーケンス動作契機と、シーケンス動作条件と、シーケンスブロックＮｏとにより構成される。
【００３３】
シーケンス動作契機は、一般的に、ＰＬＣ等の接続機器４の１処理を表すサイクル毎に実行されるサイクル動作と、一定の時間が経過した場合に実行される定時動作と、指定したメモリの変化に応じて実行されるトリガ動作と、或る時刻において実行される時刻動作等に分類される。
【００３４】
シーケンス動作条件は、無条件で動作を許可する無条件と、メモリの値の演算によって動作の可否が判定される演算条件と、メモリのビット状態によって動作の可否が判定されるビット条件等に分類される。
【００３５】
シーケンスブロックＮｏは、対応するシーケンスの動作契機において、どのシーケンスブロックを実行するのかを指定するものである。
シーケンスブロックデータは、ヘッダ部とデータ部に分類できる。ヘッダ部には設定数とそれぞれのシーケンスブロックへのオフセット情報が含まれる。データ部は、それぞれ設定数分のシーケンスブロックにより構成される。
【００３６】
シーケンスブロックは、シーケンスブロックＮｏにより管理され、一連のシーケンス制
御文の集合体として構成される。ここで、シーケンス制御文の文法は、ラダープログラム表記であってもよいし、独自のインタプリンタ形式の文法等でもよいが、本実施形態においては、独自のインタプリンタ形式の文法（以下「マクロ」と表記する）について記述する。
【００３７】
マクロは、コマンドと引数等により記述され、シーケンスを実行するための一時的なワークメモリ領域である図３のテンポラリメモリ２５に、アクセスすることが可能である。例えば模擬しようとしているシーケンスがＰＬＣ独自の機能によるものであったり、ＰＬＣに接続された外部機器と連動して更新される場合に、ＰＬＣのシーケンスを模擬するためにシミュレートしているＰＬＣのメモリリソースを使用するのは望ましくない。このような場合は、このテンポラリメモリ２５を使用することが推奨できる。例えば、ＰＬＣからの情報をもとに、ＰＬＣに接続された外部機器が演算してＰＬＣへ演算結果を通知する場合、演算にテンポラリメモリ２５を使用することで、模擬しているＰＬＣのメモリリソースを使用しなくてもよい。
【００３８】
以上の構成を有するシミュレータ部２１及び通信処理部１８の詳細な動作について、以下に説明する。
まず、図３又は図４の通信処理部１８は、シミュレータ部２１がプログラマブル表示器１（図１）と連動する場合とエミュレータ部２０（図３）と連動する場合とで、通信インタフェースの処理を切り替えることで、双方と通信可能な構造になっている。通信対象となるプログラマブル表示器１やエミュレータ部２０からシミュレータ部２１への命令指示は、コマンドにより行われ、例えばメモリ読込みコマンドやメモリ書込みコマンド等が実装されている。
【００３９】
［シミュレータソフト起動処理］
シミュレータ部２１は、起動時に、シミュレート対象画面データを画面データファイル２２（図３）から読み込み、シミュレート対象となる接続機器４が保持するデバイスメモリを判定する。
【００４０】
次に、シミュレータ部２１は、上述の画面データファイル２２の解析処理により判定された、シミュレート対象となる接続機器４が保持するデバイスメモリ領域と、シーケンス機能が使用するワーク領域を、それぞれ擬似メモリ２４及びテンポラリメモリ２５としてＲＡＭ上に確保する。
【００４１】
また、シミュレータ部２１は、起動時に指定された通信対象によって、通信処理部１８を通信可能な状態に初期化する。
以上の動作により、シミュレータ部２１がシミュレート動作を実行可能な状態となる。
【００４２】
［シーケンスファイル読込み処理２８］
シミュレータ部２１は、ユーザからシーケンスファイル２７（図３）が指定されると、シーケンスファイル読込み処理２８を実行する。この処理では、図４に示されるように、対象となるシーケンスファイル２７が読み込まれ、正常なシーケンスファイルであるか否かがチェックされる。正常なシーケンスファイルであるかは、例えばチェックサム等をファイルヘッダ部に設定する等が考えられる。異常なシーケンスファイルであった場合、エラーがユーザに通知される。正常なシーケンスファイルであった場合、特には図示しないＲＡＭ上にシーケンスデータが展開され、シーケンス実行待ち状態へ遷移する。
【００４３】
［シーケンス実行開始処理２９］
シーケンス実行開始処理２９では、図４に示されるように、ユーザからシーケンス実行開始が指令された場合に、シーケンス実行状態へ遷移する。
【００４４】
これと共に、ＲＡＭ上に展開したシーケンスデータから模擬サイクル時間が読み取られ、シーケンス実行契機のうち、サイクル動作を行うための模擬サイクル時間間隔で発生するタイマイベントが、タイマイベント管理処理３２へ登録される。
【００４５】
また、シーケンス実行契機のうち、定時動作と時刻動作についての判定を行うための時間経過タイマイベントが、タイマイベント管理処理３２へ登録される。
これらのタイマは、例えば１００ｍｓ（ミリ秒）等、定時動作と時刻動作の仕様を満たす程度の監視間隔であることが望ましい。タイマイベントのタイマイベント管理処理３２への登録は、より具体的には例えば、タイマイベント管理処理３２にて管理されるＲＡＭ上のタイマイベント管理領域に、上記タイマイベントの情報を設定する動作である。
【００４６】
また、シーケンス実行契機のうち、定時動作については、監視時刻と経過時間を記憶する領域がＲＡＭ上に構築され、監視時刻に現在時間が格納され、経過時間に０が格納される。
【００４７】
また、シーケンス実行契機のうち、時刻動作については、監視時刻を記憶する領域がＲＡＭ上に構築され、監視時刻に現在時間が格納される。
更に、シーケンス実行契機のうち、トリガ動作については、トリガビット状態を記憶する領域がＲＡＭ上に構築され、トリガビット状態に現在のトリガビット情報が格納される。
【００４８】
［タイマイベント管理処理３２］
タイマイベント管理処理３２では、シーケンス実行開始処理２９により設定された各種タイマイベント、監視・経過時刻、又はトリガビット状態の各条件が満たされるか否かを管理し、条件が満たされた場合に対応するイベント通知を出力する。
【００４９】
［模擬サイクルタイマイベント処理３５］
模擬サイクルタイマイベント処理３５は、タイマイベント管理処理３２により模擬サイクルタイマイベント通知３３が発生した場合に実行される。
【００５０】
この処理では、図５に示されるシーケンス動作タイミングヘッダにある設定数とそれぞれの設定データへのオフセット情報が参照され、設定数分のシーケンス動作タイミングデータが上位から下位へ検索される。
【００５１】
そして、サイクル動作設定となっているシーケンス動作タイミングデータ毎に、シーケンス実行条件判定処理３９へ、シーケンス実行契機イベント通知３８として、シーケンス実行契機イベントの発生と、シーケンス動作タイミングデータＮｏが通知される。
【００５２】
［時間経過タイマイベント処理３６］
時間経過タイマイベント処理３６は、タイマイベント管理処理３２により時間経過タイマイベントが発生した場合に実行される。
【００５３】
この処理では、図５に示されるシーケンス動作タイミングヘッダにある設定数とそれぞれの設定データへのオフセット情報が参照され、設定数分のシーケンス動作タイミングデータが上位から下位へ検索される。
【００５４】
次に、定時動作となっているシーケンス動作タイミングデータについては、前回ＲＡＭ
上に記憶された監視時刻と経過時間より今回の経過時間が演算され、その経過時間より指定の周期が経過したかが判定される。また、時刻動作となっているシーケンス動作タイミングデータについては、前回ＲＡＭ記憶された監視時刻と今回の時刻間に指定の時刻が含まれているかが判定される。これらの各判定処理の後は、定時動作であれば監視時刻と経過時刻が、時刻動作であれば監視時刻が更新される。
【００５５】
そして、シーケンス実行タイミングと判定されたそれぞれのシーケンス動作タイミングデータ毎に、シーケンス実行条件判定処理３９へ、シーケンス実行契機イベント通知３８として、シーケンス実行契機イベントの発生と、シーケンス動作タイミングデータＮｏが通知される。
【００５６】
［擬似メモリアクセス処理３７］
擬似メモリアクセス処理３７は、擬似メモリ２４へのアクセスを管理する。
この処理では、指定されたデバイス名とアドレスにより確定される擬似メモリ２４上のデータ部に対する読込み処理又は書込み処理が実行される。
【００５７】
書込み処理が行われた場合、シーケンス実行状態であれば、図５に示されるシーケンス動作タイミングヘッダにある設定数とそれぞれのシーケンス動作タイミングデータへのオフセット情報が参照され、設定数分の設定データが上位から下位へ検索される。そして、トリガ動作設定となっているシーケンス動作タイミングデータ毎に、トリガビットが参照される。この結果、書込み処理を行った擬似メモリ２４に該当するトリガビットが設定されていれば、前回記憶されたトリガビット状態と現在のトリガビット状態に基づいて、トリガが発生したか否かが判定される。動作判定後は、トリガビット状態が更新される。
【００５８】
トリガが発生した場合、シーケンス実行条件判定処理３９へ、シーケンス実行契機イベントの発生と、シーケンス動作タイミングデータＮｏが通知される。
【００５９】
［シーケンス実行条件判定処理３９］
シーケンス実行条件判定処理３９は、模擬サイクルタイマイベント処理３５、時間経過タイマイベント処理３６、又は擬似メモリアクセス処理３７からシーケンス実行契機イベント通知３８が通知されたときに実行される。
【００６０】
この処理では、シーケンス実行契機イベント通知３８として通知されたシーケンス動作タイミングデータＮｏに該当する図５に示されるシーケンス動作条件が参照され、それぞれの実行条件が満たされているか否かが判定される。
【００６１】
無条件の場合は実行可能とされる。
演算条件の場合は、指定されたメモリアクセスや演算が実行され、その演算結果が実行条件を満たしているか否かが判定される。
【００６２】
ビット条件の場合は、指定されたメモリのビット状態が実行条件を満たしているか否かが判定される。
実行条件を満たしていると判定された場合には、シーケンス実行処理４１へシーケンス実行イベントの発生と上記シーケンス動作条件に対応する図５に示されるシーケンスブロックＮｏが通知される。
【００６３】
実行条件を満たしていないと判定された場合には、シーケンス実行契機イベント通知３８は無視される。
【００６４】
［シーケンス実行指令処理３１］
シーケンス実行指令処理３１は、図４に示されるように、ユーザから任意の図５に示さ
れるシーケンスブロックＮｏによるシーケンス実行が指令された場合に、図５に示されるシーケンスブロックヘッダにある設定数とそれぞれのシーケンスブロックデータへのオフセット情報が参照される。そして、実行可能なシーケンスブロックデータが設定されていれば、図４のシーケンス実行処理４１へシーケンス実行イベント通知４２が通知される。実行可能なシーケンスブロックデータが設定されていなければ、エラーがユーザへ通知さされる。
【００６５】
［シーケンス実行処理４１］
シーケンス実行処理４１は、シーケンス実行イベント通知４０又は４２が通知された場合に実行される。
この処理では、上記イベント通知により指定されたシーケンスブロックＮｏから、図５のシーケンスブロックヘッダにある設定数とそれぞれのシーケンスブロックへのオフセット情報が参照される。そして、該当するシーケンスブロックＮｏのシーケンスブロックデータの先頭より、そのシーケンスブロックデータの末尾までの制御文が、インタプリンタ方式で実行される。
【００６６】
シーケンス実行処理４１は、例えば以下のような記述のシーケンスブロックデータが実行された場合は、擬似メモリアクセス処理３７を介して擬似メモリ２４への操作が実行される。
【００６７】
＜シーケンスブロックデータの例＞
D100=D200
D200=D200+1
＜実行例＞
擬似メモリ２４上のＤ２００の値をＤ１００に代入し、Ｄ２００の値を＋１する
というシーケンスが実行される。
【００６８】
シーケンスブロックデータとして記述可能な命令の例を、図６に示す。
【００６９】
［シーケンス実行終了処理３０］
シーケンス実行終了処理３０は、図４に示されるように、ユーザからシーケンス実行終了が指令された場合に実行される。
【００７０】
この処理では、シーケンス実行待ち状態へ遷移すると共に、サイクルタイマイベントと時間経過タイマイベントの削除が、タイマイベント管理処理３２に対して指示される。また、シーケンス実行契機を判定するための記憶情報の削除も指示される。
【００７１】
以上説明した各処理の実行によりモード遷移をまとめたのが、図７である。それぞれの遷移モードにおいて、発生したイベント毎に実行される処理が示されている。
【００７２】
図８は、図３のシーケンスエディタ部２６の画面構成例及び機能ブロック図を示す図である。
模擬サイクル時間設定画面表示部４３は、ＰＬＣ等の接続機器４の１処理を表すサイクル時間を模擬するための模擬サイクル時間を設定する画面を表示する。
【００７３】
シーケンス動作タイミング設定画面表示部４４は、シーケンス動作タイミングを設定する画面を表示する。
シーケンスブロック記述画面表示部４５は、ユーザがシーケンスを記述する画面を表示する。
【００７４】
模擬サイクル時間データ取込み部４６は、模擬サイクル時間設定画面表示部４３において、ユーザによって入力された模擬サイクル時間データを取り込む。
シーケンス動作タイミングデータ取込み部４７は、シーケンス動作タイミング設定画面表示部４４において、ユーザが「編集」ボタンをマウスクリックすることにより表示される編集画面を介して、ユーザによって入力されたシーケンス動作タイミングデータを取り込む。
【００７５】
シーケンスブロックデータ取込み部４８は、シーケンスブロック記述画面表示部４５に対して、ユーザによって記述されたシーケンスブロックデータを取り込む。
ファイル保存部４９は、模擬サイクル時間データと、シーケンス動作タイミングデータと、シーケンスブロックデータが取り込まれた後、ユーザによる保存指令に応じて、それらのデータをシーケンスファイル２７（図２参照）ヘ保存する。
【００７６】
以上説明した実施形態により、次のような効果が生まれる。
即ち、例えば接続機器４のラダープログラムに連動してプログラマブル表示器１を動作させるシステムを構築する際、従来の方法では画面データ作成者はプログラマブル表示器１との連動に必要な部分のラダープログラムのシーケンスを接続機器４に組み込むため、接続機器４毎のシーケンス記述方法を習得する必要があり、テスト用のシーケンスを構築するために多大な工数が必要であった。
【００７７】
これに対して本実施形態によれば、画面データ作成者は、接続機器４毎のシーケンス記述方法に依存することなく、接続機器４に対するシミュレータ部２１（図３）のシーケンス記述方法でＰＬＣ等の接続機器４の模擬シーケンスを記述することができ、テスト用のシーケンスを構築する工数を削減することが可能となる。
【００７８】
また、接続機器４の入手が開発期間より遅れるような場合において、従来では接続機器４との結合テストを接続機器４の入手まで行なうことができなかった。本実施形態では、接続機器４に対するシミュレータのシーケンス制御機能が追加されることで、プログラマブル表示器１の画面データ１５（図３）の開発者は、動作確認のために接続機器４の入手を待つ必要がなくなり、確認工数を削減できる効果が得られる。
【符号の説明】
【００７９】
１  プログラマブル表示器
２  通信インタフェース
３  通信ライン
４  接続機器
５  作画エディタ装置
６  タッチパネル６
７  ディスプレイ
８  ＣＰＵ
９  タッチパネルコントローラ
１０  通信コントローラ
１１  グラフィックコントローラ
１２  ＲＯＭ
１３  ＲＡＭ
１４  本体プログラム
１５  画面データ
１６  通信プログラム
１７  ＰＣ
１８  通信処理部
１９  作画エディタ部
２０  エミュレータ部
２１  シミュレータ部
２２  画面データファイル
２３  通信プログラムファイル
２４  擬似メモリ
２５  テンポラリメモリ
２６  シーケンスエディタ部
２７  シーケンスファイル
２８  シーケンスファイル読込み処理
２９  シーケンス実行開始処理
３０  シーケンス実行終了処理
３１  シーケンス実行指令処理
３２  タイマイベント管理処理
３３  模擬サイクルタイマイベント通知
３４  時間経過タイマイベント通知
３５  模擬サイクルタイマイベント処理
３６  時間経過タイマイベント処理
３７  擬似メモリアクセス処理
３８  シーケンス実行契機イベント通知
３９  シーケンス実行条件判定処理
４０  シーケンス実行イベント通知
４１  シーケンス実行処理
４２  シーケンス実行イベント通知
４３  模擬サイクル時間設定画面表示部
４４  シーケンス動作タイミング設定画面表示部
４５  シーケンスブロック記述画面表示部
４６  模擬サイクル時間データ取込み部
４７  シーケンス動作タイミングデータ取込み部
４８  シーケンスブロックデータ取込み部
４９  ファイル保存部
【図１】
0005552300.tif 000002
【図２】
0005552300.tif 000003
【図３】
0005552300.tif 000004
【図４】
0005552300.tif 000005
【図５】
0005552300.tif 000006
【図６】
0005552300.tif 000007
【図７】
0005552300.tif 000008
【図８】
0005552300.tif 000009