(57)【特許請求の範囲】
【請求項１】
対象機器の状態を表す状態表示子と、
前記対象機器と別の第１機器からの情報によって前記状態表示子に状態遷移させることを表す外部遷移表示子と、
前記外部遷移表示子と識別できしかも前記外部遷移表示子と結合できる形状を有し、前記対象機器と別の第２機器に状態遷移を起こさせるための情報を流すことを表す内部遷移表示子と、
前記状態表示子と外部遷移表示子と前記内部遷移表示子との対応関係を表す対応表示子とを用いて、前記対象機器の機器モデルを生成することを特徴とする機器モデルの生成方式。
【請求項２】
請求項１記載の機器モデルの生成方式であって、前記外部遷移表示子が、前記第１機器の機器モデルからの情報の流れを示す方向を表していることを特徴とする機器モデルの生成方式。
【請求項３】
請求項１記載の機器モデルの生産方式であって、前記外部遷移表示子が、前記第１機器の機器モデルの内部遷移表示子と結合できる形状であることを特徴とする機器モデルの生成方式。
【請求項４】
請求項１記載の機器モデルの生成方式であって、前記内部遷移表示子が、前記第２機器の機器モデルへの情報の流れの方向を表すことを特徴とする機器モデルの生成方式。
【請求項５】
請求項１記載の機器モデルの生成方式であって、前記内部遷移表示子が、前記第２機器の機器モデルの外部遷移表示子と結合できる形状であることを特徴とする機器モデルの生成方式。
【請求項６】
少なくとも、第１機器の状態を表す第１機器状態表示子と、前記第１機器と別の第２機器に状態遷移を起こさせるための情報を流すことを表す第１機器内部遷移表示子と、前記第１機器状態表示子と前記第１機器外部遷移表示子との対応関係を表す第１機器対応表示子とを用いて、前記第１機器の機器モデルを生成し、
また、少なくとも、前記第２機器の状態を表す第２機器状態表示子と、前記第１機器内部遷移表示子と識別でき前記対象機器からの情報によって前記第２機器状態表示子に状態遷移させることを表す第２機器外部遷移表示子と、前記第２機器状態表示子と前記第２機器外部遷移表示子との対応関係を表す第２機器対応表示子とを用いて、前記第２機器の機器モデルを生成し、
さらに前記第１機器内部遷移表示子と前記第２機器外部遷移表示子を結合するようにして、前記第１機器の機器モデルと前記第２機器の機器モデルを含むシステムモデルを生成することを特徴とするシステムモデルの生成方式。
【請求項７】
請求項６記載のシステムモデルの生成方式であって、前記第１機器の機器モデルが、前記第１機器内部遷移表示子と識別でき前記第１機器と別の第３機器からの情報によって前記第１機器状態表示子に状態遷移を起こさせることを表す第１機器外部遷移表示子を含み、また前記第２機器の機器モデルが、前記第２機器外部遷移表示子と識別でき前記第１機器と別の第４機器に状態遷移を起こさせるための情報の流れを表す第２機器内部遷移表示子を含むことを特徴とするシステムモデルの生成方式。
【請求項８】
請求項６記載のシステムモデルの生成方式であって、機器モデル生成部により前記第１機器および第２機器の各機器モデルを生成し、システムモデル生成部が、これらの各機器モデルに基づき、前記第１機器内部遷移表示子と前記第２機器外部遷移表示子とを結合した前記システムモデルを生成することを特徴とするシステムモデルの生成方式。
【請求項９】
請求項８記載のシステムモデルの生成方式であって、前記機器モデル生成部が、前記第１機器と前記第２機器の制御シーケンスの情報を表したテンプレートに基づき、前記第１機器および第２機器の各機器モデルを作成することを特徴とするシステムモデルの生成方式。
【請求項１０】
第１、第２機器と、これらの各機器に対応する第１、第２制御装置とを含み、これらの各制御装置が対応する前記各機器を制御するシステムにおけるシーケンス制御プログラムの生成方式であって、マップ情報生成部と、機器マップ情報生成部と、プログラム生成部とを有し、前記マップ情報生成部は、前記システムに関する情報を表すシステム構成情報と、請求項６記載のシステムモデルとから、前記第１、第２機器の機器モデルを構成するデバイスと、前記第１、第２制御装置のデバイスとの対応関係を表すデバイスマップ情報を作成し、前記機器マップ情報生成部は、前記第１、第２機器と前記第１、第２制御装置の対応関係を表す機器マップ情報を作成し、前記プログラム生成部は、前記デバイスマップ情報と前記機器マップ情報に基づき、前記第１、第２制御装置に対応した複数の制御プログラムを作成することを特徴とするシーケンス制御プログラムの生成方式。
【請求項１１】
請求項１０記載のシーケンス制御プログラム生成方式であって、前記システム構成情報は、前記システムを構成する前記第１、第２機器を表す情報と、前記第１、第２機器を制御する前記第１、第２制御装置を表す情報と、前記第１、第２制御装置の入出力デバイスを表す情報とを含んでいることを特徴とするシーケンス制御プログラムの生成方式。
【請求項１２】
請求項１０記載のシーケンス制御プログラム生成方式であって、前記デバイスマップ情報は、前記第１、第２機器の機器モデルと前記第１、第２制御装置との入力デバイス及び出力デバイスのいずれか一方または両方との対応関係を表した情報を含んでいることを特徴とするシーケンス制御プログラムの生成方式。
【請求項１３】
請求項１０記載のシーケンス制御プログラム生成方式であって、前記プログラム生成部は、前記第１制御装置と第２制御装置間で同期が取られるように、前記複数の制御プログラムを生成することを特徴とするシーケンス制御プログラムの生成方式。
【請求項１４】
請求項１０記載のシーケンス制御プログラム生成方式であって、前記マップ情報生成部で作成される情報は、前記第１、第２制御装置の制約条件に応じて作成されることを特徴とするシーケンス制御プログラムの生成方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、機器モデルの生成方式及びこの機器モデルを含むシステムモデルの生成方式、並びに、このシステムモデルからシステムを制御する制御プログラムを生成するシーケンス制御プログラムの生成方式に関するものである。
【０００２】
【従来の技術】
図１６は、従来のシステムモデルであるペトリネットを示した図である。図において、５１は丸で表されるプレースＰｉ（ｉ＝１、・・・、６）、５２は長方形で表され、発火則にしたがって発火するトランジションＴｉ（ｉ＝１、・・・、４）、５３はプレース５１からトランジション５２への矢印１、５４はトランジション５２からプレース５１への矢印２、５５はプレース５１中の黒丸で表され、トランジション５２の発火に伴いプレース５１上を移動して、このことにより状態の遷移が表わされるトークンである。
【０００３】
次に、このシステムについて説明する。
図１６はペトリネットの簡単な例で、ある処理が行われた後に２つの並行処理を行い、この２つの並行処理の両方が終了した後に、さらに別の処理を行うシステムをモデル化したものである。
【０００４】
図１６の場合には、まず、トークン５５があるプレースＰ１  ５１の処理を行い、プレースＰ１  ５１の処理が終了するとトランジションＴ１  ５２が発火可能となる。トランジションＴ１  ５２が発火すると、プレースＰ１  ５１からトークン５５が取り除かれ、プレースＰ２  、Ｐ３  ５１へトークン５５が加えられる。そして、トークン５５が加えられたプレースＰ２  、Ｐ３  ５１で処理が行われる。
次に、プレースＰ２  ５１の処理が終了するとトランジションＴ２  ５２が発火可能となり、プレースＰ２  ５１からトークン５５が取り除かれ、プレースＰ４  ５１へトークン５５が加えられる。そして、トークン５５が加えられたプレースＰ４  ５１で処理が行われる。
【０００５】
同様に、プレースＰ３  ５１の処理が終了するとトランジションＴ３  ５２が発火可能となり、プレースＰ３  ５１からトークン５５が取り除かれ、プレースＰ５  ５１へトークン５５が加えられる。そして、トークン５５が加えられたプレースＰ５  ５１で処理が行われる。
最後に、トークン５５があるプレースＰ４  、Ｐ５  ５１の両方の処理が終了すると、トラジションＴ４  ５２が発火可能となる。トランジションＴ４  ５２が発火すると、プレースＰ４  、Ｐ５  ５１からトークン５５が取り除かれ、プレースＰ６  ５１へトークン５５が加えられる。そして、プレースＰ６  ５１の処理を行いシステムが終了する。
【０００６】
ペトリネットは、モデル化するために非常によく用いられてきているモデルであり、互いに関連しあう同時進行的な要素からなるシステムをモデル化することを目的として作られたものである。
ペトリネットの特徴は、視覚的であるということ、シミュレーションが容易に行えるということ、数学的に解析できるという３つの機能を同時に持っているということである。ペトリネットは、多くのシステムに適用可能な視覚的で数学的なモデル化ツールであり、特に、並行的、非同期的、非決定的、分散的、確率的な動作を特徴とする情報処理システムをモデル化するための有力なツールとして用いられてきている。
【０００７】
ペトリネットの応用分野としては、システムの性能評価、通信プロトコルが代表的である。その他にも、Ｆｌｅｘｉｂｌｅ    Ｍａｎｕｆａｃｔｕｒｉｎｇ    Ｓｙｓｔｅｍ（ＦＭＳ）、マルチプロセッサシステム、フォールトトレラントシステム、Ｐｒｏｇｒａｍｍａｂｌｅ    Ｌｏｇｉｃ    Ｃｏｎｔｒｏｌｌｅｒ（ＰＬＣ）等の分野にも応用されている。
【０００８】
【発明が解決しようとする課題】
上記に示したように従来のシステムモデルであるペトリネットは非常に有用なモデル化ツールであるが、モデル化の対象となるシステムが大規模なものになると、モデル化の作業に費やす労力が膨大になる。また、たとえモデル化することができたとしても、モデル化されたモデルが非常に複雑で分かりにくいものになってしまうという欠点をもっている。
【０００９】
この発明は、かかる問題点を解決するためになされたものであり、モデル化の対象となるシステムが大規模なものになっても、あまり労力を要さずにそのシステムをモデル化できる機器モデルの生成方式及びシステムモデルの生成方式を提供することを目的としており、さらにこのシステムモデルからシステムを制御するためのプログラムを生成するシーケンス制御プログラムの生成方式を提供することを目的としている。
【００１０】
【課題を解決するための手段】
本発明にかかる機器モデルの生成方式は、対象機器の状態を表す状態表示子と、
前記対象機器と別の第１機器からの情報によって前記状態表示子に状態遷移させることを表す外部遷移表示子と、
前記外部遷移表示子と識別できしかも前記外部遷移表示子と結合できる形状を有し、前記対象機器と別の第２機器に状態遷移を起こさせるための情報を流すことを表す内部遷移表示子と、
前記状態表示子と外部遷移表示子と前記内部遷移表示子との対応関係を表す対応表示子とを用いて、前記対象機器の機器モデルを生成する。
【００１１】
また、本発明の機器モデルの生成方式では、前記外部遷移表示子が、前記第１機器の機器モデルからの情報の流れを示す方向を表している。
さらに、本発明の機器モデルの生産方式では、前記外部遷移表示子が、前記第１機器の機器モデルの内部遷移表示子に結合できる形状である。
さらにまた、本発明の機器モデルの生成方式では、前記内部遷移表示子が、前記第２機器の機器モデルへの情報の流れの方向を表す。
さらにまた、本発明の機器モデルの生成方式では、前記内部遷移表示子が、前記第２機器の機器モデルの外部遷移表示子に結合できる形状である。
【００１２】
本発明にかかるシステムモデルの生成方式は、少なくとも、第１機器の状態を表す第１機器状態表示子と、前記第１機器と別の第２機器に状態遷移を起こさせるための情報を流すことを表す第１機器内部遷移表示子と、前記第１機器状態表示子と前記第１機器外部遷移表示子との対応関係を表す第１機器対応表示子とを用いて、前記第１機器の機器モデルを生成し、
また、少なくとも、前記第２機器の状態を表す第２機器状態表示子と、前記第１機器内部遷移表示子と識別でき前記第１機器からの情報によって前記第２機器状態表示子に状態遷移させることを表す第２機器外部遷移表示子と、前記第２機器状態表示子と前記第２機器外部遷移表示子との対応関係を表す第２機器対応表示子とを用いて、前記第２機器の機器モデルを生成し、
さらに前記第１機器内部遷移表示子と前記第２機器外部遷移表示子とを結合するようにして、前記第１機器の機器モデルと前記第２機器の機器モデルを含むシステムモデルを生成する。
【００１３】
また、本発明のシステムモデルの生成方式では、前記第１機器の機器モデルが、前記第１機器内部遷移表示子と識別でき前記第１機器と別の第３機器からの情報によって前記第１機器状態表示子に状態遷移を起こさせることを表す第１機器外部遷移表示子を含み、また前記第２機器の機器モデルが、前記第２機器外部表示子と識別でき前記第１機器と別の第４機器に状態遷移を起こさせるための情報の流れを表す第２機器内部遷移表示子を含む。
さらに、本発明のシステムモデルの生成方式では、機器モデル生成部により前記第１機器および第２機器の各機器モデルを生成し、システムモデル生成部が、これらの各機器モデルに基づき、前記第１機器内部遷移表示子と前記第２機器外部遷移表示子とを結合した前記システムモデルを生成する。
さらにまた、本発明のシステムモデルの生成方式では、前記機器モデル生成部が、前記第１機器と前記第２機器の制御シーケンスの情報を表したテンプレートに基づき、前記第１機器および第２機器の各機器モデルを作成する。
【００１４】
本発明にかかるシーケンス制御プログラムの生成方式は、第１、第２機器と、これらの各機器に対応する第１、第２制御装置とを含み、これらの各制御装置が対応する前記各機器を制御するシステムにおけるプログラムの生成方式であって、マップ情報生成部と、機器マップ情報生成部と、プログラム生成部とを有し、前記マップ情報生成部は、前記システムに関する情報を表すシステム構成情報と、請求項６記載のシステムモデルとから、前記第１、第２機器の機器モデルを構成するデバイスと、前記第１、第２制御装置のデバイスとの対応関係を表すデバイスマップ情報を作成し、前記機器マップ情報生成部は、前記第１、第２機器と前記第１、第２制御装置の対応関係を表す機器マップ情報を作成し、前記プログラム生成部は、前記デバイスマップ情報と前記機器マップ情報に基づき、前記第１、第２制御装置に対応した複数の制御プログラムを作成する。
【００１５】
また、本発明のシーケンス制御プログラムの生成方式では、前記システム構成情報は、前記システムを構成する前記第１、第２機器を表す情報と、前記第１、第２機器を制御する前記第１、第２制御装置を表す情報と、前記第１、第２制御装置の入出力デバイスを表す情報とを含んでいる。
さらに、本発明のシーケンス制御プログラムの生成方式では、前記デバイスマップ情報は、前記第１、第２機器の機器モデルと制御装置との入力デバイス及び出力デバイスのいずれか一方または両方との対応関係を表した情報を含んでいる。
【００１６】
さらにまた、本発明のシーケンス制御プログラムの生成方式では、前記プログラム生成部は、前記第１制御装置と第２制御装置間で同期が取られるように、前記複数の制御プログラムを生成する。
さらにまた、本発明のシーケンス制御プログラムの生成方式では、前記マップ情報生成部で作成される情報は、前記第１、第２制御装置の制約条件に応じて作成される。
【００１７】
【発明の実施の形態】
実施の形態１．
図１は本発明の実施の形態１のシステムモデルの構築方式を示す図である。図において、１はシステムを構成する各機器の基本的な制御シーケンスを表す機器モデルのテンプレート、２は機器モデルのテンプレート１から実際に用いられる機器の制御シーケンスを表す機器モデル３を作成する機器モデル生成部、４は機器モデル生成部２によって作成された機器モデル３からシステム全体の制御シーケンスを表すシステムモデル５を作成するシステムモデリング部である。
【００１８】
図２は本発明の実施の形態１の機器モデルのテンプレートを示す図である。図において、１１はテンプレートとなる機器モデルが取り得る状態の名前がすべて記述された状態情報、１２はテンプレートとなる機器モデルの状態間の遷移を起こすイベントの名前がすべて記述されたイベント情報、１３はテンプレートとなる機器モデルの状態とイベント間のつながりがすべて記述された状態・イベント関係情報である。そして、１４はテンプレートとなる機器モデルの各状態に留まる仮想の時間がすべての状態に対して記述された滞在時間情報である。
【００１９】
次に、システムモデルの構築方式について説明する。本システムモデルの構築方式では、システムを構成する機器に対する機器モデルを作成した後に、それらの機器モデルを結合してシステムモデルを作成する。
まず、機器の制御シーケンスから図２に示したような機器モデルのテンプレート１を作成する。そして、図１に示したように機器モデル生成部２では、図２に示したような機器モデルのテンプレート１に具体的な機器名、入力デバイス名、出力デバイス名等に関する情報を付け加えることにより、機器モデル３を作成する。
【００２０】
機器モデル生成部２では、機器モデルのテンプレート１に具体的な機器名、入力デバイス名、出力デバイス名等に関する情報を付け加えて機器モデル３を作成しているが、機器モデルのテンプレート１の情報に変更を施し、それらに上記の具体的な情報を付け加えて機器モデル３を作成してもよい。
また、機器モデルのテンプレート１を作成するのではなく、あらかじめ作成されている機器モデルのテンプレート１を用いてもよい。
さらに、システムに類似した動作をする機器が多く含まれているような場合には、複数の機器に対して同一のテンプレート１を利用してそれらの機器に対する機器モデルを作成するようにすれば、再利用の効果が大きくなる。
【００２１】
図３は機器モデル生成部２で作成される機器モデルを形式的に定義するために必要な情報を示す図である。図において、１１は機器モデルが取り得る状態の名前がすべて記述されている状態情報、１２は機器モデルの状態間の遷移を起こすイベントの名前がすべて記述されているイベント情報、１３は機器モデルの状態とイベント間のつながりがすべて記述されている状態・イベント関係情報、１４は機器が状態に留まる仮想の時間をすべての状態に対して記述されている滞在時間情報、１５は機器モデルに対応する機器の名前が記述されている機器名情報、１６は制御装置の入力デバイスの名前がすべて記述されている入力デバイス名情報、１７は制御装置の出力デバイスの名前がすべて記述されている出力デバイス名情報である。
【００２２】
このような情報を機器モデルに持たせることにより、機器の制御シーケンスを形式的（ｆｏｒｍａｌ）に記述することが可能となり、このモデルから制御プログラムを自動生成することも可能となる。
【００２３】
次に、図１に示した機器モデル生成部２で作成される機器モデルについて説明する。
図４は本発明の実施の形態１の機器モデルを示す図で、図４（ａ）に示した機器モデルは他の機器から与えられた物をコンベヤで所定の位置まで搬送させる処理を表したもの、図４（ｂ）に示した機器モデルは、他の機器からロボットへ与えられた物をロボットが処理する所定の位置に搬送してそれらを処理することを表したものである。図において、２１は機器の状態を表すプレース、２２は機器の状態を遷移させるイベントとして機器の外部から起こされる外部イベント、２３は機器の状態を遷移させるイベントとして機器の内部で起こる内部イベント、そして、２４は機器の状態を表すプレース２１と状態を遷移させるイベントの外部イベント２２または内部イベント２３とを結ぶことにより機器の制御シーケンスを表す矢印である。本実施の形態では、機器モデルは状態遷移モデルを基本としている。外部イベント２２を示す表示子は、内部イベント２３を示す表示子と識別できるように、形状が変えられている。
【００２４】
図４（ａ）に示したコンベヤの機器モデルでは、ｓｔｏｐのプレース２１の状態にあるときにｓｔａｒｔの外部イベント２２が他の機器モデルから引き起こされるとコンベヤが所定の位置に物を搬送するｔｒａｎｓｆｅｒのプレース２１の状態に遷移する。そして、この状態での処理を行いｔｒａｎｆｅｒのプレース２１の状態での処理が終了すると、次に、ａｒｒｉｖｅの内部イベント２３が引き起こされ、他の機器の外部イベント２２を引き起こさせると共にコンベヤの処理終了の状態を表すｓｔｏｐのプレース２１の状態に遷移し、処理が終了する。そして、再び他の機器モデルからｓｔａｒｔの外部イベント２２が引き起こされるとｓｔｏｐのプレース２１の状態からｔｒａｎｓｆｅｒのプレース２１の状態に遷移し、上記の処理を行う。
【００２５】
また、図４（ｂ）に示したロボットの機器モデルでは、ｓｔｏｐのプレース２１の状態にあるときにｓｔａｒｔの外部イベント２２が他の機器モデルから引き起こされるとロボットが物を所定の位置に搬送するｌｏａｄのプレース２１の状態に遷移する。そして、この状態での処理を行いｌｏａｄのプレース２１の状態での処理が終了（物を所定の位置に搬送しロボットが処理を終了）すると、次に、ｃｏｍｐｌｅｔｅの内部イベント２３が引き起こされ、他の機器の外部イベント２２を引き起こさせると共にロボットの処理終了の状態を表すｓｔｏｐのプレース２１の状態に遷移し、処理が終了する。そして、再び他の機器モデルからｓｔａｒｔの外部イベント２２が引き起こされるとｓｔｏｐのプレース２１の状態からｌｏａｄのプレース２１の状態に遷移し、上記の処理を行う。
【００２６】
このようにイベントを外部イベント２２と内部イベント２３の２つのタイプに区別して記述することにより、複数の機器モデルが協調するイベント間で結合されるしくみを容易に導入することが可能となり、また、イベントの種類を容易に見分けることが可能となる。
【００２７】
次に、図１に示したシステムモデリング部４では、機器モデル生成部２で作成された複数の機器モデル３を結合させてシステムモデル５を作成する。
【００２８】
次に、システムモデルの作成方式について説明する。
図５は本発明の実施の形態１のシステムモデルを示す図で、図４（ａ）に示したコンベヤの制御シーケンスを表した機器モデルと図４（ｂ）に示したロボットの制御シーケンスを表した機器モデルとから生成されたシステムモデルである。図において、２５は機器の外部イベント２２と内部イベント２３が結合した結合イベントである。その他は、図４で説明したものと同様であるので説明は省略する。
【００２９】
図５に示したシステムモデルは、他の機器からコンベヤに物が与えられるとコンベヤによりその物を所定の位置に搬送し、そして、所定の位置に物が搬送されるとロボットがそれらの物を所定の位置に搬送してそれらの処理を行い、ロボットの処理を終了させるモデルである。
【００３０】
システムモデルは、互いに関係する機器モデルの引き起こす側のイベント（この場合ａｒｒｉｖｅの内部イベント２３）とそのイベントによって引き起こされる側の外部イベント（この場合ロボットの機器モデルのｓｔａｒｔの外部イベント２２）とを結合させて表示することによりシステムモデルを作成していく。
【００３１】
例えば、図５に示したシステムモデルでは、コンベヤが所定の位置に物を搬送する処理の後にロボットの処理が開始されるモデルを表すので、図４（ａ）に示したコンベヤの機器モデルのａｒｒｉｖｅの内部イベント２３からロボットの機器モデルのｓｔａｒｔの外部イベント２２が引き起こされるようにすればよく、ａｒｒｉｖｅの内部イベント２３とロボットの機器モデルのｓｔａｒｔの外部イベント２２とを結合させ結合イベントを作成する。
【００３２】
したがって、結合イベント２５では、コンベヤのｔｒａｎｓｆｅｒのプレース２１の状態の処理が終了するとコンベヤのｓｔｏｐのプレース２１の状態に遷移すると共に状態がロボットの機器モデルのｓｔｏｐのプレース２１の状態にある場合には、ｌｏａｄのプレース２１に状態が遷移する。
【００３３】
本実施の形態では、機器モデル生成部２において機器モデルのテンプレート１から機器モデル３を作成しているが、これは機器モデルのテンプレート１からではなく、直接その機器の制御シーケンスから機器モデル３を作成させてもよい。
また、本実施の形態では、１つの内部イベントと１つの外部イベントとを結合させたシステムモデルを説明したが、この他に外部イベントと外部イベントとを結合させてもよく、また、複数のイベントが結合するようにすることもできる。
【００３４】
本実施の形態では、システムを構成する機器の機器モデルを作成した後、それらを結合させてシステム全体のシステムモデルを作成するので、多数の機器から構成される大規模なシステムに対しても、扱いやすい機器モデルをシステムを構成する機器の数だけ作成して結合すればよく、容易にシステムモデルを作成することが可能になる。特に同じ機器がシステムに含まれる場合には、同一のテンプレートを利用することができる。また、モデルを機器単位で管理でき、柔軟なシステム変更が可能になり、再利用性も高く、メンテナンスもしやすくなる。
【００３５】
実施の形態２．
図６は本発明の実施の形態２の機器モデルを示す図である。図の符号に関しては図４と同様であるので説明は省略する。また、本実施の形態の機器モデルの作成方法に関しても実施の形態１と同様であるので説明は省略する。
図６（ａ）はイベントが外部イベントのみの機器モデルであり、ｓｔｏｐのプレース２１の状態でｓｔａｒｔの外部イベント２２が引き起こされるとｌｏａｄ１のプレース２１の状態及びｌｏａｄ２のプレース２１の状態に遷移する。ｌｏａｄ１のプレース２１及びｌｏａｄ２のプレース２１の状態にあるときに、ｑｕｉｔの外部イベント２２が引き起こされるとｗａｉｔのプレース２１の状態に遷移する。
【００３６】
図６（ｂ）はイベントが内部イベントのみの機器モデルであり、ｓｔｏｐのプレース２１の状態でｓｗｉｔｃｈ１ｏｎの内部イベント２３が起こるとｌｏａｄ１のプレース２１の状態に遷移する。この状態ではｓｗｉｔｃｈ２ｏｎの内部イベント２３が起こってもｌｏａｄ２のプレース２１の状態へは遷移しない（既に状態がｓｔｏｐのプレース２１の状態から遷移してしまっている）。ｌｏａｄ１のプレース２１の状態でｃｏｍｐ１の内部イベント２３が起こるとｗａｉｔのプレース２１の状態へ遷移する。また、ｓｔｏｐのプレース２１の状態でｓｗｉｔｃｈ２ｏｎの内部イベント２３が起こるとｌｏａｄ２のプレース２１の状態に遷移する。この状態ではｓｗｉｔｃｈ１ｏｎの内部イベント２３が起こってもｌｏａｄ１のプレース２１の状態へは遷移しない（既に状態がｓｔｏｐのプレース２１の状態から遷移してしまっている）。ｌｏａｄ２のプレース２１の状態でｃｏｍｐ２の内部イベント２３が起こるとｗａｉｔのプレース２１の状態へ遷移する。
【００３７】
図７は本発明の実施の形態２の機器モデルを示す図である。図の符号に関しては図４と同様であるので説明は省略する。また、本実施の形態の機器モデルの作成方法に関しても実施の形態１と同様であるので説明は省略する。
図７（ａ）は並行分岐であり、ｓｔｏｐのプレース２１の状態でｓｔａｒｔの外部イベント２２が起こるとｌｏａｄ１のプレース２１の状態とｌｏａｄ２のプレース２１の状態に遷移する。つまり、両方のプロセスが並行的に実行されることを表している。その状態でｃｏｍｐｌｅｔｅの内部イベント２３が起こるとｗａｉｔのプレース２１の状態に遷移する。
【００３８】
図７（ｂ）は選択分岐であり、ｓｔｏｐのプレース２１の状態でｓｔａｒｔ１の外部イベント２２が起こるとｌｏａｄ１のプレース２１の状態に遷移する。この状態ではｓｔａｒｔ２の外部イベントが起こってもｌｏａｄ２のプレース２１の状態へは遷移しない（既に状態がｓｔｏｐのプレース２１の状態から遷移してしまっている）。ｌｏａｄ１のプレース２１の状態でｃｏｍｐ１のイベントが起こるとｗａｉｔのプレース２１の状態へ遷移する。また、ｓｔｏｐのプレース２１の状態でｓｔａｒｔ２のイベントが起こるとｌｏａｄ２のプレース２１の状態に遷移する。この状態ではｓｔａｒｔ１のイベントが起こってもｌｏａｄ１のプレース２１の状態へは遷移しない（既に状態がｓｔｏｐのプレース２１の状態から遷移してしまっている）。ｌｏａｄ２のプレース２１の状態でｃｏｍｐ２のイベントが起こるとｗａｉｔのプレース２１の状態へ遷移する。図７（ｂ）のモデルでは２つのプロセスのどちらかが選択されて実行されることを表している。
【００３９】
本実施の形態では、選択分岐及び並行分岐の記述が可能であり、モデルの記述における自由度を高くすることができる。
【００４０】
実施の形態３．
図８は本発明の実施の形態３のシステムモデルの構築方式を示す図である。図において、１はシステムを構成する各機器の基本的な制御シーケンスを表す機器モデルのテンプレート、２は機器モデルのテンプレート１から実際に用いられる機器の制御シーケンスを表す機器モデル３を作成する機器モデル生成部、４は機器モデル生成部２によって作成された機器モデル３と複数の機器間の協調関係を表した協調関係情報６とからシステム全体の制御シーケンスを表すシステムモデル５を作成するシステムモデリング部である。
【００４１】
次にシステムモデルの構築方式について説明する。
機器モデル生成部２での機器モデル３の作成に関しては実施の形態１と同様であるので説明は省略する。
【００４２】
システムモデリング部４では、機器モデル生成部２で作成された機器モデル３と機器間の協調関係を表した協調関係情報６とからシステムモデル５を作成する。システムを構成している機器は互いに協調し合って動作するので、例えば、コンベヤがワークを搬送し終わるとロボットがワークのロード作業を開始するという場合が存在する。このような協調関係によって機器モデルを自動的に結合するために、図９に示すような複数の機器モデル間の協調関係情報を記述したテーブルを定義し、この協調関係情報を参照し、協調関係を持つ２つのイベントを結合して１つのイベントとすることにより、モデルを自動的に結合してシステムモデルを生成する。
【００４３】
協調関係情報を記述したテーブルは、他のイベントを引き起こす能動的イベント（外部イベント、内部イベント）と他のイベントによって引き起こされる受動的イベント（外部イベント）の組みの集合で表され、図９の例では、イベントＡがイベントＡ１を引き起こすという協調関係とイベントＢがイベントＢ１を引き起こすという協調関係が記述されている。
【００４４】
また、システムを構成する機器間の協調関係情報６を定義するときには、画面に表示されたモデルの図形の任意のイベントを指示することによってその定義を行うことができる。例えば、図５に示したようにコンベヤのａｒｒｉｖｅという内部イベント２３がロボットのｓｔａｒｔという外部イベント２２を引き起こすという協調関係を定義したい場合には、画面に表示されたコンベヤのａｒｒｉｖｅという内部イベント２３とロボットのｓｔａｒｔという外部イベント２２を指示することにより、図９に示すような協調関係情報が記述される。つまり、コンベヤとロボット間の協調関係情報には、コンベヤのａｒｒｉｖｅという内部イベント２３（能動的イベント）とロボットのｓｔａｒｔという外部イベント２２（受動的イベント）が協調関係の組みとして記述されることになる。
【００４５】
本実施の形態では、システムモデリング部において、複数の機器モデルの対応関係を表した協調関係情報と機器モデルからシステムモデルを作成しているので、システムを構成する機器の変更等があった場合にも、変更したものに対してその機器モデルを作成し、結合することにより、変更が可能となる。また、機器モデルとそれらの協調関係情報が分離されているので、機器間の関係が複雑な場合でも機器間の協調関係を容易に把握することができる。
【００４６】
実施の形態４．
図１０は本発明の実施の形態４の制御プログラムの生成方式を示す図である。図において、３２はシステム名情報、構成制御装置情報、構成機器情報からなるシステム構成情報３１とシステム全体の制御シーケンスを表すシステムモデル５とを入力し、システムを構成する機器とその機器を制御する制御装置との対応関係を示した機器マップ情報３３とモデル上の入出力デバイスと各制御装置の入出力デバイスとの対応関係を示したデバイスマップ情報３４をそれぞれ出力するマップ情報設定部である。そして、３５はシステムモデル５とマップ情報設定部３２で出力された機器マップ情報３３及びデバイスマップ情報３４を入力し、システムを制御するための制御プログラム３６を出力するプログラム生成部である。
【００４７】
図１１はシステムを構成する制御装置や機器等の情報を記述したシステム構成情報を示す図である。図において、４１はシステムの名前を記述したシステム名情報、４２はシステムを構成する制御装置の名前、その制御装置の入出力デバイス等システムを構成する制御装置に関する情報を記述した構成制御装置情報、そして、４３はシステムを構成する機器名、機器の配置場所等システムを構成する機器に関する情報を記述した構成機器情報である。
【００４８】
図１２はシステムを構成する機器とその機器を制御する制御装置との対応を記述した機器マップ情報を示す図である。
機器マップ情報は制御装置に対して適切な機器の制御プログラムを生成するためのものであり、図１２に示した例の場合には、機器Ａで表される機器が制御装置Ａで表される制御装置に対応し、機器Ｂで表される機器が制御装置Ｂで表される制御装置に対応していることを記述している。
【００４９】
以上の説明からもわかるように、機器とその機器を制御する制御装置の対応を記述したテーブルは、機器の名前と制御装置の名前の組みの集合で表される。図１２の例の場合には、制御装置Ａに対して機器Ａの制御プログラムが生成され、制御装置Ｂに対して機器Ｂの制御プログラムが生成される。
【００５０】
図１３は、モデル内で用いられる入出力デバイスと制御装置側で用いられる入出力デバイスとの対応関係を記述したデバイスマップ情報を示す図である。
デバイスマップ情報は、モデル上の入出力デバイスを制御装置の入出力デバイスに対応させた適切な制御プログラムを自動生成するためのものであり、図１３に示した例の場合には、モデル側入出力デバイスＡが、制御装置側入出力デバイスＡで表されるデバイスに対応しており、モデル側入出力デバイスＢが、制御装置側入出力デバイスＢで表されるデバイスに対応していることを記述している。
【００５１】
以上の説明からもわかるように、入出力デバイス名の対応を記述したテーブルは、モデル側の入出力デバイスの名前と制御装置側の入出力デバイスの名前の組みの集合で表される。
【００５２】
次に、プログラムの生成方式を説明する。
まず、図１０に示したマップ情報設定部３２では、システム全体の制御シーケンスを表すシステムモデル５と図１１に示したシステム構成情報３１とからマップ情報を設定するために必要な情報を抽出してユーザに提示し、システムを構成する機器とその機器を制御する制御装置との対応づけ及びモデル上の入出力デバイスと各制御装置の入出力デバイスとの対応づけをユーザに行わせることにより図１２に示した機器マップ情報３３と図１３に示したデバイスマップ情報３４とをそれぞれ作成する。
【００５３】
次に、プログラム生成部３５で、システムモデル５と、システムを制御するための機器と制御装置との対応を記述した機器マップ情報３３及びモデル上の入出力デバイスと各制御装置の入出力デバイスとの対応関係を記述したデバイスマップ情報３４を入力し、システムを制御するための制御プログラム３６を作成する。
【００５４】
本実施の形態では、図１２に示したようなシステムを構成する機器とその機器を制御する制御装置との対応を記述した機器マップ情報を参照しているので、機器を制御するプログラムをその機器を制御すべき制御装置に対して個別に分散して生成することが可能となる。
【００５５】
また、図１３に示したような入出力デバイスの対応を記述したデバイスマップ情報を参照して制御プログラムを自動生成するしくみを作るので、入出力デバイスの対応を記述したテーブルを変更するだけで、制御装置の入出力デバイスを変更することが可能となり、配線の変更も容易に行えることになる。
【００５６】
図１４は図１０に示したプログラム生成部３５が出力する制御プログラムを示す図である。
【００５７】
ＳＥＮＤ命令はメッセージ送信先の制御装置名に示された制御装置へメッセージの識別子で示されたメッセージを送る命令で、ＳＥＮＤ命令の書式では命令ＳＥＮＤの後にメッセージ送信先の制御装置名とメッセージの識別子が記述される。図１４に示した例の場合には、Ｃｏｎｔｒｏｌｌｅｒ２という制御装置へ１０００という識別子の付いたメッセージを送ることになる。
【００５８】
また、ＲＥＣＶ命令はメッセージ送信元の制御装置名に示された制御装置からメッセージの識別子で示されたメッセージを受け取る命令で、ＲＥＣＶ命令の書式では命令ＲＥＣＶの後にメッセージ送信元の制御装置名とメッセージの識別子が記述される。図１４に示した例の場合には、Ｃｏｎｔｒｏｌｌｅｒ２という制御装置から１００１という識別子の付いたメッセージを受けることになる。
また、この場合Ｃｏｎｔｒｏｌｌｅｒ２という制御装置から１００１という識別子の付いたメッセージを受け取ったときのみＲＥＣＶ命令以下の命令（ＲＳＴＭ３、ＳＥＴ    Ｍ５）が実行される。
【００５９】
本実施の形態では、図１４に示した例のように、プログラム中に他の制御装置へメッセージを送信するためのＳＥＮＤ命令と他の制御装置からメッセージを受信するためのＲＥＣＶ命令とを使用することができるので、複数の制御装置間で同期を取りながらプログラムを実行することが可能となる。
【００６０】
本実施の形態では、マップ情報設定部において、システムモデルとシステム構成情報とから機器マップ情報とデバイスマップ情報とをそれぞれ作成し、プログラム生成部において、システムモデルとマップ情報設定部で作成された機器マップ情報及びデバイスマップ情報を入力し、制御プログラムを作成しているが、機器マップ情報は必ずしも必要ではなくデバイスマップ情報のみを作成し、それらから制御プログラムを作成してもよい。
また、図１２に示した機器マップ情報を参照することにより、機器を制御する各制御装置に対応した制御プログラムを個別に生成させてもよい。
【００６１】
本実施の形態では、機器マップ情報やデバイスマップ情報を用いることにより、システムに対する制御プログラムを制御装置ごとに分散して作成することができ、システムが大規模化しても容易に制御プログラムを作成することができる。また、ユーザはプログラムの分散を意識することなく、システムモデルを作成することができる。
【００６２】
実施の形態５．
実施の形態４では、図１２に示したシステムを構成する機器の名前とその機器を制御する制御装置の名前との対応を記述した機器マップ情報を利用して、制御装置に割り当てられたすべての機器を制御する１つの制御プログラムを各制御装置に対して生成しているが、１つの制御装置で動作する制御プログラムをプロセス単位で制御装置に対して生成させる方が柔軟性も高くなる。ここで、プロセスとは、１つ以上の機器を制御するためにひとまとまりになった制御プログラムのことである。
【００６３】
図１５は本実施の形態５の機器マップ情報を示す図で、システムを構成する機器、その機器を制御するプロセス、その機器を制御する制御装置の対応を記述した機器マップ情報を示す図である。
図１５に示した例の場合には、機器Ａ、Ｂ、Ｃで表されるそれぞれの機器が制御装置Ａで表される制御装置に対応し、機器Ａと機器Ｂの制御プログラムがプロセスＡとして生成され、機器Ｃの制御プログラムがプロセスＢとして生成されることを記述している。
【００６４】
本実施の形態の場合、プロセスＡ、プロセスＢが共に制御装置Ａに対して生成されるが、もちろん、これらのプロセスが別々の制御装置に対して生成される場合もあるのは言うまでもない。
【００６５】
本実施の形態では、図１５に示した機器とその機器を制御するプロセスと実際に機器を制御する装置との対応を記述した機器マップ情報を利用してプロセス単位で制御プログラムを生成させるので、制御装置よりも細かいプロセス単位で制御プログラムを扱うことができ、より柔軟に対処することができる。
【００６６】
実施の形態６．
上記実施の形態４では、図１０に示したマップ情報設定部３２においてシステムモデル５とシステム構成情報３１とから制御プログラム３６の生成に必要な情報（機器マップ情報３３、デバイスマップ情報３４）を抽出し、それらの情報を参照して機器と制御装置の対応づけ、モデル側と制御装置側との間の入出力デバイスの対応づけをユーザが行うが、制御装置の入出力接点数を制約条件とし、入出力接点数の最大値を超えないように自動的に機器マップ情報やデバイスマップ情報を作成するようにしてもよい。
【００６７】
また、制御装置と機器の位置関係から制御装置と機器との距離が離れすぎないようする等制御装置と機器の位置関係を考慮して自動的に機器マップ情報やデバイスマップ情報を作成するようにしてもよい。
【００６８】
さらに、各制御装置で制御する機器の数を均等にする等各制御装置で制御する機器の数を考慮して自動的に機器マップ情報やデバイスマップ情報を作成するようにしてもよい。
【００６９】
さらにまた、各制御装置のＣＰＵ負荷を均等にする等各制御装置のＣＰＵ負荷に応じて自動的に機器マップ情報やデバイスマップ情報を作成するようにしてもよい。
【００７０】
本実施の形態では、制約条件に基づいて自動的に機器マップ情報やデバイスマップ情報を作成するため、制約条件に合った適切な機器マップ情報やデバイスマップ情報を作成することができる。また、自動的に機器マップ情報やデバイスマップ情報を作成するため、ユーザの労力を削減することができる。
【００７１】
【発明の効果】
この発明は、以上説明したように構成されているので、以下に記載されるような効果を奏する。
本発明にかかる機器モデルは、機器の状態を表す状態表示子と、別の第１の機器モデルからの情報によって状態表示子に状態遷移させることを表す外部遷移表示子及び状態遷移を起こさせるための情報を別の第２の機器モデルに流すことを表す内部遷移表示子のいずれか一方または両方と、外部遷移表示子及び内部遷移表示子のいずれか一方または両方並びに状態表示子との対応関係を表す対応表示子とを備えているので、イベントの種類を容易に見分けられ、機器の動作や他の機器との関係を容易に理解することができる。さらに、システムモデルを作成するときに、システムを構成する機器単位で機器モデルを作成してそれらを結合することにより、容易にシステムモデルを作成することができ、システムモデルを作成する労力を削減することができる。
【００７２】
外部遷移表示子は、別の機器モデルからの情報の流れを示す方向を表しているので、別の機器の動作に応じて動作する機器の制御シーケンスを表す機器モデルを記述することができる。
【００７３】
内部遷移表示子は、別の機器モデルへの情報の流れを示す方向を表しているので、別の機器の動作に影響を及ぼす機器の制御シーケンスを表す機器モデルを記述することができる。
【００７４】
外部遷移表示子は、別の機器モデルの内部遷移表示子及び別の機器モデルの外部遷移表示子のいずれか一方または両方に対応した形状であるので、機器モデルが結合しているときに、視覚的に結合していることを認識することができ、システムモデルにおける機器間の関係を理解しやすく、イベント間の結合が容易に行える。
【００７５】
本発明にかかるシステムモデルは、第１の機器モデルの内部遷移表示子及び外部遷移表示のいずれか一方または両方と外部遷移表示子を有する第２の機器モデルの外部遷移表示子とを結合させているので、機器間の関係を容易に理解することができる。
【００７６】
本発明にかかるシステムモデルの生成方式は、複数の機器モデルを複数の機器の制御シーケンスから作成する機器モデル生成部と、機器モデル生成部で作成された複数の機器モデルを互いに結合させることによってシステムモデルを作成するシステムモデル生成部とを備えているので、多数の機器から構成される複雑なシステムに対しても容易にシステムモデルを作成することができる。
【００７７】
システムモデル生成部は、複数の機器モデル間の協調関係情報を含めてシステムモデルを作成するので、機器間の協調関係が変更された場合でも、協調関係情報を変更するだけで、協調関係の変更が反映されたシステムモデルを作成することができ、システム変更における労力を抑えることができる。
【００７８】
システムモデル生成部は、機器モデルの外部遷移表示子と別の機器モデルの内部遷移表示子または別の機器モデルの外部遷移表示子のいずれか一方または両方とを対応させることによってシステムモデルを作成するので、視覚的に機器モデル間の協調関係を容易に定義することができる。
【００７９】
機器モデル生成部は、複数の機器モデルを複数の機器の制御シーケンスから作成する機能に替えて複数の機器の制御シーケンスの情報を表したテンプレートから作成するので、機器モデルを作成する労力を削減することができる。
【００８０】
本発明にかかるプログラム生成方式では、システムに関する情報を表したシステム構成情報とシステムモデルとからデバイスの対応関係を表したデバイスマップ情報を作成するマップ情報生成部と、マップ情報生成部において作成されたデバイスマップ情報とシステムモデルとから制御プログラムを作成するプログラム生成部とを備えているので、頻繁なシステムの変更にも柔軟に対応することができる。
【００８１】
マップ情報生成部は、システムを構成する機器とこの機器を制御する制御装置との対応関係を表した機器マップ情報を作成し、プログラム生成部は、機器マップ情報を含めて制御プログラムを作成するので、機器の配置変更、またはシステムを構成する機器の変更等に柔軟に対応することができる。
【００８２】
機器マップ情報は、機器とこの機器を制御するプロセスとの対応関係及びプロセスとこのプロセスと対応する制御装置との対応関係を表した情報を備えているので、１つの制御装置に対して複数に分割して制御プログラムを作成することができ、機器に問題が生じた場合、プロセス単位で制御を中断することができる。
【００８３】
プログラム生成部は、複数の制御装置に対応した複数の制御プログラムを作成するので、複数の制御装置をもつ大規模なシステムに対しても、複数の制御装置に対して適切な制御プログラムをそれぞれ作成することができる。
【００８４】
システム構成情報は、システムを構成する機器を表した情報とシステムを構成する機器を制御する制御装置を表した情報と制御装置の入出力デバイスを表した情報とを備えているので、これを利用することによりデバイスマップ情報及び機器マップ情報を容易に作成することができる。
【００８５】
デバイスマップ情報は、機器モデルと制御装置の入力デバイス及び出力デバイスのいずれか一方または両方との対応関係を表した情報を備えているので、機器と制御装置との間の配線が変更されたときにも、容易にその変更に対応することができる。
【００８６】
プログラム生成部は、機器を複数の制御装置によって制御する場合に、互いの制御装置間で同期が取られるように制御プログラムを生成するので、ユーザは各機器がどの制御装置によって制御されるかを意識することなく制御プログラムを作成することができる。
【００８７】
マップ情報生成部で作成される情報は、制御装置の制約条件に応じて作成されるので、制約条件に合った適切な機器マップ情報及びデバイスマップ情報を自動的に作成することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１のシステムモデルの生成方式を示す図。
【図２】本発明の実施の形態１のテンプレートを示す図。
【図３】本発明の実施の形態１の機器モデルを形式的に示した図。
【図４】本発明の実施の形態１の機器モデルを示す図。
【図５】本発明の実施の形態１のシステムモデルを示す図。
【図６】本発明の実施の形態２の機器モデルを示す図。
【図７】本発明の実施の形態２の機器モデルを示す図。
【図８】本発明の実施の形態３のシステムモデルの生成方式を示す図。
【図９】本発明の実施の形態３の協調関係情報を示す図。
【図１０】本発明の実施の形態４のプログラムの生成方式を示す図。
【図１１】本発明の実施の形態４のシステム構成情報を示す図。
【図１２】本発明の実施の形態４の機器マップ情報を示す図。
【図１３】本発明の実施の形態４のデバイスマップ情報を示す図。
【図１４】本発明の実施の形態４の制御プログラムを示す図。
【図１５】本発明の実施の形態５の機器マップ情報を示す図。
【図１６】従来のシステムモデルであるペトリネットを示す図。
【符号の説明】
１        機器モデルのテンプレート                ２        機器モデル生成部
３        機器モデル                                            ４        システムモデリング部
５        システムモデル                                    ６        協調関係情報
１１    状態情報                                                １２    イベント情報
１３    状態・イベント関係情報                    １４    滞在時間情報
１５    機器名情報                                            １６    入力デバイス名情報
１７    出力デバイス名情報
２１    プレース                                                ２２    外部イベント
２３    内部イベント                                        ２４    矢印
２５    結合イベント
３１    システム構成情報                                ３２    マップ情報設定部
３３    機器マップ情報                                    ３４    デバイスマップ情報
３５    プログラム生成部                                ３６    制御プログラム
４１    システム名情報                                    ４２    構成制御装置情報
４３    構成機器情報
５１    プレース                                                ５２    トランジション
５３    矢印１                                                    ５４    矢印２
５５    トークン
【図１】
0003623052.tif 000002
【図２】
0003623052.tif 000003
【図３】
0003623052.tif 000004
【図４】
0003623052.tif 000005
【図５】
0003623052.tif 000006
【図６】
0003623052.tif 000007
【図７】
0003623052.tif 000008
【図８】
0003623052.tif 000009
【図９】
0003623052.tif 000010
【図１０】
0003623052.tif 000011
【図１１】
0003623052.tif 000012
【図１２】
0003623052.tif 000013
【図１３】
0003623052.tif 000014
【図１４】
0003623052.tif 000015
【図１５】
0003623052.tif 000016
【図１６】
0003623052.tif 000017