(57)【要約】 【課題】  この発明は、演算回数を減らすことで演算時間を短縮できる工程シミュレータを提供するものである。【解決手段】  各搬送装置に対応して変化チェックテーブルに２重化したチェック用変数を一致させた状態で格納する。各搬送装置においてイベントが発生する場合、チェック用変数の一方を変化させて不一致とし、イベントが発生しない場合、チェック用変数を一致した状態とし、ステップＳ２０２で不一致の場合ステップＳ２０５で演算を行い、一致の場合演算を行わないようにした。これにより、演算が省かれる分演算時間を短縮できる。【選択図】  図３
2007219996.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素からなる全工程を、各要素の動作を適当な時間ピッチのスキャン時間単位でシミュレーションしていくことで解析する工程シミュレータであって、各要素の動作をスキャンする動作用スキャン時間単位の１つとして適当な指定値を設定する指定値設定手段と、各要素の動作をシミュレーションする時の演算に使用されるスキャン時間単位である動作用スキャン時間単位の最小値を設定する最小値設定手段と、動作用スキャン時間単位として指定値設定手段によって設定した指定値を採用する指定値採用手段と、各スキャンにおいて各要素の動作に状態変化があるときに動作用スキャン時間単位として最小値設定手段で設定された最小値を採用する最小値採用手段と、動作用スキャン時間単位のスキャンによって各要素の動作の計算を行ってシミュレーションを行うシミュレーション動作計算手段と、各スキャンにおいて各要素が動作を実行するか否か判断し、動作の実行を行うと判断した場合にその要素のシミュレーション動作計算手段を実行させ、動作の実行を行わないと判断した場合にその要素のシミュレーション動作計算手段を実行させない動作実行判断手段とを備えた工程シミュレータにおいて、動作用スキャン時間単位として最小値を採用したスキャンのとき、各要素の動作の状態変化が発生しているか否かを判断する状態変化判断手段と、状態変化判断手段によって状態変化が発生していると判断したとき動作の演算を行うが、状態変化が発生していないと判断したとき動作の演算を行わないようにした論理演算実施手段とを備え、状態変化が発生していない要素における動作の演算を省くようにしたことを特徴とする工程シミュレータ。
【請求項２】
各スキャンにおいて各要素における動作完了までのスキャン時間単位の中での最短値を次の動作用スキャン時間単位の最短値として設定記憶する最短値設定手段と、動作用スキャン時間単位の最短値が指定値より小さいときその最短値を次の動作用スキャン時間単位として採用する最短値採用手段を備え、最小値採用手段を、各要素の動作に状態変化があるとき、および、動作用スキャン時間単位として最短値を採用して各要素の動作をシミュレーションした後に続くとき、の動作用スキャン時間単位として、夫々最小値設定手段で設定された最小値を採用するように構成したことを特徴とする請求項１に記載の工程シミュレータ。
【請求項３】
状態変化判断手段は、各要素に対応して各要素の状態変化が発生したかをチェックする変数を格納する変化チェックテーブルと、変化チェックテーブルに変数を登録するようにした変数登録手段と、変数登録手段の変数の変化により状態変化が発生したかを判断する変数変化判断手段を備えていることを特徴とする請求項１または２記載の工程シミュレータ。
【請求項４】
指定値設定手段は、各要素の動作のスキャンを最初から所定時間ピッチ毎の演算実施時間で行うための所定時間の所定値から動作用スキャン時間単位の指定値を設定するように構成し、動作用スキャン時間単位の指定値の設定のため所定値を採用したときは、状態変化が発生しているか否かに関係なく演算実施時間に動作の演算を行うようにしたことを特徴とする請求項１から３の何れか１項に記載の工程シミュレータ。
【請求項５】
指定値設定手段は、各要素の動作のスキャン時間単位の最大値を動作用スキャン時間単位の指定値として設定するように構成し、各スキャンにおいて各要素での動作完了までのスキャン時間単位が指定値として設定したスキャン時間単位の最大値以内か判断する判断手段を備え、指定値採用手段は、前記判断手段で動作完了までのスキャン時間単位がスキャン時間単位の指定値を超えると判断されたとき、動作用スキャン時間単位として指定値を採用するように構成し、最短値設定手段は、前記判断手段で動作完了までのスキャン時間単位が指定値以内と判断されたとき、その各要素のスキャン時間単位の中での最短値を動作用スキャン時間単位として設定記憶するように構成したことを特徴とする請求項２または３記載の工程シミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の要素の全工程を適当な時間ピッチでシミュレーションし、工程を解析する工程シミュレータに関する。
【背景技術】
【０００２】
特許文献１の従来の技術の欄には、生産ラインの全所要時間予測シミュレーションで一定時間毎に各工程のワークの状態を判断して所要時間を計算し、最終的に全所要時間を求める方法では各工程の作業状態の変化の有無とは無関係に、一定時間を１サイクルとして計算を実行しているため、計算に膨大な時間がかかる問題があることが記載されている。計算時間を短縮するため、スキャン時間単位（一定の時間ピッチ）を粗くすることが考えられるが、要素の動作が実際の要素の動作よりおくれて演算されることとなり精度が低下する。
【０００３】
そこで、本願出願人は、粗いスキャン時間単位（大きな時間ピッチ）にしても高精度に演算ができ、演算時間を短縮できる工程シミュレータとして特許文献２に記載のものを提案した。この工程シミュレータは、各要素の動作完了即ち状態変化が起きるまでのスキャン時間単位を夫々求め、更にそのスキャン時間単位の中での最短値を指定の演算に使用される動作用スキャン時間単位の最大値と比較し、該スキャン時間単位の最短値が動作用スキャン時間単位の最大値より小さくなるまで各スキャンにおいて各要素を動作用スキャン時間単位の最大値で演算する。そして、スキャン時間単位の最短値が動作用スキャン時間単位の最大値より小さくなると、そのスキャン時間単位の最短値を動作用スキャン時間単位の最短値として各要素の演算に使用する。動作用スキャン時間単位の最短値で各要素を演算した次のスキャンでは、指定の演算に使用される動作用スキャン時間単位の最小値で各要素を演算し、要素の状態変化を得ることができるようになっている。この要素の状態変化が起きるまでは動作用スキャン時間単位の最大値で、状態変化が起きるときは動作用スキャン時間単位の最短値と動作用スキャン時間単位の最小値で演算することで高精度で速い工程シミュレーションを行える。しかしながら、この工程シミュレータでは、要素が多数になると動作完了が頻発し短い時間間隔でスキャンを行うことになってスキャンの回数が増加し、演算時間の短縮にならないことがある。
【０００４】
【特許文献１】特開平６−１１０８９５号公報（従来の技術の欄）
【特許文献２】特開２００６−２４１１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この発明は、演算回数を減らすことで演算時間を短縮でき、更に演算を高精度に行い得るようにした工程シミュレータを提供するものである。
【課題を解決するための手段】
【０００６】
本発明は、複数の要素からなる全工程を、各要素の動作を適当な時間ピッチのスキャン時間単位でシミュレーションしていくことで解析する工程シミュレータであって、各要素の動作をスキャンする動作用スキャン時間単位の１つとして適当な指定値を設定する指定値設定手段と、各要素の動作をシミュレーションする時の演算に使用されるスキャン時間単位である動作用スキャン時間単位の最小値を設定する最小値設定手段と、動作用スキャン時間単位として指定値設定手段によって設定した指定値を採用する指定値採用手段と、各スキャンにおいて各要素の動作に状態変化があるときに動作用スキャン時間単位として最小値設定手段で設定された最小値を採用する最小値採用手段と、動作用スキャン時間単位のスキャンによって各要素の動作の計算を行ってシミュレーションを行うシミュレーション動作計算手段と、各スキャンにおいて各要素が動作を実行するか否か判断し、動作の実行を行うと判断した場合にその要素のシミュレーション動作計算手段を実行させ、動作の実行を行わないと判断した場合にその要素のシミュレーション動作計算手段を実行させない動作実行判断手段とを備えた工程シミュレータにおいて、動作用スキャン時間単位として最小値を採用したスキャンのとき、各要素の動作の状態変化が発生しているか否かを判断する状態変化判断手段と、状態変化判断手段によって状態変化が発生していると判断したとき動作の演算を行うが、状態変化が発生していないと判断したとき動作の演算を行わないようにした論理演算実施手段とを備え、状態変化が発生していない要素における動作の演算を省くようにしたことを特徴とする。
【０００７】
また、各スキャンにおいて各要素における動作完了までのスキャン時間単位の中での最短値を次の動作用スキャン時間単位の最短値として設定記憶する最短値設定手段と、動作用スキャン時間単位の最短値が指定値より小さいときその最短値を次の動作用スキャン時間単位として採用する最短値採用手段を備え、最小値採用手段を、各要素の動作に状態変化があるとき、および、動作用スキャン時間単位として最短値を採用して各要素の動作をシミュレーションした後に続くとき、の動作用スキャン時間単位として、夫々最小値設定手段で設定された最小値を採用するように構成したことを特徴とする。
【０００８】
前記の状態変化判断手段は、各要素に対応して各要素の状態変化が発生したかをチェックする変数を格納する変化チェックテーブルと、変化チェックテーブルに変数を登録するようにした変数登録手段と、変数登録手段の変数の変化により状態変化が発生したかを判断する変数変化判断手段を備えていることを特徴とする。
【０００９】
また、前記の指定値設定手段は、各要素の動作のスキャンを最初から所定時間ピッチ毎の演算実施時間で行うための所定時間の所定値から動作用スキャン時間単位の指定値を設定するように構成し、動作用スキャン時間単位の指定値の設定のため所定値を採用したときは、状態変化が発生しているか否かに関係なく演算実施時間に動作の演算を行うようにしたことを特徴とする。
【００１０】
または、前記の指定値設定手段は、各要素の動作のスキャン時間単位の最大値を動作用スキャン時間単位の指定値として設定するように構成し、各スキャンにおいて各要素での動作完了までのスキャン時間単位が指定値として設定したスキャン時間単位の最大値以内か判断する判断手段を備え、指定値採用手段は、前記判断手段で動作完了までのスキャン時間単位がスキャン時間単位の指定値を超えると判断されたとき、動作用スキャン時間単位として指定値を採用するように構成し、最短値設定手段は、前記判断手段で動作完了までのスキャン時間単位が指定値以内と判断されたとき、その各要素のスキャン時間単位の中での最短値を動作用スキャン時間単位として設定記憶するように構成したことを特徴とする。
【発明の効果】
【００１１】
本願の発明によれば、各要素の動作の状態変化が発生しているか否かを判断する状態変化判断手段によって状態変化が発生していると判断したとき動作の演算を行うが、状態変化が発生していないと判断したとき動作の演算を行わないようにした論理演算実施手段を備え、状態変化が発生していない要素における動作の演算を省くようにしたので、全工程での演算回数を減らすことができ、演算速度を速めることができる。これにより演算時間が短縮され演算結果を早く知ることができる効果がある。
【００１２】
また、各スキャンにおいて各要素における動作完了までのスキャン時間単位の中での最短値を次の動作用スキャン時間単位の最短値とし、その動作用スキャン時間単位の最短値が指定値より小さいときその最短値を次の動作用スキャン時間単位として採用し、各要素の動作に状態変化があるとき、および、動作用スキャン時間単位として最短値を採用して各要素の動作をシミュレーションした後に続くとき、動作用スキャン時間単位の最小値を次スキャンの演算に採用するので、全ての演算を一定の長いスキャン時間単位で行う場合のように、一定の長いスキャン時間単位が経過するまで動作の状態変化がシミュレーションに反映されずに実際の動作の状態変化に比べて大きく時間ピッチが開いて計算されず、実際の動作の状態変化までの時間ピッチと略同じように動作の状態変化までのスキャン時間単位を計算に反映でき、シミュレーションの誤差が非常に小さなものとなり高精度に計算できる。
【００１３】
状態変化判断手段は、各要素に対応して各要素の状態変化が発生したかをチェックする変数を格納する変化チェックテーブルと、変化チェックテーブルに変数を登録するようにした変数登録手段と、変数登録手段の変数の変化により状態変化が発生したかを判断する変数変化判断手段を備えており、変数登録手段がユーザーによって操作される場合、変化チェックテーブルの変数を格納する範囲を演算に必要な範囲のみにユーザーからの命令によって設定ができ、変化チェックテーブルの全格納範囲を演算時に参照する必要がなくなるので更に演算を高速化する効果があり、また、変数登録手段が自動によって操作される場合、ユーザーが命令をする必要がなく操作が容易になる効果がある。
【００１４】
また、指定値設定手段は、各要素の動作のスキャンを最初から所定時間ピッチで行う所定時間の所定値を動作用スキャン時間単位の指定値として設定するように構成し、動作用スキャン時間単位の指定値として所定値を採用したときは、状態変化が発生しているか否かに関係なく動作の演算を行うようにしたので、最初から所定時間ピッチでの各要素の状態を知ることができ好ましい。
【００１５】
前記の指定値設定手段は、各要素の動作のスキャン時間単位の最大値を動作用スキャン時間単位の指定値として設定するように構成し、各スキャンにおいて各要素での動作完了までのスキャン時間単位が指定値として設定したスキャン時間単位の最大値以内か判断する判断手段を備え、指定値採用手段は、前記判断手段で動作完了までのスキャン時間単位がスキャン時間単位の指定値を超えると判断されたとき、動作用スキャン時間単位として指定値を採用するように構成し、最短値設定手段は、前記判断手段で動作完了までのスキャン時間単位が指定値以内と判断されたとき、その各要素のスキャン時間単位の中での最短値を動作用スキャン時間単位として設定記憶するように構成したので、全工程での演算回数を減らすこと、及び、動作の状態変化が無い場合にはスキャン時間単位の最大値で計算を行うので、一定の短いスキャン時間単位で全ての計算を行う場合に比べ更に計算を短時間で行える効果がある。
【発明を実施するための最良の形態】
【００１６】
本願発明の実施の形態について図１〜図８に基づいて説明する。図１はパーソナルコンピュータＰＣ１であり、入力装置としてのキーボード２とシミュレーション結果等を表示する表示装置としてのディスプレイ３とプログラムや計算結果等が記憶される記憶装置としてのメモリ４とシミュレーションを実行するＣＰＵ５と時計手段６とを備え、メモリ４に図２〜図５のフローチャートに示すプログラムが格納されて工程シミュレータが構成されている。また、キーボード２からは、各要素の動作のスキャンを最初から所定時間ピッチ毎の演算実施時間に行うために演算実施時間を決めるための適当な所定時間の所定値がプログラムの実行に先立って入力され、メモリ４にはその所定値が記憶される。この所定時間の所定値は、各要素の動作の開始から完了までの時間ピッチの中で最も短い時間ピッチより短い値となっている。この所定時間の所定値から、後述の図５に示す論理演算実施手段のステップＳ３０７の指定値設定手段が動作用スキャン時間単位の指定値を設定するようになっており、指定値設定手段は、あるスキャンの時間から次の演算実施時間に達するまでの残り時間を算出し、その残り時間を指定値に設定する。演算実施時間は、所定時間の所定値から決められる要素の動作の開始から所定時間ピッチ毎に演算を実行する時間である。また、キーボード２とメモリ４とは最小値設定手段も兼用しており、キーボード２から入力設定されたプログラムの実行に適する前記所定値より小さい適当な時間ピッチの動作用スキャン時間単位の最小値がメモリ４に記憶されるようになっている。動作用スキャン時間単位は、１スキャン中の各要素での動作のシミュレーションの計算に使われる時間ピッチである。
【００１７】
また、前記メモリ４には、図６に示すように、各要素に対応して各要素の状態変化が発生したかをチェックするための変数（以下チェック用変数と記載する）を２重化して格納すると共に、チェック用変数の登録個数を格納する変化チェックテーブル８が設定されている。ここで２重化とは、チェック用変数をコピーして、同一のチェック用変数を２つ用意することであり、例えば、図６ではチェック用変数Ｘがアドレス１００１とアドレス１００５に格納される。
【００１８】
変化チェックテーブル８に格納されたチェック用変数は、各要素により、例えば、間接信号参照によって参照される。ここで間接信号参照とは、対応する要素のみが直接参照することができる内部変数が格納されたアドレスを、各要素が直接参照することができる外部変数に記憶させ、ある要素が他の要素の内部変数を参照する際に、ある要素が外部変数に記憶されたアドレスを一度参照して、その参照したアドレスにより他の要素の内部変数をある要素が参照することである。この間接信号参照の場合には、変化チェックテーブル８は、チェック用変数を内部変数として格納し、更にチェック用変数の格納されたアドレスを記憶した外部変数を格納している。
【００１９】
また、各要素のチェック用変数の格納範囲はメモリ４に適宜な範囲で用意されており、ある要素のチェック用変数の格納範囲が１〜ｎ個ある場合、システムでチェック用変数の格納範囲を変化チェックテーブル８として設定する場合には、１〜ｎ個全ての格納範囲が２重化されて設定される。また、ユーザーがチェック用変数の格納範囲を指定する登録命令を作成し、その登録命令により格納範囲を変化チェックテーブル８として設定する場合には、１〜ｎ個から指定された個数の格納範囲が２重化されて設定される。また、チェック用変数は直接信号参照とによって参照するようにしても良く、各要素のチェック用変数を外部変数に２重化して記憶させ、ある要素のチェック用変数を他の要素が直接参照できるようにしても良い。また、２重化するときに、ある要素の２重化したチェック用変数の一方を内部変数として登録し、他方を外部変数として登録するようにすることもできる。
【００２０】
シミュレーションの対象とする複数の要素からなる全工程は、例えば要素としてのワーク洗浄装置や搬送装置等を配置した搬送ラインにおいて、搬送装置でのワーク搬送パレットによるワークの移動工程や、ワークをタイマーに設定した所定時間の間洗浄するタイムカウント工程等を有するものであり、搬送装置でのワーク搬送パレットの移動とワーク洗浄装置でのタイマーのタイムカウント等が要素の動作である。本願実施の形態では説明を簡単にするため、搬送装置７，９を配設した搬送ライン１０において、搬送装置７，９でのワーク搬送パレット１２によるワークＷの移動工程により説明する。前記変化チェックテーブル８には、図６に示すように、搬送装置７，９の各チェック用変数Ｘ，Ｙが２重化されて２セット４個が内部変数として格納され、その個数４個が登録個数として登録され、チェック用変数のアドレス１００１，１００５，２００１，２００５が外部変数として格納される。
【００２１】
次に図２〜図５のフローチャートに示すプログラムについて説明する。先ず、図２に示すフローチャートについて説明する。ステップＳ１は、工程シミュレータの初期化手段であり、各ステップでの変数クリア、所定時間の所定値と動作用スキャン時間単位の最小値が設定され、短スキャン設定フラグと短スキャン実行フラグとイベント反映フラグと搬送装置７，９の経過時間記憶と動作中フラグのクリアが行われる。ここで変数とは、工程シミュレータに用意されているチェック用変数と各ステップでのチェック用スキャン時間単位と動作用スキャン時間単位である。短スキャン設定フラグは、あるスキャンの次のスキャンで動作完了（本実施例ではワーク搬送パレット１２のワーク搬入端Ａとワーク搬出端Ｂへの移動）となる場合に、次のスキャンで後述のステップＳ３０４で計算される際に使われるチェック用スキャン時間単位の最短値を後述のステップＳ７で動作用スキャン時間単位にコピーさせるためのフラグである。短スキャン実行フラグは最短値で計算したスキャンの次のスキャンでイベント（状態変化）を反映するため後述のステップＳ３０４で動作用スキャン時間単位の最小値を使って計算させるため、後述のステップＳ３０９〜Ｓ３１１で最短値を設定させないようにするためのフラグである。イベントとは、例えば、ワークＷの搬入搬出である。イベント反映フラグは自分を含め、図５に示す論理演算実施手段の処理で２重化されたチェック用変数の一方に変化があったときセットされ、後述のステップＳ１８で動作用スキャン時間単位を最小値とするフラグである。
【００２２】
ステップＳ２は各装置の初期化手段である。図３はステップＳ２の各装置の初期化手段の処理を示すフローチャートであり、ステップＳ１０１で前記のようにメモリ４にシステムでチェック用変数の格納範囲を変化チェックテーブル８として設定、または、ユーザーの登録命令により格納範囲を変化チェックテーブル８として設定し、ステップＳ１０２で各搬送装置７，９のチェック用変数を２重化して一致させる。
【００２３】
ステップＳ７は後述の第１、第２の最短値設定手段で設定記憶した前回のスキャンのチェック用スキャン時間単位の最短値が後述の指定値設定手段で設定される動作用スキャン時間単位の指定値より小さいとき、その最短値を次の演算に使用する動作用スキャン時間単位に採用する最短値採用手段である。ここでチェック用スキャン時間単位の最短値は、最短値設定手段により設定記憶された、各スキャンにおいて各要素における動作完了までのスキャン時間単位の中での最短値であり、次スキャンでの動作用スキャン時間単位の最短値として設定される。搬送装置７，９では動作完了は、ワーク搬送パレット１２がワーク搬入端Ａまたはワーク搬出端Ｂに位置することである。ステップＳ１１は各装置の演算手段であり、各装置の演算手段の処理は図４に示すフローチャートに従って実行され、各装置の演算を行ったり、演算を行わずに省く。
【００２４】
ステップＳ１７は、後述のステップＳ３０９の判断手段で各装置での動作完了までのスキャン時間単位（以下動作完了時間と記載する）がステップＳ３０７の指定値設定手段で設定される動作用スキャン時間単位の指定値（残り時間）を超えると判断されたとき、後述のステップＳ３０４で動作用スキャン時間単位の指定値で動作の計算を実行させるため、動作用スキャン時間単位の指定値を動作用スキャン時間単位に採用する指定値採用手段である。ステップＳ１８は、後述のステップＳ１０の最短値設定手段でチェック用スキャン時間単位の最短値を動作用スキャン時間単位に採用し、その最短値をつかって各装置の動作を計算した後、続く次スキャンでの動作の計算に使われる動作用スキャン時間単位として動作用スキャン時間単位の最小値を採用する最小値採用手段である。
【００２５】
次に、各装置の演算手段の処理について、図４に示すフローチャートにより説明する。ステップＳ２０１は、演算実施時間かどうかを判断する演算実施時間判断手段であり、演算実施時間の場合、状態変化が発生しているか否かに関係なくステップＳ２０５の論理演算実施手段で演算を実施させる。ステップＳ２０２は、変化チェックテーブル８に登録された２重化したチェック用変数の一方と他方とが一致する場合、チェック用変数に変化なしと判断し、不一致の場合、チェック用変数に変化ありと判断する変数変化判断手段である。この変数変化判断手段と変化チェックテーブル８とステップＳ１０１の変数登録手段とから状態変化判断手段が構成されている。ステップＳ２０５は、論理演算実施手段であり、論理手段実施手段の処理は図５に示すフローチャートに従って実行され、各装置の動作や動作用スキャン時間単位の指定値やチェック用スキャン時間単位の最短値を演算する。
【００２６】
ステップＳ２１１は経過時間記憶手段であり、ステップＳ２０２で変化なしの場合に前回のスキャンでの経過時間記憶に動作用スキャン時間単位を足して新たな経過時間記憶を行う。ステップＳ２１２において、動作完了時間＝動作完了時間−経過時間記憶の右辺の動作完了時間は、演算停止直前のステップでの動作完了時間であり、左辺の動作完了時間は、ステップＳ２１３〜Ｓ２１５で使用される。ステップＳ２１３は動作完了判断手段であり、前回のスキャンで算出された動作完了時間とステップＳ２１１で算出された経過時間記憶がステップＳ２１２で一致したとき、動作完了として状態変化が発生しているか否かに関係なくステップＳ２０５の論理演算実施手段で演算を実施させる。ステップＳ２１４は、ある装置のステップＳ２１２で算出された動作完了時間が演算実施時間に達するまでの残り時間以内か判断する第１の判断手段である。残り時間以内であればステップＳ２１５に進む。ステップＳ２１４では、残り時間は演算実施時間から時計手段６が計時した最初からの経過時間を引くことで算出される。動作完了時間は、搬送装置７，９では、ワーク搬送パレット１２がワーク搬入端Ａまたはワーク搬出端Ｂに達するまでの移動完了時間であり、タイマーの場合には、タイマーがタイムアップするまでの残り時間が動作完了時間である。
【００２７】
ステップＳ２１５は、ステップＳ２１４の第１の判断手段で動作完了時間が残り時間以内と判断された場合、各装置の動作完了時間の中での最短値をチェック用スキャン時間単位の最短値として設定記憶する第１の最短値設定手段である。ステップＳ２１５においてチェック用スキャン時間単位の最短値の設定記憶は、１スキャン中において、第１の最短値設定手段または後述の第２の最短値設定手段においてある装置より以前の装置によって既に設定記憶されたチェック用スキャン時間単位の最短値と、ある装置のステップＳ２１２で求められた動作完了時間を比較し、より短い方をチェック用スキャン時間単位の最短値として更新し設定記憶する。尚、ある１スキャン中において最初にステップＳ２１５が実行される最初の装置に対しては、その最初の装置の以前の装置がないので、ステップＳ２１５では、その最初の装置の動作完了時間がチェック用スキャン時間単位の最短値に設定される。
【００２８】
次に、各装置の論理演算実施手段の処理について、図５に示すフローチャートにより説明する。ステップＳ３０１は各装置を論理チェックする論理チェック手段である。論理チェック手段はある装置が他の装置での動作の終了によりイベントを発生できるようになったかチェックし、また、他の装置のチェック用変数を変更できる。例えば、この搬送ライン１０では、搬送装置７では搬送装置９にワークＷを搬出できるかチェックし、搬送装置９では搬送装置７からワークＷを搬入できるかチェックし、搬送装置７が動作完了となっているとき、搬送装置９がチェック用変数を不一致にすることができる。
【００２９】
ステップＳ３０２は装置が動作しているかを判断する動作実行判断手段である。搬送ライン１０では、搬送装置７，９がワークＷを移動中か、タイマーの場合にはタイマーが実行中かを判断する。ステップＳ３０２で動作を実施していると判断した場合は、ステップＳ３０３以降を実行し、実行していないと判断した場合には処理を終了する。ステップＳ３０４のシミュレーション動作計算手段は、前記最短値採用手段と最小値採用手段と指定値採用手段の何れかで採用された動作用スキャン時間単位により、１スキャンでの各装置の動作状態を演算する。ステップＳ３０４のシミュレーション動作計算手段は、搬送ライン１０に対しての動作状態の演算として、搬送装置７または搬送装置９でのワーク搬送パレット１２によるワークＷの移動位置を計算する移動位置計算手段である。タイマーの場合はタイムカウントを実行するタイムカウント計算手段である。また、必要に応じて各装置の変数を変更できる。
【００３０】
ステップＳ３０９は、１スキャンのシミュレーションにおいてシミュレーション動作計算手段で算出された各装置での動作完了時間が演算実施時間に達するまでの残り時間以内か判断する第２の判断手段であり、残り時間以内であればステップＳ３１０に進む。ステップＳ３１０は、前記第２の判断手段で各装置での動作完了時間が残り時間以内と判断された場合、前記第１の最短値設定手段と略同様に、各装置における動作完了までのスキャン時間単位の中での最短値をチェック用スキャン時間単位の最短値として設定記憶する第２の最短値設定手段である。
【００３１】
次に図２〜図５のフローチャートに示すプログラム及び図７、図８により、前記搬送ライン１０のシミュレーションの実行を説明する。搬送ライン１０において、例えば、搬送装置７ではワーク搬送パレット１２のワーク搬入端Ａからワーク搬出端Ｂまでの移動時間を３．６秒とし、搬送装置９ではワーク搬送パレット１２のワーク搬入端Ａからワーク搬出端Ｂまでの移動時間を４．５秒とし、両端で移動方向が反転するとする。また、以下では、所定時間の所定値を２秒、動作用スキャン時間単位の最小値を０．１秒、として説明する。所定時間の所定値が２秒より、演算実施時間が０秒、２秒、４秒、６秒…に設定され、この演算実施時間では各要素の動作のスキャンが必ず行われる。尚、ここで、ユーザーがチェック用変数の格納範囲を指定する場合には、プログラムの実行に先立って登録命令が入力される。
【００３２】
また、工程シミュレータまたは登録命令により搬送装置７，９に対応して２重化されたチェック用変数が内部変数として変化チェックテーブル８に格納されていると共にチェック用変数の格納されたアドレスを記憶した外部変数が変化チェックテーブル８に格納され、３スキャン目の実行が終わり、最初から３.６秒経過し次演算実施時間４秒に達するまでの残り時間が０．４秒であり、イベント反映フラグがＯＮされ、搬送装置７のチェック用変数が不一致となっており、ステップＳ１７で残り時間０．４秒が動作用スキャン時間単位にコピーされており、図７に示すように搬送装置７のワークＷが載置されたワーク搬送パレット１２がワーク搬出端Ｂに位置し、搬送装置９のワーク搬送パレット１２がワーク搬入端Ａに位置している状態であり、搬送装置７の動作中フラグがＯＮしており、搬送装置９の移動中フラグがＯＦＦしている状態から説明する。
【００３３】
第４スキャン目では先ず、イベント反映フラグがＯＮなのでステップＳ５からステップＳ１８で動作用スキャン時間単位が０．４秒から最小値０．１秒に設定され、ステップＳ１９でイベント反映フラグをクリアし、ステップＳ１０でチェック用スキャン時間単位が初期化され、ステップＳ１１に進み、各装置の演算手段による処理が実行される。ステップＳ１１の各装置の演算手段での処理では、先ず搬送装置７についてステップＳ２０１で演算実施時間か判断される。演算実施時間ではないのでステップＳ２０２に進み、搬送装置７のチェック用変数が不一致なので変化ありとなりステップＳ２０３を介してステップＳ２０４で仮動作用スキャン時間単位に動作用スキャン時間単位０．１秒がコピーされ、動作用スキャン時間単位が第２スキャン目の経過時間記憶０秒とステップＳ１８での動作用スキャン時間単位０．１秒との加算により０．１秒に更新される。次にステップＳ２０５の各装置の論理演算実施手段の処理が実行される。
【００３４】
ステップＳ２０５の各装置の論理演算実施手段の処理では、先ずステップＳ３０１を介してステップＳ３０２で移動実行中と判断されて、ステップＳ３０３で動作中フラグがＯＮされる。次にステップＳ３０４では、第３スキャン目で搬送装置７がワーク搬出端Ｂとなったので、最小値０．１秒での演算により搬送装置９へのワーク搬出イベントが反映されると共に反転したワーク搬送パレット１２の移動位置と動作完了時間３．５秒（ワーク搬入端Ａへ達するまでの時間）が求められる。また、搬送装置７から搬送装置９へのワーク搬出イベントにより、搬送装置９にワーク搬入イベントが発生するので、ここで外部変数が参照され、例えばアドレス２００５に格納されている搬送装置９のチェック用変数Ｙの一方が変化される。更に時計手段６が最初から３．７秒経過したことを計時する。次にステップＳ３０５で搬送装置７の演算においてチェック用変数の変化は無いのでステップＳ３０７に進み、次の演算実施時間４秒に達するまでの残り時間が時計手段６の３．７秒から０．３秒と演算される。次に、ステップＳ３０８からステップＳ３０９で移動完了時間３．５秒が残り時間０．３秒を超えていると判断され各装置の論理演算実施手段の処理が終了しステップＳ２０６に進む。
【００３５】
ステップＳ２０６で経過時間記憶が０秒とされて、ステップＳ２０７を介してステップＳ２０８で搬送装置７のチェック用変数が一致され、ステップＳ２０９でステップＳ２１０での仮動作用スキャン時間単位０．１秒が動作用スキャン時間単位にコピーされ、各装置の演算手段の処理が終了し、ステップＳ１２に進む。ステップＳ１２で搬送装置９の演算が完了していないのでステップＳ１１の各装置の演算手段の処理が実行される。搬送装置９のチェック用変数は搬送装置７に対するシミュレーション動作計算手段での演算時に変更されているので、搬送装置９についても搬送装置７と略同様に、ステップＳ２０１〜Ｓ２０３、Ｓ２１０、Ｓ２０５が実行され、ステップＳ３０９では動作完了時間４．４秒（ワーク搬出端Ｂへ達するまでの時間）と残り時間０．３秒が比較されたてステップＳ２０６〜Ｓ２０９を介して、ステップＳ１２で全ての装置の演算が完了したと判断されて第４スキャン目が完了し、ステップＳ１３、Ｓ１４、Ｓ１６を介して、ステップＳ１７で残り時間０．３秒が動作用スキャン時間単位にコピーされる。
【００３６】
次に第５スキャン目では、イベント反映フラグ、短スキャン設定フラグがＯＦＦなので、ステップＳ５、Ｓ６を介してステップＳ１１に進み、搬送装置７について各装置の演算手段が処理される。第５スキャン目では演算実施時間４秒となるので、ステップＳ２０１からステップＳ２０３を介してステップＳ２０４に進み、仮動作用スキャン時間単位に動作用スキャン時間単位０．３秒がコピーされ、経過時間記憶が０秒なので動作用スキャン時間単位は０．３秒であり、ステップＳ２０５に進む。次にステップＳ２０５でステップＳ３０１〜Ｓ３０５が実行され、Ｓ３０７で次演算実施時間までの残り時間２秒が演算され、ステップＳ３０８を介してステップＳ３０９でステップＳ３０４での動作完了時間３．２秒が残り時間２秒より大きいのでステップＳ２０６に進み、ステップＳ２０７〜Ｓ２０９、Ｓ１２を介して搬送装置９について各装置の演算手段による処理が略同様に実施される。搬送装置９についての各装置の演算手段による処理が終わりスキャンが完了するとステップＳ１３〜ステップＳ１７が実施され動作用スキャン時間単位が２秒に設定される。
【００３７】
第６スキャン目では演算実施時間６秒となるので、第５スキャン目と同様に各ステップが実行される。このとき搬送装置７でのステップＳ３０４では、動作完了時間１．２秒が算出され、ステップＳ３０９でこの動作完了時間１．２秒とステップＳ３０７での残り時間２秒とが比較され、ステップＳ３１０でチェック用スキャン時間単位の最短値１．２秒が設定され、ステップＳ３１１で短スキャン設定フラグがセットされ、ステップＳ３１２で動作中フラグがリセットされる。搬送装置９でのステップＳ３０４で算出される動作完了時間２．１秒は残り時間２秒より大きいので、チェック用スキャン時間単位の最短値は１．２秒のまま更新されない。
【００３８】
第７スキャン目では、短スキャン設定フラグがＯＮとなっているので、ステップＳ５〜Ｓ１０で前記チェック用スキャン時間単位の最短値により動作用スキャン時間単位が１．２秒に更新され、短スキャン実行フラグがセット、短スキャン設定フラグがクリアされる。次に搬送装置７に対してステップＳ１１の処理が実行される。演算実施時間ではなく２重化されたチェック用変数が一致しているので、ステップＳ２０２を介してステップＳ２１１に進み、第６スキャン目の経過時間記憶０秒と動作用スキャン時間単位１．２とが足された１．２秒に経過時間記憶が更新される。ステップＳ２１２では、第６スキャン目の動作完了時間１．２秒からこの経過時間記憶１．２秒が減算され、動作完了時間が０秒に更新される。動作完了時間が０秒なのでステップＳ２１３からステップＳ２０３に進み、動作中フラグがＯＦＦなのでステップＳ２１０を介してＳ２０５に進む。次にステップＳ２０５でステップＳ３０１〜Ｓ３０４が実行される。ステップＳ３０４で次の動作完了時間３．６秒が算出され、また、搬送装置７が動作完了と演算されるので搬送装置７のチェック用変数が不一致にされる。次に、チェック用変数に変化があったのでステップＳ３０５を介してステップＳ３０６でイベント反映フラグがＯＮにされ、ステップＳ３０７で残り時間０．８秒が演算されて、ステップＳ３０８で短スキャン実行フラグがＯＮよりステップＳ２０６へ進む。
【００３９】
次にイベント反映フラグがＯＮなのでステップＳ２０７からステップＳ２０９へ進み、ステップＳ１２を介して、搬送装置９についてステップＳ１１の処理が実行される。ステップＳ２０２では、チェック用変数が一致しているのでステップＳ２１１に進み、経過時間記憶が１．２秒とされ、ステップＳ２１２では、第６スキャン目での動作完了時間２．１秒からステップＳ２１１の経過時間記憶１．２秒が減算され、動作完了時間０．９秒が算出され、ステップＳ２１３、Ｓ２１４を介して、ステップＳ１２〜Ｓ１７が実施され動作用スキャン時間単位が０．８秒に設定される。この第７スキャン目の各装置の演算手段での搬送装置９に対する処理では、チェック用変数が一致なので状態変化判断手段によりステップＳ２０５の論理演算実施手段の処理が省かれることになり、ワーク搬送パレット１２の動作の状態は第６スキャン目と同じ状態となっている。
【００４０】
第８スキャン目では、第４スキャン目と略同様にステップＳ１８で動作用スキャン時間単位が最小値０．１秒に更新され、搬送装置７に対してステップＳ１１の処理が行われる。次に、ステップＳ１２を介して搬送装置９に対して前記第７スキャン目と略同様にステップＳ１１の処理が行われ、論理演算手段での演算が行われず省かれる。このときステップＳ２１１での経過時間記憶は１．３秒となており、ステップＳ２１２での動作完了時間の算出は、第６スキャン目での動作完了時間２．１秒から経過時間記憶１．３秒が減算されて０．８秒となっている。そして、ステップＳ１５を除くステップＳ１２〜Ｓ１７が実施され動作用スキャン時間単位が０．７秒に設定される。
【００４１】
第９スキャン目では演算実施時間８秒となるので、第５スキャン目と略同様にステップＳ５、Ｓ６を介して搬送装置７に対してステップＳ１１の処理が行われる。次にステップＳ１２を介して搬送装置９に対してステップＳ１１の処理が行われる。ステップＳ２０１からステップＳ２０３に進み、動作中フラグがＯＮでなのでステップＳ２０４で第８スキャン目の経過時間記憶１．３秒と動作用スキャン時間単位０．７秒が足され、動作用スキャン時間単位が２秒に更新され、ステップＳ２０５の論理演算手段による処理が実行され、ステップＳ２０６〜Ｓ１７が実行され第１０スキャン目となる。第１０スキャン目以降も上記各スキャン目と略同様にフローチャートにしたがって実行される。
【００４２】
上記のように、第７、第８スキャン目の搬送装置９のように、移動完了または演算時間実施ではなくチェック用変数が一致している場合、変数変化判断手段により論理演算実施手段での処理が行われず演算が省かれるので、要素が多数の場合に全工程での演算回数を減らすことになる。よって演算速度を速めることができ、演算時間が短縮され演算結果を早く知ることができる。
【００４３】
次に第２の実施の形態について図９、図１０に基づいて説明する。この実施の形態は本願発明を特許文献２に記載の発明に適用したものである。これは、特許文献２に記載のフローチャートのステップＳ６〜Ｓ２２の間に第１の実施の形態の各装置の演算手段を挿入し、各装置の演算手段の論理演算実施手段を特許文献２に記載のフローチャートのステップＳ７〜Ｓ２１としたものと略同じである。第２の実施の形態においても説明を簡単にするため、第１の実施の形態と同様な２個の搬送装置７，９を配設した搬送ライン１０により説明する。図１に示すキーボード２とメモリ４から指定値設定手段が構成され、キーボード２から各装置の動作のスキャン時間単位の最大値を２秒として入力し、メモリに動作用スキャン時間単位の指定値として格納してある。この指定値２秒は背景技術に記載の動作用スキャン時間単位の最大値であり、搬送装置７，９の動作完了までのスキャン時間単位（動作完了時間）の最短値が指定値以内か判断する判断手段により、動作完了時間の最短値が指定値を超えると判断されたとき、この指定値が指定値採用手段により動作用スキャン時間単位として指定値採用手段により採用されて演算に使われる。また、動作完了時間が小さいとき動作完了時間の最短値が最短値設定手段により設定記憶されて演算に使われる。また、イベント発生時には動作用スキャン時間単位の最小値０．１秒が演算に使われる。
【００４４】
図９に示すように、第３スキャン目の演算が終了し、搬送装置７のワークＷが載置されたワーク搬送パレット１２がワーク搬出端Ｂにある状態から第４スキャン目が開始されたとすると、ワークＷの搬送装置７から搬送装置９への受け渡しのイベントが発生するのでチェック用変数不一致となっており、動作用スキャン時間単位の最小値０．１秒で演算が行われる。次に第５スキャン目では、搬送装置７，９の動作完了時間が指定値２秒を超えているので指定値２秒が動作用スキャン時間単位に設定され、搬送装置７，９の演算が行われる。ここで搬送装置７の動作完了時間は１．５秒であり、搬送装置９の動作完了時間は２．４秒であり、最短値が１．５秒となるので動作用スキャン時間単位が１．５秒に設定される。
【００４５】
第６スキャン目では、搬送装置７について動作用スキャン時間単位１．５秒で演算され、搬送装置９では、１．５秒では動作完了とならないのでチェック用変数が一致した状態であり、演算が省かれる。このとき搬送装置９に対しては、前記第１の実施の形態のステップＳ２１１からステップＳ２１６が略同様に実施され、動作完了時間１．５秒が経過時間記憶として記憶され、動作完了時間が第５スキャン目の動作完了時間２．４秒から経過時間記憶１．５秒が引かれて動作完了時間が０．９秒が算出される。また、指定値２秒間隔で演算を行うため、第５スキャン目から経過時間１．５秒経過したことになり、搬送装置９に対して指定値２秒になるまでの時間０．５秒が記憶される。
【００４６】
第７スキャン目ではイベント発生により搬送装置７に対して最小値０．１秒が動作用スキャン時間単位となって演算が行われ動作完了時間が３．５秒となるが、更に０．１秒経過しても搬送装置９は動作完了とならないので第６スキャン目と略同様に演算が省かれ、第６スキャン目の経過時間記憶１．５秒に動作用スキャン時間単位０．１秒が加算され第５スキャン目からの経過時間記憶が１．６秒に更新され、動作完了時間が第５スキャン目の動作完了時間２．４秒から経過時間記憶１．６が減算されて動作完了時間０．８秒が算出される。また、搬送装置９に対して指定値２秒になるまでの時間０．４秒が記憶される。搬送装置７の動作完了時間３．５秒は、指定値２秒より大きく、搬送装置９では残り０．４秒で第５スキャン目から２秒経過することになるので、第８スキャン目では間隔０．４秒が動作用スキャン時間単位に設定される。
【００４７】
第８スキャン目では、搬送装置７が第６スキャン目の搬送装置９と略同様に間隔０．４秒では動作完了とならないので演算がストップされる。搬送装置９では、第７スキャン目から０．４秒経過したこととなるので、第５スキャン目から経過時間２秒経過したこととなり、搬送装置９に対しては動作用スキャン時間単位が２秒に更新され、２秒で演算される。以上のように、動作用スキャン時間単位によって搬送装置７，９が動作完了とならない場合に演算を省くようにしたので、特許文献２においても演算速度を速めることができる。尚、本願発明は、最短値を使わない、一定時間を１サイクルとし、動作変化がある場合には、最小値で演算を実行するものにも適応することができる。
【図面の簡単な説明】
【００４８】
【図１】本願発明の工程シミュレータの構成を示すブロック図である。
【図２】工程シミュレータのフローチャートである。
【図３】各装置初期化手段のフローチャートである。
【図４】各装置の演算手段のフローチャートである。
【図５】論理演算実施手段のフローチャートである。
【図６】変化チェックテーブルを示す説明図である。
【図７】搬送ラインを示す説明図である。
【図８】搬送ラインを示す説明図である。
【図９】第２の実施の形態の搬送ラインを示す説明図である。
【図１０】第２の実施の形態の搬送ラインを示す説明図である。
【符号の説明】
【００４９】
７，９  搬送装置（要素）
１０  搬送ライン（工程）
【図１】
2007219996.tif 000003
【図２】
2007219996.tif 000004
【図３】
2007219996.tif 000005
【図４】
2007219996.tif 000006
【図５】
2007219996.tif 000007
【図６】
2007219996.tif 000008
【図７】
2007219996.tif 000009
【図８】
2007219996.tif 000010
【図９】
2007219996.tif 000011
【図１０】
2007219996.tif 000012