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