(57)【特許請求の範囲】
【請求項１】
シーケンスプログラムに従って制御対象の制御を行うＰＭＣにおいて、制御対象の状態変化に基づく割り込み処理によってシーケンス処理を行わせるＰＭＣの制御装置であって、
制御対象の状態変化を記憶する状態変化記憶手段を含む割り込み処理手段を備え、
前記割り込み処理手段は、シーケンス処理後に状態変化記憶手段に残存する状態変化に対して１サイクルのシーケンス処理を制御対象に行わせる、ＰＭＣの制御装置。
【請求項２】
前記状態変化記憶手段は、制御対象が発する状態信号の立ち上がりあるいは立ち下がりを状態変化として記憶する請求項１記載のＰＭＣの制御装置。
【請求項３】
前記割り込み処理手段は、１サイクルのシーケンス処理の終了に基づいて割り込みを終了する請求項１，又は２記載のＰＭＣの制御装置。
【請求項４】
前記状態変化記憶手段は、割り込み処理終了時から次の割り込み処理終了時までの制御対象の状態変化を状態変化毎に逐次記憶する第１状態変化記憶部と、割り込み処理開始時における第１状態変化記憶部の記憶内容を記憶する第２状態変化記憶部とを備え、
前記割り込み処理手段は、割り込み処理終了時において、第１状態変化記憶部の記憶内容から第２状態変化記憶部の記憶内容を差し引いて得られる状態変化に基づいて、１サイクルのシーケンス処理を制御対象に行わせる請求項１，２，又は３記載のＰＭＣの制御装置。
【請求項５】
前記状態変化記憶手段は、割り込み処理開始後、次の割り込み処理開始までに発生する状態変化の有無を記憶する機能を備え、
前記割り込み処理手段は、前記状態変化記憶手段が記憶する状態変化に基づいて１サイクルのシーケンス処理を制御対象に行わせる請求項１，２，又は３記載のＰＭＣの制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値制御装置に関し、特にシーケンス・プログラムを用いてシーケンス制御を行うＰＭＣの制御装置に関する。
【０００２】
【従来の技術】
ＰＭＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｍａｃｈｉｎｅ  Ｃｏｎｔｒｏｌｌｅｒ）は前もって決められたシーケンスに従ってＮＣ工作機械の動作を制御する装置であり、シーケンス，タイミング，演算式等の各種機能の実行命令をプログラマブルにメモリに格納する構成としている。
【０００３】
図１０はＰＭＣを説明するための概略ブロック図である。図１０において、シーケンス・プログラム４は、工作機械等のシーケンス制御を行うためのプログラムであり、ＰＭＣ１０中のＣＰＵ２１が解読，演算できる形式（機械語命令）に変換され、ＰＭＣ１０内のメモリ２３（ＲＡＭあるいはＲＯＭ）に格納される。
【０００４】
ＣＰＵ２１は、メモリ２３に格納されたプログラムの命令をその都度高速で読み出して演算を行い、プログラムを実行する。
【０００５】
通常、シーケンス・プログラムは、ＣＰＵに演算処理させるための処理手順をＰＭＣ命令を用いてラダー図の形式で作成し、プログラム作成機能を備えるＰＭＣプログラマによって機械語命令に変換した後、メモリ２３に格納する。
【０００６】
メモリ２３に格納されたシーケンス・プログラムは、ＰＭＣ１０のＣＰＵ２１に１命令ずつ順番に高速で読み出され、実行される。
【０００７】
例えば、ＣＰＵ２１はＲＤ  Ｘ０．０命令によりアドレスＸ０．０の入力回路２４の信号を読み出して演算レジスタにセットし、次にＡＮＤ  Ｒ１０．１命令によりアドレスＲ１０．１の内部リレーの状態と論理積を取り、結果を演算レジスタにセットし、アドレスＹ０．０の出力回路に演算結果を出力する。
【０００８】
ＰＭＣ１０への入力信号として、ＮＣ３からの入力信号や、機械等の制御対象２からの入力信号（サイクルスタート，フィールドホールド信号等）があり、又、ＰＭＣ１０から出力する出力信号として、ＮＣ３へ出力する信号（タレット回転，スピンドル停止等）がある。
【０００９】
上記ＰＭＣの制御において、制御対象等の外部装置からの信号に応じてシーケンス処理を開始する制御方式がある。従来、このような制御では、外部装置側の状態を表す状態信号を入力してその状態信号の変化（以下、エッジと言う）を検出し、このエッジの検出に基づいて割り込み信号を生成して割り込みを開始させ、シーケンス・プログラム中のあるレベルのシーケンスを１サイクル実行し、該１サイクルの実行が終了すると割り込みをクリアする処理を行っている。
【００１０】
図１１は従来のＰＭＣの制御を説明するためのＰＭＣの概略ブロック図である。図１１において、ＰＭＣ１０は制御対象２から状態信号をレシーバ１１で受け、該状態信号の信号変化を状態変化（エッジ）検出部１２で検出し、割り込み処理部１９に送る。割り込み処理部１９は割り込み処理を行って、シーケンス（ラダー）実行部１４を駆動させる。シーケンス（ラダー）実行部１４は、シーケンスプログラム（ラダープログラム）１３中に格納されるプログラムの所定レベルのシーケンスの１サイクル分を実行する。
【００１１】
このようなＰＭＣの制御において、割り込み処理は状態信号の変化に対応して行われ、複数のエッジが連続して発生する場合には、割り込み処理による１サイクルの実行を発生したエッジの回数分だけ行っている。図１２は、従来のＰＭＣの制御によって複数のエッジ発生による割り込み処理を説明するためのタイミングチャートである。なお、図１２では状態信号Ａ，Ｂ，Ｃの３つの状態信号の変化によって、割り込み処理を行う例を示している。
【００１２】
図１２（ｄ）は割り込み処理部１９での割り込み状態を示しており、図１２（ａ），（ｂ），（ｃ）の状態信号Ａ，Ｂ，Ｃの各状態変化に応じた割り込み処理が行われ、各割り込み処理により１サイクルのシーケンスが行われる。
【００１３】
【発明が解決しようとする課題】
しかしながら、従来のＰＭＣの制御では、処理の高速化の点で問題がある。ＰＭＣの制御において、状態信号の変化はシーケンス処理のサイクルを開始するトリガーとして作用するものであり、前記図１２のタイミングチャートに示したように新たなシーケンスが実行されている前において状態信号の変化が複数回生じた場合には、該複数回の状態変化に対して一回のシーケンス処理が実行されれば十分であり、各複数回の状態変化に対応するシーケンス処理を全て実行する必要はない。
【００１４】
しかしながら、従来のＰＭＣの制御では、全ての状態信号変化に対して割り込み処理を行って、各割り込み処理で１サイクルのシーケンスを実行するため、全ての状態信号変化に対応するシーケンス処理を行うことになる。そのため、シーケンスを必要以上の回数を実行することになり、その回数分だけ余分に処理時間が必要となり、高速応答性を得ることができない。
【００１５】
そこで、本発明は従来のＰＭＣの持つ問題点を解決し、状態信号の変化が複数回発生した場合であっても、不必要なシーケンス処理を省くことによって、高速のシーケンス処理を行うことができるＰＭＣの制御装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明のＰＭＣの制御装置は、シーケンスプログラムに従って制御対象の制御を行うＰＭＣにおいて、制御対象の状態変化に基づく割り込み処理によってシーケンス処理を行わせるＰＭＣの制御装置であって、制御対象の状態変化を記憶する状態変化記憶手段を含む割り込み処理手段を備える。該状態変化は、割り込み処理を行わせるトリガとして作用するものである。該割り込み処理手段は、シーケンス処理後に状態変化記憶手段に残存する状態変化に対して１サイクルのシーケンス処理を制御対象に行わせるものであり、残存する状態変化が複数回の状態変化を含む場合であっても、制御対象に対してシーケンス処理を１サイクルのみ行わせることによって、不必要なシーケンス処理を省きシーケンス処理を高速化させることができる
図１は本発明のＰＭＣの制御装置を説明するためのＰＭＣの概略ブロック図である。
【００１７】
図１において、ＰＭＣ１は制御対象２から状態信号をレシーバ１１で受け、該状態信号の信号変化を状態変化（エッジ）検出部１２で検出し、割り込み処理部１５に送る。割り込み処理部１５は割り込み処理を行って、シーケンス（ラダー）実行部１４を駆動させる。シーケンス（ラダー）実行部１４は、シーケンスプログラム（ラダープログラム）１３中に格納されるプログラムの所定レベルのシーケンスの１サイクル分を実行する。
【００１８】
割り込み処理部１５は、制御対象の状態変化を記憶する状態変化記憶手段１７と、状態変化記憶手段１７に対して状態変化の記憶及びクリアを行って記憶内容管理を行うと共に、状態変化記憶手段１７に記憶される状態変化に基づいて１サイクルのシーケンス処理制御を制御対象に対して行う処理部１６を備える（請求項１に対応）。
【００１９】
制御対象の状態変化は制御対象が発する状態信号の変化により検出することができ、状態変化記憶手段は、制御対象が発する状態信号の立ち上がりあるいは立ち下がりを状態変化として記憶する（請求項２に対応）。
【００２０】
又、割り込み処理手段は、状態変化記憶手段に残存する状態変化に応じて割り込みを開始し、１サイクルのシーケンス処理の終了に基づいて割り込みを終了する（請求項３に対応）。
【００２１】
本発明のＰＭＣの制御装置の第１の形態において、状態変化記憶手段は、割り込み処理終了時から次の割り込み処理終了時までの制御対象の状態変化を状態変化毎に逐次記憶する第１状態変化記憶部と、割り込み処理開始時における第１状態変化記憶部の記憶内容を記憶する第２状態変化記憶部とを備えた構成とし、該割り込み処理手段は、割り込み処理終了時において、第１状態変化記憶部の記憶内容から第２状態変化記憶部の記憶内容を差し引いて得られる状態変化に基づいて、１サイクルのシーケンス処理を制御対象に行わせる。
【００２２】
第１の形態によれば、割り込み処理終了時から次の割り込み処理終了時までの間において、第１状態変化記憶部は制御対象の状態が変化する毎にこの状態変化を記憶する。又、第２状態変化記憶部は、割り込み処理手段が割り込みを開始した時点において、第１状態変化記憶部に記憶している記憶内容を読み込んで記憶する。
【００２３】
割り込み処理手段は、シーケンス処理が終了して割り込み処理終了すると、この割り込み処理終了時において、第１状態変化記憶部の記憶内容から第２状態変化記憶部の記憶内容を差し引き、この差し引いた記憶内容を第１状態変化記憶部に記憶し記憶内容の更新を行う。この記憶内容の更新によって、割り込み処理終了時に第１状態変化記憶部には、割り込みを開始してから割り込みを終了するまでの間に発生した状態変化が記憶されることになる。
【００２４】
そして、この第１状態変化記憶部に記憶される状態変化が残存している場合には、その状態変化の個数にかかわらず１サイクルのシーケンス処理を制御対象に行わせる。
【００２５】
これによって、残存する状態変化が複数回の状態変化を含む場合であっても、制御対象に対してシーケンス処理を１サイクルのみ行わせ、不必要なシーケンス処理を省きシーケンス処理を高速化させることができる（請求項４に対応）。
【００２６】
本発明のＰＭＣの制御装置の第２の形態において、状態変化記憶手段は、割り込み処理開始後、次の割り込み処理開始までに発生する状態変化の有無を記憶する機能を備え、割り込み処理手段は、該状態変化記憶手段が記憶する状態変化に基づいて１サイクルのシーケンス処理を制御対象に行わせる。
【００２７】
第２の形態によれば、状態変化記憶手段は、割り込み処理手段が割り込み処理を開始した後、次の割り込み処理を開始までの間において、制御対象から得られる状態信号の立ち上がりあるいは立ち下がりの検出等によって状態変化を観察して状態変化を知り、状態変化が発生した場合には該状態変化を記憶する。この状態変化の記憶は、割り込み処理開始後から次の割り込み処理開始までの間に発生する状態変化の回数にかかわらず、少なくとも１回の状態変化があれば記憶される。この状態変化の記憶は、フラグを用いて行うことができる。
【００２８】
割り込み処理手段は、割り込みを行っていない場合に、状態変化記憶手段が記憶する状態変化を参照し、状態変化記憶手段中に状態変化が記憶されている場合には、制御対象に対して１サイクルのシーケンス処理を行わせる。状態変化記憶手段は、次の割り込み処理開始時にクリアされる。
【００２９】
又、状態変化記憶手段中に状態変化が記憶されていない場合には、割り込み処理手段は、制御対象に対するシーケンス処理は行わない。
【００３０】
これによって、残存する状態変化が複数回の状態変化を含む場合であっても、制御対象に対してシーケンス処理を１サイクルのみ行わせ、不必要なシーケンス処理を省きシーケンス処理を高速化させることができる（請求項５に対応）。
【００３１】
【発明の実施の形態】
以下、本発明の実施の形態を図を参照しながら詳細に説明する。
本発明の実施の第１の形態の構成例について、図２の概略ブロック図，図３，４のフローチャート，図５，６のタイミングチャートを用いて説明する。
【００３２】
図２に示す第１の形態の構成は、図１に示す構成において、割り込み処理部１５内の状態変化記憶手段１７を第１状態変化記憶部１７ａと第２状態変化記憶部１７ｂの二つの状態変化記憶部によって構成する。その他の構成は図１に示した構成とほぼ同様であるため、ここでの説明を省略する。
【００３３】
なお、状態変化（エッジ）検出部１２は、制御対象が発する状態信号の変化を信号の立ち上がりあるいは立ち下がりに検出し、この信号のエッジを状態変化として検出することができる。検出した状態変化は処理部１６に送られる。
【００３４】
第１状態変化記憶部１７ａは、割り込み処理部１５が行う割り込み処理が終了した時点から次の割り込み処理が終了する時点までの間において、状態変化検出部１２で検出される制御対象の状態変化を状態変化が発生する毎に逐次記憶する記憶部であり、又、第２状態変化記憶部１７ｂは、割り込み処理部１５が割り込み処理を開始した時点における第１状態変化記憶部１７ａの記憶内容を読み込んで記憶し、記憶した状態変化を割り込み処理終了時に第１状態変化記憶部１７ａに対して読み出しを行う記憶部である。第１状態変化記憶部１７ａは、第２状態変化記憶部１７ｂから読み込んだ状態変化を用いて記憶内容を更新し、更新した記憶内容に基づいて割り込み処理を行う。
【００３５】
記憶内容の更新は、割り込み処理終了時において、第１状態変化記憶部１７ａの記憶内容から第２状態変化記憶部１７ｂの記憶内容を差し引くことによって行うことができる。この記憶内容の更新によって、現在行っている割り込み処理のトリガとなった状態変化をクリアし、次の割り込み処理のトリガとなる状態変化のみを記憶することができる。
【００３６】
処理部１６は、第１状態変化記憶部１７ａに記憶される状態変化に基づき、状態変化の内容にかかわらず、状態変化が少なくとも一つ残存する場合には、この残存する状態変化をトリガとして、シーケンス実行部１４を実行させて、１サイクルのシーケンス処理を制御対象に行わせる。
【００３７】
次に、図３，４のフローチャートを用いて、割り込み処理部の動作について説明する。図３のフローチャートは、制御対象の状態変化を記憶する処理動作を示し、図４のフローチャートは、状態変化の記憶内容に基づく割り込み処理の処理動作を示している。
【００３８】
図３のフローチャートにおいて、状態変化（エッジ）検出部１２はレシーバ１１を介して機械等の制御対象２から状態信号を入力し、その状態信号に立ち上がりあるいは立ち下がりが発生した場合には、この信号変化を状態変化として検出する。処理部１６は、状態変化（エッジ）検出部１２からの検出信号を常に監視し（ステップＳ１）、状態変化を検出した場合には、この状態変化を第１状態変化記憶部１７ａに記憶する。この第１状態変化記憶部１７ａの記憶は、例えばフラグを用いて行うことができる。以下、フラグを用いた場合に付いて説明する。
【００３９】
図５のタイミングチャートは、状態信号Ａ〜状態信号Ｃの３つの状態信号が入力した場合について、初期状態として状態変化がない場合を示している。
【００４０】
初期状態においていずれの状態信号にも状態変化がないため、図５中の第１状態変化記憶部のフラグは「０」を示している。この状態において状態信号Ａが立ち上がると、状態変化（エッジ）検出部１２はこの信号の立ち上がりを検出して、第１状態変化記憶部の状態信号Ａのフラグを「０」から「１」に変え、このフラグの書き換えによって、状態変化の記憶を行う。
【００４１】
又、図６のタイミングチャートは、状態信号Ａ〜状態信号Ｃの３つの状態信号が入力した場合について、初期状態として状態信号Ａ，Ｃのフラグが「０」で、状態信号Ｂのフラグが「１」の場合を示している。
【００４２】
この初期状態において状態信号Ａが立ち上がると、状態変化（エッジ）検出部１２はこの信号の立ち上がりを検出して、第１状態変化記憶部の状態信号Ａのフラグを「０」から「１」に変え、状態信号Ｃのフラグを「０」のままとし、状態信号Ａ，Ｂのフラグを「１」とする。このフラグの書き換えによって、状態変化の記憶を行う。
【００４３】
次に、図４のフローチャートを用いて、割り込み処理の処理動作について説明する。
【００４４】
処理部１６が割り込み処理を終了した後（ステップＳ１１）、処理部１６は、第１状態変化記憶部１７ａに立っているフラグが存在するか否かを判定する（ステップＳ１２）。第１状態変化記憶部１７ａに立っているフラグが存在する場合には、処理部１６は割り込みを発生させる。図５のタイミングチャートでは信号Ａの変化状態にフラグが立って「１」となっており、図６のタイミングチャートでは信号Ａ及びＢの変化状態にフラグが立って「１」となっているため、このフラグ「１」を検出することによって、割り込みを開始する（ステップＳ１３）。
【００４５】
処理部１６はこの割り込み開始によって、シーケンス実行部１４に対して１サイクルのシーケンス処理を実行するように指令を出し、シーケンス実行部１４はこの指令を受けてシーケンス処理を１サイクル実行する。このシーケンスの実行中において、状態信号に変化が発生する場合には、前記図３のフローチャートに従って、第１状態変化記憶部１７ａの対応する信号の状態変化のフラグを「１」とする（ステップＳ１４）。
【００４６】
又、前記ステップＳ１３の割り込み開始時において、第１状態変化記憶部１７ａの記憶内容を第２状態変化記憶部１７ｂに書き写し、割り込み開始時における状態変化を第２状態変化記憶部１７ｂに記憶しておく。
【００４７】
例えば、図５のタイミングチャートでは、割り込み開始時では第１状態変化記憶部１７ａの変化状態は、信号Ａが「１」で信号Ｂ，Ｃが「０」の変化状態にあるため、第２状態変化記憶部１７ｂはこの信号状態を記憶する。又、図６のタイミングチャートでは、割り込み開始時では第１状態変化記憶部１７ａの変化状態は、信号Ａ，Ｂが「１」で、信号Ｃが「０」の変化状態にあるため、第２状態変化記憶部１７ｂはこの信号状態を記憶する（ステップＳ１５）。
【００４８】
シーケンス実行部１４による１サイクルのシーケンス処理が終了すると、処理部１６は割り込み処理をクリアする（ステップＳ１６）。
【００４９】
処理部１６は割り込み処理のクリアと共に、第１状態変化記憶部１７ａの記憶内容から第２状態変化記憶部１７ｂの記憶内容を差し引く処理を行って、第１状態変化記憶部１７ａの記憶内容を割り込み処理中に発生した状態変化のみとする。
【００５０】
例えば、図５のタイミングチャートでは、割り込み終了時における第１状態変化記憶部１７ａの記憶内容は信号Ａ，Ｂ，Ｃの各フラグが「１」であり、第２状態変化記憶部１７ｂの記憶内容は信号Ａのフラグ「１」であり、信号Ｂ，Ｃのフラグが「０」であるため、割り込み処理をクリア時には、第１状態変化記憶部１７ａの記憶内容から第２状態変化記憶部１７ｂの記憶内容を差し引く処理によって、第１状態変化記憶部１７ａの記憶内容は信号Ａのフラグ「０」となり、信号Ｂ，Ｃのフラグが「１」となる。
【００５１】
又、図６のタイミングチャートでは、割り込み終了時における第１状態変化記憶部１７ａの記憶内容は信号Ａ，Ｂ，Ｃの各フラグが「１」であり、第２状態変化記憶部１７ｂの記憶内容は信号Ａ，Ｂのフラグ「１」であり、信号Ｃのフラグが「０」であるため、割り込み処理をクリア時には、第１状態変化記憶部１７ａの記憶内容から第２状態変化記憶部１７ｂの記憶内容を差し引く処理によって、第１状態変化記憶部１７ａの記憶内容は信号Ａ，Ｂのフラグ「０」となり、信号Ｃのフラグが「１」となる。
【００５２】
この差し引き処理によって、第１状態変化記憶部１７ａに残存するの記憶内容は割り込み処理中に発生した状態変化のみとなり、この状態変化に対して前記と同様の処理を行う。
【００５３】
なお、第１状態変化記憶部１７ａの記憶内容に基づく割り込み発生では、第１状態変化記憶部１７ａ中に立っているフラグの個数にかかわらず、一つでも立っているフラグが残存する場合に１サイクルのシーケンス処理を行う。これによって、重複するシーケンス処理を排除することができる。
【００５４】
次に、本発明の実施の第２の形態の構成例について、図７の概略ブロック図，図８のフローチャート，図９のタイミングチャートを用いて説明する。
【００５５】
図７に示す第２の形態の構成は、図１に示す構成において、割り込み処理部１５内の状態変化記憶手段１７を状態変化記憶部１７ｃ及び割り込み状態記憶部１７ｄの二つの状態変化記憶部によって構成する。その他の構成は図１に示した構成とほぼ同様であるため、ここでの説明を省略する。
【００５６】
なお、状態変化（エッジ）検出部１２は、制御対象が発する状態信号の変化を信号の立ち上がりあるいは立ち下がりに検出し、この信号のエッジを状態変化として検出して処理部１６に送る。
【００５７】
状態変化記憶手段１７ｃは、割り込み処理開始後、次の割り込み処理開始までに発生する状態変化の有無を記憶する機能を備える記憶部分であり、又、割り込み状態記憶部１７ｄは処理部１６が割り込み状態にあることを記憶する記憶部分である。処理部１６は、割り込み状態にない場合において、状態変化記憶手段１７ｃに状態変化が記憶されている場合には、割り込みを発生させてシーケンス処理を１サイクル実行させる。
【００５８】
状態変化記憶手段１７ｃは、状態変化をいったん入力するとクリアさせるまでその状態を保持する。したがって、状態変化を記憶している状態において、新たに対象の状態変化を入力した場合であっても、状態変化の記憶をそのまま保持し、割り込み開始によってクリアする。これによって、複数の状態変化に対して割り込みによるシーケンス処理を重複して行うことを防止することができる。
【００５９】
次に、図８のフローチャートを用いて、割り込み処理部の動作について説明する。
【００６０】
図８のフローチャートにおいて、状態変化記憶部１７ｃに状態変化が記憶されているか否かを判定する。この状態変化の記憶はフラグにより行うことができる。以下、フラグを例として説明する（ステップＳ２１）。
【００６１】
フラグが「０」であって状態変化が記憶されていない場合には、処理部は状態変化を監視する。この状態変化の監視において、状態変化（エッジ）検出部１２はレシーバ１１を介して機械等の制御対象２から状態信号を入力し、その状態信号に立ち上がりあるいは立ち下がりが発生した場合には、この信号変化を状態変化として検出し、処理部１６は、この状態変化（エッジ）検出部１２からの検出信号を常に観察して、状態変化の監視を行う（ステップＳ２７）。
【００６２】
状態変化を検出した場合には、この状態変化を状態変化記憶部１７ｃのフラグを「１」として記憶する（ステップＳ２８）。
【００６３】
図９のタイミングチャートは、状態信号Ａ〜状態信号Ｃの３つの状態信号が入力した場合について、初期状態として状態変化がない場合を示している。
【００６４】
初期状態においていずれの状態信号にも状態変化がないため、図９中の状態変化記憶部のフラグは「０」を示している。この状態において状態信号Ａが立ち上がると、状態変化（エッジ）検出部１２はこの信号の立ち上がりを検出して、状態変化記憶部のフラグを「０」から「１」に変え、このフラグの書き換えによって、状態変化の記憶を行う。
【００６５】
前記ステップＳ２１において、状態変化記憶部１７ｃのフラグが「１」の場合には、処理部１６は割り込みを発生させる。図９のタイミングチャートでは、状態信号Ａの立ち上がりによって、状態変化記憶部のフラグが立って「１」となっており、処理部１６はこのフラグ「１」を検出することによって、割り込みを開始すると共に、フラグをクリアして「０」とする（ステップＳ２２，２３）。
【００６６】
処理部１６はこの割り込み開始によって、シーケンス実行部１４に対して１サイクルのシーケンス処理を実行するように指令を出し、シーケンス実行部１４はこの指令を受けてシーケンス処理を１サイクル実行する（ステップＳ２４）。
【００６７】
このシーケンスの実行中において（ステップＳ２５）、状態変化記憶部１７ｃにフラグが立っているか否かを判定し（ステップＳ２９）、フラグが立っていない状態で新たに状態変化が発生した場合には（ステップＳ３０）、状態変化記憶部１７ｃのフラグを「１」として、状態変化を記憶する（ステップＳ３１）。
【００６８】
又、ステップＳ２５において、シーケンス処理が終了した場合には、割り込みをクリアして、前記ステップＳ２１に戻って、前記した処理を繰り返す（ステップＳ２６）。
【００６９】
状態変化記憶部は、最初の状態変化で状態変化を記憶し、それ以降の状態変化に対して記憶状態を維持することによって、複数回の状態変化を同一の記憶状態で記憶し、この記憶状態に基づいて１サイクルのシーケンス処理を行うことによって、残存する状態変化が複数回の状態変化を含む場合であっても、制御対象に対してシーケンス処理を１サイクルのみ行わせ、不必要なシーケンス処理を省いて、重複するシーケンス処理を排除し、シーケンス処理を高速化させることができる。
【００７０】
【発明の効果】
以上説明したように、本発明のＰＭＣの制御装置によれば、シーケンス処理中に状態信号の状態変化が複数発生した場合であっても、不必要なシーケンス処理を省くことによって、高速のシーケンス処理を行うことができる。
【図面の簡単な説明】
【図１】本発明のＰＭＣの制御装置を説明するためのＰＭＣの概略ブロック図である。
【図２】本発明の実施の第１の形態の構成例を説明するための概略ブロック図である。
【図３】本発明の実施の第１の形態の構成例を説明するためのフローチャートである。
【図４】本発明の実施の第１の形態の構成例を説明するためのフローチャートである。
【図５】本発明の実施の第１の形態の構成例を説明するためのタイミングチャートである。
【図６】本発明の実施の第１の形態の構成例を説明するためのタイミングチャートである。
【図７】本発明の実施の第２の形態の構成例を説明するための概略ブロック図である。
【図８】本発明の実施の第２の形態の構成例を説明するためのフローチャートである。
【図９】本発明の実施の第２の形態の構成例を説明するためのタイミングチャートである。
【図１０】ＰＭＣを説明するための概略ブロック図である。
【図１１】従来のＰＭＣの制御を説明するためのＰＭＣの概略ブロック図である。
【図１２】従来のＰＭＣの制御によって複数のエッジ発生による割り込み処理を説明するためのタイミングチャートである。
【符号の説明】
１，１０  ＰＭＣ
２  制御対象
１１  レシーバ
１２  状態変化検出部
１３  シーケンスプログラム
１４  シーケンス実行部
１５，１９  割り込み処理部
１６  処理部
１７  状態変化記憶手段
１７ａ  第１状態変化記憶部
１７ｂ  第２状態変化記憶部
１７ｃ  状態変化記憶部
１７ｄ  割り込み状態記憶部
【図１】
0003549383.tif 000002
【図２】
0003549383.tif 000003
【図３】
0003549383.tif 000004
【図４】
0003549383.tif 000005
【図５】
0003549383.tif 000006
【図６】
0003549383.tif 000007
【図７】
0003549383.tif 000008
【図８】
0003549383.tif 000009
【図９】
0003549383.tif 000010
【図１０】
0003549383.tif 000011
【図１１】
0003549383.tif 000012
【図１２】
0003549383.tif 000013