(57)【要約】 【課題】  大きなスキャン時間単位にしても高精度に演算を実行でき、演算時間を短縮できる工程シミュレータを提供する。【解決手段】  各要素の動作をシミュレーション計算するスキャン中に、次スキャンでのシミュレーションに使うスキャン時間単位（時間ピッチ）を決めるため、各要素の状態変化までのスキャン時間単位の中で最短値を求め、最短値が適当に設定したスキャン時間単位の設定値より大きい場合には、次スキャンでは設定値でシミュレーション計算を行い、最短値が設定値より小さい場合には最短値でシミュレーション計算を行い、最短値で計算した更に次スキャンでは適当に設定したスキャン時間単位の最小値でシミュレーション計算を行う。【選択図】  図３
2006024113.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素からなる全工程を、各要素の動作を適当な時間ピッチのスキャン時間単位でシミュレーションしていくことで解析する工程シミュレータにおいて、シミュレーションの１スキャン中における各要素の動作のスキャン時間単位の最大値をチェック用スキャン時間単位の設定値として設定する設定値設定手段と、チェック用スキャン時間単位の設定値以下であり、各要素の動作をシミュレーションする時の演算に使用されるスキャン時間単位である動作用スキャン時間単位の最小値を設定する最小値設定手段と、１スキャンのシミュレーションにおいて各要素での動作完了までのスキャン時間単位がチェック用スキャン時間単位の設定値以内か判断する判断手段と、前記判断手段で１スキャン中の各要素での動作完了までのスキャン時間単位がチェック用スキャン時間単位の設定値以内と判断されたとき、その各要素のスキャン時間単位の中での最短値をチェック用スキャン時間単位の最短値として設定記憶する最短値設定手段と、前記最短値設定手段で記憶したチェック用スキャン時間単位の最短値を動作用スキャン時間単位に採用する最短値採用手段と、前記判断手段でスキャン時間単位がチェック用スキャン時間単位の設定値を超えると判断されたとき、チェック用スキャン時間単位の設定値を動作用スキャン時間単位に採用する設定値採用手段と、最短値採用手段での動作用スキャン時間単位で１スキャンでの各要素の動作をシミュレーションをした後、続く次スキャン目では最小値設定手段で設定された動作用スキャン時間単位の最小値を動作用スキャン時間単位に採用する最小値採用手段と、最小値採用手段と最短値採用手段と設定値採用手段の何れかの動作用スキャン時間単位により、１スキャンでの各要素の動作のシミュレーションを行うシミュレーション動作計算手段と、１スキャン中で各要素が動作を実行するか判断し、動作の実行を行うと判断した場合にはシミュレーション動作計算手段を実行させ、動作の実行を行わないと判断した場合にはシミュレーション動作計算手段と最短値設定手段を実行させない動作実行判断手段とを備え、前記各手段からなるステップを繰り返して全工程のシミュレーションを実行するようにしたことを特徴とする工程シミュレータ。
【請求項２】
最短値設定手段は、１スキャン中で、ある要素の動作完了までのスキャン時間単位を、既に設定されているチェック用スキャン時間単位の最短値と比較し、より短い動作完了までのスキャン時間単位をチェック用スキャン時間単位の最短値として設定記憶することを特徴とする請求項１記載の工程シミュレータ。
【請求項３】
シミュレーション動作計算手段は、要素の移動動作による位置を計算する移動位置計算手段及び要素のタイマー動作のタイムカウントを計算するタイムカウント計算手段であることを特徴とする請求項１または２記載の工程シミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の要素の全工程を適当な時間ピッチでシミュレーションし、工程を解析する工程シミュレータに関する。
【背景技術】
【０００２】
特許文献１には、プラントの振舞いをシミュレーションする場合に、プログラム起動調整手段によりプラント模擬プログラムと夫々の制御装置の機能を模擬する制御装置模擬プログラムの演算周期を、制御装置の演算周期より短い周期でシミュレーションを実行させるものが開示してある。特許文献２には、演算時間を短縮するためにシミュレーション精度を犠牲にしてモデル化を簡略化する記載がある。特許文献３では、１サイクルの模擬時間を任意の時間に設定可能としており、模擬時間スキャンタイムを実時間スキャンタイムより長い時間に設定することで動作を実際の時間より早い時間でシミュレートしているものが開示してある。特許文献４では、ＰＬＣ（プログラマブルロジックコントローラ）のシミュレーションプログラムにおいてシミュレーションを行う場合に、ｎ倍の速度で動作させることで１／ｎの動作時間で実行できるようにしているものが開示してある。
【０００３】
特許文献５には、生産ラインの全所要時間予測シミュレーションで一定時間毎に各工程のワークの状態を判断して所要時間を計算し、最終的に全所要時間を求める方法では各工程の作業状態の変化の有無とは無関係に、一定時間を１サイクルとして計算を実行しているため、計算に膨大な時間がかかる問題があることが記載されている。この問題を解決するため、各工程のタクト時間がわかっており、各工程のうち作業中の各工程の中で作業が終了するまでの残り作業時間を比較して、最小となる残り作業時間の値とその工程を決定し、最小値の工程を除いた作業中の各工程の残り作業時間から最小値を減算して作業中の各工程の新たな残り作業時間とし、前記最小値を実行開始時からの所要時間に加算して新たな所要時間とし、次サイクルでは、前記最小値の工程を除いた作業中の各工程の中から前記同様に最小値を求めて所要時間に加算すると共に作業中の各工程の作業時間から減算し、これを繰り返すことで全所要時間を求めることで、シミュレーションの演算時間を短縮するものが開示してある。
【０００４】
特許文献５の従来の技術の欄に記載のような一定時間毎に各工程の動作状態を判断して動作結果を演算し、最終的に全体の動作結果を求めるものでは、長期間での結果が知りたいときには、前記のように計算に膨大な時間がかかるためパソコンを長時間動作させる必要がある。スキャン時間単位（一定の時間ピッチ）を粗くすることで計算時間を短縮ことができるが、要素の動作が実際の要素の動作よりおくれて演算されることとなり精度が低下する。例えばスキャン時間単位を１秒として動作の演算が行われ、実際のある要素の動作の終了までの時間間隔が０．７秒であれば、シミュレーションではある要素の動作終了は１秒経過した時点となり、実際の動作終了に対してスキャン時間単位での動作終了は０．３秒の誤差（遅れ）が生じる。この誤差が累積され演算結果の精度が著しく悪化する。また、高精度の工程の解析結果を得るためにスキャン時間単位を短くすると、一定の短いスキャン時間単位で演算を繰り返し行うことになるので演算回数が多くなり計算時間を膨大にする結果になる。
【特許文献１】特開平９−３４５３４号公報
【特許文献２】特開平９−１６５５４号公報  （第３項）
【特許文献３】特開２００２−２９７２２６号公報
【特許文献４】特開２００４−６２５０８号公報
【特許文献５】特開平６−１１０８９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本願発明は、大きなスキャン時間単位にしても高精度に演算を実行でき、演算時間を短縮できる工程シミュレータを提供することである。
【課題を解決するための手段】
【０００６】
上記課題解決のため、本願発明では、  複数の要素からなる全工程を、各要素の動作を適当な時間ピッチのスキャン時間単位でシミュレーションしていくことで解析する工程シミュレータにおいて、シミュレーションの１スキャン中における各要素の動作のスキャン時間単位の最大値をチェック用スキャン時間単位の設定値として設定する設定値設定手段と、チェック用スキャン時間単位の設定値以下であり、各要素の動作をシミュレーションする時の演算に使用されるスキャン時間単位である動作用スキャン時間単位の最小値を設定する最小値設定手段と、１スキャンのシミュレーションにおいて各要素での動作完了までのスキャン時間単位がチェック用スキャン時間単位の設定値以内か判断する判断手段と、前記判断手段で１スキャン中の各要素での動作完了までのスキャン時間単位がチェック用スキャン時間単位の設定値以内と判断されたとき、その各要素のスキャン時間単位の中での最短値をチェック用スキャン時間単位の最短値として設定記憶する最短値設定手段と、前記最短値設定手段で記憶したチェック用スキャン時間単位の最短値を動作用スキャン時間単位に採用する最短値採用手段と、前記判断手段でスキャン時間単位がチェック用スキャン時間単位の設定値を超えると判断されたとき、チェック用スキャン時間単位の設定値を動作用スキャン時間単位に採用する設定値採用手段と、最短値採用手段での動作用スキャン時間単位で１スキャンでの各要素の動作をシミュレーションをした後、続く次スキャン目では最小値設定手段で設定された動作用スキャン時間単位の最小値を動作用スキャン時間単位に採用する最小値採用手段と、最小値採用手段と最短値採用手段と設定値採用手段の何れかの動作用スキャン時間単位により、１スキャンでの各要素の動作のシミュレーションを行うシミュレーション動作計算手段と、１スキャン中で各要素が動作を実行するか判断し、動作の実行を行うと判断した場合にはシミュレーション動作計算手段を実行させ、動作の実行を行わないと判断した場合にはシミュレーション動作計算手段と最短値設定手段を実行させない動作実行判断手段とを備え、前記各手段からなるステップを繰り返して全工程のシミュレーションを実行するようにしたことを特徴とする。
【０００７】
最短値設定手段は、１スキャン中で、ある要素の動作完了までのスキャン時間単位を、既に設定されているチェック用スキャン時間単位の最短値と比較し、より短い動作完了までのスキャン時間単位をチェック用スキャン時間単位の最短値として設定記憶することを特徴とする。
【０００８】
シミュレーション動作計算手段は、要素の移動動作による位置を計算する移動位置計算手段及び要素のタイマー動作のタイムカウントを計算するタイムカウント計算手段であることを特徴とする。
【発明の効果】
【０００９】
本願発明では、各要素の動作をシミュレーションする際に、あるスキャン目で次スキャン目での各要素の動作完了までのスキャン時間単位を求め、それらの動作完了までのスキャン時間単位が入力手段から適宜に入力設定されたチェック用スキャン時間単位の設定値（最大値）以下の場合、それらの動作完了までのスキャン時間単位の中で最短値をチェック用スキャン時間単位の最短値とし、次スキャン目での動作用スキャン時間単位として各要素の動作の計算に使い、また、動作完了までのスキャン時間単位がチェック用スキャン時間単位の設定値より大きい場合、チェック用スキャン時間単位の設定値を次スキャン目での各要素の動作の計算に使い、チェック用スキャン時間単位の最短値で計算をした更に次スキャン目での各要素の動作の計算では、入力手段から適宜に入力設定された動作用スキャン時間単位の最小値を計算に使うことで、全ての計算を一定の長いスキャン時間単位（時間ピッチ）で行う場合のように、一定の長いスキャン時間単位が経過するまで動作の状態変化がシミュレーションに反映されずに実際の動作の状態変化に比べて大きく時間ピッチが開いて計算されず、実際の動作の状態変化までの時間ピッチと略同じように動作の状態変化までのスキャン時間単位を計算に反映できると共に、動作の状態変化が無い場合には最大値のスキャン時間単位で計算を行える。このため、シミュレーションの誤差が非常に小さなものとなり高精度に計算できる。また、一定の短いスキャン時間単位で全ての計算を行う場合に比べ計算を短時間で実行できる。
【００１０】
また、チェック用スキャン時間単位の最短値で計算した次スキャン目で動作用スキャン時間単位の最小値で計算をするので、ある工程での動作により他の工程で新たなイベント（状態変化）が発生する場合、次スキャン目の計算である工程の動作による他の工程の新イベントを最小のスキャン時間単位で反映でき、イベントを反映するまでの計算の誤差を小さくできる。また、動作実行判断手段により１スキャン中である要素で動作が行われない場合、その動作が行われない要素のシミュレーションの計算及び次スキャン目でのチェック用スキャン時間単位を求めることをしないので、これによっても全体の計算時間が短縮される。また、状態変化が生じる場合には、チェック用スキャン時間単位の最短値でシミュレーションを行い、状態変化が無い場合には、各要素での動作の開始から動作の完了までの時間ピッチより短い時間ピッチとしたチェック用スキャン時間単位の最大値でシミュレーションを行えば、動作の途中状態を知ることができる。
【実施例】
【００１１】
本願発明の実施例について図１〜図９に基づいて説明する。図１はパーソナルコンピュータＰＣ１であり、入力装置としてのキーボード２とシミュレーション結果等を表示する表示装置としてのディスプレイ３とプログラムや計算結果等が記憶される記憶装置としてのメモリ４とシミュレーションを実行するＣＰＵ５とを備え、メモリ４に図２〜図４のフローチャートに示すプログラムが格納されて工程シミュレータが構成されている。また、キーボード２からは、プログラムの実行に適した適当な時間ピッチのチェック用スキャン時間単位の最大値がプログラムの実行に先立って入力され、メモリ４にはそのチェック用スキャン時間単位の最大値がチェック用スキャン時間単位の設定値として記憶され、キーボード２とメモリ４とから設定値設定手段が構成されている。チェック用スキャン時間単位の設定値は、各要素の動作の開始から完了までの時間ピッチの中で最も短い時間ピッチより短く、プログラムにおいて、後述の判断手段で要素の動作のある時点から完了までの時間ピッチと比較される時間ピッチであり、要素の動作のある時点から完了までの時間ピッチがチェック用スキャン時間単位の設定値より大きい場合には、プログラムでの１スキャン中の各要素でのシミュレーションの計算に使用される。また、キーボード２とメモリ４とは最小値設定手段も兼用しており、キーボード２から入力設定されたプログラムの実行に適する前記設定値より小さい適当な時間ピッチの動作用スキャン時間単位の最小値がメモリ４に記憶されるようになっている。動作用スキャン時間単位は、１スキャン中の各要素での動作のシミュレーションの計算に使われる時間ピッチである。
【００１２】
シミュレーションの対象とする複数の要素からなる全工程は、例えば図５に示すように要素としてのワーク洗浄装置８と搬送装置７，９とを配置した搬送ライン１０において、搬送装置７，９でのワーク搬送パレット１２によるワークＷの移動工程と、搬送装置７，９間でワークＷをタイマーに設定した所定時間の間洗浄するタイムカウント工程とを有するものである。この搬送装置７，９でのワーク搬送パレット１２の移動とワーク洗浄装置８でのタイマーのタイムカウントとが要素の動作である。
【００１３】
次に図２〜図４のフローチャートに示すプログラムについて説明する。ステップＳ４は後述の最短値設定手段で記憶したチェック用スキャン時間単位の最短値を動作用スキャン時間単位に採用する最短値採用手段である。ステップＳ７は各要素を論理チェックする論理チェック手段である。論理チェック手段はある要素が他の要素での動作の終了によりイベント（状態変化）を発生できるようになったかチェックする。例えば、この搬送ライン１０では、搬送装置７ではワーク洗浄装置８にワークＷを搬出できるかチェックし、ワーク洗浄装置８では搬送装置９にワークＷを搬出できるかチェックし、搬送装置９ではワーク洗浄装置８からワークＷを搬入できるかチェックしている。
【００１４】
ステップＳ８，Ｓ１５は要素が動作しているかを判断する動作実行判断手段である。搬送ライン１０では、ステップＳ８では搬送装置７，９がワークＷを移動中か、ステップＳ１５ではタイマーが実行中かを判断している。ステップＳ８，Ｓ１５で動作を実施していると判断した場合は、ステップＳ９，Ｓ１６のシミュレーション動作計算手段と、ステップＳ１０〜Ｓ１４，ステップＳ１７〜Ｓ２１のスキャン時間単位決定手段１３，１４を実行する。ステップＳ９，Ｓ１６のシミュレーション動作計算手段は、前記最短値採用手段と後述の最小値採用手段と設定値採用手段の何れかで採用された動作用スキャン時間単位により、１スキャンでの各要素の動作状態を計算する。ステップＳ９のシミュレーション動作計算手段は、搬送ライン１０に対しての動作状態の計算として、搬送装置７または搬送装置９でのワーク搬送パレット１２によるワークＷの移動位置を計算する移動位置計算手段であり、ステップＳ１６のシミュレーション動作計算手段は、ワーク洗浄装置８のタイムカウントを実行するタイムカウント計算手段である。ステップＳ９，Ｓ１６でプログラムの実行直後の計算では、最小値設定手段で設定された動作用スキャン時間単位の最小値を使って計算する。
【００１５】
ステップＳ１１，Ｓ１８は１スキャンのシミュレーションにおいて各要素での動作完了までのスキャン時間単位がチェック用スキャン時間単位の設定値以内か判断する判断手段であり、設定値以内であればステップＳ１２，Ｓ１９に進む。ステップＳ１１ではワーク搬送パレット１２がワーク搬入端Ａまたはワーク搬出端Ｂに達するまでの移動完了時間が動作完了までのスキャン時間単位であり、この移動完了時間と設定値を比較している。ステップＳ１８ではタイマーがタイムアップするまでの残り時間が動作完了までのスキャン時間単位であり、この残り時間と設定値を比較している。
【００１６】
ステップＳ１２，Ｓ１９は、前記判断手段で各要素での動作完了までのスキャン時間単位がチェック用スキャン時間単位の設定値以内と判断された場合、その各要素のスキャン時間単位の中で最短のスキャン時間単位をチェック用スキャン時間単位の最短値として設定記憶する最短値設定手段である。ステップＳ１２，Ｓ１９においてチェック用スキャン時間単位の最短値の設定記憶は、１スキャン中において、ある要素より以前の要素によって既に設定記憶されたチェック用スキャン時間単位の最短値と、ある要素のステップＳ１１，Ｓ１８で求められた動作完了までのスキャン時間単位を比較し、より短いスキャン時間単位をチェック用スキャン時間単位の最短値として更新し設定記憶する。尚、ある１スキャン中において最初にステップＳ１２，Ｓ１９が実行される最初の要素に対しては、その最初の要素の以前の要素がないので、ステップＳ１２，Ｓ１９では、その最初の要素の動作完了までのスキャン時間単位がチェック用スキャン時間単位の最短値に設定される。
【００１７】
ステップＳ２６は、ステップＳ１１，Ｓ１８で各要素での動作完了までのスキャン時間単位がチェック用スキャン時間単位の設定値を超えると判断されたとき、ステップＳ９，Ｓ１６でチェック用スキャン時間単位の設定値で動作の計算を実行させるため、チェック用スキャン時間単位の設定値を動作用スキャン時間単位に採用する設定値採用手段である。ステップＳ２７は、ステップＳ１１，Ｓ１８でチェック用スキャン時間単位の最短値を動作用スキャン時間単位に採用した場合に、その最短値をつかってステップＳ９，Ｓ１６で各要素の動作を計算した後、続く次スキャン目でのステップＳ９，Ｓ１６で動作の計算に使われる動作用スキャン時間単位として動作用スキャン時間単位の最小値を採用する最小値採用手段である。
【００１８】
次に図２〜図４のフローチャートに示すプログラム及び図５〜図８により、前記搬送ライン１０のシミュレーションの実行を説明する。搬送ライン１０において、例えば、ワーク洗浄装置８のタイムアップ（洗浄時間）を３秒とし、搬送装置７ではワーク搬送パレット１２のワーク搬入端Ａからワーク搬出端Ｂまでの移動時間を２秒とし、搬送装置９ではワーク搬送パレット１２のワーク搬入端Ａからワーク搬出端Ｂまでの移動時間を２．５秒とし、両端で移動方向が反転するとする。また、以下では、チェック用スキャン時間単位の設定値を１秒、動作用スキャン時間単位の最小値を０．１秒として説明する。プログラムが実行されると先ず、ステップＳ１で初期化が行われ、各ステップでの変数クリア、前記設定値設定手段と最小値設定手段によりチェック用スキャン時間単位の初期値と動作用スキャン時間単位の最小値が設定され、短スキャン設定フラグと短スキャン実行フラグとイベント反映フラグのクリアが行われる。ここで変数とは、各ステップでのチェック用スキャン時間単位と動作用スキャン時間単位である。短スキャン設定フラグは、あるスキャン目の次のスキャン目で動作の終了（本実施例ではワーク搬送パレット１２のワーク搬入端Ａとワーク搬出端Ｂへの移動、タイマーのタイムアップ）となる場合に、次のスキャン目でステップＳ９、Ｓ１６で計算される際に使われるチェック用スキャン時間単位の最短値をステップＳ４で動作用スキャン時間単位にコピーさせるためのフラグである。短スキャン実行フラグは最短値で計算したスキャン目の次のスキャン目でイベントを反映するためステップＳ９，Ｓ１６で動作用スキャン時間単位の最小値を使って計算させるため、スキャン時間単位決定手段１３，１４内で最短値を設定させないようにするためのフラグである。イベント反映フラグはイベントが発生する場合にステップＳ４でチェック用スキャン時間単位の最短値を動作用スキャン時間単位にコピーまたはステップＳ２７で動作用スキャン時間単位を最小値にし、ステップＳ９，Ｓ１６で最短値または最小値で動作を計算させるためのフラグである。
【００１９】
先ず、ステップＳ２でイベント反映フラグがＯＮか判断されるが、プログラム実行直後は初期化によりイベント反映フラグがクリアされているのでステップＳ７に進み、搬送装置７についてステップＳ７〜ステップＳ２２が実行される。ステップＳ７でワーク洗浄装置８にワークＷを搬出できるかを論理チェックし、ステップＳ８で搬送装置７でワークＷの移動を行うので次にステップＳ９に進み、動作用スキャン時間単位の最小値０．１秒でワークＷの移動位置を求める。このステップＳ９での計算では搬送装置７においてワークＷの搬入のイベントが発生しており、ワーク搬送パレット１２は図５に示す第１スキャン目の位置となり、図８に示すように動作用スキャン実行単位０．１秒であり、経過時間は０．１秒経過したことになる。次にステップＳ１０に進み、短スキャン実行フラグがＯＦＦなのでステップＳ１１に進む。ステップＳ１１では、０．１秒経過後のワークＷがワーク搬出端Ｂに到達するまでの移動完了時間１．９秒とチェック用スキャン時間単位の設定値１秒とが比較され、到達時間が大きいのでステップＳ１５を介してステップＳ２２に進む。
【００２０】
ステップＳ２２では、ワーク洗浄装置８と搬送装置９のスキャンが終わっていないので、ステップＳ２２からステップＳ７に進み、次にワーク洗浄装置８について論理チェックをする。ワーク洗浄装置８ではタイマーが実行されるので、ステップＳ８からステップＳ１５に進み、ワークＷが搬入されていないので洗浄が行われずタイマーを実行しないのでステップＳ２２に進む。次に、搬送装置９についてステップＳ７〜Ｓ２２が実行され、ステップＳ７で論理チェックされ、搬送装置９にはワークＷが搬入されていないのでステップＳ８，ステップＳ１５が実行され、全ての装置７〜９についてステップＳ７〜Ｓ２２が実行されたのでステップＳ２２からステップＳ２３に進む。ステップＳ２３では、短スキャン実行フラグがＯＦＦなのでステップＳ２５に進み、スキャンが終了していないのでステップＳ２６でチェック用スキャン時間単位の設定値の１秒が動作用スキャン時間単位に採用され第１スキャン目が終わる。
【００２１】
第２スキャン目では、イベント反映フラグがＯＦＦなのでステップＳ２からステップＳ７，Ｓ８を介してステップＳ９でワーク搬送装置７についてステップＳ２６で採用された動作用スキャン時間単位１秒によりワークＷの移動位置が求められ図５の第２スキャン目の位置となる。次にステップＳ１０を介してステップＳ１１では、ワークＷがワーク搬出端Ｂに到達するまでの移動完了時間０．９秒とチェック用スキャン時間単位の設定値１秒とが比較されステップＳ１２に進む。第２スキャン目ではワーク搬送装置７のみ動作を行っており、ワーク搬送装置７は最初にステップＳ１２が実行されるので、前記のようにステップＳ１２でワーク搬送装置７での移動完了時間０．９秒がチェック用スキャン時間単位の最短値に採用される。次に、ステップＳ１３で短スキャン設定フラグがセットされ、ステップＳ１４でイベント反映フラグがセットされ、ステップＳ１５、ステップＳ２２を介してステップＳ７に進み、前記と同様にワーク洗浄装置８と搬送装置９について順にステップＳ７〜Ｓ２２が実行された後、ステップＳ２３，Ｓ２５，Ｓ２６が実行される。
【００２２】
第３スキャン目では、イベント反映フラグ及び短スキャン設定フラグが夫々ＯＮなのでステップＳ２，Ｓ３からステップＳ４に進み、ステップＳ４で前記第２スキャン目で設定された最短値０．９秒が動作用スキャン時間単位に設定される。ステップＳ５では短スキャン実行フラグがセットされ、ステップＳ６では短スキャン設定フラグがクリアされる。次に搬送装置７に対してステップＳ７，Ｓ８が実行された後、ステップＳ９で最短値０．９秒により図５のワーク搬出端Ｂに位置することが求められる。ステップＳ１０では短スキャン実行フラグがＯＮなのでステップＳ１５に進み、ステップＳ１５からステップＳ２２を介してステップＳ７に進む。以下ワーク洗浄装置８と搬送装置９について前記スキャンと同様にステップＳ７〜Ｓ２２が実行され、ステップＳ２３、Ｓ２４で短スキャン実行フラグがクリアされステップＳ２５，Ｓ２６が実行される。
【００２３】
第４スキャン目では、イベント反映フラグＯＮ、短スキャン設定フラグＯＦＦなのでステップＳ２，Ｓ３を介してステップＳ２７で動作用スキャン時間単位を最小値０．１秒に設定し、ステップＳ２８でイベント反映フラグをクリアする。次に、搬送装置７についてステップＳ７，Ｓ８を介してステップＳ９では、前記第３スキャン目で搬送装置７がワーク搬出端Ｂとなったので、最小値０．１秒での演算によりワーク洗浄装置８へのワーク搬出イベントが反映されると共に反転したワーク搬送パレット１２の移動位置が求められ（図６）、ステップＳ１０からステップＳ１１でワーク搬入端Ａへの移動完了時間１．９秒と設定値１秒とが比較されてステップＳ１５を介してステップＳ２２に進む。次のワーク洗浄装置８に対するステップＳ７〜Ｓ２２では、ステップＳ７で論理チェックが行われ、ステップＳ８を介してステップＳ１５に進み、ワークＷの洗浄の開始によりタイマーが実行されるので、ステップＳ１６で最短値０．１秒のタイムカウントが実行される。次に、ステップＳ１７を介してステップＳ１８でタイムアップまでの残り時間２．９秒が設定値１秒を超えているのでステップＳ２２に進む。次に、搬送装置９についてステップＳ７〜Ｓ２２が実行され、ステップＳ２３，Ｓ２５，Ｓ２６が実行される。
【００２４】
第５スキャン目では、ステップＳ２を介して、搬送装置７についてステップＳ７〜Ｓ９で設定値１秒でワーク搬送パレット位置が求められ（図６）、ステップＳ１０を介してステップＳ１１でワーク搬送パレット１２がワーク搬入端Ａに到達するまでの移動完了時間０．９秒とチェック用スキャン時間単位の設定値１秒とが比較される。次に、ステップＳ１２では、移動完了時間０．９秒がチェック用スキャン時間単位の最短値に採用される（図８）。ステップＳ１３で短スキャン設定フラグがセットされ、ステップＳ１４でイベント反映フラグがセットされ、ステップＳ１５、ステップＳ２２を介してステップＳ７に進み、ワーク洗浄装置８について各ステップが実行される。ステップＳ８、Ｓ１５を介してステップＳ１６で１秒のタイムカウントが実行される。タイマーは１．１秒経過したこととなり、ステップＳ１７を介してステップＳ１８でタイムアップまでの残り時間１．９秒が設定値１秒を超えていると判断され、ステップＳ２２に進む。次に、搬送装置９についてステップＳ７〜Ｓ２２が実行され、ステップ２３，Ｓ２５，Ｓ２６が実行される。
【００２５】
第６スキャン目以降もフローチャートにしたがって実行され、第９スキャン目でワーク洗浄装置８から搬送装置９へのワークＷの搬入イベントが発生し、搬送装置９についても第９スキャン目以下では搬送動作の計算が上記搬送装置７の各ステップと略同様に行われる。
【００２６】
第１２スキャン目では、第５スキャン目と同様にステップＳ２を介して、搬送装置７のステップＳ７〜Ｓ２２と、ワーク洗浄装置８のステップＳ７〜Ｓ２２が実行され、また、搬送装置９のステップＳ７〜Ｓ２２が搬送装置７のステップＳ７〜Ｓ２２と略同様に実行され、ワークＷ等は図７に示す位置となる。搬送装置７でのステップＳ１１、Ｓ１２では、前記のように搬送装置７のワーク搬送パレット１２のワーク搬入端Ａへ到達が最初の要素の動作完了なので、その搬送装置７のワーク搬送パレット１２がワーク搬入端Ａに到達するまでの移動完了時間０．９秒が先ずチェック用スキャン時間単位の最短値に採用されるが、搬送装置９のステップＳ１１では、搬送装置９のワーク搬送パレット１２のワーク搬出端Ｂへの移動完了時間０．４秒が求められ、搬送装置９のステップＳ１２で搬送装置７のステップＳ１２で既に設定されたチェック用スキャン時間単位の最短値０．９秒と搬送装置９の移動完了時間０．４秒とが比較される。ステップＳ１２ではより短い時間ピッチをチェック用スキャン時間単位の最短値として設定するので、搬送装置７のステップＳ１２で設定された最短値０．９秒は搬送装置９の動作完了時間０．４秒に更新され、その更新されたチェック用スキャン時間単位の最短値０．４秒が次の第１３スキャン目で用いられる最短値に設定記憶される（図８）。そして、ステップＳ２３，Ｓ２５，Ｓ２６が実行される。次に、第１３スキャン目では、前記最短値０．４秒でステップＳ９，Ｓ１６が実行され、第１４スキャン目以降も上記各スキャン目と略同様にフローチャートにしたがって実行される。
【００２７】
上記実施例では、最小値０．１秒で搬送装置７，９のワーク搬送工程とワーク洗浄装置８でのタイムカウント工程の全工程を計算した場合の誤差と本実施例での設定値と最短値と最小値で計算した場合の誤差が同じになる。搬送ライン１０に対して、ワークＷのワーク搬入端Ａとワーク搬出端Ｂとの間の途中のワーク位置Ｃからワーク搬入端Ａまたはワーク搬出端Ｂへの残りの移動距離Ｌ１を移動するのにかかる移動完了時間ｔ１を求める際に、イベント発生までの残りの移動距離Ｌ１とワークＷの移動速度ｖと動作用スキャン時間単位の最小値ｔ２とがわかっているので、移動速度ｖと最小値ｔ２からワークＷが移動できる最小移動距離Ｌ２を計算し、その最小移動距離Ｌ２を順次加えて残りの移動距離Ｌ１に到達するまでの加えた回数ｎを求め、それから移動完了時間ｔ１＝ｔ２×ｎを求めており、この移動完了時間ｔ１をステップＳ１１ではチェック用スキャン時間単位の設定値と比較している。最小移動距離Ｌ２が残りの移動距離Ｌ１に到達するまでから移動完了時間ｔ１を求めることで、ステップＳ９において最小値ｔ２での残りの移動距離Ｌ１に達するまでのｎ回の計算と移動完了時間ｔ１での１回での計算の誤差を同じにできる。図９を参照して例えば第２スキャン目で説明すれば、搬送装置７において第２スキャン目のワークＷの位置から第３スキャン目にワークＷがワーク搬出端Ｂに到達する残りの移動距離Ｌ１を移動するのにかかる移動完了時間ｔ１＝０．９秒を動作用スキャン時間単位の最小値ｔ２＝０．１秒から求める場合には、Ｌ１＝０．９ｖ、Ｌ２＝０．１ｖであり、Ｌ２をＬ１に到達するまで加算していくと９回目でＬ１にＬ２が到達するのでＬ１＝Ｌ２×９であり、ｔ１＝ｔ２×９＝０．１×９＝０．９秒となる。実際の搬送装置での残りの移動距離Ｌはアナログな量であり、シミュレーションでの移動距離Ｌ１はデジタルな量なので、計算で使われる時間ピッチでちょうど移動距離Ｌになるとは限らず、移動距離Ｌと移動距離Ｌ１とでは距離（時間）に誤差δがある。よって、一定の最小値０．１秒で第２スキャン目で移動距離Ｌに到達するまでの計算を９回行う場合と、前記のように求めた移動完了時間ｔ１＝０．９秒で移動距離Ｌに到達するまでの計算を１回行う場合では、前記のようにｔ１＝０．９秒はｔ２＝０．１秒から求められるので計算回数が減っても、ｔ１=０．９秒で計算した場合と一定の最小値0．1秒で計算した場合では誤差が同じになる。最短値及び設定値は最小値の整数倍であり、全工程を本実施例のように計算すれば、最小値０．１秒で計算した場合と同じ結果となり、短い時間ピッチで計算したように計算の精度が高い。
【００２８】
また、上記第１スキャン目から第１０スキャン目までの１０回の計算での経過時間は図８に示すように６秒であり、同一の精度で解析結果を得るため動作用スキャン時間単位の最小値と同じ一定のスキャン時間単位０．１秒で計算をした場合には、６０回計算を繰り返すことになるが、本発明ではイベントが発生しないときには粗いスキャン時間単位（チェック用スキャン時間単位の設定値）で計算し、イベントが発生する場合は短いスキャン時間単位（動作用スキャン時間単位の最短値と最小値）で計算するので、一定のスキャン時間単位で計算した場合に比べて計算回数が少なくなり、全工程の計算時間が短時間で実行できることがわかる。
【図面の簡単な説明】
【００２９】
【図１】本願発明の工程シミュレータの構成を示すブロック図である。
【図２】フローチャートである。
【図３】フローチャートである。
【図４】フローチャートである。
【図５】搬送ラインを示す説明図である。
【図６】搬送ラインを示す説明図である。
【図７】搬送ラインを示す説明図である。
【図８】経過時間と動作用スキャン時間と各装置での動作完了時間を示す説明図である。
【図９】移動完了時間についての説明図である。
【符号の説明】
【００３０】
７，９  搬送装置（要素）
８  ワーク洗浄装置（要素）
１０  搬送ライン（工程）
【図１】
2006024113.tif 000003
【図２】
2006024113.tif 000004
【図３】
2006024113.tif 000005
【図４】
2006024113.tif 000006
【図５】
2006024113.tif 000007
【図６】
2006024113.tif 000008
【図７】
2006024113.tif 000009
【図８】
2006024113.tif 000010
【図９】
2006024113.tif 000011