(57)【要約】【課題】  大規模ＳＦＣプログラムを実行する場合でも、高速なスキャン実行を実現することができる。【解決手段】  コントローラ支援装置１側では、ユーザにより作成されたＳＦＣ図示表現プログラム１１を、変換部１２によって、コントローラ２で実行可能な形式であるステップ／トランジション接続関係テーブル１３へと変換して、コントローラ２にロードする。コントローラ２の制御実行部１６は、この接続関係テーブル１３を参照しつつ、現在活性となっているステップの番号を格納する活性ステップ群管理テーブル１４と、この活性ステップに応じた評価対象トランジションの番号を格納する評価トランジション群テーブル１５を随時更新し参照しながら、次のステップへの移行の有り／無し等の制御管理を実行する。【選択図】図２
2006195590.tif 000002
【特許請求の範囲】
【請求項１】
各種制御対象機器を制御する制御装置と、該制御装置を支援する支援装置とが通信線により接続されてなる制御システムにおいて、
前記支援装置は、
SFCの図示表現プログラムを作成させる図示表現プログラム作成支援手段と、
該図示表現プログラムにおける各ステップと各トランジションの接続関係を、表形式に変換する変換手段と、
該表形式の接続関係データを前記制御装置に送信する送信手段とを有し、
前記制御装置は、
前記送信手段により送られてくる前記表形式の接続関係データを保存する接続関係データ保存手段と、
該接続関係データを用いて前記制御対象機器の制御処理を実行する制御処理実行手段と、
前記制御処理実行手段による前記制御処理の実行中に、現在活性となっているステップの番号群を一時的に記憶する第１の一時記憶手段と、この活性ステップに応じて評価すべきトランジションの番号群を一時的に記憶する第２の一時記憶手段とを有し、
前記制御処理実行手段は、各スキャン毎に、前記第２の一時記憶手段に記憶されている前記評価対象のトランジションのみを評価対象として、該各評価対象トランジション毎に、当該トランジションの成立条件に基づき活性ステップの移行の有無を判断し、移行するステップに関して次スキャンの為に前記第１、第２の一時記憶手段の記憶内容を前記接続関係データを参照して更新することを特徴とする制御システム。
【請求項２】
前記制御処理実行手段は、ステップの追いかけ実行を許容するものであって、最先頭のステップは各スキャン毎に必ず活性状態とし、前記活性ステップの移行を判断する際に、前記接続関係データを参照して後続のステップを特定し、該特定したステップが現在活性状態か否かを前記第１の一時記憶手段を参照して判定し、現在活性状態である場合には、前記当該トランジションの成立条件に係わらずステップの移行は行わないことを特徴とする請求項１記載の制御システム。
【請求項３】
前記第１の一時記憶手段は、前記活性ステップ番号を格納すると共に既に移行済みか否かを示すフラグが格納され、
前記制御処理実行手段は、前記活性ステップの移行の有無の判断において、該フラグが移行済みを示していた場合には、前記当該トランジションの成立条件に係わらずステップの移行は行わないことを特徴とする請求項１又は２記載の制御システム。
【請求項４】
前記制御処理実行手段による前記制御処理の初期化処理の際に、前記第１の一時記憶手段には最先頭のステップの番号を記憶させ、前記第２の一時記憶手段には該最先頭のステップに後続する全てのトランジションの番号を記憶させることを特徴とする請求項１記載の制御システム。
【請求項５】
各種制御対象機器を制御する制御装置と、該制御装置を支援する支援装置とが通信線により接続されてなる制御システムにおける前記制御装置であって、
該図示表現プログラムにおける各ステップと各トランジションの接続関係が、表形式に変換されて成る接続関係テーブルが、外部から送信されてくると、これを保存する接続関係データ保存手段と、
該接続関係データを用いて前記制御対象機器の制御処理を実行する制御処理実行手段と、
前記制御処理実行手段による前記制御処理の実行中に、現在活性となっているステップの番号群を一時的に記憶する第１の一時記憶手段と、この活性ステップに応じて評価すべきトランジションの番号群を一時的に記憶する第２の一時記憶手段とを有し、
前記制御処理実行手段は、各スキャン毎に、前記第２の一時記憶手段に記憶されている前記評価対象のトランジションのみを評価対象として、該各評価対象トランジション毎に、当該トランジションの成立条件に基づき活性ステップの移行の有無を判断し、移行するステップに関して次スキャンの為に前記第１、第２の一時記憶手段の記憶内容を前記接続関係データを参照して更新することを特徴とする制御装置。
【請求項６】
前記制御処理実行手段は、ステップの追いかけ実行を許容するものであって、最先頭のステップは各スキャン毎に必ず活性状態とし、前記活性ステップの移行を判断する際に、前記接続関係データを参照して後続のステップを特定し、該特定したステップが現在活性状態か否かを前記第１の一時記憶手段を参照して判定し、現在活性状態である場合には、前記当該トランジションの成立条件に係わらずステップの移行は行わないことを特徴とする請求項５記載の制御装置。
【請求項７】
各種制御対象機器を制御する制御装置と、該制御装置を支援する支援装置とが通信線により接続されてなる制御システムにおける前記制御装置のコンピュータに、
該図示表現プログラムにおける各ステップと各トランジションの接続関係が、表形式に変換されて成る接続関係テーブルが、外部から送信されてくると、これを保存する保存機能と、
該接続関係データを用いて前記制御対象機器の制御処理を実行する制御処理実行機能と、
前記制御処理実行機能による前記制御処理の実行中に、現在活性となっているステップの番号群を一時的に記憶する第１の一時記憶機能と、この活性ステップに応じて評価すべきトランジションの番号群を一時的に記憶する第２の一時記憶機能とを有し、
前記制御処理実行機能であって、各スキャン毎に、前記第２の一時記憶機能に記憶されている前記評価対象のトランジションのみを評価対象として、該各評価対象トランジション毎に、当該トランジションの成立条件に基づき活性ステップの移行の有無を判断し、移行するステップに関して次スキャンの為に前記第１、第２の一時記憶機能の記憶内容を前記接続関係データを参照して更新する機能と、
を実現させる為のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラ（PLC）におけるＳＦＣ（シーケンシャルファンクションチャート）の実行方式に関する。
【背景技術】
【０００２】
PLC（プログラマブル・ロジック・コントローラ）等の制御装置においてＳＦＣ（シーケンシャル・ファンクション・チャート）を使用したプログラム（以下、ＳＦＣプログラム）を用いる方法が普及しつつある。
【０００３】
ＳＦＣはPLCの実行順序を示す処理構造を記述するための共通要素としてIEC61131-3(JIS B 3503)として規格化されている（ＳＦＣの詳細についてはIEC61131-3(JIS B 3503)参照）。
【０００４】
ＳＦＣのステップ／トランジションの接続は、図１９（ａ）〜（ｄ）に示すような、単一シーケンス、シーケンス選択分岐と収束、同時シーケンス分岐と収束、シーケンスループ等の組み合わせによって構成される。通常、ＳＦＣプログラムは、PLCとは別に用意されたプログラミング装置（ローダ）で編集され、PLCの実行形式に変換された後、PLCにロードされる。または、編集後、PLCのインターフェースに合わせた形式に変換されPLCにロード・PLC内で実行形式に変換される。
【０００５】
ＳＦＣプログラムをPLCで実行する方式として、例えば、ＳＦＣの各ステップと各トランジションの接続関係を表形式に変換し、これに基づいてＳＦＣの遷移をPLCの内部プログラムで実行する方法がある（特許文献１参照）。その実行方法は、活性状態直下のトランジションが成立すると、次のステップに進むというルールのみが開示されている。
【０００６】
また、上記のルールに従うように所要のSET/RESET命令を並べることでＳＦＣプログラムを実現する方法が、特許文献２に開示されている。
また、ＳＦＣプログラムの実行時に複数ステップの同時実行する方式の例が、特許文献３に開示されている。この方法は、活性ステップの移行後に直ちに移行先ステップの実行を行い、複数ステップを連続的に実行するというものである。
【０００７】
また、特許文献４には、実行中の活性ステップの処理が完全に終了してから次ステップの処理を開始することで、処理の追い越しを防ぐという方法が開示されている。
【特許文献１】特開平８−５４９１１号公報
【特許文献２】特開平１１−３３８５２５号公報
【特許文献３】特開平８−６３２０５号公報
【特許文献４】特開平５−２４１６２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記特許文献１等のように全てのステップ／トランジションに応じた命令群を作成して実行する構成では、ＳＦＣプログラムを実行する場合、ステップの移行を判定する処理毎に全てのステップ／トランジションを評価するため、ステップ／トランジションの数に応じてプログラムのスキャン時間が伸びる。これは、特に、大規模な（ステップ数、トランジション数が多い）ＳＦＣプログラムを実行する場合に、顕著な問題となる。この問題は、上記特許文献３，４のように、複数ステップの同時実行を許容する場合においても同様である。
【０００９】
本発明の課題は、大規模ＳＦＣプログラムを実行する場合でも、高速なスキャン実行を実現することができ、あるいは同一シーケンス内でのステップの追いかけ実行を許容しながらも高速なスキャン実行を実現することができる制御システム、その制御装置、プログラム等を提供することである。
【課題を解決するための手段】
【００１０】
本発明の制御システムは、各種制御対象機器を制御する制御装置と、該制御装置を支援する支援装置とが通信線により接続されてなる制御システムにおいて、前記支援装置は、  SFCの図示表現プログラムを作成させる図示表現プログラム作成支援手段と、該図示表現プログラムにおける各ステップと各トランジションの接続関係を、表形式に変換する変換手段と、該表形式の接続関係データを前記制御装置に送信する送信手段とを有し、前記制御装置は、前記送信手段により送られてくる前記表形式の接続関係データを保存する接続関係データ保存手段と、該接続関係データを用いて前記制御対象機器の制御処理を実行する制御処理実行手段と、前記制御処理実行手段による前記制御処理の実行中に、現在活性となっているステップの番号群を一時的に記憶する第１の一時記憶手段と、この活性ステップに応じて評価すべきトランジションの番号群を一時的に記憶する第２の一時記憶手段とを有し、前記制御処理実行手段は、各スキャン毎に、前記第２の一時記憶手段に記憶されている前記評価対象のトランジションのみを評価対象として、該各評価対象トランジション毎に、当該トランジションの成立条件に基づき活性ステップの移行の有無を判断し、移行するステップに関して次スキャンの為に前記第１、第２の一時記憶手段の記憶内容を前記接続関係データを参照して更新するように構成する。
【００１１】
上記制御システムでは、まず、ユーザにプログラム等を作成させてＰＬＣ等の制御装置にロードする機能等を有する支援装置において、ＳＦＣ図示表現プログラムを、ＰＬＣ側で実行可能な形式に変換する。すなわち、表形式の接続関係データへと変換し、これを制御装置側にロードする。制御装置側では、制御処理実行手段が、この表形式の接続関係データを参照することで制御処理を実行するが、実行中、第１、第２の一時記憶手段を用いてその記憶内容を随時更新し且つ参照することで、現在評価すべきランジションのみを評価対象として処理することができる。
【００１２】
上記制御システムは、例えば、前記制御処理実行手段が、ステップの追いかけ実行を許容するものであって、最先頭のステップは各スキャン毎に必ず活性状態とし、前記活性ステップの移行を判断する際に、前記接続関係データを参照して後続のステップを特定し、該特定したステップが現在活性状態か否かを前記第１の一時記憶手段を参照して判定し、現在活性状態である場合には、前記当該トランジションの成立条件に係わらずステップの移行は行わないようにするものであってもよい。
【００１３】
つまり、上記制御装置は、同一シーケンス内でのステップの追いかけ実行を許容するものであってもよい。但し、ステップの追いつきが生じないようにする為に、上記特定した後続ステップが、現在活性状態である場合には、移行は行わないようにする。
【００１４】
また、上記制御システムにおいて、例えば、前記第１の一時記憶手段は、前記活性ステップ番号を格納すると共に既に移行済みか否かを示すフラグが格納され、前記制御処理実行手段は、前記活性ステップの移行の有無の判断において、該フラグが移行済みを示していた場合には、前記当該トランジションの成立条件に係わらずステップの移行は行わないようにする。すなわち、“選択分岐と収束”のシーケンスの処理実行において、誤って２つ以上のステップが活性にならないようにする。
【発明の効果】
【００１５】
本発明の制御システム、その制御装置、プログラム等によれば、大きなＳＦＣプログラムを実行する場合でも、高速なスキャン実行を実現することができ、あるいは同一シーケンス内でのステップの追いかけ実行を許容しながらも高速なスキャン実行を実現することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本発明の実施の形態について説明する。
尚、以下の説明では、制御システムとして、プログラマブル・コントローラ・システムを例にして説明するが、本発明はこの例に限らない。
【００１７】
図１は、本例のプログラマブル・コントローラ・システムの概略構成図である。
図示のシステムでは、コントローラ支援装置１と、ＰＬＣ本体（制御装置）であるコントローラ２とが、通信線３を介して接続している。コントローラ支援装置１は、ユーザ（作業員やオペレータ等）に任意の制御プログラムを作成させたり、コントローラ２や当該コントローラ２が制御する不図示の各種制御対象機器の状態をモニタリングする為の装置である。つまり、上述したプログラミング装置（ローダ）としての機能やモニタリング装置としての機能を有する装置である。上記ユーザは、コントローラ支援装置１を用いて、図示表現によるＳＦＣプログラムを作成する。コントローラ支援装置１は、作成されたＳＦＣプログラムを、コントローラ２で実行可能な形式に変換した後、これを通信線３を介して、コントローラ２へロードする。
【００１８】
本例では、上記コントローラ２で実行可能な形式とは、後述するステップ／トランジション接続関係テーブル１３のことであり、コントローラ２はこの接続関係テーブル１３を受信して記憶しておき、制御実行の際には、このテーブル１３を参照し、更に後述する活性ステップ群管理テーブル１４、評価トランジション群テーブル１５を随時作成しつつ、制御実行手順を管理する。
【００１９】
図２は、本例のプログラマブル・コントローラ・システムの機能ブロック図である。
図２において、符号１１は、上記コントローラ支援装置１においてユーザによって作成されたＳＦＣ図示表現プログラムである。コントローラ支援装置１は、ＳＦＣ図示表現−ステップ／トランジション接続関係テーブル変換部１２（以下、省略して、ＳＦＣ−接続関係テーブル変換部１２と記す）を有しており、これにより上記ＳＦＣ図示表現プログラム１１を、ステップ／トランジション接続関係テーブル１３へと変換する。作成されたステップ／トランジション接続関係テーブル１３は、コントローラ２へ送信されて格納される。
【００２０】
コントローラ２は、制御実行部１６を有しており、この制御実行部１６は、ステップ／トランジション接続関係テーブル１３を参照して、活性ステップ群管理テーブル１４、評価トランジション群テーブル１５を随時作成し参照しつつ、制御実行管理を行う。
【００２１】
尚、以下の説明では各テーブルの名称は省略して記す。すなわち、ステップ／トランジション接続関係テーブル１３は接続関係テーブル１３と記し、活性ステップ群管理テーブル１４は活性ＳＰテーブル１４と記し、評価トラジション群テーブル１５は評価ＴＮテーブル１５と記す。
【００２２】
ここで、活性ＳＰテーブル１４及び評価ＴＮテーブル１５は、１スキャン中に評価するトランジションを限定するために、各スキャン毎に、現在活性となっているステップ群と、これら各活性ステップに応じて評価すべきトランジション群のみを記憶するテーブルである。トランジション評価部１７はこの“現在評価すべき各トランジション”を評価し、制御実行部１６は、この評価結果及び接続関係テーブル１３や活性ＳＰテーブル１４，評価ＴＮテーブル１５を参照しつつ、次ステップへの移行判定や活性ＳＰテーブルテーブル１４、評価ＴＮテーブル１５の内容を更新していくことで、制御実行管理を行う。
【００２３】
ＳＦＣプログラムは一つの初期ステップをもち（JIS B3503 2.6.2「ステップ」参照）、最初にこの１つのステップが活性となり、その後、この活性状態が、後続するステップに順次伝わっていくことから、通常、ＳＦＣプログラムは、同時シーケンス分岐がない限り、活性となるステップはただ一つであり、評価すべきトランジションは、活性となっているステップに続くトランジションだけである。同時シーケンス分岐が存在した場合でも、同時に活性となるステップはたかだか分岐によって分かれたシーケンスの数と同じであり、ＳＦＣプログラム全体のステップからすればわずかな数に限られる。トランジションの評価およびその評価結果によるステップの状態変更（移行）は、そのトランジションに先行するステップが活性となっている場合にのみ有効であるので、１スキャン中に評価するトランジションを、活性となっているステップに続くものだけに限定することで、プログラムの実行を高速化することが可能である。
【００２４】
図３に、上記ＳＦＣ図示表現プログラム１１の一例を示す。
また、図４には、接続関係テーブル１３のデータ構造例を示す。
図３に示す図示表現プログラムは、従来技術で説明した“単一シーケンス”、“シーケンス選択分岐と収束”、“同時シーケンス分岐と収束”等を組み合わせたものであり、特に説明しないが、図示のＳ１、Ｓ２、・・・は、各ステップに割り当てられる識別番号（以下、ＳＰ番号と記す）であり、Ｔ１、Ｔ２、・・・は各トランジションに割り当てられる識別番号（以下、ＴＮ番号と記す）である。また、図４の接続関係テーブル１３中のＳＰやＴＮは、各々、ステップやトランジションの略である。接続関係テーブル１３は、従来技術と同様、コントローラ支援装置１内で図示表現の接続関係を調べる事から簡単に作成する事が可能である。
【００２５】
図４の接続関係テーブル１３は、各ステップに関するテーブルと、各トランジションに関するテーブルとから成る。各ステップに関するテーブルは、各ステップのＳＰ番号に対応付けて、そのステップの後続のトランジションの数（後続ＴＮ数）と、これら後続ＴＮのＴＮ番号が格納される。例えばＳＰ番号がＳ２のステップを例にすると、後続ＴＮ数は２つであり、そのＴＮ番号はＴ２とＴ６である。また、各トランジションに関するテーブルは、各トランジションのＴＮ番号に対応付けて、そのトランジションの前のステップの数（先行ＳＰ数）とこれら先行ＳＰのＳＰ番号、及びそのトランジションに後続するステップの数（後続ＳＰ数）とこれら後続ＳＰのＳＰ番号が格納される。例えば、ＴＮ番号がＴ９のトランジションを例にすると、先行ＳＰ数は２つ（Ｓ８とＳ１０）であり、後続ＳＰ数も２つ（Ｓ９とＳ１１）である。
【００２６】
図５（ａ）に活性ＳＰテーブル１４の構造例を示し、図５（ｂ）に評価ＴＮテーブル１５の構造例を示す。これらのテーブル１４，１５のフォーマットは、予めコントローラ２内の不図示の記憶装置に格納されており、これらテーブル１４，１５に格納されるデータは、制御実行部１６によって随時更新されていく。
【００２７】
図５（ａ）に活性ＳＰテーブル１４には、現在活性されているステップの数とこれらステップのＳＰ番号とが、制御実行部１６によって格納・更新される。更に、格納される各ＳＰ番号に対応付けてフラグが用意される。このフラグは、基本的には、図１９（ｂ）に示す“選択分岐と収束”のシーケンスの場合にのみ必要なものであり、図３の例では、Ｓ２が当該テーブル１４に格納されているときのみ、必要なものである。すなわち、選択分岐では、複数あるステップのうち１つのステップのみが活性になるので、誤って２つ以上のステップが活性にならないようにする為に、上記フラグが利用される。詳しくは、後に説明する。
【００２８】
図５（ｂ）の評価ＴＮテーブル１５には、現在の評価対象であるトランジションの数とこれらトランジションのＴＮ番号とが、制御実行部１６によって格納・更新される。
制御実行部１６は、制御管理処理を実行する場合には、まず図６の初期化処理を実行し、その後、図７の処理を実行する。尚、図６、図７の処理をコンピュータにより実行させる為のアプリケーション・プログラムは、予めコントローラ２内の不図示の記憶装置に格納されている。コントローラ２内の不図示のＣＰＵ／ＭＰＵ等がこのアプリケーション・プログラムを読出し実行することにより、図６、図７の処理が実現される。
【００２９】
ここで、コントローラ２は、通常、１つだけでなく様々な制御処理を実行するものであり、この各種制御処理毎に接続関係テーブル１３が作成されて、コントローラ２内の不図示の記憶装置に記憶されている。制御実行部１６は、これら各種制御処理のうち任意の制御処理を実行する際には、この制御処理に該当する接続関係テーブル１３を認識したうえで上記アプリケーション・プログラムを起動し、認識した接続関係テーブル１３を用いて、図６、図７の処理を実行する。
【００３０】
図６（ａ）、（ｂ）は、初期化処理のフローチャートを示す。
図６（ａ）において、制御実行部１６は、まず、初期ステップのＳＰ番号を活性ＳＰテーブル１４に格納する（ステップＳ００１）。当然、活性ステップ数は１である。尚、初期ステップのＳＰ番号は固定的であり（例えばＳ１）、予め登録されているものとする。これにより、初期ステップのみが活性化し、他のステップを全て不活性化する。
【００３１】
次に、評価ＴＮテーブル１５の初期化を行う（ステップＳ００２）。このステップＳ００２の処理の詳細フローを図６（ｂ）に示す。図６（ｂ）においては、まず、評価ＴＮテーブル１５をクリアし（ステップＳ０１１）、続いて、活性ＳＰテーブル１４に現在格納されているＳＰ番号（活性ＳＰ番号；ここではＳ１）を取り出し（ステップＳ０１２）、接続関係テーブル１３を参照して、この活性ＳＰ番号に対応する後続ＴＮ数、後続ＴＮ番号群を取得し、これら取得したデータを評価ＴＮテーブル１５に格納する（ステップＳ０１３）。活性ＳＰテーブル１４に複数のＳＰ番号が格納されている場合には、残りのＳＰ番号についても同様にしてステップＳ０１２，Ｓ０１３の処理を実行し、全てのＳＰ番号について処理を行ったら（ステップＳ０１４，ＹＥＳ）当該処理を終了する。
【００３２】
尚、ステップＳ０１４の処理は、当該初期化処理の際には必要ないが、図６（ｂ）の処理は図７（ａ）のステップＳ１０９の処理の際にも用いるので、ステップＳ０１４の処理も記してある。また、尚、本説明における処理フローチャートのステップ番号は、ＳＦＣプログラムのステップ番号と区別する為、全て３桁で示してある。
【００３３】
上記初期化処理が完了したら、その後は、１スキャン毎に、図７（ａ）のフローチャートの処理を実行する。ここで、図７（ｂ）は図７（ａ）のステップＳ１０５のＳＰ／ＴＮ評価処理の詳細フローチャートであり、図７（ｃ）は図７（ａ）のステップＳ１０７のＳＰ移行処理の詳細フローチャートである。
【００３４】
以下、図７（ａ）〜（ｃ）の処理について説明するが、その際、具体例を参照して具体的な一例の説明も行う。すなわち、図８に、図３の図示表現プログラムに基づいて作成された接続関係テーブル１３の例を示し、図９にはこの例に応じて各スキャン毎に活性ＳＰテーブル１４、評価ＴＮテーブル１５に格納されるＳＰ番号、ＴＮ番号を示す。図９において、１スキャン目の初期状態では、上記初期化処理により、活性ＳＰテーブル１４にはＳ１、評価ＴＮテーブル１５にはＴ１が格納されている。更に図１０、図１１には、図７の処理中のテーブル１４，１５や次スキャン用テーブルの状態遷移を示す。以下、これらの図面も参照しながら、図７の処理について説明する。
【００３５】
図７（ａ）において、まず、現在の活性ＳＰテーブル１４のコピーを作成する（ステップＳ１０１）。このコピーは、次回スキャン時のテーブル１４の初期状態を作成する為に用いられるものであり、以下、次スキャン用テーブルと呼ぶものとする。第１スキャン時における活性ＳＰテーブル１４、次スキャン用テーブル、及び評価ＴＮテーブル１５の格納データの状態遷移は、図１０に示すようになる。図１０において、図上左側には活性ＳＰテーブル１４の状態遷移、図上真中には次スキャン用テーブルの状態遷移、図上右側には評価ＴＮテーブル１５の状態遷移を示す。上記の通り、１スキャン目には、テーブル１４にはＳ１が格納されており、活性ＳＰ数は１であるので、テーブル１４の状態は図１０（ａ）に示す通りであり、これをコピーすることで、図１０（ｂ）に示す次スキャン用テーブルが作成される。
【００３６】
活性ＳＰテーブル１４における各フラグは、各スキャンの最初には不定状態にされており、全てのフラグをセット（ＯＮ）することで（ステップＳ１０２）、図１０（ｃ）に示す状態となる。このフラグは、セット状態は次の移行（活性化）対象のステップ全てが未だ移行されていない事を示し、リセット状態は移行対象ステップのうちの１つのステップへと既に移行したことを示す。たとえば図３においてＳ２からの移行対象ステップはＳ３とＳ６であるが、Ｓ３へ移行した場合、Ｓ２に対応するフラグをリセット状態にすることで、Ｓ６が活性化しないようにする。
【００３７】
続いて、評価ＴＮテーブル１５に格納されているＴＮ番号のトランジション全てを評価対象として、各評価対象トランジション毎にステップＳ１０４〜Ｓ１０７の処理を実行する。まず、テーブル１５に格納されているＴＮ番号を１つ取り出し（ステップＳ１０４）、ＳＰ／ＴＮ評価処理を行う（ステップＳ１０５）。このステップＳ１０５の処理は、概略的には、評価対象トランジションの後続のステップへと移行するか否かを判定するものであり、その詳細フローは、図７（ｂ）に示す通りである。すなわち、図７（ｂ）において、まず、トランジション評価部１７が、ステップＳ１０４で取り出したＴＮ番号のトランジションの評価を行う（ステップＳ１１１）。
【００３８】
この評価とは、そのトランジションに関する移行条件が成立しているか否かを判定するものである。ＳＦＣに使用される全てのトランジションに関するトランジション条件が、例えば図５（ｃ）に示すようにがメモリ上にテーブル化されている。このメモリ上のテーブルの内容は、別途存在するプログラム（ＰＬＣのI／O更新や、演算処理等を実行するプログラム）によって随時更新されている。トランジション評価部１７は、このメモリ上のテーブルを参照すれば、各トランジションに関する移行条件が成立しているか否かを知ることができる。
【００３９】
ステップＳ１１１の評価の結果、移行条件が成立していない場合には（ステップＳ１１１，ＮＯ）場合には、ＳＰ移行なしと判定し（ステップＳ１１８）、ステップＳ１０６の処理（ＳＰ移行のあり／なしの判定）へ進む。これより、ステップＳ１０６の判定はＮＯとなり、そのままステップＳ１０３に戻る。
【００４０】
一方、ステップＳ１１１の評価の結果、移行条件が成立していた場合には（ステップＳ１１１，ＹＥＳ）、接続関係テーブル１３から、当該評価対象のトランジションに対応する先行ＳＰ番号群３３から、最初の先行ＳＰ番号を取り出す（ステップＳ１１２）。そして、取り出した先行ＳＰ番号を用いて活性ＳＰテーブル１４を検索して、ＳＰ番号が一致するレコードを求め（ステップＳ１１３）、そのフラグを参照して、フラグがセット状態かリセット状態かを判定する（ステップＳ１１４）。フラグがリセット状態（ＯＦＦ）であれば（ステップＳ１１４，ＮＯ）、そのステップに関しては、現在評価中のトランジション以前のトランジション評価によって既に次のステップへの移行が行われているので、現在評価中のトランジションによってはステップの移行ができないと判定する（ステップＳ１１８）。
【００４１】
一方、フラグがセット状態（ＯＮ）であったならば（ステップＳ１１４，ＹＥＳ）、上記判定を残りの先行ステップ全てについて行う。すなわち、先行ＳＰ番号群３３から次の先行ＳＰ番号を取り出す（ステップＳ１１５）。次の先行ＳＰ番号が無ければ、全ての先行ステップについて処理を完了したことになるので（ステップＳ１１６，ＹＥＳ）、ＳＰ移行ありと判定する（ステップＳ１１７）。先行ＳＰ番号群３３の中に１つでもフラグがリセット状態である先行ステップが存在した場合には、ＳＰ移行なし（ステップＳ１１８）と判定されるので、ＳＰ移行あり（ステップＳ１１７）と判定されるのは、先行ＳＰ番号群３３の全ての先行ステップについてフラグがセット状態である場合のみとなる。
【００４２】
以上説明した図７（ｂ）の処理は、上記具体例では、テーブル１４、１５の状態は図１０（ｃ）、（ｄ）に示す通りであるので、評価対象のトランジションはＴ１であり、これに対応する先行ＳＰ番号群３３はＳ１のみであり、図１０（ｃ）に示すようにＳ１のフラグはセット状態であるので、ＳＰ移行ありと判定されることになる。
【００４３】
上記図７（ｂ）の処理により、ＳＰ移行なしと判定された場合には（ステップＳ１０６，ＮＯ）、そのままステップＳ１０３の処理に戻り、ＳＰ移行ありと判定された場合には（ステップＳ１０６，ＹＥＳ）、ステップＳ１０７のＳＰ移行処理に進む。
【００４４】
このステップＳ１０７の処理の詳細フローを図７（ｃ）に示す。
図７（ｃ）において、まず、接続関係テーブル１３から、当該処理対象のトランジションのＴＮ番号に対応する先行ＳＰ番号群３３、後続ＳＰ番号群３５を取り出し（ステップＳ１２１）、活性ＳＰテーブル１４において先行ＳＰ番号群３３にある各ＳＰ番号に対応するフラグをリセットする（ステップＳ１２２）。上記一例では、先行ＳＰ番号群３３にはＳ１のみが存在するので、図１０（ｅ）に示すように、活性ＳＰテーブル１４においてＳ１のフラグがリセットされる。次に、上記ステップＳ１０１で作成してあった次スキャン用テーブルから、先行ＳＰ番号群３３にある各ＳＰ番号のレコードを削除する（ステップＳ１２３）。上記の例ではＳ１のレコードが削除されるので、次スキャン用テーブルは図１０（ｆ）に示すように空となる。続いて、次スキャン用テーブルに、上記後続ＳＰ番号群３５にある各ＳＰ番号を追加する（ステップＳ１２４）。上記一例では、後続ＳＰ番号群３５にはＳ２とＳ７があるので、図１０（ｇ）に示すように、次スキャン用テーブルにＳ２、Ｓ７のレコードが追加されると共に、その活性ＳＰ数を‘２’とする。
【００４５】
尚、後続ＳＰ番号の追加処理の際には、次スキャン用テーブルに同じＳＰ番号が複数存在しないようにするため、すでにテーブル中に同じＳＰ番号が存在する場合には、追加しないようにする。
【００４６】
以上のＳＰ移行処理が終わったら、ステップＳ１０３に戻り、評価対象のトランジションが未だある場合には（ステップＳ１０３，ＮＯ）、評価ＴＮテーブル１５から次の評価対象のＴＮ番号を取り出し（ステップＳ１０４）、上記と同様にステップＳ１０５〜Ｓ１０７の処理を実行し、全ての評価対象トランジションについて評価が完了したら（ステップＳ１０３，ＹＥＳ）、ステップＳ１０８の処理に進む。ステップＳ１０８では、次スキャン用テーブルによって、活性ＳＰテーブル１４の内容を更新する（上書きコピーする）。これによって、上記一例では、テーブル１４は図１０（ｈ）に示す状態となる。つまり、図１０（ｇ）に示す内容が上書きコピーされ、Ｓ１に関するデータは消えている。
【００４７】
最後に、評価ＴＮテーブル１５を次のスキャン用に初期化する（ステップＳ１０９）。この処理は、図６（ｂ）の処理と同じである。上記一例では、テーブル１４にＳ２，Ｓ７が格納されているので、Ｓ２の後続ＴＮ番号群２３はＴ２、Ｔ６であり、Ｓ７の後続ＴＮ番号群２３はＴ８であるので、ステップＳ１０９の処理によって、テーブル１５の内容は図１０（ｉ）に示す通りとなる。
【００４８】
以上、ステップＳ１０８、Ｓ１０９により、テーブル１４，１５の内容が次スキャン用に再構成される。
以上説明したようにして、１スキャン分の処理が実行される。
【００４９】
次スキャンに入ったら、これら再構成したテーブル１４、１５を用いて、再び図７の処理を実行する。
上記一例に沿って、２スキャン目の処理について説明する。
【００５０】
図１１は、２スキャン目の処理中の活性ＳＰテーブル１４と次スキャン用テーブルのデータ格納内容の状態遷移を示す。図上左側にはテーブル１４の状態遷移、図上右側には次スキャン用テーブルの状態遷移を示す。また、図１１には示さないが、テーブル１５の内容は図１０（ｉ）に示した通りである。
【００５１】
２スキャン目では、活性ＳＰテーブル１４の内容は、図１１（ａ）に示す通り、上記図１０（ｈ）の状態から始まる。これをステップＳ１０１でコピーすることで、次スキャン用テーブルは図１１（ｂ）に示す通りとなる。更に、ステップＳ１０２によって、テーブル１４の各フラグは、図１１（ｃ）の通り、全てセット状態となる。
【００５２】
そして、まず、Ｔ２が評価対象となり、仮にステップＳ１１１の判定がＹＥＳであったとすると、該当するＳＰ番号はＳ２のみであり、図１１（ｃ）の通りＳ２のフラグはセット状態であるので、ＳＰ移行あり（ステップＳ１１７）と判定し、図７（ｃ）に示すＳＰ移行処理を実行することになる。これより、まず、ステップＳ１２１で、先行ＳＰ番号ととしてＳ２、後続ＳＰ番号としてＳ３が取り出され、ステップＳ１２２で、テーブル１４におけるＳ２のフラグがリセットされることで、テーブル１４は図１１（ｄ）に示す状態となる。また、ステップＳ１２３によって次スキャン用テーブルからＳ２が削除され、図１１（ｅ）に示す状態となる。更に、ステップＳ１２４によってＳ３が次スキャン用テーブルに追加され、図１１（ｆ）に示す状態となる。つまり、Ｓ２からＳ３へ移行することになる。
【００５３】
以上でＴ２を対象とする処理が終了したら、ステップＳ１０３に戻ると、未だ評価対象が残っている（Ｔ６とＴ８）ので、今度はＴ６を対象として処理を実行するが、Ｓ２からの移行は、Ｓ３とＳ６の何れか一方への選択分岐であるので、上記の通り既にＳ３へ移行されている以上、Ｓ６にも移行されることになってはならない。この為に上記フラグが用意されているのであり、上記ステップＳ１２２でＳ２のフラグがリセットされていることから、Ｓ６には移行しないようになる。すなわち、Ｔ６を対象とする処理において、図７（ｂ）に示す処理は、まず、ステップＳ１１２でＳ２が取り出され、ステップＳ１１３、Ｓ１１４の処理を実行すると、上記の通りＳ２のフラグはリセット状態となっているので、Ｓ１１４の判定はＮＯとなり、ＳＰ移行なし（ステップＳ１１８）と判定されるので、ステップＳ１０７のＳＰ移行処理は実行されることなく、ステップＳ１０３に戻り、今度はＴ８を対象とする処理を実行する。
【００５４】
Ｔ８に対応する先行ＳＰ番号はＳ７のみであり、Ｓ７に関するステップＳ１１４の判定はＹＥＳとなり、Ｓ１２２によってＳ７のフラグはリセットされるので、活性ＳＰテーブル１４は図１１（ｇ）に示す状態となる。また、次スキャン用テーブルは、ステップＳ１２３によりＳ７が削除されるので図１１（ｈ）に示す状態となり、Ｔ８の後続ＳＰ番号群３５はＳ８とＳ１０であることから、次のステップＳ１２４により、図１１（ｉ）に示す状態となる。これが、３スキャン目用のテーブル１４の初期状態となる。
【００５５】
３スキャン目以降については、図９に、各スキャンの最初におけるテーブル１４、１５の状態を示すものとし、特に説明しない。
以上説明したように、本例のプログラマブル・コントローラ・システムによれば、ステップ／トランジション接続関係テーブル１３だけでなく、活性ステップ群管理テーブル１４、評価トランジション群テーブル１５を用いてこれらを随時更新していくことで、各スキャン毎に、評価すべきトランジションのみを評価対象として処理実行できるので、大きなＳＦＣプログラムを実行する場合でも、高速なスキャン実行を実現することができる。また、“選択分岐と収束”のシーケンスの処理実行において、誤って２つ以上のステップが活性にならないようにすることができる。
【００５６】
以上説明した実施例を、第１の実施例とし、以下、第２の実施例について説明する。
ここで、第１の実施例では、上記の通り、通常のＳＦＣプログラムでは、プログラム全体においてある瞬間において活性化しているステップは、同時シーケンス分岐がない限り、ただ一つである。しかし、この様な通常の手法に限らず、同時シーケンス分岐がなくても複数のステップが同時に活性化することを許容する手法が存在する。
【００５７】
この説明を簡単にする為に、図１２に、単一シーケンスが直列に並ぶＳＦＣ図示表現プログラム例を示す。このプログラムは、図１２（ａ）に示す通り、Ｓ１→Ｓ２→Ｓ３→Ｓ４の順に並んでいる。尚、各ステップ間には当然トランジションがあるが、ここでは無視して説明する。
【００５８】
上記第１の実施例では、このプログラム実行の際には、図１２（ｂ）〜（ｅ）に示すように、Ｓ１→Ｓ２→Ｓ３→Ｓ４の順に活性化されていく。すなわち、単一シーケンスのみであれば、常に１つのステップのみが活性状態となっている。尚、図上、黒丸が記してあるステップが、活性状態のステップである。
【００５９】
これに対して、第２の実施例では、図１２（ｆ）〜（ｈ）に示すように、単一シーケンスのみであっても複数ステップが同時に活性状態となることを、許容している。これは、例えば、工程管理するプログラム等に適用される。すなわち、製造ライン等において原材料投入から中間品を経て製品完成までを複数の工程により行うことはよく知られていることであり、Ｓ１〜Ｓ４は例えば第１工程〜第４工程に対応するものとする。図１２（ｆ）〜（ｈ）は、例えば第１ロットを投入して第１工程→第２工程→第３工程と作業を実行していく途中で、第２ロットも第１工程に投入して、第１ロットの後を追うようにして同様の作業を実行していくことに相当する。
【００６０】
尚、上記のように同時シーケンス分岐がなくても許容される複数ステップの同時実行を、“ステップの追いかけ実行”と呼ぶものとする。
第２の実施例では、まず、図１３に示すように、ＳＦＣプログラムの先頭のステップは、スキャン毎に常時活性状態にする。これにより、先頭ステップ直後のトランジションの条件が成立すれば、シーケンス中に既に別の活性ステップがあっても、新たにステップが活性化することを可能にする。また、ＳＦＣプログラムの最後のステップは、その直前の活性ステップから制御が移行しても、常に各スキャンの最後に非活性となるステップとする。
【００６１】
第２の実施例の説明におけるＳＦＣプログラムの具体例を、図１５に示す。図１５に示す具体例は、上記図３とほぼ同じであるが、図３では最後のトランジションＴ５の後には先頭ステップのＳ１へとループしていたが、図１５では上記の通り最後に常時非活性のステップを設ける必要がある為、図示の通り、トランジションＴ５の後には常時非活性のステップであるＳ１２がある。また、図１５の示すＳＦＣ図示表現プログラムに対応する接続関係テーブルの具体例を図１６に示す。これも図８に示す具体例とほぼ同じであり、相違点は、上記Ｓ１２があることから、ＳＰ番号２１が‘Ｓ１２’、後続ＴＮ数２２が‘０’のレコードが加わっており、またＴ５に対応する後続ＳＰ番号群３５がＳ１２になっている点である。
【００６２】
また各テーブル１４，１５のデータ構造は、図５（ａ）、（ｂ）に示したものと同じである。但し、各スキャンにおいてテーブル１４，１５に格納されるデータは、図１７に示す通りとなる。また、上記アプリケーション・プログラムにより実行される処理は、基本的には図７（ａ）、（ｃ）と図１４に示す通りである。すなわち、第１の実施例と異なるのは、基本的には、ＳＰ／ＴＮ評価処理の詳細フローであり、この処理を図１４に示す。よって、図７（ａ）、（ｃ）の説明は（後述する相違点を除いて）ここでは省略し、図１４について説明する。これは、換言すれば、第２の実施例は、第１の実施例と同様にＳＦＣプログラムの高速実行を実現するものであるが、これを“ステップの追いかけ実行”を許容しながらも実現できるものである。但し、上記の通り、最後のステップであるＳ１２に関しては、あるスキャンにおいてもし活性状態となった場合には、そのスキャンの最後で非活性とする必要があるので、図７（ａ）のステップＳ１０９の処理の後に、テーブル１４を参照して、もしＳ１２がテーブル１４に格納されていたならば、これを削除する処理が加わる。
【００６３】
図１４に示す処理のうち、ステップＳ２０１、Ｓ２０２、Ｓ２０３、Ｓ２０４、及びＳ２０９の処理は、それぞれ、図７（ｂ）のステップＳ１１１、Ｓ１１２とＳ１１５、Ｓ１１３、Ｓ１１４の処理と略同様であり、ここでは特に説明しない。図１４では、図７（ｂ）の処理に、ステップＳ２０５〜Ｓ２０８の処理が加わっている。これは上記“ステップの追いかけ実行”において、後続のものが、先行するものに追いついたりしないようにする為の処理である。例えば上記図１２（ｆ）〜（ｈ）の例で言うと、第１ロットに係わる活性ステップがＳ３のときに何らかの理由により停滞した状態で、第２ロットに係わる活性ステップがＳ１→Ｓ２→Ｓ３と移行してきて追いついてしまうという事態は、避けなければならない。これより、第２ロットに係わる活性ステップがＳ２のときに、仮に「ＳＰ移行あり」と判定されるべき状況になっても、第１ロットに係わる活性ステップがＳ４に移行しない限り、「ＳＰ移行なし」と判定されるようにする為の処理が、ステップＳ２０５〜Ｓ２０８の処理である。
【００６４】
すなわち、ステップＳ２０４の判定で、先行ＳＰ番号に対応するフラグがセット状態であると判定された場合（ステップＳ２０４，ＹＥＳ）、まず、接続関係テーブル１３を参照して、現在の処理対象のトランジションのＴＮ番号に対応する後続ＳＰ番号群３５を取り出し、続いて、取り出した各後続ＳＰ番号を用いて活性ＳＰテーブル１４又は次スキャン用テーブルを検索して（ステップＳ２０６）、後続ＳＰ番号群３５にあるＳＰ番号の何れか１つでも活性ＳＰテーブル１４又は次スキャン用テーブルに登録されていた場合には（ステップＳ２０７，ＹＥＳ）、「ＳＰ移行なし」と判定する（ステップＳ２１１）。後続ＳＰ番号群３５の何れも、次スキャン用テーブルに登録されていない場合には、ステップＳ２０９の処理に進み、全ての先行ＳＰについて評価するまで、上述した処理を繰り返し実行する。
【００６５】
ステップＳ２０５〜Ｓ２０８の処理について、図１７に示す具体例を用いて説明する。まず、図１７におけるテーブル１４のデータ格納内容が図９のそれと異なる点は、全てのスキャンにおいて必ずＳ１が含まれている点である。これは、図１３で説明したように、本例では先頭ステップは常時活性化されるからである。これより、本例では、上記ステップＳ１２４の処理が、第１の実施例とは多少異なる。すなわち、ステップＳ１２４では、次スキャン用テーブルに後続ＳＰ番号群が追加されるが、更に必ずＳ１も追加する。これより、例えば２スキャン目を例にすると、図９ではＳ２とＳ７であったが更にＳ１が加わっている。
【００６６】
また、これより、評価トランジション群テーブル１５の内容も、図９とは異なる。例えば２スキャン目を例にすると、１スキャン目の最後にステップＳ１０９の処理を行う際には既にテーブル１４の内容は上記Ｓ１、Ｓ２、Ｓ７となっているので、これらに対応する後続ＴＮ番号は、Ｔ１、Ｔ２、Ｔ６、Ｔ８となる。
【００６７】
尚、図１７に示す「後続ＳＰ番号」は、テーブルに格納されたデータを意味するものではなく、ステップＳ２０５で取り出す番号を意味する。
上記２スキャン目を例にすると、Ｔ１、Ｔ２、Ｔ６、Ｔ８が評価対象となるが、もし先頭（Ｔ１）から順に処理すると、次スキャン用テーブルは上記テーブル１４の内容がコピーされたときの状態、すなわちＳ１，Ｓ２，Ｓ７が格納された状態となっているので、ステップＳ２０５でＴ１の後続ＳＰ番号群としてＳ２、Ｓ７が取り出され、ステップＳ２０６の判定を行うと、判定ＹＥＳとなり、ＳＰ移行なしとなってしまう。これは、図１２（ｆ）〜（ｈ）に示す例のように処理したい場合にはよいが、間を空けずに連続して移行させたい場合には、最後尾（Ｔ８）から順に処理を行うようにする。
【００６８】
ここでは、図１２（ｆ）〜（ｈ）に示す例のように処理するものとすると、まず、Ｔ１に関する処理は、上記の通りＳＰ移行なしと判定され、Ｔ１に関する処理が終わった時点では、図１１（ｃ）、（ｂ）に近い状態となっている（但し、Ｓ１のデータは残っているが、ここでは無視する）。その後の処理は、図１１（ｄ）〜（ｉ）に示す通りとなる。すなわち、Ｔ２の評価処理では、後続ＳＰ番号群はＳ３であり、ステップＳ２０６の判定はＮＯとなるので、ＳＰ移行ありと判定される。Ｔ６に関しては、ステップＳ２０４の判定がＮＯとなるので、ＳＰ移行なしと判定される。Ｔ８に関しては、後続ＳＰ番号群がＳ８、Ｓ１０であり、このときの次スキャン用テーブルの内容は図１１（ｆ）に示す通りＳ３とＳ７であるので、ステップＳ２０６の判定はＮＯとなるので、ＳＰ移行ありと判定される。
【００６９】
そして、次スキャン用テーブルの内容は図１１（ｉ）に示す通りとなり、これにＳ１が加わって３スキャン目のテーブル１４の初期状態が作成されると、３スキャン目でのＴ１の評価では、次スキャン用テーブルにはＳ１、Ｓ３、Ｓ８、Ｓ１０が格納されており、ステップＳ２０５でＴ１の後続ＳＰ番号群としてＳ２、Ｓ７が取り出されるので、ステップＳ２０６の判定はＮＯとなり、ＳＰ移行ありと判定される。
【００７０】
最後に、上記コントローラ支援装置１のハードウェア構成例を図１８に示す。
同図に示すコンピュータ１００は、ＣＰＵ１０１、メモリ１０２、入力部１０３、出力部１０４、記憶部１０５、記録媒体駆動部１０６、及びネットワーク接続部１０７を有し、これらがバス１０８に接続された構成となっている。同図に示す構成は一例であり、これに限るものではない。
【００７１】
ＣＰＵ１０１は、当該コンピュータ１００全体を制御する中央処理装置である。
メモリ１０２は、プログラム実行、データ更新等の際に、記憶部１０５（あるいは可搬型記録媒体１０９）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ１０１は、メモリ１０２に読み出したプログラム／データを用いて、上述してあるＳＦＣ図示表現プログラムの作成支援機能や、これをステップ／トランジション接続関係テーブル１３へと変換する機能等を実行する。
【００７２】
出力部１０４は、例えばディスプレイ等であり、ユーザがＳＦＣ図示表現プログラムを作成する際には、その入力に応じた図示表現プログラムを表示する。
入力部１０３は、例えば、キーボード、マウス等であり、ユーザはこれらを操作して、上記ＳＦＣ図示表現プログラムの入力操作等を行う。
【００７３】
ネットワーク接続部１０７は、上記通信線３と接続しており、この通信線３を介してコントローラ２との間でコマンド／データ等の送受信を行う。あるいは、ネットワーク接続部１０７は、更に例えばイントラネットやインターネット等のネットワークに接続して、他の情報処理装置とのコマンド／データ送受信を行うものであってもよい。
【００７４】
記憶部１０５は、例えばハードディスク等であり、上述した各種機能を上記ＣＰＵ１０１により実行させるための所定のアプリケーション・プログラムやデータ等が格納される。  あるいは、これらプログラム／データは、可搬型記録媒体１０９に記憶されているものであってもよい。この場合、可搬型記録媒体１０９に記憶されているプログラム／データは、記録媒体駆動部１０６によって読み出される。可搬型記録媒体１０９とは、例えば、ＦＤ（フレキシブル・ディスク）１０９ａ、ＣＤ−ＲＯＭ１０９ｂ、その他、ＤＶＤ、光磁気ディスク等である。
【００７５】
あるいは、また、上記プログラム／データは、ネットワーク接続部１０７により接続しているネットワークを介して、他の装置内に記憶されているものをダウンロードするものであってもよい。あるいは、更に、インターネットを介して、外部の他の装置内に記憶されているものをダウンロードするものであってもよい。
【００７６】
また、コントローラ２のハードウェア構成については、特に図示しないが、例えばＣＰＵ／ＭＰＵや記憶部（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）や通信部等を備えている。通信部は、上記通信線３と接続して上記コントローラ支援装置１と通信を行う。例えば上記接続関係テーブル１３をダウンロードする。また、通信部は、不図示の制御ネットワークにも接続しており、不図示の各種制御対象機器との間でデータ送受信を行う。
【００７７】
コントローラ２が備える上記記憶部には、図６、図７（ａ）〜（ｃ）、図１４等に示す処理を、ＣＰＵ／ＭＰＵにより実行させる為のアプリケーション・プログラムが格納されている。また、当該記憶部には、上記ダウンロードした接続関係テーブル１３が格納される。また、図５に示すテーブル１４，１５のフォーマットも格納されており、処理中にこれらテーブル１４、１５にデータが格納・更新されていく。
【００７８】
また、本発明は、上記本発明の各種処理をコンピュータ上で実現するプログラムを記録した可搬型記憶媒体として構成できるだけでなく、当該プログラム自体として構成することもできる。
【図面の簡単な説明】
【００７９】
【図１】本例のプログラマブル・コントローラ・システムの概略構成図である。
【図２】プログラマブル・コントローラ・システムの機能ブロック図である。
【図３】ＳＦＣ図示表現プログラムの一例を示す図である。
【図４】ステップ／トランジション接続関係テーブルのデータ構造例を示す図である。
【図５】（ａ）は活性ステップ群管理テーブル、（ｂ）は評価トランジション群テーブル、（ｃ）はトランジション成立条件テーブルの一例を示す図である。
【図６】（ａ）、（ｂ）は、制御処理における初期化処理のフローチャート図である。
【図７】制御処理フローチャート図であり、（ａ）は全体フロー、（ｂ）、（ｃ）はそのステップＳ１０５、Ｓ１０７の詳細フローである。
【図８】図３の図示表現プログラム例に基づいて作成された接続関係テーブルの例である。
【図９】各スキャン毎に活性ステップ群管理テーブル、評価トランジション群テーブルに格納されるＳＰ番号、ＴＮ番号を示す図である。
【図１０】図７の処理中の各テーブルの状態遷移を示す図（その１）である。
【図１１】図７の処理中の各テーブルの状態遷移を示す図（その２）である。
【図１２】単一シーケンスが直列に並ぶＳＦＣ図示表現プログラム例における活性ステップの遷移状態を示す図である。
【図１３】“ステップの追いかけ実行”を実現する処理を示す図である。
【図１４】第２の実施例におけるＳＰ／ＴＮ評価処理の詳細フローチャート図である。
【図１５】第２の実施例におけるＳＦＣ図示表現プログラムの一例を示す図である。
【図１６】図１５の図示表現プログラム例に基づいて作成された接続関係テーブルの例である。
【図１７】第２の実施例における各テーブルのデータ格納状態遷移例を示す図である。
【図１８】コンピュータ・ハードウェア構成図である。
【図１９】（ａ）〜（ｄ）はＳＦＣプログラムにおけるステップ／トランジションの基本的な接続関係例を示す図である。
【符号の説明】
【００８０】
１  コントローラ支援装置
２  コントローラ
３  通信線
１１  ＳＦＣ図示表現プログラム
１２  ＳＦＣ図示表現−ステップ／トランジション接続関係テーブル変換部
１３  ステップ／トランジション接続関係テーブル
１４  活性ステップ群管理テーブル
１５  評価トランジション群テーブル
１６  制御実行部
１７  トランジション評価部
２１  ＳＰ番号
２２  後続ＴＮ数
２３  後続ＴＮ番号群
３１  ＴＮ番号
３２  先行ＳＰ数
３３  先行ＳＰ番号群
３４  後続ＳＰ数
３５  後続ＳＰ番号群
１００  コンピュータ
１０１  ＣＰＵ
１０２  メモリ
１０３  入力部
１０４  出力部
１０５  記憶部
１０６  記録媒体駆動部
１０７  ネットワーク接続部
１０８  バス
１０９  可搬型記録媒体
１０９ａ  ＦＤ（フレキシブル・ディスク）
１０９ｂ  ＣＤ−ＲＯＭ
【図１】
2006195590.tif 000003
【図２】
2006195590.tif 000004
【図３】
2006195590.tif 000005
【図４】
2006195590.tif 000006
【図５】
2006195590.tif 000007
【図６】
2006195590.tif 000008
【図７】
2006195590.tif 000009
【図８】
2006195590.tif 000010
【図９】
2006195590.tif 000011
【図１０】
2006195590.tif 000012
【図１１】
2006195590.tif 000013
【図１２】
2006195590.tif 000014
【図１３】
2006195590.tif 000015
【図１４】
2006195590.tif 000016
【図１５】
2006195590.tif 000017
【図１６】
2006195590.tif 000018
【図１７】
2006195590.tif 000019
【図１８】
2006195590.tif 000020
【図１９】
2006195590.tif 000021