(57)【要約】【課題】コントローラを管理するシステムの汎用性ないし柔軟性を高める。【解決手段】プログラミング装置１００から出力される第１データ形式のプログラム等を含む入力情報を取り込む受信手段と、取り込まれた入力情報に含まれるデータ形式の変換指令を抽出する解釈手段と、該抽出された変換指令に対応するデータ形式の変換規則を取得する変換データ取得手段と、取得された変換規則に基づいて第１データ形式のプログラム等を第２データ形式に変換する変換実行手段とを計算機により構成したデータ形式変換装置２００を設け、これにより変換した第２データ形式のプログラム等をコントローラに出力することにより、コントローラのデータ形式と異なる任意のデータ形式でプログラム等を作成することができるようにしたことを特徴とする。【選択図】　　図１
2004038876.tif 000002
【特許請求の範囲】
【請求項１】
第１データ形式のプログラム等を含む入力情報に含まれるデータ形式の変換指令で指定される変換規則に基づいて、第１データ形式のプログラム等を第２データ形式のプログラム等に変換するデータ形式変換方法。
【請求項２】
前記変換指令は、少なくとも１つの第１データ形式に対応させて複数の異なる第２データ形式に変換する複数の変換規則の１つを指定するものであることを特徴とする請求項１に記載のデータ形式変換方法。
【請求項３】
前記変換規則は、通信ネットワークを介して取得することを特徴とする請求項１に記載のデータ形式変換方法。
【請求項４】
通信ネットワークから第１データ形式のプログラム等を含む入力情報を取り込む受信手段と、取り込まれた入力情報に含まれるデータ形式の変換指令を抽出する解釈手段と、該抽出された変換指令に対応するデータ形式の変換規則を取得する変換データ取得手段と、取得された変換規則に基づいて第１データ形式のプログラム等を第２データ形式のプログラム等に変換する変換実行手段と、該変換されたプログラム等を通信ネットワークに出力する送信手段とを構成する計算機を備えてなるデータ形式変換装置。
【請求項５】
第１データ形式のプログラム等を第２データ形式のプログラム等に変換する変換規則が格納された記憶手段を備え、前記記憶手段は、少なくとも１つの第１データ形式に対応させて複数の異なる第２データ形式に変換する複数の変換規則を記憶してなり、前記変換データ取得手段は、前記記憶手段から前記変換指令に対応した変換規則を取得することを特徴とする請求項４に記載のデータ形式変換装置。
【請求項６】
前記変換データ取得手段は、前記受信手段を介して外部に設けられた記憶手段に格納された前記変換規則を前記通信ネットワークから取得することを特徴とする請求項５に記載のデータ形式変換装置。
【請求項７】
前記外部に設けられた記憶手段は、前記通信ネットワークに通信可能に接続された記憶手段又は前記通信ネットワークに通信可能に接続された組み込み計算機を有してなるコントローラに備えられた記憶手段であることを特徴とする請求項６に記載のデータ形式変換装置。
【請求項８】
前記変換規則は、第１データ形式を第２データ形式に変換する変換プログラムであり、前記変換実行手段は前記変換プログラムに従って第１データ形式のプログラム等を第２データ形式に変換することを特徴とする請求項４乃至請求項７のいずれかに記載のデータ形式変換装置。
【請求項９】
通信ネットワークから第１データ形式のプログラム等を含む入力情報を取り込む通信手段と、取り込まれた入力情報に含まれるデータ形式の変換指令を抽出する解釈手段と、該抽出された変換指令に対応するデータ形式に変換する変換プログラムを前記通信手段を介して外部から取得する変換データ取得手段と、取得された変換プログラムに従って第１データ形式のプログラム等を第２データ形式に変換して前記通信手段を介して前記通信ネットワークに出力する変換実行手段とを構成する計算機を備えてなり、前記変換プログラムは第１と第２のデータ形式とは異なる第３データ形式に変換した後、第２のデータ形式に変換するものであるデータ形式変換装置。
【請求項１０】
前記変換データ取得手段は、前記受信手段を介して外部に設けられた記憶手段にアクセスして前記変換変換プログラムを前記通信ネットワークから取得することを特徴とする請求項９に記載のデータ形式変換装置。
【請求項１１】
前記変換実行手段は、仮想機械と第３データ形式に変換する中間変換手段とから構成されてなることを特徴とする請求項９又は１０に記載のデータ形式変換装置。
【請求項１２】
前記仮想機械は、Ｊａｖａの仮想機械であることを特徴とする請求項１１に記載のデータ形式変換装置。
【請求項１３】
第１データ形式によりプログラム等を作成し、該作成したプログラム等を第２データ形式に変換する指令を付加したメッセージを作成する計算機を備えてなるプログラミング装置。
【請求項１４】
第１データ形式のプログラム等を作成するプログラム作成手段と、該作成されたプログラム等を第２データ形式に変換する指令を付加したメッセージを通信ネットワークに出力する通信手段とを構成する計算機を備えてなるプログラミング装置。
【請求項１５】
第１データ形式のプログラム等を第２データ形式に変換する変換指令を入力する入力手段を備えてなることを特徴とする請求項１４に記載のプログラミング装置。
【請求項１６】
前記計算機は、携帯通信端末に組み込まれた計算機であることを特徴とする請求項１３乃至１５のいずれかに記載のプログラミング装置。
【請求項１７】
通信ネットワークを介して入力される第１データ形式のプログラム等を格納する記憶手段と、通信ネットワークを介して入力される要求に応答して前記記憶手段に格納された第１データ形式のプログラム等を前記通信ネットワークに出力する機能を構成する計算機を備え、予め定められた第２データ形式のプログラム等に従って制御対象を制御するコントローラ。
【請求項１８】
記憶手段に格納されている第２データ形式の制御プログラム等に従って制御対象を制御する計算機を備えたコントローラと、該コントローラに通信ネットワークを介して通信可能に設けられたコントローラ管理装置とを備え、該コントローラ管理装置は、前記コントローラの制御プログラム等を第１データ形式により作成するプログラミング装置と、該プログラミング装置により作成された第１データ形式のプログラム等を入力し、該プログラム等を第２データ形式のプログラム等に変換して前記コントローラに出力するデータ形式変換装置とを有してなるコントローラ管理システム。
【請求項１９】
前記プログラミング装置と前記データ形式変換装置は、通信ネットワークを介して接続されていることを特徴とする請求項１８に記載のコントローラ管理システム。
【請求項２０】
前記プログラミング装置は、第１データ形式のプログラム等を第２データ形式に変換する変換指令を入力する入力手段を備え、該変換指令を第１データ形式のプログラム等に付加したメッセージを前記データ形式変換装置に出力することを特徴とする請求項１８又は１９に記載のコントローラ管理システム。
【請求項２１】
第２データ形式の制御プログラム等に従って制御対象を制御する計算機を備えたコントローラを管理する管理方法において、前記コントローラの制御プログラム等を第１データ形式により作成し、該作成された第１データ形式のプログラム等を第２データ形式のプログラム等に変換するデータ形式変換装置を介して前記コントローラに出力するコントローラ管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラム等のデータ形式を異なるデータ形式に変換するデータ形式変換方法及び装置に係り、特に組み込み電子計算機（以下、単に計算機と略す。）を有するコントローラを管理するコントローラ管理システム、特にコントローラを遠隔から管理するコントローラ管理システムに好適なデータ形式変換方法及び装置に関する。
【０００２】
本明細書において、プログラム等とはプログラム及びプログラムに準ずる電子情報をいう。また、プログラムとは計算機に対する指令であって、一の結果を得ることができるように組み合わされたものをいい、プログラムに準ずる電子情報とは計算機による処理の用に供する情報をいう。また、データ形式とは、プログラム等の言語及び記述、データ構造等の形式をいう。また、コントローラの管理とは、コントローラに組み込まれた計算機のプログラム等の作成、編集、書換えなどの管理の他、通信ネットを介して遠隔からコントローラを監視したり、制御する管理を含むものとする。
【０００３】
【従来の技術】
プログラマブルコントローラやプログラマブルロジックコントローラ（ＰＬＣ）等のような計算機が組み込まれたコントローラ（以下、単にコントローラと称する。）が広く使用されている。このようなコントローラの計算機にプログラムをインストールしたり書換える場合、専用のプログラミング装置を組み込み計算機にケーブル等で接続して、専用プログラミング装置で作成したしたプログラムをその計算機に転送するのが一般的である。
【０００４】
しかし、計算機の技術革新や進歩に起因して専用プログラミング装置の機能の陳腐化が激しく、各種のコントローラに対応する専用プログラミング装置を確保しておくことが困難であるという問題がある。すなわち、社会基幹施設を制御するコントローラの中には、１５年以上の長期にわたって運用されるものがあるから、それらのコントローラの管理も長期にわたって続けなければならない。このような場合、従来では、１５年間管理できるように故障を予測した上で専用プログラミング装置を予め確保しておく必要があり、費用の効率性や性能改善の点にも問題がある。
【０００５】
このような問題を解決するため、特開平１１−２４７１６号公報（以下、先行技術１という。）に、汎用性やコストパフォーマンスに優れたパーソナルコンピュータ（ＰＣ）、及びインターネットに代表される通信アプリケーション技術を利用した管理システムが提案されている。これによれば、ユーザのコントローラにＨＴＴＰ（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）サーバを搭載し、プログラマーはＰＣのＷｅｂブラウザを介してコントローラからＨＴＭＬ（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）データを取得し、取得したＨＴＭＬデータに従ってコントローラのプログラムを制御するようにしている。
【０００６】
また、コントローラの管理を効率化するために、プログラムの記述言語等を標準化することが要求されている。この要求を満たすために、米国特許公開公報（ＵＳ２００２／０００４８０４Ａ１）（以下、先行技術２という。）においては、プログラムをマークアップ言語で記述することが提案されている。マークアップ言語の例としてＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）を取り上げ、プログラミング装置はエディタで作成されたプログラムをＸＭＬ形式のプログラムに変換してコントローラに転送するようにしている。そして、コントローラは、ＸＭＬ形式のプログラムを自身の記憶装置に格納し、そのプログラムをコントローラ内部の制御実行手段により解釈して制御対象を制御するようにしている。なお、ＸＭＬは、標準化団体であるＷ３Ｃ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ　Ｃｏｎｓｏｒｔｉｕｍ）にて策定されているデータ規格である。今後ネットワーク上で流通するデータの標準として、長期にわたり利用できるものとして有望視されている。
【０００７】
一方、特開２００１−３５０５０７号公報（以下、先行技術３という。）に、人とインターフェースをとるためのブラウザを内蔵する通信端末に関し、性能が限定される通信端末においてマークアップ言語で記述されたデータを閲覧する技術が開示されている。すなわち、ＷＭＬ（Ｗｉｒｅｌｅｓｓ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）で記述されたデータを通信端末がＨＴＴＰサーバから取得する経路に、ネットワークインターフェースを介在させている。このネットワークインターフェースは、ＨＴＴＰサーバから取得したＷＭＬソースを通信端末に送信する前に、コンパイル済みＷＭＬのコンテンツに変換するＷＡＰゲートウェイ手段を有する。そして、通信端末のユーザがＨＴＴＰサーバにＷＭＬ情報を要求すると、ネットワークインターフェースでＷＭＬソースをコンパイルして、その結果を通信端末に送信する。これにより、処理能力が限定された通信端末においても、マークアップ言語で記述されたデータを閲覧することが可能となる。
【０００８】
一方、半導体プロセス技術と通信ネットワーク技術の進歩により、従来では対応できなかった分野あるいは製品に、通信ネットワークに接続された計算機を組み込むことが行なわれてきている。このような組み込み計算機は、稼動時のコストを最小とすることが重要であることから、組み込み時点において機能を限定し、拡張性が少ないことも一般的である。つまり、計算機の機能を特定の制御に特化して組み込まれている。このような組み込み計算機と、通信ネットワーク及び通信端末を用いることで、時間と場所を選ばず監視等を含む制御を行うサービスが立ち上がりつつある。
【０００９】
【発明が解決しようとする課題】
しかしながら、通信ネットワークから組み込み計算機をプログラミングしたり、監視制御するには解決しなくてはならない課題が存在する。すなわち、先行技術１に提案されたコントローラ管理システムは、コントローラに格納されているＨＴＭＬデータの内容に制御が限定されるという問題がある。
【００１０】
この問題を解決する方法として、例えば、ＨＴＴＰサーバの機能を拡張する技術であるＣＧＩ（Ｃｏｍｍｏｎ　Ｇａｔｅｗａｙ　Ｉｎｔｅｒｆａｃｅ）を利用することが考えられる。
【００１１】
しかし、この場合は、ＨＴＴＰサーバにＣＧＩ機能を持たせるとともに、十分な処理能力を持たせる必要があるが、組み込み計算機にＣＧＩ機能や処理能力を持たせるのは現実的でない。また、必要な機能を追加する度に、ＣＧＩプログラムをＨＴＴＰサーバに登録する必要があるから柔軟性に欠ける。また、サーバ機能を拡張する技術として、ＣＧＩの他にＳＳＩ（Ｓｅｒｖｅｒ　Ｓｉｄｅ　Ｉｎｃｌｕｄｅ）、ＪＳＰ（Ｊａｖａ（登録商標）　Ｓｅｒｖｅｒ　Ｐａｇｅ）等があるが、同様の問題がある。
【００１２】
他方、先行技術２に提案されたコントローラ管理システムは、プログラムとしてマークアップ言語を用いることから、記述されているデータ構造がデータ定義と一致するかを検査する妥当性検査が必要となる。特に、ＸＭＬでは妥当性検査が必要である。また、ＸＭＬはテキストで記述されているので、組み込み計算機は直接ＸＭＬを利用できない。そこで、組み込み計算機が利用可能な情報を、テキスト記述から抽出する処理が必要となる。
【００１３】
しかし、これらの処理は一時的な処理であり、稼動時のコスト最小が優先される組み込み計算機においては、その処理のために計算処理能力を高めるのは問題がある。また、プログラミング装置としては、コントローラ毎に対応するＸＭＬ変換手段を用意する必要があり、メーカや種類が異なるコントローラに適用するのは困難である。
【００１４】
さらに、先行技術３に開示されるゲートウェイ装置は、ソースからコンパイルされる言語への対応付けが一意に決定されてしまう。
【００１５】
上述したように、多種多様な組み込み計算機を有するコントローラは、対応できる言語が個別に定まっていることから、多種多様な組み込み計算機を有するコントローラに対して、通信ネット等を介してプログラミングを行なうことができる柔軟性のある汎用性の高いプログラミング装置の開発が要望されている。
【００１６】
そこで、本発明は、プログラム等のデータ形式を異なるデータ形式に変換するデータ形式変換装置を提供することを第１の課題とする。
【００１７】
また、本発明は、コントローラを管理するシステムの汎用性ないし柔軟性を高めることを第２の課題とする。
【００１８】
また、本発明は、コントローラを遠隔から管理制御するシステムを実現することを第３の課題とする。
【００１９】
【課題を解決するための手段】
本発明は、次に述べる手段により、上記課題を解決するものである。
【００２０】
本発明に係るデータ形式変換装置は、第１データ形式のプログラム等を含む入力情報を取り込み、該入力情報に含まれるデータ形式の変換指令に基づいて、第１データ形式のプログラム等を第２データ形式のプログラム等に変換して出力することを特徴とする。つまり、第１データ形式のプログラム等を作成するプログラム者は、その作成されたプログラム等を第２データ形式に変換する指令を付加したメッセージをデータ形式変換装置に入力することが特徴である。
【００２１】
このような本発明のデータ形式変換装置によれば、例えば、コントローラの制御プログラムを第２データ形式とすると、プログラム作成者は、可読性を有し、かつ計算機と親和性が高く、プログラミング作業が容易なマークアップ言語等の第１データ形式で制御プログラムを作成すれば、自動的に第２データ形式の制御プログラムに変換することができる。その結果、プログラム作成者は第２データ形式に習熟することなく、しかもコントローラに適合した専用プログラミング装置が陳腐化していたとしても、既設コントローラの制御プログラムの作成、変更、編集、書き換え、等の管理を容易に行なうことができる。しかも、コントローラのデータ形式と異なる任意のデータ形式でプログラム等を作成することができるから、汎用性がありオープン性の高い計算機（例えば、パーソナルコンピュータ）を用いることができるから、コントローラを管理するシステムの汎用性ないし柔軟性を高めることができる。
【００２２】
また、本発明のデータ形式変換装置は、第１データ形式のプログラム等を第２データ形式のプログラム等に変換する変換規則が格納された記憶手段を備え、前記記憶手段は、少なくとも１つの第１データ形式に対応させて複数の異なる第２データ形式に変換する複数の変換規則を記憶してなるものとすることができる。
【００２３】
この場合において、前記記憶手段を前記データ形式変換装置の外部に設け、通信手段を介して前記記憶手段から前記変換規則を取得するようにすれば、遠隔から同種又は複数種類の複数のコントローラを管理することができる。
【００２４】
本発明のデータ形式変換装置は、具体的には、通信ネットワークから第１データ形式のプログラム等を含む入力情報を取り込む受信手段と、取り込まれた入力情報に含まれるデータ形式の変換指令を抽出する解釈手段と、該抽出された変換指令に対応するデータ形式の変換規則（例えば、変換プログラム）を取得する変換データ取得手段と、取得された変換規則に基づいて第１データ形式のプログラム等を第２データ形式のプログラム等に変換する変換実行手段と、該変換されたプログラム等を通信ネットワークに出力する送信手段とを構成する計算機により実現できる。そして、第１データ形式のプログラム等を第２データ形式のプログラム等に変換する変換規則が格納された記憶手段を備え、前記記憶手段は、少なくとも１つの第１データ形式に対応させて複数の異なる第２データ形式に変換する複数の変換規則を記憶してなり、前記変換データ取得手段は、前記記憶手段から前記変換指令に対応した変換規則を取得するようにすることができる。
【００２５】
この場合において、前記変換データ取得手段は、前記受信手段を介して外部に設けられた記憶手段に格納された前記変換規則を前記通信ネットワークから取得することができる。また、外部に設けられた記憶手段としては、前記通信ネットワークに通信可能に接続された記憶手段又は前記通信ネットワークに通信可能に接続された組み込み計算機を有してなるコントローラに備えられた記憶手段のいずれであってもよい。
【００２６】
上記の場合において、前記変換プログラムは第２のデータ形式とは異なる第３データ形式に変換した後、第２データ形式に変換するものとすることができる。この場合の変換実行手段は、仮想機械と第３データ形式に変換する中間変換手段とから構成することができる。また、仮想機械は、Ｊａｖａの仮想機械とすることができる。
本発明に係るプログラミング装置は、第１データ形式のプログラム等を第２データ形式に変換する変換指令を入力する入力手段を備え、データ形式変換装置に送出するメッセージに付加することができる。この場合のプログラミング装置は、携帯通信端末に組み込まれた計算機により実現できる。
【００２７】
また、予め定められた第２データ形式のプログラム等に従って制御対象を制御するコントローラを、通信ネットワークを介して入力される第１データ形式のプログラム等を格納する記憶手段と、通信ネットワークを介して入力される要求に応答して前記記憶手段に格納された第１データ形式のプログラム等を前記通信ネットワークに出力する機能を構成する計算機を備えて構成することができる。これによれば、プログラミング装置により作成された第１データ形式のプログラム等がコントローラに保存されるので、プログラミング装置に第１データ形式のプログラム等を保存する必要がないばかりでなく、異なる任意のプログラミング装置により当該コントローラのプログラム等の管理をすることができる。
【００２８】
本発明のコントローラ管理方法及びシステムは、上述したプログラミング装置及びデータ形式変換装置からなるコントローラ管理装置を、対象のコントローラに直接又は通信ネットワークを介して接続することにより実現できる。
【００２９】
特に、コントローラが家庭電化製品を制御対象とする場合は、通信ネットワークに家庭電化製品を制御対象とするコントローラを通信可能に接続し、携帯電話などの携帯通信端末をプログラミング装置とし、そのプログラミング装置からデータ形式変換装置を呼出してコントローラに制御プログラムを送ることにより、携帯電話から自己の家庭の電化製品の制御プログラムを変更等することができる。
【００３０】
【発明の実施の形態】
以下、本発明を実施の形態に基づいて説明する。
（第１の実施の形態）
図１に、本発明の第１実施形態に係るコントローラ管理システムの全体構成を示す。図示のように、本発明によるコントローラ管理システムは、プログラミング装置１００とデータ形式変換装置２００とからなる管理装置と、管理対象のコントローラ３００と、コントローラ３００により制御される制御対象４００を含んで構成される。
【００３１】
プログラミング装置１００は、コントローラ３００が実行するプログラム等を作成するものであり、そのプログラム等を作成するエディタ１１０を有して構成される。ここで、プログラム等とは、先に定義したとおり、プログラム及びプログラムに準ずる電子情報をいい、計算機による処理の用に供する全ての情報を含むものとする。プログラミング装置１００は、エディタ１１０により作成されたプログラム等からなるコントローラの管理制御情報（以下、メッセージと称する）を作成してデータ形式変換装置２００に出力するようになっている。なお、コントローラの管理制御情報であるメッセージには、プログラム等の他に、管理対象のコントローラ３００の種類を特定するコントローラタイプ、コントローラ３００のアドレス等の識別データ、その他の情報が含まれている。
【００３２】
ここで、プログラミング装置１００は、パーソナルコンピュータ（ＰＣ）等の汎用性及びオープン性の高い計算機を用いて構成することが、将来の部品調達の観点から望ましい。また、エディタ１１０は、ＰＣで動作するプログラムにより実現するのが好適である。しかし、プログラミング装置１００は、これらの組み合わせに限定されるものではなく、例えばエディタプログラムとしてＰＣのＷｅｂブラウザで動作するＷｅｂアプリケーションを適用することができる。これによれば、Ｗｅｂブラウザの使い勝手と、実行プラットフォーム独立性とを享受することができる。また、入出力点数が少ないコントローラ３００の場合（例えば、入出力点数が数十個以内）、プログラミング装置１００は携帯電話のようなボタンと簡易な表示器の組み合わせで構成することも可能である。
【００３３】
データ形式変換装置２００は、解釈制御部２１０と、変換データ取得部２２０と、変換実行部２３０と、記憶装置２４０を含んで構成されている。解釈制御部２１０は、プログラミング装置１００から受信するメッセージのデータ構造が、妥当なものであるかを検査する機能と、メッセージから適宜目的情報を抽出する機能を有してなる。例えば、メッセージのデータ形式がＸＭＬ形式の場合には、解釈制御部２１０にＸＭＬパーサを備えてデータ構造の妥当性を判断する。変換データ取得部２２０は、解釈制御部２１０により抽出されたコントローラタイプ情報に従って、指定されたコントローラタイプに対応する変換プログラムを記憶装置２４０から読み出して変換実行部２３０に転送する。変換実行部２３０は、変換データ取得部２２０により読み出された変換プログラムに基づいて機能が設定され、あるいは起動され、解釈制御部２１０で受信したプログラム等をコントローラ３００に適合するプログラム等に変換する。つまり、メッセージのプログラム等のデータ形式を、コントローラ３００に適合したデータ形式のプログラム等に変換する。記憶装置２４０には、本実施形態の管理システムが対象とする各種のコントローラのデータ形式に対応させて変換プログラムが格納されている。
【００３４】
コントローラ３００は、データ形式変換装置２００から出力されるメッセージを受信して記憶装置３０１に格納する。コントローラ３００は、予め設定されている動作又は受信したメッセージに従って制御対象４００を制御する。制御対象４００は、工場や生産ライン、基幹システム、家庭電化製品等が該当する。制御対象４００の具体例としては、入出力接点、アナログ入出力、フィールドネットワーク、サーボアンプ等の機械装置、家庭におけるエアコンや洗濯機、監視カメラ等の一般家電等、制御要素が該当する。特に、一般家電を制御するインターフェースとしては、赤外線、無線、電灯線、専用制御線などを活用することができる。
【００３５】
このように、従来のプログラミング装置は、コントローラのデータ形式に適合したプログラム等を作成してコントローラに直接転送していたのに対し、図１の実施形態のプログラミング装置１００は、任意のデータ形式でプログラム等を作成し、作成されたプログラム等はデータ形式変換装置２００によりコントローラ３００に適合したデータ形式に変換されて、コントローラ３００に転送される。つまり、本実施形態では、プログラミング装置１００において、コントローラ３００を制御するためのプログラム等からなるメッセージが作成される。メッセージを構成するデータ形式又は構造としては、バイナリデータやテキストデータがあるが、テキストデータとしてＸＭＬ形式のデータ構造を採用することが好ましい。つまり、ＸＭＬ形式は冗長であるが、機械語に比べて人が読んで理解できる可読性に優れているとともに、ＰＣ等の計算機にて扱いやすい。以下、ＸＭＬ形式のメッセージを例として本実施形態の説明を行なうが、本発明はＸＭＬ形式に限定されないのは言うまでもない。
【００３６】
図２に、プログラミング装置１００から出力されるＸＭＬ形式で記述されたメッセージの一例を示す。図において、行頭の数字とコロンは説明のために付与したものであり、ＸＭＬ形式のメッセージを構成するものではない。なお、ＸＭＬに関する文法的な規定は、Ｗ３Ｃが公開するＷｅｂサイト（ＵＲＬ＝ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／）、『よくわかるＸＭＬの基礎』（日経ＢＰ社刊、原著：Ｓｉｍｏｎ　Ｓｔ．　Ｌａｕｒｅｎｔ、訳者：藤本淑子）等の文献に詳しいので詳細な説明は省略する。
【００３７】
図２において、１行目はＸＭＬ宣言であり、本メッセージがＸＭＬ形式で記述されていることを表している。２行目は文書型宣言であり、本メッセージのデータ構造が”ｓｏｍｅＵＲＩ／ｐｌｃ．ｄｔｄ”で表される文書型定義（Ｄｏｃｕｍｅｎｔ　Ｔｙｐｅ　Ｄｅｆｉｎｉｔｉｏｎ；ＤＴＤと略す）ファイルに定義されていることを示す。解釈制御部２１０は、ここで指定されるＤＴＤを取り込み、受信したメッセージのデータ構造がＤＴＤに適合するか否か検査する。３行目はメッセージの本体部分を示す開始タグであり、１２行目の終了タグと対をなす。メッセージ本体は、さらに２つに分かれており、４行目から始まる記述と、９行目から始まる記述からなる。４行目はプログラムを補足するデータ部の開始タグであり、８行目の終了タグと対をなす。５行目は、本メッセージが変換される対象のコントローラタイプが記述される。６行目は、本メッセージの送信先であるコントローラの宛先のアドレスが記述される。７行目は、本メッセージが発信された送信元の識別コードが記述される。本例では、６、７行目の宛先と送信元としてＩＰアドレスで表した例を示した。しかし、これはメッセージが伝達されるネットワークメディアに依存するものであり、装置を特定できる情報であればこれに限られない。望ましくは、タグの属性としてデータのタイプを指定する。例えば、ＩＰｖ４アドレスであれば＜ＤＥＳＴ　ｔｙｐｅ＝”ＩＰｖ４”＞と記述する。９行目はプログラム本体の開始タグであり、１１行目と対を成す。１０行目では、コントローラ３００を制御するためのプログラムが記述される。本例では詳細な説明を省略するが、例えばＳＯＡＰ（Ｓｉｍｐｌｅ　Ｏｂｊｅｃｔ　Ａｃｃｅｓｓ　Ｐｒｏｔｏｃｏｌ）で規定されるように、オブジェクトに対する操作を列挙することが可能である。
【００３８】
図２に示すデータ形式を採用することにより、処理されるべき内容を指定できる共に、コントローラ３００を制御するプログラム等を記述できる。また、人による可読性と計算機によるデータ可用性の両立を図ることが可能となる。なお、図２に示されたデータ形式において、必要な情報が存在する限り、データの追加や削除、変更は可能である。例えば、メッセージのデータ形式が整形式（ｗｅｌｌ　ｆｏｒｍｅｄ）のみの場合には、２行目の文書型宣言は削除可能である。
【００３９】
なお、メッセージが整形式である場合には、解釈制御部２１０は非妥当性検証パーサを用いて、メッセージが整形式であるか否かを検証することが望ましい。また、メッセージが図２の２行目のスキーマ定義を含む場合には、解釈制御部２１０は妥当性検証パーサを用いて、メッセージがスキーマ定義と合致するか否か検証する必要がある。
【００４０】
ここで、図３に図２のメッセージの変形例を示す。同図に示したメッセージは、プログラミング装置１００から出力されるＸＭＬ形式で記述されたメッセージの一部分であり、図２の５行目の部分に相当する。この例では、データ形式変換装置２００におけるデータ形式の変換を確実に行うために、変換元のデータ形式あるいは変換後のデータ形式を、メッセージにより指定するようにしている。すなわち、変換元のデータ形式を”ＳＲＣ”属性で指定し、変換後のデータ形式を”ＤＥＳＴ”属性で指定している。この例では、変換元形式が“ＸＭＬ−Ｃ”という型、変換後形式が“ＭＡＣ−４”という型で、コントローラタイプがＥＱ−ＸＹというコントローラに対する指定を意味している。なお、これらの記号は説明用のために任意に決めた記号である。
【００４１】
図３に示したように、メッセージの変換元形式あるいは変換後形式として複数のデータ形式を選択できる場合は、そのデータ形式を指定するために属性指定することが好適である。なお、変換元形式あるいは変換後形式が複数存在するにもかかわらず、属性指定が存在しないメッセージが入力された場合は、予め定めたデータ形式を適用して変換するか、あるいはエラーとして変換しないことが望ましい。ここで、設定されたデータ形式を適用したり、エラーとして処理するには、例えばＤＴＤや他のスキーマ指定により設定することが可能である。
【００４２】
ここで、図４に、変換元のメッセージと変換後のメッセージのデータ形式を対比して示す。同図は、ＸＭＬ形式のメッセージの変換を説明する図であり、タイプ名１２０、管理対象の対象コントローラ１２１、変換元形式１２２、変換後形式１２３を示している。同図に示すように、タイプＣＴＬ−Ａの場合は、「Ａ型コントローラ」に適するように、変換元形式「ＭＡＣ−１」から変換後形式「ＭＡＣ−２」に変換する。また、タイプＥＱ−ＸＹの場合は、「ＸＹ仕様に準拠する装置」に適するように、変換元形式「ＭＡＣ−３」、「ＸＭＬ−Ｃ」、「ＬＡＮＧ−Ｄ」のいずれかから、変換後形式「ＭＡＣ−４」、「ＸＭＬ−Ｅ」のいずれかの形式に変換する。
【００４３】
ここで、変換元あるいは変換後のデータ形式として、図中「ＭＡＣ−」として表記したコントローラ固有の機械語、図中「ＸＭＬ−」として表記した特定分野又は団体で合意されているＸＭＬ形式、あるいは図中「ＬＡＮＧ−」として表記した特定の形式を挙げることができる。また、これらの他に、ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｅｌｅｃｔｒｏ−ｔｅｃｈｎｉｃａｌ　Ｃｏｍｍｉｓｓｉｏｎ）６１１３１−３規格で定められるプログラムの記述言語ＩＬ（Ｉｎｓｔｒｕｃｔｉｏｎ　Ｌｉｓｔ）又はＳＴ（Ｓｔｒｕｃｔｕｒｅｄ　Ｔｅｘｔ）などが挙げられる。
【００４４】
図５に、図１の実施形態における処理流れのシーケンス図を示す。同シーケンス図では、図の上から下に処理時間経過を示している。初めに、プログラミング装置１００からデータ形式変換装置２００に対してメッセージが送信される（事象５００）。データ形式変換装置２００では、解釈制御部２１０がメッセージを受信する。受信したメッセージが妥当なものであるか検査するために、解釈制御部２１０でメッセージ解釈処理を実行する（事象５０１）。ここではメッセージで指定されるＤＴＤに従い妥当性検証が行われ、さらにＸＭＬデータから必要な情報を抽出する。次に、変換データ取得部２２０に対しメッセージの変換タイプを通知する（事象５０２）。変換データ取得部２２０は通知された変換タイプによって直接的あるいは間接的にメッセージの変換方法を判定する（事象５０３）。例えば、変換タイプと同一のファイル名で格納される変換プログラムを記憶装置２４０より取得する。あるいは、変換データ取得部２２０内部で持つデータベースから変換タイプと変換プログラムの対応関係を取得した後、記憶装置２４０より変換プログラムを取得する。その後、変換データ取得部２２０は変換実行部２３０の設定を行う（事象５０４）。例えば、変換タイプに対応した変換プログラムを起動させて変換実行部２３０を構成させる。ここで、変換実行部２３０は、変換データ取得部２２０により起動させてもよく、また予め起動させてもよい。変換実行部２３０の準備が整い次第、変換実行部２３０から変換データ取得部２２０へ設定完了を通知する（事象５０５）。通知を受けて、変換データ取得部２２０は変換タイプの指定完了を解釈制御部２１０に通知する（事象５０６）。解釈制御部２１０は、受信したメッセージ又はそのプログラム部分を変換実行部２３０に転送する（事象５０７）。変換実行部２３０は、メッセージのプログラム部分を、変換データ取得部２２０により取得された変換プログラムに従って変換し、その変換されたメッセージをコントローラ３００に送信する（事象５０８）。コントローラ３００は変換されたメッセージを受信して記憶装置３０１に格納する。そして、コントローラ３００は記憶装置３０１に格納されたメッセージに従って、プログラムをインストール又は書換え、新たなプログラムに従って制御対象４００を制御する。
【００４５】
このようにして、プログラミング装置１００にて生成されたメッセージをデータ形式変換装置２００で受信し、受信メッセージにて指定された変換タイプに応じた変換処理を実行し、コントローラ３００が変換処理をされたメッセージを受信することが可能となる。
【００４６】
したがって、本実施形態のコントローラ管理システムによれば、コントローラ３００は、プログラミング装置１００が生成したメッセージがＸＭＬ形式であるか否かは関知せず、自己が処理可能な言語及び記述等のデータ形式によりメッセージを受信することになる。つまり、コントローラ３００がＸＭＬ形式に対応可能か否かを問わないことから、本実施形態のコントローラ管理システムによれば既設のコントローラに適用が可能である。
【００４７】
本実施形態では、解釈制御部２１０とプログラミング装置１００とが、また、変換実行部２３０とコントローラ３００とが１対１で接続されている構成を示した。しかし、図１のコントローラ管理システムは、プログラミング装置１００とデータ形式変換装置２００、及びデータ形式変換装置２００とコントローラ３００をそれぞれ通信ネットワークで結合して構成することができる。この場合、データ形式変換装置２００の通信インターフェイスは、プログラミング装置１００に対する受信インターフェースとコントローラ３００に対する送信インターフェースを共通に形成することができる。また、プログラミング装置１００とデータ形式変換装置２００を一体化し、データ形式変換装置２００とコントローラ３００を通信ネットワークで結合して構成することもできる。
【００４８】
また、図１において、プログラミング装置１００とコントローラ３００がそれぞれ１つの場合を示したが、本発明はこれに限らずプログラミング装置１００とコントローラ３００が複数の場合にも適用できる。
【００４９】
また、データ形式変換装置２００により変換して出力されるメッセージのデータ形式は、記憶装置２４０に任意の変換プログラムを格納することにより、任意のデータ形式に変換することができる。しかし、テキスト形式に変換して出力する方が、後の管理が容易となる点で好適である。望ましくは、変換後のメッセージもＸＭＬ形式とし、かつ簡易な例えば整形式とすることにより、処理能力の低いコントローラ３００の場合であっても、ＸＭＬ形式の簡単な検査のみで利用することが可能となる。これにより、変換後のメッセージの管理が容易になる。
【００５０】
ところで、メッセージがコントローラ３００に格納されるまでに、メッセージの一部が外乱により欠落する場合があり、しかもその欠落を判別できない場合がある。そこで、メッセージの一貫性ないし同一性を検証するために、メッセージの内部にチェックサムを設け、メッセージのテキストデータを単純足し合わせ、あるいはＣＲＣ（Ｃｙｃｌｉｃ　Ｒｅｄｕｎｄａｎｃｙ　Ｃｈｅｃｋ）等により演算した結果を、メッセージに合わせてコントローラ３００に送信することが好ましい。この場合、コントローラ３００において、メッセージ受信後に演算し直して照合することにより、プログラム等の一貫性を検証することができる。特に、チェックサム方式は実装が容易であるから、処理能力の低いコントローラ３００の場合にも好適である。
【００５１】
また、コントローラ３００が、異なる複数のデータ形式を受け入れて解釈実行できる場合は、プログラム作成者の意図やデータ形式変換装置２００及びコントローラ３００の負荷等を考慮して、プログラミング装置１００で作成するプログラム等のデータ形式、及びデータ形式変換装置２００で変換するコントローラ３００用のデータ形式を、それぞれに最適な形式にすることができる。上述の説明では、機械語、ＸＭＬ形式、特定言語形式を例としたが、本発明はそれらのデータ形式に限られないことは自ずと明らかである。
【００５２】
要は、コントローラ３００が解釈できるデータ形式が機械語に限られる場合は、データ形式変換装置２００はプログラミング装置１００で作成されたプログラム等を機械語に変換する。コントローラ３００がＸＭＬ形式やＨＴＭＬ形式の解釈能力を備えていれば、データ形式変換装置２００はＸＭＬ形式又はＨＴＭＬ形式に変換する。コントローラ３００のデータ形式の解釈能力は、コントローラタイプ情報によって識別するようにすることができる。したがって、データ形式変換装置２００は、プログラミング装置１００から受信したメッセージに含まれるコントローラタイプ情報に基づいて変換タイプを識別し、識別した変換タイプに対応して設定されている変換データを用いて、プログラミング装置１００から受信したメッセージを変換するように構成する。
【００５３】
上述したように、本実施形態によれば、データ形式変換装置２００は、プログラム等のデータ形式の変換データを備え、プログラミング装置１００から出力されるコントローラタイプ情報に基づいてコントローラ３００のデータ形式に変換する変換データを用いて、プログラミング装置１００から受信したメッセージを変換して、コントローラ３００に転送するようにしていることから、次のような効果が得られる。
（１）データ形式変換装置２００を開発したことから、プログラミング装置１００はコントローラ３００のデータ形式に関わらず、例えばプログラム等の作成者が使い易いマークアップ言語を用いてコントローラのプログラム等を作成することができる。つまり、プログラミング装置１００は、計算機と親和性が高く、かつ可読性も高いデータ形式を採用することができ、マークアップ言語に限らず使い易いデータ形式の変更にも容易に対応することができる。
（２）コントローラ３００が既設の古いタイプであっても、組み込み計算機の処理能力をアップすることなく、例えば最新のプログラミング装置１００によりコントローラ３００のプログラム等を管理することができる。つまり、コントローラ３００に必要とされる機能は、少なくとも従来のコントローラ３００が既に備えているメッセージ受信機能だけで足りるから、安価に本発明を実現することができる。その結果、コントローラ３００を管理する管理システムの汎用性ないし柔軟性を高めることができる。
（３）特に、データ形式変換装置２００とコントローラ３００とを通信ネットワークを介して通信可能に接続すれば、コントローラ３００を遠隔から監視したり、監視したり、制御する遠隔制御システムを実現することができる。
（４）また、プログラミング装置１００としては、広く一般に行き渡っているオープン性の高いＰＣを利用することができるから、故障等を考慮した部品管理等も容易である。
（第２の実施の形態）
図６に本発明の他の実施形態に係る変換実行部の構成を示す。変換実行部２５０以外の構成は、図１の実施形態と同じである。変換実行部２５０は、実際に変換処理を行う変換処理部２５１と、変換するルールが記述されているプロファイル２５２ａ〜２５２ｘからなる。変換処理部２５１は、メッセージを受け、プロファイル２５２ａ〜２５２ｘに記述された変換ルールに従ってメッセージを変換する。プロファイルは変換タイプに対応して用意される。プロファイルの格納方式として、例えば変換タイプをファイル名として、ファイルシステムに格納すると管理が容易である。あるいは、変換実行部２５０内部で持つデータベースから、変換タイプと変換プログラムの対応を得た後にプロファイルを参照することで、変換タイプとプロファイルを柔軟に管理できる。このように、本実施形態によれば、変換処理部２５１の機能を変更することなく、変換タイプごとにプロファイルを用意することにより、適用できる各種のコントローラのタイプを増やすことが可能となる。
【００５４】
図７にプロファイルの例を示す。本例ではＸＭＬ形式で記載されたプロファイルの例を示すが、必要な要件を満たすデータ形式であればＸＭＬ形式に限定されない。また、行頭の数字とコロンは説明のために付与したものであり、ＸＭＬ形式メッセージとしては必要ない。１行目はＸＭＬ宣言であり、本メッセージがＸＭＬ形式のデータであることを表すものである。２行目は文書型宣言であり、本メッセージのデータ構造が”ｓｏｍｅＵＲＩ／ｐｒｏｆｉｌｅ．ｄｔｄ”で表されるファイルに定義されていることを示す。３行目はプロファイル本体の記述開始タグであり、１３行目の終了タグと対をなしている。４行目はキーワードを対応させるルールの開始タグであり、７行目の終了タグと対をなしている。５行目、６行目はキーワード”Ｓｔａｒｔ”がキーワード”Ｂ”で置き換えられることを意味する。同様に、９行目、１０行目ではキーワード”Ｆｉｎｉｓｈ”がキーワード”Ｅ”で置き換えられることを意味する。
【００５５】
本実施形態では、キーワードを１対１で置き換えられる例を示した。一方で、変換処理機能２５１がキーワードのセマンティックスを解釈し、外部データベースを参照して対応する文字列に置き換えるという処理を適用することも可能である。セマンティックスを解釈することで、キーワードの幅を吸収するプロファイルとなる。そのためプロファイル数の削減、ひいては、プロファイルを保存する記憶装置の容量削減につながる。
【００５６】
図７に示すデータ構造を採用することにより、プログラミング装置１００が送信するメッセージに対応して、コントローラタイプ毎に必要な変換データベース（プロファイル）を、容易に準備することが可能となる。なお、図７に示したデータ構造において、本発明で必要な情報が存在する限り、データの追加、削除、変更は可能である。例えば、２行目の文書型宣言は、データが整形式（ｗｅｌｌ　ｆｏｒｍｅｄ）であることのみ要求する場合には削除可能である。
【００５７】
上述したように、本実施形態によれば、図１の実施形態と同一の効果が得られる。
（第３の実施の形態）
図８に、本発明の他の実施形態に係るコントローラ管理システムの全体構成を示す。本実施形態が図１の実施形態と異なる点は、コントローラ３００がサーバ３１０と記憶装置３２０を備え、あるいはコントローラ３００の外部にサーバ４２０と記憶装置４３０が用意され、これらのサーバ３１０、４２０は通信ネットワーク４１０を介して変換データ取得部２２０と通信可能に形成されていることことにある。なお、本実施形態では、サーバ３１０とサーバ４２０の少なくとも一方を備えていればよい。
【００５８】
記憶装置３２０又は記憶装置４３０には、前述した実施形態の変換プログラムあるいはプロファイル（以下、変換オブジェクトと呼ぶ。）が格納されている。サーバ３１０又はサーバ４２０は、要求に応じて、それぞれ記憶装置３２０又は記憶装置４３０から変換オブジェクトを転送する機能を有する。記憶装置３２０は、コントローラ３００に対して必要な変換オブジェクトを少なくとも一つ有する。なお、記憶装置４３０に複数種類の変換オブジェクトを格納することにより、コントローラ３００毎に変換オブジェクトを保持する必要が無くなる。
【００５９】
次に、本実施形態の処理流れを図９に示したフローチャートを用いて説明する。本実施形態における処理は、変換データ取得部２２０の動作を除き、図５と同一である。図９は、変換データ取得部２２０の動作を示している。変換データ取得部２２０は、変換タイプの指定（事象５０２）が入力されるまで待機するブロックである（処理５１０）。変換データ取得部２２０が変換タイプの指定（事象５０２）を受けて変換実行部を設定する際に、対応する変換オブジェクトが自己の記憶装置２４０に存在するか否か確認する（処理５１１）。変換オブジェクトが存在しない場合、変換データ取得部２２０は、ネットワーク４１０を介してサーバ３１０又はサーバ４２０に対して変換オブジェクトを要求する（処理５１２）。サーバ３１０又はサーバ４２０の指定は、プログラミング装置１００から送信するメッセージにおいて、例えば図２の６行目のメッセージの送信先、あるいは、変換タイプのタグの属性として指定されることが望ましい。変換オブジェクトを要求されたサーバ３１０又はサーバ４２０は、要求された変換オブジェクトを返信する。ここで、要求された変換オブジェクトが当該サーバに存在しない場合は、当該サーバが他のサーバに要求をリダイレクトするようにすることができる。これにより、サーバ３１０又は４２０の管理が柔軟になる。変換データ取得部２２０が変換オブジェクトを受信した場合、あるいは自己の記憶装置２４０に変換オブジェクトが存在する場合、変換データ取得部２２０はその変換オブジェクトを用いて変換実行部２３０を設定する（事象５０４）。以降は、図５の事象５０５以降と同様である。
【００６０】
本実施形態によれば、データ形式変換装置２００に変換タイプに対応する変換オブジェクトが存在しない場合でも、データ形式の変換を行なうことができる。また、コントローラ３００がデータ形式の変換オブジェクトを保持することにより、プログラミング装置１００に依存しないプログラム方式を実現することができる。また、例えば、コントローラ３００のメーカが、変換オブジェクトを保有するサーバ４２０を管理するようにすれば、コントローラ３００を利用するユーザはコントローラ３００内に変換オブジェクトを保持する記憶装置３２０を持つ必要がない。
【００６１】
さらに、本実施形態よれば、データ形式変換装置２００において記憶装置２４０の実装を省略することができ、データ形式変換装置２００の構成を簡単化して、安価にすることができる。また、コントローラ３００には、変換オブジェクトを送信する機能を追加するだけで、データ形式変換装置２００を柔軟に運用することが可能となる。
（第４の実施の形態）
図１０に、本発明の更に他の実施の形態に係るデータ形式変換装置２００の詳細構成の一例を示す。図に示すように、データ形式変換装置２００は、プログラムを格納し実行するメモリ６００と、一連の処理を実行するプロセッサ６１０と、プログラムやオペレーティングシステム（ＯＳ）を格納する不揮発記憶装置６２０と、通信ネットワーク６５０とインターフェースをとる通信インターフェース（ＩＦ）６３０と、これら要素の間でデータ転送するデータバス６４０とを含んで形成されている。
【００６２】
メモリ６００は、ＸＭＬパーサ６０１、解釈プログラム６０２、ＨＴＴＰサーバ６０３、取得プログラム６０４、変換プログラム６０５、ＯＳ６０６を保持するとともに、これらのプログラムで使用するスタックやヒープ、バッファ（図示省略）を保持している。組み込み計算機が利用される分野では、メモリの使用量を減らすために、不揮発記憶装置６２０にプログラムの命令データを有する場合もある。本実施の形態では、メモリ上にプログラムの命令データを展開する例を示すが、本発明はプログラムがメモリ６００あるいは不揮発記憶装置６２０のいずれにあっても実施可能である。プロセッサ６１０は、メモリ上のプログラムの命令データを読み込み実行し、所望の機能を実現する。また、プログラミング装置１００とコントローラ３００と通信するために、プロセッサ６１０は通信ＩＦ６３０と通信ネットワーク６５０を介して通信を行うようになっている。
【００６３】
解釈プログラム６０２とＨＴＴＰサーバ６０３、ＸＭＬパーサ６０１は、図１又は図８の解釈制御部２１０の機能に対応する。同様に、取得プログラム６０４は変換データ取得部２２０、変換プログラム６０５は変換実行部２３０に相当する。また、不揮発記憶装置６２０は記憶装置２４０の機能を兼ねる。ＯＳ６０６は、これらのプログラムを実行するための基本ソフトウェアであり、ハードウェアを制御するドライバや、通信プロトコルのソフトウェア群、プログラムの資源を管理するスケジューラ等から成る。
【００６４】
次に、図１０に示すデータ形式変換装置２００の動作を説明する。ＨＴＴＰサーバ６０３では、プログラミング装置１００からのメッセージを受信し、解釈プログラム６０２を起動する。解釈プログラム６０２は、ＨＴＴＰサーバ６０３のＣＧＩプログラムとして実装されるのが好適である。メッセージを受けた解釈プログラム６０２は、ＸＭＬ形式で記述されたメッセージをＸＭＬパーサ６０１に通知し、妥当性検証及び解釈を行う。そして、解釈の結果抽出された変換タイプを取得プログラム６０４に渡す。
【００６５】
取得プログラム６０４は、不揮発記憶装置６２０を検索して、対応する変換タイプの変換オブジェクトを獲得する。対応する変換タイプの変換オブジェクトが不揮発記憶装置６２０に存在しなければ、図９のフローチャートに従い、通信ネットワーク６５０を介して、データ形式変換装置２００の外部から取得する。その後、取得プログラム６０４は取得した変換オブジェクトを用いて、変換プログラム６０５の設定を行う。取得プログラム６０４により変換プログラム６０５の設定完了が解釈プログラム６０２に通知されると、解釈プログラム６０は変換プログラム６０５に受信したメッセージを通知し、受信されたメッセージの変換を依頼する。変換されたメッセージは、変換プログラム６０５よりコントローラ３００に送信される。
【００６６】
変換プログラム６０５としては、プロセッサ６１０の機械語にて記述された直接実行可能プログラムのみならず、プラットフォーム独立の中間言語で記述された変換プログラムを利用しても良い。例えば、変換プログラム６０５を、Ｊａｖａ（登録商標）等の仮想機械（ＶＭ）と、仮想機械上で実行されるＪａｖａバイトコード等の中間言語プログラムにより構成する。そして、コントローラ３００に依存する部分を中間言語プログラムで実装することで、コントローラ３００に対応する変換プログラムをデータ形式変換装置２００のプロセッサアーキテクチャ毎に用意する必要がなくなる。この場合の中間言語プログラムは、図８に示したように、コントローラ３００の記憶装置３２０又は外部の記憶装置４３０に格納する。
【００６７】
このように構成されることから、本実施形態によれば、図１の実施形態と同一の効果が得られる他、遠隔からコントローラ３００を管理することができる。また、利用可能なプログラミング装置として、プラットフォーム独立な言語を実行可能な計算機とすることで、計算機アーキテクチャやＯＳに依存することなくプログラミング装置を構成できる。その結果、コントローラ３００のユーザは、長期に渡り安定してプログラムの管理をすることができる。
（第５の実施の形態）
図１１に、本発明の更に他の実施の形態に係るコントローラ管理システムの全体構成を示す。本実施形態は、前述した他の実施形態に比べて次の点が異なる。すなわち、コントローラ３００は記憶装置３０１とは別に記憶装置３３０を有する。この記憶装置３３０は、プログラミング装置１００から送信されるデータを格納可能に形成され、変換実行部２３０’は記憶装置３３０からデータを取得可能に構成されている。
【００６８】
図１２に、本実施形態の処理流れのシーケンス図を示す。なお、図１２のシーケンス図における事象に付加された番号は、断りのない限り図５に示した事象と同一である。図示のように、プログラミング装置１００は、作成したプログラム部分をコントローラ３００の記憶装置３３０に送信する（事象５２０）。その後、プログラム部分を省略したメッセージをデータ形式変換装置２００に送信する（事象５００）。ここで、メッセージには、プログラム等が外部に格納される旨の情報を含める。望ましくは、プログラム部分を示すタグの属性として、プログラムが格納されるＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）の情報を含める。その後の事象５０１から事象５０７は、図５の対応する事象と同様である。受信メッセージの通知を事象５０７で受けた変換実行部２３０’は、受信したメッセージによって外部にプログラムが格納されている旨を認識し、コントローラ３００にプログラムを要求する（事象５２１）。その後、解釈制御部２１０から通知されたメッセージと、取得したプログラムとから変換実行部２３０’にてプログラムの変換を行い、メッセージをコントローラ３００に送信する（事象５０８）。
【００６９】
コントローラ３００を制御するプログラム等は、作成した後にも管理のためにプログラム原本が必要となることが多々ある。そのような場合でも本実施形態によれば、作成したプログラム原本をコントローラ自身が保有することになるので、プログラムを開発したプログラミング装置１００だけでなく、他のプログラミング装置においても、コントローラ３００にアクセスしてデータ形式を逆変換することなく、プログラムの変更、参照が可能となる。
【００７０】
上述したように、本実施形態によれば、図１の実施形態の効果に加えて、プログラミング装置１００にて生成されたプログラム等の原本、望ましくはＸＭＬ形式にて記述されたプログラム原本を、コントローラ３００に保存するようにしているので、プログラミング装置１００が異なる装置に代っても、長期に渡ってコントローラ３００のプログラム等の管理が容易になる。
（第６の実施の形態）
図１３に、本発明の他の実施の形態に係るコントローラ管理システムの全体構成を示す。本実施の形態は、先に説明した実施形態の構成と比べて次の点が異なる。すなわち、プログラミング装置１００ａ〜１００ｎはブラウザ１１１を有して構成される。また、プログラミング装置１００ａ〜１００ｎはデータ形式変換装置の機能を備えて構成される。さらに、コントローラ３００は、記憶装置３０１、記憶装置３３０、サーバ３１０と記憶装置３２０を備えて構成される。また、複数のプログラミング装置１００ａ〜１００ｎは、通信ネットワーク６５１を介してコントローラ３００に接続されている。
【００７１】
本実施形態の処理流れを、図１４に示すシーケンス図に従って説明する。図１４における事象に付加された番号は、断りのない限り図１２における事象と同一である。まず、プログラミング装置１００ａはブラウザを起動する（事象５４０）。その後ユーザの指示（例えば、ＵＲＬの入力）により、エディタ１１０のプログラムをコントローラ３００へ要求する（事象５４１）。ここで、エディタ１１０がＪａｖａバイトコード等の中間言語プログラムで用意されていれば、コントローラ３００にてプログラミング装置のアーキテクチャ毎に変換プログラムを用意しなくても良いから好適である。その後、取得したエディタ１１０にて、コントローラ３００に対するプログラムを記述する（事象５４２）。事象５２０から始まり事象５０８に至るまでの動作は、図１２における事象と同様である。
【００７２】
本実施形態によれば、プログラミング装置１００ａ〜１００ｎは、コントローラ３００のプログラムやコントローラ３００に関するデータを持たなくても、コントローラ３００のプログラムを作成、編集等することができる。さらに、コントローラ３００にエディタ等のプログラム編集手段を格納することにより、異なるプログラミング装置間でコントローラ３００を制御するプログラムを管理することが可能となる。例えば、ＪａｖａのＶＭを実行する複数の携帯電話から、一つのコントローラ３００のプログラムを管理することが可能である。つまり、エディタや変換オブジェクトをＪａｖａバイトコード等の中間言語プログラムで用意することで、携帯電話のような計算機であっても、プログラミング装置として利用することが可能となる。その結果、場所や時間を選ばずに、コントローラ３００を管理することが可能となる。
【００７３】
さらには、本実施形態に示す構成より、記憶装置２４０を省略することが可能となる。これにより、プログラミング装置１００をより安価に構成することができる。
（第７の実施の形態）
図１５に、本発明に係る一実施の形態のプログラミング装置の編集画面に関する一例を示す。メインウィンドウ７００は、エディット画面７０１とコントローラタイプセレクタ７０２を有する。コントローラのプログラム等を作成するユーザは、エディット画面７０１上でコントローラ３００を制御するプログラム等を編集する。例えば、ＩＥＣ６１１３１−３に準拠した制御記述言語を利用することができる。又は、テキストで記述する等が考えられる。さらに、ユーザは、エディタが生成する標準形式のプログラムを、どのコントローラに適するタイプに変換するか、例えば図示のように、「ＰＬＣ−Ａ、ＰＬＣ−Ｂ、ＰＬＣ−Ｃ、…ＰＬＣ−Ｘ」の中から「ＰＬＣ−Ｂ」をコントローラタイプセレクタ７０２で指定する。コントローラタイプセレクタ７０２で選んだタイプは、直接的あるいは間接的に図２に示したコントローラタイプを示すデータに反映される。
【００７４】
【発明の効果】
以上述べたように、本発明のデータ形式変換装置によれば、プログラム等のデータ形式を異なるデータ形式に変換することができる。
【００７５】
また、本発明のコントローラ管理システムは、異なる種類のコントローラを管理することができ、高い汎用性ないし柔軟性を有するものとすることができる。
【００７６】
また、本発明のコントローラ管理システムによれば、異なる種類のコントローラを遠隔から管理制御することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るコントローラ管理システムの全体構成を示すブロック図である。
【図２】本発明に係るプログラミング装置から出力されるＸＭＬ形式のメッセージの一例を示す図である。
【図３】図２のＸＭＬ形式メッセージの変形例を示す図である。
【図４】変換元のメッセージと変換後のメッセージのデータ形式を対比して説明する図である。
【図５】図１のコントローラ管理システムの動作を説明するシーケンス図である。
【図６】本発明の第２の実施形態に係る変換実行部の具体的な構成を示す図である。
【図７】図７の変換実行部で使用する変換プロファイルの一例を示す図である。
【図８】本発明の第３の実施形態に係るコントローラ管理システムの全体構成を示すブロック図である。
【図９】図８の実施形態に係る変換データ取得部の処理手順を示すフローチャートである。
【図１０】本発明の第４の実施形態に係るコントロール管理システムの全体構成を示し、特にデータ形式変換装置の詳細な構成を示す図である。
【図１１】本発明の第５の実施形態に係るコントロール管理システムの全体構成を示す図である。
【図１２】図１１のコントローラ管理システムの動作を説明するシーケンス図である。
【図１３】本発明の第６の実施形態に係るコントロール管理システムの全体構成を示す図である。
【図１４】図１３のコントローラ管理システムの動作を説明するシーケンス図である。
【図１５】本発明の第７の実施形態に係るプログラミング装置のプログラム編集画面の一例である。
【符号の説明】
１００、１００ａ〜１００ｎ…プログラミング装置
１１０…エディタ
１１１…ブラウザ
２００…データ形式変換装置
２１０…解釈制御部
２２０…変換データ取得部
２３０、２３０’　…変換実行部
２４０…記憶装置
２５０…変換実行部
２５１…変換処理機能
２５２ａ〜２３２ｘ…プロファイル
３００…コントローラ
３０１、３２０、３３０、４３０…記憶装置
３１０、４２０…サーバ
４００…制御対象、
４１０…通信ネットワーク
【図１】
2004038876.tif 000003
【図２】
2004038876.tif 000004
【図３】
2004038876.tif 000005
【図４】
2004038876.tif 000006
【図５】
2004038876.tif 000007
【図６】
2004038876.tif 000008
【図７】
2004038876.tif 000009
【図８】
2004038876.tif 000010
【図９】
2004038876.tif 000011
【図１０】
2004038876.tif 000012
【図１１】
2004038876.tif 000013
【図１２】
2004038876.tif 000014
【図１３】
2004038876.tif 000015
【図１４】
2004038876.tif 000016
【図１５】
2004038876.tif 000017