(57)【特許請求の範囲】
【請求項１】
プログラマブルコントローラシステムと外部機器との間の通信手順を規定する通信プロトコルを作成するための通信プロトコル作成プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラマブルコントローラシステムは、データメモリ領域を有するプログラマブルコントローラおよび前記外部機器との通信を行うリンクユニットを少なくとも含み、
前記通信プロトコル作成プログラムは、
前記リンクユニットに割り付けられた前記データメモリ領域の使用可能範囲における未使用領域を第１の情報として保持する処理と、
送信用または受信照合用の定数および前記データメモリ領域に対する読み書きのための変数の少なくともいずれかを含むメッセージの入力を受け付ける処理と、
入力された前記メッセージに前記変数が含まれる場合に、当該変数の構文を解析して送信用または受信用データである変数データを前記データメモリ領域に対して読み書きするために必要なデータメモリ領域のアドレスの個数を算出する処理と、
前記第１の情報に基づいて前記データメモリ領域の前記使用可能範囲における未使用領域の先頭アドレスから前記必要な個数分のアドレスを前記変数データを格納するための送信元データメモリまたは受信先データメモリとして前記変数に割り付ける処理と、
前記変数への送信元データメモリまたは受信先データメモリの割り付け後に、前記第１の情報において前記データメモリ領域の使用可能範囲における未使用領域の先頭アドレスを更新する処理とを、前記コンピュータに実行させることを特徴とする通信プロトコル作成プログラムを記録した記録媒体。
【請求項２】
前記通信プロトコル作成プログラムは、
各メッセージにコード変換が指定されているかを判定する処理を前記コンピュータにさらに実行させ、前記コード変換が指定されているメッセージに含まれる変数の構文を解析して変数データの読み書きに必要なデータメモリ領域のアドレスの個数を算出する処理を、前記コンピュータにさらに実行させることを特徴とする請求項１記載の通信プロトコル作成プログラムを記録した記録媒体。
【請求項３】
前記プログラマブルコントローラは、制御プログラム上のリレーを記憶する記憶領域を有し、
前記通信プロトコル作成プログラムは、
前記記憶領域の使用可能範囲における未使用領域を第２の情報として保持する処理と、
前記メッセージの入力を受け付けた場合に、前記入力されたメッセージのための送信動作または受信動作を前記制御プログラム上で制御するためのリレーを前記第２の情報に基づいて前記記憶領域の前記使用可能範囲における未使用領域に割り付ける処理と、
前記未使用領域への前記リレーの割り付け後に前記第２の情報を更新する処理とを、
前記コンピュータにさらに実行させることを特徴とする請求項１または２記載の通信プロトコル作成プログラムを記録した記録媒体。
【請求項４】
プログラマブルコントローラシステムと外部機器との間の通信手順を規定する通信プロトコルをコンピュータにより作成する通信プロトコル作成方法であって、前記プログラマブルコントローラシステムは、データメモリ領域を有するプログラマブルコントローラおよび前記外部機器との通信を行うリンクユニットを少なくとも含み、
前記リンクユニットに割り付けられた前記データメモリ領域の使用可能範囲における未使用領域を第１の情報として保持する第１の工程と、
送信用または受信照合用の定数および前記データメモリ領域に対する読み書きのための変数の少なくともいずれかを含むメッセージの入力を受け付けることができる画面を表示する第２の工程と、
前記第２の工程で受け付けた前記メッセージに前記変数が含まれる場合に、当該変数の構文を解析して送信用または受信用データである変数データを前記データメモリ領域に対して読み書きするために必要なデータメモリ領域のアドレスの個数を算出する第３の工程と、
前記第１の工程で保持した第１の情報に基づいて前記データメモリの前記使用可能範囲における未使用領域の先頭アドレスから前記必要な個数分のアドレスを前記変数データを格納するための送信元データメモリまたは受信先データメモリとして前記変数に割り付けるとともに、その割り付けられた未使用領域を表示する第４の工程と、
前記変数への送信元データメモリまたは受信先データメモリの割り付け後に、前記第１の情報において前記データメモリ領域の使用可能範囲における未使用領域の先頭アドレスを更新する第５の工程とを有することを特徴とする通信プロトコル作成方法。
【請求項５】
プログラマブルコントローラシステムと外部機器との間の通信手順を規定する通信プロトコルの作成をコンピュータで実現するためのプログラムであって、前記プログラマブルコントローラシステムは、データメモリ領域を有するプログラマブルコントローラおよび前記外部機器との通信を行うリンクユニットを少なくとも含み、
前記コンピュータを、
前記リンクユニットに割り付けられた前記データメモリ領域の使用可能範囲における未使用領域を第１の情報として保持する第１の手段と、
送信用または受信照合用の定数および前記データメモリ領域に対する読み書きのための変数の少なくともいずれかを含むメッセージの入力を受け付けることができる画面を表示する第２の手段と、
前記第２の手段により受け付けた前記メッセージに前記変数が含まれる場合に、当該変数の構文を解析して送信用または受信用データである変数データを前記データメモリ領域に対して読み書きするために必要なデータメモリ領域のアドレスの個数を算出する第３の手段と、
前記第１の手段で保持した第１の情報に基づいて前記データメモリの前記使用可能範囲における未使用領域の先頭アドレスから前記必要な個数分のアドレスを前記変数データを格納するための送信元データメモリまたは受信先データメモリとして前記変数に割り付けるとともに、その割り付けられた未使用領域を表示する第４の手段と、
前記変数への送信元データメモリまたは受信先データメモリの割り付け後に、前記第１の情報において前記データメモリ領域の使用可能範囲における未使用領域の先頭アドレスを更新する第５の手段として機能させるための通信プロトコル作成プログラム。
【請求項６】
プログラマブルコントローラシステムと外部機器との間の通信手順を規定する通信プロトコルの作成を行う通信プロトコル作成装置であって、前記プログラマブルコントローラシステムは、データメモリ領域を有するプログラマブルコントローラおよび前記外部機器との通信を行うリンクユニットを少なくとも含み、
前記リンクユニットに割り付けられた前記データメモリ領域の使用可能範囲における未使用領域を第１の情報として保持する第１の手段と、
送信用または受信照合用の定数および前記データメモリ領域に対する読み書きのための変数の少なくともいずれかを含むメッセージの入力を受け付けることができる画面を表示する第２の手段と、
前記第２の手段により受け付けた前記メッセージに前記変数が含まれる場合に、当該変数の構文を解析して送信用または受信用データである変数データを前記データメモリ領域に対して読み書きするために必要なデータメモリ領域のアドレスの個数を算出する第３の手段と、
前記第１の手段で保持した第１の情報に基づいて前記データメモリの前記使用可能範囲における未使用領域の先頭アドレスから前記必要な個数分のアドレスを前記変数データを格納するための送信元データメモリまたは受信先データメモリとして前記変数に割り付けるとともに、その割り付けられた未使用領域を表示する第４の手段と、
前記変数への送信元データメモリまたは受信先データメモリの割り付け後に、前記第１の情報において前記データメモリ領域の使用可能範囲における未使用領域の先頭アドレスを更新する第５の手段とを有することを特徴とする通信プロトコル作成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラマブルコントローラと外部機器との間の通信手順を規定する通信プロトコルを作成するための通信プロトコル作成方法、通信プロトコル作成装置、通信プロトコル作成プログラムおよびそれを記録した記録媒体に関する。
【０００２】
【従来の技術】
被制御機器をシーケンシャルに制御するためにプログラマブルコントローラが用いられている。プログラマブルコントローラには、通常、スイッチ、センサ等の入力機器および電磁開閉器、リレー、ソレノイド等の出力機器が接続される。
また、プログラマブルコントローラに、シリアル通信を行う汎用の外部機器が接続される場合もある。
【０００３】
プログラマブルコントローラにシリアル通信ポートを有する外部機器を接続する場合には、その外部機器の通信仕様に合わせた通信プロトコル（通信手順）を作成する必要がある。この通信プロトコルは、プロトコルマクロ作成装置により通信プロトコルマクロ（以下、プロトコルマクロと略記する）として作成される。
【０００４】
図１７は従来のプロトコルマクロを用いたプログラマブルコントローラシステムにおける通信を説明するためのブロック図である。
【０００５】
図１７において、プログラマブルコントローラシステムは、ＣＰＵ（中央演算処理装置）ユニット５００、リンクユニット５１０および汎用の外部機器５２０により構成される。プロトコルマクロ作成装置５４０は、ＣＰＵユニット５００と汎用の外部機器５２０との通信手順を規定するプロトコルマクロを作成するためのプログラムおよびパーソナルコンピュータにより構成される。
【０００６】
プロトコルマクロ作成装置５４０により作成されたプロトコルマクロ５１１は、リンクユニット５１０に転送される。また、ＣＰＵユニット５００は、ユーザにより作成されたラダープログラムを記憶するプログラム用メモリ領域５０１およびデータメモリが割り付けられるデータメモリ領域５０２を備える。
【０００７】
プロトコルマクロ５１１は、複数の送受信シーケンスＳ１〜Ｓ３からなる。各送受信シーケンスＳ１〜Ｓ３はステップ単位のコマンド群からなる。ＣＰＵユニット５００のラダープログラム上で専用命令によりプロトコルマクロ５１１のシーケンス番号を指定することにより、指定されたシーケンスを実行する。それにより、メッセージが作成され、伝送路５３０を介してリンクユニット５１０と外部機器５２０との間で送受信される。
【０００８】
送信すべきメッセージ中にＣＰＵユニット５００のデータメモリ領域５０２からの読み出し用変数を組み込むことができる。それにより、送信時に、ＣＰＵユニット５００のデータメモリ領域５０２の指定されたアドレスからデータを読み出し、送信メッセージＳＭとともに外部機器５２０に送信することができる。また、受信期待メッセージ中にＣＰＵユニット５００のデータメモリ領域５０２への書き込み用変数を組み込むことができる。それにより、受信時に、受信メッセージＲＭ中のデータをデータメモリ領域５０２の指定されたアドレスに書き込むことができる。
【０００９】
【発明が解決しようとする課題】
上記の従来のプロトコルマクロ作成装置５４０により作成されるプロトコルマクロにおいては、送信メッセージまたは受信期待メッセージ中に読み出し用変数または書き込み用変数を組み込む際に、ＣＰＵユニット５００のデータメモリ領域５０２を確保する必要がある。この場合、ユーザが読み出し用変数および書き込み用変数の桁数および個数を計算しながらデータメモリ設定画面上でデータメモリ領域５０２のアドレスに割り付ける作業を行わなければならない。
【００１０】
そのため、プロトコルマクロを作成するための作業を効率的に行うことができず、時間がかかる。
【００１１】
本発明の目的は、プログラマブルコントローラと外部機器との間の通信プロトコルを効率的に作成することができる通信プロトコル作成方法、通信プロトコル作成装置、通信プロトコル作成プログラムおよびそれを記録した記録媒体を提供することである。
【００１２】
言い換えると、本発明は、ユーザが通信プロトコルを作成する際にデータメモリのアドレスの割り付けを意識せず、自動的に割り付けを行うことができる通信プロトコル作成方法、通信プロトコル作成装置、通信プロトコル作成プログラムおよびそれを記録した記録媒体を提供することを目的とする。
【００１３】
【課題を解決するための手段および発明の効果】
（１）第１の発明
第１の発明に係る通信プロトコル作成プログラムを記録した記録媒体は、プログラマブルコントローラシステムと外部機器との間の通信手順を規定する通信プロトコルを作成するための通信プロトコル作成プログラムを記録したコンピュータ読み取り可能な記録媒体であって、プログラマブルコントローラシステムは、データメモリ領域を有するプログラマブルコントローラおよび外部機器との通信を行うリンクユニットを少なくとも含み、通信プロトコル作成プログラムは、リンクユニットに割り付けられたデータメモリ領域の使用可能範囲における未使用領域を第１の情報として保持する処理と、送信用または受信照合用の定数およびデータメモリ領域に対する読み書きのための変数の少なくともいずれかを含むメッセージの入力を受け付ける処理と、入力されたメッセージに変数が含まれる場合に、当該変数の構文を解析して送信用または受信用データである変数データをデータメモリ領域に対して読み書きするために必要なデータメモリ領域のアドレスの個数を算出する処理と、第１の情報に基づいてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスから必要な個数分のアドレスを変数データを格納するための送信元データメモリまたは受信先データメモリとして変数に割り付ける処理と、変数への送信元データメモリまたは受信先データメモリの割り付け後に、第１の情報においてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスを更新する処理とを、コンピュータに実行させるものである。
【００１４】
本発明に係る通信プロトコル作成プログラムによれば、リンクユニットに割り付けられたデータメモリ領域の使用可能範囲における未使用領域が第１の情報として保持される。送信用または受信照合用のメッセージの入力を受け付けると、入力されたメッセージにデータメモリ領域に対する読み書きのための変数が含まれる場合に、当該変数の構文が解析されて変数データの読み書きに必要なデータメモリ領域のアドレスの個数が算出される。そして、第１の情報に基づいてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスから必要な個数分のアドレスが変数データを格納するための送信元データメモリまたは受信先データメモリとして変数に自動的に割り付けられ、変数への送信元データメモリまたは受信先データメモリの割り付け後に、第１の情報においてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスが更新される。
【００１５】
このようにして、データメモリ領域に対する読み書きのための変数にデータメモリ領域の使用可能範囲における未使用領域が自動的に割り付けられるので、通信プロトコルを効率的に作成することができ、作成作業の時間が短縮される。
【００１６】
（２）第２の発明
第２の発明に係る通信プロトコル作成プログラムを記録した記録媒体は、第１の発明に係る通信プロトコル作成プログラムを記録した記録媒体において、通信プロトコル作成プログラムは、各メッセージにコード変換が指定されているかを判定する処理をコンピュータにさらに実行させ、コード変換が指定されているメッセージに含まれる変数の構文を解析して変数データの読み書きに必要なデータメモリ領域のアドレスの個数を算出する処理を、コンピュータにさらに実行させるものである。
【００１７】
この場合、各メッセージにコード変換が指定されているかが判定され、コード変換が指定されているメッセージに含まれる変数の構文が解析されて変数データの読み書きに必要なデータメモリ領域のアドレスの個数が算出される。
【００２０】
（３）第３の発明
第３の発明に係る通信プロトコル作成プログラムを記録した記録媒体は、第１または第２の発明に係る通信プロトコル作成プログラムを記録した記録媒体において、プログラマブルコントローラは、制御プログラム上のリレーを記憶する記憶領域を有し、通信プロトコル作成プログラムは、記憶領域の使用可能範囲における未使用領域を第２の情報として保持する処理と、メッセージの入力を受け付けた場合に、入力されたメッセージのための送信動作または受信動作を制御プログラム上で制御するためのリレーを第２の情報に基づいて記憶領域の使用可能範囲における未使用領域に割り付ける処理と、未使用領域へのリレーの割り付け後に第２の情報を更新する処理とを、コンピュータにさらに実行させるものである。
【００２１】
この場合、記憶領域の使用可能範囲における未使用領域が第２の情報として保持される。メッセージの入力を受け付けた場合には、入力されたメッセージのための送信動作または受信動作を制御プログラム上で制御するためのリレーが第２の情報に基づいて記憶領域の使用可能範囲における未使用領域に割り付けられる。そして、未使用領域への要素の割り付け後に第２の情報が更新される。
【００２２】
このようにして、メッセージのための送信動作または受信動作を制御プログラム上で制御するためのリレーが記憶領域の使用可能範囲における未使用領域に自動的に割り付けられるので、通信プロトコルを効率的に作成することができ、作成作業の時間が短縮される。
【００２３】
さらに、通信プロトコルにより規定される通信を、専用命令を用意することなく、プログラマブルコントローラの制御プログラム上で起動させることができる。
【００２６】
（４）第４の発明
第４の発明に係る通信プロトコル作成方法は、プログラマブルコントローラシステムと外部機器との間の通信手順を規定する通信プロトコルをコンピュータにより作成する通信プロトコル作成方法であって、プログラマブルコントローラシステムは、データメモリ領域を有するプログラマブルコントローラおよび外部機器との通信を行うリンクユニットを少なくとも含み、リンクユニットに割り付けられたデータメモリ領域の使用可能範囲における未使用領域を第１の情報として保持する第１の工程と、送信用または受信照合用の定数およびデータメモリ領域に対する読み書きのための変数の少なくともいずれかを含むメッセージの入力を受け付けることができる画面を表示する第２の工程と、第２の工程で受け付けたメッセージに変数が含まれる場合に、当該変数の構文を解析して送信用または受信用データである変数データをデータメモリ領域に対して読み書きするために必要なデータメモリ領域のアドレスの個数を算出する第３の工程と、第１の工程で保持した第１の情報に基づいてデータメモリの使用可能範囲における未使用領域の先頭アドレスから必要な個数分のアドレスを変数データを格納するための送信元データメモリまたは受信先データメモリとして変数に割り付けるとともに、その割り付けられた未使用領域を表示する第４の工程と、変数への送信元データメモリまたは受信先データメモリの割り付け後に、第１の情報においてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスを更新する第５の工程とを有するものである。
【００２７】
本発明に係る通信プロトコル作成方法によれば、リンクユニットに割り付けられたデータメモリ領域の使用可能範囲における未使用領域が第１の情報として保持される。画面上で送信用または受信照合用のメッセージの入力を受け付けると、画面から入力されたメッセージにデータメモリ領域に対する読み書きのための変数が含まれる場合に、当該変数の構文が解析されて変数データの読み書きに必要なデータメモリ領域のアドレスの個数が算出される。そして、第１の情報に基づいてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスから必要な個数分のアドレスが変数データを格納するための送信元データメモリまたは受信先データメモリとして変数に自動的に割り付けられるとともに、その割り付けられた未使用領域が表示される。変数への送信元データメモリまたは受信先データメモリの割り付け後に、第１の情報においてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスが更新される。
【００２８】
このようにして、データメモリ領域に対する読み書きのための変数にデータメモリ領域の使用可能範囲における未使用領域が自動的に割り付けられるので、通信プロトコルを効率的に作成することができ、作成作業の時間が短縮される。
【００２９】
（５）第５の発明
第５の発明に係る通信プロトコル作成プログラムは、プログラマブルコントローラシステムと外部機器との間の通信手順を規定する通信プロトコルの作成をコンピュータで実現するためのプログラムであって、プログラマブルコントローラシステムは、データメモリ領域を有するプログラマブルコントローラおよび外部機器との通信を行うリンクユニットを少なくとも含み、コンピュータを、リンクユニットに割り付けられたデータメモリ領域の使用可能範囲における未使用領域を第１の情報として保持する第１の手段と、送信用または受信照合用の定数およびデータメモリ領域に対する読み書きのための変数の少なくともいずれかを含むメッセージの入力を受け付けることができる画面を表示する第２の手段と、第２の手段により受け付けたメッセージに変数が含まれる場合に、当該変数の構文を解析して送信用または受信用データである変数データをデータメモリ領域に対して読み書きするために必要なデータメモリ領域のアドレスの個数を算出する第３の手段と、第１の手段で保持した第１の情報に基づいてデータメモリの使用可能範囲における未使用領域の先頭アドレスから必要な個数分のアドレスを変数データを格納するための送信元データメモリまたは受信先データメモリとして変数に割り付けるとともに、その割り付けられた未使用領域を表示する第４の手段と、変数への送信元データメモリまたは受信先データメモリの割り付け後に、第１の情報においてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスを更新する第５の手段として機能させるものである。
【００３０】
本発明に係る通信プロトコル作成プログラムによれば、リンクユニットに割り付けられたデータメモリ領域の使用可能範囲における未使用領域が第１の情報として保持される。画面上で送信用または受信照合用のメッセージの入力を受け付けると、画面から入力されたメッセージにデータメモリ領域に対する読み書きのための変数が含まれる場合に、当該変数の構文が解析されて変数データの読み書きに必要なデータメモリ領域のアドレスの個数が算出される。そして、第１の情報に基づいてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスから必要な個数分のアドレスが変数データを格納するための送信元データメモリまたは受信先データメモリとして変数に自動的に割り付けられるとともに、その割り付けられた未使用領域が表示される。変数への送信元データメモリまたは受信先データメモリの割り付け後に、第１の情報においてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスが更新される。
【００３１】
このようにして、データメモリ領域に対する読み書きのための変数にデータメモリ領域の使用可能範囲における未使用領域が自動的に割り付けられるので、通信プロトコルを効率的に作成することができ、作成作業の時間が短縮される。
【００３２】
（６）第６の発明
第６の発明に係る通信プロトコル作成装置は、プログラマブルコントローラシステムと外部機器との間の通信手順を規定する通信プロトコルの作成を行う通信プロトコル作成装置であって、プログラマブルコントローラシステムは、データメモリ領域を有するプログラマブルコントローラおよび外部機器との通信を行うリンクユニットを少なくとも含み、リンクユニットに割り付けられたデータメモリ領域の使用可能範囲における未使用領域を第１の情報として保持する第１の手段と、送信用または受信照合用の定数およびデータメモリ領域に対する読み書きのための変数の少なくともいずれかを含むメッセージの入力を受け付けることができる画面を表示する第２の手段と、第２の手段により受け付けたメッセージに変数が含まれる場合に、当該変数の構文を解析して送信用または受信用データである変数データをデータメモリ領域に対して読み書きするために必要なデータメモリ領域のアドレスの個数を算出する第３の手段と、第１の手段で保持した第１の情報に基づいてデータメモリの使用可能範囲における未使用領域の先頭アドレスから必要な個数分のアドレスを変数データを格納するための送信元データメモリまたは受信先データメモリとして変数に割り付けるとともに、その割り付けられた未使用領域を表示する第４の手段と、変数への送信元データメモリまたは受信先データメモリの割り付け後に、第１の情報においてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスを更新する第５の手段とを有するものである。
【００３３】
本発明に係る通信プロトコル作成装置によれば、リンクユニットに割り付けられたデータメモリ領域の使用可能範囲における未使用領域が第１の情報として保持される。画面上で送信用または受信照合用のメッセージの入力を受け付けると、画面から入力されたメッセージにデータメモリ領域に対する読み書きのための変数が含まれる場合に、当該変数の構文が解析されて変数データの読み書きに必要なデータメモリ領域のアドレスの個数が算出される。そして、第１の情報に基づいてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスから必要な個数分のアドレスが変数データを格納するための送信元データメモリまたは受信先データメモリとして変数に自動的に割り付けられるとともに、その割り付けられた未使用領域が表示される。変数への送信元データメモリまたは受信先データメモリの割り付け後に、第１の情報においてデータメモリ領域の使用可能範囲における未使用領域の先頭アドレスが更新される。
【００３４】
このようにして、データメモリ領域に対する読み書きのための変数にデータメモリ領域の使用可能範囲における未使用領域が自動的に割り付けられるので、通信プロトコルを効率的に作成することができ、作成作業の時間が短縮される。
【００３５】
【発明の実施の形態】
図１は本発明の一実施の形態におけるプロトコルマクロ作成プログラムを用いたプログラマブルコントローラシステムの構成を示すブロック図である。
【００３６】
図１のプログラマブルコントローラシステムは、ＣＰＵ（中央演算処理装置）ユニット１０およびリンクユニット２０により構成される。リンクユニット２０にシリアルポートを有する汎用の外部機器３０が接続される。ここで、ＣＰＵユニット１０がプログラマブルコントローラに相当する。
【００３７】
ＣＰＵユニット１０は、ＣＰＵ１１およびメモリ１２を含む。メモリ１２は、ユニット構成情報領域１３、プロトコルマクロ領域１４、プログラム領域１５、データメモリ領域１６およびリレー領域１７を有する。
【００３８】
ユニット構成情報領域１３には、ユニット構成作成装置６０により作成されたユニット構成情報が記憶される。ユニット構成情報は、プログラマブルコントローラシステムを構成する各ユニットごとに割り付けられたデータメモリ使用可能範囲およびリレー使用可能範囲を含む。例えば、ユニット構成情報は、リンクユニット２０のデータメモリ使用可能範囲およびリレー使用可能範囲、Ａ／Ｄ変換ユニット（図示せず）のデータメモリ使用可能範囲およびリレー使用可能範囲、およびＤ／Ａ変換ユニット（図示せず）のデータメモリ使用可能範囲およびリレー使用可能範囲を含む。
【００３９】
プロトコルマクロ領域１４には、後述するプロトコルマクロ作成装置７０により作成されたプロトコルマクロが記憶される。プログラム領域１５には、ラダープログラム作成装置８０により作成されたラダープログラムが記憶される。
【００４０】
データメモリ領域１６には、ラダープログラム上で用いられるデータメモリが割り付けられ、リレー領域１７には、ラダープログラム上で用いられるリレーが割り付けられる。
【００４１】
リンクユニット２０は、ユニット間インタフェース４０により接続されている。リンクユニット２０は、変数変換処理を行う変数変換処理部２１を含む。外部機器３０は、シリアル通信ポートを有し、伝送路５０を介してリンクユニット２０に接続される。
【００４２】
リンクユニット２０は、ＣＰＵユニット１０のリレー領域１７に割り付けられた送信開始リレーに基づいてプロトコルマクロ領域１４に記憶されたプロトコルマクロを参照することにより伝送路５０を介して外部機器３０との間でメッセージの送受信を行う。そして、受信されたデータとプロトコルマクロの受信期待データとを比較して期待通りであれば受信照合リレーをオンする。
【００４３】
ユニット構成作成装置６０、プロトコルマクロ作成装置７０およびラダープログラム作成装置８０は、点線で示すようにパーソナルコンピュータにより構成される。
【００４４】
図２はプロトコルマクロ作成装置の構成を示すブロック図である。
図２において、プロトコルマクロ作成装置７０は、通信制御部７１、ディスプレイ７２、入力装置７３、ＲＯＭ（リードオンリメモリ）７４、ＣＰＵ（中央演算処理装置）７５、ＲＡＭ（ランダムアクセスメモリ）７６、記録媒体駆動装置７７および外部記憶装置７８を含む。
【００４５】
通信制御部７１は、ＣＰＵユニット１０との通信を制御する。ディスプレイ７２は、液晶表示パネル、ＣＲＴ（陰極線管）等からなり、後述するマクロ作成画面を表示する。入力装置７３は、キーボード、マウス等からなり、プロトコルマクロの作成時に各種データおよび各種指令を入力するために用いられる。
【００４６】
ＲＯＭ７４にはシステムプログラムが記憶される。記録媒体駆動装置７７は、ＣＤ−ＲＯＭドライブ、フロッピィディスクドライブ等からなり、ＣＤ−ＲＯＭ、フロッピィディスク等の記録媒体７９に対してデータの読み書きを行う。記録媒体７９には、プロトコルマクロを作成するためのプロトコルマクロ作成プログラムが記録されている。外部記憶装置７８は、ハードディスク装置等からなり、記録媒体駆動装置７７を介して記録媒体７９から読み込まれたプロトコルマクロ作成プログラムを記憶する。
【００４７】
ＣＰＵ７５は、外部記憶装置７８に記憶されたプロトコルマクロ作成プログラムをＲＡＭ７６上で実行し、通信制御部７１、ディスプレイ７２および入力装置７３を制御する。
【００４８】
図２のプロトコルマクロ作成装置７０は、例えばパーソナルコンピュータと、記録媒体７９に記録されたプロトコルマクロ作成プログラムとにより構成される。
【００４９】
なお、プロトコルマクロ作成プログラムを記録する記録媒体７９として、ＲＯＭ等の半導体メモリ、ハードディスク等の種々の記録媒体を用いることができる。また、プロトコルマクロ作成プログラムを通信回線等の通信媒体を介して外部記憶装置７８にダウンロードし、ＲＡＭ７６上で実行してもよい。この場合、通信媒体が記録媒体に相当する。
【００５０】
図３はプロトコルマクロのデータ構造を示す図である。
図３において、プロトコルマクロ１００は、伝送制御属性１０１、送受信マクロ１０２およびユニット設定情報１０３により構成される。伝送制御属性１０１は、ヘッダ／フッタ１０４およびデリミタ１０５を含む。ユニット設定情報１０３は、データメモリ割付範囲１０６およびリレー割付範囲１０７を含む。
【００５１】
送受信マクロ１０２は、送信マクロ１０８、受信マクロ１０９、コマンド種類１１０およびコメント１１１を含む。
【００５２】
コマンド種類１１０としては、「送信」、「受信」および「送受信」がある。
コメント１１１は文字列からなるコマンド名である。
【００５３】
送信マクロ１０８は、送信開始リレー１１２、送信元データメモリ１１３、メッセージ１１６および変数変換属性１１７により構成される。受信マクロ１０９は、受信照合リレー１１４、受信先データメモリ１１５、メッセージ１１６および変数変換属性１１７により構成される。ここで、送信マクロ１０８のメッセージ１１６は送信メッセージであり、受信マクロ１０９のメッセージ１１６は受信期待メッセージである。
【００５４】
メッセージ１１６は、定数１１８および変数変換指定１１９を含む。変数変換属性１１７は、変数変換の有無１２０および１変数のデータ長１２１からなる。
【００５５】
変数変換指定１１９は、ＡＳＣＩＩ（アスキー）コードからＢＩＮ（バイナリー）コードへの変換の指定およびＢＩＮコードからＡＳＣＩＩコードへの変換の指定である。変数変換指定１１９は、変数１０進変換１２２、変数１６進変換１２３、変数実数変換（浮動小数点変換）１２４、小数点機能１２５およびワイルドカード１２６を含む。小数点機能１２５には、送信時の小数点の挿入または受信時の小数点位置の照合がある。受信時に有効なワイルドカード１２６には、可変長を表す“＊”および１文字（バイト）を表す“？”がある。
【００５６】
この変数変換指定１１９は、データメモリ読み込み１２７またはデータメモリ書き込み１２８に用いられる。変数変換指定１１９は、データメモリ読み込み１２７の場合には、送信メッセージ内に挿入され、データメモリ書き込み１２８の場合には、受信期待メッセージ内から取得されたものに対して行う。
【００５７】
図４はユニット構成作成装置６０により作成されたユニット構成情報の一例を示す図である。
【００５８】
図４の例では、リンクユニット２０にデータメモリ使用可能範囲としてアドレス「ＤＭ００００」〜「ＤＭ００９９」が設定され、リレー使用可能範囲としてアドレス「３００００」〜「３０９９９」が設定されている。また、Ａ／Ｄ変換ユニット（図示せず）のデータメモリ使用可能範囲として、アドレス「ＤＭ０１００」〜「ＤＭ０１９９」が設定され、リレー使用可能範囲としてアドレス「３１０００」〜「３１９９９」が設定されている。さらに、Ｄ／Ａ変換ユニット（図示せず）のデータメモリ使用可能範囲としてアドレス「ＤＭ０２００」〜「ＤＭ０２９９」が設定され、リレー使用可能範囲としてアドレス「３２０００」〜「３２９９９」が設定されている。
【００５９】
図５はマクロ作成画面の一例を示す図である。
図５において、マクロ１の作成時に、ユーザが送信メッセージとして定数「ＡＢＣ」を入力すると、リレー領域１７のリレー使用可能範囲内のアドレス「３００００」が送信開始リレーに自動的に割り付けられる。また、ユーザが受信期待メッセージとして定数「ＡＢＣ」および１個の受信変数「＃＃＃」を入力すると、リレー領域１７のリレー使用可能範囲内のアドレス「３０００１」が受信照合リレーに自動的に割り付けられ、データメモリ領域１６のデータメモリ使用可能範囲内の未使用領域の先頭アドレス「ＤＭ００００」が受信先データメモリに自動的に割り付けられる。
【００６０】
次に、マクロ２の作成時に、ユーザが送信メッセージとして定数「ＲＥＡＤ」および１個の送信変数「＃＃」を入力すると、リレー領域１７のリレー使用可能範囲内のアドレス「３０００２」が送信開始リレーに自動的に割り付けられ、データメモリ領域１６のデータメモリ使用可能範囲内の未使用領域の先頭アドレス「ＤＭ０００１」が送信元データメモリに自動的に割り付けられる。また、ユーザが受信期待メッセージとして定数「ＲＥＡＤ」および３個の受信変数「＃＃＃＃」を入力すると、リレー領域１７のリレー使用可能範囲内のアドレス「３０００３」が受信照合リレーに自動的に割り付けられ、データメモリ領域１６のデータメモリ使用可能範囲内のアドレス「ＤＭ０００２」を受信書き込み先メモリの先頭とし、３個の変数にそれぞれ「ＤＭ０００２」、「ＤＭ０００３」および「ＤＭ０００４」が自動的に割り付けられる。
【００６１】
さらに、マクロ３の作成時に、ユーザが送信メッセージとして定数「ＳＥＴ」および１個の送信変数「＃＃」を入力すると、リレー領域１７のリレー使用可能範囲内のアドレス「３０００４」が送信開始リレーに自動的に割り付けられ、データメモリ領域１６のデータメモリ使用可能範囲内のアドレス「ＤＭ０００５」が送信元データメモリに自動的に割り付けられる。また、ユーザが受信期待メッセージとして定数「ＳＥＴ」を入力すると、リレー領域１７のリレー使用可能範囲内のアドレス「３０００５」が受信照合リレーに自動的に割り付けられる。
【００６２】
なお、マクロ２およびマクロ３の送信メッセージには、ＢＩＮ（バイナリー）コードからＡＳＣＩＩ（アスキー）コードへの変数変換が指定され、マクロ１およびマクロ２の受信期待メッセージには、ＡＳＣＩＩコードからＢＩＮコードへの変数変換が指定されている。
【００６３】
ここで、変数変換指定について説明する。本実施の形態のプロトコルマクロでは、送信メッセージおよび受信期待メッセージ内に変数を入力する場合に、次に示すメタ文字を使用する。メタ文字“＃”はＢＩＮコード（整数コード）と１０進のＡＳＣＩＩコード文字列との間の変数変換を意味し、メタ文字“＄”はＢＩＮコード（整数コード）と１６進のＡＳＣＩＩコード文字列との間の変数変換を意味している。メタ文字“＃”または“＄”の個数が桁数を表す。
【００６４】
このようなメタ文字を必要個数並べることにより、変数の種類および変数の桁数を表すことができる。例えば、送信メッセージの送信変数として“＃＃＃”を入力すると、ＢＩＮコード（整数コード）データを３桁の１０進のＡＳＣＩＩコード文字列に変換することを意味する。受信期待メッセージの受信変数として“＃＃”を入力すると、１０進のＡＳＣＩＩコードからなる文字列の２桁のＢＩＮコード（整数コード）に変換することを意味する。
【００６５】
プロトコルマクロ作成装置７０においては、後述するように、送信変数または受信変数のメタ文字を構文解析することにより、データメモリ領域１６のデータメモリ使用可能範囲内に送信元データメモリまたは受信先データメモリを自動的に割り付ける。
【００６６】
図６はプロトコルマクロの一例を示す図である。また、図７、図８および図９は図６のプロトコルマクロの作成に伴ってデータメモリ領域１６のアドレスが自動的に確保される概念を示す図である。
【００６７】
図７〜図９において、「ＤＭ００００」から「ＤＭ０００９」はデータメモリ領域１６のアドレスを示す。図６のマクロ１が作成されると、図７に示すように、アドレス「ＤＭ００００」がマクロ１の受信変数に割り付けられる。それにより、未使用領域の先頭アドレスは「ＤＭ０００１」となる。
【００６８】
次に、図６のマクロ２が作成されると、図８に示すように、アドレス「ＤＭ０００１」がマクロ２の送信変数に割り付けられ、アドレス「ＤＭ０００２」〜「ＤＭ０００４」がマクロ２の受信変数に割り付けられる。それにより、未使用領域の先頭アドレスは「ＤＭ０００５」となる。
【００６９】
次に、図６のマクロ３が作成されると、図９に示すように、アドレス「ＤＭ０００５」がマクロ３の送信変数に割り付けられる。それにより、未使用領域の先頭アドレスは「ＤＭ０００６」となる。
【００７０】
図１０は図１のプログラマブルコントローラシステムの構成手順を示すフローチャートである。
【００７１】
まず、ユーザは、ユニット構成作成装置６０を用いてリンクユニット２０に対するデータメモリ領域１６内のデータメモリ使用可能範囲およびリレー領域１７のリレー使用可能範囲を設定する（ステップＳ１）。
【００７２】
なお、リンクユニット２０に対するデータメモリ領域１６内のデータメモリ使用可能範囲およびリレー領域１７のリレー使用可能範囲が固定的に定まっている場合には、ユニット構成作成装置６０を用いる必要はなく、プロトコルマクロ作成装置７０がデータメモリ領域１６内のデータメモリ使用可能範囲およびリレー領域１７のリレー使用可能範囲を保持していればよい。
【００７３】
次に、ユーザは、プロトコルマクロ作成装置７０を用いてプロトコルマクロを作成する（ステップＳ２）。この場合、ユーザは、図５に示したマクロ作成画面上で送信メッセージおよび受信期待メッセージを入力する。
【００７４】
上記のように、送信メッセージまたは受信期待メッセージ内に変数変換指定を挿入する場合には、送信メッセージまたは受信期待メッセージの文字列中に送信変数または受信変数としてメタ文字を必要桁数並べて挿入する。それにより、プロトコルマクロ作成プログラムが、メタ文字を構文解析し、リンクユニット２０に対するデータメモリ領域１６のデータメモリ使用可能範囲の先頭アドレスから各プロトコルマクロの送信元データメモリおよび受信先データメモリに自動的に割り付ける。また、プロトコルマクロ作成プログラムは、各プロトコルマクロの送信開始リレーおよび受信照合リレーにリンクユニット２０に対するリレー領域１７のリレー使用可能範囲の先頭アドレスから自動的に割り付ける。
【００７５】
次に、ユーザは、プロトコルマクロ作成装置７０により作成されたプロトコルマクロをＣＰＵユニット１０のプロトコルマクロ領域１４に転送する（ステップＳ３）。
【００７６】
最後に、ユーザは、ラダープログラム作成装置８０を用いてラダープログラムを作成し、プログラム領域１５に転送する（ステップＳ４）。このとき、ラダープログラム上に各プロトコルマクロの送信開始リレーおよび受信開始リレーを用いる。
【００７７】
図１１、図１２および図１３はプロトコルマクロ作成装置７０によるプロトコルマクロ作成処理を示すフローチャートである。
【００７８】
まず、ユニット構成情報領域１３に記憶されたリンクユニット２０のデータメモリ使用可能範囲およびリレー使用可能範囲を取得する（ステップＳ１１）。上記のように、リンクユニット２０のデータメモリ使用可能範囲およびリレー使用可能範囲が固定的に定まっている場合には、プロトコルマクロ作成装置７０が保持しているデータメモリ使用可能範囲およびリレー使用可能範囲を用いる。
【００７９】
次に、データメモリ使用可能範囲およびリレー使用可能範囲の未使用領域の先頭アドレスをデータメモリ使用可能範囲の先頭アドレスおよびリレー使用可能範囲の先頭アドレスにそれぞれ初期化する（ステップＳ１２）。
【００８０】
次いで、マクロ作成画面からユーザによる送信メッセージおよび受信期待メッセージの入力を受け付ける（ステップＳ１３）。
【００８１】
続いて、リレー領域１７においてリレー使用可能範囲の未使用領域の先頭アドレスから送信開始リレーおよび受信照合リレーに割り付ける（ステップＳ１４）。その後、リレー使用可能範囲の未使用領域の先頭アドレスをインクリメントする（ステップＳ１５）。
【００８２】
次に、入力された送信メッセージ内に変数変換指定があるか否かを判別する（ステップＳ１６）。変数変換指定がある場合には、送信メッセージから送信変数の個数を判別する（ステップＳ１７）。そして、データメモリ使用可能範囲の未使用領域の先頭アドレスから送信変数の個数分の送信元データメモリに割り付ける（ステップＳ１８）。その後、データメモリ使用可能範囲の未使用領域の先頭アドレスを送信変数の個数分インクリメントする（ステップＳ１９）。
【００８３】
次に、入力された受信期待メッセージ内に変数変換指定があるか否かを判別する（ステップＳ２０）。変数変換指定がある場合には、受信期待メッセージから受信変数の個数を判別する（ステップＳ２１）。そして、データメモリ使用可能範囲の未使用領域の先頭アドレスから受信変数の個数分の受信先データメモリに割り付ける（ステップＳ２２）。その後、データメモリ使用可能範囲の未使用領域の先頭アドレスを受信変数の個数分インクリメントする（ステップＳ２３）。
ステップＳ１６で変数変換指定がない場合には、ステップＳ２０に進む。
【００８４】
ステップＳ２０で変換変数指定がない場合には、ステップＳ２４に進む。次いで、プロトコルマクロの作成が終了であるか否かを判別する（ステップＳ２４）。プロトコルマクロの作成が終了していない場合には、ステップＳ１１に戻り、ステップＳ１１〜Ｓ２４の処理を繰り返す。
【００８５】
上記のように、ユーザが送信メッセージまたは受信期待メッセージの文字列中に必要個数の送信変数または受信変数としてメタ文字を必要桁数並べて挿入することにより、プロトコルマクロ作成プログラムが自動的にメタ文字を構文解析し、必要なデータメモリの個数を算出し、データメモリ使用可能範囲の先頭アドレスから各プロトコルマクロの送信元データメモリまたは受信先データメモリに自動的に割り付けるとともに、各プロトコルマクロの送信開始リレーまたは受信照合リレーにリレー使用可能範囲の先頭アドレスから自動的に割り付ける。
【００８６】
したがって、ユーザは、送信変数用および受信変数用のデータメモリのレイアウトを設計することなくプロトコルマクロを容易に作成することができる。この場合、データメモリ領域１６のデータメモリ使用可能範囲内が隙間なくデータメモリに連続して割り付けられるので、無駄なメモリ領域がなくなる。
【００８７】
図１４はプロトコルマクロ上の送信開始リレーおよび受信照合リレーを用いたラダープログラムの一例を示す図であり、（ａ）は送信メッセージおよび受信期待メッセージの一例を示し、（ｂ）は送信開始リレーを用いたラダープログラムの一例を示し、（ｃ）は受信照合リレーを用いたラダープログラムの一例を示す。
【００８８】
図１４（ａ）に示すように、送信メッセージは、定数「ＡＢＣ」からなり、送信開始リレーにアドレス「１００００」が割り付けられている。また、受信期待メッセージは、定数「ＸＹＺ」および１個の受信変数「＃＃」からなり、受信照合リレーにアドレス「１００２０」が割り付けられ、受信先データメモリにアドレス「ＤＭ３０００」が割り付けられている。
【００８９】
図１４（ｂ）の例では、送信開始指令の入力リレー２０１がアドレス「０００００」に割り付けられている。入力リレー２０１がオンすると、送信開始リレー２０２がオンし、送信メッセージ「ＡＢＣ」が外部機器３０に送信される。
【００９０】
図１４（ｃ）の例では、リンクユニット２０は、外部機器３０からデータを受信した場合に、そのデータを受信期待メッセージ「ＸＹＺ＃＃」と照合し、所定の形式が一致していれば、受信照合リレー２０３をオンにする。受信照合リレー２０３がオンすると、ユーザが作成した受信時処理命令群２０４がオンになり実行される。この場合、受信先データメモリにアドレス「ＤＭ３０００」が割り付けられているので、データメモリ領域１６のアドレス「ＤＭ３０００」に受信した変数データが書き込まれる。
【００９１】
このように、送信動作および受信動作がリレー領域１７に割り付けられた送信開始リレーおよび受信照合リレーを用いてラダープログラム上で制御されるので、プロトコルマクロの制御のために専用命令を用意する必要がない。
【００９２】
図１５は図１のリンクユニット２０による変数変換処理の一例を図１７の従来のリンクユニット５１０による変数変換処理と比較して示す図であり、（ａ）は図１のリンクユニット２０の変数変換処理を示し、（ｂ）は従来のリンクユニット５１０による変数変換処理を示す。なお、図１５において、［Ｈ］は１６進表示を意味している。
【００９３】
一般に、外部機器によるデータ処理では、ＡＳＣＩＩコードが用いられる。そのため、リンクユニットと外部機器との間で変数データ“１０００”を送受信する場合には、伝送路上では“１０００”がＡＳＣＩＩコード列［３１Ｈ］［３０Ｈ］［３０Ｈ］［３０Ｈ］により伝送される。一方、ＣＰＵユニットのＣＰＵによるデータ処理では、ＢＩＮコードが用いられる。
【００９４】
図１５（ｂ）に示すように、従来のリンクユニット５１０によるデータの受信時には、外部機器５２０から伝送路５３０上に出力されたＡＳＣＩＩコード列［３１Ｈ］［３０Ｈ］［３０Ｈ］［３０Ｈ］がＨＥＸ（２進化１６進）コード“１［Ｈ］”，“０［Ｈ］”，“０［Ｈ］”，“０［Ｈ］”に変換され、データメモリ領域５０２のアドレス「ＤＭ００００」〜「ＤＭ０００３」にそれぞれ格納される。逆に、送信時には、データメモリ領域５０２のアドレス「ＤＭ００００」〜「ＤＭ０００３」に格納されたＨＥＸコード“１［Ｈ］”，“０［Ｈ］”，“０［Ｈ］”，“０［Ｈ］”がそれぞれＡＳＣＩＩコード列［３１Ｈ］［３０Ｈ］［３０Ｈ］［３０Ｈ］に変換され、伝送路５３０上に出力される。
【００９５】
この場合、データメモリ領域５０２に格納されたＨＥＸコードをＢＩＮコードに変換した後にＣＰＵユニット５００のＣＰＵに与える必要がある。それにより、処理時間が増加する。
【００９６】
これに対して、図１５（ａ）に示すように、図１のリンクユニット２０によるデータの受信時には、外部機器３０から伝送路５０上に出力されたＡＳＣＩＩコード列［３１Ｈ］［３０Ｈ］［３０Ｈ］［３０Ｈ］がＢＩＮコード“３Ｅ８［Ｈ］”に変換され、データメモリ領域１６のアドレス「ＤＭ００００」に格納される。逆に、送信時には、データメモリ領域１６のアドレス「ＤＭ００００」に格納されたＢＩＮコード“３Ｅ８”［Ｈ］がＡＳＣＩＩコード列［３１Ｈ］［３０Ｈ］［３０Ｈ］［３０Ｈ］に変換され、伝送路５０上に出力される。
【００９７】
この場合、ＣＰＵユニット１０のＣＰＵ１１は、データメモリ領域１６に格納される値“３Ｅ８［Ｈ］”を直接演算処理することができる。したがって、処理時間が短縮される。
【００９８】
図１６は固定長データを必要とする外部機器にデータを送信する場合の処理の一例を示す図であり、（ａ）は図１のリンクユニット２０の処理を示し、（ｂ）は図１７の従来のリンクユニット５１０の処理を示す。ここでは、外部機器が固定長５桁の文字列（ＡＳＣＩＩコード）を受け取るとする。
【００９９】
図１６（ｂ）に示すように、図１７の従来のリンクユニット５１０においては、メモリ５０３に記憶されるＢＩＮコードのデータ“１２３”を一旦ＨＥＸコード“１”，“２”，“３”として変換し、データメモリ領域５０２の先頭側アドレスから３桁の「ＤＭ０００２」〜「ＤＭ０００４」にそれぞれ格納する。このとき、データメモリ領域５０２のアドレス「ＤＭ００００」および「ＤＭ０００１」にはそれぞれ“０”を格納する。変数変換処理部５１１は、データメモリ領域５０２のアドレス「ＤＭ００００」〜「ＤＭ０００４」に格納されたＨＥＸコード“０”，“０”，“１”，“２”，“３”をＡＳＣＩＩコードに変換し、ＡＳＣＩＩコードで表現されたデータ“００１２３”を伝送路５３０を介して外部機器に送信する。
【０１００】
このように、データメモリ領域５０２にデータを格納する前にデータの桁数を判別し、不足分の桁に“０”を付加する必要がある。そのため、ユーザがラダープログラム上で送信すべきデータの桁調整等の処理を行う必要がある。
【０１０１】
これに対して、図１６（ａ）に示すように、図１のリンクユニット２０においては、メモリ１８に記憶されるＢＩＮコードのデータ“１２３”がデータメモリ領域１６のアドレス「ＤＭ００００」にそのまま転送される。この場合、送信メッセージ内に送信変数として１０進変換用のメタ文字“＃”を指定する。ここでは、“＃＃＃＃＃”と指定する。変数変換処理部２１は、送信メッセージ内の送信変数を構文解析することにより、データメモリ領域１６のアドレス「ＤＭ００００」に格納されたＢＩＮコードのデータ“１２３”の変換後データに自動的に２個の“０”を付加した後、ＡＳＣＩＩコードで表現されたデータ“００１２３”を伝送路５０を介して外部機器に送信する。
【０１０２】
このように、メモリ１８に記憶されるデータをデータメモリ領域１６にそのまま転送することにより、データの先頭に自動的に不足分の“０”が付加されてデータ送信が行われる。したがって、ユーザがラダープログラム上で送信すべきデータの桁調整等の処理を行う必要がない。
【図面の簡単な説明】
【図１】本発明の一実施の形態におけるプロトコルマクロ作成プログラムを用いたプログラマブルコントローラシステムの構成を示すブロック図である。
【図２】プロトコルマクロ作成装置の構成を示すブロック図である。
【図３】プロトコルマクロのデータ構造を示す図である。
【図４】ユニット構成作成装置により作成されたユニット構成情報の一例を示す図である。
【図５】マクロ作成画面の一例を示す図である。
【図６】プロトコルマクロの一例を示す図である。
【図７】図６のプロトコルマクロの作成に伴ってデータメモリ領域のアドレスが自動的に確保される概念を示す図である。
【図８】図６のプロトコルマクロの作成に伴ってデータメモリ領域のアドレスが自動的に確保される概念を示す図である。
【図９】図６のプロトコルマクロの作成に伴ってデータメモリ領域のアドレスが自動的に確保される概念を示す図である。
【図１０】図１のプログラマブルコントローラシステムの構成手順を示すフローチャートである。
【図１１】プロトコルマクロ作成装置によるプロトコルマクロ作成処理を示すフローチャートである。
【図１２】プロトコルマクロ作成装置によるプロトコルマクロ作成処理を示すフローチャートである。
【図１３】プロトコルマクロ作成装置によるプロトコルマクロ作成処理を示すフローチャートである。
【図１４】プロトコルマクロ上の送信開始リレーおよび受信照合リレーを用いたラダープログラムの一例を示す図である。
【図１５】図１のリンクユニットにおける変数変換処理の一例を従来のリンクユニットによる変数変換処理と比較して示す図である。
【図１６】図１のリンクユニットにおいて固定長データを必要とする外部機器にデータを送信する場合の処理の一例を従来のリンクユニットと比較して示す図である。
【図１７】従来のプロトコルマクロを用いたプログラマブルコントローラシステムにおける通信を説明するためのブロック図である。
【符号の説明】
１０  ＣＰＵユニット
１１  ＣＰＵ
１２  メモリ
１３  ユニット構成情報領域
１４  プロトコルマクロ領域
１５  プログラム領域
１６  データメモリ領域
１７  リレー領域
２０  リンクユニット
２１  変数変換処理部
３０  外部機器
５０  伝送路
６０  ユニット構成作成装置
７０  プロトコルマクロ作成装置
７１  通信制御部
７２  ディスプレイ
７３  入力装置
７４  ＲＯＭ
７５  ＣＰＵ
７６  ＲＡＭ
７７  記録媒体駆動装置
７８  外部記憶装置
７９  記録媒体
８０  ラダープログラム作成装置
【図１】
0004554809.tif 000002
【図２】
0004554809.tif 000003
【図３】
0004554809.tif 000004
【図４】
0004554809.tif 000005
【図５】
0004554809.tif 000006
【図６】
0004554809.tif 000007
【図７】
0004554809.tif 000008
【図８】
0004554809.tif 000009
【図９】
0004554809.tif 000010
【図１０】
0004554809.tif 000011
【図１１】
0004554809.tif 000012
【図１２】
0004554809.tif 000013
【図１３】
0004554809.tif 000014
【図１４】
0004554809.tif 000015
【図１５】
0004554809.tif 000016
【図１６】
0004554809.tif 000017
【図１７】
0004554809.tif 000018