(57)【特許請求の範囲】
【請求項１】
製造装置を構成する複数の機械ユニットの各々の動作及び機械ユニット間の動作の相関関係を経時的に表した機械動作タイミングチャートに基づいて作成された、前記機械ユニットの入出力端子の何れかで入出力信号状態が変化した変化時点での各入出力端子の信号の状態と、前記入出力端子の入出力の相関関係と、前記変化時点の時間間隔と、前記変化時点で実行される入力信号を受信する入力処理及び出力信号を発信する出力処理のいずれの処理が先行するかを表す先行処理情報と、前記変化時点直後の入力信号の特定のビットが期待値との比較を行うビットであるか否かを表す入力マスクの情報と、を表したシーケンステーブルに基づいて、前記機械ユニットの機械動作及び該機械ユニットの動作を制御する制御プログラムの制御動作の少なくとも一方のシミュレーションをシミュレータにより実行する、
シミュレーション実行方法。
【請求項２】
製造装置を構成する複数の機械ユニットの入出力端子の何れかで入出力信号状態が変化した変化時点での各入出力端子の信号の状態と、前記入出力端子の入出力の相関関係と、前記変化時点の時間間隔と、前記変化時点で実行される入力信号を受信する入力処理及び出力信号を発信する出力処理のいずれの処理が先行するかを表す先行処理情報と、前記変化時点直後の入力信号の特定のビットが期待値との比較を行うビットであるか否かを表す入力マスクの情報と、を表したシーケンステーブルを記憶した記憶手段と、
前記記憶手段に記憶されたシーケンステーブルに基づいて、前記機械ユニットの機械動作及び該機械ユニットの動作を制御する制御プログラムの制御動作の少なくとも一方のシミュレーションを実行する実行手段と、
を有するシミュレータ。
【請求項３】
前記製造装置の操作パネルに類似し、データ入力を指示するための入力指示部及びデータ出力を指示するための出力指示部を含んで構成された操作画面を表示する表示手段と、
表示された操作画面の所望の部分を指定すると共に該操作画面の所定の入力位置にデータを入力するための操作手段と、
前記操作手段により前記操作画面の入力指示部が指定された場合、検査対象からの入力データを前記操作画面の所定位置に表示させると共に、前記操作手段によりデータが入力され前記操作画面の出力指示部が指定された場合、検査対象へ前記入力されたデータを出力する入出力制御手段と、
をさらに有し、
前記実行手段は、前記入力指示部及び前記出力指示部の指示に基づいて、シミュレーションを実行する請求項２に記載のシミュレータ。
【請求項４】
複数の信号を同時に入出力可能なパラレル入出力手段をさらに有し、
前記実行手段は、前記パラレル入出力手段により入出力される前記複数の信号に基づいてシミュレーションを実行する、
請求項２または請求項３に記載のシミュレータ。
【請求項５】
前記実行手段は、前記シーケンステーブルのデータをシーケンス順に取り出し、検査対象の機械ユニットと信号のやりとりを行いながら制御プログラムの制御動作のシミュレーションを実行し、
前記実行手段により制御プログラムの制御動作のシミュレーションが正常に実行されたか否かに基づいて、前記機械ユニットの一連の動作が正常であるか否かを判定する機械ユニット動作判定手段、
をさらに有する請求項２から請求項４のいずれか１項に記載のシミュレータ。
【請求項６】
前記実行手段は、前記シーケンステーブルのデータをシーケンス順に取り出し、検査対象の制御プログラムの制御動作と並行して前記機械ユニットの機械動作のシミュレーションを実行し、
前記実行手段により機械ユニットの機械動作のシミュレーションが正常に実行されたか否かに基づいて、前記制御プログラムが正常であるか否かを判定する制御プログラム判定手段、
をさらに有する請求項２から請求項４のいずれか１項に記載のシミュレータ。
【請求項７】
前記実行手段による制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションの中断を指示するための中断指示手段と、
前記中断指示手段により中断が指示された場合に、制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションを中断させる中断制御手段と、
をさらに有する請求項２から請求項６の何れか１項に記載のシミュレータ。
【請求項８】
前記シーケンステーブルの１つのステップに対応する、制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションを実行するよう指示するためのステップ実行指示手段と、
前記ステップ実行指示手段により１つのステップのシミュレーションの実行が指示された場合に、前記実行手段により当該時点のステップのシミュレーションのみを実行させるステップ実行制御手段と、
をさらに有する請求項２から請求項７の何れか１項に記載のシミュレータ。
【請求項９】
前記実行手段による制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションの繰り返し実行を指示するための繰り返し指示手段と、
前記繰り返し指示手段により繰り返し実行が指示された場合に、前記実行手段により制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションを繰り返し実行させる繰り返し制御手段と、
をさらに有する請求項２から請求項８の何れか１項に記載のシミュレータ。
【請求項１０】
前記記憶手段により記憶されたシーケンステーブルのデータを所望のデータに修正するためのデータ修正手段をさらに有する請求項２から請求項９の何れか１項に記載のシミュレータ。
【請求項１１】
前記機械ユニットの出力端子から出力させたいパルス信号の波形を入力する入力手段と、
入力された各出力端子毎のパルス信号の波形を表すシーケンステーブルを作成するテーブル作成手段と、
作成されたシーケンステーブルに基づく波形のパルス信号を前記出力端子から出力させる出力制御手段と、
をさらに有する請求項２から請求項１０の何れか１項に記載のシミュレータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シミュレーション実行方法及びシミュレータに係り、より詳しくは、製造装置を構成する機械ユニットの機械動作や該機械ユニットの動作を制御する制御プログラムの制御動作に関するシミュレーションを実行するシミュレーション実行方法及びシミュレータに関する。
【０００２】
【従来の技術】
従来より、ハードウェア（機械、電気回路等）とソフトウェアから構成される製造装置を開発する場合、設計、製作、検査、設置、導入という順序で開発作業が進められている。このうち特に、検査（導入前の検査）の精度が、導入後の稼動や運用に重大な影響を及ぼす。即ち、製造装置を工場へ設置、運用開始後に、問題が発生すると、装置の稼動を停止した上で、工場内において、その不具合の原因調査、修正をしなければならなくなり工場設置前に行う検査より、一層、その修正に、時間がかかることにもなりかねない。従って、その設置前の検査が重要になるのだが、一方で、その検査期間が、装置開発における工数、従ってコスト増加の主要な要因になっている。そこで、この設置前の検査を如何に精度よく、しかも短期間で行えるかが、装置開発のコスト低減の為の重要な要素となっている。
【０００３】
ところで、製造装置とは、その機械動作を直接実行しているものは、例えば、シリンダやモータであり、また各動作機械ユニットの位置を検出しているものがセンサであって、それらの状態と位置関係から、一連の動作順序を、制御プログラムが指示するような仕組みになっている。従って、その検査には一般的に、センサ、モータ、シリンダ等の単体機器、及び、それらの機器によって動作する機械ユニット部分のハード的動作を確認する検査と、その後に、各機械ユニットの全体的な相互動作を確認する制御プログラムデバッグ（即ち、これがシーケンスチェック）がある。これらの検査をまとめて、設置前検査と呼んでいる。
図２３には従来の具体設計からその設置前検査に至るまでの手順が一連の流れ図として示されている。即ち、図２３のＳＴ１で、まず機械設計者が、機械の各動作ユニットの動きの関係を表した図２４に示す機械動作タイミングチャートを作成する。この図２４は、製造装置を構成する機械ユニット間の時間経過による動作タイミングの関係をグラフ形式で表していて、横軸に時間経過、縦軸に停止位置（即ち、これは機械ユニットの位置検出センサの位置でもあり、図中ではＰｌ−１〜Ｐ５−２で示す）を、グラフ内の折れ線で各ユニットの動作を、縦の矢印と数字(1) 〜(11)で各ユニット間の動作タイミング関係をそれぞれ表している。
【０００４】
次に、図２３のＳＴ２で、制御設計者は、各機械ユニットに入出力の端子番号を割り当てて、図２４の動作タイミングチャートに基づいて図２５に示す入出力タイミングチャートを作成する。この図２５において、ＯＵＴ０１〜ＯＵＴ０７は製造装置の出力端子、ＩＮ０１〜ＩＮ１１は製造装置の入力端子をそれぞれ表し、グラフ内の折れ線で各端子の信号の状態（オン又はオフ）を表す（図２５では、破線の位置がオフ状態）。また、図２４の動作タイミングチャートの各ユニット間の動作タイミング関係を、図２５の実線の矢印及び数字(1) 〜(11)によって、入出力信号の関係に置き直している。更に、図２５の破線矢印は、ＯＵＴ０１〜０ＵＴ０７から出力される出力信号と、該出力信号による機械ユニットの動作で変化する定位置センサの状態との関係を示している。
【０００５】
次に、図２３のＳＴ３では、図２５の入出力タイミングチャートに基づいて、製造装置の制御プログラムの作成に入る。この際に、同時に機械の単体機器のハードチェック用のテストプログラムを作成することもある。そして、この時点で、ハードウェアとしての製造装置（即ち、機械機構と電気配線等）の完成（ＳＴ４）を待ち、製造装置が完成したら、ＳＴ５の設置前検査に入る。
【０００６】
このＳＴ５の設置前検査では、例えば、検査対象の製造装置に単体機器のハードチェック用のテストプログラムをインストールして、入出力信号と単体機器の動作のテストを行う。その後、プログラム開発機器によって構文上の論理的矛盾が除去された制御プログラムを製造装置にインストールして、該制御プログラムの制御シーケンスと製造装置の全体的な動作を検査をするという方法が採られてきた。
【０００７】
ここで、一例として、図２４の「ユニット２」（シリンダＮＯ．１）の動きをテストするためのテストプログラムの作成手順を、該ユニット２の機構の概略図（図２９（Ａ）〜（Ｃ））を用いて説明する。図２９（Ａ）に示すように、出力端子ＯＵＴ０３に信号線で接続された電磁弁３０２に信号を出力することで、一方の空気管３０６を介して、軸仕切り３２０で仕切られたシリンダ３００の左管内に空気が注入或いは排出され、他方の空気管３０４を介してシリンダ３００の右管内の空気が排出或いは注入される。この２つの空気管を介する相対的な空気の注入／排出による空気圧でシリンダ軸３０８が動作することで駆動部３１０が開閉する。このとき、シリンダ軸３０８に取付けられリードスイッチにより構成されたセンサ３１２、３１４がシリンダ軸３０８と共に動くことで、シリンダ３００の外周に取付けられた磁石３１６、３１８との相互の位置関係が変わる。これにより、センサ３１２、３１４に信号線で接続された入力端子ＩＮ０４、ＩＮ０５への入力信号の状態（オン／オフ）が変わる仕組みになっている。
【０００８】
まず、シリンダ３００の開動作を、図２４を用いて説明する。図２４における(2) の時点では、駆動部３１０が「閉」状態で出力端子ＯＵＴ０３からの出力信号はオフ、センサ３１２はオン、センサ３１４はオフになっている。ここで、出力端子ＯＵＴ０３からの出力信号をオンすると電磁弁３０２が働き、シリンダ軸３０８が動作して、駆動部３１０が図２９（Ｂ）に示す「開」状態になる。この「開」状態は図２４の(3) で表される。このとき、センサ３１２はオフ、センサ３１４はオンに変わっている。
【０００９】
一方、シリンダ３００の閉動作は、駆動部３１０を「開」状態から「閉」状態（図２９（Ｃ））、即ち図２４において(4) から(5) の状態にすることであるから、出力端子ＯＵＴ０３からの出力信号をオフすることによって実行し、これに伴いセンサ３１２はオン、センサ３１４はオフに変わる。
【００１０】
従来、こうした機械ユニットの動作をテストするためのプログラムを作成する場合、まず、上記シリンダの開動作、閉動作をそれぞれ制御するためのフローチャートを作成する。例えば、図３０に示すように、出力端子ＯＵＴ０３からの出力信号をオンし（Ｓ０１）、入力端子ＩＮ０４への入力信号がオフに変わったことをセンサ３１２により検出し（Ｓ０２）、入力端子ＩＮ０５への入力信号がオンに変わったことをセンサ３１４により検出する（Ｓ０３）といった一連のシリンダ開動作時の処理を表すフローチャートを作成する。そして、このようなフローチャートから、コーディング、デバッグ、コンパイルを経てコンピュータ上でプログラムとして動作する実行体を作成していた。
【００１１】
当然、製造装置は複数の機械ユニットから構成されるので、それらのすべての機械ユニットに対して、同様の手順でテストプログラムを作成する必要があった。
【００１２】
こうしたテストプログラムは、導入後には殆ど使用されることがないので、製造装置に共通に対応できるものを作成すべきであるが、現実には製造装置によって機械ユニットの数が異なり、また、入出力端子の割付番号は、設計上、容易に統一できない為に、新規装置を製作するたびに個別のテストプログラムを作成せざるをえない状況であった。
【００１３】
さらに、動作シーケンスをチェックするテストプログラムを作成しようとすれば、プログラム内容、量ともに実用の制御プログラムと同等の工数、期間がかかるので、結果的に、テストプログラムを作成せずに、正規の制御プログラムの完成を待つことも多かった。
【００１４】
このように、上記のような方法では、製造装置と制御プログラムの両方が揃っていないと、有効な検査に着手出来ないだけでなく、設置前検査で制御プログラムテストと製造装置の機械ユニットの調整とを同時に行うことになる為、検査効率が悪く、設置前検査に時間がかかっていた。
【００１５】
また、製造装置を使った制御プログラムテストでは、入出力信号に誤りがあると、製造装置の機械ユニットを破損するおそれがあり、機械ユニットのハードチェック用のテストプログラムを作成する場合には、対象装置毎に作成する必要があった。
【００１６】
一方、制御プログラムのチェックの為には、図２６に示すように検査対象の製造装置と電気的に接続するためのコネクタ部３２２を備え、複数のスイッチ３２４、複数の半導体レーザ（ＬＥＤ）３２６が上面に設けられたスイッチボックス３２０を製作して検査を行うこともある。図２７（Ａ）に示すように、上記スイッチ３２４の一端は接地され他端はコネクタ部３２２へ接続されており、図２７（Ｂ）に示すように、上記ＬＥＤ３２６の一端はコネクタ部３２２へ接続され他端は抵抗３３０を介してＬＥＤ駆動電源３２８へ接続されている。
【００１７】
これは製造装置の機械ユニットの制御に、図２８に示した入出力制御回路３４０が一般的に使用されることを利用したもので、入力接点３４２に接続される被制御機器（センサ等の信号入力機器）の代わりに上記スイッチ３２４を接続し、そのスイッチ３２４を操作（オン／オフ）することで、センサ等の信号入力機器からの入力信号の代わりをＣＰＵユニット３４４に、フォトカプラ３４６を介して入力する。このようにして入力信号のシミュレーションを行う。
また、負荷３４８として接続される被制御機器（モータ、シリンダ等、即ち、ＣＰＵユニット３４４からの出力信号によって動作する機器）の代わりに上記ＬＥＤ３２６を接続し、ＣＰＵユニット３４４から出力信号を出力して、ＬＥＤ３２６の発光状態によって出力信号の端子への出力状態を確認する。このようにして出力信号のシミュレーションを行う。以上のような方法で、スイッチボックス３２０（図２６）を使用した制御プログラムの検査を行ってきた。
【００１８】
このようにスイッチボックス３２０のような検査機器を使用してシミュレーションを行う場合、人間の操作に頼るため、動作シーケンスをもった被制御機器のテスト、相手の信号に対し高速な応答を要するテストが困難であり、同時にチェックできる入出力端子数が少なく処理効率があまり良くなかった。
【００１９】
【発明が解決しようとする課題】
本発明は、上記問題点を解消するために成されたものであり、機械ユニットと該機械ユニットの動作を制御する制御プログラムから構成される製造装置の設置前検査を効率的に実行し、設置前検査に要する時間を短縮することができるシミュレーション実行方法及びシミュレータを提供することを目的とする。
【００２０】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載のシミュレーション実行方法は、製造装置を構成する複数の機械ユニットの各々の動作及び機械ユニット間の動作の相関関係を経時的に表した機械動作タイミングチャートに基づいて作成された、前記機械ユニットの入出力端子の何れかで入出力信号状態が変化した変化時点での各入出力端子の信号の状態と、前記入出力端子の入出力の相関関係と、前記変化時点の時間間隔と、前記変化時点で実行される入力信号を受信する入力処理及び出力信号を発信する出力処理のうちいずれの処理が先行するかを表す先行処理情報と、前記変化時点直後の入力信号の特定のビットが期待値との比較を行うビットであるか否かを表す入力マスクの情報と、を表したシーケンステーブルに基づいて、前記機械ユニットの機械動作及び該機械ユニットの動作を制御する制御プログラムの制御動作の少なくとも一方のシミュレーションをシミュレータにより実行する、ことを特徴とする。
【００２１】
また、請求項２記載のシミュレータは、製造装置を構成する複数の機械ユニットの入出力端子の何れかで入出力信号状態が変化した変化時点での各入出力端子の信号の状態と、前記入出力端子の入出力の相関関係と、前記変化時点の時間間隔と、前記変化時点で実行される入力信号を受信する入力処理及び出力信号を発信する出力処理のいずれの処理が先行するかを表す先行処理情報と、前記変化時点直後の入力信号の特定のビットが期待値との比較を行うビットであるか否かを表す入力マスクの情報と、を表したシーケンステーブルを記憶した記憶手段と、前記記憶手段に記憶されたシーケンステーブルに基づいて、前記機械ユニットの機械動作及び該機械ユニットの動作を制御する制御プログラムの制御動作の少なくとも一方のシミュレーションを実行する実行手段と、を有することを特徴とする。
【００２２】
また、請求項３記載のシミュレータは、請求項２に記載のシミュレータにおいて、前記製造装置の操作パネルに類似し、データ入力を指示するための入力指示部及びデータ出力を指示するための出力指示部を含んで構成された操作画面を表示する表示手段と、表示された操作画面の所望の部分を指定すると共に該操作画面の所定の入力位置にデータを入力するための操作手段と、前記操作手段により前記操作画面の入力指示部が指定された場合、検査対象からの入力データを前記操作画面の所定位置に表示させると共に、前記操作手段によりデータが入力され前記操作画面の出力指示部が指定された場合、検査対象へ前記入力されたデータを出力する入出力制御手段と、をさらに有し、前記実行手段は、前記入力指示部及び前記出力指示部の指示に基づいて、シミュレーションを実行することを特徴とする。さらに、請求項４に記載のシミュレータは、請求項２または請求項３に記載のシミュレータにおいて、複数の信号を同時に入出力可能な入出力手段をさらに有し、前記実行手段は、前記パラレル入出力手段により入出力される前記複数の信号に基づいてシミュレーションを実行することを特徴とする。
【００２３】
また、請求項５記載のシミュレータは、請求項２から請求項４のいずれか１項に記載のシミュレータにおいて、前記実行手段は、前記シーケンステーブルのデータをシーケンス順に取り出し、検査対象の機械ユニットと信号のやりとりを行いながら制御プログラムの制御動作のシミュレーションを実行し、前記実行手段により制御プログラムの制御動作のシミュレーションが正常に実行されたか否かに基づいて、前記機械ユニットの一連の動作が正常であるか否かを判定する機械ユニット動作判定手段と、を有することを特徴とする。
【００２４】
また、請求項６記載のシミュレータは、請求項２から請求項５のいずれか１項に記載のシミュレータにおいて、前記実行手段は、前記シーケンステーブルのデータをシーケンス順に取り出し、検査対象の制御プログラムの制御動作と並行して前記機械ユニットの機械動作のシミュレーションを実行し、前記実行手段により機械ユニットの機械動作のシミュレーションが正常に実行されたか否かに基づいて、前記制御プログラムが正常であるか否かを判定する制御プログラム判定手段と、を有することを特徴とする。
【００２５】
また、請求項７記載のシミュレータは、請求項２から請求項６の何れか１項に記載のシミュレータにおいて、前記実行手段による制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションの中断を指示するための中断指示手段と、前記中断指示手段により中断が指示された場合に、制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションを中断させる中断制御手段と、をさらに有することを特徴とする。
【００２６】
また、請求項８記載のシミュレータは、請求項２から請求項７の何れか１項に記載のシミュレータにおいて、前記シーケンステーブルの１つのステップに対応する、制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションを実行するよう指示するためのステップ実行指示手段と、前記ステップ実行指示手段により１つのステップのシミュレーションの実行が指示された場合に、前記実行手段により当該時点のステップのシミュレーションのみを実行させるステップ実行制御手段と、をさらに有することを特徴とする。
【００２７】
また、請求項９記載のシミュレータは、請求項２から請求項８の何れか１項に記載のシミュレータにおいて、前記実行手段による制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションの繰り返し実行を指示するための繰り返し指示手段と、前記繰り返し指示手段により繰り返し実行が指示された場合に、前記実行手段により制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションを繰り返し実行させる繰り返し制御手段と、をさらに有することを特徴とする。
【００２８】
また、請求項１０記載のシミュレータは、請求項２から請求項９の何れか１項に記載のシミュレータにおいて、前記記憶手段により記憶されたシーケンステーブルのデータを所望のデータに修正するためのデータ修正手段をさらに有することを特徴とする。
【００２９】
また、請求項１１記載のシミュレータは、請求項から請求項１０の何れか１項に記載のシミュレータにおいて、前記機械ユニットの出力端子から出力させたいパルス信号の波形を入力する入力手段と、入力された各出力端子毎のパルス信号の波形を表すシーケンステーブルを作成するテーブル作成手段と、作成されたシーケンステーブルに基づく波形のパルス信号を前記出力端子から出力させる出力制御手段と、をさらに有することを特徴とする。
【００３０】
上記請求項１記載のシミュレーション実行方法では、まず、製造装置を構成する複数の機械ユニットの各々の動作及び機械ユニット間の動作の相関関係を経時的に表した機械動作タイミングチャート（例えば、図２４）を作成する。なお、機械ユニットとは、製造装置において所定の動作を行う機器の集合を意味し、例えば、モータと該モータの動作に係る電流供給部等とにより構成されたモータ駆動系や、シリンダと該シリンダの動作に係る駆動部等とにより構成されたシリンダ駆動系等が挙げられる。
【００３１】
次に、作成された機械動作タイミングチャートに基づいて、機械ユニットの入出力端子の何れかで入出力信号状態が変化した変化時点での各入出力端子の信号の状態と、入出力端子の入出力の相関関係と、変化時点の時間間隔と、変化時点で実行される入力信号を受信する入力処理及び出力信号を発信する出力処理のいずれの処理が先行するかを表す先行処理情報と、変化時点直後の入力信号の特定のビットが期待値との比較を行うビットであるか否かを表す入力マスクの情報と、を表したシーケンステーブルを作成する。
【００３２】
ここでは、例えば、機械動作タイミングチャートから、一旦入出力タイミングチャート（例えば、図３）を作成し、該入出力タイミングチャートからシーケンステーブルを作成しても良い。
【００３３】
ところで、機械ユニットの機械動作を制御する制御プログラムの制御動作は、「機械ユニットへ信号を出力して該機械ユニットからの信号の入力を待つ」、「機械ユニットからの信号の入力を待って該機械ユニットへ信号を出力する」、「機械ユニットへ信号を連続して出力する」、「機械ユニットからの信号の入力を連続して待つ」の４パターンの組合せと、それらの順序と、各パターンの所要時間とにより特定可能である。
【００３４】
よって、上記シーケンステーブルで表された情報（即ち、機械ユニットの各入出力端子の信号の状態の時間的な変化と、入出力端子の入出力の相関関係と、変化時点の時間間隔と、変化時点で実行される入力信号を受信する入力処理及び出力信号を発信する出力処理のいずれの処理が先行するかを表す先行処理情報と、変化時点直後の入力信号の特定のビットが期待値との比較を行うビットであるか否かを表す入力マスクの情報）により、制御プログラムの制御動作を特定可能であり、該制御動作の対象である機械ユニットの機械動作も特定可能である。
【００３５】
そこで、上記作成されたシーケンステーブルに基づいて、機械ユニットの機械動作及び該機械ユニットの動作を制御する制御プログラムの制御動作の少なくとも一方のシミュレーションをシミュレータにより正確に実行することができる。
【００３６】
これにより、従来のように機械ユニットと制御プログラムの両方が作成完了していなくても、未完成の機械ユニット又は未完成の制御プログラムについて動作のシミュレーションを行うことで、作成完了した機械ユニット又は作成完了した制御プログラムの設置前検査を行うことができ、設置前検査の処理効率向上及び時間短縮を図ることができる。
【００３７】
また、シーケンステーブルは一旦作成すれば、同一の機械ユニットに対して汎用的に使用できるので、対象の機械ユニット毎にテストプログラムを作成していた従来に比べ、検査準備に要する作業工数を削減することができる。
【００３８】
次に、請求項２記載のシミュレータには、製造装置を構成する複数の機械ユニットの入出力端子の何れかで入出力信号状態が変化した変化時点での各入出力端子の信号の状態と、入出力端子の入出力の相関関係と、変化時点の時間間隔と、変化時点で実行される入力信号を受信する入力処理及び出力信号を発信する出力処理のいずれの処理が先行するかを表す先行処理情報と、変化時点直後の入力信号の特定のビットが期待値との比較を行うビットであるか否かを表す入力マスクの情報と、を表したシーケンステーブルを記憶した記憶手段が設けられている。このシーケンステーブルは、前述したシーケンステーブルと同じであり、該シーケンステーブルで表された情報（即ち、機械ユニットの各入出力端子の信号の状態の時間的な変化と、入出力端子の入出力の相関関係と、変化時点の時間間隔と、変化時点で実行される入力信号を受信する入力処理及び出力信号を発信する出力処理のいずれの処理が先行するかを表す先行処理情報と、変化時点直後の入力信号の特定のビットが期待値との比較を行うビットであるか否かを表す入力マスクの情報）により、制御プログラムの制御動作を特定可能であり、該制御動作の対象である機械ユニットの機械動作も特定可能である。
【００３９】
そこで、実行手段は、上記記憶されたシーケンステーブルに基づいて、機械ユニットの機械動作及び該機械ユニットの動作を制御する制御プログラムの制御動作の少なくとも一方のシミュレーションを正確に実行することができる。
【００４０】
これにより、従来のように機械ユニットと制御プログラムの両方が作成完了していなくても、未完成の機械ユニット又は未完成の制御プログラムについて動作のシミュレーションを行うことで、作成完了した機械ユニット又は作成完了した制御プログラムの設置前検査を行うことができ、設置前検査の処理効率向上及び時間短縮を図ることができる。
【００４１】
また、シーケンステーブルは一旦作成すれば、同一の機械ユニットに対して汎用的に使用できるので、対象の機械ユニット毎にテストプログラムを作成していた従来に比べ、検査準備に要する作業工数を削減することができる。
【００４２】
次に、請求項３記載のシミュレータでは、表示手段が、製造装置の操作パネルに類似し、データ入力を指示するための入力指示部及びデータ出力を指示するための出力指示部を含んで構成された操作画面を表示する。オペレータは、この操作画面を見ながら、操作手段によって、該操作画面の所望の部分を指定することができると共に、該操作画面の所定の入力位置にデータを入力することができる。
【００４３】
ここで、オペレータが操作手段により操作画面の入力指示部を指定すると、入出力制御手段は、検査対象からの入力データを操作画面の所定位置に表示させる。また、オペレータが操作手段により操作画面の所定の入力位置にデータを入力し操作画面の出力指示部を指定すると、入出力制御手段は、前記入力されたデータを検査対象へ出力する。実行手段は、入力指示部及び出力指示部の指示に基づいて、シミュレーションを実行する。
【００４４】
これにより、オペレータは、検査対象からの入力データを操作画面上で視覚的に確認できると共に、検査対象への出力データを操作画面上で視覚的に確認した後、該出力データを検査対象へ出力することができる。このように、製造装置の操作パネルに類似した操作画面を見ながら、検査対象とのデータ入出力のシミュレーションを簡単な操作で実行することができる。また、請求項４記載のシミュレータは、複数の信号を同時に入出力可能なパラレル入出力手段をさらに有しており、実行手段は、パラレル入出力手段により入出力される複数の信号に基づいてシミュレーションを実行する。これにより、複数の信号を同時に入力することができ、実行手段によりシミュレーションされた複数の信号を同時に出力することができる。
【００４６】
次に、請求項５記載のシミュレータでは、実行手段は、シーケンステーブルのデータをシーケンス順に取り出し、検査対象の機械ユニットと信号のやりとりを行いながら制御プログラムの制御動作のシミュレーションを実行していく。
【００４７】
このとき、検査対象の機械ユニットの一連の動作が正常であれば、上記制御プログラムの制御動作のシミュレーションは正常に実行されるが、もし、機械ユニットの一連の動作が正常でなければ、制御プログラムの制御動作のシミュレーションは正常に実行されない。
【００４８】
このことを利用して、機械ユニット動作判定手段は、実行手段によるシミュレーションが正常に実行されたら、機械ユニットの一連の動作が正常であると判定し、実行手段によるシミュレーションが正常に実行されなかったら、機械ユニットの一連の動作が正常でないと判定する。
【００４９】
このようにして制御プログラムの完成を待たずに、機械ユニットと本発明に係るシミュレータとで、機械ユニットの一連の動作（動作シーケンス）のテストを実現することができる。
【００５１】
次に、請求項６記載のシミュレータでは、実行手段は、シーケンステーブルのデータをシーケンス順に取り出し、検査対象の制御プログラムの制御動作と並行して機械ユニットの機械動作のシミュレーションを実行していく。
【００５２】
このとき、検査対象の制御プログラムの制御動作が正常であれば、上記機械ユニットの機械動作のシミュレーションは正常に実行されるが、もし、制御プログラムの制御動作が正常でなければ、機械ユニットの機械動作のシミュレーションは正常に実行されない。
【００５３】
このことを利用して、制御プログラム判定手段は、実行手段によるシミュレーションが正常に実行されたら、制御プログラムの制御動作が正常であると判定し、実行手段によるシミュレーションが正常に実行されなかったら、制御プログラムの制御動作が正常でないと判定する。
【００５４】
このようにして機械ユニットの完成を待たずに、制御プログラムと本発明に係るシミュレータとで、制御プログラムの制御動作のテストを実現することができる。
【００５５】
次に、請求項７記載のシミュレータでは、中断指示手段により、実行手段による制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションの中断を指示可能とされている。そして、オペレータが中断指示手段により中断を指示すると、中断制御手段は、制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションを中断させる。このように、オペレータは所望のタイミングで（例えば、意図しないトラブルの発生時等に）シミュレーションを中断させることができ、シミュレーション実行時の操作性が向上する。
【００５６】
また、請求項８記載のシミュレータでは、ステップ実行指示手段により、シーケンステーブルの１つのステップに対応する、制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションを実行するよう指示可能とされている。そして、オペレータがステップ実行指示手段により１つのステップのシミュレーションの実行を指示すると、ステップ実行制御手段は、実行手段により当該時点のステップのシミュレーションのみを実行させる。このように、オペレータは所望のタイミングで（例えば、機械ユニットの調整時等に）、当該時点のステップのシミュレーションのみを実行させることができ、シミュレーション実行時の操作性が向上する。
・
【００５７】
また、請求項９記載のシミュレータでは、繰り返し指示手段により、実行手段による制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションの繰り返し実行を指示可能とされている。そして、オペレータが繰り返し指示手段により、シミュレーションの繰り返し実行を指示すると、繰り返し制御手段は、実行手段により制御プログラムの制御動作のシミュレーション又は機械ユニットの機械動作のシミュレーションを繰り返し実行させる。このように、オペレータは所望のタイミングで（例えば、機械ユニットの耐久テスト実行時等に）、シミュレーションを繰り返し実行させることができ、シミュレーション実行時の操作性が向上する。また、従来はテストプログラムを作成して実行していた機械ユニットの耐久テスト等を容易に実行することができる。
【００５８】
また、請求項１０記載のシミュレータでは、オペレータは、データ修正手段によって、記憶手段に記憶されたシーケンステーブルのデータを所望のデータに修正することができる。例えば、画面に表示されたシーケンステーブルのデータを画面上で所望のデータに修正し、所定の修正指示ボタン等を操作することで、記憶手段に記憶されたシーケンステーブルのデータを所望のデータに修正する。これにより、仮にシーケンステーブルのデータに誤りがあっても、オペレータは誤ったデータを正しいデータに修正することができ、操作の柔軟性が向上する。
【００５９】
また、請求項１１記載のシミュレータでは、オペレータが、入力手段によって機械ユニットの出力端子から出力させたいパルス信号の波形を入力すると、テーブル作成手段は、入力された各出力端子毎のパルス信号の波形を表すシーケンステーブルを作成する。そして、出力制御手段は、作成されたシーケンステーブルに基づく波形のパルス信号を出力端子から出力させる。これにより、オペレータは所望のタイミングで所望の波形（パルス幅及び振幅）のパルス信号を各出力端子から検査対象へ出力させることができるので、検査項目の範囲を広げることができる。
【００６０】
【発明の実施の形態】
［第１実施形態］
以下、図面を参照して、本発明に係る第１実施形態を説明する。本第１実施形態では、シーケンステーブルによって制御プログラムのシミュレーションを行う方法及びシーケンステーブルによって機械ユニットのシミュレーションを行う方法を説明する。
【００６１】
（装置構成）
図１には、本第１実施形態でのシミュレーションを行うシミュレータ１０と検査対象の製造装置１６の概略構成を示す。図１に示すように、シミュレータ１０には、ＣＰＵユニット１２と、後述する入出力タイミングチャート２２、シーケンステーブル２４、２６、２８を記憶した記憶部１４とが設けられている。製造装置１６は、モータやシリンダ等の機械ユニット１８と、ＣＰＵユニット等により構成され機械ユニット１８の動作制御のための制御プログラムを実行する制御部２０とを含んで構成される。
【００６２】
なお、図１では、機械ユニット１８を図示したが、機械ユニット１８が未作成のときに該未作成の機械ユニット１８のシミュレーションをシミュレータ１０により行うこともある。
【００６３】
（シミュレーションの概要）
まず、シーケンステーブルによって制御プログラムのシミュレーションを行う方法を説明する。なお、制御プログラムによる機械ユニットの制御とは、制御プログラムが目的の動作をさせるための信号を機械ユニットに出力し、その信号を受けた機械ユニットが動作することによって、その動作の監視または動作の完了を検出するためのセンサが働き（オン又はオフとなり）、そのセンサの信号を制御プログラムが検出し、機械ユニットが目的の動作を実行したことを認識する、という一連の制御手順を意味する。
【００６４】
従って、機械ユニットを制御するための制御プログラムの構成は、基本的に「信号を出力して入力信号を待つ」「入力信号を待って信号を出力する」「連続して信号を出力する」「連続して入力信号を待つ」の４パターンの組み合わせ、それらの順序、及びそれらの所要時間の３つの要素から成る。また、機械ユニット間の差異という点からすると、従来技術で述べた通り、入出力信号の端子の数やその端子番号（ポートアドレス）の割付けが、機械ユニット毎に異なる。
【００６５】
そこで、本第１実施形態では、詳細は後述するが、図５のシーケンステーブル２６によって、上記４パターンの組合せ、順序、所要時間の３つの要素を任意に設定できるようにし、更に、入出力信号の端子数やその端子アドレスの割付けも、シーケンステーブル２６に任意に設定できるようにしたものであり、あらゆる装置に対する制御プログラムのシミュレーションが可能とされている。
【００６６】
次に、シーケンステーブルによって機械ユニットのシミュレーションを行う方法を説明する。なお、プログラムによる機械ユニットの制御を機械ユニット側からみると、制御プログラムからの出力信号を受けるということは、機械ユニットが制御プログラムからの出力信号を入力することを意味する。そして、その信号によって機械ユニットが所定時間駆動し、目的の動作が完了すると、その目的位置に対応するセンサがオンすることになるが、これは機械ユニットがセンサ信号を制御プログラムに出力すると解釈できる。
【００６７】
このことを、図３のタイムチャート２２でみると、出力信号ＯＵＴ０１〜ＯＵＴ０７は機械ユニット側からは入力信号（順序通り配置したとすれば）ＩＮ０１〜ＩＮ０７とみなすことができ、入力信号ＩＮ０１〜ＩＮ１１は機械ユニット側からは出力信号ＯＵＴ０１〜ＯＵＴ１１とみなすことができる。
【００６８】
さらに、機械ユニットの動作時間とは、動作前の位置に配置されたセンサがオンからオフに変化してから、動作先の位置に配置されたセンサがオフからオンに変化するまでの時間に相当する。例えば、シリンダＮＯ．２が開動作をする場合では、出力信号ＯＵＴ０４がオフとなってから出力信号ＯＵＴ０５がオンとなるまでの時間であり、それは図３のタイムチャート２２では、(2) (3) 間の円Ｒ内の矢印の値「２」に該当する。
【００６９】
図３に示す全ての機械ユニットに対して上記のような適用を実行すると、図６に示すような機械ユニットのシミュレーションを行うためのシーケンステーブル２８が作成される。
【００７０】
（シーケンステーブルを用いたシミュレーションの実行方法）
以下、図４のシーケンステーブル２４、図５のシーケンステーブル２６、図６のシーケンステーブル２８の内容、作成方法及び該シーケンステーブルを用いたシミュレーションの実行方法を説明する。
【００７１】
図２の流れ図に示すように、まず、従来技術の項で説明したように、図２４の機械動作タイミングチャートを作成し（Ｓ１）、この機械動作タイミングチャートから図３の入出力タイミングチャートを作成する（Ｓ２）。この図３の入出力タイミングチャートは、例えば、図２５の入出力タイミングチャートにおいて出力端子と入力端子とを分けるべく順番を入れ替えることで作成される。
【００７２】
図３の入出力タイミングチャートは、上記で説明した制御プログラムが行う一連の手順を、制御プログラムから見た入出力信号とそれらの入出力タイミング関係で表現し、そこに信号の変化点の区切りＫを入れる。この区切りＫには、図２５の入出力タイミングチャート上の機械ユニット動作のシーケンス順番を表す番号(1) 〜(11)がそのまま対応する。
【００７３】
次に、図３の入出力タイミングチャートに基づいて、以下のようにして図４のシーケンステーブルを作成する（Ｓ３）。まず、図３において、各端子の状態の変化点(1) 〜(11)に対して、オン状態を「１」、オフ状態を「０」としてビットデータ化し、その値を入出力端子別に、図４のシーケンステーブルの出力データ、入力データの各フィールドに数値データとして設定する。これにより、各端子の(1) 〜(11)のタイミングにおける信号の状態が数値で表現される。
【００７４】
ところで、図２５に示す入出力タイミングチャートにおいて、モータＮｏ．１の出力信号ＯＵＴ０１のオンによって、センサからの入力信号ＩＮ０２がオンし（破線矢印(1) 部分）、それをトリガにして出力信号ＯＵＴ０１をオフすると同時にシリンダＮｏ．１の出力信号ＯＵＴ０３をオンする（上下矢印(2) 部分）。
【００７５】
この様に、各入出力信号には、すべて相互のトリガ関係がある。このトリガ関係をデータで表現するために、図４のシーケンステーブルに(2) ’〜(11)’のフィールドを設け、図２５の破線矢印に相当する部分、即ち、図３の丸印の信号変化だけを表す入力信号のデータを加える。
【００７６】
また、変化点と変化点との時間間隔を時間単位数（以下、これをタイマーと呼ぶ）Ｔで表現する。なお、このタイマーは、既に述べたように、信号を受けた機械ユニットの動作時間に対応するが、本シミュレータで、「制御プログラムをシミュレーション」する場合は、検査対象の機械ユニットが動作する間、シミュレータプログラムがセンサの信号入力待ち状態に入るので、シーケンステーブルのタイマーへの設定値は「０」でよいことになる。一方、本シミュレータで「機械ユニットの動作をシミュレーション」する場合は、機械ユニットの動作時間（動作前の位置のセンサのオフ出力から動作後の位置のセンサのオン出力までの時間）をシーケンステーブルのタイマーに設定する。
【００７７】
更に、各同一時点で実行される入出力処理のうち先行する処理を表すデータ（ここでは「Ｒ」を入力処理先行、「Ｗ」を出力処理先行とする）を加えて、図４のシーケンステーブル２４を作成する。この図４のシーケンステーブル２４は図３の入出力タイミングチャート２２を数値化して表現したものということになる。
【００７８】
さらに図２のＳ３では、図４のシーケンステーブル２４を基にして、以下のようにして図５のシーケンステーブル２６を作成する。例えば、図５に示すように、シーケンステーブル２４（図４）に、入出力信号の変化の順番を表したシーケンス番号２６Ａ及び後述する入力マスク２６Ｆを付加することで、制御プログラムのシミュレーションを行うためのシーケンステーブル２６を作成する。
【００７９】
ただし、図５のシーケンステーブル２６での出力データ２６Ｂは、シーケンステーブル上の指定されたタイミングでシミュレータが出力すべき信号データを意味し、入力データ２６Ｃは、シミュレータが入力を期待する信号データを意味する。
【００８０】
また、図５のシーケンステーブル２６では、前で説明した内容に従ってタイマー２６Ｄの値をすべて「０」とする。また、先行処理２６Ｅについては、機械ユニットに動作を実現させる為に、まずシミュレータから機械ユニットに信号を出力することが機械動作開始の最初のトリガとみなし、すべて「Ｗ」を設定する。
【００８１】
また、図４のシーケンステーブルでは空欄であった(2) ’〜(11)’の出力データ２６Ｂには、１つ前の出力データと同じ値のデータを設定する。それは、ある出力データに対して、連続して異なる入力信号を受けようとするとき、シミュレータのプログラムシーケンスと整合させるため、ある時点の出力状態に同じデータを出力しても、出力信号状態が変化しないことを利用する。
【００８２】
上記のようにして図２のＳ３で図５のシーケンステーブル２６が作成され、図２のＳ４で製造装置が完成すると、図２のＳ５で、図５のシーケンステーブル２６を用いて制御プログラムの制御動作のシミュレーションを行い、製造装置の機械ユニットの動作テストを行う。
【００８３】
一方、図２のＳ７において、図６に示すように、図５のシーケンステーブル２６の出力データ２６Ｂと入力データ２６Ｃとを入れ替えて、図３の入出力タイミングチャート２２のタイマー設定値をタイマー２８Ｄの欄に設定することで、機械ユニットのシミュレーションを行うためのシーケンステーブル２８を作成する。
【００８４】
このようにして図２のＳ７で図６のシーケンステーブル２８が作成され、図２のＳ６で制御プログラムが完成すると、図２のＳ８で、図６のシーケンステーブル２８を用いて機械ユニットの動作のシミュレーションを行い、制御プログラムのシーケンステストを行う。
【００８５】
以上説明した第１実施形態によれば、機械動作タイミングチャートに基づいて、検査に使用するシーケンステーブルを画一的な操作で容易に作成することができる。
【００８６】
また、図４の１つのシーケンステーブル２４から、製造装置の機械ユニットの動作をチェックするためのシーケンステーブル２６（図５）と制御プログラムをチェックするためのシーケンステーブル２８（図６）の両方を作成するので、シーケンステーブル２６、２８に対し動作の信頼性を得ることで、制御プログラムと製造装置の動作シーケンス上の整合性をとることができる。
【００８７】
また、シーケンステーブルは一旦作成すれば、同一の動作を行う機械ユニットに対しては流用できる。特に、標準的に使用する通信等には有効である。
［第２実施形態］
以下、本発明に係る第２実施形態を説明する。
【００８８】
（装置構成）
図７には、本第２実施形態でのシミュレーションを行うパーソナルコンピュータ（パソコン）３０の構成図を示す。この図７に示すように、パソコン３０としては、ノート型のパソコン３０Ａ、タワー型のパソコン３０Ｂ、デスクトップ型のパソコン３０Ｃなど各種タイプのパソコンを採用することができる。
【００８９】
上記パソコン３０は、一般的なパソコンと同様に、本体、ハードディスク、ディスプレイ、キーボード、マウス等を備えており、さらに、その本体には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ、Ｕｎｉｔ）、メモリ等の基板、及び図８の回路構成図で示したパラレル入出力基板（以下、ＰＩＯボードと呼ぶ）３２が装備されている。なお、ノート型のパソコン３０Ａを使用する場合には、該パソコン３０Ａにバス拡張ボックス３４を接続し、該バス拡張ボックス３４にＰＩＯボード３２をセットする必要がある。
【００９０】
図８に示すように、ＰＩＯボード３２には、比較回路４２と、制御回路４４と、データバスドライバ４６と、出力ラッチ回路４８と、トランジスタで動作制御されるフォトカプラ５０と、出力端子５２と、入力端子５４と、入力端子５４に接続されたフォトカプラ５６と、バッファ５８とが、設けられており、このうち制御回路４４は、比較回路４２、データバスドライバ４６、出力ラッチ回路４８、バッファ５８の動作を制御する。
【００９１】
ＰＩＯボード３２をパソコン３０に装着した場合、パソコン３０に内蔵されたＣＰＵユニット４０は、アドレスバス６０を介して比較回路４２に接続されると共に、データバス６２、データバスドライバ４６、データバス６４を介して出力ラッチ回路４８及びバッファ５８に接続される。
【００９２】
このようなＰＩＯボード３２の装着状態における信号の出力時には、出力すべきデータを表す信号（出力信号）がＣＰＵユニット４０からデータバス６２、データバスドライバ４６、データバス６４を介して出力ラッチ回路４８へ転送され、適切なタイミングで出力信号が出力ラッチ回路４８からフォトカプラ５０へ転送され出力端子５２より外部へ出力される。また、信号の入力時には、入力端子５４から入力された入力信号は、フォトカプラ５６で受信され、該入力信号が表すデータ（入力データ）がバッファ５８に蓄積される。そして、適切なタイミングで入力データがデータバス６４、データバスドライバ４６、データバス６２を介してＣＰＵユニット４０に取り込まれる。
【００９３】
ところで、上記ＣＰＵユニット４０には図示しないメモリーが内蔵されており、このメモリーには、図９に示す製造装置の操作パネルに類似した画面７０をパソコン３０のディスプレイ３１に表示させるプログラム、及び画面７０を用いてデータの入出力のシミュレーション（後述）を行うプログラムが記憶されている。
【００９４】
図９の画面７０には、入力信号のデータを表示する入力信号表示部７１と、該入力信号に対応する比較データを表示する比較データ表示部７２と、出力データを設定するための出力データ設定ボタン７３と、出力信号のデータを表示する出力信号表示部７４と、ファイルデータの読み込みを指示するためのファイル読み込み（File Read ）ボタン７５と、信号入力を指示するための入力ボタン７６と、信号入力監視を指示するための入力監視ボタン７７と、信号出力を指示するための出力ボタン７８と、信号出力監視を指示するための出力監視ボタン７９と、処理停止を指示するための停止ボタン８０と、ファイルデータに基づく一連の処理の実行を指示するための自動シーケンス実行（Auto Sequence ）ボタン８１と、上記一連の処理の繰り返し実行を指示するためのループ設定ボタン（Ｌｏｏｐボタン）８２と、上記一連の処理のうち１ステップの実行を指示するための１ステップ実行ボタン（ＳＴＥＰボタン）８３と、上記一連の処理の継続実行を指示するための継続実行ボタン（ＲＵＮボタン）８４と、処理完了したステップ数をカウントするためのシーケンスカウンタ８５と、シーケンステーブルのデータ変更を指示するための変更ボタン８６と、シーケンステーブルのデータを表示するシーケンステーブル表示部８７と、シミュレータからの各種メッセージを表示するメッセージ表示部８８とが、設けられており、画面７０上の所望のボタン等をマウスでクリックすることにより該ボタン等に対応する処理を実行指示することが可能とされている。
【００９５】
（動作の説明）
以下、上記の画面７０を用いて信号の入出力のシミュレーションを行う方法を述べる。
【００９６】
検査対象からの入力信号を確認する場合、入力ボタン７６をマウスによりクリックする。これにより、図１０の制御ルーチンがＣＰＵユニット４０（図８）により実行される。即ち、図１０のステップ１０２で信号入力の処理を実行し、次のステップ１０４でその時点の検査対象からの入力信号を図９の入力信号表示部７１に表示する。
【００９７】
また、検査対象からの入力信号が連続的に変化する場合は、入力監視ボタン７７をマウスによりクリックすれば、図１１の制御ルーチンがＣＰＵユニット４０により実行される。即ち、図１１のステップ１１２で信号入力の処理を実行し、次のステップ１１４でその時点の検査対象からの入力信号を図９の入力信号表示部７１に表示する。その後、オペレータにより停止ボタン８０がクリックされるまで、ステップ１１２、１１４を繰り返す。これにより、連続的に変化する検査対象からの入力信号をモニタリングすることができる。
【００９８】
さらに、検査対象に対して信号を出力する場合、出力データ設定ボタン７３をマウスによりクリックすれば、図１２の制御ルーチンがＣＰＵユニット４０により実行される。即ち、図１２のステップ１２２では出力データ設定ボタン７３のクリックに応じた出力設定データをビット形式で、出力設定データの表示を兼ねた出力データ設定ボタン７３上に表示する。その後、出力データ設定ボタン７３がクリックされた場合は、再度ステップ１２２で出力データ設定ボタン７３のクリックに応じた出力設定データを出力データ設定ボタン７３上に表示し、出力ボタン７８がクリックされた場合は、ステップ１２８へ進み、信号出力の処理を実行し、ステップ１２９で出力信号を出力信号表示部７４に表示する。
【００９９】
なお、信号入力の処理、信号出力の処理は、図８に示す一般的なＰＩＯボードを用いた入出力処理なので、説明は省略する。
【０１００】
また、図１２の単信号出力処理ルーチン及び図１１の入力監視処理ルーチンは、同時に実行することが可能であり、例えば、検査対象に対し、任意のタイミングで任意の信号を出力し、その際の検査対象からの入力信号をモニタリングするといった柔軟な検査を行うことも可能である。
【０１０１】
以上説明した第２実施形態によれば、従来技術で述べたスイッチボックス３２０（図２６）のような機構や特別なハードウェアの製作を必要とせずに、同様な機能を通常のパソコンで実現することができ、操作性が格段に向上する。
【０１０２】
また、製造装置の操作パネルに類似した画面７０（いわゆるＧＵＩ）を利用して、入出力信号をビットイメージで表示できるため、視覚に基づいてテストを行うことができる。また、任意のタイミングで任意の信号を出力できるので、制御プログラムのエラー処理のテストにも有効に利用できる。
【０１０３】
［第３実施形態］
以下、本発明に係る第３実施形態を説明する。
【０１０４】
本第３実施形態では、上記第２実施形態と同様に、パソコン３０（図７）が用いられる。このパソコン３０のＣＰＵユニット４０内のメモリーには、図９に示す画面７０をディスプレイ３１に表示させるプログラム、画面７０を用いて制御プログラムのシミュレーション（後述）を行うプログラム、及び図５に示す制御プログラムのシミュレーション用のシーケンステーブル２６が記憶されている。
【０１０５】
以下では、第１実施形態で説明したシーケンステーブル２６と、図１３〜図１５の制御ルーチンを用いて、製造装置の機械ユニットの動作シーケンスをチェックする方法を説明する。
【０１０６】
まず、パソコン３０のＰＩＯボード３２とチェック対象の機械ユニットとを適切なコネクタを用いた結線によって接続する。
【０１０７】
そして、図１３のシミュレータプログラムをＣＰＵユニット４０によって実行開始する。オペレータによりFile Read ボタン７５がクリックされると、シーケンステーブル２６のデータを読み込む（ステップ１３４）。このデータは、シミュレータプログラムの配列にセットされて、図９のシーケンステーブル表示部８７に表示される。
【０１０８】
ここで、オペレータによりAuto Sequence ボタン８１がクリックされると、シーケンステーブル２６のデータのうちシーケンス番号１のデータが取り出され（ステップ１４０）、その中の入力データ２６Ｃのフィールドのデータを比較データとして画面７０の比較データ表示部７２に表示し（ステップ１４１）、次に先行処理がＷ（＝出力処理）であるか否かを判定する（ステップ１４２）。
【０１０９】
ここで、先行処理がＷ（＝出力処理）であれば、ステップ１４６へ進み、図１４の出力を先行させた入出力処理のサブルーチンを実行する。一方、先行処理がＲ（＝入力処理）であれば、ステップ１４４へ進み、図１５の入力を先行させた入出力処理のサブルーチンを実行する。
【０１１０】
このうち図１５の入力を先行させた入出力処理では、まず、信号入力処理を行い（ステップ２２２）、その入力信号を画面７０の入力信号表示部７１に表示し（ステップ２２３）、取り込まれた信号データとシーケンステーブル２６の入力データ２６Ｃに設定されている比較すべきデータ（比較データ）とを比較する（ステップ２２４）。ここで、もし両者が一致しなければ、タイムアウトになるまで、再度ステップ２２２で信号入力処理を行い、取り込まれた信号データと比較データとの比較を繰り返す。
【０１１１】
そして、ステップ２２４で信号データと比較データとが一致すると、シーケンステーブル２６のタイマー２６Ｄに設定されている時間単位だけ時間が経過するのを待って（ステップ２２６）から、信号出力処理によりシーケンステーブル２６の出力データ２６Ｂに設定されているデータを出力し（ステップ２２８）、出力信号を画面７０の出力信号表示部７４に表示する（ステップ２２９）。
【０１１２】
また、ステップ２２４で信号データと比較データとが一致しないうちにタイムアウトになった場合、エラーフラグを「１」にセットして（ステップ２３２）、主ルーチンへリターンする。
【０１１３】
一方、図１４の出力を先行させた入出力処理では、まず、シーケンステーブル２６のタイマー２６Ｄに設定されている時間単位だけ時間が経過するのを待って（ステップ２０２）から、信号出力処理によりシーケンステーブル２６の出力データ２６Ｂに設定されているデータを出力し（ステップ２０４）、その出力信号を画面７０の出力信号表示部７４に表示する（ステップ２０５）。その後、信号入力処理を行い（ステップ２０６）、その入力信号を画面７０の入力信号表示部７１に表示し（ステップ２０７）、取り込まれた信号データとシーケンステーブル２６の入力データ２６Ｃに設定されている比較データとを比較する（ステップ２０８）。ここで、もし両者が一致しなければ、タイムアウトになるまで、再度ステップ２０６で信号入力処理を行い、取り込まれた信号データと比較データとの比較を繰り返す。そして、ステップ２０８で信号データと比較データとが一致すると、主ルーチンへリターンする。
【０１１４】
一方、ステップ２０８で信号データと比較データとが一致しないうちにタイムアウトになった場合、エラーフラグを「１」にセットして（ステップ２１２）、主ルーチンへリターンする。
【０１１５】
図１３の主ルーチンにおいて、次のステップ１４８ではエラーフラグが「１」であるか否かを判定し、エラーフラグが「１」であれば、エラー発生をオペレータに報知するためにエラーメッセージを画面７０のメッセージ表示部８８に表示して（ステップ１５２）、処理を終了する。
【０１１６】
ステップ１４８でエラーフラグが「１」でなければ、次のデータ配列からデータを取り出すため画面７０のシーケンスカウンタ８５を１つだけカウントアップした後（ステップ１５０）、ステップ１３８へ戻り、シーケンステーブル２６のデータのうち未処理データの有無をチェックし、未処理データがなくなるまで、ステップ１３８〜１５０の一連の処理を繰り返す。
【０１１７】
ところで、比較データは、シーケンステーブル２６上では、入力データ２６Ｃのフィールドに設定し、指定されたタイミングで入力信号としてシミュレータが期待するデータであるが、テストの対象により、送られてくる信号や送られてくるタイミングが不明で、予めシーケンステーブル２６に比較データを設定することが困難な場合も考えられる。
【０１１８】
そこで、そうした対象に対応する為、シーケンステーブル２６の入力マスク２６Ｆのフィールドに適当なデータを設定しておいて、ステップ２０８及びステップ２２４の入力信号データと比較データとの比較処理の直前に、後述する図１７の入力マスク処理を実行して、着目する必要のない入力信号を比較データから除外しても良い。なお、シーケンステーブル２６では、マスクを望むビットに「０」をセットする形式となっている。
【０１１９】
図１７の入力マスク処理では、シーケンステーブル２６の入力マスク２６Ｆからマスクデータを取り出して（ステップ１６２）、２進ビットデータ化する（ステップ１６４）。そして、入力信号のうちマスクデータに「０」が設定されているビットを強制的に「０」にセットする（ステップ１６６）。
【０１２０】
以上のような入力マスク処理によって、着目する必要のない入力信号を比較データから除外することで、着目すべき入力信号のみチェック（比較）されるので、処理効率が向上すると共に、入力信号に不明な部分が多いケースでも円滑に対応することができる。
【０１２１】
ここで、具体例として、従来技術の説明に用いたシリンダＮｏ．１の開閉動作をテストするテストプログラムと同等の働きを実現するシーケンステーブルを作成する。
【０１２２】
まず、図３において、シリンダＮｏ．１の開動作は(2) から(3) 、閉動作は(4) から(5) で表現されている。ただし、この図３で、シリンダＮｏ．１に関する入出力端子ＯＵＴ０３、ＩＮ０４、ＩＮ０５以外のデータは、ここでは対象外とし「０」を設定する。シリンダＮｏ．１の開閉動作をテストすることは、前に述べた「制御プログラムをシミュレーション」する場合に当てはまり、既述の手順に従って、開動作については図１６（Ａ）のシーケンステーブル２６Ｘが、閉動作については図１６（Ｂ）のシーケンステーブル２６Ｙが、それぞれ容易に作成される。これらのシーケンステーブル２６Ｘ、２６Ｙと図１３の制御ルーチンによって、目的のテストが可能になる。ここで、明らかに、シーケンステーブル２６Ｘ、２６Ｙの作成は、従来技術で述べたテストプログラムの作成に比べて容易である。
【０１２３】
また、シリンダＮｏ．１の開動作に続けて閉動作を実行するためのシーケンステーブルは、シーケンステーブル２６Ｘ、２６Ｙのデータを順に並べることで、図１６（Ｃ）のシーケンステーブル２６Ｚとして容易に作成することができる。
【０１２４】
以上説明した第３実施形態によれば、制御プログラムの完成を待たずに、機械ユニットの信号チェック、動作シーケンスの確認が可能になる。また、従来は、対象装置毎にテストプログラム等を作成しなければ実現できなかった被制御ユニットの動作シーケンスのチェックが、シーケンステーブルの作成だけで実現することができる。さらに、ＧＵＩの機能により入力信号と比較データが見た目で確認できるので、信号チェックが容易である。
【０１２５】
［第４実施形態］
以下、本発明に係る第４実施形態を説明する。本第４実施形態では、上記第３実施形態と同様に、パソコン３０（図７）が用いられる。このパソコン３０のＣＰＵユニット４０内のメモリーには、図９に示す画面７０をディスプレイ３１に表示させるプログラム、画面７０を用いて制御プログラムのシミュレーションを行うプログラム（図１３〜図１５）、及び図６に示す機械ユニットのシミュレーション用のシーケンステーブル２８が記憶されている。
【０１２６】
本第４実施形態では、パソコン３０のＰＩＯボード３２を製造装置の機械ユニットとみなして、制御用コンピュータの入出力信号と制御プログラムのチェックを行う。そのため、図１８に示すように、パソコン３０のＰＩＯボード３２と製造装置のＰＩＯボード３４０（＝制御用コンピュータ、図２８を用いて既に説明済み）とを、相互の入出力端子を、相手の出力を自分の入力、相手の入力を自分の出力という形で接続する。
【０１２７】
上記の接続構成で、第１実施形態で説明したシーケンステーブル２８と、図１３〜図１５の制御ルーチンを用いて、機械ユニットのシミュレーションを行い、制御プログラムの動作シーケンスをチェックする。即ち、第１実施形態で説明したシーケンステーブル２８のデータに基づいて、第３実施形態と同様に、図１３〜図１５の制御ルーチンを実行する。
【０１２８】
以上説明した第４実施形態によれば、従来技術で述べた図２６のスイッチボックス３２０では不可能であった、制御プログラムの動作シーケンスのチェックが可能になる。また、従来はスイッチボックス３２０等を用いて人の肉眼で行っていたＣＰＵユニットからの出力信号の確認を、シーケンステーブルを用いたデータ比較処理によって行うので、出力信号のテストの精度が向上する。
【０１２９】
また、実際の製造装置を使わずに制御プログラムのチェックが可能であり、制御プログラムの検査を、製造装置の製作と独立させて実行できる。さらに、ＧＵＩの機能により入力信号と比較データとを同時に表示し、見た目でデータの一致／不一致を確認することもできるので、信号チェックが容易である。
【０１３０】
［第５実施形態］
以下、本発明に係る第５実施形態を説明する。
【０１３１】
本第５実施形態では、上記第２実施形態と同様に、パソコン３０（図７）が用いられる。このパソコン３０のＣＰＵユニット４０内のメモリーには、図９に示す画面７０をディスプレイ３１に表示させるプログラム、画面７０を用いて制御プログラムのシミュレーション（後述）を行うプログラム、及び図５のシーケンステーブル２６（又は図６のシーケンステーブル２８）が記憶されている。
【０１３２】
（各機能の概要）
本第５実施形態では、第３実施形態で説明したデータ入出力のシミュレーションに、以下で説明する中断機能、１ステップ実行（ＳＴＥＰ）機能、ループ機能、シーケンステーブルの修正機能を追加したシミュレーションを説明する。
【０１３３】
まず、追加した各種機能の概要を説明する。中断機能とは、機械ユニットの動作あるいは制御プログラムのシーケンスを、ある特定の位置で一時的に止める機能であり、画面７０において目的の（中断させたい）シーケンスのＢｒｅａｋフィールド８７Ａに「１」を設定して変更ボタン８６をクリックすることで、該シーケンスの前で処理が中断される。なお、このとき、中断した時点における実行位置の情報がシーケンスカウンタ８５の値として保持される。
【０１３４】
また、シーケンステーブルの修正機能とは、上記のように画面７０において修正又は追加したい所望のフィールド（上記では一例としてＢｒｅａｋフィールド８７Ａ）に値を設定して変更ボタン８６をクリックすることで、シーケンステーブルのデータ（即ち、配列に読み込まれていたデータ）を修正する機能である。
【０１３５】
また、ＳＴＥＰ機能とは、画面７０のＳＴＥＰボタン８３をクリックすることで、当該時点からシーケンステーブルの１ステップだけ実行して処理を停止させる機能である。なお、画面７０のＲＵＮボタン８４をクリックすることで、シーケンステーブルの残りの処理を継続実行させることができる。
【０１３６】
また、ループ機能とは、画面７０のＬｏｏｐボタン８２をクリックすることで、シーケンステーブルで指示された処理を繰り返し実行させる機能である。
【０１３７】
（制御ルーチンの説明）
以下、上記の各種機能を実現する図１９の制御ルーチンを説明する。なお、図１９の制御ルーチンは、上記中断機能やＳＴＥＰ機能等により一旦終了しても、所定時間後にＣＰＵユニット４０により再起動される。
【０１３８】
図１９の制御ルーチンにおいて、まず、最初のステップ２４０で各フラグを初期設定する。その次に、ステップ２４２ではFile Read ボタン７５がクリックされたか否かを、ステップ２４４ではＳｔｅｐボタン８３がクリックされたか否かを、ステップ２４６ではＲｕｎボタン８４がクリックされたか否かを、ステップ２４８ではＬｏｏｐボタン８２がクリックされたか否かを、それぞれ判定する。
【０１３９】
オペレータがFile Read ボタン７５をクリックした場合は、ステップ２４２で肯定判定され、前述した図１３の制御ルーチンと同様に、シーケンステーブル２６のデータを読み込んだ後（ステップ２５２）、オペレータによりAuto Sequence ボタン８１がクリックされると、シーケンステーブル２６のデータのうちシーケンス番号１のデータが取り出され（ステップ２７０）、該シーケンスの先行処理の指定に応じて、前述した図１５の入力を先行させた入出力処理（ステップ２７６）又は前述した図１４の出力を先行させた入出力処理（ステップ２７４）を実行する。
【０１４０】
ここで、オペレータは、中断させたいシーケンスのＢｒｅａｋフィールド８７Ａに「１」を設定して変更ボタン８６をクリックすることで、事前にシーケンステーブル２６のＢｒｅａｋフィールドの情報を修正しておけば、該当の中断させたいシーケンスの実行時に図１９のステップ２６６でＢｒｅａｋフィールドに「１」が設定されていると肯定判定され、図１９の処理を中断させることができる。このようにして、目的の（中断させたい）シーケンスのＢｒｅａｋフィールドに「１」を設定するだけで、図１９の処理を中断させることができる。
【０１４１】
また、オペレータがＳＴＥＰボタン８３をクリックした場合は、ステップ２４４で肯定判定され、ステップ２５８でステップフラグを「１」にセットする。その後、シーケンステーブル２６のデータを取り出し（ステップ２７０）、該シーケンスの先行処理の指定に応じて、入力を先行させた入出力処理（ステップ２７６）又は出力を先行させた入出力処理（ステップ２７４）を実行する。そして、シーケンスカウンタを１つカウントアップして（ステップ２８２）、ステップフラグが「１」にセットされているか否かを判定する（ステップ２８４）。
【０１４２】
上記のようにステップフラグが「１」にセットされておれば、ステップ２８４で肯定判定され、ステップフラグを「０」にリセットした（ステップ２８８）後、図１９の処理を終了する。これにより、ＳＴＥＰボタン８３をクリックした後、シーケンステーブルの１ステップだけ実行して処理を停止させることができる。
【０１４３】
なお、オペレータがＲＵＮボタン８４をクリックすれば、再起動後のステップ２４６で肯定判定され、シーケンステーブルの残りの処理を継続実行させることができる。
【０１４４】
また、オペレータがＬｏｏｐボタン８２をクリックした場合は、ステップ２４８で肯定判定され、ステップ２５０でループフラグを「１」にセットする。その後は、前述したAuto Sequence ボタン８１のクリック時と同様に、シーケンステーブル２６のデータをシーケンス番号順に取り出し（ステップ２７０）、取り出したシーケンスの先行処理の指定に応じて、入力を先行させた入出力処理（ステップ２７６）又は出力を先行させた入出力処理（ステップ２７４）を実行していく。そして、シーケンステーブル２６の全データについて処理を終了したとき、ステップ２６０でシーケンステーブル２６の未処理データ無しと判定され、ステップ２６１でシーケンスカウンタの値が初期値「１」であるか否かを判定する。ここで、シーケンスカウンタの値が初期値「１」であればステップ２４２へ戻り、初期値「１」でなければステップ２６２へ進み、ループフラグが「１」にセットされているか否かを判定する。
【０１４５】
ここで、ループフラグが「１」でなければ、ステップフラグを「０」にリセットした後、処理を終了するが、上記のようにしてループフラグが「１」にセットされておれば、シーケンスカウンタを「１」に初期設定した（ステップ２６４）後、再度シーケンステーブル２６のシーケンス番号１のデータを取り出し（ステップ２７０）、比較データとして入力データ２６Ｃを画面７０の比較データ表示部７２に表示する（ステップ２７１）。そして、取り出したシーケンスの先行処理の指定に応じて、入力を先行させた入出力処理（ステップ２７６）又は出力を先行させた入出力処理（ステップ２７４）を実行していく。
【０１４６】
このようにＬｏｏｐボタン８２をクリックすることで、シーケンステーブルで指示された処理を繰り返し実行させることができる。なお、この場合、オペレータは停止ボタン８０をクリックしてオンにセットすることにより、ステップ２８６で停止ボタン８０がオンであると肯定判定させ、図１９の処理を終了させることができる。
【０１４７】
以上説明した第５実施形態によれば、従来はテストプログラムを作成して実施していた機械ユニットのエージングテストを、上記ループ機能によって容易に実行することができる。また、仮にシーケンステーブルのデータに問題があっても、上記修正機能によって容易に修正でき、修正後のデータによって直ちにシミュレーションを実行できる。
【０１４８】
また、中断機能やＳＴＥＰ機能によって、機械ユニットの動作を、動作シーケンス内の任意の位置で停止し、または、１ステップ毎に実行できるので、機械ユニットの調整やトラブル時の動作確認が容易になる。
【０１４９】
［第６実施形態］
以下、本発明に係る第６実施形態を説明する。
【０１５０】
本第６実施形態では、上記第２実施形態と同様に、パソコン３０（図７）が用いられる。このパソコン３０のＣＰＵユニット４０内のメモリーには、図９に示す画面７０をディスプレイ３１に表示させるプログラム、画面７０を用いて制御プログラムのシミュレーション（後述）を行うプログラム、及び図２２のシーケンステーブル２９が記憶されている。
【０１５１】
本第６実施形態では、任意のタイミングで、任意のパルス幅の信号を出力する方法を説明する。
【０１５２】
まず、出力したいパルス波形を、図２１に示すように入出力タイミングチャートに表現し、その後図２２のシーケンステーブル２９を作成する。ここまでの手順は、第１実施形態で説明した方法と同様である。ただし、このシーケンステーブル２９では、入力データ２９Ｃ、先行処理２９Ｅ及び入力マスク２９Ｆの各フィールドは使用しない。
【０１５３】
このシーケンステーブル２９と図２０の制御ルーチンを用いて、以下のようにしてパルス信号を出力する。オペレータが画面７０のFile Read ボタン７５をクリックすると（図２０のステップ１７２で肯定判定され）、作成したシーケンステーブル２９のデータを読み込む（ステップ１７４）。このデータは、シミュレータプログラムの配列にセットされ、画面７０のシーケンステーブル表示部８７に表示される。
【０１５４】
ここで、オペレータが出力監視ボタン７９をクリックすると（ステップ１７６で肯定判定され）、シーケンス番号１の欄の各データを取り出し（ステップ１８０）、タイマーに設定されている時間単位だけ時間が経過するのを待って（ステップ１８２）、出力データに設定されているデータを出力し（ステップ１８４）、出力信号を画面７０の出力信号表示部７４に表示する（ステップ１８５）。そして、シーケンスカウンタを１つカウントアップした（ステップ１８６）後、シーケンステーブル上のデータの有無をチェックし（ステップ１７８）、データがなくなるまでステップ１８０〜１８６の処理を繰り返す。
【０１５５】
以上の操作によって、図２１の入出力タイミングチャートに表現されたパルス波形の信号を、図２２のシーケンステーブル２９を用いて出力させることができる。
【０１５６】
以上説明した第６実施形態によれば、検査対象に対し、任意のタイミングで任意のパルス幅をもつパルス信号を出力できるので、テスト項目の範囲をひろげることができる。
【０１５７】
なお、上記第１〜第６実施形態の各々で説明した機能は、個別に実行するだけでなく、２つ以上組み合わせて実行しても良い。
【０１５８】
また、複数のシミュレータを用いて、各機械ユニット毎に作成したシーケンステーブルを複数同時に実行することにより、制御プログラムの総合テストを効率的に実行することができる。
【０１５９】
また、１つの製造装置の制御用のシーケンステーブルを複数同時に使用して、シミュレータを動作させることにより、該製造装置の全体制御も可能になる。
【０１６０】
【発明の効果】
以上説明したように、請求項１又は請求項２に記載の発明によれば、機械ユニットと制御プログラムの両方が作成完了していなくても、未完成の機械ユニット又は未完成の制御プログラムについて動作のシミュレーションを行うことで、作成完了した機械ユニット又は制御プログラムの設置前検査を行うことができるので、設置前検査の処理効率向上及び時間短縮を図ることができる。
【０１６１】
また、請求項３記載の発明によれば、検査対象からの入力データを操作画面上で視覚的に確認できると共に、検査対象への出力データを操作画面上で視覚的に確認した後、該出力データを検査対象へ出力することができるので、オペレータは製造装置の操作パネルに類似した操作画面を見ながら、検査対象とのデータ入出力のシミュレーションを簡単な操作で実行することができる。
【０１６２】
また、請求項５記載の発明によれば、実行手段によるシミュレーションが正常に実行されたか否かに基づいて、機械ユニットの機械動作が正常であるか否かを判定するので、制御プログラムの完成を待たずに、機械ユニットとシミュレータとで該機械ユニットの機械動作のテストを実現することができる。また、請求項４記載の発明によれば、複数の信号を同時に入力することができ、実行手段によりシミュレーションされた複数の信号を同時に出力することができる。
【０１６３】
また、請求項６記載の発明によれば、実行手段によるシミュレーションが正常に実行されたか否かに基づいて、制御プログラムの制御動作が正常であるか否かを判定するので、機械ユニットの完成を待たずに、制御プログラムとシミュレータとで該制御プログラムの制御動作のテストを実現することができる。
【０１６４】
また、請求項７記載の発明によれば、オペレータは例えば意図しないトラブルの発生時等の所望のタイミングでシミュレーションを中断させることができるので、シミュレーション実行時の操作性が向上する。
【０１６５】
また、請求項８記載の発明によれば、オペレータは例えば機械ユニットの調整時等の所望のタイミングで、当該時点のステップのシミュレーションのみを実行させることができるので、シミュレーション実行時の操作性が向上する。
【０１６６】
また、請求項９記載の発明によれば、オペレータは例えば機械ユニットの耐久テスト実行時等の所望のタイミングで、シミュレーションを容易に繰り返し実行させることができるので、シミュレーション実行時の操作性が向上する。
【０１６７】
また、請求項１０記載の発明によれば、データ修正手段によって、記憶手段に記憶されたシーケンステーブルのデータを所望のデータに修正することができるので、仮にシーケンステーブルのデータに誤りがあっても、オペレータは誤ったデータを正しいデータに修正することができ、操作の柔軟性が向上する。
【０１６８】
また、請求項１１記載の発明によれば、オペレータは所望のタイミングで所望の波形（パルス幅及び振幅）のパルス信号を各出力端子から検査対象へ出力させることができるので、検査項目の範囲を広げることができる。
【図面の簡単な説明】
【図１】第１実施形態のシミュレータと検査対象の製造装置の概略構成図である。
【図２】シミュレーションの実行手順を示す流れ図である。
【図３】入出力タイミングチャートの一例を示す図である。
【図４】中間段階で作成されるシーケンステーブルの一例を示す図である。
【図５】制御プログラムのシミュレーション用のシーケンステーブルの一例を示す図である。
【図６】機械ユニットの動作のシミュレーション用のシーケンステーブルの一例を示す図である。
【図７】第２実施形態のシミュレータの概略構成図である。
【図８】ＰＩＯボードの回路構成図である。
【図９】製造装置の操作パネルに類似した画面の一例を示す図である。
【図１０】信号入力処理の処理ルーチンを示す流れ図である。
【図１１】信号入力監視処理の処理ルーチンを示す流れ図である。
【図１２】信号出力処理の処理ルーチンを示す流れ図である。
【図１３】第３実施形態における制御シーケンスのシミュレーションに関する処理ルーチンを示す流れ図である。
【図１４】出力を先行させた入出力処理のサブルーチンを示す流れ図である。
【図１５】入力を先行させた入出力処理のサブルーチンを示す流れ図である。
【図１６】（Ａ）はシリンダの開動作に関するシーケンステーブルの一例を示す図であり、（Ｂ）はシリンダの閉動作に関するシーケンステーブルの一例を示す図であり、（Ｃ）はシリンダの開閉動作に関するシーケンステーブルの一例を示す図である。
【図１７】入力マスク処理のサブルーチンを示す流れ図である。
【図１８】シミュレータのＰＩＯボードと製造装置のＰＩＯボードとを接続した状態での回路図である。
【図１９】第５実施形態における制御シーケンスのシミュレーションに関する処理ルーチンを示す流れ図である。
【図２０】信号出力監視処理の処理ルーチンを示す流れ図である。
【図２１】第６実施形態における入出力タイミングチャートを示す図である。
【図２２】第６実施形態におけるシーケンステーブルを示す図である。
【図２３】従来の製造装置作成の手順を示す図である。
【図２４】機械動作タイミングチャートの一例を示す図である。
【図２５】入出力タイミングチャートの一例を示す図である。
【図２６】スイッチボックスの外観図である。
【図２７】（Ａ）はスイッチボックスに設けられたスイッチの回路図であり、（Ｂ）はスイッチボックスに設けられたＬＥＤの回路図である。
【図２８】製造装置の入出力制御回路の概略図である。
【図２９】シリンダＮｏ．１により駆動される駆動部の開閉動作を説明するための図であり、（Ａ）は初期の駆動部の閉状態を示す図であり、（Ｂ）は（Ａ）の状態から変化した駆動部の開状態を示す図であり、（Ｃ）は（Ｂ）の状態から変化した駆動部の閉状態を示す図である。
【図３０】シリンダＮｏ．１の開動作時の制御ルーチンを示す流れ図である。
【符号の説明】
１０    シミュレータ
１２    ＣＰＵユニット
１６    製造装置
１８    機械ユニット
２２    入出力タイミングチャート
２４、２６、２８  シーケンステーブル
３０    パーソナルコンピュータ
３２    ＰＩＯボード
４０    ＣＰＵユニット
４２    比較回路
７０    画面
【図１】
0004291430.tif 000002
【図２】
0004291430.tif 000003
【図３】
0004291430.tif 000004
【図４】
0004291430.tif 000005
【図５】
0004291430.tif 000006
【図６】
0004291430.tif 000007
【図７】
0004291430.tif 000008
【図８】
0004291430.tif 000009
【図９】
0004291430.tif 000010
【図１０】
0004291430.tif 000011
【図１１】
0004291430.tif 000012
【図１２】
0004291430.tif 000013
【図１３】
0004291430.tif 000014
【図１４】
0004291430.tif 000015
【図１５】
0004291430.tif 000016
【図１６】
0004291430.tif 000017
【図１７】
0004291430.tif 000018
【図１８】
0004291430.tif 000019
【図１９】
0004291430.tif 000020
【図２０】
0004291430.tif 000021
【図２１】
0004291430.tif 000022
【図２２】
0004291430.tif 000023
【図２３】
0004291430.tif 000024
【図２４】
0004291430.tif 000025
【図２５】
0004291430.tif 000026
【図２６】
0004291430.tif 000027
【図２７】
0004291430.tif 000028
【図２８】
0004291430.tif 000029
【図２９】
0004291430.tif 000030
【図３０】
0004291430.tif 000031