(57)【要約】【課題】ゲートウェイ装置による情報変換により制御装置と被制御装置の組み合わせの柔軟性に富んだ製造システム、およびこれを実現するゲートウェイ装置、ゲートウェイプログラムを得ること。【解決手段】制御装置は、被制御装置に対する制御要求が抽象仕様で記述される制御要求情報を記憶する記憶手段を備え、記憶された制御要求情報を前記ゲートウェイ装置に送信し、ゲートウェイ装置は、受信した制御装置からの制御要求情報をドライバ手段を制御するドライバ制御情報に変換する変換手段と、ドライバ制御情報を被制御装置の仕様に対応した被制御装置制御情報に変換するドライバ手段と、を備え、被制御装置制御情報を被制御装置に送信し、被制御装置は、受信したゲートウェイ装置からの被制御装置制御情報に従って被制御装置を制御する制御手段を備える。【選択図】        図３
2005269597.tif 000002
【特許請求の範囲】
【請求項１】
制御装置と、該制御装置により制御される被制御装置と、前記制御装置と被制御装置との間で情報変換を行うゲートウェイ装置と、を備える製造システムであって、
前記制御装置は、前記被制御装置に対する制御要求が抽象仕様で記述される制御要求情報を記憶する記憶手段を備え、記憶された制御要求情報を前記ゲートウェイ装置に送信し、
前記ゲートウェイ装置は、受信した前記制御装置からの前記制御要求情報をドライバ手段を制御するドライバ制御情報に変換する変換手段と、前記ドライバ制御情報を前記被制御装置の仕様に対応した被制御装置制御情報に変換するドライバ手段と、を備え、前記被制御装置制御情報を前記被制御装置に送信し、
前記被制御装置は、受信した前記ゲートウェイ装置からの被制御装置制御情報に従って前記被制御装置を制御する制御手段を備えること、
を特徴とする製造システム。
【請求項２】
前記ゲートウェイ装置の前記変換手段は、前記制御要求情報と前記ドライバ制御情報との対応情報を記憶した記憶手段を有し、該対応情報に基づいて前記制御要求情報を前記ドライバ制御情報に変換すること
を特徴とする請求項１に記載の製造システム。
【請求項３】
前記ゲートウェイ装置の前記ドライバ手段は、前記ドライバ制御情報と前記被制御装置制御情報との対応情報を記憶した記憶手段を有し、該対応情報に基づいて前記ドライバ制御情報を前記被制御装置制御情報に変換すること
を特徴とする請求項１に記載の製造システム。
【請求項４】
異なる仕様の前記制御手段に個別に対応する前記ドライバ手段を複数備えること
を特徴とする請求項１に記載の製造システム。
【請求項５】
制御装置と該制御装置により制御される被制御装置との間で情報変換を行うゲートウェイ装置であって、
前記制御装置から受信する前記被制御装置に対する制御要求が抽象仕様で記述される制御要求情報を、ドライバ手段を制御するドライバ制御情報に変換する変換手段と、
前記ドライバ制御情報を前記被制御装置の仕様に対応した被制御装置制御情報に変換するドライバ手段と、を備え、
前記被制御装置制御情報を前記被制御装置に送信すること、
を特徴とするゲートウェイ装置。
【請求項６】
前記変換手段は前記制御要求情報と前記ドライバ制御情報との対応情報を記憶した記憶手段を有し、該対応情報に基づいて前記制御要求情報を前記ドライバ制御情報に変換すること
を特徴とする請求項５に記載のゲートウェイ装置。
【請求項７】
前記ドライバ手段は前記ドライバ制御情報と前記被制御装置制御情報との対応情報を記憶した記憶手段を有し、該対応情報に基づいて前記ドライバ制御情報を前記被制御装置制御情報に変換すること
を特徴とする請求項５に記載のゲートウェイ装置。
【請求項８】
異なる前記制御手段に個別に対応する前記ドライバ手段を複数備えること
を特徴とする請求項５に記載のゲートウェイ装置。
【請求項９】
制御装置と該制御装置により制御される被制御装置との間の情報変換を行うゲートウェイプログラムであって、
前記制御装置から受信した前記制御要求情報をドライバ制御情報に変換するステップと、
前記ドライバ制御情報を前記被制御装置の仕様に対応した被制御装置制御情報に変換するステップと、
をコンピュータに実行させることを特徴とするゲートウェイプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置と、該制御装置により制御される被制御装置と、前記制御装置と被制御装置との間で情報変換を行うゲートウェイ装置とを備えた製造システムおよびこれを実現するゲートウェイ装置、ゲートウェイプログラムに関するものである。
【背景技術】
【０００２】
従来、生産設備として実際にワークの加工、洗浄、運搬などに携わる各種の工作機械や段取装置、洗浄装置、作業指示装置、搬送装置などの制御対象設備と、これらの制御対象設備の運用のための加工日程計画や加工順序情報、使用予定治具情報などの基本情報を処理して運転スケジュールを作成しながらこれらの制御対象設備を統括的に運転制御する制御装置とが、ネットワークで接続された構成を有するフレキシブル生産システムが提案され、普及してきている。
【０００３】
このようなフレキシブル生産システムの一例としては、上記制御装置を上記制御対象設備の機能要素ごとに分割して複数配置して、機能要素ごとに制御対象設備の運転制御を行うようにすると共に、制御対象設備の運転制御に用いられる制御情報伝送用の通信回線と、フレキシブル生産システムの運用管理に用いられる運用情報伝送用の通信回線とを別々に設けて、システム全体としての情報の流れを円滑かつ高効率にしたものなどがある（たとえば、特許文献１参照）。
【０００４】
【特許文献１】特開平１−２３４１４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のフレキシブル生産システムなどにおいては、制御対象設備や制御装置は異なるベンダのものを組み合わせて構築される場合が多く存在する。このような場合、ベンダごとに制御対象設備に設定されるパラメータの意味や制御対象設備や制御装置で使用されるデータフォーマット、インターフェイスモデルなどが異なる。      
【０００６】
デファクト標準としてのコントローラ対応共通インターフェイスモデルを提供するものとして、たとえばＥＺＳｏｃｋｅｔ、ＭＯＩＩ（Manufacturing  Operation  Information  Interface）、ＯＲＩＮ（Open  Robot  Interface  for  The  Network）などがあるが、これらは装置としての統一されたモデルではなく、装置を構成するコントローラとしての汎用的な機能をベースとしているため、装置の何をコントロールするかという具体的情報への変換をアプリケーションで実施する必要があった。
【０００７】
また、これら以外にもデファクトとして各種のインターフェイスモデルが乱立されており、このようなインターフェイスモデルを使用する場合には、それぞれにそのアクセスを実行可能とするアプリケーションを設計する必要があった。すなわち、制御装置には、該制御装置が運転制御を行う制御対象設備ごとに（制御対象設備の仕様毎に）アプリケーションが必要となり、制御装置と制御対象設備との組み合わせに汎用性がないという問題があった。また、このアプリケーションを開発するための作業が必要であり、この作業を制御対象設備ごとに行うために、アプリケーションの開発者に大きな負荷が掛かるという問題もあった。
【０００８】
本発明は、上記に鑑みてなされたものであって、ゲートウェイ装置による情報変換により制御装置と被制御装置の組み合わせの柔軟性に富んだ製造システム、およびこれを実現するゲートウェイ装置、ゲートウェイプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明にかかる製造システムは、制御装置と、該制御装置により制御される被制御装置と、制御装置と被制御装置との間で情報変換を行うゲートウェイ装置と、を備える製造システムであって、制御装置は、被制御装置に対する制御要求が抽象仕様で記述される制御要求情報を記憶する記憶手段を備え、記憶された制御要求情報をゲートウェイ装置に送信し、ゲートウェイ装置は、受信した制御装置からの制御要求情報をドライバ手段を制御するドライバ制御情報に変換する変換手段と、ドライバ制御情報を被制御装置の仕様に対応した被制御装置制御情報に変換するドライバ手段と、を備え、被制御装置制御情報を被制御装置に送信し、被制御装置は、受信したゲートウェイ装置からの被制御装置制御情報に従って被制御装置を制御する制御手段を備えること、を特徴とする。
【発明の効果】
【００１０】
この発明によれば、被制御装置を制御するアプリケーションと被制御装置の組み合わせに自由度を持たせることができ、アプリケーションと被制御装置との種々の組み合わせに柔軟に対応可能な製造システムが実現できるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明にかかる製造システムおよびゲートウェイ装置、ゲートウェイプログラムの実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１２】
まず、本発明の概要を従来の実情と比較して説明する。従来、生産設備として実際にワークの加工、洗浄、運搬などに携わる各種の工作機械などの制御対象設備と、これらの制御対象設備の運用のための加工日程計画や加工順序情報などの基本情報を処理して運転スケジュールを作成しながら、これらの制御対象設備を統括的に運転制御する制御装置とが、ネットワークで接続された構成を有するフレキシブル生産システムが提案されている。しかしながら、従来のフレキシブル生産システムでは、図１に示すように、制御装置のアプリケーションと該制御装置により制御される被制御装置とは１：１の関係にあり、各被制御装置に対しては該被制御装置に仕様毎に専用のアプリケーションが必要とされている。
【００１３】
たとえば図１を参照して説明すると、被制御装置Ａ２０Ａには該被制御装置Ａ２０Ａの制御専用のアプリケーションＡ１０Ａが用意され、被制御装置Ｂ２０Ｂには該被制御装置Ｂ２０Ｂの制御専用のアプリケーションＢ１０Ｂが用意される。そして、被制御装置Ｍ２０Ｍには該被制御装置Ｍ２０Ｍの制御専用のアプリケーションＭ１０Ｍが用意され、被制御装置Ｎ２０Ｎには該被制御装置Ｎ２０Ｎの制御専用のアプリケーションＮ１０Ｎが用意される。すなわち、被制御装置がＮ個ある場合には、それぞれを制御する専用のアプリケーションがＮ個必要とされる。これは、ベンダごとに被制御装置に設定されるパラメータの意味や被制御装置や制御装置で使用されるデータフォーマット、インターフェイスモデルなどが異なるためである。
【００１４】
この場合、被制御装置Ａ２０Ａを新製品の被制御装置ＡＡ（図示せず）に交換する際には、被制御装置ＡＡをアプリケーションＡ１０Ａで制御することはできず、アプリケーションＡ１０Ａも被制御装置ＡＡ専用のアプリケーションＡＡ（図示せず）に交換しなくてはならない。また、たとえばアプリケーションＡ１０Ａが故障した場合には、アプリケーションＢ１０Ｂなど他のアプリケーションにより被制御装置Ａ２０Ａを制御することはできず、アプリケーションＡ１０Ａと同じアプリケーションに入れ替えるか補修するまで被制御装置Ａ２０Ａを動作させることができない。すなわち、従来の方式では、アプリケーションと被制御装置には組み合わせの自由度が無かった。同様に、１つの被制御装置内に仕様の異なるコントローラが複数存在する場合には、そのコントローラ毎にアプリケーションが必要となっていた。
【００１５】
それに対して、本発明においては図２に示すようにゲートウェイ装置３５を介して、制御装置３１に備える一つのアプリケーション３２（複数のアプリケーションでも可）で複数の被制御装置（被制御装置Ａ４０Ａ〜被制御装置Ｎ４０Ｎ）を制御可能とするものである。これにより、たとえば被制御装置Ａ４０Ａを被制御装置ＡＡ（図示せず）に交換した場合でも、既存のアプリケーション３２により被制御装置ＡＡを制御可能である。また、新たな被制御装置Ｐ（図示せず）を導入した場合においても、既存のアプリケーション３２により被制御装置Ｐを制御することが可能である。
【００１６】
すなわち、本発明は、アプリケーションと被制御装置との組み合わせに自由度をもたせることにより、柔軟性に富んだフレキシブル生産システムを実現するものである。なお、図２においては、アプリケーションを１つだけ表示してあるが、本発明においてアプリケーションは一つに限定されるものではなく、複数使用することも当然可能である。
【００１７】
図３は、本発明にかかる製造システムの実施の形態の一例を示す概略構成図である。図３に示すように、本発明にかかる製造システムは、制御装置１００と、ゲートウェイ装置１１０と、被制御装置１４０と、がそれぞれ通信回線１５４、１５６により接続されて構成される。
【００１８】
制御装置１００は、被制御装置１４０を制御するものであり、たとえば汎用の計算機などを使用することができる。制御装置１００は、被制御装置１４０に対する制御要求が抽象仕様で記述された制御要求情報を記憶する記憶手段である記憶部１０４とゲートウェイ装置１１０に制御要求処理を実行するクライアント−エンティティ１０６とを備えて被制御装置１４０の制御を行うアプリケーション１０２と、ゲートウェイ装置１１０と通信する通信手段である通信部１０８と、を備えて構成される。
【００１９】
アプリケーション１０２は、ユーザの所定の指示に基づいて被制御装置１４０を制御するために、ゲートウェイ装置１１０に制御要求情報を送信する。ユーザは、アプリケーション１０２が有する制御要求情報の中から所望の制御を選択することにより被制御装置１４０の制御を行うことができる。図３においては理解容易のためにアプリケーションを１つのみ記載してあるが、本発明においては、アプリケーションは単独ではなく制御装置内に複数存在することも可能である。
【００２０】
ここで、被制御装置１４０に対する制御要求が抽象仕様で記述された制御要求情報は、制御装置１００からアクセス（要求）可能な、すなわち被制御装置１４０が実行可能なインターフェイスの集合である。
【００２１】
また、制御要求情報には後述するゲートウェイ装置１１０のドライバの選択情報も付随情報として含まれる。ドライバは後述するようにゲートウェイ装置内において複数存在可能であり、このドライバの選択情報は、ドライバが複数存在する場合に後述するゲートウェイ装置内の変換手段がドライバの選択を行う際に用いられる情報である。
【００２２】
制御装置１００からアクセス（要求）可能なインターフェイスは、被制御装置１４０およびその構成機器の設備仕様書、機械設計書、制御Ｓ／Ｗ設計書、制御盤設計書、コントローラ仕様書などから得られるものである。そして、制御装置１００が複数の被制御装置１４０の制御要求情報、すなわちインターフェイスを有することにより、１つのアプリケーションで複数の被制御装置の制御を行うことが可能である。
【００２３】
そして、このインターフェイスの内容は、被制御装置１４０のケーパビリティ記述における外部に提供するインターフェイスの全体集合、被制御装置１４０を構成する要素デバイス（構成機器）のケーパビリティ記述における外部に提供するインターフェイスの全体集合、後述するゲートウェイ装置１１０が提供するゲートウェイ装置独自のインターフェイス（ゲートウェイ装置独自ケーパビリティ）が該当する。ここで、ケーパビリティは、被制御装置１４０および該被制御装置を構成する各機器の機能をインターフェイス記述言語にて定義するものである。
【００２４】
このようなケーパビリティとしては、被制御装置１４０および該被制御装置を構成する各機器の実行する機能として、たとえばアクセス管理、ジョブ管理、運転管理、搬入／搬出管理、性能管理、診断、日時管理、イベント管理、ワーク管理、工具管理、レシピ／加工実行、アラーム管理、オブジェクト管理、レシピ／加工データ管理、などの種々の機能が記述される。また、このケーパビリティは、抽象仕様で記述される。すなわち、ケーパビリティ記述においては、各ベンダ特有のスペックなどの記述は除外されており、装置、機器の有する機能のみが定義され、抽象インターフェイス記述言語、たとえばＩＤＬ（Interface Defintion Language）により記述される。
【００２５】
通信部１０８は、ゲートウェイ装置１１０と通信する通信手段であり、各種の情報データの授受を行う。制御装置１００が被制御装置１４０の制御を行う際は、通信部１０８を介して制御要求情報がゲートウェイ装置１１０に送信され、また、被制御装置１４０およびゲートウェイ装置１１０から各種の情報が戻された場合には、通信部１０８においてそれらの情報を受信する。
【００２６】
ゲートウェイ装置１１０は、制御装置１００と被制御装置１４０との間にそれぞれと通信可能に接続され、制御装置１００と被制御装置１４０との環境の違いを吸収して、異なる仕様で構築された制御装置１００と被制御装置１４０との間の情報交換を可能とするものである。具体的には、制御装置１００と被制御装置１４０との間で情報データ変換を行う。これにより、制御装置１００からの情報は、ゲートウェイ装置１１０において、被制御装置１４０で解釈、動作可能なデータ情報に変換されて被制御装置１４０に入力される。また、被制御装置１４０からのデータ情報は制御装置１００で解釈可能なデータ情報に変換されて制御装置１００に入力される。これにより、制御装置１００と被制御装置１４０とが同一の仕様で構築されていなくても、その仕様の違いを吸収して制御装置１００と被制御装置１４０との間の情報交換を可能とし、汎用性の高い被制御装置１４０の制御が可能となる。
【００２７】
ゲートウェイ装置１１０は、第１の通信部１１２と、サーバ−エンティティ１１４と、ドライバ１１６と、データベース１１８と、第２の通信手段１２０と、を備えて構成される。
【００２８】
第１の通信部１１２は、制御装置１００との通信を行う通信手段であり、各種の情報データの授受を行う。制御装置１００が被制御装置１４０の制御を行う際は、制御装置１００から送信された制御要求情報を通信部１１２が受信し、また、被制御装置１４０およびゲートウェイ装置１１０から各種の情報を制御装置１００に戻す場合には、通信部１１２においてそれらの情報を送信する。
【００２９】
サーバ−エンティティ１１４は、上述したクライアント−エンティティ１０６とクライアント−サーバアーキテクチャを構築し、クライアント−エンティティ１０６からの制御要求に応じて機能するものである。サーバ−エンティティ１１４は、第１の通信部１１２において受信した制御装置１００（クライアント−エンティティ１０６）からの制御要求情報を、ドライバ１１６を動作させるためのドライバ制御情報に変換する変換手段である。ここで、制御要求情報のドライバ制御情報への変換は、サーバ−エンティティ１１４が有する記憶部１２２に記憶された、制御要求情報とドライバ制御情報との対応情報リストに基づいて行われる。なお、ドライバ制御情報は未だ被制御装置の仕様に対応した形式ではなく、抽象記述形式の情報である。また、ドライバ１１６は後述するように複数存在可能であり、ドライバ１１６が複数存在する場合は、制御要求情報に含まれるドライバの選択情報に基づいてドライバの選択もこのサーバ−エンティティ１１４において行われる。なお、制御要求情報とドライバ制御情報との対応情報リストは、データベース１１８に記憶する形態とすることも可能である。また、この対応情報リストには、後述するように被制御装置１４０からの返却値がサーバエンティティ１１４で解釈可能なデータ情報にドライバ１１６において変換された返却値情報を、制御装置１００で解釈可能なデータ情報に変換するための逆変換対応情報も含まれている。なお、この逆変換対応情報は逆変換対応情報リストとして個別のリストとして保持しても良い。また、ここでの返却値とは、異常値情報、エラー値情報、動作確認情報など、下位のデバイスから送信されてくる種々のものを含む。
【００３０】
ドライバ１１６は、変換手段であるサーバ−エンティティ１１４で変換された、ドライバ１１６を動作させるためのドライバ制御情報を、被制御装置１４０に送信する該被制御装置１４０およびその構成機器の仕様と、接続される通信環境と、に対応した被制御装置制御情報（各被制御装置１４０に対応した装置対応コマンド）に変換する。ドライバ１１６は、該ドライバ１１６の記憶部１２４に記憶されている、ドライバ制御情報と被制御装置制御情報（装置対応コマンド）との対応を記述した対応情報リストに基づいてドライバ制御情報を被制御装置制御情報（装置対応コマンド）に変換する。なお、ドライバ制御情報と被制御装置制御情報（装置対応コマンド）との対応を記述した対応情報リストは、データベース１１８に記憶する形態とすることも可能である。また、この対応情報リストには、被制御装置１４０で解釈可能なデータ情報として被制御装置１４０からゲートウェイ装置１１０に返却された返却値を、上位のサーバエンティティ１１４において解釈可能なデータ情報に変換するための逆変換対応情報リストも含まれている。なお、この逆変換対応情報は逆変換対応情報リストとして個別のリストとして保持しても良い。また、ここでの返却値とは、異常値情報、エラー値情報、動作確認情報など、下位のデバイスから送信されてくる種々のものを含む。
【００３１】
このドライバ１１６は、被制御装置内において該被制御装置１４０をおよびその構成機器を制御するコントローラ１４４に１：１で対応するものであり、被制御装置１４０のコントローラ１４４と同数だけ用意される。たとえば、図４に示すように被制御装置が被制御装置１６４一つであり且つその中に含まれるコントローラがコントローラＡ１６６の一つである場合には、ゲートウェイ装置１６０にはコントローラ１６６に対応するドライバＡ１６２が一つ必要となる。また、図５に示すように被制御装置が被制御装置１６４の一つであり、その中に含まれるコントローラがコントローラＡ１６６とコントローラＢ１７０との二つである場合には、ゲートウェイ装置１６０にはコントローラＡ１６６およびコントローラＢ１７０にそれぞれ対応するドライバＡ１６２とドライバＢ１６８の二つが必要となる。また、図６に示すように被制御装置が被制御装置Ａ１６４と被制御装置Ｂ１７２の二つであり、被制御装置Ａ１６４にはコントローラＡ１６６が含まれ、被制御装置Ｂ１７２にはコントローラＢ１７０とコントローラＣ１７６とが含まれる場合には、ゲートウェイ装置Ａ１６０にはコントローラＡ１６６、コントローラＢ１７０およびコントローラＣ１７６のそれぞれ対応するドライバＡ１６２とドライバＢ１６８とドライバＣ１７４との三つが必要となる。なお、図４〜図６においては、ゲートウェイ装置および被制御装置において、ドライバおよびコントローラ以外の構成は省略して記載している。
【００３２】
データベース１１８は、各種データファイルが記憶される記憶手段である。たとえばデータベース１１８が、制御要求情報とドライバ制御情報との対応を記述した対応情報リストファイルを記憶している場合は、サーバ−エンティティでは、このデータベース１１８に記憶されたデータファイルに基づいて制御要求情報をドライバ制御情報へ変換する。また、データベース１１８がドライバ制御情報と被制御装置制御情報（装置対応コマンド）との対応を記述した対応情報リストファイルを記憶している場合は、ドライバ１１６では、このデータベース１１８に記憶されたデータファイルに基づいてドライバ制御情報を被制御装置制御情報（装置対応コマンド）に変換する。
【００３３】
また、データベース１１８には、リソース名変換ファイル１２６が記憶される。このリソース名変換ファイル１２６は、ケーパビリティ記述された被制御装置１４０およびその構成機器のインターフェイス内の特定ビットの実装アドレスと、その実装アドレスに対応する特定ビットの属性値名（論理名）との対応を記述した対応情報リストである。被制御装置１４０およびその構成機器においては、特定のハードウエアレジスタ（ワードレジスタ、バイトレジスタ）内の特定のビットを指定することが多い。この指定は、従来は実装アドレスで行われているが、実装アドレスは長い記述になるため、指定の間違いなどが生じやすく、またそのスペックがわかりづらい。
【００３４】
そこで、本発明においては抽象インターフェイス言語（たとえばＩＤＬ）によるケーパビリティ記述において、上述した被制御装置１４０およびその構成機器の特定のビットを論理名で記述する。そして、ゲートウェイ装置１１０がデータベース１１８にリソース名変換ファイル１２６を有することにより、論理名をリソース名変換ファイル１２６に基づいて上述した特定のビットの実装アドレスに変換することができる。この変換はドライバ１１６がデータベース１１８内のリソース名変換ファイル１２６を参照することにより行われる。これにより、ドライバ１１６よりも上位の環境においては、被制御装置１４０およびその構成機器のリソースは、論理名により記述、特定され、情報伝達される。そして、ドライバ１１６よりも下位の環境、すなわち被制御装置１４０およびその構成機器内においては、従来と同様の実装アドレスで指定、情報伝達される。
【００３５】
これにより、アプリケーション側から見た際に被制御装置１４０およびその構成機器の特定のビットのスペックを容易に認識することができ、また、指定の間違いなどを防止することができる。
【００３６】
以下に、リソース名変換ファイル１２６に含まれる記述であり、任意のリソースの論理名−実装アドレスの対応記述の一例を示す。
【００３７】
＜リソース論理名−実装アドレスの対応記述（一例）＞
「Ｘｘｘ：ａｂｃ１００１．ｘｙｚ２０００．ｒｅｇ５．ｂｉｔ７」
【００３８】
上記に示したリソースの論理名−実装アドレスの対応記述は、論理名「Ｘｘｘ」は、「ａｂｃ１００１」というリソースの、「ｘｙｚ２０００」というコントローラの、「５番」のレジスタの、「１６ビットの７番」、という実装アドレスに対応することを示している。
【００３９】
第２の通信部１２０は、被制御装置１４０との通信を行う通信手段であり、各種の情報データの授受を行う。被制御装置１４０の制御を行う際は、第２の通信部１２０は、ドライバ１１６で変換された被制御装置制御情報（コマンド）を被制御装置１４０に送信する。また、被制御装置およびその構成機器から各種の情報を制御装置に戻す場合には、第２の通信部１２０においてそれらの情報を受信する。なお、ここでは、第１の通信部１１２と第２の通信部１２０とを独立して説明しているが、第１の通信部１１２と第２の通信部１２０との機能を一つの通信部で実行することも当然可能である。
【００４０】
また、上記の制御装置１００とゲートウェイ装置１１０、およびゲートウェイ装置１１０と被制御装置１４０との接続はネットワークを介して接続されても良く、個別の通信回線により接続されても良く、その接続形態は特に限定されず種々の接続形態を取ることが可能である。
【００４１】
被制御装置１４０は、通信部１４２と、コントローラ１４４と、被制御装置１４０を構成するロボット１４６、ＣＮＣ１４８、サーボ１５０などの構成機器（デバイス）を備えて構成される。
【００４２】
通信部１４２は、ゲートウェイ装置１１０との通信を行う通信手段であり、各種の情報データの授受を行う。制御装置１００が被制御装置１４０の制御を行う際は、ゲートウェイ装置１１０から送信された被制御装置制御情報（装置対応コマンド）を通信部１４２が受信し、また、被制御装置１４０およびその構成機器（デバイス）から各種の情報を制御装置に戻す場合には、通信部１４２においてそれらの情報をゲートウェイ装置１１０に送信する。
【００４３】
コントローラ１４４は、被制御装置制御情報に従って被制御装置１４０を制御する制御手段であり、通信部１４２において受信した、ゲートウェイ装置１１０のドライバ１１６から送信された被制御装置制御情報（装置対応コマンド）に従って、被制御装置１４０およびその構成機器を制御する。図３においてはコントローラを１つのみ記載しているが、このコントローラは被制御装置内においてデバイスの制御を分担させて複数設けることが可能である。このコントローラ１４４は、前述のゲートウェイ装置１１０のドライバ１１６と、コントローラ１４４の仕様別に、１：１で対応している。したがって、コントローラが複数存在する場合は、ゲートウェイ装置１１０にはそのコントローラの仕様に対応するドライバが設けられる。また、被制御装置１４０およびその構成機器（デバイス）から各種の情報を制御装置１００に戻す場合には、該情報は、コントローラ１４４を介してゲートウェイ装置１１０に送信される。
【００４４】
構成機器として、図３においてはロボット１４６、ＣＮＣ１４８、サーボ１５０などの機器を記載しているが、本発明においては、被制御装置１４０の構成機器はこれらの機器に限定されるものでなく、種々の機器、およびさらに多くの機器を制御可能である。また、構成機器とコントローラとの接続はネットワークを介して接続されても良く、個別の通信回線により接続されても良く、その接続形態は特に限定されず種々の接続形態を取ることが可能である。
【００４５】
つぎに、以上のように構成された製造システムにおける被制御装置１４０の制御について図７を用いて説明する。まず、ユーザが制御装置１００において、制御装置からアクセス要求可能な被制御装置に対する要求事項（制御要求情報）を選択、入力し（ステップＳ１１）、アプリケーション１０２を用いて制御要求情報をゲートウェイ装置１１０に送信する。この制御要求情報はクライアント−エンティティ１０６から通信部１０８を介して送信される。
【００４６】
ゲートウェイ装置１１０では、制御装置１００から送信された制御要求情報を第１の通信部１１２で受信する。そして、サーバ−エンティティ１１４がこの制御要求情報を、ドライバ１１６を動作させるためのドライバ制御情報に変換し、該ドライバ制御情報をドライバ１１６に送る（ステップＳ１２）。ここで、制御要求情報のドライバ制御情報への変換は、サーバ−エンティティ１１４が有する記憶部１２２に記憶された、制御要求情報とドライバ制御情報との対応情報リストに基づいて行われる。また、ドライバ１１６が複数存在する場合は、制御要求情報に含まれるドライバの選択情報に基づいてドライバの選択もこのサーバ−エンティティ１１４において行われる。
【００４７】
ドライバ１１６では、サーバ−エンティティ１１４から送信されたドライバ制御情報を、被制御装置１４０に送信する該被制御装置１４０およびその構成機器の仕様と、接続される通信環境と、に対応した被制御装置制御情報（装置対応コマンド）に変換する（ステップ１３）。すなわち、ドライバ１１６において、初めて制御指示が被制御装置１４０の仕様に対応した形式に変換される。ドライバ１１６は、該ドライバ１１６の記憶部１２４に記憶されている、ドライバ制御情報と被制御装置制御情報（装置対応コマンド）との対応を記述した対応情報リストに基づいてドライバ制御情報を被制御装置制御情報（装置対応コマンド）に変換する。そして変換した被制御装置制御情報（装置対応コマンド）を、第２の通信部１２０を介して被制御装置１４０に送信する。ここで、被制御装置１４０が複数ある場合、また、一つの被制御装置１４０内にコントローラ１４４が複数ある場合は、被制御装置制御情報（装置対応コマンド）内に含まれる被制御装置またはコントローラの選択情報により、被制御装置制御情報（装置対応コマンド）の送信先が適切に選択される。
【００４８】
被制御装置１４０では、ゲートウェイ装置１１０のドライバ１１６からの被制御装置制御情報（装置対応コマンド）を通信部１４２で受信する。そして、コントローラ１４４が、この被制御装置制御情報（装置対応コマンド）に従って被制御装置１４０およびその構成機器を制御する（ステップＳ１４）。以上の流れにより、制御装置１４０により被制御装置１４０を制御することができる。また、被制御装置から制御装置へ送られる返却値が存在する場合は、上記と逆の処理が行われる。すなわち、被制御装置１４０からの返却値がゲートウェイ装置１１０に送られると、該返却値はサーバエンティティ１１４で解釈可能なデータ情報に変換するための逆変換がドライバ１１６において行われる。つぎに、変換された返却値はサーバ−エンティティ１１４に送られ、制御装置１００で解釈可能な制御装置送信用の返却値情報に逆変換する。そして、変換された返却値情報が制御装置１００に送信され、制御装置１００ではこの返却値情報を受け取ることにより所定の処理を行う。
【００４９】
上記のように、この製造システムにおいては、被制御装置１４０を制御するための制御要求情報が抽象記述されており、制御装置１４０とゲートウェイ装置１１０との間では、抽象記述された制御情報により制御指示の伝達がなされる。これにより、ゲートウェイ装置１１０は、抽象記述された制御要求情報を有する任意のアプリケーションと確実に制御指示の伝達を行うことが可能である。そして、アプリケーションが、抽象記述された制御要求情報を持つことで、被制御装置１４０の仕様に関わらず任意のアプリケーションを用いることが可能となり、アプリケーションの選択の自由度が非常に大きくなる。
【００５０】
また、ゲートウェイ装置１１０が被制御装置１４０の仕様、詳しくはコントローラ１４４の仕様に対応したドライバ１１６を備えるため、制御装置１４０から抽象仕様で送られた制御指示情報を対応する被制御装置１４０の仕様に合わせた制御指示に変換することができる。これにより、被制御装置１４０を確実に制御することができる。そして、被制御装置を交換する場合には、新たな被制御装置に対応するドライバをゲートウェイ装置１１０に実装するだけで、アプリケーションを交換することなく、被制御装置を制御することができる。したがって、この製造システムにおいては、アプリケーションと被制御装置との組み合わせの自由度が非常に大きなものとされている。
【００５１】
上記においては、制御の流れとして図３に示すようにドライバ１１６からコントローラ１４４に被制御装置制御情報（装置対応コマンド）が送られて被制御装置１４０またはその構成機器の制御が行われる場合について説明したが、本発明においては、コントローラ１４４を介さずに制御を行う形態とすることも可能である。たとえば、制御装置１４０からの制御要求内容が、デバイス内にあるリソースの特定のビットに関する情報の収集である場合を考える。この場合、サーバ−エンティティ１１４からドライバ制御情報が専用のデバイスドライバ１１６ａに送られ、該デバイスドライバ１１６ａから被制御装置１４０にデバイス制御情報（デバイス対応コマンド）が送られる。そして、デバイスドライバ１１６ａからコントローラ１４４を介さずに図３の矢印Ｓのように被制御装置１４０内のネットワーク１５２にアクセスしてデバイス内、たとえばＣＮＣ内にあるリソースの特定のビットに関する情報の収集を行うという形態も取ることができる。
【００５２】
また、上記においては、制御の流れとして図８に示すようにサーバ−エンティティ１１４からドライバ制御情報がドライバ１１６に送られ、ドライバ１１６から被制御装置１４０（装置）に被制御装置制御情報（装置対応コマンド）が送られる形態について説明したが、本発明においては、この他の形態を取ることも可能である。たとえば、図９に示すようにサーバ−エンティティ１１４からまず第１ドライバ１１６ｂにドライバ制御情報が送られ、第１ドライバ１１６ｂで所定のコード変換が行われたドライバ制御情報が第２ドライバ１１６ｃに送られ、該第２ドライバ１１６ｃから被制御装置１４０（装置）に被制御装置制御情報（装置対応コマンド）が送られる形態を取ることもできる。また、図１０に示すようにサーバ−エンティティ１１４からドライバ制御情報がドライバ１１６ｄで処理を完了する形態も取ることができる。この場合、ドライバ１１６ｄ自体が所定の機能を実行する。実行する機能内容としては、たとえば、ドライバ１１６、デバイスドライバ１１６ａ対応コールの排他制御、インターフェイス実施履歴、インターフェイス実施のタイムスタンプと履歴のファイリング、インターフェイス授受データ構造の変換（コード、ビットバイトの変換など）などが一例として挙げられる。
【００５３】
また、以上のようなゲートウェイ装置１１０は、つぎにようにして構築することができる。まず、被制御装置１４０および該被制御装置１４０のデバイスの設備仕様書、機械設計書、制御Ｓ／Ｗ設計書、制御盤設計書、コントローラ仕様書など設計情報や機能情報、すなわちケーパビリティを共通の記述モデルに従って記述する。具体的には、たとえば抽象インターフェイス記述言語であるＩＤＬにより記述する。これらのケーパビリティは、被制御装置１４０およびデバイスの設計仕様書、機械設計書等からその全てを抽出して記述する。したがって、このケーパビリティには、被制御装置１４０およびその構成機器が実行可能な全ての機能が抽象インターフェイス記述言語により記述されており、このケーパビリティにより被制御装置１４０およびその構成機器の機能を把握することができる。
【００５４】
このようにケーパビリティを共通の記述モデルに従って記述することにより、設計データの削除、新規設計データの追加、設計データの検索などを行う必要が生じた際にも、アプリケーションを開発した人間以外の第３者が、それらの作業を容易に行うことができる。その結果、開発者の不在、転勤、退職等によりアプリケーションの開発・メンテナンス作業環境の変化があった場合でも、任意の第３者がこれらの作業を容易に行うことが可能である。したがって、ケーパビリティを共通の記述モデルに従って記述することにより、アプリケーションの開発・メンテナンスの自由度が非常に大きなものとなる。
【００５５】
抽象インターフェイス記述言語によりケーパビリティを記述する場合には、たとえば図１１に示すようなテーブルの領域２００にクラスを記述し、領域２１０に属性およびそのパラメータを記述し、領域２２０にオペレーション内容を記述する。そして、全ての被制御装置およびその構成機器の全ての機能について同様に記述を行い、ケーパビリティファイルを作成する。このようにして、装置ケーパビリティファイル（被制御装置のケーパビリティ）と、装置デバイスケーパビリティファイル（被制御装置の構成機器のケーパビリティ）とが作成される。また、図１２にＩＤＬによる記述例を示す。なお、実際の形態においては、ここまでのケーパビリティファイルの作成は被制御装置のメーカーにおいて行われ、作成されたケーパビリティファイルがメーカーから提供される。
【００５６】
また、被制御装置の個別のドライバを準備する。この個別のドライバも実際の形態においては、被制御装置のメーカーから提供される。ドライバはたとえばＣ言語のソースコード（バイナリーファイル）などで提供されるものとする。
【００５７】
その後、ケーパビリティをゲートウェイ装置に実装する。また、制御要求情報とドライバ制御情報との対応を記述した対応情報リストファイルをゲートウェイ装置１１０のサーバ−エンティティ１１４に実装する。また、被制御装置１４０のコントローラ１４４に対応したドライバ１１６を実装し、ドライバ１１６に、ドライバ制御情報と被制御装置制御情報（装置対応コマンド）との対応を記述した対応情報リストファイルを実装する。一方、被制御装置１４０およびその構成機器の設備仕様書、機械設計書、制御Ｓ／Ｗ設計書、制御盤設計書、コントローラ仕様書などから、ＸＭＬを用いて、リソース名変換ファイル１２６を作成し、ゲートウェイ装置１１０のデータベース１１８に実装する。そして、第１の通信部１１２および第２の通信部１２０を実装して、上記のようなゲートウェイ装置１１０を構成することができる。なお、ドライバ１１６が複数ある場合やデバイスドライバ１１６ａがある場合は、これらをさらに実装する。なお、このゲートウェイ装置１１０は、ハードにより構成することも可能であり、ソフトウエアにより構成することも可能である。
【００５８】
以上のような本発明によれば、被制御装置の製造メーカーは、ケーパビリティファイルとドライバを提供するだけで、上位のアプリケーションの仕様を気にすることなく、自社独自の仕様で被制御装置を製造、納入することができる。これにより、被制御装置の仕様の設計自由度が大きくなる。
【００５９】
ゲートウェイ装置の製造メーカー、または製造システムの使用メーカーは、被制御装置の製造メーカーからケーパビリティファイルとドライバを提供されるため、複雑な開発作業を行うことなく容易にゲートウェイ装置を作製することができ、短い開発・製造納期および安価な開発・製造コストでゲートウェイ装置を作製することができる。
【００６０】
また、アプリケーションの製造メーカー、または製造システムの使用メーカーは、被制御装置の製造メーカーからケーパビリティファイルが提供されるため、下位の被制御装置の仕様を気にすることなく、また、複雑な開発作業を行うことなく容易にアプリケーションを製造、納入することができる。これにより、短い開発・製造納期および安価な開発・製造コストでアプリケーションを作製することができる。
【００６１】
そして、製造システムの使用メーカーでは、特定ドメイン情報（制御要求情報、被制御装置のケーパビリティ、被制御装置の構成機器のケーパビリティ、リソース名変換ファイルなどの被制御装置固有の情報）を交換するだけで、アプリケーションを交換することなく種々の分野の異なる仕様の被制御装置を制御可能である。また、たとえば被制御装置が故障による交換や被制御装置の更新を行った場合においても、特定ドメイン情報ファイルを交換するだけでアプリケーションを交換することなく新たな被制御装置を制御することができる。すなわち、このゲートウェイ装置は、特定ドメイン情報を交換するだけで、種々の装置に対応可能なゲートウェイ装置として機能する。
【００６２】
したがって、本発明によれば、アプリケーションおよび被制御装置の組み合わせに自由度を持たせることができ、アプリケーションおよび被制御装置の種々の組み合わせに柔軟に対応可能な製造システムおよびこれを実現するゲートウェイ装置が実現されている。
【００６３】
実施例
本実施例では、以上のように構成された製造システムにおける被制御装置の制御についての具体的な実施例について図面を参照しながら説明する。なお、本実施例では、上述した図３の構成を用いて説明する。
【００６４】
まず、制御装置１１０における動作について図１３を用いて説明する。最初にユーザから制御装置１００のアプリケーション１０２に、被制御装置１４０に対する制御要求事項である製造要求情報（製造指示）が入力される（ステップＳ１０１）。この製造要求情報としては、たとえば「Ｘ」という製品を「タイプＡ」という装置を用いて「Ｙ個」製造する、というような製造指示およびこれに関する属性値が入力される。ここで属性値としては、たとえば加工ラインタイプ、加工装置タイプ、作業名、数量、加工プログラム、使用メモリ容量、などが装置対応コマンドとしてではなく、抽象仕様で入力される。
【００６５】
この製造要求情報（製造指示）は、たとえばユーザがスケジューラ等に作業予定を入力すると、該スケジューラ等から自動で作業リストが作成され、該リストが製造要求情報として制御装置１００にダウンロードされる形態とすることができる。また、たとえばユーザが所定の指示を個別に入力する形態とすることも可能である。これにより、制御装置１００のアプリケーション１０２のクライアントエンティティ１０６では、所定の制御要求情報が選択、特定される。
【００６６】
また、ゲートウェイ装置１１０においてドライバが複数存在する場合には、制御要求情報にはゲートウェイ装置１１０においてドライバを選択するためのドライバ選択情報も付随情報として含まれる。したがって、アプリケーション１０２のクライアントエンティティ１０６では、ドライバ選択情報も特定される。すなわち、クライアントエンティティ１０６では、上述した製造要求情報が入力されるとゲートウェイ装置１１０においてドライバが複数存在するか否かを判断する（ステップＳ１０２）。
【００６７】
そして、ゲートウェイ装置１１０においてドライバが複数存在する場合には（ステップＳ１０２肯定）、制御要求情報の付随情報として所定のドライバ選択情報を選択、特定する（ステップＳ１０３）。なお、ドライバ情報を個別に選択、特定する形態とすることも可能である。また、ゲートウェイ装置１１０においてドライバが１つのみ存在する場合（ドライバが複数存在しない場合）には（ステップＳ１０２否定）、付随情報としてそのドライバを指定する。
【００６８】
つぎに、アプリケーション１０２のクライアントエンティティ１０６では、通信部１０８に対して制御要求情報を送信し、さらに該制御要求情報のゲートウェイ装置１１０への送信を指示する。通信部１０８ではクライアントエンティティ１０６から制御要求情報を受け取り、該制御要求情報をゲートウェイ装置１１０へ送信する（ステップＳ１０４）。また、通信部１０８では、ゲートウェイ装置１１０から返却値が有る場合には、該返却値をクライアントエンティティ１０６に送信する。クライアントエンティティ１０６では、返却値を受け取った場合には、たとえば該返却値に該当するコマンドをディスプレイに表示する等の所定の処理を行う（ステップＳ１０５）。
【００６９】
そして、クライアントエンティティ１０６では処理が終了したか否かを判断し（ステップＳ１０６）、処理が終了している場合には一連の動作が終了となる。また、処理が終了していない場合には、ステップＳ１０１に戻り、一連の処理が終了するまで繰り返す。
【００７０】
つぎに、ゲートウェイ装置１１０における動作を図１４〜図１６を用いて説明する。ゲートウェイ装置１１０では、第２の通信部１２０において被制御装置１４０から返却値の入力を確認し（ステップＳ１１１）、被制御装置１４０からの返却値があるか否かを判断する（ステップＳ１１２）。ここで被制御装置１４０からの返却値がある場合には（ステップＳ１１２肯定）、第２の通信部１２０はその返却値をドライバ１１６に送信する。（ステップＳ１１６）。ドライバ１１６では記憶部１２４に記憶された対応情報リストに含まれる逆変換対応情報または逆変換対応情報リストを確認し、該当する返却値の情報が存在するか否かを判断する（ステップＳ１１７）。ここで該当する返却値の情報が存在する場合には（ステップＳ１１７肯定）、対応情報リストに含まれる逆変換対応情報または逆変換対応情報リストを用いて返却値をサーバエンティティ１１４への送信用の返却値情報に逆変換し（ステップＳ１１８）、変換した返却値情報をサーバエンティティ１１４に送信する（ステップＳ１１９）。
【００７１】
一方、該当する返却値の情報が、対応情報リストに含まれる逆変換対応情報または逆変換対応情報リストに存在しない場合には（ステップＳ１１７否定）、ステップＳ１１１に戻る。
【００７２】
サーバエンティティ１１４では、変換した返却値情報を受け取り、記憶部１２２に記憶された対応情報リストに含まれる逆変換対応情報または逆変換対応情報リストを確認し、該当する返却値情報が存在するか否かを判断する（ステップＳ１２０）。ここで該当する返却値情報が存在する場合には（ステップＳ１２０肯定）、サーバエンティティ１１４は対応情報リストに含まれる逆変換対応情報または逆変換対応情報リストを用いて、ドライバ１１６で逆変換された返却値情報を制御装置１００への送信用の返却値情報に逆変換し（ステップＳ１２１）、変換した返却値情報を第１の通信部１１２に送信する（ステップＳ１２２）。第１の通信部１１２では、サーバエンティティ１１４から受け取った逆変換した返却値情報を制御装置１００に送信する（ステップＳ１２３）。
【００７３】
一方、該当する返却値の情報が、対応情報リストに含まれる逆変換対応情報または逆変換対応情報リストに存在しない場合には（ステップＳ１２０否定）、ステップＳ１１１に戻る。
【００７４】
また、第２の通信部１２０において被制御装置１４０からの返却値があるか否かを判断した結果、被制御装置１４０からの返却値がない場合には（ステップＳ１１２否定）、つぎに第１の通信部１１２において制御要求情報の入力を確認し（ステップＳ１１３）、制御要求情報の入力があるか否かを判断する（ステップＳ１１４）。ここで、制御要求情報の入力がない場合には（ステップＳ１１４否定）ステップＳ１１１に戻る。一方、制御要求情報の入力がある場合には（ステップＳ１１４肯定）、第１の通信部１１２はサーバエンティティ１１４に制御要求情報を送信する（ステップＳ１１５）。
【００７５】
サーバエンティティ１１４では、第１の通信部１１２から制御要求情報を受け取ると、制御要求情報とドライバ制御情報との対応情報リストがサーバエンティティ１１４内の記憶部１２２（メモリ）に存在するか否かを確認する（ステップＳ１２４）。ここで、対応情報リストがサーバエンティティ１１４内の記憶部１２２（メモリ）に存在しない場合は（ステップＳ１２４否定）、サーバエンティティ１１４は対応情報リストがデータベース１１８上に存在するか否かを確認する（ステップＳ１３４）。その結果、対応情報リストがデータベース１１８上に存在しない場合には（ステップＳ１３４否定）、たとえば、「制御要求情報に対応するドライバ制御情報が無い」とのエラー表示を行う（ステップＳ１３５）。
【００７６】
一方、対応情報リストがデータベース１１８上に存在するか否かを確認した結果、対応情報リストがデータベース１１８上に存在する場合には（ステップＳ１３４肯定）、サーバエンティティ１１４は該対応情報リストをデータベース１１８からサーバエンティティ１１４の記憶部１２２（メモリ）に読み込む（ステップＳ１３６）。これにより、サーバエンティティ１１４における制御要求情報の変換作業が可能となる。
【００７７】
ここで、制御要求情報とドライバ制御情報との対応情報リストとしては、たとえば図１８に示すような対応情報リストを用いることができる。図１８に示した制御要求情報とドライバ制御情報との対応情報リストは、制御要求情報リストＩＤと、これに対応するドライバ制御情報（プロセス情報）リスト識別子と、これらの組み合わせをセットで管理する制御要求情報・ドライバ制御情報対応リストＩＤと、を有している。また、この対応情報とは別に、たとえば図１９に示すような制御要求情報リスト、およびたとえば図２０に示すようなドライバ制御情報（プロセス情報）リスト一覧を記憶部１２２に有する。
【００７８】
図１９に示す制御要求情報リストは、抽象仕様で記述された制御要求情報の詳細と、これに対応する制御要求情報リストＩＤを含んでいる。制御要求情報としては図１９に示すようにたとえば作業ラインや作業装置のタイプである「resouce name」、作業内容である「operation name」、製品名である「pruduce item」など、装置対応の個別仕様コマンドではなく抽象仕様で記述された製造指示（製造コマンド）が記述される。なお、制御要求情報に基づいて被制御装置１４０の制御が行われた場合には、これらのそれぞれの項目に対して被制御装置１４０から動作確認の返却値が戻され、制御確認がなされる。
【００７９】
また、図２０に示すドライバ制御情報（プロセス情報）リスト一覧は、被制御装置１４０およびその構成機器のケーパビリティに基づいて作成されたドライバ制御情報（プロセス情報）リストの集合である。個々のドライバ制御情報（プロセス情報）リストは、ドライバ制御情報（プロセス情報）リスト識別子ごとに作業手順（シーケンス）である制御コマンドが被制御装置１４０およびその構成機器のケーパビリティに基づいて作成されたリストであり、ドライバ制御情報（プロセス情報）リストＩＤと、これに対応するコマンド内容が抽象仕様で記述されている。
【００８０】
これらのリストを用いることにより、制御要求情報に対応する被制御装置１４０およびその構成機器のケーパビリティが存在すること、すなわち被制御装置１４０およびその構成機器において制御要求情報に対応する作業の可否を確実に確認することができる。そして、制御要求情報リストＩＤ（たとえばＬＡ００１）に対応するドライバ制御情報（プロセス情報）リスト識別子（たとえばＬＢＸ００１）が存在する場合に、制御要求情報をドライバ制御情報（プロセス情報）に変換することができる。
【００８１】
そこで、対応情報リストがサーバエンティティ１１４内の記憶部１２２（メモリ）に存在する場合（ステップＳ１２４肯定）または上記のステップＳ１３６が終了した場合には、サーバエンティティ１１４では、まず図１８に示した制御要求情報とドライバ制御情報との対応情報リストからドライバ制御情報（プロセス情報）リスト識別子を得る（ステップＳ１２５）。
【００８２】
つぎに、サーバエンティティ１１４は、サーバエンティティ１１４内の記憶部１２２（メモリ）に図２０に示すドライバ制御情報（プロセス情報）リスト一覧が存在するか否かを確認する（ステップＳ１２６）。ここで、ドライバ制御情報（プロセス情報）リスト一覧がサーバエンティティ１１４内の記憶部１２２（メモリ）に存在しない場合は（ステップＳ１２６否定）、サーバエンティティ１１４はドライバ制御情報（プロセス情報）リスト一覧がデータベース１１８上に存在するか否かを確認する（ステップＳ１３７）。その結果、ドライバ制御情報（プロセス情報）リスト一覧がデータベース１１８上に存在しない場合には（ステップＳ１３７否定）、たとえば、「識別子に対応するプロセスリストが無い」とのエラー表示を行う（ステップＳ１３８）。
【００８３】
一方、ドライバ制御情報（プロセス情報）リスト一覧がデータベース１１８上に存在するか否かを確認した結果、ドライバ制御情報（プロセス情報）リスト一覧がデータベース１１８上に存在する場合には（ステップＳ１３７肯定）、サーバエンティティ１１４は該リスト一覧をデータベース１１８からサーバエンティティ１１４の記憶部１２２（メモリ）に読み込む（ステップＳ１３９）。これにより、サーバエンティティ１１４におけるドライバ制御情報（プロセス情報）リスト識別子からドライバ制御情報（プロセス情報）リストＩＤへの変換作業が可能となる。
【００８４】
そこで、ドライバ制御情報（プロセス情報）リスト一覧がサーバエンティティ１１４内の記憶部１２２（メモリ）に存在する場合（ステップＳ１２６肯定）または上記のステップ１３９が終了した場合には、サーバエンティティ１１４では、図２０に示したドライバ制御情報（プロセス情報）リスト一覧からドライバ制御情報（プロセス情報）リストＩＤを得る（ステップＳ１２７）。なお、上記のような対応情報リストを用いる代わりに制御要求情報が入力される毎にコンパイラーで上記の対応情報リストに相当する結果を得ることも可能である。
【００８５】
つぎに、サーバエンティティ１１４では、ドライバ制御情報（プロセス情報）リストのうち、未だ被制御装置制御情報に変換していないドライバ制御情報（プロセス情報）、すなわちドライバ１１６に送信していないドライバ制御情報（プロセス情報）を選択し（ステップＳ１２８）、該ドライバ制御情報（プロセス情報）が指定するドライバ１１６を選択する（ステップＳ１２９）。そして、選択したドライバ１１６にドライバ制御情報（プロセス情報）を送信する（ステップＳ１３０）。
【００８６】
なお、サーバエンティティ１１４では、このような一連の動作を行うとともに、ドライバ１１６から逆変換した返却値情報を受け取った場合には、記憶部１２２に記憶された対応情報リストに含まれる逆変換対応情報または逆変換対応情報リストを確認し、該当する返却値情報が存在するか否かの判断を行う。そして該当する返却値情報が存在する場合には、サーバエンティティ１１４は対応情報リストに含まれる逆変換対応情報または逆変換対応情報リストを用いて、ドライバ１１６で逆変換された返却値情報を制御装置１００への送信用の返却値情報に逆変換し、第１の通信部１１２に送信する。
【００８７】
ドライバ制御情報（プロセス情報）を受け取ったドライバ１１６では、該ドライバ１１６内の記憶部１２４（メモリ）にドライバ制御情報（プロセス情報）と被制御装置制御情報との対応情報リストが存在するか否かを確認する（ステップＳ１３１）。ここで、対応情報リストがドライバ１１６内の記憶部１２４（メモリ）に存在しない場合は（ステップＳ１３１否定）、ドライバ１１６は対応情報リストがデータベース１１８上に存在するか否かを確認する（ステップＳ１４０）。その結果、対応情報リストがデータベース１１８上に存在しない場合には（ステップＳ１４０否定）、たとえば、「ドライバ制御情報（プロセス情報）に対応する被制御装置制御情報が無い」とのエラー表示を行う（ステップＳ１４１）。
【００８８】
一方、対応情報リストがデータベース１１８上に存在するか否かを確認した結果、対応情報リストがデータベース１１８上に存在する場合には（ステップＳ１４０肯定）、ドライバ１１６は該対応情報リストをデータベース１１８からドライバ１１６の記憶部１２４（メモリ）に読み込む（ステップＳ１４２）。これにより、ドライバ１１６におけるドライバ制御情報（プロセス情報）の変換作業が可能となる。
【００８９】
ここで、ドライバ制御情報（プロセス情報）と被制御装置制御情報との対応情報リストとしては、図２１に示すような対応情報リストを用いることができる。図２１に示したドライバ制御情報（プロセス情報）と被制御装置制御情報との対応情報リストは、ドライバ制御情報（プロセス情報）リストＩＤと、これに対応する被制御装置制御情報リストＩＤと、これらの組み合わせをセットで管理するドライバ制御情報・被制御装置制御情報対応リストＩＤと、を有している。また、この対応情報とは別に、たとえば図２２に示すようなドライバ制御情報（プロセス情報）リスト、およびたとえば図２３に示すような被制御装置制御情報リストを記憶部１２４に有する。
【００９０】
図２２に示すドライバ制御情報（プロセス情報）リストは、図２０に示した個々のドライバ制御情報（プロセス情報）リストからドライバ制御情報（プロセス情報）リスト識別子を除いたものである。すなわち、リスト識別子ごとに作業手順（シーケンス）である制御コマンドが被制御装置１４０およびその構成機器のケーパビリティに基づいて作成されたリストであり、ドライバ制御情報（プロセス情報）リストＩＤ（たとえばＰ１、Ｐ２など）と、これに対応するコマンド内容が抽象仕様で記述されている。
【００９１】
また、図２３に示す被制御装置制御情報リストは、被制御装置制御情報リストＩＤとこれに対応する制御コマンドが装置対応コマンドである個別仕様の制御コマンドとして記述されている。
【００９２】
これらのリストを用いることにより、ドライバ制御情報（プロセス情報）に対応する被制御装置１４０およびその構成機器のケーパビリティが存在すること、すなわち被制御装置１４０およびその構成機器においてドライバ制御情報（プロセス情報）に対応する作業の可否を確実に確認することができる。そして、ドライバ制御情報（プロセス情報）リストＩＤ（たとえばＰ１）に対応する被制御装置制御情報リストＩＤ（たとえばＬＣ００１）が存在する場合に、ドライバ制御情報（プロセス情報）を装置対応の個別仕様の被制御装置制御情報に変換することができる。すなわち、制御要求情報はドライバ１１６において初めて装置対応の個別仕様の情報に変換される。
【００９３】
そこで、対応情報リストがドライバ１１６内の記憶部１２４（メモリ）に存在する場合（ステップＳ１３１肯定）または上記のステップ１４２が終了した場合には、ドライバ１１６では、図２１に示したドライバ制御情報（プロセス情報）と被制御装置制御情報との対応情報リストから、装置対応の制御コマンドである被制御装置制御情報を得る（ステップＳ１３２）。なお、上記のような対応情報リストを用いる代わりにドライバ制御情報（プロセス情報）が入力される毎にコンパイラーで上記の対応情報リストに相当する結果を得ることも可能である。
【００９４】
つぎに、ドライバ１１６ではドライバ制御情報（プロセス情報）が全て被制御装置制御情報に変換されたか否かを判断し（ステップＳ１３３）、未変換のドライバ制御情報（プロセス情報）が有る場合には（ステップＳ１３３否定）、ステップＳ１２８に戻る。また、ドライバ制御情報（プロセス情報）が全て被制御装置制御情報に変換された場合には（ステップＳ１３３肯定）、ドライバ１１６は第２の通信部１２０に被制御装置制御情報を送信する（ステップＳ１４３）。そして第２の通信部１２０は、被制御装置１４０に被制御装置制御情報を送信する（ステップＳ１４４）。
【００９５】
なお、ドライバ１１６では、このような一連の動作を行うとともに、被制御装置１４０返却値情報を受け取った場合には、記憶部１２４に記憶された対応情報リストに含まれる逆変換対応情報または逆変換対応情報リストを確認し、該当する返却値情報が存在するか否かの判断を行う。そして該当する返却値情報が存在する場合には、ドライバ１１６は対応情報リストに含まれる逆変換対応情報または逆変換対応情報リストを用いて、返却値をサーバエンティティ１１４への送信用の返却値情報に逆変換し、サーバエンティティ１１４に送信する。
【００９６】
つぎに、被制御装置１４０における動作を図１７を用いて説明する。被制御装置１４０では、通信回線１５６を介して第２の通信部１２０から装置対応の制御コマンドに変換された被制御装置制御情報を通信部１４２が受け取る（ステップＳ１５０）。通信部１４２は被制御装置制御情報を受け取ると、該被制御装置制御情報が自被制御装置１４０に対応するドライバから送信された情報であるか否かを確認する（ステップＳ１５１）。ここで、受け取った被制御装置制御情報が、自被制御装置１４０に対応するドライバから送信された情報ではない場合は（ステップＳ１５１否定）、ステップＳ１５０に戻る。
【００９７】
また、受け取った被制御装置制御情報が、自被制御装置１４０に対応するドライバから送信された情報である場合は（ステップＳ１５１肯定）、通信部１４２はつぎに該被制御装置制御情報がコントローラ１４４を介して制御する制御コマンドであるか否かを確認する（ステップＳ１５２）。ここで、受け取った被制御装置制御情報がコントローラ１４４を介して制御する制御コマンドでない場合は（ステップＳ１５２否定）、通信部１４２はさらに該被制御装置制御情報が通信回線１５２に載せることができる制御コマンドであるか否かを確認する（ステップＳ１５７）。
【００９８】
ここで、受け取った被制御装置制御情報が通信回線１５２に載せることができる制御コマンドでない場合には（ステップＳ１５７否定）、通信部１４２は制御コマンドエラーと判断し（ステップＳ１５９）、ステップＳ１５０に戻る。一方、受け取った被制御装置制御情報が通信回線１５２に載せることができる制御コマンドである場合には（ステップＳ１５７肯定）、通信部１４２は被制御装置制御情報を通信回線１５２に載せ（ステップＳ１５８）、対応する被制御装置１４０の構成機器（１４６等）の制御が行われる。
【００９９】
また、受け取った被制御装置制御情報がコントローラ１４４を介して制御する制御コマンドである場合は（ステップＳ１５２肯定）、通信部１４２は被制御装置制御情報をコントローラ１４４に送信する（ステップＳ１５３）。コントローラ１４４においては、被制御装置制御情報を通信回線１５２に合致するプロトコルに変換し、対応する被制御装置１４０の構成機器（１４６等）、の制御を行う（ステップＳ１５４）。
【０１００】
そして、コントローラ１４４では、被制御装置１４０の構成機器からの返却値があるか否かを確認する（ステップＳ１５５）。ここで、返却値がある場合には（ステップＳ１５５肯定）、通信部１４２を介してゲートウェイ装置１１０の第２の通信部１２０に返却値を送信する（ステップＳ１６０）。一方、返却値がない場合には（ステップＳ１５５否定）、コントローラ１４４は被制御装置１４０の構成機器の制御が終了したか否かを確認する（ステップＳ１５６）。ここで、被制御装置１４０の構成機器（１４６等）の制御が終了していない場合には（ステップＳ１５６否定）、ステップＳ１５４に戻る。また、被制御装置１４０の構成機器（１４６等）の制御が終了した場合には（ステップＳ１５６肯定）、一連の被制御装置１４０の制御が終了する。
【０１０１】
また、被制御装置の構成の一例としては、たとえば素材加工ラインをイメージした構成であり、図２４に示すように通信部１４２と、コントローラ１４４と、被制御装置２５０を構成する加工素材を製造ラインに搬入するライン搬入用ロボット２５２と、製造ライン上において加工素材を搬送する搬送装置２５４と、加工素材の荒加工を行う加工機Ａ２５６と、加工素材の仕上げ加工を行う加工機Ｂ２５８と、を備えた構成も挙げられる。なお、コントローラ１４４と、ライン搬入用ロボット２５２と、搬送装置２５４と、加工機Ａ２５６と、加工機Ｂ２５８とは、被制御装置２５０内のネットワーク２６０により接続されている。
【産業上の利用可能性】
【０１０２】
以上のように、本発明にかかる製造システムは、制御対象設備と、これらの制御対象設備の運用のための基本情報を処理して運転スケジュールを作成しながらこれらの制御対象設備を統括的に運転制御する制御装置とが、ネットワークで接続された構成を有するフレキシブル生産システムに適している。
【図面の簡単な説明】
【０１０３】
【図１】従来の製造システムの概要を説明する図である。
【図２】本発明の製造システムの概要を説明する図である。
【図３】本発明の製造システムの概要を説明する図である。
【図４】ドライバとコントローラとの関係を説明する図である。
【図５】ドライバとコントローラとの関係を説明する図である。
【図６】ドライバとコントローラとの関係を説明する図である。
【図７】本発明の製造システムの全体的な動作手順を示すフローチャートである。
【図８】制御経路を説明する図である。
【図９】制御経路を説明する図である。
【図１０】制御経路を説明する図である。
【図１１】抽象インターフェイス記述言語による記述例を示す図である。
【図１２】ＩＤＬによる記述例を示す図である。
【図１３】本発明の製造システムにおける制御装置の動作手順を示すフローチャートである。
【図１４】本発明の製造システムにおけるゲートウェイ装置の動作手順を示すフローチャートである。
【図１５】本発明の製造システムにおけるゲートウェイ装置の動作手順を示すフローチャートである。
【図１６】本発明の製造システムにおけるゲートウェイ装置の動作手順を示すフローチャートである。
【図１７】本発明の製造システムにおける被制御装置の動作手順を示すフローチャートである。
【図１８】制御要求情報とドライバ制御情報との対応情報リストを示す図である。
【図１９】制御要求情報リストを示す図である。
【図２０】ドライバ制御情報（プロセス情報）リスト一覧を示す図である。
【図２１】ドライバ制御情報（プロセス情報）と被制御装置制御情報との対応情報リストを示す図である。
【図２２】ドライバ制御情報（プロセス情報）リストを示す図である。
【図２３】被制御装置制御情報リストを示す図である。
【図２４】被制御装置の他の構成例を示す図である。
【符号の説明】
【０１０４】
１００  制御装置
１０２  アプリケーション
１０４  記憶部
１０６  クライアント−エンティティ
１０８  通信部
１１０  ゲートウェイ装置
１１２  第１の通信部
１１４  サーバ−エンティティ
１１６  ドライバ
１１８  データベース
１２０  第２の通信部
１２２  記憶部
１２４  記憶部
１２６  リソース名変換ファイル
１４０  被制御装置
１４２  通信部
１４４  コントローラ
１４６  ロボット
１４８  ＣＮＣ
１５０  サーボ
１５２  ネットワーク
１５４  通信回線
１５６  通信回線
【図１】
2005269597.tif 000003
【図２】
2005269597.tif 000004
【図３】
2005269597.tif 000005
【図４】
2005269597.tif 000006
【図５】
2005269597.tif 000007
【図６】
2005269597.tif 000008
【図７】
2005269597.tif 000009
【図８】
2005269597.tif 000010
【図９】
2005269597.tif 000011
【図１０】
2005269597.tif 000012
【図１１】
2005269597.tif 000013
【図１２】
2005269597.tif 000014
【図１３】
2005269597.tif 000015
【図１４】
2005269597.tif 000016
【図１５】
2005269597.tif 000017
【図１６】
2005269597.tif 000018
【図１７】
2005269597.tif 000019
【図１８】
2005269597.tif 000020
【図１９】
2005269597.tif 000021
【図２０】
2005269597.tif 000022
【図２１】
2005269597.tif 000023
【図２２】
2005269597.tif 000024
【図２３】
2005269597.tif 000025
【図２４】
2005269597.tif 000026
【手続補正書】
【提出日】平成17年7月7日(2005.7.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御装置と、該制御装置により制御される被制御装置と、前記制御装置と被制御装置との間で情報変換を行うゲートウェイ装置と、を備える製造システムであって、
前記制御装置は、前記被制御装置に対する制御要求が抽象仕様で記述される制御要求情報を記憶する記憶手段を備え、記憶された制御要求情報を前記ゲートウェイ装置に送信し、
前記ゲートウェイ装置は、受信した前記制御装置からの前記制御要求情報をドライバ手段を制御するドライバ制御情報に変換する変換手段と、前記ドライバ制御情報を前記被制御装置の仕様に対応した被制御装置制御情報に変換するドライバ手段と、を備え、前記被制御装置制御情報を前記被制御装置に送信し、
前記被制御装置は、受信した前記ゲートウェイ装置からの被制御装置制御情報に従って前記被制御装置を制御する制御手段を備えること、
を特徴とする製造システム。
【請求項２】
前記ゲートウェイ装置の前記変換手段は、前記制御要求情報と前記ドライバ制御情報との対応情報を記憶した記憶手段を有し、該対応情報に基づいて前記制御要求情報を前記ドライバ制御情報に変換すること
を特徴とする請求項１に記載の製造システム。
【請求項３】
前記ゲートウェイ装置の前記ドライバ手段は、前記ドライバ制御情報と前記被制御装置制御情報との対応情報を記憶した記憶手段を有し、該対応情報に基づいて前記ドライバ制御情報を前記被制御装置制御情報に変換すること
を特徴とする請求項１に記載の製造システム。
【請求項４】
異なる仕様の前記被制御手段に個別に対応する前記ドライバ手段を複数備えること
を特徴とする請求項１に記載の製造システム。
【請求項５】
前記ゲートウェイ装置の前記ドライバ手段は、前記ドライバ制御情報に基づいて所定の機能を実行し完了すること
を特徴とする請求項１に記載の製造システム。
【請求項６】
制御装置と該制御装置により制御される被制御装置との間で情報変換を行うゲートウェイ装置であって、
前記制御装置から受信する前記被制御装置に対する制御要求が抽象仕様で記述される制御要求情報を、ドライバ手段を制御するドライバ制御情報に変換する変換手段と、
前記ドライバ制御情報を前記被制御装置の仕様に対応した被制御装置制御情報に変換するドライバ手段と、を備え、
前記被制御装置制御情報を前記被制御装置に送信すること、
を特徴とするゲートウェイ装置。
【請求項７】
前記変換手段は前記制御要求情報と前記ドライバ制御情報との対応情報を記憶した記憶手段を有し、該対応情報に基づいて前記制御要求情報を前記ドライバ制御情報に変換すること
を特徴とする請求項６に記載のゲートウェイ装置。
【請求項８】
前記ドライバ手段は前記ドライバ制御情報と前記被制御装置制御情報との対応情報を記憶した記憶手段を有し、該対応情報に基づいて前記ドライバ制御情報を前記被制御装置制御情報に変換すること
を特徴とする請求項６に記載のゲートウェイ装置。
【請求項９】
異なる仕様の前記被制御手段に個別に対応する前記ドライバ手段を複数備えること
を特徴とする請求項６に記載のゲートウェイ装置。
【請求項１０】
前記ドライバ手段は、前記ドライバ制御情報に基づいて所定の機能を実行し完了すること
を特徴とする請求項６に記載のゲートウェイ装置。
【請求項１１】
制御装置と該制御装置により制御される被制御装置との間の情報変換を行うゲートウェイプログラムであって、
前記制御装置から受信した前記制御要求情報をドライバ制御情報に変換するステップと、
前記ドライバ制御情報を前記被制御装置の仕様に対応した被制御装置制御情報に変換するステップと、
をコンピュータに実行させることを特徴とするゲートウェイプログラム。
【請求項１２】
被制御装置に対する制御要求を抽象仕様で記述した制御要求情報が、ドライバ制御情報に変換されるステップと、
前記ドライバ制御情報が、前記被制御装置の仕様に対応した被制御装置制御情報に変換されるステップと、
前記被制御装置が、前記被制御装置制御情報を受信し、当該被制御装置制御情報に従って制御されるステップと、
を含むことを特徴とする被制御装置の制御方法。
【請求項１３】
前記制御要求情報は、前記制御要求情報と前記ドライバ制御情報との対応情報を記憶した変換手段により、ドライバ制御情報に変換され、
前記ドライバ制御情報は、前記ドライバ制御情報と前記被制御装置制御情報との対応情報を記憶したドライバ手段により、被制御装置制御情報に変換されること
を特徴とする請求項１２に記載の被制御装置の制御方法。
【請求項１４】
前記ドライバ手段は、前記ドライバ制御情報に基づいて所定の機能を実行し完了すること
を特徴とする請求項１３に記載の被制御装置の制御方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、制御装置と、該制御装置により制御される被制御装置と、前記制御装置と被制御装置との間で情報変換を行うゲートウェイ装置とを備えた製造システムおよびこれを実現するゲートウェイ装置、ゲートウェイプログラム、被制御装置の制御方法に関するものである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明は、上記に鑑みてなされたものであって、ゲートウェイ装置による情報変換により制御装置と被制御装置の組み合わせの柔軟性に富んだ製造システム、およびこれを実現するゲートウェイ装置、ゲートウェイプログラム、被制御装置の制御方法を得ることを目的とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
以下に、本発明にかかる製造システムおよびゲートウェイ装置、ゲートウェイプログラム、被制御装置の制御方法の実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。