(57)【特許請求の範囲】
【請求項１】
外部接続機器のメモリデータを読み込む際に、読込コマンドに、前記メモリデータが格納されているメモリデバイス、メモリアドレス、及び該メモリアドレスから読み出すメモリデータのサイズをそれぞれ１つのみ設定して読み込みを実行する電子機器における通信コマンド最適化方法であって、
外部接続機器毎及びメモリデバイス毎にメモリデータを分類して同一分類のメモリデータ群に分類する同一データ群分類工程と、
分類された前記同一分類の前記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結して前記読込コマンドの１回の実行で読み込みを行なう場合の連結データ読出通信時間を、当該メモリデータ群を有する前記外部接続機器の通信速度、前記読込コマンドの送信時間、及び該読込コマンドに対応する前記所望のメモリデータの受信時間とから算出する第１の時間算出工程と、
分類された前記同一分類の前記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結せずに前記読込コマンドの複数回の実行で読み込みを行なう場合の非連結データ読出通信時間を、当該メモリデータ群を有する前記外部接続機器の通信速度、前記読込コマンドの送信時間、及び該読込コマンドに対応する前記所望のメモリデータの受信時間とから算出する第２の時間算出工程と、
前記連結データ読出通信時間と前記非連結データ読出通信時間とを比較する通信時間比較工程と、
該通信時間の比較において、前記連結データ読出通信時間のほうが前記非連結データ読出通信時間よりも速いときは前記所望のメモリデータを連結して前記読込コマンドの１回の実行で読み込みを行ない、前記連結データ読出通信時間よりも前記非連結データ読出通信時間のほうが速いときは前記所望のメモリデータを連結せずに前記読込コマンドの複数回の実行で読み込みを行うメモリデータ読込工程と、
を含むことを特徴とする通信コマンド最適化方法。
【請求項２】
外部接続機器のメモリデータを読み込む際に、読込コマンドに、前記メモリデータが格納されているメモリデバイス、メモリアドレス、及び該メモリアドレスから読み出すメモリデータのサイズをそれぞれ１つのみ設定して読み込みを実行する電子機器に前記メモリデータの読み込みを実行させる通信コマンド最適化プログラムであって、
外部接続機器毎及びメモリデバイス毎にメモリデータを分類して同一分類のメモリデータ群に分類する同一データ群分類処理と、
分類された前記同一分類の前記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結して前記読込コマンドの１回の実行で読み込みを行なう場合の通信時間を、当該メモリデータ群を有する前記外部接続機器の通信速度、前記読込コマンドの送信時間、及び該読込コマンドに対応する前記所望のメモリデータの受信時間とから算出する第１の時間算出処理と、
分類された前記同一分類の前記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結ぜずに前記読込コマンドの複数回の実行で読み込みを行なう場合の通信時間を、当該メモリデータ群を有する前記外部接続機器の通信速度、前記読込コマンドの送信時間、及び該読込コマンドに対応する前記所望のメモリデータの受信時間とから算出する第２の時間算出処理と、
前記連結データ読出通信時間と前記非連結データ読出通信時間とを比較する通信時間比較処理と、
該通信時間の比較において、前記連結データ読出通信時間のほうが前記非連結データ読出通信時間よりも速いときは前記所望のメモリデータを連結して前記読込コマンドの１回の実行で読み込みを行ない、前記連結データ読出通信時間よりも前記非連結データ読出通信時間のほうが速いときは前記所望のメモリデータを連結せずに前記読込コマンドの複数回の実行で読み込みを行うメモリデータ読込処理と、
を前記電子機器に実行させるための通信コマンド最適化プログラム。
【請求項３】
外部接続機器のメモリデータを読み込む際に、読込コマンドに、前記メモリデータが格納されているメモリデバイス、メモリアドレス、及び該メモリアドレスから読み出すメモリデータのサイズをそれぞれ１つのみ設定して読み込みを実行するプログラマブル表示器において、
外部接続機器毎及びメモリデバイス毎にメモリデータを分類して同一分類のメモリデータ群に分類する同一データ群分類手段と、
該同一データ群分類手段により分類された同一分類の前記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結して前記読込コマンドの１回の実行で読み込みを行なう場合の通信時間を、当該メモリデータ群を有する前記外部接続機器の通信速度、前記読込コマンドの送信時間、及び該読込コマンドに対応する前記所望のメモリデータの受信時間とから算出する第１の時間算出手段と、
前記同一データ群分類手段により分類された同一分類の前記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結せずに前記読込コマンドの複数回の実行で読み込みを行なう場合の通信時間を、当該メモリデータ群を有する前記外部接続機器の通信速度、前記読込コマンドの送信時間、及び該読込コマンドに対応する前記所望のメモリデータの受信時間とから算出する第２の時間算出手段と、
前記第１の時間算出手段が算出した前記連結データ読出通信時間と、前記第２の時間算出手段が算出した非連結データ読出通信時間とを比較する通信時間比較手段と、
該通信時間比較手段による通信時間比較において、前記連結データ読出通信時間のほうが前記非連結データ読出通信時間よりも速いときは前記所望のメモリデータを連結して前記読込コマンドの１回の実行で読み込みを行ない、前記連結データ読出通信時間よりも前記非連結データ読出通信時間のほうが速いときは前記所望のメモリデータを連結せずに前記読込コマンドの複数回の実行で読み込みを行うメモリデータ読込手段と、
を有することを特徴とするプログラマブル表示器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信コマンド最適化方法、プログラム及びプログラマブル表示器に係わり、更に詳しくは、最低水準の読込コマンドで外部接続機器のメモリ情報を取得する機能を備えた電子機器において１読込コマンドで読み込むデータ数を最適化する通信コマンド最適化方法、プログラム及びプログラマブル表示器に関する。
【背景技術】
【０００２】
従来、プログラマブル表示器がある。プログラマブル表示器は、プログラマブルコントローラやその他の例えば温調装置等の何らかの制御装置に接続され、それらの制御装置との間で機械の制御データ（例えばモータの駆動と停止）や監視データ（例えばセンサ出力のオン・オフ）などの情報を送受信して、それらの情報をユーザの所望する表示方法で表示装置に表示している。
【０００３】
このようなプログラマブル表示器の中には、外部接続機器のメモリデータを読み込む際に、読込コマンドに、メモリデータが格納されているメモリデバイス、メモリアドレス、及び該メモリアドレスから読み出すメモリデータのサイズをそれぞれ１つのみ設定して読み込みを実行する、という低水準の読込コマンドで外部接続機器のメモリ情報を取得する機能を備えたプログラマブル表示器がある。
【０００４】
このようなプログラマブル表示器では、外部接続機器のメモリデータを低水準の読込コマンドで読み込む場合において、そのメモリデータを外部接続機器やメモリデバイス毎に分類し、同一分類のメモリデータ群に関して、メモリデータを連結して読込コマンドの1回の実行で読み込みを行うか、メモリデータを連結しないで読込コマンドの２回の実行で読み込みを行うかを判断している。
【０００５】
そして、その判断では、それぞれのメモリデータのアドレス間隔が４ワード（一般的には１ワードは１６ビットから成るデータ）以内であればメモリデータを連結し、それ以外であればメモリデータを連結しないという判断を行なっていた。
【０００６】
なお、データ転送方法に関しては、マザーボードとアプリケーション用の複数の拡張ソケットとが共通のシリアルバスを介して接続される装置において、特定の拡張ソケット（アプリケーションボード）に対して大量のデータを連続転送する場合に、連続データ転送によるバスの占有を回避して、データ転送効率を向上させるデータ転送方法が開示されている。（例えば、特許文献１参照。）
しかし、プログラマブル表示器における低水準の読込コマンドでメモリデータを読み込む場合のデータ転送方法に関しては、上述した判断方法以外に特にデータ転送効率を向上させる方法は従来行われていない。
【特許文献１】特開２００６−２２１３４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、上述したプログラマブル表示器における低水準の読込コマンドでメモリデータを読み込む場合に、メモリデータのアドレス間隔が４ワード以内であればメモリデータを連結し、４ワードを超える場合は連結しないという固定的な判断基準では、連結した方が理論的に速い場合でも連結しないという判断がされてしまう場合がある。
【０００８】
特に近年のように外部接続機器の通信速度が向上しているときに、固定的な基準でメモ
リデータの連結・非連結を判断すると、その結果、通信速度を速く出来る場合でも、それよりも通信時間が遅くなってしまい、このようなことが繰り返され、そのことがプログラマブル表示器の表示処理の速度向上を阻害する一因となるという問題があった。
【０００９】
本発明の課題は、上記従来の実状に鑑み、メモリデータを連結して読込コマンドの１回の実行で読み込みを行うのか又はメモリデータを連結しないで読込コマンドの２回の実行で読み込みを行うのかの判断に、アドレス間隔のみを判断基準とせず外部接続機器の通信速度も考慮して、より速い方法でメモリデータの読み込を実行する通信コマンド最適化方法、プログラム及びプログラマブル表示器を提供することである。
【課題を解決するための手段】
【００１０】
先ず、第１の発明の通信コマンド最適化方法は、外部接続機器のメモリデータを読み込む際に、読込コマンドに、上記メモリデータが格納されているメモリデバイス、メモリアドレス、及び該メモリアドレスから読み出すメモリデータのサイズをそれぞれ１つのみ設定して読み込みを実行する電子機器における通信コマンド最適化方法であって、外部接続機器毎及びメモリデバイス毎にメモリデータを分類して同一分類のメモリデータ群に分類する同一データ群分類工程と、分類された上記同一分類の上記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結して上記読込コマンドの１回の実行で読み込みを行なう場合の連結データ読出通信時間を、当該メモリデータ群を有する上記外部接続機器の通信速度、上記読込コマンドの送信時間、及び該読込コマンドに対応する上記所望のメモリデータの受信時間とから算出する第１の時間算出工程と、分類された上記同一分類の上記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結せずに上記読込コマンドの複数回の実行で読み込みを行なう場合の非連結データ読出通信時間を、当該メモリデータ群を有する上記外部接続機器の通信速度、上記読込コマンドの送信時間、及び該読込コマンドに対応する上記所望のメモリデータの受信時間とから算出する第２の時間算出工程と、上記連結データ読出通信時間と上記非連結データ読出通信時間とを比較する通信時間比較工程と、該通信時間の比較において、上記連結データ読出通信時間のほうが上記非連結データ読出通信時間よりも速いときは上記所望のメモリデータを連結して上記読込コマンドの１回の実行で読み込みを行ない、上記連結データ読出通信時間よりも上記非連結データ読出通信時間のほうが速いときは上記所望のメモリデータを連結せずに上記読込コマンドの複数回の実行で読み込みを行うメモリデータ読込工程と、を含んで構成される。
【００１１】
次に、第２の発明の通信コマンド最適化プログラムは、外部接続機器のメモリデータを読み込む際に、読込コマンドに、上記メモリデータが格納されているメモリデバイス、メモリアドレス、及び該メモリアドレスから読み出すメモリデータのサイズをそれぞれ１つのみ設定して読み込みを実行する電子機器に上記メモリデータの読み込みを実行させる通信コマンド最適化プログラムであって、外部接続機器毎及びメモリデバイス毎にメモリデータを分類して同一分類のメモリデータ群に分類する同一データ群分類処理と、分類された上記同一分類の上記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結して上記読込コマンドの１回の実行で読み込みを行なう場合の通信時間を、当該メモリデータ群を有する上記外部接続機器の通信速度、上記読込コマンドの送信時間、及び該読込コマンドに対応する上記所望のメモリデータの受信時間とから算出する第１の時間算出処理と、分類された上記同一分類の上記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結ぜずに上記読込コマンドの複数回の実行で読み込みを行なう場合の通信時間を、当該メモリデータ群を有する上記外部接続機器の通信速度、上記読込コマンドの送信時間、及び該読込コマンドに対応する上記所望のメモリデータの受信時間とから算出する第２の時間算出処理と、上記連結データ読出通信時間と上記非連結データ読出通信時間とを比較する通信時間比較処理と、該通信時間の比較において、上記連結データ読出通信時間のほうが上記非連結データ読出通信時間よりも速いときは上記
所望のメモリデータを連結して上記読込コマンドの１回の実行で読み込みを行ない、上記連結データ読出通信時間よりも上記非連結データ読出通信時間のほうが速いときは上記所望のメモリデータを連結せずに上記読込コマンドの複数回の実行で読み込みを行うメモリデータ読込処理と、を上記電子機器に実行させるように構成される。
【００１２】
更に、第３の発明のプログラマブル表示器は、外部接続機器のメモリデータを読み込む際に、読込コマンドに、上記メモリデータが格納されているメモリデバイス、メモリアドレス、及び該メモリアドレスから読み出すメモリデータのサイズをそれぞれ１つのみ設定して読み込みを実行するプログラマブル表示器において、外部接続機器毎及びメモリデバイス毎にメモリデータを分類して同一分類のメモリデータ群に分類する同一データ群分類手段と、該同一データ群分類手段により分類された同一分類の上記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結して上記読込コマンドの１回の実行で読み込みを行なう場合の通信時間を、当該メモリデータ群を有する上記外部接続機器の通信速度、上記読込コマンドの送信時間、及び該読込コマンドに対応する上記所望のメモリデータの受信時間とから算出する第１の時間算出手段と、上記同一データ群分類手段により分類された同一分類の上記メモリデータ群に対し、該メモリデータ群の所望の複数のメモリデータを連結せずに上記読込コマンドの複数回の実行で読み込みを行なう場合の通信時間を、当該メモリデータ群を有する上記外部接続機器の通信速度、上記読込コマンドの送信時間、及び該読込コマンドに対応する上記所望のメモリデータの受信時間とから算出する第２の時間算出手段と、上記第１の時間算出手段が算出した上記連結データ読出通信時間と、上記第２の時間算出手段が算出した非連結データ読出通信時間とを比較する通信時間比較手段と、該通信時間比較手段による通信時間比較において、上記連結データ読出通信時間のほうが上記非連結データ読出通信時間よりも速いときは上記所望のメモリデータを連結して上記読込コマンドの１回の実行で読み込みを行ない、上記連結データ読出通信時間よりも上記非連結データ読出通信時間のほうが速いときは上記所望のメモリデータを連結せずに上記読込コマンドの複数回の実行で読み込みを行うメモリデータ読込手段と、を有して構成される。
【発明の効果】
【００１３】
本発明によれば、メモリデータを連結して読込コマンドの１回の実行で読み込みを行うのか又はメモリデータを連結しないで読込コマンドの２回の実行で読み込みを行うのかの判断に、アドレス間隔のみを判断基準とせず外部接続機器の通信速度も考慮して、より速い方法でメモリデータの読み込を実行する通信コマンド最適化方法、プログラム及びプログラマブル表示器を提供することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【実施例１】
【００１５】
図１は、実施例１における通信コマンドの最適化を行うプログラマブル表示器及び外部接続機器のハード構成を示す図である。
図１に示すように、プログラマブル表示器１には、多数の通信ライン２を介して、多数の外部機器３（３−１、３−２、３−３、・・・）が接続されている。
【００１６】
プログラマブル表示器１は、特には図示しないが、表示装置のほかに、テンキーや多数のファンクションキーを備えている。また、記録媒体を着脱自在に装着可能な記録媒体装着部や、例えばＵＳＢ（universal serial bus）規格の複数のメス型コネクタ等を備えている。
【００１７】
また、外部機器３は、例えばプログラマブルコントローラ、温度調節制御装置、センサ
制御装置等の何らかの制御を行っている制御装置である。また。通信ライン２は例えばＵＳＢ規格の通信ケーブルからなる。
【００１８】
上記の外部機器３は、詳しくは後述するが、制御装置として他の装置や機構への制御を行うためのラダー図データが格納された１つ以上のメモリ装置を備えている。
また、プログラマブル表示器１には、必要に応じて、他の通信ライン４を介して、パーソナルコンピュータ（ＰＣ）５が接続される。ＰＣ５には、プログラマブル表示器用作画ソフト６が搭載されている。
【００１９】
図２は、実施例１における通信コマンドの最適化を行うソフト構成を示す図である。図２に示すように、プログラマブル表示器１には、このプログラマブル表示器１の動作を制御する本体プログラム７が搭載されている。
【００２０】
また、プログラマブル表示器１には、本体プログラム７と連携して動作する複数のＩ／Ｏ（入出力）制御プログラムである通信プログラム８（８−１、８−２、・・・）が搭載されている。
【００２１】
上記複数の外部機器３は、それぞれ通信速度やコマンドの送受信等の動作規格が異なるため、それぞれの異なる動作規格に対応するために、通信プログラム８は、プログラマブル表示器１に接続される外部機器３（３−１、３−２、・・・）の数に対応する数だけ搭載されている。
【００２２】
なお、以下の説明では、処理を分かりやすく説明するため、外部機器３の数を、外部機器３−１及び３−２の２台として説明する。
更に図２において、他方に示すＰＣ５の内部では、プログラマブル表示器用作画ソフト６が動作し、これにより画像データ９が作成される。画像データ９は、プログラマブル表示器１の表示装置に表示される表示画面の設定データで構成されており、その構成はユーザ入力によって設定される。
【００２３】
このＰＣ５で作成された画像データ９は、他の通信ライン４又は適宜の記録媒体１１を介してプログラマブル表示器１に供給され、プログラマブル表示器１の本体プログラム７によって、内蔵の例えばＨＤＤ(hard disk drive）、ＥＥＰＲＯＭ(electrically erasable programable ROM) 等に登録される。
【００２４】
なお、プログラマブル表示器１には表示装置の他に、前述したようにテンキーや多数のファンクションキーを備えており、これらのキーから画像データ９の修正、追加、削除等の更新をリアルタイムで行うことができる。
【００２５】
ここで、外部機器３のメモリデバイスの構成について説明する。
図３(a),(b) は、それぞれ外部機器３−１及び３−２のメモリデバイスの構成を模式的に示す図である。
【００２６】
図３(a) に示す外部機器３−１は、メモリデバイスＡ１２とメモリデバイスＢ１３の２つのメモリデバイスを備えている。また、図３(b) に示す外部機器３−２は、メモリデバイスＣ１４とメモリデバイスＤ１５の２つのメモリデバイスを備えている。
【００２７】
もちろん、メモリデバイスは１台の外部機器に２つと限るものではない。本例では、説明を簡略するために、外部機器３−１及び３−２ごとに、それぞれ２つのメモリデバイスを示したものである。
【００２８】
また、図３(a),(b) に示す各メモリデバイスの各１ワードのメモリ領域には、画像データ９の表示画面設定データに基づいて読み出されるべきメモリデータのアドレスが、メモリデバイス名と共に、例えばＡ０００、Ａ００１０、・・・、Ｂ００１０，・・・のように示されている。
【００２９】
実際には、これらのアドレスは、アドレスだけでなく、機番名とアドレスとメモリデータからなる合計１６ビットで１ワードを構成するデータから成るが、ここでは簡便さを期して、アドレスのみを示している。
【００３０】
図４は、上記の画像データ９の表示画面設定データの構成に基づいて、プログラマブル表示器１において作成される読込メモリリストの例を示す図である。同図は左にプログラマブル表示器１を示し、右にプログラマブル表示器１内に作成される読込メモリリスト１６の例を示している。
【００３１】
プログラマブル表示器１の表示画面１７には、画像データ９としてユーザ入力によって設定された画面構成の複数の表示枠１８の中に、ユーザ入力による所望の外部機器３の所望のメモリデバイスの内容（メモリデータ）が順次表示されるようになっている。
【００３２】
プログラマブル表示器１は、ユーザ所望の画面を表示画面１７に表示する場合、先ず、ＨＤＤ又はＥＥＰＲＯＭに登録された画面データ９を本体プログラム７により解析し、画面データ９の表示画面設定データの内容に基づいて、表示画面１７に表示すべきメモリデータを、図３に示したメモリデバイス３−１又は３−２から収集して、読込メモリリスト１６を内部のＲＡＭ上に作成する。
【００３３】
図４の右に示す読込メモリリスト１６の例では、機器欄２１と、これに対応するメモリ欄２２とから成る読込メモリリストが作成される。
機器欄２１には外部機器３の機番３−１、３−２が表示され、メモリ欄２２には、機器欄２１の外部機器３−１又は３−２に備えられているメモリデバイスの名称データＡ、Ｂ、Ｃ又はＤと、そのメモリデバイスから読み出すべきメモリデータのアドレスが、Ａ０１００、Ａ０１１０、Ｂ００１０、・・・のように表示順に一覧性をもって収集される。
【００３４】
尚、図３に示したメモリデバイスＡ〜Ｄの１ワード単位のメモリ領域には、当然ながらアドレス順にメモリデータが格納されているが、図４の右に示す読込メモリリスト１６の１ワード単位のリストには、メモリデータを画像データ９で指定されている表示順に一覧表示しているので、そのアドレスは順不動である。
【００３５】
続いて、このように作成した外部機器３の読込みメモリリスト１６を、通信プログラム８によって、外部機器３の種類やメモリデバイスの名称データＡ、Ｂ、Ｃ、Ｄ等に代表されるデバイスタイプごとに分類し、更にアドレス順にソートして「読込みメモリリストの分類とソート結果」のリストとして、このリストをＲＡＭ上に作成する。
【００３６】
図５は、そのようにしてＲＡＭ上に作成された読込みメモリリストの分類とソート結果のリストの例を示す図である。尚、図５に示すデータ構成では、説明を分かりやすくするために、図１〜図３で用いたハード構成に関連するデータ構成に、ハード構成の番号を、そのまま用いている。
【００３７】
図５に示すように、読込メモリリストの分類とソート結果のリスト２３において、先ず読込メモリリストの分類では、図４に示した読込メモリリスト１６の内容が、読み込むべき外部機器３−１及び３−２ごとに分類される。
【００３８】
そして、更に、外部機器３−１及び３−２ごとに、各メモリデバイスに対応して、メモリデバイスごとに、読込メモリリスト１６の内容が、メモリ分類リストＡ１２、Ｂ１３、Ｃ１４、及びＤ１５に分類される。
【００３９】
また、更に、それらのメモリ分類リストごとに、読込メモリリスト１６の内容が、ソートの結果、アドレス順に並んで表示される。これらの各メモリ分類リストＡ１２、Ｂ１３、Ｃ１４、及びＤ１５が、それぞれ独立に、これから述べるメモリ連結の可否を判断する最小単位の対象となる。
【００４０】
図６は、メモリ連結の処理を説明するためのメモリデータの構成例を示す図である。尚、図６には、図５に示したメモリ分類リストＡ１２、Ｂ１３、Ｃ１４、及びＤ１５を、メモリデバイス名をＸとして代表的に１個のみ示している。
【００４１】
また、ここで説明するメモリ連結の可否判断をも含むメモリ連結処理は、図５に示した読込みメモリリストの分類とソート結果のリスト２３のメモリ分類リストの全てについて実行される。
【００４２】
図６に示すメモリ分類リスト２５には、画像データ８によってプログラマブル表示器１に表示指示が出されているメモリ欄２７のメモリデータ（図ではメモリデバイス名「Ｘ」と、メモリデータのアドレス「００００」等のみを示し、メモリデータの図示は省略している）に対して、左のリスト順欄２６に「１」、「２」、・・・、「Ｎ」のリスト順位が示されている。
【００４３】
そして、リスト順が「１」と「２」のメモリデータは、中間のアドレス間隔が９ワード離れているが連結の対象となっている。このとき、本例では、最初の連結開始を示すリスト順「１」のメモリデータを「比較元データ」ということにする。そして、連結対象となったリスト順「２」のメモリデータを「比較先データ」といい、これらの中間の９ワードのメモリデータ２８を「比較間データ」ということにする。
【００４４】
尚、中間の９ワードのメモリデータ２８（比較間データ）は、画像データ８で画面表示を指示されていない表示無用のデータである。したがって、比較元データから比較先データまで一括して読み込まれた後、捨て去られるデータである。
【００４５】
また、連結結果欄２９に示される「読込実行」は、読み込み開始アドレスのメモリデータであることを示す追加情報であり、「読込非実行」は画面表示指定のメモリデータ、つまりプログラマブル表示器１に読み込む必要のあるメモリデータであるが、「読込実行」のメモリデータと一緒に一括して（連結して）読み込まれるデータであるためアドレス指定が不要なデータであることを示す追加情報である。
【００４６】
また、図６に示すリスト順「２」のメモリデータとリスト順「３」のメモリデータの間には、８９ワードの表示無用の中間メモリデータ３１が存在する。これではリスト順「２」のメモリデータとリスト順「３」のメモリデータ間のアドレス間隔が大きすぎるので、連結は行われない。
【００４７】
つまり、次の連結処理では、リスト順「３」のメモリデータが「比較元データ」となり、次のリスト順「４」のメモリデータを「比較先データ」として、後述する読み込み時間の演算が行われる。
【００４８】
そして、同図は、読み込み時間が比較的短いと判断された結果として、リスト順「３」のメモリデータとリスト順「４」のメモリデータが連結されている。また、その後さらに
リスト順「３」から「４」までの連結データが「比較元データ」となり、次のリスト順「５」のメモリデータを「比較先データ」として、読み込み時間の演算が行われる。
【００４９】
同図は、読み込み時間が比較的短いと判断された結果として、リスト順「３」から「４」までの連結データに、更にリスト順「５」のメモリデータが連結されたことを示している。
【００５０】
なお、この場合も、比較間データである中間メモリデータ３２及び３３は、一括読込の後に捨て去られるデータである。
図７は、上述した処理がプログラマブル表示器１の本体プログラム７によって行われる手順を具体的に示すフローチャートである。尚、この処理では「比較元リスト順」と「比較先リスト順」の名称を与えられる２つの変数用レジスタが使用される。
【００５１】
図７において、先ず比較元リスト順レジスタに「１」を初期設定し（ステップＳ１）、次に比較先リスト順レジスタにも「１」を初期設定する（ステップＳ２）。
続いて比較元リスト順レジスタの値が「Ｎ」となっているか否か判別する（ステップＳ３）。
【００５２】
メモリデバイスによっては画像データ８によって読み出しが指示されているメモリデータが１ワードのみの場合もある。その場合は、処理開始の第１周目でも、比較元リスト順レジスタの値が「Ｎ」となるので（Ｓ３がＹｅｓ）、比較元メモリ（比較元データとなっているメモリデータを格納している１ワードのメモリ領域、以下同様）に「読込実行」という情報を追加して（ステップＳ４）、処理を終了する。
【００５３】
また、おおむねのメモリデバイスは、画像データ８によって読み出しが指示されているメモリデータが２ワード以上となる場合が多い。その場合は、処理開始の第１周目におけるステップＳ３の判別では、比較元リスト順レジスタの値≠Ｎとなるので（Ｓ３がＮｏ）、比較先リスト順レジスタの値を「１」インクリメントする（ステップＳ５）。
【００５４】
これにより、処理開始の第１周目ではリスト順「１」（処理の進行に応じてリスト順「ｎ」（ｎ＝１、２、３、・・・、Ｎ−１））のメモリデータを「比較元データ」とし、リスト順「２」（処理の進行に応じてリスト順「ｎ＋１」）のメモリデータを「比較先データ」として読み出し時間の演算を行う準備が整う。
【００５５】
続いて、比較元メモリと比較先メモリ（比較先データとなっているメモリデータを格納している１ワードのメモリ領域、以下同様）の連結をしたほうが良いか否かの連結判断を行う（ステップＳ６）。このステップＳ６の連結判断の処理について詳しくは後述する。
【００５６】
上記連結判断の結果「連結する」と判断されたときは、比較元メモリに比較先メモリの内容を含ませる（ステップＳ７）。この処理は、比較元メモリに比較先メモリを連結する処理である。
【００５７】
そしてこの場合は、続いて上記連結した比較先メモリに「読込非実行」という情報を追加する（ステップＳ８）、（図６のリスト順欄２６のリスト順番号の２番、４番、５番、Ｎ番のメモリデータ参照）。
【００５８】
更に続いて、上記連結した比較元メモリに「読込実行」という情報を追加する（ステップＳ９）、（図６のリスト順欄２６のリスト順番号の１番、３番のメモリデータ参照）。
そして、いま連結した比較先メモリの比較先リスト順が「Ｎ」すなわちリストの最終であるか判別する（ステップＳ１０）。
【００５９】
そして、比較先リスト順が「Ｎ」であれば（Ｓ１０がＹｅｓ）、処理を終了する。図６のリスト順Ｎ番の「Ｘ□□□□」のメモリデータは、上記のような場合のＮ−１番のメモリデータを比較元メモリとして連結された場合の比較先メモリの状態を示しており、ステップＳ８で処理された「読込非実行」の情報が追加されている。
【００６０】
また、上記ステップＳ１０の判別で、いま連結した比較先メモリの比較先リスト順が「Ｎ」でないなら（Ｓ１０がＮｏ）、ステップＳ３の処理に戻る。
これにより、リスト順番号に未だ続きがあるときは（Ｓ３がＮｏ）、続くステップＳ５、Ｓ６において、いま連結した比較元メモリと比較先メモリを纏めて「比較元メモリ」とし、次のリスト順番号のメモリデータの連結が可能か否かの判別がなされ、可能であれば、ステップＳ７〜Ｓ９において連結が行われる（図６のリスト順欄２６のリスト順番号の３番、４番、５番のメモリデータ参照）。
【００６１】
また、また、上記ステップＳ６において、いま連結した比較元メモリと比較先メモリを纏めて「比較元メモリ」としたとき、次のリスト順番号のメモリデータとの連結が不可であれば（Ｓ６で「連結しない」）比較元メモリに「読込実行」という情報を追加する（ステップＳ１１）。
【００６２】
この処理では、比較元メモリが１ワードの単独メモリであるとき、「読込実行」という情報の追加は単なる追加書き込みとなるが、比較元メモリと比較先メモリを纏めて「比較元メモリ」として、次のリスト順番号のメモリデータとの連結が不可であるときは（図６のリスト順欄２６のリスト順番号の１番、２番のメモリデータ参照）、「読込実行」という情報の追加は、ステップＳ９で行った情報追加書き込みへの上書きとなる。
【００６３】
上記に続いて、上記連結できなかった比較先メモリのリスト順番号を、次に連結開始の始めとする比較元メモリのリスト順番号とする（ステップＳ１１）。そして、ステップＳ３の処理に戻る。
【００６４】
これにより、最終のリスト順番号「Ｎ」のメモリデータが判断対象となるまで、メモリ連結の可否判断と、可の場合の連結処理が順次行われる。
図８(a),(b) は、上記図７の処理フローチャートで、ステップＳ６における連結可否判断の処理の詳細を説明する図である。同図(a) は２つのメモリデータを連結をしないで別々に読み込む場合の「連結無し読込時間１２６」を示し、図８(b) は２つのメモリデータを連結して纏めて読み込む場合の「連結有り読込時間１２８」を示している。
【００６５】
図９(a),(b),(c),(d) は、それぞれ、上記の処理において演算に用いられる式（１）、式（２）、式（３）及び式（４）を示している。
図７の処理フローチャートのメモリ連結の処理において、ステップＳ６で行われる比較元メモリと比較先メモリの連結判断方法は、先ず、図８(a) に示す連結無し読込時間１２６と、図８(b) に示す連結有り読込時間１２８を、図９に示す読込時間計算式１２９における４つの式（１）〜式（４）によって算出して双方の時間が比較される。
【００６６】
そして、連結無し読込時間１２６の時間の方が連結有り読込時間１２８の時間よりも短ければ連結なしという判断を行い、逆に、連結有り読込時間１２８の時間の方が連結無し読込時間１２６の時間よりも短ければ連結するという判断を行なう。
【００６７】
尚、上記演算の計算式における時間の単位はｍｓ、データの単位はＢｙｔｅである。
連結無し読込時間１２６は、式（１）として図８(a) に示すように、「比較元メモリ読込時間１２４＋送信遅延時間１２３＋比較先メモリ読込時間１２５」によって、求めるこ
とができる。
【００６８】
ここで、比較元メモリ読込時間１２４（ｍｓ）は、図８(a) に示すように、要求コマンド１１９の送信時間、応答コマンド１２０の受信時間、及び比較元データの読込時間１２１を合計したものである。
【００６９】
また、送信遅延時間１２３は、メモリデバイスによって処理速度が異なり、要求コマンドの受付けから、次の要求コマンドの受付までに必要とされる一定時間間隔が予め設定されている。この一定時間間隔の中で発生する待ち時間が送信遅延時間となる。通常、低水準の読込コマンで読込対象となるメモリデバイスの送信遅延時間１２３は、５μｓである。
【００７０】
また、比較先メモリ読込時間１２５（ｍｓ）は、図８(a) に示すように、要求コマンド１１９の送信時間、応答コマンド１２０の受信時間、及び比較先データの読込時間１２２を合計したものである。
【００７１】
上記の図８(a) に示す比較元メモリ読込時間１２４（ｍｓ）は、図９の式（２）によって演算され、同じく図８(a) に示す比較先メモリ読込時間１２５（ｍｓ）は、図９の式（３）によって演算される。
【００７２】
上記の式（２）及び式（３）で、通信速度１３０はボーレート（ｂｐｓ）で表され、これを「８」（ｂｉｔ）で除算して、バイト／秒の通信速度となり、これを更に「１０００」で除算してバイト／ミリ秒の通信速度となる。
【００７３】
そして、この通信速度（ｂｙｔｅ／ｍｓｅｃ）で、式（２）のように要求コマンド１１９の送信時間、応答コマンド１２０の受信時間、及び比較元データの読込時間１２１の合計を除して、比較元メモリ読込時間１２４（ｍｓ）が求められる。
【００７４】
また、上記の通信速度（ｂｙｔｅ／ｍｓｅｃ）で、式（３）のように要求コマンド１１９の送信時間、応答コマンド１２０の受信時間、及び比較先データの読込時間１２２の合計を除して、比較先メモリ読込時間１２５（ｍｓ）が求められる。
【００７５】
このようにして求められた比較元メモリ読込時間１２４（ｍｓ）及び比較先メモリ読込時間１２５（ｍｓ）に送信遅延時間１２３を合計して、上述した式（１）の連結無し読込時間１２６（ｍｓ）が最終的に求められる。
【００７６】
また、図８(b) に示す連結有り読込時間１２８（ｍｓ）は、連結データの読込であるので要求コマンド１１９の送信と応答コマンド１２０の受信の通信は１回の遣り取りで良く、残りは比較元データ１２１の読込時間、比較間データ１２７の読込時間、及び比較先データ１２２の読込時間を合計したものである。
【００７７】
この合計時間を、上述した共通の通信速度（ｂｙｔｅ／ｍｓｅｃ）で除すことによって図９の式（４）に示す連結有り読込時間１２８（ｍｓ）を求める演算式が得られる。
尚、この演算に使用する送信遅延時間１２３及び通信速度１３０については登録された画面データ９により求められる。
【００７８】
また、要求コマンド１１９、応答コマンド１２０、比較元データ１２１、比較先データ１２２、比較間データ１２７のＢｙｔｅ数については通信プログラム８により、外部機器３毎のプロトコルにあわせたＢｙｔｅ数を求めることができ、これによって複数の外部機器３に対処する。
【００７９】
例えば、通信速度５７６００ｂｐｓ、送信遅延時間５ｍｓと設定された外部機器３のメモリデバイスＤの、アドレス００００と００１０を、低水準の通信コマンドで読込む場合、要求コマンドが１０Ｂｙｔｅ、応答コマンドが５Ｂｙｔｅ、伝送形式がＡＳＣＩＩとすると、従来の方法では、アドレス間隔が５以上離れているので連結されず、Ｄ００００とＤ００１０を別々のコマンドで、つまり２回に分けて読込む。
【００８０】
この場合の読込み時間を計算すると、Ｄ００００の読込時間＝（１０＋５＋２）／（（５７６００／８）／１０００）＝２．３６（ｍｓ）、Ｄ００１０の読込時間＝（１０＋５＋２）／（（５７６００／８）／１０００）＝２．３６（ｍｓ）、Ｄ００００とＤ００１０の読込時間＝２．３６（ｍｓ）＋５（ｍｓ）＋２．３６（ｍｓ）＝９．７（ｍｓ）となる。
【００８１】
ところが、本例にように、それぞれ接続機器の通信速度により理論的なコマンド送信〜受信時間を算出し、読込みメモリの連結を接続機器の通信速度により理論的に早い方へ行なう機能を搭載した場合では、Ｄ００００とＤ００１０を別々に読込む場合の読込時間＝９．７（ｍｓ）、Ｄ００００とＤ００１０を連結して読込む場合の読込時間＝（１０＋５＋２＋１８＋２）／（（５７６００／８）／１０００）＝５．１（ｍｓ）となるり、連結して読込む場合の読込時間の方が速い。
【００８２】
したがって、連結して読み込む方を選択することとなり、上記に示す例の場合は、結果として従来比で約２倍の通信速度の向上が図れることになる。
このようにして、より理論的なコマンド送信〜受信時間を算出し、読込みメモリの連結を接続機器の通信速度に基づいて、より理論的に速い方法で行なうようにして、比較元メモリと比較先メモリの連結判断により作成された図６に示すメモリ分類リストにより、プログラマブル表示器１は、読込み実行情報が設定されているメモリに対してデータ収集を行なう。
【００８３】
コマンドの授受やデータの読み込みに要する時間に比較して、上記の式（１）〜（４）の演算に要する時間はｎｓ単位の短時間で終了するものであり、この本発明の通信コマンド最適化方法、プログラム及びプログラマブル表示器によれば、特にメモリデバイスのメモリデータの表示に関して、通信速度の向上に貢献すること極めて大なること明らかである。
【図面の簡単な説明】
【００８４】
【図１】実施例１における通信コマンドの最適化を行うプログラマブル表示器及び外部接続機器のハード構成を示す図である。
【図２】実施例１における通信コマンドの最適化を行うソフト構成を示す図である。
【図３】(a) ，(b) は実施例１における２種類の外部機器のメモリデバイスの構成を模式的に示す図である。
【図４】実施例１における画像データの表示画面設定データの構成に基づいてプログラマブル表示器において作成される読込メモリリストの例を示す図である。
【図５】実施例１におけるＲＡＭ上に作成された読込みメモリリストの分類とソート結果のリストの例を示す図である。
【図６】実施例１におけるメモリデータ連結の処理を行なう例を示す図である。
【図７】実施例１におけるメモリデータ連結の処理がプログラマブル表示器の本体プログラムによって行われる手順を具体的に示すフローチャートである。
【図８】(a) ，(b) は図７の処理フローチャートのステップＳ６における連結可否判断の処理の詳細を説明する図である。
【図９】(a) ,(b) ,(c) ,(d) はそれぞれ図８に示す処理において演算に用いられる式（１）、式（２）、式（３）及び式（４）を示す図である。
【符号の説明】
【００８５】
１      プログラマブル表示器
２      通信ライン
３（３−１、３−２、３−３、・・・）      外部機器
４      通信ライン
５      パーソナルコンピュータ（ＰＣ）
６      プログラマブル表示器用作画ソフト
７      本体プログラム
８（８−１、８−２、・・・）  通信プログラム
９      画像データ
１１      記録媒体
１２      メモリデバイスＡ（メモリ分類リストＡ）
１３      メモリデバイスＢ（メモリ分類リストＢ）
１４      メモリデバイスＣ（メモリ分類リストＣ）
１５      メモリデバイスＤ（メモリ分類リストＤ）
１６      読込メモリリスト
１７      表示画面
１８      表示枠
２１      機器欄
２２      メモリ欄
２３      読込メモリリストの分類とソート結果のリスト
２５      メモリ分類リスト
２６      リスト順欄
２７      メモリ欄
２８、３１、３２、３３      中間メモリデータ
２９      連結結果欄
【図１】
0004972493.tif 000002
【図２】
0004972493.tif 000003
【図３】
0004972493.tif 000004
【図４】
0004972493.tif 000005
【図５】
0004972493.tif 000006
【図６】
0004972493.tif 000007
【図７】
0004972493.tif 000008
【図８】
0004972493.tif 000009
【図９】
0004972493.tif 000010