(57)【要約】      （修正有）【課題】限られた表示画面上での表示密度を上げ、シーケンス制御系のモデリング、プログラムの作成、編集、検証を容易にする。【解決手段】従来のＭＦＧに加え、（ａ）ブール入力信号を表わす入力ノードＮと、入力信号の論理和をブール値として表現する論理和ノードＳと、入力信号の論理積をブール値として表現する論理積ノードＭとを含む論理ノードと、（ｂ）複数の論理ノードを、その少なくとも１つを出発ノード、残りを到着ノードとして接続を表現し、出発ノードのブール値を到着ノードに直接伝達する正論理アークＬ、又は出発ノードのブール値の否定値を前記到着ノードに伝達する負論理アークＬｎとして機能する論理アークとを記述要素に含み、ＭＦＧにおける制御アークへの入力信号を論理ノードとし、ＭＦＧにおける出力信号アークからの信号を含む論理フローグラフ以外のブール値信号を入力ノードとすることによりシーケンス制御系のモデルを構築する。【選択図】  図１
2004164013.tif 000002
【特許請求の範囲】
【請求項１】
シーケンス制御プログラムの作成、編集又は検証のために前記シーケンスプログラムによって制御されるシーケンス制御系を線図によってモデル化するシーケンス制御系のモデリングシステムであって、
前記線図を作成又は編集する線図作成編集手段と、
前記線図作成編集手段により作成又は編集された線図を表示する表示手段と
を備え、
前記線図は、
（Ａ）
（ａ）状況を表現するボックスと、
（ｂ）事象を表現するトランジションと、
（ｃ）ボックス及びトランジションを接続して動作の流れを示す流れアークと、（ｄ）前記トランジションの発火を制御するため外部から入力される信号を示す制御アークと、
（ｅ）前記ボックスから外部に出力される信号を示す出力信号アークと、
（ｆ）前記ボックスが現実の状況であることを示すボックス内のトークンと、
を記述要素として、シーケンスの進行を事象の発生と状況の変化の形で表  現するマークフローグラフ、及び
（Ｂ）
（ａ）ブール入力信号を表す入力ノード、論理和演算とその演算結果を表す論理  和ノード、および論理積演算とその演算結果を表す論理積ノードからなる３種類のノード（以下、論理ノード）と、
（ｂ）前記論理ノードの二つを、一方を出発ノード、他方を到着ノード（入力ノ  ードを除く）として接続し、前記出発ノードのブール値を前記到着ノード  に伝達する正論理アーク、又は前記出発ノードのブール値の否定値を前記到着ノードに伝達する負論理アークとして機能する有向アーク（以下、論  理アーク）と、
を記述要素として前記入力ノードのブール値に対する論理和ノードもしくは論理積ノードのブール値を生成する論理フローグラフより構成され、
前記マークフローグラフにおける制御アークへの入力信号を前記論理ノードとし、前記マークフローグラフにおける出力信号アークからの信号を含む前記論理フローグラフ以外のブール値信号を前記入力ノードとすることによりシーケンス制御系のモデルを構築することを特徴とするシーケンス制御系のモデリングシステム。
【請求項２】
シーケンスプログラムによって制御されるシーケンス制御系をモデル化する線図を作成又は編集する線図作成編集手段と、この手段で作成および編集された線図を表示する表示手段と、この表示手段で表示された線図から前記シーケンス制御系の動作を検証する手段とを備えたシーケンスプログラム作成支援システムにおいて、
前記線図は、
（Ａ）
（ａ）状況を表現するボックスと、
（ｂ）事象を表現するトランジションと、
（ｃ）ボックス及びトランジションを接続して動作の流れを示す流れアークと、（ｄ）前記トランジションの発火を制御するため外部から入力される信号を示す制御アークと、
（ｅ）前記ボックスから外部に出力される信号を示す出力信号アークと、
（ｆ）前記ボックスが現実の状況であることを示すボックス内のトークンと、
を記述要素として、シーケンスの進行を事象の発生と状況の変化の形で表  現するマークフローグラフ、及び
（Ｂ）
（ａ）ブール入力信号を表す入力ノード、論理和演算とその演算結果を表す論      和ノード、および論理積演算とその演算結果を表す論理積ノードからなる  ３種類の論理ノードと、
（ｂ）前記論理ノードの二つを、一方を出発ノード、他方を到着ノード（入力ノ  ードを除く）として接続し、前記出発ノードのブール値を前記到着ノード  に伝達する正論理アーク、又は前記出発ノードのブール値の否定値を前記  到着ノードに伝達する負論理アークとして機能する論理アークと、
を記述要素として前記入力ノードのブール値に対する論理和ノードもしくは論理積ノードのブール値を生成する論理フローグラフより構成され、
前記マークフローグラフにおける制御アークへの入力信号を前記論理ノードとし、前記マークフローグラフにおける出力信号アークからの信号を含む前記論理フローグラフ以外のブール値信号を前記入力ノードとすることによりシーケンス制御系のモデルを構築することを特徴とするシーケンスプログラム作成支援システム。
【請求項３】
シーケンスプログラムによって制御されるシーケンス制御系をモデル化する線図を作成及び編集するステップと、
該ステップで作成及び編集された線図からシーケンスプログラムを作成するステップと、
この作成されたシーケンスプログラムに基づく前記シーケンス制御系の動作を前記線図との関連でボックス内のトークンの移動で表示することにより、前記動作を検証するステップと、
をコンピュータに実行させるように構成されたシーケンスプログラム作成支援プログラムであって、
前記線図は、
（Ａ）
（ａ）状況を表現するボックスと、
（ｂ）事象を表現するトランジションと、
（ｃ）ボックス及びトランジションを接続して動作の流れを示す流れアークと、（ｄ）前記トランジションの発火を制御するため外部から入力される信号を示す  制御アークと、
（ｅ）前記ボックスから外部に出力される信号を示す出力信号アークと、
（ｆ）前記ボックスが現実の状況であることを示すボックス内のトークンと、
を記述要素として、シーケンスの進行を事象の発生と状況の変化の形で表現するマークフローグラフ、及び
（Ｂ）
（ａ）ブール入力信号を表す入力ノード、論理和演算とその演算結果を表す論理  和ノード、および論理積演算とその演算結果を表す論理積ノードからなる  ３種類の論理ノードと、
（ｂ）前記論理ノードの二つを、一方を出発ノード、他方を到着ノード（入力ノ  ードを除く）として接続し、前記出発ノードのブール値を前記到着ノード  に伝達する正論理アーク、又は前記出発ノードのブール値の否定値を前記  到着ノードに伝達する負論理アークとして機能する論理アークと、
を記述要素として前記入力ノードのブール値に対する論理和ノードもしくは論理積ノードのブール値を生成する論理フローグラフより構成され、
前記マークフローグラフにおける制御アークへの入力信号を前記論理ノードとし、前記マークフローグラフにおける出力信号アークからの信号を含む前記論理フローグラフ以外のブール値信号を前記入力ノードとすることによりシーケンス制御系のモデルを構築することを特徴とするシーケンスプログラム作成支援プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、シーケンスプログラムを線図によってモデル化するシーケンス制御系のモデリングシステム、シーケンスプログラム作成支援システム及び同作成支援プログラムに関する。
【０００２】
【従来の技術】
シーケンス制御は、フィードバック制御と並んで各種産業機械の自動化に不可欠な基幹技術ということができる。その代表的な例は自動車生産工場でのシステム制御である。１９６０年代までは前述のシーケンス制御装置は接点とコイルからなるリレーを主要素とするリレー制御盤が使用された。
しかし、リレー接点の不具合による誤動作が生産性に大きく影響することになり、そこで同年代の終わりに、プログラム内蔵型コンピュータの原理を論理演算に特化したプロブラマブルロジックコントローラ（ＰＬＣ）が発明された。そのプログラミングは、シーケンス制御の内容をリレーや接点で表現したラダー図（ＬＤ）を線図的に、あるいは命令リスト（ＩＬ）で行うもので、配線で実際の回路を作るハード配線（ｈａｒｄ−ｗｉｒｅｄ）に対して、ソフト配線（ｓｏｆｔ−ｗｉｒｅｄ）と呼ばれた。
【０００３】
このためにＰＬＣは、故障率の低減、シーケンス制御内容の変更・手直しの容易さ、上位コンピュータとの接続によるシステム管理の容易さ、ハードウエアとソフトウエアとの分離によるシステム設計から実装までの生産性向上などが認められ、１９７０年代に入って以来、シーケンス制御装置の主流として広く産業の各分野に導入されていった。
【０００４】
図１０に示すように，シーケンス制御系の基本構成は制御対象と制御装置から成り，制御対象に要求される実プロセスの進行を制御装置にプログラムされたシーケンスプログラムの進行により実現する。シーケンス制御系としてのこの挙動を制御対象側から表したものが設計仕様であり、これを実現させるため制御装置に与えたものがシーケンスプログラムである。制御装置は、このシーケンスプログラムにしたがって該プログラムのステップ毎に制御対象に対してアクション指令を発し、これによって制御対象内の実プロセスのステップを進め、一定時間後あるいはその結果を論理判断して次のステップへの移行のためのアクション指令を発するという、いわゆる事象駆動の原理に従って逐次的に制御が進行する。このシーケンスプログラムには図１１に示すようにステップ進行を表現するアルゴリズムの流れと各ステップ移行を事象発生として制御するためのブール値信号（２値信号ともいう）の伝達と変換に関するアルゴリズムの流れという２つの流れが含まれる。前者をステップフロー，後者をシグナルフローと呼ぶことにする。旧来のリレー制御盤にハード配線でプログラムされたシーケンスプログラムは、これら二つのフローを電流の流れであるパワーフローで具現されたものであり、したがって構造的に明示されたものではなかった。このハード配線をソフト配線にかえたＰＬＣによるシーケンスプログラムにおいてもこの点については同様であった。
【０００５】
ところでＰＬＣはある種のコンピュータであることから、リレー回路を置き換えたラダー図（ＬＤ）によってプログラムする以上の能力を潜在的に持っており、例えば単純な順序を制御する場合はフローチャートにＩＬを併用することが可能である。しかしながら、これはシーケンス制御の中でしばしば現れる並列同時進行の表現には不向きであり、したがって、従来から使い慣れ、かつ図表現で直感的に理解できるラダー図が多用され現在に至っている。
しかしながらもともとリレー回路は現場での経験に基づくものであり、経験と知恵を積み上げたものであるので、小規模のシステムあるいは限定された集団内でのシーケンスプログラムであれば有利であるが、前述したように本来構造的に制御内容が記述されていないため、システムの大規模化の傾向とともにコンピュータにおけるソフトウエア危機と同様の問題発生が危惧されるようになり、新しい制御仕様のモデリングとプログラミング言語が求められてきた。
【０００６】
そこで、事象駆動の原理を導入し、状態の分散表現と並列同時進行表現を可能にしたペトリネットのうち、特に安全性を公理として取り込んだ状況／事象ネット（Ｃｏｎｄｉｔｉｏｎ／Ｅｖｅｎｔ  Ｎｅｔ）に事象駆動の原理を導入してこの問題を解決ようとするシーケンス制御系の図的なモデリング方法とプログラム言語としてマークフローグラフ（Ｍａｒｋ  Ｆｌｏｗ  Ｇｒａｐｈ  ：ＭＦＧ）が１９７６年に提案された。ＭＦＧは現在、ＪＩＳ  Ｚ８１１６（１９９４  「自動制御用語−一般」）の中で、ブロック線図、シグナルフローグラフ、ボンドグラフ、ペトリネットと並んでシステムの構造表現方法のひとつとして採録されている。また、これに基づくプログラマブルコントローラの提案と試作も行われた（特許文献１参照）。
【０００７】
図１２は、ＭＦＧで使用される図形要素を示す図である。ＭＦＧは、状況を表現するボックスＢと、事象を表現するトランジションｔと、これらボックスＢとトランジションｔとを接続して動作の流れを示す流れアークＦと、トランジションｔの発火を制御するための２種類の制御アークＣ、ＣｎとボックスＢから外部に出力される信号を示す出力信号アークＯと、ボックスが現状況であることを示すボックス内のトークンＴＫの７つの図形要素からなる。
【０００８】
ボックスＢとトランジションｔは、流れアークＦにより交互に接続される。制御アークＣ、Ｃｎは押しボタンやリミットスイッチ等、外部からのブール値信号、あるいはこれら信号群に論理変換して得られた信号をトランジションに導くものであり、制御アークＣの端点は黒丸とし発火を許可（正論理）するもので許可アークと呼ぶ。また、制御アークＣｎの端点は中抜き丸（白丸）であり発火を抑止（負論理）するもので抑止アークと呼ぶ。抑止アークの線部は必要に応じて点線で区別することがある。トークンＴＫは、トランジションｔの発火を通して流れアークの矢印の方向にボックスＢから次のボックスへと流れる。ボックスＢから出力信号アークＯを通じてブール信号を出力するが、該ボックス内にトークンがあればその信号値を１、なければ０とするものを正論理出力信号アークＯと呼ぶ。
また該ボックスにトークンがなければその信号値を１、あれば０とするものを負論理出力信号アークとよぶ。負論理出力信号アークは正論理出力信号アークＯｎと区別するため点線とする。
【０００９】
図１３は２台のコンベアＣＶ１、ＣＶ２のシーケンス制御系を示すものである。図１４はＰＢを押すことではじめにＣＶ１を前進後退させた後、ＣＶ２を前進後退させて動作サイクルを終了するシーケンスプログラムをＭＦＧで表現したものである。また、図１５は前記２台のコンベアを同時に始動し、それぞれが元に戻って動作サイクルが終了する制御プログラムをＭＦＧで表現したものである。このように図示表現することで、設計意図が明確になり、且つシステムの動作フローをトークンの動きで表現することができる。なお、図１４，１５において、ｆｗ、ｂｗ、ｓｔは、それぞれ前進、後退、停止を意味する。
【００１０】
一方、フランスでも同じ時期に同様な目的でＧＲＡＦＣＥＴ（Ｇｒａｆｉｃ  ｄｅ  Ｃｏｍｍａｎｄｅ  Ｅｔａｐｅ−Ｔｒａｎｓｉｔｉｏｎ）と称するシーケンス制御系の設計におけるモデル化手法がペトリネットの概念に基づき自動車産業関連の技術団体で提案されたが、ＭＦＧに類似したものになっている。ＧＲＡＦＣＥＴはその後、ＩＥＣ６０８４８でファンクションチャート（ＦＣ）として規格化された。さらにＩＥＣ６１１３１−３ではこれをＳＦＣとし、ＬＤ、ファンクションブロック（ＦＢ）のような図表現やＩＬ、構造化テキスト言語（ＳＴ）のようなテキスト表現のプログラム言語などにより記述された制御プログラムを全プログラムに統合する実行制御要素と位置付けた。
【００１１】
このように、ＳＦＣ／ＧＲＡＦＣＥＴでは前記ステップフローに関してはＳＦＣあるいはＦＣの図表現によるプログラミング上の有効性がある一方、前記シグナルフローの表現には前記ＬＤ、ＦＢのような図表現や前記ＩＬ、ＳＴのようなテキスト表現のプログラム言語を規格の中に含め、これらをＰＬＣの種類に応じて適宜採用することとしている。ＭＦＧにおいては、これまでシグナルフロー上の信号変換は論理式で表現してきた。
【００１２】
以上のことから、シーケンスプログラムのプログラミング結果の検証はそれぞれのＰＬＣに依存したプログラムローダもしくは専用の検証システムを構築して行うことになっており、このことがＭＦＧやＳＦＣ／ＧＲＡＦＣＥＴなどペトリネットの概念に基づくシーケンスプログラミング方法の普及の障害になっていると考えられる。
【００１３】
このような問題を解決する方法として、ＭＦＧは単にプログラムの実行制御要素ではなく、ペトリネット同様に、制御対象のモデリング能力を持ったプログラミング言語という立場をとり、特にＭＦＧの構成要素である特定の一個のボックスとその前後のトランジションおよび各トランジションへの制御アークを組み合わせてシーケンス制御における基本的な論理機能を持たせ前記ファンクションブロックと等価な図表現を考案して機能トランジション（ＦＴ）と称し、これをステップフロー上だけではなく、シグナルフロー上でのプログラミング言語とすることにより、シーケンスプログラムをＭＦＧとその簡単な拡張による図表現だけで統一的に記述する方法を提案している（例えば特許文献２参照）。
【００１４】
【特許文献１】
特公平３−１９５６３号公報
【特許文献２】
特開２００２−４９４１０号公報（第５頁〜第７頁、図１等）
【００１５】
【発明が解決しようとする課題】
しかしながら、ＦＴをシグナルフロー上で利用することはシグナルフローをデータフローで代行することになり、プログラム実行サイクル時間が長くなる傾向が避けられないという問題がある。
【００１６】
【課題を解決するための手段】
上記課題を解決するという目的の達成のためにステップフローの図表現を有効に行うことができるＭＦＧに、さらにシグナルフローにおける論理条件伝達のための必要十分な表現能力と簡潔な図形式をもつＬＦＧ（Ｌｏｇｉｃ  Ｆｌｏｗ  Ｇｒａｐｈ：論理フロー線図）を組み合わせようとするものである。
すなわち、本発明に係わるシーケンス制御系のモデリングシステムは、シーケンスプログラムの作成、編集又は検証のために前記シーケンスプログラムによって制御されるシーケンス制御系を線図によってモデル化するシーケンス制御系のモデリングシステムであって、前記線図を作成又は編集する線図作成編集手段と、前記線図作成編集手段により作成又は編集された線図を表示する表示手段とを備え、
前記線図は、
（Ａ）
（ａ）状況を表現するボックスと、
（ｂ）事象を表現するトランジションと、
（ｃ）ボックス及びトランジションを接続して動作の流れを示す流れアークと、（ｄ）前記トランジションの発火を制御するため外部から入力される信号を示す制御アークと、
（ｅ）前記ボックスから外部に出力される信号を示す出力信号アークと
（ｆ）前記ボックスが現実の状況であることを示すボックス内のトークンと、
を記述要素として、シーケンスの進行を事象の発生と状況の変化の形で表現するマークフローグラフ、及び
（Ｂ）
（ａ）ブール入力信号を表す入力ノード、論理和演算とその演算結果を表す論理和ノード、および論理積演算とその演算結果を表す論理積ノードからなる  ３種類の論理ノードと、
（ｂ）前記論理ノードの二つを、一方を出発ノード、他方を到着ノード（入力ノ  ードを除く）として接続し、前記出発ノードのブール値を前記到着ノード  に伝達する正論理アーク、又は前記出発ノードのブール値の否定値を前記  到着ノードに伝達する負論理アークとして機能する論理アークと
を記述要素として前記入力ノードのブール値に対する論理和ノードもしくは論理積ノードのブール値を生成する論理フローグラフより構成され、前記マークフローグラフにおける制御アークへの入力信号を前記論理ノードとし、前記マークフローグラフにおける出力信号アークからの信号を含む前記論理フローグラフ以外のブール値信号を前記入力ノードとすることによりシーケンス制御系のモデルを構築することを特徴とする。
【００１７】
この発明によると、シーケンス制御系をモデル化する線図が、従来のマークフローグラフ（ＭＦＧ）に加えて、論理フローグラフ（ＬＦＧ）により表現される。論理フローグラフの記述要素である論理ノード及び論理アークは、直線、円、四角形等の簡単な図記号により表現され得るので、図面上における表示密度を上げることが容易になると同時に、信号伝達としての因果関係が直視的に明瞭に示される。またＬＦＧにより論理式が表現されることから、図上での論理関係の検証が容易に行われる。
【００１８】
上記目的達成のため、本発明に係わるシーケンスプログラム作成支援システムは、シーケンスプログラムによって制御されるシーケンス制御系をモデル化する線図を作成および編集する線図作成編集手段と、この手段で作成及び編集された線図を表示する表示手段と、この表示手段で表示された線図から前記シーケンス制御系の動作を検証する手段とそ備えたシーケンスプログラム作成支援システムにおいて、前記線図は、
（Ａ）
（ａ）状況を表現するボックスと、
（ｂ）事象を表現するトランジションと、
（ｃ）ボックス及びトランジションを接続して動作の流れを示す流れアークと、（ｄ）前記トランジションの発火を制御するため外部から入力される信号を示す制御アークと、
（ｅ）前記ボックスから外部に出力される信号を示す出力信号アークと、
（ｆ）前記ボックスが現実の状況であることを示すボックス内のトークンと、
を記述要素として、シーケンスの進行を事象の発生と状況の変化の形で表現するマークフローグラフ、及び
（Ｂ）
（ａ）ブール入力信号を表す入力ノード、論理和演算とその演算結果を表す論理  和ノード、および論理積演算とその演算結果を表す論理積ノードからなる３種類の論理ノードと、
（ｂ）前記論理ノードの二つを、一方を出発ノード、他方を到着ノード（入力ノードを除く）として接続し、前記出発ノードのブール値を前記到着ノード  に伝達する正論理アーク、又は前記出発ノードのブール値の否定値を前記到着ノードに伝達する負論理アークとして機能する論理アークと、
を記述要素として前記入力ノードのブール値に対する論理和ノードもしくは論理積ノードのブール値を生成する論理フローグラフより構成され、前記マークフローグラフにおける制御アークへの入力信号を前記論理ノードとし、前記マークフローグラフにおける出力信号アークからの信号を含む前記論理フローグラフ以外のブール値信号を前記入力ノードとすることによりシーケンス制御系のモデルを構築することを特徴とする。
【００１９】
上記目的のため、本発明に係わるシーケンスプログラム作成支援プログラムは、シーケンスプログラムによって制御されるシーケンス制御系をモデル化する線図を作成及び編集するステップと、該ステップで作成及び編集された線図からシーケンスプログラムを作成するステップと、この生成されたシーケンスプログラムに基づく前記シーケンス制御系の動作を前記線図との関連で表示することにより、前記動作を検証するステップとをコンピュータに実行されるように構成されたシーケンスプログラム作成支援プログラムであって、
前記線図は、
（Ａ）
（ａ）状況を表現するボックスと、
（ｂ）事象を表現するトランジションと、
（ｃ）ボックス及びトランジションを接続して動作の流れを示す流れアークと、（ｄ）前記トランジションの発火を制御するため外部から入力される信号を示す  制御アークと、
（ｅ）前記ボックスから外部に出力される信号を示す出力信号アークと、
（ｆ）前記ボックスが現実の状況であることを示すボックス内のトークンと、
を記述要素として、シーケンスの進行を事象の発生と状況の変化の形で表現するマークフローグラフ、及び
（Ｂ）
（ａ）ブール入力信号を表す入力ノード、論理和演算とその演算結果を表す論理和ノード、および論理積演算とその演算結果を表す論理積ノードからなる  ３種類の論理ノードと
（ｂ）前記論理ノードの二つを、一方を出発ノード、他方を到着ノード（入力ノードを除く）として接続し、前記出発ノードのブール値を前記到着ノード  に伝達する正論理アーク、又は前記出発ノードのブール値の否定値を前記  到着ノードに伝達する負論理アークとして機能する論理アークと
を記述要素として前記入力ノードのブール値に対する論理和ノードもしくは論理積ノードのブール値を生成する論理フローグラフより構成され、前記マークフローグラフにおける制御アークへの入力信号を前記論理ノードとし、前記マークフローグラフにおける出力信号アークからの信号を含む前記論理フローグラフ以外のブール値信号を前記入力ノードとすることによりシーケンス制御系のモデルを構築することを特徴とする。
【００２０】
【発明の実施の形態】
以下、図面を参照して、この発明の実施の形態に係わるシーケンス制御系のモデリングシステムについて詳細に説明する。
最初に、本モデリングシステムで使用するモデリング手法について、図１等を用いて説明する。この実施の形態では、モデリングの手法として、ＭＦＧをベースとし、以下に述べる新たなモジュールである論理フローグラフ（以下、ＬＦＧと称す）を導入している。
【００２１】
このＬＦＧを、図１を参照して説明する。ＬＦＧは、図１（ａ）に示すような論理ノードと、図１（ｂ）に示すような論理アークに大別される。この実施の形態においては、論理ノードは、入力ノードＮ、論理積ノードＭ、論理和ノードＳの３種類を基本とする。この他の種類の論理ノード、例えば排他的論理和ノードなどを設けることも勿論可能である。
論理アークは、図１（ｂ）に示すように、二つの論理ノードを、一方を出発ノード、他方を到着ノード（入力ノードを除く）をして接続することを表現するものである。論理アークには正論理アークＬと負論理アークＬｎの２種類がある。正論理アークＬは、前記出発ノードのブール値を前記到着ノードに伝達するものであり、記号としては、両ノードを実線で結び、到着ノード側に端点を設けて方向を示す。一方、負論理アークＬｎは、出発ノードのブール値の否定値を前記到達ノードに伝達するものであり、記号としては、両ノードを点線で結ぶ、正論理アークと同様、到着ノード側に端点を設けて方向を示す。図２（ａ）（ｂ）に、この論理ノードと論理アークによる、それぞれ２変数のＡＮＤ演算モデル、ＯＲ演算モデルの表現手段を示す。また、図２（ｃ）に示すように、論理ノードからでる複数の論理アークは該論理ノードのブール値を複数の論理アークに分岐して伝達させることを意味する。
【００２２】
ＬＦＧに関する論理規則は次のとおりである。
（１）ＬＦＧは論理ノードと論理アークから構成される有向グラフである。
（２）ＬＦＧでのシグナルフローの伝達には遅延がないものとする。
（３）ＬＦＧは有向閉路を持たない。
（４）論理ノードは論理変数が割り当てられ、０，１のブール値を持つ。これをノード変数と定義する。
（５）入力ノードＮは独立しており、これに入る向きの論理アークはない。
（６）入力ノードＮ以外の論理ノード（論理和ノードＳ、論理積ノードＭ）には複数の入る向きの論理アークが接続できる。また、１つの論理ノードから、複数の出る向きの論理アークを接続できる。
（７）論理積ノードＭの値は、これに入る論理アークが正論理アークＬか負論理アークＬｎかによる。すなわち、論理積ノードＭの値は、この論理積ノードＭに入る全ての論理アークについて、該論理アークが正論理アークか負論理アークかに対応して該論理アークの出発ノードの論理値もしくは、その否定値の論理積になる。
（８）論理和ノードＳの値は、これに入る論理アークが正論理アークＬか負論理アークＬｎかによる。すなわち、論理和ノードＳの値は、この論理和ノードに入る全ての論理アークについて、該論理アークが正論理アークか負論理アークかに対応して該論理アークの出発ノードの論理値もしくは、その否定値の論理和になる。
（９）入力される論理アークを持たない論理積ノードＭと論理和ノードＳの値はそれぞれ恒常的に１、０である。
また、ＬＦＧをＭＦＧに結合させるため，次のような規則を設ける。
（１０）ＬＦＧの論理ノードを出発ノードとして制御アークによってＭＦＧのト  ランジションに接続し、該論理ノードのノード変数のブール値によりトラン  ジションの発火を制御する。
（１１）    ＭＦＧのボックスからの出力信号アークはＬＦＧの入力ノードにのみ  接続でき、そのノード変数のブール値を決定することができる。すなわち、  正論理出力信号アークであれば、該ボックスにトークンがあれば該ノード変  数は１、トークンが存在しなければ０とし、また負論理出力信号アークであ  れば、該ボックスにトークンがあれば該ノード変数は０、トークンが存在し  なければ１とする。
【００２３】
図３に、この論理ノードと論理アークとを組み合わせた論理演算モデルを示す。この例では、入力ノードＮ１〜Ｎ７と、論理積ノードＭ１、Ｍ２、Ｍ３、Ｍ４と、論理和ノードＳ１、Ｓ２とが、正論理アークＬ１〜Ｌ１１及び負論理アークＬｎ１により接続されている。具体的には、入力ノードＮ１とＮ２が、それぞれ正論理アークＬ６、Ｌ７により、論理積ノードＭ４に入力されている。また，その論理積ノードＭ４は、正論理アークＬ５により論理積ノードＭ３に接続されている。正論理アークＬ５からみると、論理積ノードＭ４が出発ノード、論理積ノードＭ３が到着ノードである。
【００２４】
一方、入力ノードＮ４とＮ５が、それぞれ正論理アークＬ９、Ｌ１０により、論理和ノードＳ２に入力されている。また、その論理和ノードＳ２は、正論理アークＬ８により論理積ノードＭ２に接続されている。正論理アークＬ８からみると、論理和ノードＳ２が出発ノード、論理積ノードＭ３が到着ノードである。また、論理積ノードＭ３は、論理積ノードＭ４と論理和ノードＳ２を出発ノードとし、この２つのノードの論理積をブール値として持つ。論理積ノードＭ３のブール値は、正論理アークＬ３により論理積ノードＭ２に伝達される。
【００２５】
また、入力ノードＮ６とＮ７の出力は、それぞれ正論理アークＬ１１、負論理アークＬｎ１により、論理和ノードＳ３に入力される。論理和ノードＳ３は、この２つのノードＮ６、Ｎ７の論理和を出力する。この出力値は、前述の論理積ノードＭ２に入力される。論理積ノードＭ２は、論理積ノードＭ４と論理和ノードＳ３を出発ノードとし、両ノードの出力値の論理積を出力する。その出力値は、正論理アークＬ２により論理積ノードＭ１に入力される。また、論理積ノードＭ１には、正論理アークＬ１を介して入力ノードＮ３が出発ノードとして接続される。
【００２６】
このような論理演算モデルにおいて、入力ノードＮ１〜Ｎ７のそれぞれのノード変数ｘ１〜ｘ７のブール値を、ｘ１＝ｘ２＝ｘ３＝ｘ４＝ｘ７＝１、ｘ５＝ｘ６＝０であるとすると、論理ノードＭ１のノード変数ｙ１のブール値は０となる。なお、論理積ノードＭ２、論理和ノードＳ１、論理積ノードＭ３、論理和ノードＳ２、論理積ノードＭ４のノード変数ｙ２、ｙ３、ｙ４、ｙ５、ｙ６のブール値はそれぞれ０，０，１，１，１となる。現在のノード変数ｙ１＝０に注目して、ｘ１〜ｘ５の値を維持しながらこれをｙ１＝１とするためにはｘ６＝１又はｘ７＝０とすればよい。
【００２７】
次に、このＬＦＧをＭＦＧと組み合わせてモデリングを行う例として，シーケンス制御系において代表的な信号変換として用いられる信号の立ち上がりエッジ検出回路のモデリングを，図４に従って説明する。図４（ａ）でＬＦＧの入力ノードＮ１を入力信号Ｉｎｐｕｔとし、これが許可アークＣ１を通してトランジションｔ１へ、抑止アークＣｎ１を通してｔ１’  へ，正論理アークＬ１を通して論理積ノードＭ１へそれぞれ接続されている。トランジションｔ１とｔ１’  の間には、ボックスＢ１が配置され、該ボックスＢ１は流れアークＦ１、Ｆ１’  によりそれぞれトランジションｔ１、ｔ１’  に接続されている。
【００２８】
また、ボックスＢ１が出力信号アークＯ１により信号ｂとして入力ノードＮ２に接続されており、さらに該入力ノードＮ２は負論理アークＬｎの出発ノードとして論理積ノードＭ１に接続されている。したがって、論理積ノードＭ１はＩｎｐｕｔである入力ノードＮ１とボックスＢのトークンの有無を表すブール変数を表す入力ノードＮ２の否定との論理積となり、これが許可アークＣ２を介してトランジションｔ２の発火の許可の可／不可を制御する。
【００２９】
このモデルにおいて、始めボックスＢ１にトークンが存在しないとする。そこでＩｎｐｕｔすなわち、入力ノードＮ１のブール値が１になると、これが許可アークＣ１を通してトランジションｔ１に達し、該トランジションｔ１が発火してボックスＢ１にトークンが生成される。このトークンにより出力信号アークＯ１から出力信号ｂとして１が出力される。ただし、この出力信号ｂは、信号Ｉｎｐｕｔよりもトランジションｔ１の発火に要する所定時間だけ遅れる（図４（ｂ）参照）。即ち、トランジションｔ１、ｔ１’  、ボックスＢ１は、入力の立ち上がりを所定時間だけ遅延させて出力する遅延回路を表現している。
【００３０】
出力信号ｂの負論理信号と信号Ｉｎｐｕｔとが論理積ノードＭ１に加わり、このため論理積ノードＭ１は図４（ｂ）に示すように、信号Ｉｎｐｕｔの立ち上がり時点を示すパルス信号ｓを出力する。このパルス信号を、ステップフローを示すＭＦＧ、例えば図４（ａ）に示すトランジションｔ２の発火のためのトリガー信号として入力させることにより安定したステップフローを実現できる。
【００３１】
図５は，本実施の形態のシーケンスプログラム作成支援システムの全体構成を示すブロック図である。
本実施の形態のシーケンスプログラム作成支援システムは，表示部１０と，入力部１１と，グラフィック作成・編集部１２と，シーケンスプログラム生成部１３と，テキスト表現生成部１４と，シーケンスプログラム記憶部１５と，シーケンスプログラム検証部とを備えている。これらの構成部分は，シーケンスプログラムを作成，編集，検証するためのアプリケーションプログラムをコンピュータにインストールして実行することにより実現される。なお，表示部１０と，入力部１１と，グラフィック作成・編集部１２とで，シーケンス制御系のモデリングシステムが構成されている。
【００３２】
グラフィック作成・編集部１２は，入力部１１からの入力に基づき，上述のようなモデルを作成したり編集したりするための部分である。モジュールライブラリ１２Ｌには上述のＭＦＧやＬＦＧを表現するための線図要素や図の合成で得られた複合要素，例えば前記機能トランジションなどが格納されており，入力部１１からの入力に応じた線図要素や複合要素が適宜このモジュールライブラリから読み出され，表示部１０にグラフィック表示される。
【００３３】
シーケンスプログラム生成部１３は，グラフィック作成・編集部１２で作成されたモデルに基づきグラフィック表現のシーケンスプログラムを生成する部分である。テキスト表現生成部１４は，シーケンスプログラム生成部１３で生成されたグラフィック表現のシーケンスプログラムをテキスト表現のシーケンスプログラムに変換する部分である。このテキスト表現のシーケンスプログラムは，表示部１０に表示される。
【００３４】
シーケンスプログラム生成部１３で生成されたシーケンスプログラムは、シーケンスプログラム記憶部１５に記憶される。シーケンスプログラム検証部１６は、このシーケンスプログラム記憶部１４に記憶されたシーケンスプログラムを検証するための部分である。
【００３５】
図６に、表示部１０の表示画面の一例を示す。表示部１０には、例えば、グラフィック作成・編集部１２で作成・編集されたモデルを表示するモデル表示欄１０１と，モデルの作成・編集及び検証に関する各種のメニュー選択や命令命令を入力するためのメニューバー１０２と、コマンドボタン群１０３とを表示することができる。
【００３６】
例えば，新規にモデルを作成する場合には，コマンド「ＮｅｗＳｈｅｅｔ」をクリックする。またメニューバーのメニュー「ＬＦＧ  ｅｌｅｍｅｎｔ」，「ＭＦＧ  ｅｌｅｍｅｎｔ」をマウスダウンするとＬＦＧ，ＭＦＧの各線図要素の一覧が表示される。ユーザは，この中から使用したいものを適宜選択し，モデル表示欄１０１上にマウスのクリックで表示させる。
【００３７】
また，メニュー「ＬＦＧ  ｅｌｅｍｅｎｔ」，「ＭＦＧ  ｅｌｅｍｅｎｔ」は階層になっており，モデル表示欄１０１上で線図要素の位置や方向の変更，削除などのメニューを選んで実行することができる。メニュー「Ｃｏｎｎｅｃｔｉｏｎ」は各種アークは規則に従った要素間をマウスのクリックアンドドローによって直線で結び，その後これを必要に応じて折れ線に変換したり，途中を切断しボタンマークで間接接続させたりできるようになっている。メニュー「Ｓｈｉｆｔ＆Ｃｏｐｙ」は図のコピーや移動，メニュー「Ｚｏｏｍ」は図の拡大，縮小のものである。またスクロールバーを設けて表示画面の移動を可能としているなど周知のグラフィック用ソフトウエアに含まれる基本的機能も利用可能としている。
【００３８】
メニュー「Ｒｅｄｒａｗ」は作図中の修正等により生じる図的ノイズや作図中に用いたドットスケールの消去，標識表示の変更などで作図結果を書き替えるためのものである。メニュー「Ｉｎｓｃｒｉｐｔｉｏｎ」はボックスやトランジションの命名，メニュー「Ｉｌｌｕｓｔｒａｔｉｏｎ」は図中での説明文を記入するためのものである。メニュ「Ｃｌｉｐ」は作図結果を文章作成ソフトにとりこむ場合に用いられる。
【００３９】
コマンド「Ｆｉｌｅ  ｎａｍｅ  ｄｉｓｐｌａｙ」によりファイルボックスを開き，作図したモデルに関するデータを保存したい場合はコマンド「Ｗｒｉｔｅ  ｉｎ」によりファイルに書きこみ，また，以前にフィルに記録したモデルに関するデータを必要とする場合はコマンド「Ｒｅａｄ  ｏｕｔ」でこれを読み出すことができるようになっている。
コマンド「Ｉｎｉｔｉａｌｉｚａｔｉｏｎ」は作図されたモデルからシーケンスプログラム作成し，プログラム実行前の初期状態にするものである。前記コマンド「Ｓｔａｔｅ    Ｉｎｉｔｉａｌｉｚａｔｉｏｎ」で作成されたシーケンスプログラムを検証したい場合には，コマンド「Ｅｘｅｃｕｔｉｏｎ」をクリックすると前述のシーケンスプログラム検証部１６が起動する。シーケンスプログラム検証部１６は，指定されたモデルに対応するシーケンスプログラムをシーケンスプログラム記憶部１５から読み出した後，このプログラムを実行してその良否の検証を行うことができる。
【００４０】
プログラムの実行は表示部１０にトークンの移動，トランジションの発火，論理ノードのノード値（１；論理ノードを赤，０；論理ノードを黒）の表示とその変化で示される。例えば，入力ノードから決められた順序に基づき，またユーザの指定に基づきブール信号値１が出力されたことを該入力ノードを赤色に替え，これによりトランジションが発火可能となったことをトランジションの色を赤色に変え，発火結果としてボックス中での赤色のトークンＴＫの生成あるいは消滅が起こりその結果ＭＦＧ上でのステップフローが可視的に示されることになる。実行速度はメニュー「ＥＸＥ．  ｓｅｔｔｉｎｇ」により設定できるようになっている。また，トランジションはメニュー「ＭＦＧ  ｅｌｅｍｅｎｔ」の下位メニュー「Ｔｒａｎｓｉｔｉｏｎ」―「Ｄｅｌａｙ」で発火に要する時間を適宜与えることができるようになっている。
【００４１】
なお，コマンド「Ｐａｕｓｅ」をクリックすることにより，アプリケーションプログラムの実行を停止させることができる。またコマンド「Ｅｘｅｃｕｔｉｏｎ」の代わりにコマンド「Ｓｔｅｐ  Ｅｘｅｃｕｔｉｏｎ」をクリックすることにより，プログラム実行をこま送りで表示することもできる。
【００４２】
次に、このシーケンスプログラム作成支援システムを利用して作成されるシーケンスプログラムの一例を、図７〜図９に基づいて説明する。
ここでは、図７に示すようなワークＷを穴あけ加工する自動加工機を制御するシーケンスプログラムの作成を考える。この自動加工機は、ドリルＤと、ドリルＤを上下方向に移動させるモータＭｔ１と、ドリルＤを回転させるモータＭｔ２と、ドリルＤの規定上限位置、規定下限位置を検出するリミットスイッチＬＭＴ＿Ｕ及びＬＭＴ＿Ｌと、自動加工機の起動、停止を指令するＳＴＡＲＴ、ＳＴＯＰの復帰型押しボタンを備える操作パネルＣＰとを備えている。
【００４３】
この自動加工機の動作に関する要求仕様として、次のことが求められているとする。
１）ＳＴＡＲＴボタンを押すことにより、一回の穴あけ加工作業を自動的に行う。
２）作業中、ＳＴＯＰボタンを押すと、どのような場合でも再びＳＴＡＲＴボタンを押すまで動作を停止する。
この要求仕様に対する自動加工機の機能仕様として、次のような順序動作が記述される。
ドリルが初期位置として規定上限位置にあるとして、
（ａ）操作パネルＣＰの押しボタンスイッチＳＴＡＲＴを押すと、作業状態に入る。
（ｂ）作業状態に入ると、モータＭｔ２へ回転信号ＭＴＲ＿ＤＲＩＬＬをＯＮとしてドリルＤ  を回転させ、同時に、モータＭｔ１へドリル下降駆動信号ＭＴＲ＿ＤＯＷＮをＯＮとして  ドリル先端を下降させる。
（ｃ）ドリルＤが規定下限位置に達したことがリミットスイッチＬＭＴ＿Ｌにより検知
されると、前記下降動作信号ＭＴＲ＿ＤＯＷＮおよび前記下降駆動信号ＭＴＲ＿ＤＲＩＬＬをそれぞれＯＦＦとしてドリルＤの回転を止めて、ドリルＤを規定下限位置に停止させる。
（ｄ）続いて、ドリル上昇駆動信号ＭＴＲ＿ＵＰをＯＮとしてモータＭｔ１へ送り、ドリルＤの先端を上昇させる。
（ｅ）ドリルＤが規定上限位置に達したことがリミットスイッチＬＭＴ＿Ｕにより検知されると、前記上昇駆動信号ＭＴＲ＿ＵＰをＯＦＦとしドリルＤを規定上限位置に停止させ、初期位置に戻る。
（ｆ）これで一回の加工作業が終了する。
もし、加工途中でＳＴＯＰボタンが押されるとＭＴＲ＿ＤＯＷＮ、ＭＴＲ＿ＤＲＩＬＬ、ＭＴＲ＿ＵＰの各信号は無条件でＯＦＦにするものとする。
【００４４】
上記のような自動制御を行うためのシーケンスプログラムは、上記機能仕様に従い、ＭＦＧ及びＬＦＧを用いて例えば図８に示すように作成することができる。
【００４５】
この図８に示すシーケンスプログラムについて説明する。
図中の各論理ノードはプログラム上信号に相当し、したがって便宜上、前記機能仕様で用いた信号名によって各論理ノードの名称に代える。上述の自動制御に関する機能仕様の動作順序に従ったステップフローは図８中のＭＦＧにおいて▲１▼−ｉｎｉｔ−ｔ１−Ｂ１−ｔ２−Ｂ２−ｔ３−Ｂ４−ｔ４−▲１▼の順となって一巡する。このステップフロー中、ボックスは各ステップを表す状況である。ボックスｉｎｉｔはドリルの初期位置であり、これを示すためここにトークンを一個、配置する。ボックスＢ１は加工を実行するタスクＴＡＳＫ１を意味する。これを後述のモータＭｔ１、Ｍｔ２の操作に反映させるためボックスＢ１から正論理出力信号アークを経て入力ノードＴＡＳＫ１を設ける。ボックスＢ２は一時停止である。
【００４６】
ボックスＢ３はドリルを初期位置に戻すタスクＴＡＳＫ２を意味する。これを後述のモータＭｔ１の操作に反映させるためボックスＢ３から正論理出力信号アークを経て入力ノードＴＡＳＫ２を設ける。作業開始直前では初期状態を意味するボックスｉｎｉｔにトークン一個を配置する。一方、上記ステップフロー中、トランジションは上記ボックスのステップを順次進めるための事象に相当し、トランジションｔ２は設定下限位置リミットスイッチとしての入力ノードＬＭＴ＿Ｌにより発火制御される。トランジションｔ３には制御アークが入らず、したがってボックスＢ２にトークンがある場合、該トランジションは無条件で発火する。トランジションｔ４は設定上限位置リミットスイッチとしての入力ノードＬＭＴ＿Ｕにより発火制御される。
【００４７】
前記入力ノードＴＡＳＫ１から一方は正論理アークにより論理積ノードＧＡＴＥ１を経由して論理和ノードＭＴＲ＿ＤＯＷＮに接続され、他方は正論理アークにより論理積ノードＧＡＴＥ２を経由して論理和ノードＭＴＲ＿ＤＲＩＬＬに接続されている。同時に前記入力ノードＤＲＩＶＥから前記論理積ノードＧＡＴＥ１およびＧＡＴＥ２へ正論理アークによりそれぞれ接続されている。したがって、入力ノードＤＲＩＶＥのブール値が１であれば入力ノードＴＡＳＫ１のノード値とその変化はそのまま論理和ノードＭＴＲ＿ＤＯＷＮおよびＭＴＲ＿ＤＲＩＬＬに伝達される。しかしながら入力ノードＤＲＩＶＥのブール値が０である限り論理積ノードＧＡＴＥ１およびＧＡＴＥ２のブール値はつねに０となり、したがって論理和ノードＭＴＲ＿ＤＯＷＮおよびＭＲＴ＿ＤＲＩＬＬのブール値も０となる。
【００４８】
ｔ５−Ｂ４−ｔ６のＭＦＧ部分はＳＴＡＲＴおよびＳＴＯＰボタンは復帰型押しボタンスイッチであるので作業状態を記憶、解消するための自己保持回路モデルである。いま、ボックスＢ４のトークンがないとすると、ＳＴＡＲＴボタンを押すとトランジションｔ５が発火して前記ボックスにトークンが生起する。これは正論理出力信号アークを経て入力ノードＤＲＩＶＥのノード値を１とし作業状態を示すことになる。これはボックスＢ４にトークンが存在する限り保持されるので作業状態を記憶する。ＳＴＯＰボタンを押すとボックスＢ４のトークンが存在するのでトランジションｔ６が発火してボックスＢ４のトークンが消滅し、したがって入力ノードＤＲＩＶＥのノード値は０になり作業状態が解消されることになる。もし、ＳＴＡＲＴボタンとＳＴＯＰボタンを同時に押したとすると、入力ノードＳＴＯＰから前記トランジションｔ５に抑止アークが接続されているのでトランジションｔ５はどのような状態でも発火することなく、またトランジションｔ６はもしボックスＢ４にトークンが存在すれば発火して該トークンを消滅させる。すなわちこの場合、作業状態は解消され、システムが停止するようになる。したがって、該自己保持回路モデルは復帰優先型自己保持回路のモデルとなっている。
【００４９】
このように該シーケンスプログラムは機能仕様に従って以上述べたような仕組みがモデル化されており、この実行に要求される穴あけ作業が実現される。
【００５０】
このシーケンスプログラムの検証は該シーケンスプログラムが線図表現された表示画面上で行われる。すなわち、コマンド「Ｉｎｉｔｉａｌｉｚａｔｉｏｎ」をクリックすることでプログラムの初期化が行われ、さらにボックスｉｎｉｔをクリックするとその中にトークンが配置される。
コマンド「Ｅｘｅｃｕｔｉｏｎ」をクリックするとプログラムの検証実行に入る。
各入力ノードはクリックすることで現在のブール値を０から１、あるいは１から０に変えることができるようになっている。該シーケンスプログラムの実行では入力ノードＬＭＴ＿ＬあるいはＬＭＴ＿Ｕのブール値はドリルの上下駆動モータＭＴＲ１の駆動によって決まるので、その結果を想定して表示画面上で前記入力ノードＬＭＴ＿ＬあるいはＬＭＴ＿Ｕを適宜、クリックして動作結果を入力することが必要がある。
【００５１】
そこで、制御対象モデルを上記シーケンスプログラムに追加して全動作をシミュレーションするシーケンスプログラムをＭＦＧとＬＦＧを用いて作成し、検証することが考えられる。この場合のシーケンスプログラムを図９に示す。図９において右半分が制御対象モデルであり、左半分が前述のシーケンスプログラムによる制御装置側の制御アルゴリズムであり、これらを相互に結合させている。以下、このことについて説明する。
【００５２】
図９に示すように、前記制御対象モデルの初期位置としてドリルが規定上限位置にあることを示す状況ボックスＢ５にトークンを配置する。この検出を表すためブレーク接点のリミットスイッチＬＭＴ＿Ｕが用いられているので、前記ボックスＢ５から入力ノードＬＭＴ＿Ｕへ負論理出力信号アーク（図中、点線）を通して制御装置側のアルゴリズム側に接続する。同様にボックスＢ７はドリルが規定下限位置にあることを示す状況である。この検出を表すためブレーク接点のリミットスイッチＬＭＴ＿Ｌが用いられているので、前記ボックスＢ７から入力ノードＬＭＴ＿Ｌへ負論理出力信号アーク（図中、点線）を制御アルゴリズム側を通して接続する。このようにすることで、図８で行った人手による入力ノードＬＴＭ＿ＵあるいはＬＭＴ＿Ｌへのブール値の切り替えは必要でなくなる。また、前記制御対象モデルにおいてトランジションｔ７の発火でドリル下降中の状況を示すボックスＢ６にトークンが移行する。該トランジションｔ７の発火制御には制御アルゴリズム側の論理和ノードＭＴＲ＿ＤＯＷＮから制御対象モデル側へ許可アークを通してトランジションｔ７に接続する。
【００５３】
トランジションｔ８は時限トランジションであり、該トランジションｔ８が発火となってから１０秒後に実際に発火できるようにして穴あけ動作時間を模擬している。なお該トランジションｔ８には入力ノードＤＲＩＶＥから論理積ノードＭ２を経て許可アークが接続され、システムの停止を表す入力ノードＤＲＩＶＥのブール値、すなわち論理積ノードＭ２のブール値が０である間、時限トランジションｔ２の計時は停止し、ドリル下降の停止を模擬している。穴あけ動作が終了してボックスＢ７にトークンが移行すると先に述べたようにこれがノードＬＭＴ＿Ｌを経てトランジションｔ２を発火させ、ステップフローのステップはＢ２に移るが、これは制御対象側ではボックスＢ７のドリル位置が規定下限位置にあることと等価である。ボックスＢ２の次にあるトランジションｔ１が無条件に発火し、ボックスＢ３にトークンが移り、その結果、制御アルゴリズム側の該ボックスから発して論理ノードＴＡＳＫ２、ＧＡＴＥ３、ＭＴＲ＿ＵＰを経て制御対象モデル側のトランジションｔ９の発火を許可し、ドリル上昇中の状況を表すボックスＢ８にトークンが移行する。該ボックスの次にあるトランジションｔ１０は時限トランジションであり、該トランジションが発火となってから５秒でドリルが初期位置にもどることを模擬している。この場合もトランジションｔ８と同様、トランジションｔ１０には論理ノードＤＲＩＶＥ、Ｍ３を経て許可アークが接続され、システムの停止を表す入力ノードＤＲＩＶＥのブール値、すなわち論理積ノードＭ３のブール値が０である間、時限トランジションｔ１０の計時は停止し、ドリル上昇の停止を模擬している。
【００５４】
以上述べたシミュレーションプログラムにより、該自動加工機の一回分の穴あけ加工作業の進行をトランジションの発火とトークンの移動でシミュレーションすることができる。もしも、シミュレーション実行中、トークンが途中のボックスで停留して移動しない場合、それは該ボックスのトランジションの発火許可が下りないためであるので、該トランジションへの許可アークの出発ノードのブール値が１にならない原因、あるいは該トランジションへの抑止アークの出発ノードのブール値が０にならない原因をシグナルフロー上での逆推論で確かめるとよい。
【００５５】
以上述べたシミュレーションプログラムでは制御アルゴリズムの進行と制御対象モデルの動作の進行は平行して行われているので、通常のコンピュータで用いられるフローチャートを利用すると非常に複雑になり、内容の透明さが失われるが、提案する方法ではシーケンス制御系のモデリングにおいてシーケンスプログラムをＭＦＧによるステップフローとＬＦＧによるシグナルフローを分離して表現してあるので、そのため各部のプログラムの結合や動作の確認、シーケンスプログラムの良否の検証と修正が非常に容易かつ簡明に行うことができる。また、上記特許文献１に開示されているような機能トランジションを併用してモデルを表現することもできる。
【００５６】
【発明の効果】
以上述べたように本発明は、シーケンスプログラムをＭＦＧを主体とするステップフローとＬＦＧを主体とするシグナルフローに分離して構造的に記述できるばかりでなく、ＬＦＧの導入によって表示画面上でシグナルフローにおける信号間の因果関係を明確に表現でき、このことによってディスプレイ画面上でシーケンス制御系のモデリング、シーケンスプログラムの作成、編集ならびに検証が容易にできるようになるという効果を奏する。
【図面の簡単な説明】
【図１】本発明においてシーケンス制御系のモデリングのために使用する論理フローグラフ（ＬＦＧ）を説明するものである。
【図２】論理ノードと論理アークの接続例を示す。
【図３】論理ノードと論理アークとを組み合わせて論理回路をモデリングした例を示す。
【図４】ＬＦＧとＭＦＧを組み合わせて、シーケンス制御系をモデリングした例を示す。
【図５】本発明の実施の形態のシーケンスプログラム作成支援システムの全体構成を示すブロック図である。
【図６】表示部１０の表示画面の一例を示す。
【図７】シーケンスプログラムの作成の対象となるシーケンス制御系としての自動加工機の構成を示す。
【図８】図７に示す自動加工機のシーケンス制御を表わすモデルを示す。
【図９】制御対象モデルをシーケンスプログラムに追加して全動作をシミュレーションするシーケンスプログラムをＭＦＧとＬＦＧを用いて作成した例を示す。
【図１０】シーケンス制御系の基本構成を説明する概念図である。
【図１１】シーケンスプログラムにおけるアルゴリズムの流れの様子を示す概念図である。
【図１２】ＭＦＧの例を示す。
【図１３】図１３に示すような、２台のコンベアＣＶ１，ＣＶ２を交互に前進後退させる制御プログラムを図で表現したものである。
【図１４】図１３の２台のコンベアをシーケンス制御するためのシーケンスプログラムをＭＦＧで表現したものである。
【図１５】図１３の２台のコンベアを同時に始動し、それぞれが元に戻って動作サイクルが終了する制御プログラムをＭＦＧで表現したものである。
【符号の説明】
１０…表示部、  １１…入力部、  １２…グラフィック作成・編集部、  １２Ｌ…モジュールライブラリ、  １３…シーケンスプログラム変換部、  １４…テキスト表現生成部、  １５…シーケンスプログラム記憶部、  １６…シーケンスプログラム検証部、  １０１…モデル表示欄、  １０２…メニューバー、  １０３…コマンドボタン群、  Ｍｔ１，Ｍｔ２…モータ、  ＬＭＴ＿Ｕ、ＬＭＴ＿Ｌ…リミットスイッチ、  ＣＰ…操作パネル
【図１】
2004164013.tif 000003
【図２】
2004164013.tif 000004
【図３】
2004164013.tif 000005
【図４】
2004164013.tif 000006
【図５】
2004164013.tif 000007
【図６】
2004164013.tif 000008
【図７】
2004164013.tif 000009
【図８】
2004164013.tif 000010
【図９】
2004164013.tif 000011
【図１０】
2004164013.tif 000012
【図１１】
2004164013.tif 000013
【図１２】
2004164013.tif 000014
【図１３】
2004164013.tif 000015
【図１４】
2004164013.tif 000016
【図１５】
2004164013.tif 000017