(57)【要約】【課題】物流システムの設計や改善に役立つ拡張ペトリネットに基づく制御装置を提供する。【解決手段】本発明の拡張ペトリネットに基づく制御装置（１０１）は、入力手段（１０５、１０６）と、表示手段（１０４）と、ペトリネットモデル設計手段（１１１）と、ペトリネット実行手段（１１２）とを備え、外部の制御対象機器（１０８）と接続可能なコンピュータシステムからなる。これにより、システムの制御、システムの監視およびシステムの性能評価を１つのペトリネットモデルで行うことができる。【選択図】図１
2007058447.tif 000002
【特許請求の範囲】
【請求項１】
制御対象であるシステムを拡張ペトリネットを用いてモデル化する拡張ペトリネットに基づく制御対象システムのモデル化方法であって、
該システムの起こり得る状態を表したプレースと該システムのある状態を表すプレースから次の状態を表すプレースへの遷移に必要となる処理を階層構造をもって表した階層構造トランジションとを時系列順に並べて上位ペトリネット図を作成し、該システムの全体の状態をモデル化するシステム状態モデル作成工程と、
前記上位ペトリネット図上のあるプレースから次のプレースへ遷移する様子を、前記処理の開始を示すスタートトランジションと該処理の終了を示すエンドトランジションと該スタートトランジションと該エンドトランジションとの間の状態を細分化して表した複数の処理状態プレースと該処理状態プレース間の遷移に必要となる細分化された処理を表した処理トランジションとを時系列順に並べて作成した下位ペトリネット図に表し、前記階層構造トランジションに含まれる階層化先の処理内容をモデル化するシステム処理実行モデル作成工程と、
前記システムの通常処理から割り込み処理へ遷移可能なペトリネットモデルを作成して、前記システムの通常処理の実行中の如何なる状態からでも優先的に割り込み処理の実行を可能とするシステム割り込み処理実行モデル作成工程と、
外部Ｉ／Ｏデバイスの論理的な入出力条件の結果を反映すると共に複数のペトリネット図の間で共有可能な機能をもつ共有プレースを用いて該入出力条件をブロック化する特定ペトリネット図を作成して、該複数のペトリネット図間で該該共有プレースの再利用を可能とするモデル化を行う入出力条件ブロック化モデル作成工程と、
を有することを特徴とする拡張ペトリネットに基づく制御対象システムのモデル化方法。
【請求項２】
ポインティングデバイスおよびキーボードを含む入力手段と、作成および編集した内容を表示する表示手段と、拡張ペトリネットによるペトリネットモデルを設計するペトリネットモデル設計手段と、ペトリネットモデルを実行するペトリネット実行手段とを備え、
外部の制御対象機器と接続可能なコンピュータシステムからなる拡張ペトリネットに基づく制御装置であって、
前記ペトリネットモデル設計手段は、
プレースとトランジションと該プレースおよび該トランジションを接続するアークとを配置したペトリネット図を作成する要素配置編集手段と、
前記要素配置編集手段で配置したノードを設定する各種ノード設定手段と、
前記ペトリネット図を目的に応じた状態に設定するシート設定手段と、
前記ペトリネット図に階層構造を設定する階層構造設定手段と、
外部の制御対象機器と特定機能を有する外部入出力プレースとの関連を設定するＩ／Ｏ設定手段の手段とを備え、
前記ペトリネット実行手段は、
前記階層化されたペトリネット図の実行を制御する階層構造実行手段と、
前記ペトリネットモデルを実行させて外部の制御対象機器を制御する制御実行手段と、
前記ペトリネットモデルを実行させてシステムの挙動をペトリネットで表現する通常実行手段とを備え、
さらに、作成したペトリネットモデルを記録するペトリネットモデル記録手段と、
ペトリネットモデルの作成、編集および実行を表示手段に表示させるペトリネットモデル表示手段と、
を有することを特徴とする拡張ペトリネットに基づく制御装置。
【請求項３】
前記ペトリネット図単位に該ペトリネット図内の全てのトークンに対して所定の設定に応じたデータの格納、参照および代入を可能とする属性を設定する属性設定手段と、
前記トークンに付与された属性値に外部情報を設定でき若しくは該属性値の変更を任意に設定できる機能をプレース若しくはトランジションに割り当てる機能設定手段と、
前記トランジションの発火規則を示す発火条件式を任意に設定できるトランジション発火条件式設定手段と、
トランジションの発火後に遷移する前記トークンに付与された属性値に対して該属性値の変更を任意に設定できるトランジション出力設定手段と、
前記機能設定手段の設定に従い前記トークンの属性値を変更する機能実行手段と、
前記トランジション発火条件式設定手段で設定した発火条件式を考慮した発火判定を行い、前記トランジション出力設定手段の設定に従い発火後のトークンの属性値を変更する属性設定発火処理手段と、
を有する請求項２に記載の拡張ペトリネットに基づく制御装置。
【請求項４】
さらに、前記システムの生産性低下の要因箇所の特定を可能とする性能評価を模擬的に行える性能評価実行手段と、
前記性能評価実行手段が実行時に使用する特定のパラメータを設定する性能評価設定手段と、
を有する請求項２または３に記載の拡張ペトリネットに基づく制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物流分野や製造分野において、庫内物流、ＦＡシステムまたは生産ラインなどの制御対象システムを制御するための拡張ペトリネットに基づくモデル化方法とそれを用いた拡張ペトリネットに基づく制御装置に関するものである。
【背景技術】
【０００２】
物流分野や製造分野における、庫内物流、ＦＡシステムまたは生産ラインなどでは、シーケンス制御が用いられている。最近では、制御のみではなくシステムの稼働状況把握や進捗把握、遠隔地からのシステム監視、システム異常発生元の表示などシステムの状態を詳細に表現することのできる付加価値について必要性が増している。さらに、生産ラインや物流システムの性能を模擬的に評価することで生産性を下げているボトルネックとなる工程やシステム構成の問題箇所などを発見し、システムを改善するヒントを得ることのできる付加価値においても同様である。
【０００３】
物流分野や生産分野のシステムは、主にシーケンス制御を行うＰＬＣ（プログラマブル・ロジック・コントローラー）により制御されている。ＰＬＣでは主にＬＤ（ラダー）、ＳＦＣ（シーケンシャル・ファンクション・チャート）などの記述手法を用いてシーケンス制御の処理を行っている。ＬＤは、個々の出力に対して動作条件を羅列していくため、全体の制御の流れが見えにくく、そのプログラムは作成者以外の第三者には理解し難い。そのため、メンテナンス性が悪いなど問題点が指摘されている。ＳＦＣは、ＬＤの制御の流れが見えにくいという問題点を改善することができる。しかし、両者はシーケンス制御の処理を行う記述手法であるため、システムそのものを表現することはできない。よって、システム状態の監視やシステムの性能評価などの前記付加価値を提供することはできない。
【０００４】
物流分野や生産分野などの庫内物流における製品の流れや生産ラインを流れる部品や材料が幾つかの作業工程を経て製品になる様子は、一般に離散事象システムとして表さわれる。離散事象システムをモデル化する手法の１つにペトリネットがある。ペトリネットは、多くのシステムに適用可能なグラフィックでモデル化ができるツールである。
【０００５】
ペトリネットは、１９６２年ドイツのCarl Adam Petriによって提案され、平行的、非同期的、並列的、分散的、非決定的、確立的な動作を特徴とする生産システムや、情報システム、物流システムなどを表現する有力な手段である。
【０００６】
ペトリネットの定義自体は、オートマトンなどと同様に単純なものであり、その理解には特別な数学の知識を必要としない。特に、図としての表現が可能であることがペトリネットの大きな特徴である。
【０００７】
ペトリネットは有向グラフの１つであり初期マーキングと呼ばれる初期状態をもつ。ペトリネットをつくる基本的なグラフは、重みつき有向２部グラフであって、プレースとトランジションの２種類のノードからなる。アークは、プレースからトランジションに接続するもの、または、トランジションからプレースに接続するもののいずれかである。
【０００８】
条件と事象の概念を用いるモデル化においては、プレースが条件を表し、トランジションが事象を表す。トランジションはそれぞれの事象の前提条件と後提条件としているいくつかの入力プレースと出力プレースを持つ。
【０００９】
以下、本発明にも関連する図２等を参照しつつ、ペトリネット図について説明する。トランジション２０８の前提条件となる入力プレース２０１と入力プレース２０４、後提条件となる出力プレース２０９をそれぞれのアークで接続している。入力プレース２０１内のトークン２０２およびトークン２０３と、入力プレース２０４内のトークン２０５とは、初期マーキングを表す。
【００１０】
トランジション２０８が発火可能となる条件は、入力プレース２０１からトランジション２０８に接続しているアーク２０６の重み２１１以上のトークンが入力プレース２０１にあり、かつ、入力プレース２０４からトランジション２０８に接続しているアーク２０７の重み以上のトークンが入力プレース２０４にある場合である。この場合、入力プレース２０１に接続しているアークの重み２１１は２で入力プレース２０１内のトークンも２つある。また、入力プレース２０４に接続しているアークの重みは、アークに数値が記述されていない場合は１であり、入力プレース２０４のトークン数は１である。よって、前提条件を満たしているため、トランジション２０８は発火する。
【００１１】
トランジション２０８が発火した状態を図３に示す。発火後の前提条件では、入力プレース３０１から接続するアークの重み３０９分のトークンを取り除く。入力プレース３０２も同様に接続するアーク３０４の重み分のトークンを取り除く。
【００１２】
発火後の後提条件では、出力プレース３０７に接続するアーク３０６の重み分のトークンを出力プレース３０７内にマーキングする。この場合は、アークの重みが１であるため、出力プレース３０７には１つのトークンがマーキングされる。
【００１３】
図２のトランジション２０８の発火遅れ２１２について説明する。上記のペトリネット理論に時間的概念を加えたものが時間ペトリネットである。この発火遅れ２１２は、発火可能な状態から５ステップ分の発火時間を遅らせる働きがある。１ステップ時間を１秒とした場合、発火可能なトランジション２０８が発火するのは、５秒後となる。このように、時間ペトリネットを用いれば、システムの挙動を時間的に表現することが可能となる。
【００１４】
カラーペトリネットでは、トークンに属性を持たせることが可能である。トランジションでは、トークン属性を用いて発火規則（firing rule）を論理式などで表すことができる。
【特許文献１】特開２００３−１５０８８７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
従来のペトリネット理論を用いたシステムの制御、監視、システムの性能評価には下記の４つの問題点がある。
【００１６】
１つ目として、従来のペトリネット理論では、システムのあらゆる状況において優先的に割り込み処理をさせるようなシステムを簡素にモデル化することが困難であった。割り込み処理に複数の種類がある場合は、モデル化を一層に複雑にしていた。ペトリネットモデルを複雑にすることは、ペトリネットの利点でもある視覚的表現の効果に影響を与え、システムの監視の妨げになり問題である。例えば、図４の搬送システムをペトリネットモデル化して制御を行う場合、非常停止のような割り込み的な制御に対応させるため為には、制御内容をペトリネットモデル化したプログラム内の全てのトランジションに非常停止が押された時に、非常停止処理を行うという前提条件と後提条件を追加しなければならなくなる。トランジションに前提条件と後提条件を追加することは、ペトリネットモデルの設計工数を増加させるだけでなくペトリネットモデルを複雑にすることになる。また、システムの規模が大きくなるに従いトランジションの数が増えてしまうため、より影響を受けてしまうこととなる。さらに、割り込み処理の種類が複数あるとトランジションに対して追加する前提条件と後提条件も複数追加することとなるため、設計工数の増大とペトリネットモデルの複雑化への影響はより大きくなる。
【００１７】
２つ目として、従来のペトリネット理論でシステムのモデル化を行い、そのペトリネットモデルを実行させる場合、１ステップ毎にモデル内の全てのトランジションに対して発火可能であるかの判定を行い、発火可能であれば発火処理を行う必要があった。システムの規模が大きくなるに従いトランジションの数が増大すると、全てのトランジションについて１ステップ毎に発火判定を行うことは、ペトリネットの実行処理に大きな負荷を与えることになる。
【００１８】
３つ目として、カラーペトリネット理論を用いてトークンに属性を与えて商品、部品または製品などを表現する場合、トークンの属性定義やトークンが遷移するアークの属性定義など多くの定義や設定を要するため、ペトリネットモデルの設計や属性設定が複雑で、ペトリネットモデルの設計工数も増大していた。
【００１９】
４つ目として、制御を目的としたペトリネットモデルで、システムの監視、システムの性能評価の全てを行うことができなかった為、用途に合わせてペトリネットモデルを再設計する必要があった。
【００２０】
本発明は、このような事情に鑑みて為されたものであり、システムの制御、システムの監視およびシステムの性能評価を１つのペトリネットモデルで行うことができるモデル化方法を提供することを目的とする。また、このモデル化方法を用いた拡張ペトリネットに基づく制御装置を提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明者はこの課題を解決すべく鋭意研究し、試行錯誤を重ねた結果、次のような本発明を完成するに至った。
〈拡張ペトリネットに基づく制御対象システムのモデル化方法〉
すなわち本発明の拡張ペトリネットに基づく制御対象システムのモデル化方法は、制御対象であるシステムを拡張ペトリネットを用いてモデル化する拡張ペトリネットに基づく制御対象システムのモデル化方法であって、
該システムの起こり得る状態を表したプレースと該システムのある状態を表すプレースから次の状態を表すプレースへの遷移に必要となる処理を階層構造をもって表した階層構造トランジションとを時系列順に並べて上位ペトリネット図を作成し、該システムの全体の状態をモデル化するシステム状態モデル作成工程と、前記上位ペトリネット図上のあるプレースから次のプレースへ遷移する様子を、前記処理の開始を示すスタートトランジションと該処理の終了を示すエンドトランジションと該スタートトランジションと該エンドトランジションとの間の状態を細分化して表した複数の処理状態プレースと該処理状態プレース間の遷移に必要となる細分化された処理を表した処理トランジションとを時系列順に並べて作成した下位ペトリネット図に表し、前記階層構造トランジションに含まれる階層化先の処理内容をモデル化するシステム処理実行モデル作成工程と、前記システムの通常処理から割り込み処理へ遷移可能なペトリネットモデルを作成して、前記システムの通常処理の実行中の如何なる状態からでも優先的に割り込み処理の実行を可能とするシステム割り込み処理実行モデル作成工程と、外部Ｉ／Ｏデバイスの論理的な入出力条件の結果を反映すると共に複数のペトリネット図の間で共有可能な機能をもつ共有プレースを用いて該入出力条件をブロック化する特定ペトリネット図を作成して、該複数のペトリネット図間で該該共有プレースの再利用を可能とするモデル化を行う入出力条件ブロック化モデル作成工程とを有することを特徴とする。
（作用効果）
本発明の拡張ペトリネットに基づく制御対象システムのモデル化方法によれば、次のよう作用効果が得られる。
（１）システム状態モデル作成工程やシステム処理実行モデル作成工程では、システムの状態の流れや処理の流れに沿って順序立てて制御対象システムをモデル化することができるため、設計が容易で、専門知識や設計経験が無くても設計が可能である。
（２）こうしてモデル化したペトリネット図をペトリネット実行手段により実行処理した場合、システム状態モデル作成工程やシステム処理実行モデル作成工程で作成したペトリネット図からシステムの状態を容易に把握することができる。
（３）システム割り込み処理実行モデル作成工程で作成したペトリネット図は、割り込み処理が可能な従来のペトリネットモデルに比べて簡素化することができる。よって、モデル化の設計効率が向上する。
（４）入出力条件ブロック化モデル作成工程で作成したペトリネット図は、１つの共有プレースに反映させることが可能である。このため、他のペトリネット図で共有プレースを再利用することでペトリネットモデルを簡素化することができる。
〈拡張ペトリネットに基づく制御装置〉
さらに本発明は、上記拡張ペトリネットに基づく制御対象システムのモデル化方法を制御装置に利用したものでも良い。
すなわち本発明の拡張ペトリネットに基づく制御装置は、ポインティングデバイスおよびキーボードを含む入力手段と、作成および編集した内容を表示する表示手段と、拡張ペトリネットによるペトリネットモデルを設計するペトリネットモデル設計手段と、ペトリネットモデルを実行するペトリネット実行手段とを備え、外部の制御対象機器と接続可能なコンピュータシステムからなる拡張ペトリネットに基づく制御装置であって、
前記ペトリネットモデル設計手段は、プレースとトランジションと該プレースおよび該トランジションを接続するアークとを配置したペトリネット図を作成する要素配置編集手段と、前記要素配置編集手段で配置したノードを設定する各種ノード設定手段と、前記ペトリネット図を目的に応じた状態に設定するシート設定手段と、前記ペトリネット図に階層構造を設定する階層構造設定手段と、外部の制御対象機器と特定機能を有する外部入出力プレースとの関連を設定するＩ／Ｏ設定手段の手段とを備え、前記ペトリネット実行手段は、前記階層化されたペトリネット図の実行を制御する階層構造実行手段と、前記ペトリネットモデルを実行させて外部の制御対象機器を制御する制御実行手段と、前記ペトリネットモデルを実行させてシステムの挙動をペトリネットで表現する通常実行手段とを備え、さらに、作成したペトリネットモデルを記録するペトリネットモデル記録手段と、ペトリネットモデルの作成、編集および実行を表示手段に表示させるペトリネットモデル表示手段とを有することを特徴とする。
（作用効果）
本発明の拡張ペトリネットに基づく制御装置によれば、次のよう作用効果が得られる。
（１）本発明の制御装置の階層構造実行手段は、前述したモデル化方法で作成した階層構造を有するペトリネットモデルの通常実行処理中に発生した割り込み処理命令に対して、割り込み処理を行うペトリネット図に実行処理を任意に移すことが可能となる。
（２）ペトリネット実行手段は、システムの状態が遷移する際に、必要となる階層化先のペトリネット図のみを実行処理させる。そのため、トランジションの発火判定処理を、必要とするペトリネット図のみに限定して行うことができるため、実行処理の負荷を軽減できる。
（３）ペトリネット実行手段は、制御対象の制御を行いながらシステム状態モデルシートと、制御処理モデルシートでリアルタイムにシステムの挙動を表現しているため、簡単にシステムの状態を把握することができる。
（４）制御実行手段のＩ／Ｏセッティングシートの実行処理と初期化機能により、外部入出力条件をブロック化したペトリネット図の簡素化と、ペトリネットモデル内のトランジションを削減することによる実行処理の負荷を軽減できる。
〈その他〉
本発明の拡張ペトリネットに基づく制御対象システムのモデル化方法および拡張ペトリネットに基づく制御装置は、さらに次のような構成を備えるとより好ましい。
１．すなわち、上記した本発明は、前記ペトリネット図単位に該ペトリネット図内の全てのトークンに対して所定の設定に応じたデータの格納、参照および代入を可能とする属性を設定する属性設定手段と、前記トークンに付与された属性値に外部情報を設定でき若しくは該属性値の変更を任意に設定できる機能をプレース若しくはトランジションに割り当てる機能設定手段と、前記トランジションの発火規則を示す発火条件式を任意に設定できるトランジション発火条件式設定手段と、トランジションの発火後に遷移する前記トークンに付与された属性値に対して該属性値の変更を任意に設定できるトランジション出力設定手段と、前記機能設定手段の設定に従い前記トークンの属性値を変更する機能実行手段と、前記トランジション発火条件式設定手段で設定した発火条件式を考慮した発火判定を行い、前記トランジション出力設定手段の設定に従い発火後のトークンの属性値を変更する属性設定発火処理手段とを有すると好適である。
（作用効果）
本発明によれば次のよう作用効果が得られる。
（１）属性設定手段を用いることで、複数のシートからなるペトリネットモデルに対して、必要なシートにのみ属性定義をすることができる。このため、ペトリネット実行手段で実行処理を行う場合、属性に関連するメモリの消費量と、属性に関連する実行処理を削減して処理の負荷を抑えることができる。
（２）属性設定手段は、あらかじめトークンに何種類かの属性定義をすることで、トークンが格納できるデータ長を指定するだけで、簡単にトークンに属性を持たせることができる。
（３）属性設定手段でデータ長を指定する際に、個々の属性値に自動的にアドレスが付与される。そのアドレスにより、トランジション発火条件式設定手段、トランジション出力設定手段または機能設定手段などは、個々の属性値への参照や、演算結果の代入など簡単に設定することが可能となる。
（４）属性設定発火処理手段を用いることで、トークンの属性値からトランジション発火を制御したり、トランジションや機能プレースの機能などの設定値によりトークンの属性値を変更したりすることができる。
（５）上記した全ての手段を用いることで、システムを詳細に表現することが可能となり、複雑なシステムの制御と詳細なシステムの状態監視とを実現することができる。
２．さらに、本発明は、前記システムの生産性低下の要因箇所の特定を可能とする性能評価を模擬的に行える性能評価実行手段と、前記性能評価実行手段が実行時に使用する特定のパラメータを設定する性能評価設定手段とを有すると一層好適である。
（作用効果）
本発明によれば次のよう作用効果が得られる。
（１）性能評価実行手段は、本来の制御用に拡張ペトリネット形式でモデル化したペトリネット図でシステムの性能を模擬的に評価することが可能である。これにより、性能評価設定手順の設定次第で、システムの生産効率、作業計画さらにはシステムの構成の不具合などを把握することができる。
（２）性能評価設定手段と性能評価実効手段を用いることで、制御用のペトリネット図を性能評価のためにも再利用することが可能となる。これにより、性能評価を行うために必要なペトリネットモデルの設計をより効率的に行える。
【発明を実施するための最良の形態】
【００２２】
次に実施形態を挙げ、本発明をより詳しく説明する。以下の説明は、本発明の拡張ペトリネットに基づく制御装置のみならず拡張ペトリネットに基づく制御対象システムのモデル化方法にも適宜該当する。また、いずれの実施形態が最適であるかは、制御対象、要求性能等によって異なることを断っておく。
図１に拡張ペトリネットに基づく制御装置のハード構成を示す。図１は本発明を実施する際に必要となる装置、機能を記載している。
【００２３】
図１においてコンピュータ本体１０１は、中央演算処理装置１０２と主記憶装置１０３などを有する汎用コンピュータである。
拡張ペトリネットに基づく設計実行手段１１０は、データ入力装置１０５（例、キーボード）や、ポインティング入力装置１０６（例、マウス）を用いて、ペトリネットモデルの設計を行うことや、制御対象機器１０８を制御するペトリネットモデルの実行処理、システム状態の表示処理、システム性能の評価処理などを行う。
表示装置１０４（例、液晶ディスプレイ）は、拡張ペトリネットに基づく設計実行手段１１０の処理内容などを表示する。補助記憶装置１０７（例、磁気ディスク）は、拡張ペトリネットに基づく設計実行手段１１０などのデータを必要に応じて記録する。データベース１３１は、拡張ペトリネットに基づく設計実行手段１１０と必要に応じて接続することが可能であり、ペトリネット実行手段１１２とデータの受け渡しを行う。
コンピュータ本体には、外部入出力信号を扱うことのできる汎用のＰＣＩボードのＩ／Ｏインターフェース１０９が内蔵されている。中央演算処理装置１０２で処理されることで、外部の制御対象機器１０８からの入力信号の受け取り、主記憶装置１０３上に記録された拡張ペトリネットに基づく設計実行手段１１０にデータとしての反映、拡張ペトリネットに基づく設計実行手段１１０から外部出力信号としてＩ／Ｏインターフェース１０９から外部の制御対象機器１０８への出力信号の送信などがなされる。これらの装置のしくみにより、制御対象機器１０８の制御を行うことができる。
【００２４】
ペトリネットモデル設計手段１１１は、以下の幾つかの設計に関する手段を行うことでシステムの制御や、システムの性能評価ができるペトリネットモデルを作成する。
シート設定手段１１３は、ペトリネット図を描くシートの種類の選択や、ペトリネット実行手段１１２の実行処理間隔時間を設定する。要素配置編集手段１１４は、選択したペトリネット図のシートに「プレース」、「トランジション」、「アーク」を入力してペトリネット図を作成する。属性設定手段１１５は、ペトリネット図のシート単位にカラーペトリネットのトークンの属性定義を拡張した拡張ペトリネットによる属性定義の設定（以下属性定義とする）の有無や、初期マーキングのトークンに属性定義による値を設定する。
ペトリネット図に属性設定が許可されている場合のみ使用できる発火条件式設定手段１１６は、図２に示すペトリネットの発火条件とは別に、トランジションに対してトークンの属性を活用して任意に発火規則を表す発火条件式を設定する。ペトリネット図に属性設定が許可されている場合のみ使用できるトランジション出力設定手段１１７は、トランジションの発火により遷移するトークンについて任意に値を設定する。各種ノード設定手段１１８は、発火遅れ時間や、トランジション名の設定や、プレースのトークンの初期マーキング数やプレース名などの設定、アークの重みなどを設定する。
階層構造設定１１９は、階層構造の上位と下位の関係を構築してシートの名前やトランジションの発火順序を設定する。機能設定手段１２０は、トランジションやプレースなどに制御に必要な特殊機能や演算などの関数機能を割り当て設定する。Ｉ／Ｏ設定手段１２１は、は制御対象機器１０８への外部入出力信号をプレースに割り当てる。性能評価設定１２２は、制御を目的とした拡張ペトリネットの形式で制御対象システムをモデル化したものに性能評価で使用するパラメータを設定する。
【００２５】
ペトリネット実行手段１１２は、下記の幾つかの実行に関する手段を行うことで、システムの制御や、システム監視、システムの性能評価を行うことができる。階層構造実行手段１２３は、ペトリネットモデル設計手段１１１で設計されたペトリネットモデルを拡張ペトリネットの形式に従い階層構造を実行処理する。属性設定発火処理手段１２４は、トランジション発火条件式設定手段１１６で設定した発火規則である発火条件式を満足しているかどうか判定を行い、全ての発火条件を満たしていれば発火処理を行う。さらに、発火処理では、トランジション出力設定手段１１７で設定したトークンの発火出力値の演算、参照値の代入などの処理を行うことで遷移するトークンの属性値に影響を与える処理を行う。機能実行手段１２５は、機能設定手段１２０により外部入出力データをトークンに反映させる機能を割り当てられたプレースなど機能を割り当てられた各ノードの実行処理を行う。
制御実行処理手段１２６は、ペトリネットモデル設計手段１１１で設計したペトリネットモデルにＩ／Ｏインターフェース１０９からの制御対象機器１０８からの入力信号、入力データなどの情報を展開して拡張ペトリネットの形式に基づき実行処理を行うことで制御対象機器１０８の制御を行う。性能評価実行手段１２７は、システムの制御や、システムの監視が可能なペトリネットモデルでシステムの性能評価を行うために設定した各種パラメータに基づき特殊な実行処理を行いシステムの挙動を表す処理を行う。通常実行処理手段１２８は、ペトリネットモデル設計手段１１１で設計したペトリネットモデルを拡張ペトリネットの形式に基づき実行処理を行い、ペトリネットモデルの挙動を表す処理を行う。
【００２６】
ペトリネットモデル設計手段１１１で設計したペトリネットモデルは、ペトリネットモデル記憶手段１２９によって、補助記憶装置１０７などのディスクに記録される。ペトリネットモデル設計手段１１１でモデル化を行う設計プロセスや、ペトリネット実行手段１１２でシステムの挙動を表す実行プロセスなどは、ペトリネットモデル表示手段１３０によって表示機１０４で表示される。
【実施例】
【００２７】
次に実施例を挙げて、本発明をより具体的に説明する。
図４に、物流センターなどで使用されている自動仕分けラインを含めた搬送システムの一部を示した。また、図４には、その搬送システムが図１に示したコンピュータ本体１０１と入出力信号をやり取りするための接点も表されている。具体的には、Ｉ／Ｏインターフェース１０９が、システムの各制御機器から入力信号を受け取る接点をＸと数字で表されている。また、Ｉ／Ｏインターフェース１０９が、システムの各制御機器へ出力信号を出力する接点をＹと数字で表されている。これら構成で本発明による搬送システムの制御と搬送システムの監視、さらに、搬送システムの性能評価が行われる。
【００２８】
最初に、図４に示した搬送システムについて説明する。この搬送システムは、トラックなどで運ばれた商品を物流センター内の保管ラックや平場などのエリアまで自動搬送するシステムの一部である。入荷品は、複数の部品を入れることのできる箱（バケット）で入荷ライン４０１に投入される。バケット内には、同じ保管ラックのエリアへ搬送するものであれば、５種類まで、異なる商品をまとめることができる。バケット内にある商品の品番とその個数は、バケットの側面に貼られたバーコードで情報を得ることが可能である。下の表にバケット内の商品情報を示す。
【００２９】
【表１】
2007058447.tif 000003
【００３０】
【表２】
2007058447.tif 000004
【００３１】
【表３】
2007058447.tif 000005
【００３２】
【表４】
2007058447.tif 000006
【００３３】
【表５】
2007058447.tif 000007
【００３４】
上の表の品番は、左から数字２つは保管ラックのエリアを示し、右から数字２つは保管ラックの棚番を示す。入荷ライン４０１に投入したバケットの中身が、異なったエリアへ搬送される商品の混載された状態にある場合、混載チェックライン４０３に自動仕分けされる。そして、混載をチェックする作業者を呼び出すランプ（Ｙ１５）を点灯させる仕組みとなっている。
【００３５】
また、バケット内の商品の総数が１００個以上の場合は、保管ラックエリアへの搬送ではなく、多量品の一時保管場所である平場エリアへ搬送する仕組みとなっている。
【００３６】
次に、例えば、ライン２（４０５）にバケットが仕分けされる方法について説明する。
仕分けライン４０２は、各エリアの引き込みライン４０４〜４０７と連絡している。入荷ライン４０１のコンベアから流れてきたバケットは、仕分けライン４０２の位置センサ４１０で検知される。その検知を受け、仕分けライン４０２のコンベアが動き出し仕分けライン４０２上をバケットが流れていく。仕分けライン４０２を流れるバケットは、仕分けライン４０２に取り付けられている５つの位置センサ（Ｘ４〜Ｘ７）と５つ押し出しシリンダ（エアー圧力により伸縮する機構：Ｙ１０〜Ｙ１４）の前を順に通過する。
仕分け先がライン２（４０５）である場合、位置センサ４１１がバケットの通過を検知すると一定時間後に仕分けライン４０２のコンベアが止まる。その時、バケットは、押し出しシリンダ４１２の正面にある。押し出しシリンダ４１２にエアーが供給され、その圧力によりシリンダが伸びる。押し出しシリンダ４１２に取り付けられたシリンダが完全に伸びた状態を感知する押し出し完了センサＸ３２が完了を検知するとシリンダ内へのエアーの供給を止める。この時、バケットは伸びて来たシリンダによってライン２（４０５）へ押し出されている。
【００３７】
押し出し完了センサＸ３２の検知後に、押し出しシリンダ４１２がシリンダ内のエアーを放出してシリンダを初期位置まで縮める。押し出しシリンダ４１２が初期位置に戻ると、押し出しシリンダ４１２に取り付けられている初期位置センサＸ３７が検知する。その検知を受けて、仕分けライン４０２上にバケットがある場合は、仕分けライン４０２のコンベアを動かし、次のバケットの仕分けを続ける。ライン２（４０５）の位置センサ４１３は、押し出されたバケットを検知して、ライン２のコンベアを動かす。これによりバケットは、２エリアの保管ラックまで搬送される。仕分けライン４０２の仕様については、ある程度の間隔をあけたバケットを最大５つまでのコンベア上に載せることが可能であり、連続的に仕分けができるようになっている。
【００３８】
これらの搬送システムを本発明の拡張ペトリネットに基づく制御装置で、制御、監視、性能評価を行うには、搬送システムを拡張ペトリネット形式でモデル化する必要がある。以下、この搬送システムを例にとり、拡張ペトリネット形式によるシステムのモデル化方法と、本発明の拡張ペトリネットの特徴と実行時における処理方法について説明する。
【００３９】
図５は、搬送システムを拡張ペトリネット形式によってモデル化した際に表示機器１０４に出力される拡張ペトリネットに基づく設計実行手段１１０の画面の構成である。
アプリケーションのメインウィンドウ５０１は、ウィンドウの移動やウィンドウサイズの伸縮が自由に行えるようになっている。主に、メインウィンドウ５０１は、さまざまな操作を行うためのメニューバー５０２とペトリネットモデルを作成するときに必要となるノード（プレース、トランジション、アークについては、通常アーク、抑止アーク、往復アークの３種類ある）の選択や配置の切り替えなどを行うツールバー５０３、ペトリネットモデルを作成するウィンドウ５０６（シート）、５０７にグリッド線を設定することで各ノードを整列させることや作製したネットウィンドウのペトリネットモデルを拡大縮小して表示させるツールバー５０４、制御の実行や性能評価などのペトリネットモデルを実行するツールバー５０５、拡張ペトリネットモデルで階層先のモデル化を行うウィンドウ５０７、現在のアプリケーション内のプロジェクト（モデル化したペトリネット図のまとまり）を階層的に表現しているプロジェクトバー５０８で構成されている。
【００４０】
拡張ペトリネット形式でシステムのモデル化を行う際に作成するペトリネット図は、拡張ペトリネットに基づく設計実行手段１１０で下記のように作成できる。
【００４１】
各ノード（プレース、トランジション、アークなど）の配置は、ツールバー５０３で配置したいノードを選択して、ペトリネットモデルを作成するウィンドウ５０６、５０７の配置したい場所でポインティング入力装置１０６（マウス）を左クリックすると配置することができる。アークについては、ツールバー５０１で設定したいアークを選択して、接続させたいプレースやトランジションをポインティング入力装置１０６で選択することで接続できる。このとき、最初にマウスで選択したノードから次に選択したノードへの向きでアークを接続することになる。ペトリネットモデルを作成するウィンドウ５０６、５０７については複数のウィンドウ（シート）を生成することが可能である。
【００４２】
図４の搬送システムを拡張ペトリネットの形式でモデル化する方法は、大きく４つの工程に分けることができる。これらの４つの工程では、それぞれ目的にあったシート（ウィンドウ）にペトリネット図を描く必要がある。
【００４３】
1つ目のシステム状態モデル作成工程は、システムに起こり得る状態またはシステムを監視したい状態を表現するペトリネット図を作成する工程である。作成者は、前記システムの状態を表現するペトリネット図を、システム状態モデルシートで描くことができる。
【００４４】
２つ目のシステム処理実行モデル作成工程は、前記システム状態モデル作成工程で作成したペトリネット図のある状態から次の状態へ遷移する際に必要となる処理の内容について階層化先で表現するペトリネット図を作成する工程である。作成者は、前記必要となる処理の内容を表現したペトリネット図を、制御処理モデルシートで描くことができる。
【００４５】
３つ目のシステム割り込み処理実行モデル作成工程は、通常処理から非常停止のような優先的に割り込み処理を実行させたい場合に、階層構造の上位レベルで制御の分岐処理を表現するペトリネット図を作成する工程である。作成者は、前記の制御の分岐処理を表現するペトリネット図をシステム状態モデルシートで描くことができる。
【００４６】
４つ目の入出力条件ブロック化モデル作成工程は、共有プレースを用いて入出力条件をブロック化して他の各シートで再利用することを目的としたペトリネット図を作成する工程である。作成者は、前記ブロック化を目的としたペトリネット図をＩ／Ｏセッティングシートで作成することができる。
【００４７】
図４に示した搬送システムを前記システム状態モデル作成工程で作成したペトリネット図を図７に示す。図７のペトリネットモデルは、図４の外観をペトリネットで表現している。プレース７０２、７０４などは、ラインまたはライン上の１部分を示している。ライン上を流れる商品（バケット）をトークンで表すと、搬送システムのどのラインにどんな商品（バケット）が流れているかを把握することができる。このようにシステム状態モデル作成工程では、システムの起こり得る状態または作成者がシステムを監視したい状態をペトリネット図で表現する。そして、ある状態から次の状態へ遷移する際の処理については、階層化トランジション７０１、７０５などを用いて表現する。
【００４８】
次の工程であるシステム処理実行モデル作成工程では、階層化トランジションで表現した処理の内容についてモデル化を行う。図１０は、図７に示した階層化トランジション７０１の階層化先のペトリネット図である。階層化トランジション７０１は、入荷品の投入処理を表している。この階層化先のペトリネット図では、入荷品の投入時の制御機器との入出力信号処理が行われる。
【００４９】
階層化先のペトリネット図は、図１０に示すように、スタートトランジション（ＳＴＡＲＴノード）で始まり、エンドトランジション（ＥＮＤノード）で終わる特定の構造となっている。スタートトランジションとエンドトランジションなどの階層化トランジションの仕様については後述する。
【００５０】
階層化先のペトリネット図では、まず図１０のように入荷品の投入処理の内容をスタートトランジションとエンドトランジションを結ぶ直線上の間に細分化する。図１０では、入荷品の投入処理を入荷品の確認の状態を示すプレース１００２、入荷コンベアの稼働状態の確認の状態を示すプレース１００８、入荷コンベアの制御完了した状態を示すプレース１０１１の３つの処理状態プレースに細分化して、処理の進み具合を把握できるようにしている。
【００５１】
次に、これら処理状態プレースの遷移によって発生する細分した処理を示す処理トランジションを順に並べて処理全体の流れをつくる。図１０では、入荷品の確認処理を示す処理トランジション１００５、コンベアの稼働処理を行う処理トランジション１００９、稼働中のコンベアに稼働継続の処理を行う処理トランジション１０１０に処理を細分化している。
【００５２】
更に、前記処理状態プレースから遷移するのに必要な前記処理トランジションの入力条件と、この入力条件を満たした後に行う処理内容を処理トランジションの出力条件としてモデル化する。
図１０では、処理トランジション１００５の入力条件として、処理状態プレース１００２と、入荷品の有無を示す入荷ラインの左端に取り付けられたセンサの入力信号に対応した外部入力プレース１００３と、外部入力プレース１００３の重複した入力信号による処理トランジション１００５の発火を抑える共有プレース１００４の３つの入力条件でモデル化している。
処理トランジション１００５の発火後の処理として、状態プレース１００８への状態遷移を示すマーキングと、入荷ライン上のバケット数をカウントする共有プレース１００７のカウント数を１つ加算するマーキングと、共有プレース１００４と同じプレースを共有している共有プレース１００６にトークンをマーキングして外部入力プレース１００３の重複した信号による発火を防止する３つの処理をモデル化している。同様に、全ての処理トランジションに対してモデル化を行う。
【００５３】
同様に図７の階層化トランジション７０６の階層化先ペトリネット図を図１１、階層化トランジション７０７の階層化先ペトリネット図を図１２のように、図７の残りの階層化トランジションに対してモデル化を行う。
【００５４】
システム割り込み処理実行モデル作成工程は、通常処理から非常停止のような割り込み処理を実行させることのできるペトリネットモデルを作成する工程である。図４の通常処理は、システム状態モデル作成工程や、システム処理実行モデル作成工程で作成したペトリネット図を実行して処理を行うことである。拡張ペトリネットで通常処理に割り込み処理を行う場合は、通常処理のような割り込み処理を行うペトリネット図より階層構造が上位となるペトリネット図で通常処理と割り込み処理とを分岐するモデル化を行う必要がある。図４の搬送システムの場合は、図７に示す上位ペトリネット図を階層化プレースで階層化することで図７より階層構造がさらに上位になる図６に示す最上位ペトリネット図で割り込み処理のモデル化を行っている。
【００５５】
図６に示すペトリネット図の実行処理が開始されると、図７に示す搬送システムの処理を行う階層化プレース６０４にトークンがマーキングされる。このように通常処理を行う階層化プレースに常時マーキングされるようモデル化を行う。
階層化トランジション６０５は、図８に示すような階層化先のペトリネット図からなり、非常停止ボタンが押されたら発火するようモデル化されている。そのため、非常停止ボタンを押した場合、階層化トランジション６０５が発火して、通常処理を行う階層化プレース６０４のトークンが取り除かれ、非常停止中の処理を行う階層化プレース６０６にトークンを遷移させる。その結果、通常処理が停止して、非常停止中の処理が実行されるようになる。このように割り込み処理を行う階層化プレースを用意して、通常処理を行う階層化プレースからトークンを遷移させることができるようにモデル化を行う。
【００５６】
入出力条件ブロック化モデル作成工程では、外部入出力の条件をブロック化して他のペトリネット図で再利用することでモデル化を簡素化することを狙いとしている。図４に示す搬送システムの場合は、７つの非常停止ボタン（Ｘ２２〜Ｘ２８）が１つでも押された時に信号がＯＮになるような条件を図９のようにモデル化を行う。
モデル化の際には、他のペトリネット図でも同じプレースのようにトークンなどの情報を共有することができる特定機能を持つＩ／Ｏ共有プレースに入出力条件の結果を反映するようにする。図９の場合、入力条件の結果をＩ／Ｏ共有プレース９０１により反映している。そして、Ｉ／Ｏ共有プレース９０１を他のペトリネット図（図８）のＩ／Ｏ共有プレース８０３と共有することによりトランジション８０４の入力条件を簡素化している。
【００５７】
図９に示すペトリネット図のシートであるＩ／Ｏセッティングシートは、拡張ペトリネットの特定の実行処理により、モデル化を図９のように簡素化することができる。これについては、Ｉ／Ｏセッティングシートの実行処理方法で説明する。
【００５８】
このように、４つの工程でモデル化することで、モデル化が行い易くなり、ペトリネットモデルの実行時にはシステムの状態を容易に把握することができる。
【００５９】
次に、本発明である拡張ペトリネットに基づく制御装置の拡張ペトリネット形式によるペトリネットモデルの実行処理について説明する。
拡張ペトリネット形式によるペトリネットモデルの実行処理は、拡張ペトリネットに基づく設計実行手段１１０で行われる。実行処理には、制御実行手段１２６、性能評価実行手段１２７、通常実行手段１２８の実行形態と、階層構造における複数ネット間の実行処理を制御する階層構造実行手段１２３がある。これらについて、順に説明する。
【００６０】
図１３は、単一のペトリネット図を描いたシートにおける制御実行手段１２６の実行処理の順序を簡易的に示したフローチャート図である。実行処理の基となるものは、図２、図３のペトリネット理論に時間的概念を取り入れた時間ペトリネット理論である。拡張ペトリネットの形式では、図５の拡張ペトリネットに基づく設計実行手段５０１のウィンドウ５０６や、５０７のウィンドウ（シート）単位で実行処理が行われる。
実行処理とは、シート内のトランジションに対して発火処理を行いトークンを遷移させることである。トランジションの発火処理は、属性設定手段１１５で選択することができる属性設定の有無により処理方法が異なる。ここでは、属性設定手段１１５で属性設定が行われていないペトリネット図のシートにおける発火処理について説明する。
【００６１】
発火処理は、主に、発火遅れなしの発火処理１３０４と発火遅れありの発火処理１３０６の２種類ある。
【００６２】
発火遅れなしの発火処理は、トランジションに遅れ時間が設定されていないトランジションに対してのみ発火処理を行うことである。この場合、記録した発火可能なトランジションを発火させた後、再度、発火遅れ時間が設定されていないトランジションに対して発火処理を行う。発火遅れ時間の設定がされていないトランジションが発火できなくなるまで繰り返し発火処理を行う。
【００６３】
発火遅れありの発火処理については、発火遅れ設定時間が設定されているトランジションに対してのみ発火処理を行う。この場合、記録された発火可能なトランジションには、発火カウンタがあり、発火処理を行う度に発火カウンタを１加算して遅れ時間分、トランジションの発火を待機させて時間を遅らせる。発火カウンタとトランジションの発火遅れ時間との値が等しくなったことが記録されたトランジションについては、待機状態を解除して発火を行うことでトークンを遷移させる。
【００６４】
この発火処理を踏まえて、図１３の制御実行処理について説明する。入力リフレッシュ処理１３０１、１３１０は、制御対象機器１０８の入力信号を下記の外部入力プレースを用いた拡張ペトリネット形式でモデル化したものに反映させる処理である。
【００６５】
プレース９０２やプレース１００３などの外部入力プレースＸは、制御対象機器１０８から拡張ペトリネットに基づく制御装置１０１への入力接続を示し、符番については、制御装置１０１と制御対象機器１０８と入力接点番号と対応している。よって、Ｘ１の外部
入力プレースは、入力接点１に接続している制御機器からの入力信号を反映していることを表している。制御機器から送られた入力信号は、外部入力プレースのトークンのマーキングによって入力信号の有無を判別することができる。このプレースは、機能プレースであるためプレース内にマーキングできるトークンは必ず１つであり常に外部入力信号の状態を反映する仕様となっている。
【００６６】
Ｉ／Ｏセッティングシート発火遅れなしの発火処理については、シートの種類が異なるのみで発火遅れなしの処理は同じである。Ｉ／Ｏセッティングシートは、制御対象機器との接続を示す接点に対応した外部入力プレースや外部出力プレースの信号の有無を応用した複雑な条件をＩ／Ｏ共有プレースでブロック化することで他のシートのモデル化を簡素化する場合に使用するシートである。Ｉ／Ｏセッティングシートについての詳細は後に説明する。
【００６７】
ステップ１３０２〜１３０７までの発火処理についは前記に示したものと同様である。
【００６８】
出力のリフレッシュ処理１３０８は、外部出力を示すＹと出力接点番号を示した外部出力プレース内のトークンの有無で表される状態をその接点に接続している制御対象機器１０８に対して出力信号として反映させる処理を行う。具体的には、例えば、外部出力プレースＹ１のマーキングがある場合、この出力接点Ｙ１に接続している制御対象機器１０８に出力信号を出力する。
【００６９】
シート設定手段１１３で設定した１ステップ時間から、発火処理などに掛かった時間を差し引き、残りの時間を１３１１で待機する。このように、実行処理を一定間隔で繰り返し行うことで制御対象機器１０８を制御することが可能となる。
【００７０】
図１４には、性能評価実行手段１２７、通常実行手段１２８のフローチャート図を示す。これら両者は、実行処理に用いるシートとパラメータが異なるのみで実行処理の順序、発火遅れなしの発火処理１４０１、１４０３および発火遅れありの発火処理１４０２は前記の発火処理と同じである。
【００７１】
制御実行手段１２６の特徴は、時間と共に外部入出力プレースに反映される入力情報が変化するため、全てのトランジションが発火できなくなっても実行処理を繰り返し継続する仕様となっていることである。この点、性能評価実行手段１２７、通常実行手段１２８とは仕様が異なる。
【００７２】
階層構造実行手段１２３について説明する。図６のプレース６０４とプレース６０６は、階層化プレースであり、トランジション６０５とトランジション６０７は、階層化トランジションである。以下、拡張ペトリネットの各階層化ノードについて説明する。
【００７３】
階層化プレースは、１つのシートに関連させることで階層構造を持つことが可能となる。階層化プレースと階層構造的に関連したペトリネット図のことを階層化先のペトリネット図(シート)と言う。
階層化プレースと階層化先のペトリネット図は、以下の仕様となっている。
１．階層化プレース内にトークンがマーキングされている場合、階層化先のペトリネット図を活性させ実行処理を行う。
２．階層化プレースにトークンが在り続ける限り、階層化先のペトリネット図は実行処理を行う。
３．階層化プレース内のトークンが遷移してプレース外に出た場合、階層化先のペトリネット図を不活性とし実行処理を停止させる。但し、階層化プレース内にまだトークンが１つ以上あるときは、シート設定手段１１３の下記の設定に従い再度実行処理を行う。
(i)図１５の１５０１にチェックを入れない場合、ペトリネット図を活性させて停止
した状態から継続して実行を続ける（継続実行処理）。
(ii)図１５の１５０１のチェックを入れる場合、ペトリネット図を活性させ停止した
状態からペトリネット図の初期化処理を行い、再度実行処理を行う（初期化後に実行処理）。
４．階層化プレース内にトークンがない場合、再び階層化プレース内にトークンがマーキングされるまで階層化先のペトリネット図の実行処理を停止させる。
【００７４】
階層化トランジションも階層化プレースと同様に、１つのペトリネット図を関連させることで階層構造を持つことが可能である。階層化トランジションと階層構造的に関連したペトリネット図のことを階層化先のペトリネット図（シート）と言う。階層化トランジションと階層化先のペトリネット図は、以下の仕様となっている。
１．階層化トランジションは、発火可能な状態になった時に、階層化先のペトリネット図を活性化させ実行処理を行う。但し、階層化トランジションは、入力プレースのトークンを発火予約しない。
２．階層化先のペトリネット図は、必ずスタートトランジションとエンドトランジションの特定のトランジションで構成されている。
３．活性化して実行を開始した階層化先のペトリネット図は、スタートトランジションを１度のみ発火させる（スタートトランジションの仕様）。
４．エンドトランジションの発火条件を満たしエンドトランジションが発火するまでは、階層化元の階層化トランジションは発火を行わない（エンドトランジションの仕様）。
５．階層化トランジションと競合を起こしているトランジションが先に発火してしまうことで階層化トランジションが発火できなくなった場合、活性して実行処理を行っている階層化先のペトリネット図は直ちに実行処理をやめてシートを不活性としてシートの初期化を行う。この際、初期化されるプレースは通常プレースのみである。
６．エンドトランジションが発火した場合、その階層化先のペトリネット図を不活性として実行処理を終了して初期化を行う。そして、階層化元の階層化トランジションを発火させて通常どおりトークンの遷移を行う。
【００７５】
前述した階層化プレース、階層化トランジションおよび階層化先のペトリネット図の仕様に基づく、階層構造を持つペトリネットモデルの実行処理の流れを図１６のフローチャート図で示す。発火処理１６０２は、図１３と図１４にある、発火遅れなしの発火処理（１ステップ単位）と発火遅れありの発火処理（１ステップ単位）とを示している。従って、図１６のフローチャート図の処理は、図１３、図１４にそれぞれ示したフローチャート図の発火処理の前に行われる。
【００７６】
図１６の活性判定１６０１や階層化ノードによるシートの活性判定１６０３、階層化ノードによるシートの不活性判定１６０４は、階層化ノードの状態より判定することが可能である。
【００７７】
本発明の拡張ペトリネット形式では、システムの制御と監視、システムの性能評価を円滑に行えるようにする為に、ペトリネット図を描く３種類のシートを用意している。それぞれの種類と役割について説明する。
【００７８】
１つ目のシートは、システム状態モデルシートである。このシートの役割は主に３つある。
１．システムの状態を表示する（システム監視が可能）。
２．システムの状態が遷移する際に、必要となる階層化先のペトリネット図のみ実行処理させるトリガーの役割をもたせる。
３．システムの性能評価実行時に、階層構造の下位のペトリネット図である制御処理モデルシートとシステム状態モデルシートを分離して、システムの性能評価に必要なシステム状態モデルシートのみ実行処理させる。
【００７９】
２つ目のシートは、制御処理モデルシートである。このウィンドウの役割は、システム状態モデルシートから実行処理の指示を受け、システムの状態を変化させるのに必要な処理や制御処理、データ処理などを行うシートである。実際に外部入力プレースや外部出力プレースなどを配置するシートである。
【００８０】
３つ目のシートは、Ｉ／Ｏセッティングシートである。このシートの特徴は、入出力に対応した制御対象機器（Ｉ／Ｏデバイス）の信号リフレッシュ後に常時実行されるところにある。このシートの役割は下記の通りである。
１．Ｉ／Ｏデバイスの信号の有無を応用した条件をブロック化して制御処理モデルシートの条件を簡素化する。
２．Ｉ／Ｏセッティングシートが、常にＩ／Ｏデバイス信号の条件をチェックすることで、常に実行していない階層化シートであっても常時Ｉ／Ｏデバイスの信号を反映させた条件を使うことができるようになる。
３．Ｉ／Ｏセッティングシートにおいて、Ｉ／Ｏ共有プレース（複数のシートで１つのプレースを共有して使用することができる機能プレース）などを用いてＩ／Ｏデバイスの条件をブロック化したシートを、Ｉ／Ｏデバイスと同様であると考え、シートに対してステップ毎に初期化処理１３０９（Ｉ／Ｏリフレッシュ処理と同じ意味。初期化処理の実行は選択可能）を実行する。これにより、入出力条件のシートを簡素化する。
【００８１】
システムの制御と監視、性能評価を効率よく行うために、３つの種類のシートには規則がある。
１．システムモデルネットは、制御処理モデルシートより必ず階層構造が高い位置に配置する。
２．システム状態モデルシートには、外部入出力プレースなどのＩ／Ｏデバイスに関連したノードを配置することができない。
３．Ｉ／Ｏセッティングシートでは階層化の設定ができない。
【００８２】
次に、本発明の拡張ペトリネット形式でモデル化した搬送システムのペトリネットモデルを例にとり、拡張ペトリネット形式による階層構造の実行処理と従来のペトリネット理論のモデル化では、複雑なモデルとなってしまう非常停止などの割り込み処理を簡素化できるモデル化の方法について説明する。
【００８３】
図６は、ルートとなる、階層構造の最上位にあるペトリネット図である。このペトリネット図は、システム状態モデルのシートであるため、搬送システムの状態の移り変わりを表すようにモデル化されている。図６の搬送システムネットは、搬送システムが制御中であるか非常停止中であるのか、また、それらに移行する段階にあるのかを表現することが可能である。
【００８４】
システムの初期状態を示すプレース６０１には、初期マーキングがある。図６の搬送システムのモデル化では、トークンは現在の搬送システムの状態を示している。ツールバー５０５の実行ボタンを選択してこの搬送システムをモデル化したペトリネット図の実行処理を開始した場合、トランジション６０３が発火してトークン６０２が階層化プレース６０４に遷移する。
【００８５】
階層化プレース６０４にトークンがマーキングされると階層化先のペトリネット図であるライン制御中を示すペトリネット図の図７が活性されて実行処理を開始する。また、層化プレース６０４にトークンがマーキングされると、階層化トランジション６０５が発火可能な状態となる為、階層化先のペトリネット図である非常停止処理シートが活性されて実行を開始する。
【００８６】
階層化プレース６０４により活性した図７のライン制御中を示すペトリネット図は、システム状態モデルシートである。このシートの各プレースによって示された状態は、搬送システムそのもの状態であり、搬送システムを上部から見た外観と同じようにモデル化している。各プレースは、搬送システムの各ラインなどを表し、遷移するトークンは、入荷品であるバケットやその中の商品を表すことができる。このため、図７については、トークンに属性を持たせる設定を行っている。この点は、属性設定の方法に関連して後述する。
【００８７】
図７のライン制御中を示すシステム状態モデルのシートを実行すると、階層化トランジション７０１が発火可能な状態になる。そして、階層化先のペトリネット図である図１０の入荷品の投入を示すペトリネット図が活性して実行処理が行われる。
【００８８】
図１０の入荷品投入シートは、制御処理モデルシートである。このシートでは、入荷品を投入したときの制御処理を行っている。よって、このペトリネットモデルには外部入出力プレースが配置されており、センサなどの制御対象からの入力信号やコンベアなどの制御対象への出力信号などを扱っている。
【００８９】
入荷品の投入シートでは、スタートトランジション１００１を一度のみ発火（スタートトランジションの仕様）させることで、入荷品の確認状態を示す状態プレース１００２にマーキングする。
【００９０】
次のトランジション１００５が発火するには、入荷ライン４０１の左端センサ４１４（Ｘ１）がＯＮにならなければならない。左端センサ４１４は、入荷ライン４０１の作業者が左端センサ４１４の前に入荷品を投入することでＯＮになる。よって、入荷品の投入後、左端センサ４１４に対応している外部入力プレース１００３にトークンがマーキングされる。
共有プレース１００４は、複数のシートで１つのプレースを共有して使用することができる機能プレースであり、共有プレース１００６と同じプレースを共有している。共有プレース１００４はトランジション１００５と抑止アークで接続しているため、共有プレース内にトークンがなければトランジション１００５の発火条件は満たされる。トランジション１００５の発火により３つの出力プレースである共有プレース１００６と共有プレース１００７状態プレース１００８にトークンが遷移する。
【００９１】
このとき、外部入力プレース１００３は、常に左端センサ４１４の入力信号の状態をプレースのトークンに反映する機能プレースであるため、トランジション１００５の発火によるトークンの遷移によって１００３のトークンが失われることはない。
【００９２】
共有プレース１００５は、入荷ラインに流れているバケット数を表している。この共有プレース１００５は、階層化トランジション７０５の階層化先のペトリネット図などで使用されている。
【００９３】
発火後に共有プレース１００６にトークンがマーキングされると、同じプレースを共有している共有プレース１００４にもマーキングされる。共有プレース１００４の役割は、左端センサ４１４の前からバケットが通り過ぎて入力信号がＯＦＦになるまでトランジション１００５の発火をできなくすることである。
【００９４】
状態プレース１００８以降の処理は、入荷ラインのコンベアの状態に応じてコンベアを稼働させる処理を行っている。その処理の後、エンドトランジション１０１２が発火する。この発火により、階層化元のシートの階層化トランジション７０１が発火して機能プレース７０２にトークンを遷移させる。
【００９５】
機能プレース７０２に遷移したトークンは搬送システムを流れる入荷品（バケット）を表している。機能プレース７０２は、バーコードリーダー４０９で読み取った２次元バーコードのデータをトークンの属性に反映させる機能をもったプレースである。この機能プレース７０２は、図１の機能設定手段１２０で関数コードを入力して機能設定することによりプレースに機能を実装することが可能である。この機能については、属性定義に関連して後述する。
【００９６】
このように、図７に示すライン制御中シートの実行処理は、搬送システムの状態を示すものであり、その状態から次の状態へ遷移する際に必要となる処理を階層化トランジションの階層化先のペトリネット図を実行して処理を行っている。図６の階層化プレース６０４にトークンがある限り、図７とシート内の階層化ノードによって階層化されたシートが実行処理を行うことで搬送システムの制御が行なわれる仕組みとなっている。
【００９７】
図６の階層化トランジション６０５が発火可能な場合、階層化先のペトリネット図である非常停止処理シート（図８）が活性して実行される。
【００９８】
図８の非常停止処理シートが実行されると、スタートトランジション８０１が、一度のみ発火して状態プレース８０２にトークンをマーキングする。トランジション８０４は、Ｉ／Ｏ共有プレース８０３にトークンがないと発火条件を満たすことができないため、発火することはない。このＩ／Ｏ共有プレース８０３は、図９のＩ／Ｏセッティングシートで入力条件をブロック化したＩ／Ｏ共有プレース９０１と共有している。このブロック化については、入出力条件ブロック化モデル作成工程に関連して既に説明している。
【００９９】
Ｉ／Ｏセッティングシートの発火処理や実行処理のタイミングは、図１３のフローチャート図のステップ１３０２、１３０４、１３０６、１３０９に示す。
【０１００】
図９のＩ／Ｏセッティングシートは、搬送システムの各ラインにある７つの非常停止ボタンのいずれかが押された場合、接続するトランジションが発火してＩ／Ｏ共有プレース９０１にトークンがマーキングされる。
Ｉ／Ｏ共有プレース９０１は、トークンによるＯＮ/ＯＦＦの制御信号を扱うため制限容量を１と設定してある。そのため、Ｉ／Ｏ共有プレース９０１のトークンは１つのみマーキングすることが可能である。このＩ／Ｏ共有プレース９０１のトークンを取り除かない限り、トランジションが連続的に発火することはない。
【０１０１】
Ｉ／Ｏセッティングシートは、シート設定手段１１３（図１）により、図１５に示す１５０１の設定でステップ単位に初期化を行うかどうか設定することが可能である。このＩ／Ｏセッティングシート図９は、ステップ毎に初期化する設定となっているため、Ｉ／Ｏ共有プレース９０１のトークンは次のステップで初期化され、トークンは取り除かれる。
非常停止ボタンを復帰した場合、接続するトランジションが発火することはないので該Ｉ／Ｏ共有プレース９０１のトークンも無くなる。
【０１０２】
Ｉ／Ｏ共有プレース９０１は、図８の非常停止処理ネットのＩ／Ｏ共有プレース８０３と共有されているため、７つの非常停止ボタンの入力信号をブロック化してトランジション８０４の発火条件を簡素化している。非常停止が１つでも押されれば、Ｉ／Ｏ共有プレース８０３にトークンがマーキングされるので、トランジション８０４は発火する。
【０１０３】
従来のペトリネットでは、一度プレースにマーキングされたトークンを排出する場合、排出するためのペトリネット図を構成する必要があった。しかし、本発明の拡張ペトリネットによるＩ／Ｏセッティングシートの初期化設定機能により、非常停止ボタンが復帰した場合のトークンを排出させるためのペトリネット図を構成する必要を無くすことができる。さらに、Ｉ／Ｏデバイスの入出力条件をブロック化して他のシートで使用することで、システムのモデル化を簡素化してシステムの設計効率を向上させることができる。
【０１０４】
トランジション８０４の発火後、トークンは処理状態プレース８０５へ遷移する。そして、エンドトランジション８０６が発火可能となり発火する。
【０１０５】
上記のように非常停止ボタンが押された場合、図６の階層化トランジション６０５が発火して階層化プレース６０４のトークンが取り除かれ、階層化プレース６０６へトークンが遷移する。階層化トランジション６０５が発火する際、階層化先のペトリネット図である非常停止処理シート図８が不活性となり初期化が行なわれる。この時、初期化されるプレースは通常プレースのみである。
【０１０６】
また、階層化トランジション６０５の発火後には、階層化プレース６０４の階層化先のペトリネット図であるライン制御中シート（図７）とこのライン制御中シートの実行によって実行していた階層化先のペトリネット図は、全て不活性となり実行処理が停止する仕組みとなっている。
【０１０７】
図７のライン制御中シートは、シート設定手段１２３（図１）による図１５の１５０１の設定が行われないため、シートの初期化を行わない。この場合、再び、階層化プレース６０４にトークンがマーキングされると現状のシートの状態から継続して実行処理を行う。
【０１０８】
階層化トランジション６０５の発火により階層化プレース６０６は、トークンをマーキングする。これにより、階層化プレース６０６の階層化先のペトリネット図が、活性して実行処理を開始する。実行処理を開始した階層化先のペトリネット図では、システムのペトリネットモデル内の出力信号を取り除く処理を行うことで搬送システムは非常停止状態になる。
【０１０９】
このように、図７に示すペトリネット図と階層構造が下位のペトリネット図の実行処理が停止すると、実際の搬送システムも停止状態となる。この時、図７が示すペトリネットモデルのシステムの状態と実際に停止している搬送システムの状態は同じとなる。
【０１１０】
階層化プレース６０６にトークンがマーキングされたことで、階層化トランジション６０７が、発火可能となり、階層化先のペトリネット図が活性して実行を開始する仕組みとなっている。
【０１１１】
これらの拡張ペトリネット形式による階層構造の実行方法を用いれば、システムが如何なる状態にあっても、非常停止のような割り込み処理を容易に行うことが可能となる。さらに、割り込み処理の種類を増やす場合にも、容易に対応することが可能である。
【０１１２】
例として、図４の搬送システムに別の割り込み処理を追加したい場合について説明する。優先的に割り込み処理を行いたい場合、階層構造の上位ルートで割り込み処理を行うペトリネットモデルへトークンを導くようにする（分岐処理）。これにより、割り込み処理の追加およびその実行が可能となる。
【０１１３】
図６の場合、階層化プレース６０４から階層化トランジション６０５とは別の階層化トランジションを接続させる。そして、その階層化先のペトリネット図に割り込みを発生させたい条件をモデル化して、その条件が満たされた時に階層化トランジションが発火できるようにする。次に、この階層化トランジションに階層化プレースを接続させる。接続させた階層化プレースの階層化先のペトリネット図に割り込み処理の内容をモデル化すれば、割り込み処理は完成する。
【０１１４】
このようにすれば、割り込み処理の発生条件を満たせば、新たに追加した階層化トランジションが発火して、階層化プレース６０４のトークンが取り去られ、新たに追加した割り込み処理を行う階層化プレースにトークンがマーキングされる。これにより、割り込み処理を実行することがきる。
【０１１５】
従来のペトリネット理論では、図４の搬送システムをペトリネットモデル化して制御を行う場合、非常停止のような割り込み的な制御に対応させるため為には、制御内容をペトリネットモデル化したプログラム内の全てのトランジションに、非常停止が押され時に非常停止処理を行うという前提条件と後提条件を追加しなければならなかった。しかし、本発明である拡張ペトリネット形式での階層構造の実行方法であれば、図６のようなルートに割り込み処理を行うペトリネットモデルへトークンを導くようにすることで（分岐処理）、割り込み処理を容易に実現することができる。また、割り込み処理の種類が増えてもルートに分岐処理を追加することで容易に対応できる。
【０１１６】
さらに、本発明の拡張ペトリネット形式での階層構造の実行方法は、階層構造の上位にある階層化ノードにより、階層化先のペトリネット図を活性させて実行処理を行うことに特徴がある。このことから、拡張ペトリネット形式でシステムのモデル化を行い、この拡張ペトリネット形式での階層構造の実行方法でモデル化したシートを実行することによって、ペトリネットモデル内で活性したシートのトランジションのみ発火判定を行うだけで実行が可能となる。これにより、ペトリネットモデル内の全てのトランジションの発火判定を行う必要がなくなり、実行処理の負荷を軽減することができる。
【０１１７】
次に、本発明である拡張ペトリネットに基づく制御装置の拡張ペトリネットの属性定義と制御への応用について説明する。図４の搬送システムにバケットを投入すると、図１０のペトリネット図の実行処理により図７のペトリネット図の階層化トランジション７０１が発火してトークンを遷移させる。このとき、トークンは、投入したバケットを表現している。さらに、拡張ペトリネットの属性定義によりトークンの属性値でバケット内の異なる商品を表現することができる。
【０１１８】
拡張ペトリネットの属性定義には大きく２つの特徴がある。
１つ目は、制御分野で一般的に使われる整数値や実数値、文字列または２値（ビット）を、それぞれ扱うことができるデータ型として数値型、文字型またはフラグ型の３種類を定義して、これら３種類の型をトークンの属性定義としていることである。
２つ目は、ペトリネット図を描くシート単位に３種類の型のデータ長を設定し、ペトリネット図内の全てのトークンにその設定に応じたデータを格納できるようにして、そのデータに対して参照または代入できるようアドレスを指定できるようにしていることである。これらの属性定義は、属性設定手段１１５で設定することができる。
これらの特徴により、複数のペトリネット図からなるペトリネットモデル内で属性定義の必要となるシートのみに属性設定を許可することが可能となり、実行処理を行ったときの属性に関連するメモリの消費と、属性に関連する実行処理の負荷を抑えることができる。
また、あらかじめ種類の属性を決めておくことで、トークンが格納できるデータ長を指定するだけで簡単に属性を定義することが可能である。
【０１１９】
この属性設定について、図４の搬送システムを例にとり説明する。図７に示すペトリネット図では、バケットを表すトークンに対して図１５のように属性設定を行っている。数値型のデータ数を選択する１５０２、文字型のデータ数を選択する１５０３、フラグ型のデータ数を選択する１５０４でそれぞれデータの個数を設定することができる。図７では、数値型を６個、文字型を６個をそれぞれ指定して、選択しているシートに対して属性定義を許可するチェックボックス１５０７にチェックをしている。これにより、図７の全てのトークンに対して数値型６個、文字型６個のデータを格納することができるようになる。
【０１２０】
このトークンに格納されたデータには自動的にアドレスが設定される。数値型の６個のデータに対しては、Ｄ１からＤ６までのアドレスが付与される。文字型の６個のデータには、Ｓ１からＳ６までのアドレスが付与される。これにより、属性を定義する際に、個々の属性値に自動的に設定されるアドレスを指定することで、個々の属性値への参照や、演算結果の代入など簡単に設定することが可能である。
【０１２１】
拡張ペトリネットの属性定義をシステムの制御とシステムの状態監視に応用する方法について説明する。図４の搬送システムでは、表１から表５が示す商品が入ったバケットが順に投入される。１つ目のバケットを投入すると、図７のペトリネット図の階層化トランジション７０１が実行処理され、発火することでトークンを機能プレース７０２に遷移させる。このとき、機能プレース７０３は、プレースが持つ特定の機能を完了するまでトークンを予約してトークンを遷移できなくする。この機能プレース７０２では、トークンのマーキング後に入荷ライン４０１を流れるバケットの２次元バーコードを読み取り、トークンに対して表１にある品番を文字型のＳ１からＳ５までに代入を行う。さらに、品番に対する個数については、Ｄ１からＤ５に代入を行う。代入完了後、機能プレース７０２によるトークンの予約が解除され、トランジション７０３が発火可能になる。
【０１２２】
属性設定を許可したシートにおけるトランジションの設定と、搬送システムの制御を行う実行処理について説明する。属性設定を許可したシートでは、トランジション発火条件式設定手段１１６とトランジション出力設定手段１１７によりトークンの属性値を用いた複雑な制御を行うための設定を簡単に行うことができる。属性設定を許可したシートの実行処理では、通常のトランジションの発火判定に加え、トランジション発火条件式設定手段１１６で設定したトランジションの発火条件式を含む発火規則を考慮して発火判定処理を行う。
また、発火後の遷移するトークンに対して、トランジション出力設定手段１１７の設定に従いトークンの属性値の変更を行う。トランジション発火条件式設定手段１１６で設定した発火条件式やトランジション出力設定手段１１７で設定した出力設定は、関連するアーク単位に設定を行い、関連するアークに設定値が組み込まれる仕組みとなっている。システムの制御における属性値を用いた複雑な発火処理は、実行処理内の属性設定発火処理手段１２４で処理を行っている。
【０１２３】
トランジション７０３では、トランジション発火条件式設定手段１１６による設定を行っていないので、通常の発火判定により発火する。発火後の出力設定については、トランジション出力設定手段１１７により設定を行っている。このため、機能プレース７０３から遷移するトークンの属性値によって保管ラックのエリアが判別され、Ｄ６に保管ラックのエリアを示すデータが機能プレース７０３から遷移するトークンに格納されるよう設定される。
【０１２４】
トランジション７０３のトランジション出力設定手段１１７の設定画面を図１７に示す。トランジションの出力設定は、入力プレースから遷移するトークンの属性値を基に、トランジションから出力プレースに出力されるトークンの属性値に対して、遷移するトークンのデータの代入や遷移するトークンデータを基に演算した結果の代入等、任意に行うことができる。
【０１２５】
出力トークン設定表１７０２のアドレスＤ１の１：１：Ｄ１の表記内容について説明する。１つ目の数字は、トランジションの発火によりトークンが遷移する入力プレースに接続しているアークの番号を示している。アークの番号とは、入力アークの一覧表１７０１の番号欄に表示している番号である。
２つ目の数字は、遷移するトークンの番号である。アーク番号で指定したアークに２以上の重みがある場合、アークに接続する入力プレースから遷移するトークンも２以上の複数となる。このため、２つ目の数字で、トランジションの発火時に同一アークより遷移するトークンが複数ある場合、何番目に遷移するトークンなのかを示している。これらにより遷移する１つのトークンを確定することができる。
３つ目のアドレス値は、確定したトークンのアドレスを指定している。
【０１２６】
出力トークンの設定表１７０２のアドレスＤ１は、機能プレース７０２から遷移するトークンのＤ１の値、すなわち個数の値をそのまま代入することを意味する。Ｄ２からＤ５も指定したアドレスの値を代入している。Ｄ６については、Ｓ１からＳ５に代入された品番の上位２桁の保管ラックのエリア（以下搬送先エリアとする）が５つの商品とも同一の場合は搬送先エリアの数値を代入し、商品の搬送先エリアが１つでも異なる場合は混載チェックライン４０３へ誘導するための値６を代入する。このように、出力するトークンの属性データを簡単に設定することが可能である。
【０１２７】
図４の仕分けライン４０２でバケットの搬送先エリアに応じて押し出しシリンダがバケットを仕分けする制御について説明する。トランジション７０３で搬送先エリアのデータをＤ６に格納したトークンは、順に実行処理を経て仕分けライン４０２上のバケットを示すプレース７０７へ遷移する。このプレース７０７にトークンがマーキングされると、押し出しシリンダで仕分け処理を行う階層化トランジション７０６と、次の押し出しシリンダにバケットを搬送する処理を行う階層化トランジション７０８が通常の発火判定において発火可能な状態となる。
【０１２８】
階層化トランジション７０６は、トランジション発火条件式設定手段１１６によりライン上のバケットを表すトークンの属性値を用いた発火条件式が設定されている。階層化トランジション７０６をトランジション発火条件設定手段１１６で設定する画面を図１８に示す。
入力アークの一覧表１８０１は入力アークを示している。発火条件式の設定１８０２では、入力アークに接続している入力プレース内のトークン属性値を用いて、発火条件式を任意に設定することができる。トランジション７０６が発火する条件として、発火条件式の設定１８０２に示す２つの発火条件式がある。通常の発火判定で発火可能な状態あり、２つの発火条件式を共に満たしていればトランジション７０６は発火する仕組みとなっている。１つ目の発火条件式は、トークンの搬送先エリアが２であることであり、２つ目の発火条件式は、５つの商品の数量が１００個以下であることである。
【０１２９】
階層化トランジション７０８にも、トランジション発火条件式設定手段１１６により発火条件式が設定されている。階層化トランジション７０８をトランジション発火条件設定手段１１６で設定する画面を図１９に示す。通常の発火判定で発火可能な状態であり、発火条件式の設定１９０２で示す２つの発火条件式のいずれかを満たしていれば、階層化トランジション７０８は発火する仕組みとなっている。
【０１３０】
プレース７０７へ遷移したトークンの搬送先エリアを示すＤ６の値は２であり、商品の個数を示すＤ１からＤ５の合計も１００個以下であるため、階層化トランジション７０６が発火条件を満たす。よって、発火条件式による発火判定で発火可能となり図１１が示す階層化先のペトリネット図の実行処理を行う仕組みとなっている。
【０１３１】
図１１は、ライン２にバケットを仕分けする押し出しシリンダの制御する処理内容を示している。図１１のペトリネット図の実行処理を行うことで、表１に示すバケットはライン２へ仕分けされる。
【０１３２】
図４の搬送システムを拡張ペトリネット形式でモデル化した複数のシートの中で、属性定義を許可したシートは図７に示すもののみである。他のシートに関しては属性定義を行ってはいない。このように必要に応じてトークンの属性定義をシート単位に行うことが可能な仕組みとなっている。これにより、属性による発火判定の処理を必要なシートのみで行えばよく、実行処理にかかる負荷を軽減できる。
【０１３３】
このように、拡張ペトリネットによる属性定義と、拡張ペトリネットによるトークンの属性値を用いたトランジションの発火制御や、トランジションや機能プレースの機能などによりトークンの属性値を変更することで、システムを詳細に表現することが可能となる。そして、複雑なシステムの制御と詳細なシステムの状態監視を実現することができる。
【０１３４】
次に、制御を目的としている拡張ペトリネットの形式で生産ラインや物流システムなどの制御対象システムをモデル化したペトリネット図で、システムの性能を模擬的に評価して、生産性を下げているボトルネックとなる工程やシステム構成の問題箇所などを発見し、システムを改善するヒントを得ることのできるシステムの性能評価を行う性能評価実行手段１２７と、性能評価実行手段１２７が実行時に使用する特定のパラメータを設定する性能評価設定手段１２２について説明する。
【０１３５】
図４に示す搬送システムなどを拡張ペトリネット形式でモデル化したペトリネット図には、制御処理モデルシートで制御対象機器との信号に対応した機能プレースなどを使用している。このため、拡張ペトリネットでモデル化したペトリネット図を実行処理させても、搬送効率を下げているボトルネックとなるライン、ライン上のバケットが溢れないようなバケットを投入するタクトタイム、またはシステム構成の問題箇所などを模擬的（搬送システムとの制御を行わない）に発見することはできない。なぜなら、制御処理モデルシートの機能プレースが制御対象機器と交信を行わない限り、実行処理が進まないからである。
【０１３６】
性能評価実行手段１２７は、搬送システムを拡張ペトリネット形式でモデル化した複数のペトリネット図のシステム状態モデルシートのみ実行処理させる。これにより、搬送システムの性能評価を行うことができる。この実行形態を性能評価実行という。
【０１３７】
性能評価実行手段１２７による実行処理時に、性能評価設定手段１２２で設定したパラメータを使用する。このパラメータは、制御実行手段１２６および通常実行手段１２８による実行処理時に使用する、各種ノード設定手段１１８および機能設定手段１２０などが設定したパラメータとは異なる。
【０１３８】
性能評価実行で使用するパラメータを前記性能評価設定手段１２２で設定する方法について説明する。性能評価実行を行う場合、階層化先のシートが制御処理モデルシートである階層化ノードと機能プレースに対して設定を行う必要がある。その設定方法について、前述した搬送システムを拡張ペトリネットの形式でモデル化したペトリネット図を用いて説明する。
【０１３９】
最初に、搬送システムの何について性能評価を行うのか決める必要がある。ここでは、明日の作業オーダーを図４の搬送システムで行った場合の性能評価を行うことにする。
１ステップ実行処理の時間であるタイムユニットを実作業時間で定義する。この場合、１タイムユニットを３０秒として、1日の作業８時間をタイムユニットに換算した９６０ステップで性能評価実行が終了するように性能評価設定手段１２２で設定する。
【０１４０】
搬送システムのペトリネット図の中で、システム状態モデルシートのペトリネット図は図６と図７である。図６は、搬送システムを制御する通常処理と、非常停止ボタンが押された場合に搬送システムを止める非常停止処理の分岐を制御する。作業履歴により搬送システムの１日に発生する非常停止回数から階層化トランジション６０５の発火遅れ時間を算出して設定する。この発火遅れ時間には、統計、確率などの関数を設定することも可能である。階層化トランジション６０７には、類似するシステムの非常停止1回分の時間より発火遅れ時間を算出して設定する。
性能評価実行では、階層化トランジションの階層化先のシートが制御処理モデルシートである場合、階層化先のシートは実行処理を行うことは無く性能評価設定手段１２２で設定した発火遅れ時間により発火処理を行う仕組みとなっている。このため、図６を性能評価実行した場合、階層化トランジション６０５と階層化トランジション６０７により、階層化プレース６０４による図７の実行処理を作業履歴より算出した搬送システムの非常停止発生時間分だけ止める。これにより、搬送システムの性能評価を忠実に再現することができる。
【０１４１】
搬送システムの入荷品の投入タクトタイムを３０秒の1タイムユニットとした場合、図７の階層化トランジション７０１の発火遅れ時間は１となる。よって、性能評価設定手段１２２で該階層化トランジション７０１の発火遅れ時間を１と設定する。
【０１４２】
機能プレース７０２は、性能評価設定手段１２２で関数を設定する必要がある。性能評価実行で設定する機能は、制御実行で設定した機能と異なっても構わない。性能評価実行では、本発明の制御装置に接続しているデータベース１３１にある、例えば、明日の作業オーダーを読み取り、機能プレース７０２のトークンの属性値に品番と数量を反映する機能を設定する。
【０１４３】
トランジション７０３は通常のトランジションであるため制御実行時に使用した属性設定などのパラメータを使用する。
【０１４４】
階層化トランジション７０５は、制御実行時に階層化先のシートで入荷ライン４０１上を流れるバケットを仕分けライン４０２へ送る際の制御処理を行う。よって、性能評価設定手段１２２で設定する性能評価実行時の階層化トランジション７０５の発火遅れは、図４の入荷ラインを左端から右端へ流れるバケットの搬送時間を算出して設定することになる。
【０１４５】
階層化トランジション７０６は、制御実行時に階層化先のシートでバケットを仕分けする押し出しシリンダの制御処理を行う。よって、性能評価設定手段１２２で設定する性能評価実行時の階層化トランジション７０６の発火遅れは、押し出しシリンダがバケットの仕分けにかかる時間を算出して設定することになる。該階層化トランジション７０６のトークンの属性設定による発火条件式や出力設定に関しては、制御実行処理で使用したパラメータをそのまま使用する。
【０１４６】
他の階層化トランジションに対してもトランジション７０６と同様に、階層化先の制御処理モデルシートで制御対象を処理する時間を性能評価設定手段１２２で階層化トランジションの発火遅れに設定する。これにより、図７の性能評価実行は、例えば、明日の作業オーダー分のバケットを図４の搬送システムに流した場合のシステムの状態を時系列で表現することができる。
【０１４７】
性能評価実行の処理の過程はペトリネット図を遷移するトークンで表現している。性能評価実行の処理の速さは、1ステップの処理時間を任意に設定することで調節が可能である。
【０１４８】
以上より性能評価実行で、明日の作業オーダーのバケットを模擬的に図４の搬送システムに流して、性能を評価することが可能となる。これにより、投入するバケットのタクトタイムが適切であるか、または、１日の作業時間が適切であるかなど調べることができる。また、搬送システムの性能が作業に適しているのかを模擬的に把握することができる。
なぜなら、性能評価実行手段１２７より図７の搬送システムを表すペトリネット図よりバケット流れ具合を把握することができるため、ボトルネックとなるラインの判別が可能だからである。
逆に搬送システムのバケットを搬送する速度や仕分け速度を性能評価実行で割り出して、その時間で処理をするように制御処理の設計を見直したり、搬送装置をより性能の高いものに取替えて処理を速めるなど、改善活動の手助けを行うことも可能となる。
【図面の簡単な説明】
【０１４９】
【図１】本発明による拡張ペトリネットに基づく制御装置のシステム構成例を示す図である。
【図２】ペトリネット理論の説明に用いるトランジションの発火前を示す図である。
【図３】ペトリネット理論の説明に用いるトランジションの発火後を示す図である。
【図４】搬送システムの構成と制御対象機器に対応した接点番号を示す図である。
【図５】本発明による拡張ペトリネットに基づく設計実行手段のウィンドウを示す図である。
【図６】本発明の拡張ペトリネット形式で搬送システムをモデル化した最上位ネット（ルートネット）を示す図である。
【図７】本発明の拡張ペトリネット形式で搬送システムをモデル化したライン制御中ネットを示す図である。
【図８】本発明の拡張ペトリネット形式で搬送システムをモデル化した非常停止処理ネットを示す図である。
【図９】本発明の拡張ペトリネット形式で搬送システムをモデル化したＩ／Ｏセッティングネットを示す図である。
【図１０】本発明の拡張ペトリネット形式で搬送システムをモデル化した入荷品の投入ネットを示す図である。
【図１１】本発明の拡張ペトリネット形式で搬送システムをモデル化したライン２分岐処理ネットを示す図である。
【図１２】本発明の拡張ペトリネット形式で搬送システムをモデル化したシリンダ２通過ネットを示す図である。
【図１３】本発明の拡張ペトリネットによる制御実行手段の実行処理を示すフローチャート図である。
【図１４】本発明の拡張ペトリネットによる通常実行手段と性能評価実行手段の実行処理を示すフローチャート図である。
【図１５】本発明の拡張ペトリネットによるネット設定手段の設定画面を示す図である。
【図１６】本発明の拡張ペトリネットによる階層構造実行手段の実行処理を示すフローチャート図である。
【図１７】本発明の拡張ペトリネットによるトランジションの出力設定手段の設定画面を示す図である。
【図１８】本発明の拡張ペトリネットによるトランジションの発火条件式設定手段の設定画面を示す図である。
【図１９】本発明の拡張ペトリネットによるトランジションの発火条件式設定手段の設定画面を示す図である。
【符号の説明】
【０１５０】
１０１    拡張ペトリネットに基づく制御装置
１１１    ペトリネットモデル設計手段
１１２    ペトリネット実行手段
１１３    ネット設定手段
１１４    要素配置編集手段
１１５    属性設定手段
１１６    トランジション発火条件式設定手段
１１７    トランジション出力設定手段
１１８    Ｉ／Ｏ設定手段
１２０    階層構造設定手段
【図１】
2007058447.tif 000008
【図２】
2007058447.tif 000009
【図３】
2007058447.tif 000010
【図４】
2007058447.tif 000011
【図５】
2007058447.tif 000012
【図６】
2007058447.tif 000013
【図７】
2007058447.tif 000014
【図８】
2007058447.tif 000015
【図９】
2007058447.tif 000016
【図１０】
2007058447.tif 000017
【図１１】
2007058447.tif 000018
【図１２】
2007058447.tif 000019
【図１３】
2007058447.tif 000020
【図１４】
2007058447.tif 000021
【図１５】
2007058447.tif 000022
【図１６】
2007058447.tif 000023
【図１７】
2007058447.tif 000024
【図１８】
2007058447.tif 000025
【図１９】
2007058447.tif 000026