拡張ペトリネットに基づく制御対象システムのモデル化方法および拡張ペトリネットに基づく制御装置
【課題】物流システムの設計や改善に役立つ拡張ペトリネットに基づく制御装置を提供する。
【解決手段】本発明の拡張ペトリネットに基づく制御装置(101)は、入力手段(105、106)と、表示手段(104)と、ペトリネットモデル設計手段(111)と、ペトリネット実行手段(112)とを備え、外部の制御対象機器(108)と接続可能なコンピュータシステムからなる。これにより、システムの制御、システムの監視およびシステムの性能評価を1つのペトリネットモデルで行うことができる。
【解決手段】本発明の拡張ペトリネットに基づく制御装置(101)は、入力手段(105、106)と、表示手段(104)と、ペトリネットモデル設計手段(111)と、ペトリネット実行手段(112)とを備え、外部の制御対象機器(108)と接続可能なコンピュータシステムからなる。これにより、システムの制御、システムの監視およびシステムの性能評価を1つのペトリネットモデルで行うことができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物流分野や製造分野において、庫内物流、FAシステムまたは生産ラインなどの制御対象システムを制御するための拡張ペトリネットに基づくモデル化方法とそれを用いた拡張ペトリネットに基づく制御装置に関するものである。
【背景技術】
【0002】
物流分野や製造分野における、庫内物流、FAシステムまたは生産ラインなどでは、シーケンス制御が用いられている。最近では、制御のみではなくシステムの稼働状況把握や進捗把握、遠隔地からのシステム監視、システム異常発生元の表示などシステムの状態を詳細に表現することのできる付加価値について必要性が増している。さらに、生産ラインや物流システムの性能を模擬的に評価することで生産性を下げているボトルネックとなる工程やシステム構成の問題箇所などを発見し、システムを改善するヒントを得ることのできる付加価値においても同様である。
【0003】
物流分野や生産分野のシステムは、主にシーケンス制御を行うPLC(プログラマブル・ロジック・コントローラー)により制御されている。PLCでは主にLD(ラダー)、SFC(シーケンシャル・ファンクション・チャート)などの記述手法を用いてシーケンス制御の処理を行っている。LDは、個々の出力に対して動作条件を羅列していくため、全体の制御の流れが見えにくく、そのプログラムは作成者以外の第三者には理解し難い。そのため、メンテナンス性が悪いなど問題点が指摘されている。SFCは、LDの制御の流れが見えにくいという問題点を改善することができる。しかし、両者はシーケンス制御の処理を行う記述手法であるため、システムそのものを表現することはできない。よって、システム状態の監視やシステムの性能評価などの前記付加価値を提供することはできない。
【0004】
物流分野や生産分野などの庫内物流における製品の流れや生産ラインを流れる部品や材料が幾つかの作業工程を経て製品になる様子は、一般に離散事象システムとして表さわれる。離散事象システムをモデル化する手法の1つにペトリネットがある。ペトリネットは、多くのシステムに適用可能なグラフィックでモデル化ができるツールである。
【0005】
ペトリネットは、1962年ドイツのCarl Adam Petriによって提案され、平行的、非同期的、並列的、分散的、非決定的、確立的な動作を特徴とする生産システムや、情報システム、物流システムなどを表現する有力な手段である。
【0006】
ペトリネットの定義自体は、オートマトンなどと同様に単純なものであり、その理解には特別な数学の知識を必要としない。特に、図としての表現が可能であることがペトリネットの大きな特徴である。
【0007】
ペトリネットは有向グラフの1つであり初期マーキングと呼ばれる初期状態をもつ。ペトリネットをつくる基本的なグラフは、重みつき有向2部グラフであって、プレースとトランジションの2種類のノードからなる。アークは、プレースからトランジションに接続するもの、または、トランジションからプレースに接続するもののいずれかである。
【0008】
条件と事象の概念を用いるモデル化においては、プレースが条件を表し、トランジションが事象を表す。トランジションはそれぞれの事象の前提条件と後提条件としているいくつかの入力プレースと出力プレースを持つ。
【0009】
以下、本発明にも関連する図2等を参照しつつ、ペトリネット図について説明する。トランジション208の前提条件となる入力プレース201と入力プレース204、後提条件となる出力プレース209をそれぞれのアークで接続している。入力プレース201内のトークン202およびトークン203と、入力プレース204内のトークン205とは、初期マーキングを表す。
【0010】
トランジション208が発火可能となる条件は、入力プレース201からトランジション208に接続しているアーク206の重み211以上のトークンが入力プレース201にあり、かつ、入力プレース204からトランジション208に接続しているアーク207の重み以上のトークンが入力プレース204にある場合である。この場合、入力プレース201に接続しているアークの重み211は2で入力プレース201内のトークンも2つある。また、入力プレース204に接続しているアークの重みは、アークに数値が記述されていない場合は1であり、入力プレース204のトークン数は1である。よって、前提条件を満たしているため、トランジション208は発火する。
【0011】
トランジション208が発火した状態を図3に示す。発火後の前提条件では、入力プレース301から接続するアークの重み309分のトークンを取り除く。入力プレース302も同様に接続するアーク304の重み分のトークンを取り除く。
【0012】
発火後の後提条件では、出力プレース307に接続するアーク306の重み分のトークンを出力プレース307内にマーキングする。この場合は、アークの重みが1であるため、出力プレース307には1つのトークンがマーキングされる。
【0013】
図2のトランジション208の発火遅れ212について説明する。上記のペトリネット理論に時間的概念を加えたものが時間ペトリネットである。この発火遅れ212は、発火可能な状態から5ステップ分の発火時間を遅らせる働きがある。1ステップ時間を1秒とした場合、発火可能なトランジション208が発火するのは、5秒後となる。このように、時間ペトリネットを用いれば、システムの挙動を時間的に表現することが可能となる。
【0014】
カラーペトリネットでは、トークンに属性を持たせることが可能である。トランジションでは、トークン属性を用いて発火規則(firing rule)を論理式などで表すことができる。
【特許文献1】特開2003−150887号公報
【発明の開示】
【発明が解決しようとする課題】
【0015】
従来のペトリネット理論を用いたシステムの制御、監視、システムの性能評価には下記の4つの問題点がある。
【0016】
1つ目として、従来のペトリネット理論では、システムのあらゆる状況において優先的に割り込み処理をさせるようなシステムを簡素にモデル化することが困難であった。割り込み処理に複数の種類がある場合は、モデル化を一層に複雑にしていた。ペトリネットモデルを複雑にすることは、ペトリネットの利点でもある視覚的表現の効果に影響を与え、システムの監視の妨げになり問題である。例えば、図4の搬送システムをペトリネットモデル化して制御を行う場合、非常停止のような割り込み的な制御に対応させるため為には、制御内容をペトリネットモデル化したプログラム内の全てのトランジションに非常停止が押された時に、非常停止処理を行うという前提条件と後提条件を追加しなければならなくなる。トランジションに前提条件と後提条件を追加することは、ペトリネットモデルの設計工数を増加させるだけでなくペトリネットモデルを複雑にすることになる。また、システムの規模が大きくなるに従いトランジションの数が増えてしまうため、より影響を受けてしまうこととなる。さらに、割り込み処理の種類が複数あるとトランジションに対して追加する前提条件と後提条件も複数追加することとなるため、設計工数の増大とペトリネットモデルの複雑化への影響はより大きくなる。
【0017】
2つ目として、従来のペトリネット理論でシステムのモデル化を行い、そのペトリネットモデルを実行させる場合、1ステップ毎にモデル内の全てのトランジションに対して発火可能であるかの判定を行い、発火可能であれば発火処理を行う必要があった。システムの規模が大きくなるに従いトランジションの数が増大すると、全てのトランジションについて1ステップ毎に発火判定を行うことは、ペトリネットの実行処理に大きな負荷を与えることになる。
【0018】
3つ目として、カラーペトリネット理論を用いてトークンに属性を与えて商品、部品または製品などを表現する場合、トークンの属性定義やトークンが遷移するアークの属性定義など多くの定義や設定を要するため、ペトリネットモデルの設計や属性設定が複雑で、ペトリネットモデルの設計工数も増大していた。
【0019】
4つ目として、制御を目的としたペトリネットモデルで、システムの監視、システムの性能評価の全てを行うことができなかった為、用途に合わせてペトリネットモデルを再設計する必要があった。
【0020】
本発明は、このような事情に鑑みて為されたものであり、システムの制御、システムの監視およびシステムの性能評価を1つのペトリネットモデルで行うことができるモデル化方法を提供することを目的とする。また、このモデル化方法を用いた拡張ペトリネットに基づく制御装置を提供することを目的とする。
【課題を解決するための手段】
【0021】
本発明者はこの課題を解決すべく鋭意研究し、試行錯誤を重ねた結果、次のような本発明を完成するに至った。
〈拡張ペトリネットに基づく制御対象システムのモデル化方法〉
すなわち本発明の拡張ペトリネットに基づく制御対象システムのモデル化方法は、制御対象であるシステムを拡張ペトリネットを用いてモデル化する拡張ペトリネットに基づく制御対象システムのモデル化方法であって、
該システムの起こり得る状態を表したプレースと該システムのある状態を表すプレースから次の状態を表すプレースへの遷移に必要となる処理を階層構造をもって表した階層構造トランジションとを時系列順に並べて上位ペトリネット図を作成し、該システムの全体の状態をモデル化するシステム状態モデル作成工程と、前記上位ペトリネット図上のあるプレースから次のプレースへ遷移する様子を、前記処理の開始を示すスタートトランジションと該処理の終了を示すエンドトランジションと該スタートトランジションと該エンドトランジションとの間の状態を細分化して表した複数の処理状態プレースと該処理状態プレース間の遷移に必要となる細分化された処理を表した処理トランジションとを時系列順に並べて作成した下位ペトリネット図に表し、前記階層構造トランジションに含まれる階層化先の処理内容をモデル化するシステム処理実行モデル作成工程と、前記システムの通常処理から割り込み処理へ遷移可能なペトリネットモデルを作成して、前記システムの通常処理の実行中の如何なる状態からでも優先的に割り込み処理の実行を可能とするシステム割り込み処理実行モデル作成工程と、外部I/Oデバイスの論理的な入出力条件の結果を反映すると共に複数のペトリネット図の間で共有可能な機能をもつ共有プレースを用いて該入出力条件をブロック化する特定ペトリネット図を作成して、該複数のペトリネット図間で該該共有プレースの再利用を可能とするモデル化を行う入出力条件ブロック化モデル作成工程とを有することを特徴とする。
(作用効果)
本発明の拡張ペトリネットに基づく制御対象システムのモデル化方法によれば、次のよう作用効果が得られる。
(1)システム状態モデル作成工程やシステム処理実行モデル作成工程では、システムの状態の流れや処理の流れに沿って順序立てて制御対象システムをモデル化することができるため、設計が容易で、専門知識や設計経験が無くても設計が可能である。
(2)こうしてモデル化したペトリネット図をペトリネット実行手段により実行処理した場合、システム状態モデル作成工程やシステム処理実行モデル作成工程で作成したペトリネット図からシステムの状態を容易に把握することができる。
(3)システム割り込み処理実行モデル作成工程で作成したペトリネット図は、割り込み処理が可能な従来のペトリネットモデルに比べて簡素化することができる。よって、モデル化の設計効率が向上する。
(4)入出力条件ブロック化モデル作成工程で作成したペトリネット図は、1つの共有プレースに反映させることが可能である。このため、他のペトリネット図で共有プレースを再利用することでペトリネットモデルを簡素化することができる。
〈拡張ペトリネットに基づく制御装置〉
さらに本発明は、上記拡張ペトリネットに基づく制御対象システムのモデル化方法を制御装置に利用したものでも良い。
すなわち本発明の拡張ペトリネットに基づく制御装置は、ポインティングデバイスおよびキーボードを含む入力手段と、作成および編集した内容を表示する表示手段と、拡張ペトリネットによるペトリネットモデルを設計するペトリネットモデル設計手段と、ペトリネットモデルを実行するペトリネット実行手段とを備え、外部の制御対象機器と接続可能なコンピュータシステムからなる拡張ペトリネットに基づく制御装置であって、
前記ペトリネットモデル設計手段は、プレースとトランジションと該プレースおよび該トランジションを接続するアークとを配置したペトリネット図を作成する要素配置編集手段と、前記要素配置編集手段で配置したノードを設定する各種ノード設定手段と、前記ペトリネット図を目的に応じた状態に設定するシート設定手段と、前記ペトリネット図に階層構造を設定する階層構造設定手段と、外部の制御対象機器と特定機能を有する外部入出力プレースとの関連を設定するI/O設定手段の手段とを備え、前記ペトリネット実行手段は、前記階層化されたペトリネット図の実行を制御する階層構造実行手段と、前記ペトリネットモデルを実行させて外部の制御対象機器を制御する制御実行手段と、前記ペトリネットモデルを実行させてシステムの挙動をペトリネットで表現する通常実行手段とを備え、さらに、作成したペトリネットモデルを記録するペトリネットモデル記録手段と、ペトリネットモデルの作成、編集および実行を表示手段に表示させるペトリネットモデル表示手段とを有することを特徴とする。
(作用効果)
本発明の拡張ペトリネットに基づく制御装置によれば、次のよう作用効果が得られる。
(1)本発明の制御装置の階層構造実行手段は、前述したモデル化方法で作成した階層構造を有するペトリネットモデルの通常実行処理中に発生した割り込み処理命令に対して、割り込み処理を行うペトリネット図に実行処理を任意に移すことが可能となる。
(2)ペトリネット実行手段は、システムの状態が遷移する際に、必要となる階層化先のペトリネット図のみを実行処理させる。そのため、トランジションの発火判定処理を、必要とするペトリネット図のみに限定して行うことができるため、実行処理の負荷を軽減できる。
(3)ペトリネット実行手段は、制御対象の制御を行いながらシステム状態モデルシートと、制御処理モデルシートでリアルタイムにシステムの挙動を表現しているため、簡単にシステムの状態を把握することができる。
(4)制御実行手段のI/Oセッティングシートの実行処理と初期化機能により、外部入出力条件をブロック化したペトリネット図の簡素化と、ペトリネットモデル内のトランジションを削減することによる実行処理の負荷を軽減できる。
〈その他〉
本発明の拡張ペトリネットに基づく制御対象システムのモデル化方法および拡張ペトリネットに基づく制御装置は、さらに次のような構成を備えるとより好ましい。
1.すなわち、上記した本発明は、前記ペトリネット図単位に該ペトリネット図内の全てのトークンに対して所定の設定に応じたデータの格納、参照および代入を可能とする属性を設定する属性設定手段と、前記トークンに付与された属性値に外部情報を設定でき若しくは該属性値の変更を任意に設定できる機能をプレース若しくはトランジションに割り当てる機能設定手段と、前記トランジションの発火規則を示す発火条件式を任意に設定できるトランジション発火条件式設定手段と、トランジションの発火後に遷移する前記トークンに付与された属性値に対して該属性値の変更を任意に設定できるトランジション出力設定手段と、前記機能設定手段の設定に従い前記トークンの属性値を変更する機能実行手段と、前記トランジション発火条件式設定手段で設定した発火条件式を考慮した発火判定を行い、前記トランジション出力設定手段の設定に従い発火後のトークンの属性値を変更する属性設定発火処理手段とを有すると好適である。
(作用効果)
本発明によれば次のよう作用効果が得られる。
(1)属性設定手段を用いることで、複数のシートからなるペトリネットモデルに対して、必要なシートにのみ属性定義をすることができる。このため、ペトリネット実行手段で実行処理を行う場合、属性に関連するメモリの消費量と、属性に関連する実行処理を削減して処理の負荷を抑えることができる。
(2)属性設定手段は、あらかじめトークンに何種類かの属性定義をすることで、トークンが格納できるデータ長を指定するだけで、簡単にトークンに属性を持たせることができる。
(3)属性設定手段でデータ長を指定する際に、個々の属性値に自動的にアドレスが付与される。そのアドレスにより、トランジション発火条件式設定手段、トランジション出力設定手段または機能設定手段などは、個々の属性値への参照や、演算結果の代入など簡単に設定することが可能となる。
(4)属性設定発火処理手段を用いることで、トークンの属性値からトランジション発火を制御したり、トランジションや機能プレースの機能などの設定値によりトークンの属性値を変更したりすることができる。
(5)上記した全ての手段を用いることで、システムを詳細に表現することが可能となり、複雑なシステムの制御と詳細なシステムの状態監視とを実現することができる。
2.さらに、本発明は、前記システムの生産性低下の要因箇所の特定を可能とする性能評価を模擬的に行える性能評価実行手段と、前記性能評価実行手段が実行時に使用する特定のパラメータを設定する性能評価設定手段とを有すると一層好適である。
(作用効果)
本発明によれば次のよう作用効果が得られる。
(1)性能評価実行手段は、本来の制御用に拡張ペトリネット形式でモデル化したペトリネット図でシステムの性能を模擬的に評価することが可能である。これにより、性能評価設定手順の設定次第で、システムの生産効率、作業計画さらにはシステムの構成の不具合などを把握することができる。
(2)性能評価設定手段と性能評価実効手段を用いることで、制御用のペトリネット図を性能評価のためにも再利用することが可能となる。これにより、性能評価を行うために必要なペトリネットモデルの設計をより効率的に行える。
【発明を実施するための最良の形態】
【0022】
次に実施形態を挙げ、本発明をより詳しく説明する。以下の説明は、本発明の拡張ペトリネットに基づく制御装置のみならず拡張ペトリネットに基づく制御対象システムのモデル化方法にも適宜該当する。また、いずれの実施形態が最適であるかは、制御対象、要求性能等によって異なることを断っておく。
図1に拡張ペトリネットに基づく制御装置のハード構成を示す。図1は本発明を実施する際に必要となる装置、機能を記載している。
【0023】
図1においてコンピュータ本体101は、中央演算処理装置102と主記憶装置103などを有する汎用コンピュータである。
拡張ペトリネットに基づく設計実行手段110は、データ入力装置105(例、キーボード)や、ポインティング入力装置106(例、マウス)を用いて、ペトリネットモデルの設計を行うことや、制御対象機器108を制御するペトリネットモデルの実行処理、システム状態の表示処理、システム性能の評価処理などを行う。
表示装置104(例、液晶ディスプレイ)は、拡張ペトリネットに基づく設計実行手段110の処理内容などを表示する。補助記憶装置107(例、磁気ディスク)は、拡張ペトリネットに基づく設計実行手段110などのデータを必要に応じて記録する。データベース131は、拡張ペトリネットに基づく設計実行手段110と必要に応じて接続することが可能であり、ペトリネット実行手段112とデータの受け渡しを行う。
コンピュータ本体には、外部入出力信号を扱うことのできる汎用のPCIボードのI/Oインターフェース109が内蔵されている。中央演算処理装置102で処理されることで、外部の制御対象機器108からの入力信号の受け取り、主記憶装置103上に記録された拡張ペトリネットに基づく設計実行手段110にデータとしての反映、拡張ペトリネットに基づく設計実行手段110から外部出力信号としてI/Oインターフェース109から外部の制御対象機器108への出力信号の送信などがなされる。これらの装置のしくみにより、制御対象機器108の制御を行うことができる。
【0024】
ペトリネットモデル設計手段111は、以下の幾つかの設計に関する手段を行うことでシステムの制御や、システムの性能評価ができるペトリネットモデルを作成する。
シート設定手段113は、ペトリネット図を描くシートの種類の選択や、ペトリネット実行手段112の実行処理間隔時間を設定する。要素配置編集手段114は、選択したペトリネット図のシートに「プレース」、「トランジション」、「アーク」を入力してペトリネット図を作成する。属性設定手段115は、ペトリネット図のシート単位にカラーペトリネットのトークンの属性定義を拡張した拡張ペトリネットによる属性定義の設定(以下属性定義とする)の有無や、初期マーキングのトークンに属性定義による値を設定する。
ペトリネット図に属性設定が許可されている場合のみ使用できる発火条件式設定手段116は、図2に示すペトリネットの発火条件とは別に、トランジションに対してトークンの属性を活用して任意に発火規則を表す発火条件式を設定する。ペトリネット図に属性設定が許可されている場合のみ使用できるトランジション出力設定手段117は、トランジションの発火により遷移するトークンについて任意に値を設定する。各種ノード設定手段118は、発火遅れ時間や、トランジション名の設定や、プレースのトークンの初期マーキング数やプレース名などの設定、アークの重みなどを設定する。
階層構造設定119は、階層構造の上位と下位の関係を構築してシートの名前やトランジションの発火順序を設定する。機能設定手段120は、トランジションやプレースなどに制御に必要な特殊機能や演算などの関数機能を割り当て設定する。I/O設定手段121は、は制御対象機器108への外部入出力信号をプレースに割り当てる。性能評価設定122は、制御を目的とした拡張ペトリネットの形式で制御対象システムをモデル化したものに性能評価で使用するパラメータを設定する。
【0025】
ペトリネット実行手段112は、下記の幾つかの実行に関する手段を行うことで、システムの制御や、システム監視、システムの性能評価を行うことができる。階層構造実行手段123は、ペトリネットモデル設計手段111で設計されたペトリネットモデルを拡張ペトリネットの形式に従い階層構造を実行処理する。属性設定発火処理手段124は、トランジション発火条件式設定手段116で設定した発火規則である発火条件式を満足しているかどうか判定を行い、全ての発火条件を満たしていれば発火処理を行う。さらに、発火処理では、トランジション出力設定手段117で設定したトークンの発火出力値の演算、参照値の代入などの処理を行うことで遷移するトークンの属性値に影響を与える処理を行う。機能実行手段125は、機能設定手段120により外部入出力データをトークンに反映させる機能を割り当てられたプレースなど機能を割り当てられた各ノードの実行処理を行う。
制御実行処理手段126は、ペトリネットモデル設計手段111で設計したペトリネットモデルにI/Oインターフェース109からの制御対象機器108からの入力信号、入力データなどの情報を展開して拡張ペトリネットの形式に基づき実行処理を行うことで制御対象機器108の制御を行う。性能評価実行手段127は、システムの制御や、システムの監視が可能なペトリネットモデルでシステムの性能評価を行うために設定した各種パラメータに基づき特殊な実行処理を行いシステムの挙動を表す処理を行う。通常実行処理手段128は、ペトリネットモデル設計手段111で設計したペトリネットモデルを拡張ペトリネットの形式に基づき実行処理を行い、ペトリネットモデルの挙動を表す処理を行う。
【0026】
ペトリネットモデル設計手段111で設計したペトリネットモデルは、ペトリネットモデル記憶手段129によって、補助記憶装置107などのディスクに記録される。ペトリネットモデル設計手段111でモデル化を行う設計プロセスや、ペトリネット実行手段112でシステムの挙動を表す実行プロセスなどは、ペトリネットモデル表示手段130によって表示機104で表示される。
【実施例】
【0027】
次に実施例を挙げて、本発明をより具体的に説明する。
図4に、物流センターなどで使用されている自動仕分けラインを含めた搬送システムの一部を示した。また、図4には、その搬送システムが図1に示したコンピュータ本体101と入出力信号をやり取りするための接点も表されている。具体的には、I/Oインターフェース109が、システムの各制御機器から入力信号を受け取る接点をXと数字で表されている。また、I/Oインターフェース109が、システムの各制御機器へ出力信号を出力する接点をYと数字で表されている。これら構成で本発明による搬送システムの制御と搬送システムの監視、さらに、搬送システムの性能評価が行われる。
【0028】
最初に、図4に示した搬送システムについて説明する。この搬送システムは、トラックなどで運ばれた商品を物流センター内の保管ラックや平場などのエリアまで自動搬送するシステムの一部である。入荷品は、複数の部品を入れることのできる箱(バケット)で入荷ライン401に投入される。バケット内には、同じ保管ラックのエリアへ搬送するものであれば、5種類まで、異なる商品をまとめることができる。バケット内にある商品の品番とその個数は、バケットの側面に貼られたバーコードで情報を得ることが可能である。下の表にバケット内の商品情報を示す。
【0029】
【表1】
【0030】
【表2】
【0031】
【表3】
【0032】
【表4】
【0033】
【表5】
【0034】
上の表の品番は、左から数字2つは保管ラックのエリアを示し、右から数字2つは保管ラックの棚番を示す。入荷ライン401に投入したバケットの中身が、異なったエリアへ搬送される商品の混載された状態にある場合、混載チェックライン403に自動仕分けされる。そして、混載をチェックする作業者を呼び出すランプ(Y15)を点灯させる仕組みとなっている。
【0035】
また、バケット内の商品の総数が100個以上の場合は、保管ラックエリアへの搬送ではなく、多量品の一時保管場所である平場エリアへ搬送する仕組みとなっている。
【0036】
次に、例えば、ライン2(405)にバケットが仕分けされる方法について説明する。
仕分けライン402は、各エリアの引き込みライン404〜407と連絡している。入荷ライン401のコンベアから流れてきたバケットは、仕分けライン402の位置センサ410で検知される。その検知を受け、仕分けライン402のコンベアが動き出し仕分けライン402上をバケットが流れていく。仕分けライン402を流れるバケットは、仕分けライン402に取り付けられている5つの位置センサ(X4〜X7)と5つ押し出しシリンダ(エアー圧力により伸縮する機構:Y10〜Y14)の前を順に通過する。
仕分け先がライン2(405)である場合、位置センサ411がバケットの通過を検知すると一定時間後に仕分けライン402のコンベアが止まる。その時、バケットは、押し出しシリンダ412の正面にある。押し出しシリンダ412にエアーが供給され、その圧力によりシリンダが伸びる。押し出しシリンダ412に取り付けられたシリンダが完全に伸びた状態を感知する押し出し完了センサX32が完了を検知するとシリンダ内へのエアーの供給を止める。この時、バケットは伸びて来たシリンダによってライン2(405)へ押し出されている。
【0037】
押し出し完了センサX32の検知後に、押し出しシリンダ412がシリンダ内のエアーを放出してシリンダを初期位置まで縮める。押し出しシリンダ412が初期位置に戻ると、押し出しシリンダ412に取り付けられている初期位置センサX37が検知する。その検知を受けて、仕分けライン402上にバケットがある場合は、仕分けライン402のコンベアを動かし、次のバケットの仕分けを続ける。ライン2(405)の位置センサ413は、押し出されたバケットを検知して、ライン2のコンベアを動かす。これによりバケットは、2エリアの保管ラックまで搬送される。仕分けライン402の仕様については、ある程度の間隔をあけたバケットを最大5つまでのコンベア上に載せることが可能であり、連続的に仕分けができるようになっている。
【0038】
これらの搬送システムを本発明の拡張ペトリネットに基づく制御装置で、制御、監視、性能評価を行うには、搬送システムを拡張ペトリネット形式でモデル化する必要がある。以下、この搬送システムを例にとり、拡張ペトリネット形式によるシステムのモデル化方法と、本発明の拡張ペトリネットの特徴と実行時における処理方法について説明する。
【0039】
図5は、搬送システムを拡張ペトリネット形式によってモデル化した際に表示機器104に出力される拡張ペトリネットに基づく設計実行手段110の画面の構成である。
アプリケーションのメインウィンドウ501は、ウィンドウの移動やウィンドウサイズの伸縮が自由に行えるようになっている。主に、メインウィンドウ501は、さまざまな操作を行うためのメニューバー502とペトリネットモデルを作成するときに必要となるノード(プレース、トランジション、アークについては、通常アーク、抑止アーク、往復アークの3種類ある)の選択や配置の切り替えなどを行うツールバー503、ペトリネットモデルを作成するウィンドウ506(シート)、507にグリッド線を設定することで各ノードを整列させることや作製したネットウィンドウのペトリネットモデルを拡大縮小して表示させるツールバー504、制御の実行や性能評価などのペトリネットモデルを実行するツールバー505、拡張ペトリネットモデルで階層先のモデル化を行うウィンドウ507、現在のアプリケーション内のプロジェクト(モデル化したペトリネット図のまとまり)を階層的に表現しているプロジェクトバー508で構成されている。
【0040】
拡張ペトリネット形式でシステムのモデル化を行う際に作成するペトリネット図は、拡張ペトリネットに基づく設計実行手段110で下記のように作成できる。
【0041】
各ノード(プレース、トランジション、アークなど)の配置は、ツールバー503で配置したいノードを選択して、ペトリネットモデルを作成するウィンドウ506、507の配置したい場所でポインティング入力装置106(マウス)を左クリックすると配置することができる。アークについては、ツールバー501で設定したいアークを選択して、接続させたいプレースやトランジションをポインティング入力装置106で選択することで接続できる。このとき、最初にマウスで選択したノードから次に選択したノードへの向きでアークを接続することになる。ペトリネットモデルを作成するウィンドウ506、507については複数のウィンドウ(シート)を生成することが可能である。
【0042】
図4の搬送システムを拡張ペトリネットの形式でモデル化する方法は、大きく4つの工程に分けることができる。これらの4つの工程では、それぞれ目的にあったシート(ウィンドウ)にペトリネット図を描く必要がある。
【0043】
1つ目のシステム状態モデル作成工程は、システムに起こり得る状態またはシステムを監視したい状態を表現するペトリネット図を作成する工程である。作成者は、前記システムの状態を表現するペトリネット図を、システム状態モデルシートで描くことができる。
【0044】
2つ目のシステム処理実行モデル作成工程は、前記システム状態モデル作成工程で作成したペトリネット図のある状態から次の状態へ遷移する際に必要となる処理の内容について階層化先で表現するペトリネット図を作成する工程である。作成者は、前記必要となる処理の内容を表現したペトリネット図を、制御処理モデルシートで描くことができる。
【0045】
3つ目のシステム割り込み処理実行モデル作成工程は、通常処理から非常停止のような優先的に割り込み処理を実行させたい場合に、階層構造の上位レベルで制御の分岐処理を表現するペトリネット図を作成する工程である。作成者は、前記の制御の分岐処理を表現するペトリネット図をシステム状態モデルシートで描くことができる。
【0046】
4つ目の入出力条件ブロック化モデル作成工程は、共有プレースを用いて入出力条件をブロック化して他の各シートで再利用することを目的としたペトリネット図を作成する工程である。作成者は、前記ブロック化を目的としたペトリネット図をI/Oセッティングシートで作成することができる。
【0047】
図4に示した搬送システムを前記システム状態モデル作成工程で作成したペトリネット図を図7に示す。図7のペトリネットモデルは、図4の外観をペトリネットで表現している。プレース702、704などは、ラインまたはライン上の1部分を示している。ライン上を流れる商品(バケット)をトークンで表すと、搬送システムのどのラインにどんな商品(バケット)が流れているかを把握することができる。このようにシステム状態モデル作成工程では、システムの起こり得る状態または作成者がシステムを監視したい状態をペトリネット図で表現する。そして、ある状態から次の状態へ遷移する際の処理については、階層化トランジション701、705などを用いて表現する。
【0048】
次の工程であるシステム処理実行モデル作成工程では、階層化トランジションで表現した処理の内容についてモデル化を行う。図10は、図7に示した階層化トランジション701の階層化先のペトリネット図である。階層化トランジション701は、入荷品の投入処理を表している。この階層化先のペトリネット図では、入荷品の投入時の制御機器との入出力信号処理が行われる。
【0049】
階層化先のペトリネット図は、図10に示すように、スタートトランジション(STARTノード)で始まり、エンドトランジション(ENDノード)で終わる特定の構造となっている。スタートトランジションとエンドトランジションなどの階層化トランジションの仕様については後述する。
【0050】
階層化先のペトリネット図では、まず図10のように入荷品の投入処理の内容をスタートトランジションとエンドトランジションを結ぶ直線上の間に細分化する。図10では、入荷品の投入処理を入荷品の確認の状態を示すプレース1002、入荷コンベアの稼働状態の確認の状態を示すプレース1008、入荷コンベアの制御完了した状態を示すプレース1011の3つの処理状態プレースに細分化して、処理の進み具合を把握できるようにしている。
【0051】
次に、これら処理状態プレースの遷移によって発生する細分した処理を示す処理トランジションを順に並べて処理全体の流れをつくる。図10では、入荷品の確認処理を示す処理トランジション1005、コンベアの稼働処理を行う処理トランジション1009、稼働中のコンベアに稼働継続の処理を行う処理トランジション1010に処理を細分化している。
【0052】
更に、前記処理状態プレースから遷移するのに必要な前記処理トランジションの入力条件と、この入力条件を満たした後に行う処理内容を処理トランジションの出力条件としてモデル化する。
図10では、処理トランジション1005の入力条件として、処理状態プレース1002と、入荷品の有無を示す入荷ラインの左端に取り付けられたセンサの入力信号に対応した外部入力プレース1003と、外部入力プレース1003の重複した入力信号による処理トランジション1005の発火を抑える共有プレース1004の3つの入力条件でモデル化している。
処理トランジション1005の発火後の処理として、状態プレース1008への状態遷移を示すマーキングと、入荷ライン上のバケット数をカウントする共有プレース1007のカウント数を1つ加算するマーキングと、共有プレース1004と同じプレースを共有している共有プレース1006にトークンをマーキングして外部入力プレース1003の重複した信号による発火を防止する3つの処理をモデル化している。同様に、全ての処理トランジションに対してモデル化を行う。
【0053】
同様に図7の階層化トランジション706の階層化先ペトリネット図を図11、階層化トランジション707の階層化先ペトリネット図を図12のように、図7の残りの階層化トランジションに対してモデル化を行う。
【0054】
システム割り込み処理実行モデル作成工程は、通常処理から非常停止のような割り込み処理を実行させることのできるペトリネットモデルを作成する工程である。図4の通常処理は、システム状態モデル作成工程や、システム処理実行モデル作成工程で作成したペトリネット図を実行して処理を行うことである。拡張ペトリネットで通常処理に割り込み処理を行う場合は、通常処理のような割り込み処理を行うペトリネット図より階層構造が上位となるペトリネット図で通常処理と割り込み処理とを分岐するモデル化を行う必要がある。図4の搬送システムの場合は、図7に示す上位ペトリネット図を階層化プレースで階層化することで図7より階層構造がさらに上位になる図6に示す最上位ペトリネット図で割り込み処理のモデル化を行っている。
【0055】
図6に示すペトリネット図の実行処理が開始されると、図7に示す搬送システムの処理を行う階層化プレース604にトークンがマーキングされる。このように通常処理を行う階層化プレースに常時マーキングされるようモデル化を行う。
階層化トランジション605は、図8に示すような階層化先のペトリネット図からなり、非常停止ボタンが押されたら発火するようモデル化されている。そのため、非常停止ボタンを押した場合、階層化トランジション605が発火して、通常処理を行う階層化プレース604のトークンが取り除かれ、非常停止中の処理を行う階層化プレース606にトークンを遷移させる。その結果、通常処理が停止して、非常停止中の処理が実行されるようになる。このように割り込み処理を行う階層化プレースを用意して、通常処理を行う階層化プレースからトークンを遷移させることができるようにモデル化を行う。
【0056】
入出力条件ブロック化モデル作成工程では、外部入出力の条件をブロック化して他のペトリネット図で再利用することでモデル化を簡素化することを狙いとしている。図4に示す搬送システムの場合は、7つの非常停止ボタン(X22〜X28)が1つでも押された時に信号がONになるような条件を図9のようにモデル化を行う。
モデル化の際には、他のペトリネット図でも同じプレースのようにトークンなどの情報を共有することができる特定機能を持つI/O共有プレースに入出力条件の結果を反映するようにする。図9の場合、入力条件の結果をI/O共有プレース901により反映している。そして、I/O共有プレース901を他のペトリネット図(図8)のI/O共有プレース803と共有することによりトランジション804の入力条件を簡素化している。
【0057】
図9に示すペトリネット図のシートであるI/Oセッティングシートは、拡張ペトリネットの特定の実行処理により、モデル化を図9のように簡素化することができる。これについては、I/Oセッティングシートの実行処理方法で説明する。
【0058】
このように、4つの工程でモデル化することで、モデル化が行い易くなり、ペトリネットモデルの実行時にはシステムの状態を容易に把握することができる。
【0059】
次に、本発明である拡張ペトリネットに基づく制御装置の拡張ペトリネット形式によるペトリネットモデルの実行処理について説明する。
拡張ペトリネット形式によるペトリネットモデルの実行処理は、拡張ペトリネットに基づく設計実行手段110で行われる。実行処理には、制御実行手段126、性能評価実行手段127、通常実行手段128の実行形態と、階層構造における複数ネット間の実行処理を制御する階層構造実行手段123がある。これらについて、順に説明する。
【0060】
図13は、単一のペトリネット図を描いたシートにおける制御実行手段126の実行処理の順序を簡易的に示したフローチャート図である。実行処理の基となるものは、図2、図3のペトリネット理論に時間的概念を取り入れた時間ペトリネット理論である。拡張ペトリネットの形式では、図5の拡張ペトリネットに基づく設計実行手段501のウィンドウ506や、507のウィンドウ(シート)単位で実行処理が行われる。
実行処理とは、シート内のトランジションに対して発火処理を行いトークンを遷移させることである。トランジションの発火処理は、属性設定手段115で選択することができる属性設定の有無により処理方法が異なる。ここでは、属性設定手段115で属性設定が行われていないペトリネット図のシートにおける発火処理について説明する。
【0061】
発火処理は、主に、発火遅れなしの発火処理1304と発火遅れありの発火処理1306の2種類ある。
【0062】
発火遅れなしの発火処理は、トランジションに遅れ時間が設定されていないトランジションに対してのみ発火処理を行うことである。この場合、記録した発火可能なトランジションを発火させた後、再度、発火遅れ時間が設定されていないトランジションに対して発火処理を行う。発火遅れ時間の設定がされていないトランジションが発火できなくなるまで繰り返し発火処理を行う。
【0063】
発火遅れありの発火処理については、発火遅れ設定時間が設定されているトランジションに対してのみ発火処理を行う。この場合、記録された発火可能なトランジションには、発火カウンタがあり、発火処理を行う度に発火カウンタを1加算して遅れ時間分、トランジションの発火を待機させて時間を遅らせる。発火カウンタとトランジションの発火遅れ時間との値が等しくなったことが記録されたトランジションについては、待機状態を解除して発火を行うことでトークンを遷移させる。
【0064】
この発火処理を踏まえて、図13の制御実行処理について説明する。入力リフレッシュ処理1301、1310は、制御対象機器108の入力信号を下記の外部入力プレースを用いた拡張ペトリネット形式でモデル化したものに反映させる処理である。
【0065】
プレース902やプレース1003などの外部入力プレースXは、制御対象機器108から拡張ペトリネットに基づく制御装置101への入力接続を示し、符番については、制御装置101と制御対象機器108と入力接点番号と対応している。よって、X1の外部
入力プレースは、入力接点1に接続している制御機器からの入力信号を反映していることを表している。制御機器から送られた入力信号は、外部入力プレースのトークンのマーキングによって入力信号の有無を判別することができる。このプレースは、機能プレースであるためプレース内にマーキングできるトークンは必ず1つであり常に外部入力信号の状態を反映する仕様となっている。
【0066】
I/Oセッティングシート発火遅れなしの発火処理については、シートの種類が異なるのみで発火遅れなしの処理は同じである。I/Oセッティングシートは、制御対象機器との接続を示す接点に対応した外部入力プレースや外部出力プレースの信号の有無を応用した複雑な条件をI/O共有プレースでブロック化することで他のシートのモデル化を簡素化する場合に使用するシートである。I/Oセッティングシートについての詳細は後に説明する。
【0067】
ステップ1302〜1307までの発火処理についは前記に示したものと同様である。
【0068】
出力のリフレッシュ処理1308は、外部出力を示すYと出力接点番号を示した外部出力プレース内のトークンの有無で表される状態をその接点に接続している制御対象機器108に対して出力信号として反映させる処理を行う。具体的には、例えば、外部出力プレースY1のマーキングがある場合、この出力接点Y1に接続している制御対象機器108に出力信号を出力する。
【0069】
シート設定手段113で設定した1ステップ時間から、発火処理などに掛かった時間を差し引き、残りの時間を1311で待機する。このように、実行処理を一定間隔で繰り返し行うことで制御対象機器108を制御することが可能となる。
【0070】
図14には、性能評価実行手段127、通常実行手段128のフローチャート図を示す。これら両者は、実行処理に用いるシートとパラメータが異なるのみで実行処理の順序、発火遅れなしの発火処理1401、1403および発火遅れありの発火処理1402は前記の発火処理と同じである。
【0071】
制御実行手段126の特徴は、時間と共に外部入出力プレースに反映される入力情報が変化するため、全てのトランジションが発火できなくなっても実行処理を繰り返し継続する仕様となっていることである。この点、性能評価実行手段127、通常実行手段128とは仕様が異なる。
【0072】
階層構造実行手段123について説明する。図6のプレース604とプレース606は、階層化プレースであり、トランジション605とトランジション607は、階層化トランジションである。以下、拡張ペトリネットの各階層化ノードについて説明する。
【0073】
階層化プレースは、1つのシートに関連させることで階層構造を持つことが可能となる。階層化プレースと階層構造的に関連したペトリネット図のことを階層化先のペトリネット図(シート)と言う。
階層化プレースと階層化先のペトリネット図は、以下の仕様となっている。
1.階層化プレース内にトークンがマーキングされている場合、階層化先のペトリネット図を活性させ実行処理を行う。
2.階層化プレースにトークンが在り続ける限り、階層化先のペトリネット図は実行処理を行う。
3.階層化プレース内のトークンが遷移してプレース外に出た場合、階層化先のペトリネット図を不活性とし実行処理を停止させる。但し、階層化プレース内にまだトークンが1つ以上あるときは、シート設定手段113の下記の設定に従い再度実行処理を行う。
(i)図15の1501にチェックを入れない場合、ペトリネット図を活性させて停止
した状態から継続して実行を続ける(継続実行処理)。
(ii)図15の1501のチェックを入れる場合、ペトリネット図を活性させ停止した
状態からペトリネット図の初期化処理を行い、再度実行処理を行う(初期化後に実行処理)。
4.階層化プレース内にトークンがない場合、再び階層化プレース内にトークンがマーキングされるまで階層化先のペトリネット図の実行処理を停止させる。
【0074】
階層化トランジションも階層化プレースと同様に、1つのペトリネット図を関連させることで階層構造を持つことが可能である。階層化トランジションと階層構造的に関連したペトリネット図のことを階層化先のペトリネット図(シート)と言う。階層化トランジションと階層化先のペトリネット図は、以下の仕様となっている。
1.階層化トランジションは、発火可能な状態になった時に、階層化先のペトリネット図を活性化させ実行処理を行う。但し、階層化トランジションは、入力プレースのトークンを発火予約しない。
2.階層化先のペトリネット図は、必ずスタートトランジションとエンドトランジションの特定のトランジションで構成されている。
3.活性化して実行を開始した階層化先のペトリネット図は、スタートトランジションを1度のみ発火させる(スタートトランジションの仕様)。
4.エンドトランジションの発火条件を満たしエンドトランジションが発火するまでは、階層化元の階層化トランジションは発火を行わない(エンドトランジションの仕様)。
5.階層化トランジションと競合を起こしているトランジションが先に発火してしまうことで階層化トランジションが発火できなくなった場合、活性して実行処理を行っている階層化先のペトリネット図は直ちに実行処理をやめてシートを不活性としてシートの初期化を行う。この際、初期化されるプレースは通常プレースのみである。
6.エンドトランジションが発火した場合、その階層化先のペトリネット図を不活性として実行処理を終了して初期化を行う。そして、階層化元の階層化トランジションを発火させて通常どおりトークンの遷移を行う。
【0075】
前述した階層化プレース、階層化トランジションおよび階層化先のペトリネット図の仕様に基づく、階層構造を持つペトリネットモデルの実行処理の流れを図16のフローチャート図で示す。発火処理1602は、図13と図14にある、発火遅れなしの発火処理(1ステップ単位)と発火遅れありの発火処理(1ステップ単位)とを示している。従って、図16のフローチャート図の処理は、図13、図14にそれぞれ示したフローチャート図の発火処理の前に行われる。
【0076】
図16の活性判定1601や階層化ノードによるシートの活性判定1603、階層化ノードによるシートの不活性判定1604は、階層化ノードの状態より判定することが可能である。
【0077】
本発明の拡張ペトリネット形式では、システムの制御と監視、システムの性能評価を円滑に行えるようにする為に、ペトリネット図を描く3種類のシートを用意している。それぞれの種類と役割について説明する。
【0078】
1つ目のシートは、システム状態モデルシートである。このシートの役割は主に3つある。
1.システムの状態を表示する(システム監視が可能)。
2.システムの状態が遷移する際に、必要となる階層化先のペトリネット図のみ実行処理させるトリガーの役割をもたせる。
3.システムの性能評価実行時に、階層構造の下位のペトリネット図である制御処理モデルシートとシステム状態モデルシートを分離して、システムの性能評価に必要なシステム状態モデルシートのみ実行処理させる。
【0079】
2つ目のシートは、制御処理モデルシートである。このウィンドウの役割は、システム状態モデルシートから実行処理の指示を受け、システムの状態を変化させるのに必要な処理や制御処理、データ処理などを行うシートである。実際に外部入力プレースや外部出力プレースなどを配置するシートである。
【0080】
3つ目のシートは、I/Oセッティングシートである。このシートの特徴は、入出力に対応した制御対象機器(I/Oデバイス)の信号リフレッシュ後に常時実行されるところにある。このシートの役割は下記の通りである。
1.I/Oデバイスの信号の有無を応用した条件をブロック化して制御処理モデルシートの条件を簡素化する。
2.I/Oセッティングシートが、常にI/Oデバイス信号の条件をチェックすることで、常に実行していない階層化シートであっても常時I/Oデバイスの信号を反映させた条件を使うことができるようになる。
3.I/Oセッティングシートにおいて、I/O共有プレース(複数のシートで1つのプレースを共有して使用することができる機能プレース)などを用いてI/Oデバイスの条件をブロック化したシートを、I/Oデバイスと同様であると考え、シートに対してステップ毎に初期化処理1309(I/Oリフレッシュ処理と同じ意味。初期化処理の実行は選択可能)を実行する。これにより、入出力条件のシートを簡素化する。
【0081】
システムの制御と監視、性能評価を効率よく行うために、3つの種類のシートには規則がある。
1.システムモデルネットは、制御処理モデルシートより必ず階層構造が高い位置に配置する。
2.システム状態モデルシートには、外部入出力プレースなどのI/Oデバイスに関連したノードを配置することができない。
3.I/Oセッティングシートでは階層化の設定ができない。
【0082】
次に、本発明の拡張ペトリネット形式でモデル化した搬送システムのペトリネットモデルを例にとり、拡張ペトリネット形式による階層構造の実行処理と従来のペトリネット理論のモデル化では、複雑なモデルとなってしまう非常停止などの割り込み処理を簡素化できるモデル化の方法について説明する。
【0083】
図6は、ルートとなる、階層構造の最上位にあるペトリネット図である。このペトリネット図は、システム状態モデルのシートであるため、搬送システムの状態の移り変わりを表すようにモデル化されている。図6の搬送システムネットは、搬送システムが制御中であるか非常停止中であるのか、また、それらに移行する段階にあるのかを表現することが可能である。
【0084】
システムの初期状態を示すプレース601には、初期マーキングがある。図6の搬送システムのモデル化では、トークンは現在の搬送システムの状態を示している。ツールバー505の実行ボタンを選択してこの搬送システムをモデル化したペトリネット図の実行処理を開始した場合、トランジション603が発火してトークン602が階層化プレース604に遷移する。
【0085】
階層化プレース604にトークンがマーキングされると階層化先のペトリネット図であるライン制御中を示すペトリネット図の図7が活性されて実行処理を開始する。また、層化プレース604にトークンがマーキングされると、階層化トランジション605が発火可能な状態となる為、階層化先のペトリネット図である非常停止処理シートが活性されて実行を開始する。
【0086】
階層化プレース604により活性した図7のライン制御中を示すペトリネット図は、システム状態モデルシートである。このシートの各プレースによって示された状態は、搬送システムそのもの状態であり、搬送システムを上部から見た外観と同じようにモデル化している。各プレースは、搬送システムの各ラインなどを表し、遷移するトークンは、入荷品であるバケットやその中の商品を表すことができる。このため、図7については、トークンに属性を持たせる設定を行っている。この点は、属性設定の方法に関連して後述する。
【0087】
図7のライン制御中を示すシステム状態モデルのシートを実行すると、階層化トランジション701が発火可能な状態になる。そして、階層化先のペトリネット図である図10の入荷品の投入を示すペトリネット図が活性して実行処理が行われる。
【0088】
図10の入荷品投入シートは、制御処理モデルシートである。このシートでは、入荷品を投入したときの制御処理を行っている。よって、このペトリネットモデルには外部入出力プレースが配置されており、センサなどの制御対象からの入力信号やコンベアなどの制御対象への出力信号などを扱っている。
【0089】
入荷品の投入シートでは、スタートトランジション1001を一度のみ発火(スタートトランジションの仕様)させることで、入荷品の確認状態を示す状態プレース1002にマーキングする。
【0090】
次のトランジション1005が発火するには、入荷ライン401の左端センサ414(X1)がONにならなければならない。左端センサ414は、入荷ライン401の作業者が左端センサ414の前に入荷品を投入することでONになる。よって、入荷品の投入後、左端センサ414に対応している外部入力プレース1003にトークンがマーキングされる。
共有プレース1004は、複数のシートで1つのプレースを共有して使用することができる機能プレースであり、共有プレース1006と同じプレースを共有している。共有プレース1004はトランジション1005と抑止アークで接続しているため、共有プレース内にトークンがなければトランジション1005の発火条件は満たされる。トランジション1005の発火により3つの出力プレースである共有プレース1006と共有プレース1007状態プレース1008にトークンが遷移する。
【0091】
このとき、外部入力プレース1003は、常に左端センサ414の入力信号の状態をプレースのトークンに反映する機能プレースであるため、トランジション1005の発火によるトークンの遷移によって1003のトークンが失われることはない。
【0092】
共有プレース1005は、入荷ラインに流れているバケット数を表している。この共有プレース1005は、階層化トランジション705の階層化先のペトリネット図などで使用されている。
【0093】
発火後に共有プレース1006にトークンがマーキングされると、同じプレースを共有している共有プレース1004にもマーキングされる。共有プレース1004の役割は、左端センサ414の前からバケットが通り過ぎて入力信号がOFFになるまでトランジション1005の発火をできなくすることである。
【0094】
状態プレース1008以降の処理は、入荷ラインのコンベアの状態に応じてコンベアを稼働させる処理を行っている。その処理の後、エンドトランジション1012が発火する。この発火により、階層化元のシートの階層化トランジション701が発火して機能プレース702にトークンを遷移させる。
【0095】
機能プレース702に遷移したトークンは搬送システムを流れる入荷品(バケット)を表している。機能プレース702は、バーコードリーダー409で読み取った2次元バーコードのデータをトークンの属性に反映させる機能をもったプレースである。この機能プレース702は、図1の機能設定手段120で関数コードを入力して機能設定することによりプレースに機能を実装することが可能である。この機能については、属性定義に関連して後述する。
【0096】
このように、図7に示すライン制御中シートの実行処理は、搬送システムの状態を示すものであり、その状態から次の状態へ遷移する際に必要となる処理を階層化トランジションの階層化先のペトリネット図を実行して処理を行っている。図6の階層化プレース604にトークンがある限り、図7とシート内の階層化ノードによって階層化されたシートが実行処理を行うことで搬送システムの制御が行なわれる仕組みとなっている。
【0097】
図6の階層化トランジション605が発火可能な場合、階層化先のペトリネット図である非常停止処理シート(図8)が活性して実行される。
【0098】
図8の非常停止処理シートが実行されると、スタートトランジション801が、一度のみ発火して状態プレース802にトークンをマーキングする。トランジション804は、I/O共有プレース803にトークンがないと発火条件を満たすことができないため、発火することはない。このI/O共有プレース803は、図9のI/Oセッティングシートで入力条件をブロック化したI/O共有プレース901と共有している。このブロック化については、入出力条件ブロック化モデル作成工程に関連して既に説明している。
【0099】
I/Oセッティングシートの発火処理や実行処理のタイミングは、図13のフローチャート図のステップ1302、1304、1306、1309に示す。
【0100】
図9のI/Oセッティングシートは、搬送システムの各ラインにある7つの非常停止ボタンのいずれかが押された場合、接続するトランジションが発火してI/O共有プレース901にトークンがマーキングされる。
I/O共有プレース901は、トークンによるON/OFFの制御信号を扱うため制限容量を1と設定してある。そのため、I/O共有プレース901のトークンは1つのみマーキングすることが可能である。このI/O共有プレース901のトークンを取り除かない限り、トランジションが連続的に発火することはない。
【0101】
I/Oセッティングシートは、シート設定手段113(図1)により、図15に示す1501の設定でステップ単位に初期化を行うかどうか設定することが可能である。このI/Oセッティングシート図9は、ステップ毎に初期化する設定となっているため、I/O共有プレース901のトークンは次のステップで初期化され、トークンは取り除かれる。
非常停止ボタンを復帰した場合、接続するトランジションが発火することはないので該I/O共有プレース901のトークンも無くなる。
【0102】
I/O共有プレース901は、図8の非常停止処理ネットのI/O共有プレース803と共有されているため、7つの非常停止ボタンの入力信号をブロック化してトランジション804の発火条件を簡素化している。非常停止が1つでも押されれば、I/O共有プレース803にトークンがマーキングされるので、トランジション804は発火する。
【0103】
従来のペトリネットでは、一度プレースにマーキングされたトークンを排出する場合、排出するためのペトリネット図を構成する必要があった。しかし、本発明の拡張ペトリネットによるI/Oセッティングシートの初期化設定機能により、非常停止ボタンが復帰した場合のトークンを排出させるためのペトリネット図を構成する必要を無くすことができる。さらに、I/Oデバイスの入出力条件をブロック化して他のシートで使用することで、システムのモデル化を簡素化してシステムの設計効率を向上させることができる。
【0104】
トランジション804の発火後、トークンは処理状態プレース805へ遷移する。そして、エンドトランジション806が発火可能となり発火する。
【0105】
上記のように非常停止ボタンが押された場合、図6の階層化トランジション605が発火して階層化プレース604のトークンが取り除かれ、階層化プレース606へトークンが遷移する。階層化トランジション605が発火する際、階層化先のペトリネット図である非常停止処理シート図8が不活性となり初期化が行なわれる。この時、初期化されるプレースは通常プレースのみである。
【0106】
また、階層化トランジション605の発火後には、階層化プレース604の階層化先のペトリネット図であるライン制御中シート(図7)とこのライン制御中シートの実行によって実行していた階層化先のペトリネット図は、全て不活性となり実行処理が停止する仕組みとなっている。
【0107】
図7のライン制御中シートは、シート設定手段123(図1)による図15の1501の設定が行われないため、シートの初期化を行わない。この場合、再び、階層化プレース604にトークンがマーキングされると現状のシートの状態から継続して実行処理を行う。
【0108】
階層化トランジション605の発火により階層化プレース606は、トークンをマーキングする。これにより、階層化プレース606の階層化先のペトリネット図が、活性して実行処理を開始する。実行処理を開始した階層化先のペトリネット図では、システムのペトリネットモデル内の出力信号を取り除く処理を行うことで搬送システムは非常停止状態になる。
【0109】
このように、図7に示すペトリネット図と階層構造が下位のペトリネット図の実行処理が停止すると、実際の搬送システムも停止状態となる。この時、図7が示すペトリネットモデルのシステムの状態と実際に停止している搬送システムの状態は同じとなる。
【0110】
階層化プレース606にトークンがマーキングされたことで、階層化トランジション607が、発火可能となり、階層化先のペトリネット図が活性して実行を開始する仕組みとなっている。
【0111】
これらの拡張ペトリネット形式による階層構造の実行方法を用いれば、システムが如何なる状態にあっても、非常停止のような割り込み処理を容易に行うことが可能となる。さらに、割り込み処理の種類を増やす場合にも、容易に対応することが可能である。
【0112】
例として、図4の搬送システムに別の割り込み処理を追加したい場合について説明する。優先的に割り込み処理を行いたい場合、階層構造の上位ルートで割り込み処理を行うペトリネットモデルへトークンを導くようにする(分岐処理)。これにより、割り込み処理の追加およびその実行が可能となる。
【0113】
図6の場合、階層化プレース604から階層化トランジション605とは別の階層化トランジションを接続させる。そして、その階層化先のペトリネット図に割り込みを発生させたい条件をモデル化して、その条件が満たされた時に階層化トランジションが発火できるようにする。次に、この階層化トランジションに階層化プレースを接続させる。接続させた階層化プレースの階層化先のペトリネット図に割り込み処理の内容をモデル化すれば、割り込み処理は完成する。
【0114】
このようにすれば、割り込み処理の発生条件を満たせば、新たに追加した階層化トランジションが発火して、階層化プレース604のトークンが取り去られ、新たに追加した割り込み処理を行う階層化プレースにトークンがマーキングされる。これにより、割り込み処理を実行することがきる。
【0115】
従来のペトリネット理論では、図4の搬送システムをペトリネットモデル化して制御を行う場合、非常停止のような割り込み的な制御に対応させるため為には、制御内容をペトリネットモデル化したプログラム内の全てのトランジションに、非常停止が押され時に非常停止処理を行うという前提条件と後提条件を追加しなければならなかった。しかし、本発明である拡張ペトリネット形式での階層構造の実行方法であれば、図6のようなルートに割り込み処理を行うペトリネットモデルへトークンを導くようにすることで(分岐処理)、割り込み処理を容易に実現することができる。また、割り込み処理の種類が増えてもルートに分岐処理を追加することで容易に対応できる。
【0116】
さらに、本発明の拡張ペトリネット形式での階層構造の実行方法は、階層構造の上位にある階層化ノードにより、階層化先のペトリネット図を活性させて実行処理を行うことに特徴がある。このことから、拡張ペトリネット形式でシステムのモデル化を行い、この拡張ペトリネット形式での階層構造の実行方法でモデル化したシートを実行することによって、ペトリネットモデル内で活性したシートのトランジションのみ発火判定を行うだけで実行が可能となる。これにより、ペトリネットモデル内の全てのトランジションの発火判定を行う必要がなくなり、実行処理の負荷を軽減することができる。
【0117】
次に、本発明である拡張ペトリネットに基づく制御装置の拡張ペトリネットの属性定義と制御への応用について説明する。図4の搬送システムにバケットを投入すると、図10のペトリネット図の実行処理により図7のペトリネット図の階層化トランジション701が発火してトークンを遷移させる。このとき、トークンは、投入したバケットを表現している。さらに、拡張ペトリネットの属性定義によりトークンの属性値でバケット内の異なる商品を表現することができる。
【0118】
拡張ペトリネットの属性定義には大きく2つの特徴がある。
1つ目は、制御分野で一般的に使われる整数値や実数値、文字列または2値(ビット)を、それぞれ扱うことができるデータ型として数値型、文字型またはフラグ型の3種類を定義して、これら3種類の型をトークンの属性定義としていることである。
2つ目は、ペトリネット図を描くシート単位に3種類の型のデータ長を設定し、ペトリネット図内の全てのトークンにその設定に応じたデータを格納できるようにして、そのデータに対して参照または代入できるようアドレスを指定できるようにしていることである。これらの属性定義は、属性設定手段115で設定することができる。
これらの特徴により、複数のペトリネット図からなるペトリネットモデル内で属性定義の必要となるシートのみに属性設定を許可することが可能となり、実行処理を行ったときの属性に関連するメモリの消費と、属性に関連する実行処理の負荷を抑えることができる。
また、あらかじめ種類の属性を決めておくことで、トークンが格納できるデータ長を指定するだけで簡単に属性を定義することが可能である。
【0119】
この属性設定について、図4の搬送システムを例にとり説明する。図7に示すペトリネット図では、バケットを表すトークンに対して図15のように属性設定を行っている。数値型のデータ数を選択する1502、文字型のデータ数を選択する1503、フラグ型のデータ数を選択する1504でそれぞれデータの個数を設定することができる。図7では、数値型を6個、文字型を6個をそれぞれ指定して、選択しているシートに対して属性定義を許可するチェックボックス1507にチェックをしている。これにより、図7の全てのトークンに対して数値型6個、文字型6個のデータを格納することができるようになる。
【0120】
このトークンに格納されたデータには自動的にアドレスが設定される。数値型の6個のデータに対しては、D1からD6までのアドレスが付与される。文字型の6個のデータには、S1からS6までのアドレスが付与される。これにより、属性を定義する際に、個々の属性値に自動的に設定されるアドレスを指定することで、個々の属性値への参照や、演算結果の代入など簡単に設定することが可能である。
【0121】
拡張ペトリネットの属性定義をシステムの制御とシステムの状態監視に応用する方法について説明する。図4の搬送システムでは、表1から表5が示す商品が入ったバケットが順に投入される。1つ目のバケットを投入すると、図7のペトリネット図の階層化トランジション701が実行処理され、発火することでトークンを機能プレース702に遷移させる。このとき、機能プレース703は、プレースが持つ特定の機能を完了するまでトークンを予約してトークンを遷移できなくする。この機能プレース702では、トークンのマーキング後に入荷ライン401を流れるバケットの2次元バーコードを読み取り、トークンに対して表1にある品番を文字型のS1からS5までに代入を行う。さらに、品番に対する個数については、D1からD5に代入を行う。代入完了後、機能プレース702によるトークンの予約が解除され、トランジション703が発火可能になる。
【0122】
属性設定を許可したシートにおけるトランジションの設定と、搬送システムの制御を行う実行処理について説明する。属性設定を許可したシートでは、トランジション発火条件式設定手段116とトランジション出力設定手段117によりトークンの属性値を用いた複雑な制御を行うための設定を簡単に行うことができる。属性設定を許可したシートの実行処理では、通常のトランジションの発火判定に加え、トランジション発火条件式設定手段116で設定したトランジションの発火条件式を含む発火規則を考慮して発火判定処理を行う。
また、発火後の遷移するトークンに対して、トランジション出力設定手段117の設定に従いトークンの属性値の変更を行う。トランジション発火条件式設定手段116で設定した発火条件式やトランジション出力設定手段117で設定した出力設定は、関連するアーク単位に設定を行い、関連するアークに設定値が組み込まれる仕組みとなっている。システムの制御における属性値を用いた複雑な発火処理は、実行処理内の属性設定発火処理手段124で処理を行っている。
【0123】
トランジション703では、トランジション発火条件式設定手段116による設定を行っていないので、通常の発火判定により発火する。発火後の出力設定については、トランジション出力設定手段117により設定を行っている。このため、機能プレース703から遷移するトークンの属性値によって保管ラックのエリアが判別され、D6に保管ラックのエリアを示すデータが機能プレース703から遷移するトークンに格納されるよう設定される。
【0124】
トランジション703のトランジション出力設定手段117の設定画面を図17に示す。トランジションの出力設定は、入力プレースから遷移するトークンの属性値を基に、トランジションから出力プレースに出力されるトークンの属性値に対して、遷移するトークンのデータの代入や遷移するトークンデータを基に演算した結果の代入等、任意に行うことができる。
【0125】
出力トークン設定表1702のアドレスD1の1:1:D1の表記内容について説明する。1つ目の数字は、トランジションの発火によりトークンが遷移する入力プレースに接続しているアークの番号を示している。アークの番号とは、入力アークの一覧表1701の番号欄に表示している番号である。
2つ目の数字は、遷移するトークンの番号である。アーク番号で指定したアークに2以上の重みがある場合、アークに接続する入力プレースから遷移するトークンも2以上の複数となる。このため、2つ目の数字で、トランジションの発火時に同一アークより遷移するトークンが複数ある場合、何番目に遷移するトークンなのかを示している。これらにより遷移する1つのトークンを確定することができる。
3つ目のアドレス値は、確定したトークンのアドレスを指定している。
【0126】
出力トークンの設定表1702のアドレスD1は、機能プレース702から遷移するトークンのD1の値、すなわち個数の値をそのまま代入することを意味する。D2からD5も指定したアドレスの値を代入している。D6については、S1からS5に代入された品番の上位2桁の保管ラックのエリア(以下搬送先エリアとする)が5つの商品とも同一の場合は搬送先エリアの数値を代入し、商品の搬送先エリアが1つでも異なる場合は混載チェックライン403へ誘導するための値6を代入する。このように、出力するトークンの属性データを簡単に設定することが可能である。
【0127】
図4の仕分けライン402でバケットの搬送先エリアに応じて押し出しシリンダがバケットを仕分けする制御について説明する。トランジション703で搬送先エリアのデータをD6に格納したトークンは、順に実行処理を経て仕分けライン402上のバケットを示すプレース707へ遷移する。このプレース707にトークンがマーキングされると、押し出しシリンダで仕分け処理を行う階層化トランジション706と、次の押し出しシリンダにバケットを搬送する処理を行う階層化トランジション708が通常の発火判定において発火可能な状態となる。
【0128】
階層化トランジション706は、トランジション発火条件式設定手段116によりライン上のバケットを表すトークンの属性値を用いた発火条件式が設定されている。階層化トランジション706をトランジション発火条件設定手段116で設定する画面を図18に示す。
入力アークの一覧表1801は入力アークを示している。発火条件式の設定1802では、入力アークに接続している入力プレース内のトークン属性値を用いて、発火条件式を任意に設定することができる。トランジション706が発火する条件として、発火条件式の設定1802に示す2つの発火条件式がある。通常の発火判定で発火可能な状態あり、2つの発火条件式を共に満たしていればトランジション706は発火する仕組みとなっている。1つ目の発火条件式は、トークンの搬送先エリアが2であることであり、2つ目の発火条件式は、5つの商品の数量が100個以下であることである。
【0129】
階層化トランジション708にも、トランジション発火条件式設定手段116により発火条件式が設定されている。階層化トランジション708をトランジション発火条件設定手段116で設定する画面を図19に示す。通常の発火判定で発火可能な状態であり、発火条件式の設定1902で示す2つの発火条件式のいずれかを満たしていれば、階層化トランジション708は発火する仕組みとなっている。
【0130】
プレース707へ遷移したトークンの搬送先エリアを示すD6の値は2であり、商品の個数を示すD1からD5の合計も100個以下であるため、階層化トランジション706が発火条件を満たす。よって、発火条件式による発火判定で発火可能となり図11が示す階層化先のペトリネット図の実行処理を行う仕組みとなっている。
【0131】
図11は、ライン2にバケットを仕分けする押し出しシリンダの制御する処理内容を示している。図11のペトリネット図の実行処理を行うことで、表1に示すバケットはライン2へ仕分けされる。
【0132】
図4の搬送システムを拡張ペトリネット形式でモデル化した複数のシートの中で、属性定義を許可したシートは図7に示すもののみである。他のシートに関しては属性定義を行ってはいない。このように必要に応じてトークンの属性定義をシート単位に行うことが可能な仕組みとなっている。これにより、属性による発火判定の処理を必要なシートのみで行えばよく、実行処理にかかる負荷を軽減できる。
【0133】
このように、拡張ペトリネットによる属性定義と、拡張ペトリネットによるトークンの属性値を用いたトランジションの発火制御や、トランジションや機能プレースの機能などによりトークンの属性値を変更することで、システムを詳細に表現することが可能となる。そして、複雑なシステムの制御と詳細なシステムの状態監視を実現することができる。
【0134】
次に、制御を目的としている拡張ペトリネットの形式で生産ラインや物流システムなどの制御対象システムをモデル化したペトリネット図で、システムの性能を模擬的に評価して、生産性を下げているボトルネックとなる工程やシステム構成の問題箇所などを発見し、システムを改善するヒントを得ることのできるシステムの性能評価を行う性能評価実行手段127と、性能評価実行手段127が実行時に使用する特定のパラメータを設定する性能評価設定手段122について説明する。
【0135】
図4に示す搬送システムなどを拡張ペトリネット形式でモデル化したペトリネット図には、制御処理モデルシートで制御対象機器との信号に対応した機能プレースなどを使用している。このため、拡張ペトリネットでモデル化したペトリネット図を実行処理させても、搬送効率を下げているボトルネックとなるライン、ライン上のバケットが溢れないようなバケットを投入するタクトタイム、またはシステム構成の問題箇所などを模擬的(搬送システムとの制御を行わない)に発見することはできない。なぜなら、制御処理モデルシートの機能プレースが制御対象機器と交信を行わない限り、実行処理が進まないからである。
【0136】
性能評価実行手段127は、搬送システムを拡張ペトリネット形式でモデル化した複数のペトリネット図のシステム状態モデルシートのみ実行処理させる。これにより、搬送システムの性能評価を行うことができる。この実行形態を性能評価実行という。
【0137】
性能評価実行手段127による実行処理時に、性能評価設定手段122で設定したパラメータを使用する。このパラメータは、制御実行手段126および通常実行手段128による実行処理時に使用する、各種ノード設定手段118および機能設定手段120などが設定したパラメータとは異なる。
【0138】
性能評価実行で使用するパラメータを前記性能評価設定手段122で設定する方法について説明する。性能評価実行を行う場合、階層化先のシートが制御処理モデルシートである階層化ノードと機能プレースに対して設定を行う必要がある。その設定方法について、前述した搬送システムを拡張ペトリネットの形式でモデル化したペトリネット図を用いて説明する。
【0139】
最初に、搬送システムの何について性能評価を行うのか決める必要がある。ここでは、明日の作業オーダーを図4の搬送システムで行った場合の性能評価を行うことにする。
1ステップ実行処理の時間であるタイムユニットを実作業時間で定義する。この場合、1タイムユニットを30秒として、1日の作業8時間をタイムユニットに換算した960ステップで性能評価実行が終了するように性能評価設定手段122で設定する。
【0140】
搬送システムのペトリネット図の中で、システム状態モデルシートのペトリネット図は図6と図7である。図6は、搬送システムを制御する通常処理と、非常停止ボタンが押された場合に搬送システムを止める非常停止処理の分岐を制御する。作業履歴により搬送システムの1日に発生する非常停止回数から階層化トランジション605の発火遅れ時間を算出して設定する。この発火遅れ時間には、統計、確率などの関数を設定することも可能である。階層化トランジション607には、類似するシステムの非常停止1回分の時間より発火遅れ時間を算出して設定する。
性能評価実行では、階層化トランジションの階層化先のシートが制御処理モデルシートである場合、階層化先のシートは実行処理を行うことは無く性能評価設定手段122で設定した発火遅れ時間により発火処理を行う仕組みとなっている。このため、図6を性能評価実行した場合、階層化トランジション605と階層化トランジション607により、階層化プレース604による図7の実行処理を作業履歴より算出した搬送システムの非常停止発生時間分だけ止める。これにより、搬送システムの性能評価を忠実に再現することができる。
【0141】
搬送システムの入荷品の投入タクトタイムを30秒の1タイムユニットとした場合、図7の階層化トランジション701の発火遅れ時間は1となる。よって、性能評価設定手段122で該階層化トランジション701の発火遅れ時間を1と設定する。
【0142】
機能プレース702は、性能評価設定手段122で関数を設定する必要がある。性能評価実行で設定する機能は、制御実行で設定した機能と異なっても構わない。性能評価実行では、本発明の制御装置に接続しているデータベース131にある、例えば、明日の作業オーダーを読み取り、機能プレース702のトークンの属性値に品番と数量を反映する機能を設定する。
【0143】
トランジション703は通常のトランジションであるため制御実行時に使用した属性設定などのパラメータを使用する。
【0144】
階層化トランジション705は、制御実行時に階層化先のシートで入荷ライン401上を流れるバケットを仕分けライン402へ送る際の制御処理を行う。よって、性能評価設定手段122で設定する性能評価実行時の階層化トランジション705の発火遅れは、図4の入荷ラインを左端から右端へ流れるバケットの搬送時間を算出して設定することになる。
【0145】
階層化トランジション706は、制御実行時に階層化先のシートでバケットを仕分けする押し出しシリンダの制御処理を行う。よって、性能評価設定手段122で設定する性能評価実行時の階層化トランジション706の発火遅れは、押し出しシリンダがバケットの仕分けにかかる時間を算出して設定することになる。該階層化トランジション706のトークンの属性設定による発火条件式や出力設定に関しては、制御実行処理で使用したパラメータをそのまま使用する。
【0146】
他の階層化トランジションに対してもトランジション706と同様に、階層化先の制御処理モデルシートで制御対象を処理する時間を性能評価設定手段122で階層化トランジションの発火遅れに設定する。これにより、図7の性能評価実行は、例えば、明日の作業オーダー分のバケットを図4の搬送システムに流した場合のシステムの状態を時系列で表現することができる。
【0147】
性能評価実行の処理の過程はペトリネット図を遷移するトークンで表現している。性能評価実行の処理の速さは、1ステップの処理時間を任意に設定することで調節が可能である。
【0148】
以上より性能評価実行で、明日の作業オーダーのバケットを模擬的に図4の搬送システムに流して、性能を評価することが可能となる。これにより、投入するバケットのタクトタイムが適切であるか、または、1日の作業時間が適切であるかなど調べることができる。また、搬送システムの性能が作業に適しているのかを模擬的に把握することができる。
なぜなら、性能評価実行手段127より図7の搬送システムを表すペトリネット図よりバケット流れ具合を把握することができるため、ボトルネックとなるラインの判別が可能だからである。
逆に搬送システムのバケットを搬送する速度や仕分け速度を性能評価実行で割り出して、その時間で処理をするように制御処理の設計を見直したり、搬送装置をより性能の高いものに取替えて処理を速めるなど、改善活動の手助けを行うことも可能となる。
【図面の簡単な説明】
【0149】
【図1】本発明による拡張ペトリネットに基づく制御装置のシステム構成例を示す図である。
【図2】ペトリネット理論の説明に用いるトランジションの発火前を示す図である。
【図3】ペトリネット理論の説明に用いるトランジションの発火後を示す図である。
【図4】搬送システムの構成と制御対象機器に対応した接点番号を示す図である。
【図5】本発明による拡張ペトリネットに基づく設計実行手段のウィンドウを示す図である。
【図6】本発明の拡張ペトリネット形式で搬送システムをモデル化した最上位ネット(ルートネット)を示す図である。
【図7】本発明の拡張ペトリネット形式で搬送システムをモデル化したライン制御中ネットを示す図である。
【図8】本発明の拡張ペトリネット形式で搬送システムをモデル化した非常停止処理ネットを示す図である。
【図9】本発明の拡張ペトリネット形式で搬送システムをモデル化したI/Oセッティングネットを示す図である。
【図10】本発明の拡張ペトリネット形式で搬送システムをモデル化した入荷品の投入ネットを示す図である。
【図11】本発明の拡張ペトリネット形式で搬送システムをモデル化したライン2分岐処理ネットを示す図である。
【図12】本発明の拡張ペトリネット形式で搬送システムをモデル化したシリンダ2通過ネットを示す図である。
【図13】本発明の拡張ペトリネットによる制御実行手段の実行処理を示すフローチャート図である。
【図14】本発明の拡張ペトリネットによる通常実行手段と性能評価実行手段の実行処理を示すフローチャート図である。
【図15】本発明の拡張ペトリネットによるネット設定手段の設定画面を示す図である。
【図16】本発明の拡張ペトリネットによる階層構造実行手段の実行処理を示すフローチャート図である。
【図17】本発明の拡張ペトリネットによるトランジションの出力設定手段の設定画面を示す図である。
【図18】本発明の拡張ペトリネットによるトランジションの発火条件式設定手段の設定画面を示す図である。
【図19】本発明の拡張ペトリネットによるトランジションの発火条件式設定手段の設定画面を示す図である。
【符号の説明】
【0150】
101 拡張ペトリネットに基づく制御装置
111 ペトリネットモデル設計手段
112 ペトリネット実行手段
113 ネット設定手段
114 要素配置編集手段
115 属性設定手段
116 トランジション発火条件式設定手段
117 トランジション出力設定手段
118 I/O設定手段
120 階層構造設定手段
【技術分野】
【0001】
本発明は、物流分野や製造分野において、庫内物流、FAシステムまたは生産ラインなどの制御対象システムを制御するための拡張ペトリネットに基づくモデル化方法とそれを用いた拡張ペトリネットに基づく制御装置に関するものである。
【背景技術】
【0002】
物流分野や製造分野における、庫内物流、FAシステムまたは生産ラインなどでは、シーケンス制御が用いられている。最近では、制御のみではなくシステムの稼働状況把握や進捗把握、遠隔地からのシステム監視、システム異常発生元の表示などシステムの状態を詳細に表現することのできる付加価値について必要性が増している。さらに、生産ラインや物流システムの性能を模擬的に評価することで生産性を下げているボトルネックとなる工程やシステム構成の問題箇所などを発見し、システムを改善するヒントを得ることのできる付加価値においても同様である。
【0003】
物流分野や生産分野のシステムは、主にシーケンス制御を行うPLC(プログラマブル・ロジック・コントローラー)により制御されている。PLCでは主にLD(ラダー)、SFC(シーケンシャル・ファンクション・チャート)などの記述手法を用いてシーケンス制御の処理を行っている。LDは、個々の出力に対して動作条件を羅列していくため、全体の制御の流れが見えにくく、そのプログラムは作成者以外の第三者には理解し難い。そのため、メンテナンス性が悪いなど問題点が指摘されている。SFCは、LDの制御の流れが見えにくいという問題点を改善することができる。しかし、両者はシーケンス制御の処理を行う記述手法であるため、システムそのものを表現することはできない。よって、システム状態の監視やシステムの性能評価などの前記付加価値を提供することはできない。
【0004】
物流分野や生産分野などの庫内物流における製品の流れや生産ラインを流れる部品や材料が幾つかの作業工程を経て製品になる様子は、一般に離散事象システムとして表さわれる。離散事象システムをモデル化する手法の1つにペトリネットがある。ペトリネットは、多くのシステムに適用可能なグラフィックでモデル化ができるツールである。
【0005】
ペトリネットは、1962年ドイツのCarl Adam Petriによって提案され、平行的、非同期的、並列的、分散的、非決定的、確立的な動作を特徴とする生産システムや、情報システム、物流システムなどを表現する有力な手段である。
【0006】
ペトリネットの定義自体は、オートマトンなどと同様に単純なものであり、その理解には特別な数学の知識を必要としない。特に、図としての表現が可能であることがペトリネットの大きな特徴である。
【0007】
ペトリネットは有向グラフの1つであり初期マーキングと呼ばれる初期状態をもつ。ペトリネットをつくる基本的なグラフは、重みつき有向2部グラフであって、プレースとトランジションの2種類のノードからなる。アークは、プレースからトランジションに接続するもの、または、トランジションからプレースに接続するもののいずれかである。
【0008】
条件と事象の概念を用いるモデル化においては、プレースが条件を表し、トランジションが事象を表す。トランジションはそれぞれの事象の前提条件と後提条件としているいくつかの入力プレースと出力プレースを持つ。
【0009】
以下、本発明にも関連する図2等を参照しつつ、ペトリネット図について説明する。トランジション208の前提条件となる入力プレース201と入力プレース204、後提条件となる出力プレース209をそれぞれのアークで接続している。入力プレース201内のトークン202およびトークン203と、入力プレース204内のトークン205とは、初期マーキングを表す。
【0010】
トランジション208が発火可能となる条件は、入力プレース201からトランジション208に接続しているアーク206の重み211以上のトークンが入力プレース201にあり、かつ、入力プレース204からトランジション208に接続しているアーク207の重み以上のトークンが入力プレース204にある場合である。この場合、入力プレース201に接続しているアークの重み211は2で入力プレース201内のトークンも2つある。また、入力プレース204に接続しているアークの重みは、アークに数値が記述されていない場合は1であり、入力プレース204のトークン数は1である。よって、前提条件を満たしているため、トランジション208は発火する。
【0011】
トランジション208が発火した状態を図3に示す。発火後の前提条件では、入力プレース301から接続するアークの重み309分のトークンを取り除く。入力プレース302も同様に接続するアーク304の重み分のトークンを取り除く。
【0012】
発火後の後提条件では、出力プレース307に接続するアーク306の重み分のトークンを出力プレース307内にマーキングする。この場合は、アークの重みが1であるため、出力プレース307には1つのトークンがマーキングされる。
【0013】
図2のトランジション208の発火遅れ212について説明する。上記のペトリネット理論に時間的概念を加えたものが時間ペトリネットである。この発火遅れ212は、発火可能な状態から5ステップ分の発火時間を遅らせる働きがある。1ステップ時間を1秒とした場合、発火可能なトランジション208が発火するのは、5秒後となる。このように、時間ペトリネットを用いれば、システムの挙動を時間的に表現することが可能となる。
【0014】
カラーペトリネットでは、トークンに属性を持たせることが可能である。トランジションでは、トークン属性を用いて発火規則(firing rule)を論理式などで表すことができる。
【特許文献1】特開2003−150887号公報
【発明の開示】
【発明が解決しようとする課題】
【0015】
従来のペトリネット理論を用いたシステムの制御、監視、システムの性能評価には下記の4つの問題点がある。
【0016】
1つ目として、従来のペトリネット理論では、システムのあらゆる状況において優先的に割り込み処理をさせるようなシステムを簡素にモデル化することが困難であった。割り込み処理に複数の種類がある場合は、モデル化を一層に複雑にしていた。ペトリネットモデルを複雑にすることは、ペトリネットの利点でもある視覚的表現の効果に影響を与え、システムの監視の妨げになり問題である。例えば、図4の搬送システムをペトリネットモデル化して制御を行う場合、非常停止のような割り込み的な制御に対応させるため為には、制御内容をペトリネットモデル化したプログラム内の全てのトランジションに非常停止が押された時に、非常停止処理を行うという前提条件と後提条件を追加しなければならなくなる。トランジションに前提条件と後提条件を追加することは、ペトリネットモデルの設計工数を増加させるだけでなくペトリネットモデルを複雑にすることになる。また、システムの規模が大きくなるに従いトランジションの数が増えてしまうため、より影響を受けてしまうこととなる。さらに、割り込み処理の種類が複数あるとトランジションに対して追加する前提条件と後提条件も複数追加することとなるため、設計工数の増大とペトリネットモデルの複雑化への影響はより大きくなる。
【0017】
2つ目として、従来のペトリネット理論でシステムのモデル化を行い、そのペトリネットモデルを実行させる場合、1ステップ毎にモデル内の全てのトランジションに対して発火可能であるかの判定を行い、発火可能であれば発火処理を行う必要があった。システムの規模が大きくなるに従いトランジションの数が増大すると、全てのトランジションについて1ステップ毎に発火判定を行うことは、ペトリネットの実行処理に大きな負荷を与えることになる。
【0018】
3つ目として、カラーペトリネット理論を用いてトークンに属性を与えて商品、部品または製品などを表現する場合、トークンの属性定義やトークンが遷移するアークの属性定義など多くの定義や設定を要するため、ペトリネットモデルの設計や属性設定が複雑で、ペトリネットモデルの設計工数も増大していた。
【0019】
4つ目として、制御を目的としたペトリネットモデルで、システムの監視、システムの性能評価の全てを行うことができなかった為、用途に合わせてペトリネットモデルを再設計する必要があった。
【0020】
本発明は、このような事情に鑑みて為されたものであり、システムの制御、システムの監視およびシステムの性能評価を1つのペトリネットモデルで行うことができるモデル化方法を提供することを目的とする。また、このモデル化方法を用いた拡張ペトリネットに基づく制御装置を提供することを目的とする。
【課題を解決するための手段】
【0021】
本発明者はこの課題を解決すべく鋭意研究し、試行錯誤を重ねた結果、次のような本発明を完成するに至った。
〈拡張ペトリネットに基づく制御対象システムのモデル化方法〉
すなわち本発明の拡張ペトリネットに基づく制御対象システムのモデル化方法は、制御対象であるシステムを拡張ペトリネットを用いてモデル化する拡張ペトリネットに基づく制御対象システムのモデル化方法であって、
該システムの起こり得る状態を表したプレースと該システムのある状態を表すプレースから次の状態を表すプレースへの遷移に必要となる処理を階層構造をもって表した階層構造トランジションとを時系列順に並べて上位ペトリネット図を作成し、該システムの全体の状態をモデル化するシステム状態モデル作成工程と、前記上位ペトリネット図上のあるプレースから次のプレースへ遷移する様子を、前記処理の開始を示すスタートトランジションと該処理の終了を示すエンドトランジションと該スタートトランジションと該エンドトランジションとの間の状態を細分化して表した複数の処理状態プレースと該処理状態プレース間の遷移に必要となる細分化された処理を表した処理トランジションとを時系列順に並べて作成した下位ペトリネット図に表し、前記階層構造トランジションに含まれる階層化先の処理内容をモデル化するシステム処理実行モデル作成工程と、前記システムの通常処理から割り込み処理へ遷移可能なペトリネットモデルを作成して、前記システムの通常処理の実行中の如何なる状態からでも優先的に割り込み処理の実行を可能とするシステム割り込み処理実行モデル作成工程と、外部I/Oデバイスの論理的な入出力条件の結果を反映すると共に複数のペトリネット図の間で共有可能な機能をもつ共有プレースを用いて該入出力条件をブロック化する特定ペトリネット図を作成して、該複数のペトリネット図間で該該共有プレースの再利用を可能とするモデル化を行う入出力条件ブロック化モデル作成工程とを有することを特徴とする。
(作用効果)
本発明の拡張ペトリネットに基づく制御対象システムのモデル化方法によれば、次のよう作用効果が得られる。
(1)システム状態モデル作成工程やシステム処理実行モデル作成工程では、システムの状態の流れや処理の流れに沿って順序立てて制御対象システムをモデル化することができるため、設計が容易で、専門知識や設計経験が無くても設計が可能である。
(2)こうしてモデル化したペトリネット図をペトリネット実行手段により実行処理した場合、システム状態モデル作成工程やシステム処理実行モデル作成工程で作成したペトリネット図からシステムの状態を容易に把握することができる。
(3)システム割り込み処理実行モデル作成工程で作成したペトリネット図は、割り込み処理が可能な従来のペトリネットモデルに比べて簡素化することができる。よって、モデル化の設計効率が向上する。
(4)入出力条件ブロック化モデル作成工程で作成したペトリネット図は、1つの共有プレースに反映させることが可能である。このため、他のペトリネット図で共有プレースを再利用することでペトリネットモデルを簡素化することができる。
〈拡張ペトリネットに基づく制御装置〉
さらに本発明は、上記拡張ペトリネットに基づく制御対象システムのモデル化方法を制御装置に利用したものでも良い。
すなわち本発明の拡張ペトリネットに基づく制御装置は、ポインティングデバイスおよびキーボードを含む入力手段と、作成および編集した内容を表示する表示手段と、拡張ペトリネットによるペトリネットモデルを設計するペトリネットモデル設計手段と、ペトリネットモデルを実行するペトリネット実行手段とを備え、外部の制御対象機器と接続可能なコンピュータシステムからなる拡張ペトリネットに基づく制御装置であって、
前記ペトリネットモデル設計手段は、プレースとトランジションと該プレースおよび該トランジションを接続するアークとを配置したペトリネット図を作成する要素配置編集手段と、前記要素配置編集手段で配置したノードを設定する各種ノード設定手段と、前記ペトリネット図を目的に応じた状態に設定するシート設定手段と、前記ペトリネット図に階層構造を設定する階層構造設定手段と、外部の制御対象機器と特定機能を有する外部入出力プレースとの関連を設定するI/O設定手段の手段とを備え、前記ペトリネット実行手段は、前記階層化されたペトリネット図の実行を制御する階層構造実行手段と、前記ペトリネットモデルを実行させて外部の制御対象機器を制御する制御実行手段と、前記ペトリネットモデルを実行させてシステムの挙動をペトリネットで表現する通常実行手段とを備え、さらに、作成したペトリネットモデルを記録するペトリネットモデル記録手段と、ペトリネットモデルの作成、編集および実行を表示手段に表示させるペトリネットモデル表示手段とを有することを特徴とする。
(作用効果)
本発明の拡張ペトリネットに基づく制御装置によれば、次のよう作用効果が得られる。
(1)本発明の制御装置の階層構造実行手段は、前述したモデル化方法で作成した階層構造を有するペトリネットモデルの通常実行処理中に発生した割り込み処理命令に対して、割り込み処理を行うペトリネット図に実行処理を任意に移すことが可能となる。
(2)ペトリネット実行手段は、システムの状態が遷移する際に、必要となる階層化先のペトリネット図のみを実行処理させる。そのため、トランジションの発火判定処理を、必要とするペトリネット図のみに限定して行うことができるため、実行処理の負荷を軽減できる。
(3)ペトリネット実行手段は、制御対象の制御を行いながらシステム状態モデルシートと、制御処理モデルシートでリアルタイムにシステムの挙動を表現しているため、簡単にシステムの状態を把握することができる。
(4)制御実行手段のI/Oセッティングシートの実行処理と初期化機能により、外部入出力条件をブロック化したペトリネット図の簡素化と、ペトリネットモデル内のトランジションを削減することによる実行処理の負荷を軽減できる。
〈その他〉
本発明の拡張ペトリネットに基づく制御対象システムのモデル化方法および拡張ペトリネットに基づく制御装置は、さらに次のような構成を備えるとより好ましい。
1.すなわち、上記した本発明は、前記ペトリネット図単位に該ペトリネット図内の全てのトークンに対して所定の設定に応じたデータの格納、参照および代入を可能とする属性を設定する属性設定手段と、前記トークンに付与された属性値に外部情報を設定でき若しくは該属性値の変更を任意に設定できる機能をプレース若しくはトランジションに割り当てる機能設定手段と、前記トランジションの発火規則を示す発火条件式を任意に設定できるトランジション発火条件式設定手段と、トランジションの発火後に遷移する前記トークンに付与された属性値に対して該属性値の変更を任意に設定できるトランジション出力設定手段と、前記機能設定手段の設定に従い前記トークンの属性値を変更する機能実行手段と、前記トランジション発火条件式設定手段で設定した発火条件式を考慮した発火判定を行い、前記トランジション出力設定手段の設定に従い発火後のトークンの属性値を変更する属性設定発火処理手段とを有すると好適である。
(作用効果)
本発明によれば次のよう作用効果が得られる。
(1)属性設定手段を用いることで、複数のシートからなるペトリネットモデルに対して、必要なシートにのみ属性定義をすることができる。このため、ペトリネット実行手段で実行処理を行う場合、属性に関連するメモリの消費量と、属性に関連する実行処理を削減して処理の負荷を抑えることができる。
(2)属性設定手段は、あらかじめトークンに何種類かの属性定義をすることで、トークンが格納できるデータ長を指定するだけで、簡単にトークンに属性を持たせることができる。
(3)属性設定手段でデータ長を指定する際に、個々の属性値に自動的にアドレスが付与される。そのアドレスにより、トランジション発火条件式設定手段、トランジション出力設定手段または機能設定手段などは、個々の属性値への参照や、演算結果の代入など簡単に設定することが可能となる。
(4)属性設定発火処理手段を用いることで、トークンの属性値からトランジション発火を制御したり、トランジションや機能プレースの機能などの設定値によりトークンの属性値を変更したりすることができる。
(5)上記した全ての手段を用いることで、システムを詳細に表現することが可能となり、複雑なシステムの制御と詳細なシステムの状態監視とを実現することができる。
2.さらに、本発明は、前記システムの生産性低下の要因箇所の特定を可能とする性能評価を模擬的に行える性能評価実行手段と、前記性能評価実行手段が実行時に使用する特定のパラメータを設定する性能評価設定手段とを有すると一層好適である。
(作用効果)
本発明によれば次のよう作用効果が得られる。
(1)性能評価実行手段は、本来の制御用に拡張ペトリネット形式でモデル化したペトリネット図でシステムの性能を模擬的に評価することが可能である。これにより、性能評価設定手順の設定次第で、システムの生産効率、作業計画さらにはシステムの構成の不具合などを把握することができる。
(2)性能評価設定手段と性能評価実効手段を用いることで、制御用のペトリネット図を性能評価のためにも再利用することが可能となる。これにより、性能評価を行うために必要なペトリネットモデルの設計をより効率的に行える。
【発明を実施するための最良の形態】
【0022】
次に実施形態を挙げ、本発明をより詳しく説明する。以下の説明は、本発明の拡張ペトリネットに基づく制御装置のみならず拡張ペトリネットに基づく制御対象システムのモデル化方法にも適宜該当する。また、いずれの実施形態が最適であるかは、制御対象、要求性能等によって異なることを断っておく。
図1に拡張ペトリネットに基づく制御装置のハード構成を示す。図1は本発明を実施する際に必要となる装置、機能を記載している。
【0023】
図1においてコンピュータ本体101は、中央演算処理装置102と主記憶装置103などを有する汎用コンピュータである。
拡張ペトリネットに基づく設計実行手段110は、データ入力装置105(例、キーボード)や、ポインティング入力装置106(例、マウス)を用いて、ペトリネットモデルの設計を行うことや、制御対象機器108を制御するペトリネットモデルの実行処理、システム状態の表示処理、システム性能の評価処理などを行う。
表示装置104(例、液晶ディスプレイ)は、拡張ペトリネットに基づく設計実行手段110の処理内容などを表示する。補助記憶装置107(例、磁気ディスク)は、拡張ペトリネットに基づく設計実行手段110などのデータを必要に応じて記録する。データベース131は、拡張ペトリネットに基づく設計実行手段110と必要に応じて接続することが可能であり、ペトリネット実行手段112とデータの受け渡しを行う。
コンピュータ本体には、外部入出力信号を扱うことのできる汎用のPCIボードのI/Oインターフェース109が内蔵されている。中央演算処理装置102で処理されることで、外部の制御対象機器108からの入力信号の受け取り、主記憶装置103上に記録された拡張ペトリネットに基づく設計実行手段110にデータとしての反映、拡張ペトリネットに基づく設計実行手段110から外部出力信号としてI/Oインターフェース109から外部の制御対象機器108への出力信号の送信などがなされる。これらの装置のしくみにより、制御対象機器108の制御を行うことができる。
【0024】
ペトリネットモデル設計手段111は、以下の幾つかの設計に関する手段を行うことでシステムの制御や、システムの性能評価ができるペトリネットモデルを作成する。
シート設定手段113は、ペトリネット図を描くシートの種類の選択や、ペトリネット実行手段112の実行処理間隔時間を設定する。要素配置編集手段114は、選択したペトリネット図のシートに「プレース」、「トランジション」、「アーク」を入力してペトリネット図を作成する。属性設定手段115は、ペトリネット図のシート単位にカラーペトリネットのトークンの属性定義を拡張した拡張ペトリネットによる属性定義の設定(以下属性定義とする)の有無や、初期マーキングのトークンに属性定義による値を設定する。
ペトリネット図に属性設定が許可されている場合のみ使用できる発火条件式設定手段116は、図2に示すペトリネットの発火条件とは別に、トランジションに対してトークンの属性を活用して任意に発火規則を表す発火条件式を設定する。ペトリネット図に属性設定が許可されている場合のみ使用できるトランジション出力設定手段117は、トランジションの発火により遷移するトークンについて任意に値を設定する。各種ノード設定手段118は、発火遅れ時間や、トランジション名の設定や、プレースのトークンの初期マーキング数やプレース名などの設定、アークの重みなどを設定する。
階層構造設定119は、階層構造の上位と下位の関係を構築してシートの名前やトランジションの発火順序を設定する。機能設定手段120は、トランジションやプレースなどに制御に必要な特殊機能や演算などの関数機能を割り当て設定する。I/O設定手段121は、は制御対象機器108への外部入出力信号をプレースに割り当てる。性能評価設定122は、制御を目的とした拡張ペトリネットの形式で制御対象システムをモデル化したものに性能評価で使用するパラメータを設定する。
【0025】
ペトリネット実行手段112は、下記の幾つかの実行に関する手段を行うことで、システムの制御や、システム監視、システムの性能評価を行うことができる。階層構造実行手段123は、ペトリネットモデル設計手段111で設計されたペトリネットモデルを拡張ペトリネットの形式に従い階層構造を実行処理する。属性設定発火処理手段124は、トランジション発火条件式設定手段116で設定した発火規則である発火条件式を満足しているかどうか判定を行い、全ての発火条件を満たしていれば発火処理を行う。さらに、発火処理では、トランジション出力設定手段117で設定したトークンの発火出力値の演算、参照値の代入などの処理を行うことで遷移するトークンの属性値に影響を与える処理を行う。機能実行手段125は、機能設定手段120により外部入出力データをトークンに反映させる機能を割り当てられたプレースなど機能を割り当てられた各ノードの実行処理を行う。
制御実行処理手段126は、ペトリネットモデル設計手段111で設計したペトリネットモデルにI/Oインターフェース109からの制御対象機器108からの入力信号、入力データなどの情報を展開して拡張ペトリネットの形式に基づき実行処理を行うことで制御対象機器108の制御を行う。性能評価実行手段127は、システムの制御や、システムの監視が可能なペトリネットモデルでシステムの性能評価を行うために設定した各種パラメータに基づき特殊な実行処理を行いシステムの挙動を表す処理を行う。通常実行処理手段128は、ペトリネットモデル設計手段111で設計したペトリネットモデルを拡張ペトリネットの形式に基づき実行処理を行い、ペトリネットモデルの挙動を表す処理を行う。
【0026】
ペトリネットモデル設計手段111で設計したペトリネットモデルは、ペトリネットモデル記憶手段129によって、補助記憶装置107などのディスクに記録される。ペトリネットモデル設計手段111でモデル化を行う設計プロセスや、ペトリネット実行手段112でシステムの挙動を表す実行プロセスなどは、ペトリネットモデル表示手段130によって表示機104で表示される。
【実施例】
【0027】
次に実施例を挙げて、本発明をより具体的に説明する。
図4に、物流センターなどで使用されている自動仕分けラインを含めた搬送システムの一部を示した。また、図4には、その搬送システムが図1に示したコンピュータ本体101と入出力信号をやり取りするための接点も表されている。具体的には、I/Oインターフェース109が、システムの各制御機器から入力信号を受け取る接点をXと数字で表されている。また、I/Oインターフェース109が、システムの各制御機器へ出力信号を出力する接点をYと数字で表されている。これら構成で本発明による搬送システムの制御と搬送システムの監視、さらに、搬送システムの性能評価が行われる。
【0028】
最初に、図4に示した搬送システムについて説明する。この搬送システムは、トラックなどで運ばれた商品を物流センター内の保管ラックや平場などのエリアまで自動搬送するシステムの一部である。入荷品は、複数の部品を入れることのできる箱(バケット)で入荷ライン401に投入される。バケット内には、同じ保管ラックのエリアへ搬送するものであれば、5種類まで、異なる商品をまとめることができる。バケット内にある商品の品番とその個数は、バケットの側面に貼られたバーコードで情報を得ることが可能である。下の表にバケット内の商品情報を示す。
【0029】
【表1】
【0030】
【表2】
【0031】
【表3】
【0032】
【表4】
【0033】
【表5】
【0034】
上の表の品番は、左から数字2つは保管ラックのエリアを示し、右から数字2つは保管ラックの棚番を示す。入荷ライン401に投入したバケットの中身が、異なったエリアへ搬送される商品の混載された状態にある場合、混載チェックライン403に自動仕分けされる。そして、混載をチェックする作業者を呼び出すランプ(Y15)を点灯させる仕組みとなっている。
【0035】
また、バケット内の商品の総数が100個以上の場合は、保管ラックエリアへの搬送ではなく、多量品の一時保管場所である平場エリアへ搬送する仕組みとなっている。
【0036】
次に、例えば、ライン2(405)にバケットが仕分けされる方法について説明する。
仕分けライン402は、各エリアの引き込みライン404〜407と連絡している。入荷ライン401のコンベアから流れてきたバケットは、仕分けライン402の位置センサ410で検知される。その検知を受け、仕分けライン402のコンベアが動き出し仕分けライン402上をバケットが流れていく。仕分けライン402を流れるバケットは、仕分けライン402に取り付けられている5つの位置センサ(X4〜X7)と5つ押し出しシリンダ(エアー圧力により伸縮する機構:Y10〜Y14)の前を順に通過する。
仕分け先がライン2(405)である場合、位置センサ411がバケットの通過を検知すると一定時間後に仕分けライン402のコンベアが止まる。その時、バケットは、押し出しシリンダ412の正面にある。押し出しシリンダ412にエアーが供給され、その圧力によりシリンダが伸びる。押し出しシリンダ412に取り付けられたシリンダが完全に伸びた状態を感知する押し出し完了センサX32が完了を検知するとシリンダ内へのエアーの供給を止める。この時、バケットは伸びて来たシリンダによってライン2(405)へ押し出されている。
【0037】
押し出し完了センサX32の検知後に、押し出しシリンダ412がシリンダ内のエアーを放出してシリンダを初期位置まで縮める。押し出しシリンダ412が初期位置に戻ると、押し出しシリンダ412に取り付けられている初期位置センサX37が検知する。その検知を受けて、仕分けライン402上にバケットがある場合は、仕分けライン402のコンベアを動かし、次のバケットの仕分けを続ける。ライン2(405)の位置センサ413は、押し出されたバケットを検知して、ライン2のコンベアを動かす。これによりバケットは、2エリアの保管ラックまで搬送される。仕分けライン402の仕様については、ある程度の間隔をあけたバケットを最大5つまでのコンベア上に載せることが可能であり、連続的に仕分けができるようになっている。
【0038】
これらの搬送システムを本発明の拡張ペトリネットに基づく制御装置で、制御、監視、性能評価を行うには、搬送システムを拡張ペトリネット形式でモデル化する必要がある。以下、この搬送システムを例にとり、拡張ペトリネット形式によるシステムのモデル化方法と、本発明の拡張ペトリネットの特徴と実行時における処理方法について説明する。
【0039】
図5は、搬送システムを拡張ペトリネット形式によってモデル化した際に表示機器104に出力される拡張ペトリネットに基づく設計実行手段110の画面の構成である。
アプリケーションのメインウィンドウ501は、ウィンドウの移動やウィンドウサイズの伸縮が自由に行えるようになっている。主に、メインウィンドウ501は、さまざまな操作を行うためのメニューバー502とペトリネットモデルを作成するときに必要となるノード(プレース、トランジション、アークについては、通常アーク、抑止アーク、往復アークの3種類ある)の選択や配置の切り替えなどを行うツールバー503、ペトリネットモデルを作成するウィンドウ506(シート)、507にグリッド線を設定することで各ノードを整列させることや作製したネットウィンドウのペトリネットモデルを拡大縮小して表示させるツールバー504、制御の実行や性能評価などのペトリネットモデルを実行するツールバー505、拡張ペトリネットモデルで階層先のモデル化を行うウィンドウ507、現在のアプリケーション内のプロジェクト(モデル化したペトリネット図のまとまり)を階層的に表現しているプロジェクトバー508で構成されている。
【0040】
拡張ペトリネット形式でシステムのモデル化を行う際に作成するペトリネット図は、拡張ペトリネットに基づく設計実行手段110で下記のように作成できる。
【0041】
各ノード(プレース、トランジション、アークなど)の配置は、ツールバー503で配置したいノードを選択して、ペトリネットモデルを作成するウィンドウ506、507の配置したい場所でポインティング入力装置106(マウス)を左クリックすると配置することができる。アークについては、ツールバー501で設定したいアークを選択して、接続させたいプレースやトランジションをポインティング入力装置106で選択することで接続できる。このとき、最初にマウスで選択したノードから次に選択したノードへの向きでアークを接続することになる。ペトリネットモデルを作成するウィンドウ506、507については複数のウィンドウ(シート)を生成することが可能である。
【0042】
図4の搬送システムを拡張ペトリネットの形式でモデル化する方法は、大きく4つの工程に分けることができる。これらの4つの工程では、それぞれ目的にあったシート(ウィンドウ)にペトリネット図を描く必要がある。
【0043】
1つ目のシステム状態モデル作成工程は、システムに起こり得る状態またはシステムを監視したい状態を表現するペトリネット図を作成する工程である。作成者は、前記システムの状態を表現するペトリネット図を、システム状態モデルシートで描くことができる。
【0044】
2つ目のシステム処理実行モデル作成工程は、前記システム状態モデル作成工程で作成したペトリネット図のある状態から次の状態へ遷移する際に必要となる処理の内容について階層化先で表現するペトリネット図を作成する工程である。作成者は、前記必要となる処理の内容を表現したペトリネット図を、制御処理モデルシートで描くことができる。
【0045】
3つ目のシステム割り込み処理実行モデル作成工程は、通常処理から非常停止のような優先的に割り込み処理を実行させたい場合に、階層構造の上位レベルで制御の分岐処理を表現するペトリネット図を作成する工程である。作成者は、前記の制御の分岐処理を表現するペトリネット図をシステム状態モデルシートで描くことができる。
【0046】
4つ目の入出力条件ブロック化モデル作成工程は、共有プレースを用いて入出力条件をブロック化して他の各シートで再利用することを目的としたペトリネット図を作成する工程である。作成者は、前記ブロック化を目的としたペトリネット図をI/Oセッティングシートで作成することができる。
【0047】
図4に示した搬送システムを前記システム状態モデル作成工程で作成したペトリネット図を図7に示す。図7のペトリネットモデルは、図4の外観をペトリネットで表現している。プレース702、704などは、ラインまたはライン上の1部分を示している。ライン上を流れる商品(バケット)をトークンで表すと、搬送システムのどのラインにどんな商品(バケット)が流れているかを把握することができる。このようにシステム状態モデル作成工程では、システムの起こり得る状態または作成者がシステムを監視したい状態をペトリネット図で表現する。そして、ある状態から次の状態へ遷移する際の処理については、階層化トランジション701、705などを用いて表現する。
【0048】
次の工程であるシステム処理実行モデル作成工程では、階層化トランジションで表現した処理の内容についてモデル化を行う。図10は、図7に示した階層化トランジション701の階層化先のペトリネット図である。階層化トランジション701は、入荷品の投入処理を表している。この階層化先のペトリネット図では、入荷品の投入時の制御機器との入出力信号処理が行われる。
【0049】
階層化先のペトリネット図は、図10に示すように、スタートトランジション(STARTノード)で始まり、エンドトランジション(ENDノード)で終わる特定の構造となっている。スタートトランジションとエンドトランジションなどの階層化トランジションの仕様については後述する。
【0050】
階層化先のペトリネット図では、まず図10のように入荷品の投入処理の内容をスタートトランジションとエンドトランジションを結ぶ直線上の間に細分化する。図10では、入荷品の投入処理を入荷品の確認の状態を示すプレース1002、入荷コンベアの稼働状態の確認の状態を示すプレース1008、入荷コンベアの制御完了した状態を示すプレース1011の3つの処理状態プレースに細分化して、処理の進み具合を把握できるようにしている。
【0051】
次に、これら処理状態プレースの遷移によって発生する細分した処理を示す処理トランジションを順に並べて処理全体の流れをつくる。図10では、入荷品の確認処理を示す処理トランジション1005、コンベアの稼働処理を行う処理トランジション1009、稼働中のコンベアに稼働継続の処理を行う処理トランジション1010に処理を細分化している。
【0052】
更に、前記処理状態プレースから遷移するのに必要な前記処理トランジションの入力条件と、この入力条件を満たした後に行う処理内容を処理トランジションの出力条件としてモデル化する。
図10では、処理トランジション1005の入力条件として、処理状態プレース1002と、入荷品の有無を示す入荷ラインの左端に取り付けられたセンサの入力信号に対応した外部入力プレース1003と、外部入力プレース1003の重複した入力信号による処理トランジション1005の発火を抑える共有プレース1004の3つの入力条件でモデル化している。
処理トランジション1005の発火後の処理として、状態プレース1008への状態遷移を示すマーキングと、入荷ライン上のバケット数をカウントする共有プレース1007のカウント数を1つ加算するマーキングと、共有プレース1004と同じプレースを共有している共有プレース1006にトークンをマーキングして外部入力プレース1003の重複した信号による発火を防止する3つの処理をモデル化している。同様に、全ての処理トランジションに対してモデル化を行う。
【0053】
同様に図7の階層化トランジション706の階層化先ペトリネット図を図11、階層化トランジション707の階層化先ペトリネット図を図12のように、図7の残りの階層化トランジションに対してモデル化を行う。
【0054】
システム割り込み処理実行モデル作成工程は、通常処理から非常停止のような割り込み処理を実行させることのできるペトリネットモデルを作成する工程である。図4の通常処理は、システム状態モデル作成工程や、システム処理実行モデル作成工程で作成したペトリネット図を実行して処理を行うことである。拡張ペトリネットで通常処理に割り込み処理を行う場合は、通常処理のような割り込み処理を行うペトリネット図より階層構造が上位となるペトリネット図で通常処理と割り込み処理とを分岐するモデル化を行う必要がある。図4の搬送システムの場合は、図7に示す上位ペトリネット図を階層化プレースで階層化することで図7より階層構造がさらに上位になる図6に示す最上位ペトリネット図で割り込み処理のモデル化を行っている。
【0055】
図6に示すペトリネット図の実行処理が開始されると、図7に示す搬送システムの処理を行う階層化プレース604にトークンがマーキングされる。このように通常処理を行う階層化プレースに常時マーキングされるようモデル化を行う。
階層化トランジション605は、図8に示すような階層化先のペトリネット図からなり、非常停止ボタンが押されたら発火するようモデル化されている。そのため、非常停止ボタンを押した場合、階層化トランジション605が発火して、通常処理を行う階層化プレース604のトークンが取り除かれ、非常停止中の処理を行う階層化プレース606にトークンを遷移させる。その結果、通常処理が停止して、非常停止中の処理が実行されるようになる。このように割り込み処理を行う階層化プレースを用意して、通常処理を行う階層化プレースからトークンを遷移させることができるようにモデル化を行う。
【0056】
入出力条件ブロック化モデル作成工程では、外部入出力の条件をブロック化して他のペトリネット図で再利用することでモデル化を簡素化することを狙いとしている。図4に示す搬送システムの場合は、7つの非常停止ボタン(X22〜X28)が1つでも押された時に信号がONになるような条件を図9のようにモデル化を行う。
モデル化の際には、他のペトリネット図でも同じプレースのようにトークンなどの情報を共有することができる特定機能を持つI/O共有プレースに入出力条件の結果を反映するようにする。図9の場合、入力条件の結果をI/O共有プレース901により反映している。そして、I/O共有プレース901を他のペトリネット図(図8)のI/O共有プレース803と共有することによりトランジション804の入力条件を簡素化している。
【0057】
図9に示すペトリネット図のシートであるI/Oセッティングシートは、拡張ペトリネットの特定の実行処理により、モデル化を図9のように簡素化することができる。これについては、I/Oセッティングシートの実行処理方法で説明する。
【0058】
このように、4つの工程でモデル化することで、モデル化が行い易くなり、ペトリネットモデルの実行時にはシステムの状態を容易に把握することができる。
【0059】
次に、本発明である拡張ペトリネットに基づく制御装置の拡張ペトリネット形式によるペトリネットモデルの実行処理について説明する。
拡張ペトリネット形式によるペトリネットモデルの実行処理は、拡張ペトリネットに基づく設計実行手段110で行われる。実行処理には、制御実行手段126、性能評価実行手段127、通常実行手段128の実行形態と、階層構造における複数ネット間の実行処理を制御する階層構造実行手段123がある。これらについて、順に説明する。
【0060】
図13は、単一のペトリネット図を描いたシートにおける制御実行手段126の実行処理の順序を簡易的に示したフローチャート図である。実行処理の基となるものは、図2、図3のペトリネット理論に時間的概念を取り入れた時間ペトリネット理論である。拡張ペトリネットの形式では、図5の拡張ペトリネットに基づく設計実行手段501のウィンドウ506や、507のウィンドウ(シート)単位で実行処理が行われる。
実行処理とは、シート内のトランジションに対して発火処理を行いトークンを遷移させることである。トランジションの発火処理は、属性設定手段115で選択することができる属性設定の有無により処理方法が異なる。ここでは、属性設定手段115で属性設定が行われていないペトリネット図のシートにおける発火処理について説明する。
【0061】
発火処理は、主に、発火遅れなしの発火処理1304と発火遅れありの発火処理1306の2種類ある。
【0062】
発火遅れなしの発火処理は、トランジションに遅れ時間が設定されていないトランジションに対してのみ発火処理を行うことである。この場合、記録した発火可能なトランジションを発火させた後、再度、発火遅れ時間が設定されていないトランジションに対して発火処理を行う。発火遅れ時間の設定がされていないトランジションが発火できなくなるまで繰り返し発火処理を行う。
【0063】
発火遅れありの発火処理については、発火遅れ設定時間が設定されているトランジションに対してのみ発火処理を行う。この場合、記録された発火可能なトランジションには、発火カウンタがあり、発火処理を行う度に発火カウンタを1加算して遅れ時間分、トランジションの発火を待機させて時間を遅らせる。発火カウンタとトランジションの発火遅れ時間との値が等しくなったことが記録されたトランジションについては、待機状態を解除して発火を行うことでトークンを遷移させる。
【0064】
この発火処理を踏まえて、図13の制御実行処理について説明する。入力リフレッシュ処理1301、1310は、制御対象機器108の入力信号を下記の外部入力プレースを用いた拡張ペトリネット形式でモデル化したものに反映させる処理である。
【0065】
プレース902やプレース1003などの外部入力プレースXは、制御対象機器108から拡張ペトリネットに基づく制御装置101への入力接続を示し、符番については、制御装置101と制御対象機器108と入力接点番号と対応している。よって、X1の外部
入力プレースは、入力接点1に接続している制御機器からの入力信号を反映していることを表している。制御機器から送られた入力信号は、外部入力プレースのトークンのマーキングによって入力信号の有無を判別することができる。このプレースは、機能プレースであるためプレース内にマーキングできるトークンは必ず1つであり常に外部入力信号の状態を反映する仕様となっている。
【0066】
I/Oセッティングシート発火遅れなしの発火処理については、シートの種類が異なるのみで発火遅れなしの処理は同じである。I/Oセッティングシートは、制御対象機器との接続を示す接点に対応した外部入力プレースや外部出力プレースの信号の有無を応用した複雑な条件をI/O共有プレースでブロック化することで他のシートのモデル化を簡素化する場合に使用するシートである。I/Oセッティングシートについての詳細は後に説明する。
【0067】
ステップ1302〜1307までの発火処理についは前記に示したものと同様である。
【0068】
出力のリフレッシュ処理1308は、外部出力を示すYと出力接点番号を示した外部出力プレース内のトークンの有無で表される状態をその接点に接続している制御対象機器108に対して出力信号として反映させる処理を行う。具体的には、例えば、外部出力プレースY1のマーキングがある場合、この出力接点Y1に接続している制御対象機器108に出力信号を出力する。
【0069】
シート設定手段113で設定した1ステップ時間から、発火処理などに掛かった時間を差し引き、残りの時間を1311で待機する。このように、実行処理を一定間隔で繰り返し行うことで制御対象機器108を制御することが可能となる。
【0070】
図14には、性能評価実行手段127、通常実行手段128のフローチャート図を示す。これら両者は、実行処理に用いるシートとパラメータが異なるのみで実行処理の順序、発火遅れなしの発火処理1401、1403および発火遅れありの発火処理1402は前記の発火処理と同じである。
【0071】
制御実行手段126の特徴は、時間と共に外部入出力プレースに反映される入力情報が変化するため、全てのトランジションが発火できなくなっても実行処理を繰り返し継続する仕様となっていることである。この点、性能評価実行手段127、通常実行手段128とは仕様が異なる。
【0072】
階層構造実行手段123について説明する。図6のプレース604とプレース606は、階層化プレースであり、トランジション605とトランジション607は、階層化トランジションである。以下、拡張ペトリネットの各階層化ノードについて説明する。
【0073】
階層化プレースは、1つのシートに関連させることで階層構造を持つことが可能となる。階層化プレースと階層構造的に関連したペトリネット図のことを階層化先のペトリネット図(シート)と言う。
階層化プレースと階層化先のペトリネット図は、以下の仕様となっている。
1.階層化プレース内にトークンがマーキングされている場合、階層化先のペトリネット図を活性させ実行処理を行う。
2.階層化プレースにトークンが在り続ける限り、階層化先のペトリネット図は実行処理を行う。
3.階層化プレース内のトークンが遷移してプレース外に出た場合、階層化先のペトリネット図を不活性とし実行処理を停止させる。但し、階層化プレース内にまだトークンが1つ以上あるときは、シート設定手段113の下記の設定に従い再度実行処理を行う。
(i)図15の1501にチェックを入れない場合、ペトリネット図を活性させて停止
した状態から継続して実行を続ける(継続実行処理)。
(ii)図15の1501のチェックを入れる場合、ペトリネット図を活性させ停止した
状態からペトリネット図の初期化処理を行い、再度実行処理を行う(初期化後に実行処理)。
4.階層化プレース内にトークンがない場合、再び階層化プレース内にトークンがマーキングされるまで階層化先のペトリネット図の実行処理を停止させる。
【0074】
階層化トランジションも階層化プレースと同様に、1つのペトリネット図を関連させることで階層構造を持つことが可能である。階層化トランジションと階層構造的に関連したペトリネット図のことを階層化先のペトリネット図(シート)と言う。階層化トランジションと階層化先のペトリネット図は、以下の仕様となっている。
1.階層化トランジションは、発火可能な状態になった時に、階層化先のペトリネット図を活性化させ実行処理を行う。但し、階層化トランジションは、入力プレースのトークンを発火予約しない。
2.階層化先のペトリネット図は、必ずスタートトランジションとエンドトランジションの特定のトランジションで構成されている。
3.活性化して実行を開始した階層化先のペトリネット図は、スタートトランジションを1度のみ発火させる(スタートトランジションの仕様)。
4.エンドトランジションの発火条件を満たしエンドトランジションが発火するまでは、階層化元の階層化トランジションは発火を行わない(エンドトランジションの仕様)。
5.階層化トランジションと競合を起こしているトランジションが先に発火してしまうことで階層化トランジションが発火できなくなった場合、活性して実行処理を行っている階層化先のペトリネット図は直ちに実行処理をやめてシートを不活性としてシートの初期化を行う。この際、初期化されるプレースは通常プレースのみである。
6.エンドトランジションが発火した場合、その階層化先のペトリネット図を不活性として実行処理を終了して初期化を行う。そして、階層化元の階層化トランジションを発火させて通常どおりトークンの遷移を行う。
【0075】
前述した階層化プレース、階層化トランジションおよび階層化先のペトリネット図の仕様に基づく、階層構造を持つペトリネットモデルの実行処理の流れを図16のフローチャート図で示す。発火処理1602は、図13と図14にある、発火遅れなしの発火処理(1ステップ単位)と発火遅れありの発火処理(1ステップ単位)とを示している。従って、図16のフローチャート図の処理は、図13、図14にそれぞれ示したフローチャート図の発火処理の前に行われる。
【0076】
図16の活性判定1601や階層化ノードによるシートの活性判定1603、階層化ノードによるシートの不活性判定1604は、階層化ノードの状態より判定することが可能である。
【0077】
本発明の拡張ペトリネット形式では、システムの制御と監視、システムの性能評価を円滑に行えるようにする為に、ペトリネット図を描く3種類のシートを用意している。それぞれの種類と役割について説明する。
【0078】
1つ目のシートは、システム状態モデルシートである。このシートの役割は主に3つある。
1.システムの状態を表示する(システム監視が可能)。
2.システムの状態が遷移する際に、必要となる階層化先のペトリネット図のみ実行処理させるトリガーの役割をもたせる。
3.システムの性能評価実行時に、階層構造の下位のペトリネット図である制御処理モデルシートとシステム状態モデルシートを分離して、システムの性能評価に必要なシステム状態モデルシートのみ実行処理させる。
【0079】
2つ目のシートは、制御処理モデルシートである。このウィンドウの役割は、システム状態モデルシートから実行処理の指示を受け、システムの状態を変化させるのに必要な処理や制御処理、データ処理などを行うシートである。実際に外部入力プレースや外部出力プレースなどを配置するシートである。
【0080】
3つ目のシートは、I/Oセッティングシートである。このシートの特徴は、入出力に対応した制御対象機器(I/Oデバイス)の信号リフレッシュ後に常時実行されるところにある。このシートの役割は下記の通りである。
1.I/Oデバイスの信号の有無を応用した条件をブロック化して制御処理モデルシートの条件を簡素化する。
2.I/Oセッティングシートが、常にI/Oデバイス信号の条件をチェックすることで、常に実行していない階層化シートであっても常時I/Oデバイスの信号を反映させた条件を使うことができるようになる。
3.I/Oセッティングシートにおいて、I/O共有プレース(複数のシートで1つのプレースを共有して使用することができる機能プレース)などを用いてI/Oデバイスの条件をブロック化したシートを、I/Oデバイスと同様であると考え、シートに対してステップ毎に初期化処理1309(I/Oリフレッシュ処理と同じ意味。初期化処理の実行は選択可能)を実行する。これにより、入出力条件のシートを簡素化する。
【0081】
システムの制御と監視、性能評価を効率よく行うために、3つの種類のシートには規則がある。
1.システムモデルネットは、制御処理モデルシートより必ず階層構造が高い位置に配置する。
2.システム状態モデルシートには、外部入出力プレースなどのI/Oデバイスに関連したノードを配置することができない。
3.I/Oセッティングシートでは階層化の設定ができない。
【0082】
次に、本発明の拡張ペトリネット形式でモデル化した搬送システムのペトリネットモデルを例にとり、拡張ペトリネット形式による階層構造の実行処理と従来のペトリネット理論のモデル化では、複雑なモデルとなってしまう非常停止などの割り込み処理を簡素化できるモデル化の方法について説明する。
【0083】
図6は、ルートとなる、階層構造の最上位にあるペトリネット図である。このペトリネット図は、システム状態モデルのシートであるため、搬送システムの状態の移り変わりを表すようにモデル化されている。図6の搬送システムネットは、搬送システムが制御中であるか非常停止中であるのか、また、それらに移行する段階にあるのかを表現することが可能である。
【0084】
システムの初期状態を示すプレース601には、初期マーキングがある。図6の搬送システムのモデル化では、トークンは現在の搬送システムの状態を示している。ツールバー505の実行ボタンを選択してこの搬送システムをモデル化したペトリネット図の実行処理を開始した場合、トランジション603が発火してトークン602が階層化プレース604に遷移する。
【0085】
階層化プレース604にトークンがマーキングされると階層化先のペトリネット図であるライン制御中を示すペトリネット図の図7が活性されて実行処理を開始する。また、層化プレース604にトークンがマーキングされると、階層化トランジション605が発火可能な状態となる為、階層化先のペトリネット図である非常停止処理シートが活性されて実行を開始する。
【0086】
階層化プレース604により活性した図7のライン制御中を示すペトリネット図は、システム状態モデルシートである。このシートの各プレースによって示された状態は、搬送システムそのもの状態であり、搬送システムを上部から見た外観と同じようにモデル化している。各プレースは、搬送システムの各ラインなどを表し、遷移するトークンは、入荷品であるバケットやその中の商品を表すことができる。このため、図7については、トークンに属性を持たせる設定を行っている。この点は、属性設定の方法に関連して後述する。
【0087】
図7のライン制御中を示すシステム状態モデルのシートを実行すると、階層化トランジション701が発火可能な状態になる。そして、階層化先のペトリネット図である図10の入荷品の投入を示すペトリネット図が活性して実行処理が行われる。
【0088】
図10の入荷品投入シートは、制御処理モデルシートである。このシートでは、入荷品を投入したときの制御処理を行っている。よって、このペトリネットモデルには外部入出力プレースが配置されており、センサなどの制御対象からの入力信号やコンベアなどの制御対象への出力信号などを扱っている。
【0089】
入荷品の投入シートでは、スタートトランジション1001を一度のみ発火(スタートトランジションの仕様)させることで、入荷品の確認状態を示す状態プレース1002にマーキングする。
【0090】
次のトランジション1005が発火するには、入荷ライン401の左端センサ414(X1)がONにならなければならない。左端センサ414は、入荷ライン401の作業者が左端センサ414の前に入荷品を投入することでONになる。よって、入荷品の投入後、左端センサ414に対応している外部入力プレース1003にトークンがマーキングされる。
共有プレース1004は、複数のシートで1つのプレースを共有して使用することができる機能プレースであり、共有プレース1006と同じプレースを共有している。共有プレース1004はトランジション1005と抑止アークで接続しているため、共有プレース内にトークンがなければトランジション1005の発火条件は満たされる。トランジション1005の発火により3つの出力プレースである共有プレース1006と共有プレース1007状態プレース1008にトークンが遷移する。
【0091】
このとき、外部入力プレース1003は、常に左端センサ414の入力信号の状態をプレースのトークンに反映する機能プレースであるため、トランジション1005の発火によるトークンの遷移によって1003のトークンが失われることはない。
【0092】
共有プレース1005は、入荷ラインに流れているバケット数を表している。この共有プレース1005は、階層化トランジション705の階層化先のペトリネット図などで使用されている。
【0093】
発火後に共有プレース1006にトークンがマーキングされると、同じプレースを共有している共有プレース1004にもマーキングされる。共有プレース1004の役割は、左端センサ414の前からバケットが通り過ぎて入力信号がOFFになるまでトランジション1005の発火をできなくすることである。
【0094】
状態プレース1008以降の処理は、入荷ラインのコンベアの状態に応じてコンベアを稼働させる処理を行っている。その処理の後、エンドトランジション1012が発火する。この発火により、階層化元のシートの階層化トランジション701が発火して機能プレース702にトークンを遷移させる。
【0095】
機能プレース702に遷移したトークンは搬送システムを流れる入荷品(バケット)を表している。機能プレース702は、バーコードリーダー409で読み取った2次元バーコードのデータをトークンの属性に反映させる機能をもったプレースである。この機能プレース702は、図1の機能設定手段120で関数コードを入力して機能設定することによりプレースに機能を実装することが可能である。この機能については、属性定義に関連して後述する。
【0096】
このように、図7に示すライン制御中シートの実行処理は、搬送システムの状態を示すものであり、その状態から次の状態へ遷移する際に必要となる処理を階層化トランジションの階層化先のペトリネット図を実行して処理を行っている。図6の階層化プレース604にトークンがある限り、図7とシート内の階層化ノードによって階層化されたシートが実行処理を行うことで搬送システムの制御が行なわれる仕組みとなっている。
【0097】
図6の階層化トランジション605が発火可能な場合、階層化先のペトリネット図である非常停止処理シート(図8)が活性して実行される。
【0098】
図8の非常停止処理シートが実行されると、スタートトランジション801が、一度のみ発火して状態プレース802にトークンをマーキングする。トランジション804は、I/O共有プレース803にトークンがないと発火条件を満たすことができないため、発火することはない。このI/O共有プレース803は、図9のI/Oセッティングシートで入力条件をブロック化したI/O共有プレース901と共有している。このブロック化については、入出力条件ブロック化モデル作成工程に関連して既に説明している。
【0099】
I/Oセッティングシートの発火処理や実行処理のタイミングは、図13のフローチャート図のステップ1302、1304、1306、1309に示す。
【0100】
図9のI/Oセッティングシートは、搬送システムの各ラインにある7つの非常停止ボタンのいずれかが押された場合、接続するトランジションが発火してI/O共有プレース901にトークンがマーキングされる。
I/O共有プレース901は、トークンによるON/OFFの制御信号を扱うため制限容量を1と設定してある。そのため、I/O共有プレース901のトークンは1つのみマーキングすることが可能である。このI/O共有プレース901のトークンを取り除かない限り、トランジションが連続的に発火することはない。
【0101】
I/Oセッティングシートは、シート設定手段113(図1)により、図15に示す1501の設定でステップ単位に初期化を行うかどうか設定することが可能である。このI/Oセッティングシート図9は、ステップ毎に初期化する設定となっているため、I/O共有プレース901のトークンは次のステップで初期化され、トークンは取り除かれる。
非常停止ボタンを復帰した場合、接続するトランジションが発火することはないので該I/O共有プレース901のトークンも無くなる。
【0102】
I/O共有プレース901は、図8の非常停止処理ネットのI/O共有プレース803と共有されているため、7つの非常停止ボタンの入力信号をブロック化してトランジション804の発火条件を簡素化している。非常停止が1つでも押されれば、I/O共有プレース803にトークンがマーキングされるので、トランジション804は発火する。
【0103】
従来のペトリネットでは、一度プレースにマーキングされたトークンを排出する場合、排出するためのペトリネット図を構成する必要があった。しかし、本発明の拡張ペトリネットによるI/Oセッティングシートの初期化設定機能により、非常停止ボタンが復帰した場合のトークンを排出させるためのペトリネット図を構成する必要を無くすことができる。さらに、I/Oデバイスの入出力条件をブロック化して他のシートで使用することで、システムのモデル化を簡素化してシステムの設計効率を向上させることができる。
【0104】
トランジション804の発火後、トークンは処理状態プレース805へ遷移する。そして、エンドトランジション806が発火可能となり発火する。
【0105】
上記のように非常停止ボタンが押された場合、図6の階層化トランジション605が発火して階層化プレース604のトークンが取り除かれ、階層化プレース606へトークンが遷移する。階層化トランジション605が発火する際、階層化先のペトリネット図である非常停止処理シート図8が不活性となり初期化が行なわれる。この時、初期化されるプレースは通常プレースのみである。
【0106】
また、階層化トランジション605の発火後には、階層化プレース604の階層化先のペトリネット図であるライン制御中シート(図7)とこのライン制御中シートの実行によって実行していた階層化先のペトリネット図は、全て不活性となり実行処理が停止する仕組みとなっている。
【0107】
図7のライン制御中シートは、シート設定手段123(図1)による図15の1501の設定が行われないため、シートの初期化を行わない。この場合、再び、階層化プレース604にトークンがマーキングされると現状のシートの状態から継続して実行処理を行う。
【0108】
階層化トランジション605の発火により階層化プレース606は、トークンをマーキングする。これにより、階層化プレース606の階層化先のペトリネット図が、活性して実行処理を開始する。実行処理を開始した階層化先のペトリネット図では、システムのペトリネットモデル内の出力信号を取り除く処理を行うことで搬送システムは非常停止状態になる。
【0109】
このように、図7に示すペトリネット図と階層構造が下位のペトリネット図の実行処理が停止すると、実際の搬送システムも停止状態となる。この時、図7が示すペトリネットモデルのシステムの状態と実際に停止している搬送システムの状態は同じとなる。
【0110】
階層化プレース606にトークンがマーキングされたことで、階層化トランジション607が、発火可能となり、階層化先のペトリネット図が活性して実行を開始する仕組みとなっている。
【0111】
これらの拡張ペトリネット形式による階層構造の実行方法を用いれば、システムが如何なる状態にあっても、非常停止のような割り込み処理を容易に行うことが可能となる。さらに、割り込み処理の種類を増やす場合にも、容易に対応することが可能である。
【0112】
例として、図4の搬送システムに別の割り込み処理を追加したい場合について説明する。優先的に割り込み処理を行いたい場合、階層構造の上位ルートで割り込み処理を行うペトリネットモデルへトークンを導くようにする(分岐処理)。これにより、割り込み処理の追加およびその実行が可能となる。
【0113】
図6の場合、階層化プレース604から階層化トランジション605とは別の階層化トランジションを接続させる。そして、その階層化先のペトリネット図に割り込みを発生させたい条件をモデル化して、その条件が満たされた時に階層化トランジションが発火できるようにする。次に、この階層化トランジションに階層化プレースを接続させる。接続させた階層化プレースの階層化先のペトリネット図に割り込み処理の内容をモデル化すれば、割り込み処理は完成する。
【0114】
このようにすれば、割り込み処理の発生条件を満たせば、新たに追加した階層化トランジションが発火して、階層化プレース604のトークンが取り去られ、新たに追加した割り込み処理を行う階層化プレースにトークンがマーキングされる。これにより、割り込み処理を実行することがきる。
【0115】
従来のペトリネット理論では、図4の搬送システムをペトリネットモデル化して制御を行う場合、非常停止のような割り込み的な制御に対応させるため為には、制御内容をペトリネットモデル化したプログラム内の全てのトランジションに、非常停止が押され時に非常停止処理を行うという前提条件と後提条件を追加しなければならなかった。しかし、本発明である拡張ペトリネット形式での階層構造の実行方法であれば、図6のようなルートに割り込み処理を行うペトリネットモデルへトークンを導くようにすることで(分岐処理)、割り込み処理を容易に実現することができる。また、割り込み処理の種類が増えてもルートに分岐処理を追加することで容易に対応できる。
【0116】
さらに、本発明の拡張ペトリネット形式での階層構造の実行方法は、階層構造の上位にある階層化ノードにより、階層化先のペトリネット図を活性させて実行処理を行うことに特徴がある。このことから、拡張ペトリネット形式でシステムのモデル化を行い、この拡張ペトリネット形式での階層構造の実行方法でモデル化したシートを実行することによって、ペトリネットモデル内で活性したシートのトランジションのみ発火判定を行うだけで実行が可能となる。これにより、ペトリネットモデル内の全てのトランジションの発火判定を行う必要がなくなり、実行処理の負荷を軽減することができる。
【0117】
次に、本発明である拡張ペトリネットに基づく制御装置の拡張ペトリネットの属性定義と制御への応用について説明する。図4の搬送システムにバケットを投入すると、図10のペトリネット図の実行処理により図7のペトリネット図の階層化トランジション701が発火してトークンを遷移させる。このとき、トークンは、投入したバケットを表現している。さらに、拡張ペトリネットの属性定義によりトークンの属性値でバケット内の異なる商品を表現することができる。
【0118】
拡張ペトリネットの属性定義には大きく2つの特徴がある。
1つ目は、制御分野で一般的に使われる整数値や実数値、文字列または2値(ビット)を、それぞれ扱うことができるデータ型として数値型、文字型またはフラグ型の3種類を定義して、これら3種類の型をトークンの属性定義としていることである。
2つ目は、ペトリネット図を描くシート単位に3種類の型のデータ長を設定し、ペトリネット図内の全てのトークンにその設定に応じたデータを格納できるようにして、そのデータに対して参照または代入できるようアドレスを指定できるようにしていることである。これらの属性定義は、属性設定手段115で設定することができる。
これらの特徴により、複数のペトリネット図からなるペトリネットモデル内で属性定義の必要となるシートのみに属性設定を許可することが可能となり、実行処理を行ったときの属性に関連するメモリの消費と、属性に関連する実行処理の負荷を抑えることができる。
また、あらかじめ種類の属性を決めておくことで、トークンが格納できるデータ長を指定するだけで簡単に属性を定義することが可能である。
【0119】
この属性設定について、図4の搬送システムを例にとり説明する。図7に示すペトリネット図では、バケットを表すトークンに対して図15のように属性設定を行っている。数値型のデータ数を選択する1502、文字型のデータ数を選択する1503、フラグ型のデータ数を選択する1504でそれぞれデータの個数を設定することができる。図7では、数値型を6個、文字型を6個をそれぞれ指定して、選択しているシートに対して属性定義を許可するチェックボックス1507にチェックをしている。これにより、図7の全てのトークンに対して数値型6個、文字型6個のデータを格納することができるようになる。
【0120】
このトークンに格納されたデータには自動的にアドレスが設定される。数値型の6個のデータに対しては、D1からD6までのアドレスが付与される。文字型の6個のデータには、S1からS6までのアドレスが付与される。これにより、属性を定義する際に、個々の属性値に自動的に設定されるアドレスを指定することで、個々の属性値への参照や、演算結果の代入など簡単に設定することが可能である。
【0121】
拡張ペトリネットの属性定義をシステムの制御とシステムの状態監視に応用する方法について説明する。図4の搬送システムでは、表1から表5が示す商品が入ったバケットが順に投入される。1つ目のバケットを投入すると、図7のペトリネット図の階層化トランジション701が実行処理され、発火することでトークンを機能プレース702に遷移させる。このとき、機能プレース703は、プレースが持つ特定の機能を完了するまでトークンを予約してトークンを遷移できなくする。この機能プレース702では、トークンのマーキング後に入荷ライン401を流れるバケットの2次元バーコードを読み取り、トークンに対して表1にある品番を文字型のS1からS5までに代入を行う。さらに、品番に対する個数については、D1からD5に代入を行う。代入完了後、機能プレース702によるトークンの予約が解除され、トランジション703が発火可能になる。
【0122】
属性設定を許可したシートにおけるトランジションの設定と、搬送システムの制御を行う実行処理について説明する。属性設定を許可したシートでは、トランジション発火条件式設定手段116とトランジション出力設定手段117によりトークンの属性値を用いた複雑な制御を行うための設定を簡単に行うことができる。属性設定を許可したシートの実行処理では、通常のトランジションの発火判定に加え、トランジション発火条件式設定手段116で設定したトランジションの発火条件式を含む発火規則を考慮して発火判定処理を行う。
また、発火後の遷移するトークンに対して、トランジション出力設定手段117の設定に従いトークンの属性値の変更を行う。トランジション発火条件式設定手段116で設定した発火条件式やトランジション出力設定手段117で設定した出力設定は、関連するアーク単位に設定を行い、関連するアークに設定値が組み込まれる仕組みとなっている。システムの制御における属性値を用いた複雑な発火処理は、実行処理内の属性設定発火処理手段124で処理を行っている。
【0123】
トランジション703では、トランジション発火条件式設定手段116による設定を行っていないので、通常の発火判定により発火する。発火後の出力設定については、トランジション出力設定手段117により設定を行っている。このため、機能プレース703から遷移するトークンの属性値によって保管ラックのエリアが判別され、D6に保管ラックのエリアを示すデータが機能プレース703から遷移するトークンに格納されるよう設定される。
【0124】
トランジション703のトランジション出力設定手段117の設定画面を図17に示す。トランジションの出力設定は、入力プレースから遷移するトークンの属性値を基に、トランジションから出力プレースに出力されるトークンの属性値に対して、遷移するトークンのデータの代入や遷移するトークンデータを基に演算した結果の代入等、任意に行うことができる。
【0125】
出力トークン設定表1702のアドレスD1の1:1:D1の表記内容について説明する。1つ目の数字は、トランジションの発火によりトークンが遷移する入力プレースに接続しているアークの番号を示している。アークの番号とは、入力アークの一覧表1701の番号欄に表示している番号である。
2つ目の数字は、遷移するトークンの番号である。アーク番号で指定したアークに2以上の重みがある場合、アークに接続する入力プレースから遷移するトークンも2以上の複数となる。このため、2つ目の数字で、トランジションの発火時に同一アークより遷移するトークンが複数ある場合、何番目に遷移するトークンなのかを示している。これらにより遷移する1つのトークンを確定することができる。
3つ目のアドレス値は、確定したトークンのアドレスを指定している。
【0126】
出力トークンの設定表1702のアドレスD1は、機能プレース702から遷移するトークンのD1の値、すなわち個数の値をそのまま代入することを意味する。D2からD5も指定したアドレスの値を代入している。D6については、S1からS5に代入された品番の上位2桁の保管ラックのエリア(以下搬送先エリアとする)が5つの商品とも同一の場合は搬送先エリアの数値を代入し、商品の搬送先エリアが1つでも異なる場合は混載チェックライン403へ誘導するための値6を代入する。このように、出力するトークンの属性データを簡単に設定することが可能である。
【0127】
図4の仕分けライン402でバケットの搬送先エリアに応じて押し出しシリンダがバケットを仕分けする制御について説明する。トランジション703で搬送先エリアのデータをD6に格納したトークンは、順に実行処理を経て仕分けライン402上のバケットを示すプレース707へ遷移する。このプレース707にトークンがマーキングされると、押し出しシリンダで仕分け処理を行う階層化トランジション706と、次の押し出しシリンダにバケットを搬送する処理を行う階層化トランジション708が通常の発火判定において発火可能な状態となる。
【0128】
階層化トランジション706は、トランジション発火条件式設定手段116によりライン上のバケットを表すトークンの属性値を用いた発火条件式が設定されている。階層化トランジション706をトランジション発火条件設定手段116で設定する画面を図18に示す。
入力アークの一覧表1801は入力アークを示している。発火条件式の設定1802では、入力アークに接続している入力プレース内のトークン属性値を用いて、発火条件式を任意に設定することができる。トランジション706が発火する条件として、発火条件式の設定1802に示す2つの発火条件式がある。通常の発火判定で発火可能な状態あり、2つの発火条件式を共に満たしていればトランジション706は発火する仕組みとなっている。1つ目の発火条件式は、トークンの搬送先エリアが2であることであり、2つ目の発火条件式は、5つの商品の数量が100個以下であることである。
【0129】
階層化トランジション708にも、トランジション発火条件式設定手段116により発火条件式が設定されている。階層化トランジション708をトランジション発火条件設定手段116で設定する画面を図19に示す。通常の発火判定で発火可能な状態であり、発火条件式の設定1902で示す2つの発火条件式のいずれかを満たしていれば、階層化トランジション708は発火する仕組みとなっている。
【0130】
プレース707へ遷移したトークンの搬送先エリアを示すD6の値は2であり、商品の個数を示すD1からD5の合計も100個以下であるため、階層化トランジション706が発火条件を満たす。よって、発火条件式による発火判定で発火可能となり図11が示す階層化先のペトリネット図の実行処理を行う仕組みとなっている。
【0131】
図11は、ライン2にバケットを仕分けする押し出しシリンダの制御する処理内容を示している。図11のペトリネット図の実行処理を行うことで、表1に示すバケットはライン2へ仕分けされる。
【0132】
図4の搬送システムを拡張ペトリネット形式でモデル化した複数のシートの中で、属性定義を許可したシートは図7に示すもののみである。他のシートに関しては属性定義を行ってはいない。このように必要に応じてトークンの属性定義をシート単位に行うことが可能な仕組みとなっている。これにより、属性による発火判定の処理を必要なシートのみで行えばよく、実行処理にかかる負荷を軽減できる。
【0133】
このように、拡張ペトリネットによる属性定義と、拡張ペトリネットによるトークンの属性値を用いたトランジションの発火制御や、トランジションや機能プレースの機能などによりトークンの属性値を変更することで、システムを詳細に表現することが可能となる。そして、複雑なシステムの制御と詳細なシステムの状態監視を実現することができる。
【0134】
次に、制御を目的としている拡張ペトリネットの形式で生産ラインや物流システムなどの制御対象システムをモデル化したペトリネット図で、システムの性能を模擬的に評価して、生産性を下げているボトルネックとなる工程やシステム構成の問題箇所などを発見し、システムを改善するヒントを得ることのできるシステムの性能評価を行う性能評価実行手段127と、性能評価実行手段127が実行時に使用する特定のパラメータを設定する性能評価設定手段122について説明する。
【0135】
図4に示す搬送システムなどを拡張ペトリネット形式でモデル化したペトリネット図には、制御処理モデルシートで制御対象機器との信号に対応した機能プレースなどを使用している。このため、拡張ペトリネットでモデル化したペトリネット図を実行処理させても、搬送効率を下げているボトルネックとなるライン、ライン上のバケットが溢れないようなバケットを投入するタクトタイム、またはシステム構成の問題箇所などを模擬的(搬送システムとの制御を行わない)に発見することはできない。なぜなら、制御処理モデルシートの機能プレースが制御対象機器と交信を行わない限り、実行処理が進まないからである。
【0136】
性能評価実行手段127は、搬送システムを拡張ペトリネット形式でモデル化した複数のペトリネット図のシステム状態モデルシートのみ実行処理させる。これにより、搬送システムの性能評価を行うことができる。この実行形態を性能評価実行という。
【0137】
性能評価実行手段127による実行処理時に、性能評価設定手段122で設定したパラメータを使用する。このパラメータは、制御実行手段126および通常実行手段128による実行処理時に使用する、各種ノード設定手段118および機能設定手段120などが設定したパラメータとは異なる。
【0138】
性能評価実行で使用するパラメータを前記性能評価設定手段122で設定する方法について説明する。性能評価実行を行う場合、階層化先のシートが制御処理モデルシートである階層化ノードと機能プレースに対して設定を行う必要がある。その設定方法について、前述した搬送システムを拡張ペトリネットの形式でモデル化したペトリネット図を用いて説明する。
【0139】
最初に、搬送システムの何について性能評価を行うのか決める必要がある。ここでは、明日の作業オーダーを図4の搬送システムで行った場合の性能評価を行うことにする。
1ステップ実行処理の時間であるタイムユニットを実作業時間で定義する。この場合、1タイムユニットを30秒として、1日の作業8時間をタイムユニットに換算した960ステップで性能評価実行が終了するように性能評価設定手段122で設定する。
【0140】
搬送システムのペトリネット図の中で、システム状態モデルシートのペトリネット図は図6と図7である。図6は、搬送システムを制御する通常処理と、非常停止ボタンが押された場合に搬送システムを止める非常停止処理の分岐を制御する。作業履歴により搬送システムの1日に発生する非常停止回数から階層化トランジション605の発火遅れ時間を算出して設定する。この発火遅れ時間には、統計、確率などの関数を設定することも可能である。階層化トランジション607には、類似するシステムの非常停止1回分の時間より発火遅れ時間を算出して設定する。
性能評価実行では、階層化トランジションの階層化先のシートが制御処理モデルシートである場合、階層化先のシートは実行処理を行うことは無く性能評価設定手段122で設定した発火遅れ時間により発火処理を行う仕組みとなっている。このため、図6を性能評価実行した場合、階層化トランジション605と階層化トランジション607により、階層化プレース604による図7の実行処理を作業履歴より算出した搬送システムの非常停止発生時間分だけ止める。これにより、搬送システムの性能評価を忠実に再現することができる。
【0141】
搬送システムの入荷品の投入タクトタイムを30秒の1タイムユニットとした場合、図7の階層化トランジション701の発火遅れ時間は1となる。よって、性能評価設定手段122で該階層化トランジション701の発火遅れ時間を1と設定する。
【0142】
機能プレース702は、性能評価設定手段122で関数を設定する必要がある。性能評価実行で設定する機能は、制御実行で設定した機能と異なっても構わない。性能評価実行では、本発明の制御装置に接続しているデータベース131にある、例えば、明日の作業オーダーを読み取り、機能プレース702のトークンの属性値に品番と数量を反映する機能を設定する。
【0143】
トランジション703は通常のトランジションであるため制御実行時に使用した属性設定などのパラメータを使用する。
【0144】
階層化トランジション705は、制御実行時に階層化先のシートで入荷ライン401上を流れるバケットを仕分けライン402へ送る際の制御処理を行う。よって、性能評価設定手段122で設定する性能評価実行時の階層化トランジション705の発火遅れは、図4の入荷ラインを左端から右端へ流れるバケットの搬送時間を算出して設定することになる。
【0145】
階層化トランジション706は、制御実行時に階層化先のシートでバケットを仕分けする押し出しシリンダの制御処理を行う。よって、性能評価設定手段122で設定する性能評価実行時の階層化トランジション706の発火遅れは、押し出しシリンダがバケットの仕分けにかかる時間を算出して設定することになる。該階層化トランジション706のトークンの属性設定による発火条件式や出力設定に関しては、制御実行処理で使用したパラメータをそのまま使用する。
【0146】
他の階層化トランジションに対してもトランジション706と同様に、階層化先の制御処理モデルシートで制御対象を処理する時間を性能評価設定手段122で階層化トランジションの発火遅れに設定する。これにより、図7の性能評価実行は、例えば、明日の作業オーダー分のバケットを図4の搬送システムに流した場合のシステムの状態を時系列で表現することができる。
【0147】
性能評価実行の処理の過程はペトリネット図を遷移するトークンで表現している。性能評価実行の処理の速さは、1ステップの処理時間を任意に設定することで調節が可能である。
【0148】
以上より性能評価実行で、明日の作業オーダーのバケットを模擬的に図4の搬送システムに流して、性能を評価することが可能となる。これにより、投入するバケットのタクトタイムが適切であるか、または、1日の作業時間が適切であるかなど調べることができる。また、搬送システムの性能が作業に適しているのかを模擬的に把握することができる。
なぜなら、性能評価実行手段127より図7の搬送システムを表すペトリネット図よりバケット流れ具合を把握することができるため、ボトルネックとなるラインの判別が可能だからである。
逆に搬送システムのバケットを搬送する速度や仕分け速度を性能評価実行で割り出して、その時間で処理をするように制御処理の設計を見直したり、搬送装置をより性能の高いものに取替えて処理を速めるなど、改善活動の手助けを行うことも可能となる。
【図面の簡単な説明】
【0149】
【図1】本発明による拡張ペトリネットに基づく制御装置のシステム構成例を示す図である。
【図2】ペトリネット理論の説明に用いるトランジションの発火前を示す図である。
【図3】ペトリネット理論の説明に用いるトランジションの発火後を示す図である。
【図4】搬送システムの構成と制御対象機器に対応した接点番号を示す図である。
【図5】本発明による拡張ペトリネットに基づく設計実行手段のウィンドウを示す図である。
【図6】本発明の拡張ペトリネット形式で搬送システムをモデル化した最上位ネット(ルートネット)を示す図である。
【図7】本発明の拡張ペトリネット形式で搬送システムをモデル化したライン制御中ネットを示す図である。
【図8】本発明の拡張ペトリネット形式で搬送システムをモデル化した非常停止処理ネットを示す図である。
【図9】本発明の拡張ペトリネット形式で搬送システムをモデル化したI/Oセッティングネットを示す図である。
【図10】本発明の拡張ペトリネット形式で搬送システムをモデル化した入荷品の投入ネットを示す図である。
【図11】本発明の拡張ペトリネット形式で搬送システムをモデル化したライン2分岐処理ネットを示す図である。
【図12】本発明の拡張ペトリネット形式で搬送システムをモデル化したシリンダ2通過ネットを示す図である。
【図13】本発明の拡張ペトリネットによる制御実行手段の実行処理を示すフローチャート図である。
【図14】本発明の拡張ペトリネットによる通常実行手段と性能評価実行手段の実行処理を示すフローチャート図である。
【図15】本発明の拡張ペトリネットによるネット設定手段の設定画面を示す図である。
【図16】本発明の拡張ペトリネットによる階層構造実行手段の実行処理を示すフローチャート図である。
【図17】本発明の拡張ペトリネットによるトランジションの出力設定手段の設定画面を示す図である。
【図18】本発明の拡張ペトリネットによるトランジションの発火条件式設定手段の設定画面を示す図である。
【図19】本発明の拡張ペトリネットによるトランジションの発火条件式設定手段の設定画面を示す図である。
【符号の説明】
【0150】
101 拡張ペトリネットに基づく制御装置
111 ペトリネットモデル設計手段
112 ペトリネット実行手段
113 ネット設定手段
114 要素配置編集手段
115 属性設定手段
116 トランジション発火条件式設定手段
117 トランジション出力設定手段
118 I/O設定手段
120 階層構造設定手段
【特許請求の範囲】
【請求項1】
制御対象であるシステムを拡張ペトリネットを用いてモデル化する拡張ペトリネットに基づく制御対象システムのモデル化方法であって、
該システムの起こり得る状態を表したプレースと該システムのある状態を表すプレースから次の状態を表すプレースへの遷移に必要となる処理を階層構造をもって表した階層構造トランジションとを時系列順に並べて上位ペトリネット図を作成し、該システムの全体の状態をモデル化するシステム状態モデル作成工程と、
前記上位ペトリネット図上のあるプレースから次のプレースへ遷移する様子を、前記処理の開始を示すスタートトランジションと該処理の終了を示すエンドトランジションと該スタートトランジションと該エンドトランジションとの間の状態を細分化して表した複数の処理状態プレースと該処理状態プレース間の遷移に必要となる細分化された処理を表した処理トランジションとを時系列順に並べて作成した下位ペトリネット図に表し、前記階層構造トランジションに含まれる階層化先の処理内容をモデル化するシステム処理実行モデル作成工程と、
前記システムの通常処理から割り込み処理へ遷移可能なペトリネットモデルを作成して、前記システムの通常処理の実行中の如何なる状態からでも優先的に割り込み処理の実行を可能とするシステム割り込み処理実行モデル作成工程と、
外部I/Oデバイスの論理的な入出力条件の結果を反映すると共に複数のペトリネット図の間で共有可能な機能をもつ共有プレースを用いて該入出力条件をブロック化する特定ペトリネット図を作成して、該複数のペトリネット図間で該該共有プレースの再利用を可能とするモデル化を行う入出力条件ブロック化モデル作成工程と、
を有することを特徴とする拡張ペトリネットに基づく制御対象システムのモデル化方法。
【請求項2】
ポインティングデバイスおよびキーボードを含む入力手段と、作成および編集した内容を表示する表示手段と、拡張ペトリネットによるペトリネットモデルを設計するペトリネットモデル設計手段と、ペトリネットモデルを実行するペトリネット実行手段とを備え、
外部の制御対象機器と接続可能なコンピュータシステムからなる拡張ペトリネットに基づく制御装置であって、
前記ペトリネットモデル設計手段は、
プレースとトランジションと該プレースおよび該トランジションを接続するアークとを配置したペトリネット図を作成する要素配置編集手段と、
前記要素配置編集手段で配置したノードを設定する各種ノード設定手段と、
前記ペトリネット図を目的に応じた状態に設定するシート設定手段と、
前記ペトリネット図に階層構造を設定する階層構造設定手段と、
外部の制御対象機器と特定機能を有する外部入出力プレースとの関連を設定するI/O設定手段の手段とを備え、
前記ペトリネット実行手段は、
前記階層化されたペトリネット図の実行を制御する階層構造実行手段と、
前記ペトリネットモデルを実行させて外部の制御対象機器を制御する制御実行手段と、
前記ペトリネットモデルを実行させてシステムの挙動をペトリネットで表現する通常実行手段とを備え、
さらに、作成したペトリネットモデルを記録するペトリネットモデル記録手段と、
ペトリネットモデルの作成、編集および実行を表示手段に表示させるペトリネットモデル表示手段と、
を有することを特徴とする拡張ペトリネットに基づく制御装置。
【請求項3】
前記ペトリネット図単位に該ペトリネット図内の全てのトークンに対して所定の設定に応じたデータの格納、参照および代入を可能とする属性を設定する属性設定手段と、
前記トークンに付与された属性値に外部情報を設定でき若しくは該属性値の変更を任意に設定できる機能をプレース若しくはトランジションに割り当てる機能設定手段と、
前記トランジションの発火規則を示す発火条件式を任意に設定できるトランジション発火条件式設定手段と、
トランジションの発火後に遷移する前記トークンに付与された属性値に対して該属性値の変更を任意に設定できるトランジション出力設定手段と、
前記機能設定手段の設定に従い前記トークンの属性値を変更する機能実行手段と、
前記トランジション発火条件式設定手段で設定した発火条件式を考慮した発火判定を行い、前記トランジション出力設定手段の設定に従い発火後のトークンの属性値を変更する属性設定発火処理手段と、
を有する請求項2に記載の拡張ペトリネットに基づく制御装置。
【請求項4】
さらに、前記システムの生産性低下の要因箇所の特定を可能とする性能評価を模擬的に行える性能評価実行手段と、
前記性能評価実行手段が実行時に使用する特定のパラメータを設定する性能評価設定手段と、
を有する請求項2または3に記載の拡張ペトリネットに基づく制御装置。
【請求項1】
制御対象であるシステムを拡張ペトリネットを用いてモデル化する拡張ペトリネットに基づく制御対象システムのモデル化方法であって、
該システムの起こり得る状態を表したプレースと該システムのある状態を表すプレースから次の状態を表すプレースへの遷移に必要となる処理を階層構造をもって表した階層構造トランジションとを時系列順に並べて上位ペトリネット図を作成し、該システムの全体の状態をモデル化するシステム状態モデル作成工程と、
前記上位ペトリネット図上のあるプレースから次のプレースへ遷移する様子を、前記処理の開始を示すスタートトランジションと該処理の終了を示すエンドトランジションと該スタートトランジションと該エンドトランジションとの間の状態を細分化して表した複数の処理状態プレースと該処理状態プレース間の遷移に必要となる細分化された処理を表した処理トランジションとを時系列順に並べて作成した下位ペトリネット図に表し、前記階層構造トランジションに含まれる階層化先の処理内容をモデル化するシステム処理実行モデル作成工程と、
前記システムの通常処理から割り込み処理へ遷移可能なペトリネットモデルを作成して、前記システムの通常処理の実行中の如何なる状態からでも優先的に割り込み処理の実行を可能とするシステム割り込み処理実行モデル作成工程と、
外部I/Oデバイスの論理的な入出力条件の結果を反映すると共に複数のペトリネット図の間で共有可能な機能をもつ共有プレースを用いて該入出力条件をブロック化する特定ペトリネット図を作成して、該複数のペトリネット図間で該該共有プレースの再利用を可能とするモデル化を行う入出力条件ブロック化モデル作成工程と、
を有することを特徴とする拡張ペトリネットに基づく制御対象システムのモデル化方法。
【請求項2】
ポインティングデバイスおよびキーボードを含む入力手段と、作成および編集した内容を表示する表示手段と、拡張ペトリネットによるペトリネットモデルを設計するペトリネットモデル設計手段と、ペトリネットモデルを実行するペトリネット実行手段とを備え、
外部の制御対象機器と接続可能なコンピュータシステムからなる拡張ペトリネットに基づく制御装置であって、
前記ペトリネットモデル設計手段は、
プレースとトランジションと該プレースおよび該トランジションを接続するアークとを配置したペトリネット図を作成する要素配置編集手段と、
前記要素配置編集手段で配置したノードを設定する各種ノード設定手段と、
前記ペトリネット図を目的に応じた状態に設定するシート設定手段と、
前記ペトリネット図に階層構造を設定する階層構造設定手段と、
外部の制御対象機器と特定機能を有する外部入出力プレースとの関連を設定するI/O設定手段の手段とを備え、
前記ペトリネット実行手段は、
前記階層化されたペトリネット図の実行を制御する階層構造実行手段と、
前記ペトリネットモデルを実行させて外部の制御対象機器を制御する制御実行手段と、
前記ペトリネットモデルを実行させてシステムの挙動をペトリネットで表現する通常実行手段とを備え、
さらに、作成したペトリネットモデルを記録するペトリネットモデル記録手段と、
ペトリネットモデルの作成、編集および実行を表示手段に表示させるペトリネットモデル表示手段と、
を有することを特徴とする拡張ペトリネットに基づく制御装置。
【請求項3】
前記ペトリネット図単位に該ペトリネット図内の全てのトークンに対して所定の設定に応じたデータの格納、参照および代入を可能とする属性を設定する属性設定手段と、
前記トークンに付与された属性値に外部情報を設定でき若しくは該属性値の変更を任意に設定できる機能をプレース若しくはトランジションに割り当てる機能設定手段と、
前記トランジションの発火規則を示す発火条件式を任意に設定できるトランジション発火条件式設定手段と、
トランジションの発火後に遷移する前記トークンに付与された属性値に対して該属性値の変更を任意に設定できるトランジション出力設定手段と、
前記機能設定手段の設定に従い前記トークンの属性値を変更する機能実行手段と、
前記トランジション発火条件式設定手段で設定した発火条件式を考慮した発火判定を行い、前記トランジション出力設定手段の設定に従い発火後のトークンの属性値を変更する属性設定発火処理手段と、
を有する請求項2に記載の拡張ペトリネットに基づく制御装置。
【請求項4】
さらに、前記システムの生産性低下の要因箇所の特定を可能とする性能評価を模擬的に行える性能評価実行手段と、
前記性能評価実行手段が実行時に使用する特定のパラメータを設定する性能評価設定手段と、
を有する請求項2または3に記載の拡張ペトリネットに基づく制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2007−58447(P2007−58447A)
【公開日】平成19年3月8日(2007.3.8)
【国際特許分類】
【出願番号】特願2005−241585(P2005−241585)
【出願日】平成17年8月23日(2005.8.23)
【出願人】(392013305)キムラユニティー株式会社 (6)
【Fターム(参考)】
【公開日】平成19年3月8日(2007.3.8)
【国際特許分類】
【出願日】平成17年8月23日(2005.8.23)
【出願人】(392013305)キムラユニティー株式会社 (6)
【Fターム(参考)】
[ Back to top ]