(57)【特許請求の範囲】
【請求項１】
第１の装置と第２の装置との間の通信を取得する通信取得手段と、
上記通信のプロトコルフォーマットを解析し、第１の装置から送信されたプロトコルフォーマットと第２の装置から送信されたプロトコルフォーマットとに分別して記憶部に記憶するプロトコル解析手段と、
上記記憶部に分別して記憶されたプロトコルフォーマットに基づいて、第３の装置が上記第１の装置の代わりに上記第２の装置と通信を行うための第３の装置用の通信プログラム、および、第３の装置が上記第２の装置の代わりに上記第１の装置と通信を行うための第３の装置用の通信プログラムを作成するプログラム作成手段と、を備えることを特徴とする通信プログラム作成装置。
【請求項２】
上記プログラム作成手段は、上記記憶部に記憶したプロトコルフォーマットを逆アセンブリによりソースコードに変換し、そのソースコードに基づき上記第３の装置用の通信プログラムを作成することを特徴とする請求項１に記載の通信プログラム作成装置。
【請求項３】
請求項１または２に記載の通信プログラム作成装置を動作させる通信プログラムの作成プログラムであって、コンピュータを上記の各手段として機能させるための通信プログラムの作成プログラム。
【請求項４】
請求項３に記載の通信プログラムの作成プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信プロトコルに適応した通信プログラムを作成する通信プログラム作成装置、通信プログラムの作成プログラム、およびこれを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【０００２】
【従来の技術】
従来より、ベルトコンベアー式の自動組付機などの制御システムでは、プログラマブル・ロジック・コントローラ（以下、ＰＬＣと略称する）が、種々のターゲットシステムを制御する制御装置として広く使用されている。また、近年、ターゲットシステムの複雑化にともなって、複数台のＰＬＣを互いに連携させて使用することも行われている。そして、ＰＬＣからのデータの表示やＰＬＣへの制御指示を行うために、当該ＰＬＣの近傍などに配したプログラマブル表示器が利用されている。
【０００３】
ここで、上記ＰＬＣは、各社より商品化されているが、それらの制御シーケンス用のソフトウェアは各社によってそれぞれ独自に開発されている。そのため、通常、プログラマブル表示器の通信プログラムは、ＰＬＣのメーカー、あるいはＰＬＣのメーカーとタイアップしたプログラマブル表示器のメーカーによって、個別に開発されて提供されている。
【０００４】
しかし、メーカーにより通信プログラムが提供されないプログラマブル表示器の利用をユーザーが望む場合には、通信プログラムをユーザ側で開発する必要がある。また近時、ＰＬＣはますます多種多様化しており、ＰＬＣのメーカーとプログラマブル表示器のメーカーとがタイアップして、通信プログラムを開発することが困難になってきている。
【０００５】
従来、上記のような通信プログラムが用意されておらず、プロトコルが非公開であるＰＬＣのための通信プログラムを開発する際には、プロトコルアナライザが利用されている。
【０００６】
図６に示すように、プロトコルアナライザ１００は、ＲＳ−２３２Ｃによりシリアル通信を行っているプログラマブル表示器１とＰＬＣ２との間に接続されている。プロトコルアナライザ１００は、プログラマブル表示器１とＰＬＣ２との間の通信をモニタしてプロトコルを解析し、結果を画面に表示する。ユーザーは、プロトコルアナライザ１００の解析結果を参照しながら、プログラマブル表示器１のための通信プログラムを開発することができる。
【０００７】
【発明が解決しようとする課題】
しかしながら、上記従来のように、プロトコルアナライザを利用してプロトコルを解析することは、熟練者にとっても容易ではなかった。
【０００８】
さらに、通信プログラムの開発は、解析結果であるプロトコルフォーマットに従い、プロトコルのヘッダー、データフォーマットの順序、文字列の長さ、終了コードなどを特定することにより行う。そして、実際のプログラミング作業では、プログラム開発ツールを使用して、プログラムの作成、テスト、修正の作業工程を繰り返す必要がある。
【０００９】
以上のように、通信プログラムが用意されておらず、特にプロトコルの仕様の詳細が非公開であるＰＬＣと通信するための通信プログラムを開発することは、ＰＬＣのユーザーでは、採算が合わず現実的ではなかった。そのため、ユーザーでも簡単にセッティングできるように、プログラミングを行うことなく、通信を自動的に可能とする技術が強く求められている。
【００１０】
本発明は、上記の問題点を解決するためになされたもので、その目的は、通信プロトコルを解析して、該通信プロトコルに対応した通信プログラムを作成できる通信プログラム作成装置を提供することにある。また、本発明の目的には、上記通信プログラム作成装置を実現する通信プログラムの作成プログラム、およびこれを記録したコンピュータ読み取り可能な記録媒体を提供することも含まれる。
【００１１】
【課題を解決するための手段】
本発明の表示装置は、上記の課題を解決するために、第１の装置と第２の装置との間の通信を取得する通信取得手段と、上記通信のプロトコルフォーマットを解析し、第１の装置から送信されたプロトコルフォーマットと第２の装置から送信されたプロトコルフォーマットとに分別して記憶部に記憶するプロトコル解析手段と、上記記憶部に分別して記憶されたプロトコルフォーマットに基づいて、第３の装置が上記第１の装置の代わりに上記第２の装置と通信を行うための第３の装置用の通信プログラム、および、第３の装置が上記第２の装置の代わりに上記第１の装置と通信を行うための第３の装置用の通信プログラムを作成するプログラム作成手段と、を備えることを特徴とする通信プログラム作成装置。
【００１２】
上記の構成により、上記通信プログラム作成装置は、通信取得手段で第１の装置と第２の装置との間の通信を取得して、プロトコル解析手段でプロトコルを解析し、プログラム作成手段で第３の装置用の通信プログラムを作成する。
【００１３】
これにより、例えば、通信プログラムが用意されておらず、特にプロトコルの仕様の詳細が非公開である第２の装置と通信するための通信プログラムを開発することができる。よって、第１の装置が第２の装置と通信しているように、第３の装置による第２の装置との通信が可能となる。なお、第３の装置は、通信プログラム作成装置自体であってもよいし、それ以外の装置であってもよい。
【００１４】
したがって、通信プログラムが用意されていない装置であっても、通信プログラムをプログラミングすることなく自動的に通信可能となるため、簡単にセッティングして使用することができる。
【００１５】
本発明の通信プログラムの作成プログラムは、上記の課題を解決するために、コンピュータを上記の各手段として機能させるコンピュータ・プログラムである。
【００１６】
上記の構成により、コンピュータで上記通信プログラム作成装置の各手段を実現することによって、上記通信プログラム作成装置を実現することができる。したがって、上記した通信プログラム作成装置の効果である、通信プログラムが用意されていない装置であっても、通信プログラムをプログラミングすることなく自動的に通信可能にセッティングできる。
【００１７】
本発明の通信プログラムの作成プログラムを記録したコンピュータ読み取り可能な記録媒体は、上記の課題を解決するために、上記の各手段をコンピュータに実現させて、上記通信プログラム作成装置を動作させる通信プログラムの作成プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１８】
上記の構成により、上記記録媒体から読み出された通信プログラムの作成プログラムによって、上記通信プログラム作成装置をコンピュータ上に実現することができる。
【００１９】
【発明の実施の形態】
本発明の一実施の形態について図１から図５に基づいて説明すれば、以下のとおりである。
【００２０】
図１に示すように、本実施の形態に係る通信プログラム作成装置（第３の装置）３は、プログラマブル表示器（第１の装置）１とＰＬＣ（第２の装置）２との間に接続されている。上記プログラマブル表示器１は、シリアル通信のメイン側であり、上記ＰＬＣ２とプロトコルの手順に従って双方向のデータ通信を行っている。
【００２１】
上記通信プログラム作成装置３は、モニタ部（通信取得手段）１１、解析部（プロトコル解析手段）１２、記憶部１３、プログラム作成部（プログラム作成手段）１４を備えて構成されている。
【００２２】
なお、上記通信プログラム作成装置３は、上記のモニタ部１１、解析部１２、記憶部１３、プログラム作成部１４の機能を実現するプログラム（通信プログラムの作成プログラム）の命令を実行するＣＰＵ（central processing unit ）、ブートロジックを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するハードディスク等の記憶装置（記録媒体）、キーボードやマウス等の入力機器、モニタ、スピーカー、プリンタ等の出力機器、他の機器と通信する通信機器などを備えている。
【００２３】
上記モニタ部１１は、互いにシリアル通信を行うプログラマブル表示器１とＰＬＣ２との通信を取得する。モニタ部１１は、プログラマブル表示器１とＰＬＣ２との間の通信速度を検出して、自身の通信速度を調整する機能を有する（通信速度調整部（図示せず））。これにより、モニタ部１１は、プログラマブル表示器１およびＰＬＣ２からデータを正確に受信して、解析部１２に入力できる。
【００２４】
上記解析部１２は、モニタ部１１が取得した通信のプロトコルフォーマットを解析して、上記記憶部１３にプロトコルの手順どおりに記憶する。なお、図２に示すように、プログラマブル表示器１およびＰＬＣ２は、プログラマブル表示器１をメインユニットとして、主体のデータにヘッダ、データ、終了コード等を付与したフォーマットに従って、シリアル通信によりデータ通信を行っている。
【００２５】
上記記憶部１３では、解析部１２で解析されたプロトコルフォーマットが、プログラマブル表示器１から送信されたフォーマット（図２のＦ１，Ｆ３）と、ＰＬＣ２から送信されたフォーマット（図２のＦ２）とに分別されて、第１記憶部１３ａと第２記憶部１３ｂとにそれぞれ記憶される。なお、本実施の形態では、記憶部１３はＳＲＡＭ（static random access memory ）である。
【００２６】
上記プログラム作成部１４は、記憶部１３（あるいは、上記不揮発性メモリ）に分別記憶されたプロトコルフォーマットを利用して、プログラマブル表示器１と同様に、通信プログラム作成装置３からＰＬＣ２に対してアクセスすることができる通信プログラムＰ１を作成する。
【００２７】
これにより、通信プログラム作成装置３は、通信プログラムＰ１から記憶部１３に記憶されたプロトコルフォーマットを利用して、ＰＬＣ２とシリアル通信することが可能となる。
【００２８】
ここで、図３を用いて、上記解析部１２によるプロトコル解析処理の手順の一例について説明する。
【００２９】
まず、プログラマブル表示器１がプロトコルを送信する（Ｓ１１）。ＰＬＣ２は、受信したプロトコルのフォーマットが正しければ、“ＡＣＫ”を返送する（Ｓ１２）。
【００３０】
解析部１２は、ＰＬＣ２からの“ＡＣＫ”の送信を確認すると（Ｓ１２でＹＥＳ）、“ＡＣＫ”が確認された通信のやりとりについて、プログラマブル表示器１およびＰＬＣ２から取得されたプロトコルフォーマットを解析する（Ｓ１３）。そして、解析で得られたフォーマットを使ってテスト通信を行う。テスト通信の結果、フォーマットが正しいければ、プログラマブル表示器１から送信されたフォーマットと、ＰＬＣ２から送信されたフォーマットとを分別して、それぞれ第１記憶部１３ａ、第２記憶部１３ｂに記憶する（Ｓ１５，Ｓ１６）。
【００３１】
最後に、上記通信プログラム作成装置３は、プロトコルの解析およびフォーマットの記憶が完了後、第１記憶部１３ａおよび第２記憶部１３ｂに記憶されたプロトコルフォーマットを、不揮発性メモリ（図１に図示せず）に格納する。
【００３２】
つづいて、図４を用いて、上記通信プログラム作成装置３におけるＰＬＣ２との通信処理の手順の一例について説明する。
【００３３】
まず、通信プログラム作成装置３の動作モードが、ＰＬＣ２との通信モードに切り替わると（Ｓ２１）、プログラム作成部１４が上記不揮発性メモリに格納されている通信プロトコルフォーマットをＰＬＣ２との通信に使用できる形式に展開する（Ｓ２２）。そして、通信プログラム作成装置３は、展開したフォーマットを利用してＰＬＣ２と通信を行う（Ｓ２３）。
【００３４】
また、図５に示すように、上記プログラム作成部１４は、記憶部１３に記憶したプロトコルフォーマットを逆アセンブリにより変換したソースコード、あるいは、ソースコードに基づき作成した他の制御装置（第３の装置）４の通信プログラムＰ２を、制御装置４に転送することができる。これにより、制御装置４は、転送された通信プログラムＰ２あるいはソースコードを利用して、プログラマブル表示器１がＰＬＣ２と通信するように、ＰＬＣ２とシリアル通信することが可能となる。
【００３５】
以上のように、上記通信プログラム作成装置３は、モニタ部１１で通信を取得して、解析部１２でＰＬＣ２のプロトコルを自動解析し、記憶部１３でプロトコルフォーマットを記憶し、プログラム作成部１４でＰＬＣ２と通信するための通信プログラム作成装置３の通信インタフェースのプログラムを作成する。これにより、通信プログラム作成装置３は、通信プログラムＰ１から記憶部１３に記憶されたプロトコルフォーマットを利用して、プログラマブル表示器１がＰＬＣ２と通信するように、ＰＬＣ２と通信できる。
【００３６】
また、上記通信プログラム作成装置３は、プログラム作成部１４でプロトコルフォーマットを逆アセンブリにより変換したソースコードを、シリアル通信の機能を持つパソコンやパネルコンピュータ等の機器に提供できる。これにより、これらの機器からのＰＬＣ２の利用が可能になる。
【００３７】
よって、上記通信プログラム作成装置３によれば、プロトコルの手順を自動的に取得できる。したがって、新しいプロトコルを用いるＰＬＣ２、例えば、プロトコルが非公開であり、通信プログラムが用意されていないＰＬＣ２のための通信プログラムの開発作業を大幅に短縮できる。それゆえ、新しいプロトコルを用いるＰＬＣ２を利用するための機器（制御装置４）の開発が容易となる。
【００３８】
ここで、上述のように通信プログラム作成装置３は、プログラマブル表示器１から送信されたフォーマットとＰＬＣ２から送信されたフォーマットとを分別して、それぞれ第１記憶部１３ａ、第２記憶部１３ｂに記憶する。そして、第１記憶部１３ａに記憶されたフォーマットを利用すれば、プログラマブル表示器１の代わりにＰＬＣ２と通信することが可能となる。一方、第２記憶部１３ｂに記憶されたフォーマットを利用すれば、ＰＬＣ２の代わりにプログラマブル表示器１と通信することが可能となる。このように、通信プログラム作成装置３は、運用したい他の機器にプロトコルフォーマットを転送する際、当該機器に要求される機能に応じて、送信側プロトコルおよび受信側プロトコルの何れかを選択して転送できる。
【００３９】
なお、上記の各実施の形態は本発明の範囲を限定するものではなく、本発明の範囲内で種々の変更が可能であり、例えば、以下のように構成することができる。
【００４０】
上記通信プログラム作成装置３が解析するプロトコルは、プログラマブル表示器１とＰＬＣ２との間のシリアル通信に限定されない。すなわち、上記通信プログラム作成装置３が対象とするプロトコルは、通信を行っている装置間でモニタし、プロトコルフォーマットを解析できるものであればよい。また、既に開発済みの通信プログラムが存在するか否か、プロトコルが非公開であるか否かも問わない。
【００４１】
また、本実施の形態で上述したように、作られた通信プログラムを用いて通信する装置内に、通信プログラム作成装置が設けられていてもよい。すなわち、自装置が通信するための通信プログラムを、自装置でプロトコル解析およびプログラム作成してもよい。もちろん、上記通信プログラム作成装置３では、プロトコルの解析のみを行い、解析した結果であるプロトコルフォーマットを他のプログラム作成装置に提供してもよい。これにより、自装置にプログラム開発環境を備える必要がないため、さまざまなプラットフォームの通信プログラムを作成することが容易となる。
【００４２】
最後に、本発明は、複数の機器（例えば、ホストコンピュータ、端末コンピュータ、インタフェース機器、ネットワーク機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、携帯型コンピュータなど）に適用してもよい。
【００４３】
また、本発明の目的は、上述した機能を実現するソフトウエアである通信プログラムの作成プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。この場合、記録媒体から読み出されたプログラムコード自体が上述した機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００４４】
具体的には、上記通信プログラム作成装置３が備えるモニタ部１１、解析部１２、記憶部１３、プログラム作成部１４は、通信プログラム作成装置３のメモリ（図示せず）に格納された所定のプログラムを、マイクロプロセッサなどが実行することにより実現される。
【００４５】
上記プログラムコードを供給するための記録媒体は、システムあるいは装置と分離可能に構成することができる。また、上記記録媒体は、プログラムコードを供給可能であるように固定的に担持する媒体であってもよい。そして、上記記録媒体は、記録したプログラムコードをコンピュータが直接読み取ることができるようにシステムあるいは装置に装着されるものであっても、外部記憶装置としてシステムあるいは装置に接続されたプログラム読み取り装置を介して読み取ることができるように装着されるものであってもよい。
【００４６】
例えば、上記記録媒体としては、磁気テープやカセットテープ等のテープ系、フロッピーディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【００４７】
また、上記プログラムコードは、コンピュータが記録媒体から読み出して直接実行できるように記録されていてもよいし、記録媒体から主記憶のプログラム記憶領域へ転送された後コンピュータが主記憶から読み出して実行できるように記録されていてもよい。
【００４８】
さらに、システムあるいは装置を通信ネットワーク（インターネット、イントラネット等を含む）と接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。
【００４９】
なお、プログラムコードを記録媒体から読み出して主記憶に格納するためのプログラム、および、通信ネットワークからプログラムコードをダウンロードするためのプログラムは、コンピュータによって実行可能にあらかじめシステムあるいは装置に格納されているものとする。
【００５０】
上述した機能は、コンピュータが読み出した上記プログラムコードを実行することによって実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行うことによっても実現される。
【００５１】
さらに、上述した機能は、上記記録媒体から読み出された上記プログラムコードが、コンピュータに装着された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行うことによっても実現される。
【００５２】
【発明の効果】
第１の装置と第２の装置との間の通信を取得する通信取得手段と、上記通信のプロトコルフォーマットを解析し、第１の装置から送信されたプロトコルフォーマットと第２の装置から送信されたプロトコルフォーマットとに分別して記憶部に記憶するプロトコル解析手段と、上記記憶部に分別して記憶されたプロトコルフォーマットに基づいて、第３の装置が上記第１の装置の代わりに上記第２の装置と通信を行うための第３の装置用の通信プログラム、および、第３の装置が上記第２の装置の代わりに上記第１の装置と通信を行うための第３の装置用の通信プログラムを作成するプログラム作成手段と、を備える構成である。
【００５３】
それゆえ、例えば、通信プログラムが用意されておらず、特にプロトコルの仕様の詳細が非公開である第２の装置と通信するための通信プログラムを開発することができる。よって、第１の装置が第２の装置と通信しているように、第３の装置による第２の装置との通信が可能となる。
【００５４】
したがって、通信プログラムが用意されていない装置であっても、通信プログラムをプログラミングすることなく自動的に通信可能となるため、簡単にセッティングして使用することができるという効果を奏する。
【００５５】
本発明の通信プログラムの作成プログラムは、以上のように、コンピュータを上記の各手段として機能させるコンピュータ・プログラムである。
【００５６】
それゆえ、コンピュータで上記通信プログラム作成装置の各手段を実現することによって、上記通信プログラム作成装置を実現することができる。したがって、上記した通信プログラム作成装置の効果である、通信プログラムが用意されていない装置であっても、通信プログラムをプログラミングすることなく自動的に通信可能にセッティングできるという効果を奏する。
【００５７】
本発明の通信プログラムの作成プログラムを記録したコンピュータ読み取り可能な記録媒体は、以上のように、上記の各手段をコンピュータに実現させて、上記通信プログラム作成装置を動作させる通信プログラムの作成プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００５８】
それゆえ、上記記録媒体から読み出された通信プログラムの作成プログラムによって、上記通信プログラム作成装置をコンピュータ上に実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る通信プログラム作成装置の構成の概略を示すブロック図である。
【図２】図１に示した通信プログラム作成装置において、解析し、記憶するプロトコルフォーマットの例を示す説明図である。
【図３】図１に示した通信プログラム作成装置におけるプロトコル解析処理の手順を示すフローチャートである。
【図４】図１に示した通信プログラム作成装置における通信処理の手順を示すフローチャートである。
【図５】図１に示した通信プログラム作成装置で作成した通信プログラムの利用形態を示す説明図である。
【図６】従来のプロトコルアナライザによるプロトコル解析を示す説明図である。
【符号の説明】
１    プログラマブル表示器（第１の装置）
２    ＰＬＣ（第２の装置）
３    通信プログラム作成装置（通信プログラム作成装置，第３の装置）
４    制御装置（第３の装置）
１１    モニタ部（通信取得手段）
１２    解析部（プロトコル解析手段）
１４    プログラム作成部（プログラム作成手段）
Ｐ１，Ｐ２    通信プログラム
【図１】
0003792527.tif 000002
【図２】
0003792527.tif 000003
【図３】
0003792527.tif 000004
【図４】
0003792527.tif 000005
【図５】
0003792527.tif 000006
【図６】
0003792527.tif 000007