(57)【要約】【課題】  検出するイベントの個数が多くなってもイベント検出のための処理負荷の増大を抑えるとともに、イベントの検出からそのイベントに対する処理を行うまでの遅れを最小限に抑えることができるようにする。【解決手段】  イベントに対する処理を行う機能を有する複数個のイベント処理実行部Ｅｎと、イベントを検出しイベント信号として出力する機能を有するイベント検出手段４と、イベント信号に対する処理を行うイベント処理実行部を選択するイベント処理実行部選択手段５とを備える。【選択図】図１
2006318237.tif 000002
【特許請求の範囲】
【請求項１】
入力信号からイベントを検出するイベント検出手段と、前記検出されたイベントに対する処理を行う複数のイベント処理実行部と、前記イベント処理実行部を選択するイベント処理実行部選択手段と、を備えたイベント駆動型制御装置において、
前記イベント処理実行部選択手段は、所定の設定に基づいて、前記イベント処理実行部を選択することを特徴とするイベント駆動型制御装置。
【請求項２】
前記イベント処理実行部選択手段において、
同時に発生する可能性があるイベントはイベント信号に対する処理を行うイベント処理実行部が異なるように、前記イベント処理実行部が予め選択されていることを特徴とする請求項１記載のイベント駆動型制御装置。
【請求項３】
前記イベント処理実行部は、定周期ごとにイベントを検出処理を実行し、イベント検出時に前記イベント処理実行部選択手段にイベント信号を出力するイベント検出処理部を備えたことを特徴とする請求項１記載のイベント駆動型制御装置。
【請求項４】
前記イベント検出手段は、前記入力信号が入力され、所定の出力先に前記入力信号を出力するイベント検出選択手段と、
前記イベント検出選択手段が出力する信号の立ち上がりイベントを検出することで信号を出力する立ち上がり検出手段と、
前記立ち上がり検出手段が出力する信号を所定の時間遅延させる第１タイマ手段と、
前記イベント検出選択手段が出力する信号の立ち下がりイベントを検出することで信号を出力する立ち下がり検出手段と、
前記立ち下がり検出手段が出力する信号を所定の時間遅延させる第２タイマ手段と、
前記イベント検出選択手段が出力する信号に対する論理演算の結果に基づいて信号を出力するデータ比較手段と、
前記データ比較手段が出力する信号を所定の時間遅延させる第３タイマ手段と、を備えたことを特徴とする請求項１記載のイベント駆動型制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スイッチ等の各種操作子や受信装置等の入力手段で発生したデータ入力上のイベントに応じた処理を行うためのイベント駆動型制御装置に関する。
【背景技術】
【０００２】
従来のイベント駆動型制御装置について、図を用いて説明する。図５は、従来のイベント駆動型制御装置の内部構成図である。図において、１００はイベント駆動型制御装置であり、入力回路２と、出力回路３と、エッジ検出回路２００と、イベント処理実行部Ｅ１００から構成される。
【０００３】
２は入力回路であり、スイッチ等の各種操作子や受信装置等の信号が入力される。３は出力回路であり、外部へ信号を出力する。
【０００４】
２００はエッジ検出回路であり、立ち上がり検出回路４２および立ち下がり検出回路４３から構成される。例えば、入力回路２を通して入力される入力信号Ｉ１は、エッジ検出回路２００において立ち上がりが検出されてイベント信号Ｓ１として割り込み回路９１に入力される。同様に、入力回路２を通して入力される入力信号Ｉ２は、エッジ検出回路２００において立ち下がりが検出されてイベント信号Ｓ２として割り込み回路９１に入力される。
【０００５】
Ｅ１００はイベント処理実行部であり、ＣＰＵ９２と、割り込み回路９１と、メモリ９４と、定周期発生回路９３と、１つ以上のイベント検出処理タスク６０と、１つ以上のイベント処理タスク７０、７１、・・・と、１つ以上のイベント割り込み処理８０、８１、・・・から構成される。
例えば、エッジ検出回路２００からの出力であるイベント信号Ｓ１が割り込み回路９１に入力されると、ＣＰＵ９２に割り込み信号ＩＮＴ１が入力され、イベント割り込み処理８０が実行される。同様に、エッジ検出回路２００からの出力であるイベント信号Ｓ２が割り込み回路９１に入力されると、ＣＰＵ９２に割り込み信号ＩＮＴ２が入力され、イベント割り込み処理８１が実行される。
メモリ９４は、イベント検出処理タスク６０やイベント処理タスク７０、７１などの実行時のデータ処理作業用として使用される。
定周期発生回路９３は、ソフトウェアまたはハードウェアで設定された周期にしたがって、定周期出力信号Ｔ１を出力する。この定周期出力信号Ｔ１が割り込み回路９１に入力されると、ＣＰＵ９２に割り込み信号ＩＮＴ３が入力され、イベント検出処理タスク６０が実行される。このイベント検出処理タスク６０でデータ比較によるイベント検出やシーケンスによるイベントなどを検出し、検出したイベントにより、イベント処理タスク７０やイベント処理タスク７１を起動するプログラムが予め作成されてＲＯＭ等に記憶されている。
なお、立ち上がりおよび立ち下がりのイベント検出については、エッジ検出回路２００を装備せず、イベント検出処理タスク６０においてソフトウェアで検出するものもある。
【０００６】
このように立ち上がりおよび立ち下がりのイベント検出は、入力回路２に入力される各入力信号の状態変化を定周期ごとに監視して検出し、その検出結果を元に発生したイベントを判定し、イベントを実行するイベント処理タスクを起動し、そのイベント処理タスクで発生したイベントに対する処理を行うようになっている。
【０００７】
一方、その処理負荷を抑えるために、同じイベントを複数個検出した場合は、そのなかの１つだけを実行するようになっているものもある（例えば、特許文献１参照）。
【特許文献１】特開２００１−４２８６９号公報（第１５頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のイベント型制御装置では、検出したイベントに対する処理を全て実行させる、または検出したイベントのなかの１つだけに対する処理を実行させるようになっている。しかし、検出したイベントに対する処理を全て実行させる方法では、検出するイベントの個数が多いほど処理負荷を増大させるという問題があった。
また、特許文献１に開示されるような検出したイベントのなかの１つだけに対する処理を実行させる、すなわち間引きの方法でも、イベント検出処理タスクで検出したイベントに対する処理を行うイベント処理タスクは、一般的にイベント検出処理タスクと実行タイミングが異なるため、イベント検出処理タスクでイベントを検出しても、すぐにイベント処理タスクが実行されるとは限らず、イベントを検出してからイベント処理を行うまでに遅れを生じるという問題があった。
また、イベントを検出するイベント検出処理タスクは、定周期ごとに実行されるため、イベントが発生しても次の周期のイベント検出処理タスクの実行タイミングまで待たなければイベントの検出ができないため、イベント検出処理タスクの実行タイミングの最大１周期のイベント検出遅れを生じるという問題があった。
【０００９】
さらに、立ち上がりおよび立ち下がりのイベント検出をハードウェア回路により検出する場合においても、イベント処理実行部が１つしかないため、同時に２つ以上の複数のイベントが発生した場合、ＣＰＵは１つづつしかイベント割り込み処理を実行できないため、イベントを検出してからそのイベントに対するイベント割り込み処理を行うまでに遅れを生じるという問題もあった。
【００１０】
本発明はこのような問題点に鑑みてなされたものであり、検出するイベントの個数が多くなってもイベント検出のための処理負荷の増大を抑えるとともに、検出したイベントに対する処理を間引くことなく全てのイベントに対する処理を行うことができ、さらにイベントの検出からそのイベントに対する処理を行うまでの遅れを最小限に抑えることができるイベント駆動型制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、入力信号からイベントを検出するイベント検出手段と、前記検出されたイベントに対する処理を行う複数のイベント処理実行部と、前記イベント処理実行部を選択するイベント処理実行部選択手段と、を備えたイベント駆動型制御装置において、前記イベント処理実行部選択手段は、所定の設定に基づいて、前記イベント処理実行部を選択するものである。
請求項２に記載の発明は、前記イベント処理実行部選択手段において、同時に発生する可能性があるイベントはイベント信号に対する処理を行うイベント処理実行部が異なるように、前記イベント処理実行部が予め選択されていることを特徴とするものである。
請求項３に記載の発明は、前記イベント処理実行部は、定周期ごとにイベントを検出処理を実行し、イベント検出時に前記イベント処理実行部選択手段にイベント信号を出力するイベント検出処理部を備えたことを特徴とするものである。
請求項４に記載の発明は、前記イベント検出手段は、前記入力信号が入力され、所定の出力先に前記入力信号を出力するイベント検出選択手段と、前記イベント検出選択手段が出力する信号の立ち上がりイベントを検出することで信号を出力する立ち上がり検出手段と、前記立ち上がり検出手段が出力する信号を所定の時間遅延させる第１タイマ手段と、前記イベント検出選択手段が出力する信号の立ち下がりイベントを検出することで信号を出力する立ち下がり検出手段と、前記立ち下がり検出手段が出力する信号を所定の時間遅延させる第２タイマ手段と、前記イベント検出選択手段が出力する信号に対する論理演算の結果に基づいて信号を出力するデータ比較手段と、前記データ比較手段が出力する信号を所定の時間遅延させる第３タイマ手段と、を備えたことを特徴とするものである。
【発明の効果】
【００１２】
請求項１記載の発明によると、イベント処理実行部選択手段にイベント信号を出力し、イベント信号がイベント処理実行部選択手段に入力されたときに、イベント処理実行部選択手段により選択された該イベント処理実行部によりイベントに対する処理を行うことができるので、イベントの検出からそのイベントに対する処理を行うまでに生じる遅れを最小限に抑えることができる。
さらに、イベント処理実行部選択手段により検出したイベントに対する処理を異なるイベント処理実行部に割り付けるようにすることで、イベント処理に対する処理負荷を各イベント処理実行部に分散させることができるので、検出したイベントに対する処理を間引くことなく、検出した全てのイベントに対する処理を行うことができる。
【００１３】
また、請求項２記載の発明によると、同時に２つ以上の複数のイベントが発生した場合においても、イベントに対する処理を行うイベント処理実行部をイベント処理実行部選択手段により、予め異なるイベント処理実行部に選択できるので、同時に複数のイベントに対する処理を行うことができる。
【００１４】
また、請求項３記載の発明によると、定周期ごとにイベントを検出する場合においても、イベント検出時にイベント処理実行部選択手段にイベント信号を出力し、イベント信号がイベント処理実行部選択手段に入力されたときに、イベント処理実行部選択手段により選択された該イベント処理実行部によりイベントに対する処理を行うことができるので、イベントを検出してからそのイベントに対する処理を行うまでに生じる遅れを最小限に抑えることができる。
【００１５】
また、請求項４に記載の発明によると、イベント検出はイベント検出手段により行うので、イベント処理実行部でのイベント検出処理を削除できるので、処理時間の短縮を図ることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【００１７】
図１は、本発明のイベント駆動型制御装置の内部構成図である。図において、１はイベント駆動型制御装置であり、入力回路２と、出力回路３と、イベント検出回路４と、イベント処理実行部選択回路５と、複数個のイベント処理実行部Ｅ１〜Ｅｎ（ｎは任意）から構成されている。
【００１８】
２は入力手段であり、本実施例においては、入力回路である。入力回路２は、外部からの信号が入力される。３は出力回路であり、外部へ信号を出力する。
４はイベント検出手段であり、本実施例においては、イベント検出回路である。イベント検出回路４は、入力回路２を通して入力される入力信号Ｉ１、Ｉ２、Ｉ３に対してイベントの検出を行い、イベント信号Ｓ１、Ｓ２、Ｓ３を出力する。
５はイベント処理実行部選択手段であり、本実施例においては、イベント処理実行部選択回路である。イベント処理実行部選択回路５は、イベント信号に対するイベント処理を行うイベント処理実行部を選択する。また、イベント処理実行部選択回路５において、同時に発生する可能性があるイベントについては、イベント信号に対する処理を行うイベント処理実行部が異なるように、イベント処理実行部が予め選択されている。
Ｅ１はイベント処理実行部であり、ＣＰＵ９２と、割り込み回路９１と、メモリ９４と、定周期発生回路９３と、１つ以上のイベント検出処理タスク６０と、１つ以上のイベント割り込み処理８０、８１、８２、８３・・・から構成される。
メモリ９４は、イベント検出処理タスク６０やイベント割り込み処理８０、８１、８２、８３などの実行時のデータ処理作業用として使用される。
定周期発生回路９３は、所定の周期にしたがって、定周期出力信号Ｔ１を出力する。この定周期出力信号Ｔ１が割り込み回路９１に入力されると、ＣＰＵ９２に割り込み信号ＩＮＴ５が入力され、イベント検出処理タスク６０が実行される。このイベント検出処理タスク６０でデータ比較によるイベント検出やシーケンスによるイベントなどを検出し、イベント処理実行部選択回路５にイベント信号Ｓ４を出力する。
イベント処理実行部Ｅｎもイベント処理実行部Ｅ１と同様の構成である。なお、各イベント処理実行部は、それぞれイベント信号をイベント処理実行部選択回路に出力するが、図示していない。
【００１９】
本発明が従来技術と異なる部分は、各入力信号の状態変化すなわちイベントを検出するためのイベント検出回路と、イベント検出回路で検出したイベントに対する処理を行う複数個のイベント処理実行部と、イベント処理実行部を選択するイベント処理実行部選択回路を備えた部分である。
【００２０】
図２は、図１のイベント検出回路４の内部構成図である。図において、イベント検出回路４は、イベント検出選択回路４１と、立ち上がり検出回路（立ち上がり検出手段）４２と、立ち下がり検出回路（立ち下がり検出手段）４３と、データ比較回路（データ比較手段）４４と、タイマ回路（タイマ手段）４５、４６、４７から構成される。
【００２１】
４１はイベント検出選択回路であり、外部からの入力信号に対して立ち上がり検出回路４２、立ち下がり検出回路４３、データ比較回路４４のいずれかを選択する。イベント検出選択回路４１によって、立ち上がり検出回路４２が選択された場合は、立ち上がり検出回路４２で入力データの立ち上がりを検出後、タイマ回路４５において、タイマ計数値４５２が予め設定されたタイマ設定値４５１を経過したときにイベント信号Ｓ１を出力する。同様に立ち下がり回路４３が選択された場合は、立ち下がり検出回路４３で入力データの立ち下がりを検出後、タイマ回路４６において、予め設定されたタイマ設定値４６１を経過したときにイベント信号Ｓ２を出力する。さらにデータ比較回路４４が選択された場合は、データ比較条件４４１（例えば＝、≠、≧、＞、＜、≦などの条件式）を予め選択しておき、選択されたデータ比較条件４４１により予め設定されたデータ比較設定値４４２と入力データを比較し、データ比較条件成立後、タイマ回路４７において、予め設定されたタイマ設定値４７１を経過したときにイベント信号Ｓ３を出力する。
【００２２】
本実施例では、図２において、入力信号Ｉ１に対しては、イベント検出選択回路４１によって立ち上がり検出回路４２が選択されるように、予め設定されている。また、入力信号Ｉ２に対しては、イベント検出選択回路４１によって立下り検出回路４３が選択されるように、予め設定されている。また、入力信号Ｉ３に対しては、イベント検出選択回路４１によってデータ比較回路４４が選択されるように、予め設定されている。
【００２３】
さらに、図１において、イベント信号Ｓ１がイベント処理実行部選択回路５に入力されると、イベント処理実行部選択回路５によってイベント処理実行部Ｅ１が選択され、割り込み信号ＩＮＴ１がＣＰＵ９２に入力されることでイベント割り込み処理８０が実行されるように、予め設定されている。また、イベント信号Ｓ２がイベント処理実行部選択回路５に入力されると、イベント処理実行部選択回路５によってイベント処理実行部Ｅ２が選択され、割り込み信号ＩＮＴ２がＣＰＵ９２に入力されることでイベント割り込み処理８１が実行されるように、予め設定されている。また、イベント信号Ｓ３がイベント処理実行部選択回路５に入力されると、イベント処理実行部選択回路５によってイベント処理実行部Ｅ３が選択され、割り込み信号ＩＮＴ３がＣＰＵ９２に入力されることでイベント割り込み処理８２が実行されるように、予め設定されている。また、イベント信号Ｓ４がイベント処理実行部選択回路５に入力されると、イベント処理実行部選択回路５によってイベント処理実行部Ｅ４が選択され、割り込み信号ＩＮＴ４がＣＰＵ９２に入力されることでイベント割り込み処理８３が起動されるように、予め設定されている。
【００２４】
図３はイベント駆動型制御装置１において、イベント検出処理の動作例を示すタイミングチャートである。図３を用いて外部からの入力信号Ｉ１から入力データの立ち上がりイベントを検出し、イベント処理実行部Ｅ１において、イベント割り込み処理８０が実行されるまでの動作を説明する。なお本実施例では、タイマ設定値４５１は１ｍｓに予め設定されていることにする。
【００２５】
図３において、はじめに、入力信号Ｉ１が入力回路２を経てイベント検出回路４に入力されると、検出回路選択回路４１によって立ち上がり検出回路４２が選択され、入力信号Ｉ１が立ち上がり検出回路４２に入力される。立ち上がり検出回路４２でデータの立ち上がりが検出されると、タイマ回路４５において、１ｍｓ経過後にイベント信号Ｓ１をイベント処理実行部選択回路５に出力する。イベント処理実行部選択回路５は、入力されたイベント信号Ｓ１をイベント処理実行部Ｅ１の割り込み回路９１に出力する。イベント信号Ｓ１が割り込み回路９１に入力されると、ＣＰＵ９２に割り込み信号ＩＮＴ１が入力され、イベント割り込み処理８０が実行される。なお、イベント割り込み処理８０で実行されるプログラムは予め作成されており、ＲＯＭ等の記憶装置に記憶されている。
【００２６】
このように、イベント処理実行部選択器５にイベント信号を出力して、イベント処理実行部選択器５により選択された該イベント処理実行部によりイベントに対する処理を行うことができるので、イベント検出からそのイベントに対する処理を行うまでに生じる遅れを最小限に抑えることができる。また、同時に複数のイベント信号が発生した場合でも、イベント処理実行部選択器５によって、それぞれのイベント信号に対して異なるイベント処理実行部でイベント処理が実行されるので、複数のイベントに対しても同時にイベント処理を実行できる。
【００２７】
しかし、上記検出方法だけでは、複雑なシーケンス等は、検出回路４により検出が困難であるという問題があるので、イベント処理実行部にイベント検出処理部を設けてこの問題を解消している。
以下、図４を用いてイベント検出処理タスク６０でイベントを検出し、イベント検出時にイベント処理実行部選択器５に対してイベント信号Ｓ４を出力して、イベント処理実行部Ｅ４のイベント割り込み処理８３を実行するまでの動作を説明する。
【００２８】
図４（ａ）、（ｂ）はイベント駆動型制御装置１において、イベント検出処理タスク６０がイベント検出する場合の動作例を示すフローチャートである。図４（ａ）は、イベント処理実行部Ｅ１において、定周期出力信号Ｔ１によって定周期ごとに起動されるイベント検出処理タスク６０の処理動作例を示しており、図４（ｂ）は、イベント処理実行部Ｅ４において、割り込み信号ＩＮＴ４がＣＰＵ９２に入力されることで起動されるイベント割り込み処理８３の処理動作例を示している。
【００２９】
図４（ａ）において、イベント検出処理タスク６０におけるイベント検出処理は、まずイベント検出処理を実行する（ステップＳ１００）。
続いて、イベントを検出したかどうかを判断する（ステップ１０１）。
次に、イベントが検出されると、イベント処理実行部選択回路５にイベント信号Ｓ４を出力する（ステップ１０２）。
イベント信号Ｓ４がイベント処理実行部選択回路５に入力されると、イベント処理実行部Ｅ４のＣＰＵ９２に割り込み信号ＩＮＴ４が入力され、イベント割り込み処理８３が実行される。
図４（ｂ）において、イベント割り込み処理８３の中で、イベント検出処理タスク６０で検出したイベントに対するイベント処理を行う（ステップ１０３）。
【００３０】
このように、複雑なシーケンスやイベント信号の合成などイベント検出回路４により検出が困難なイベントを検出する場合でも、イベント検出処理タスク６０でイベント検出時にイベント処理実行部選択回路５に対してイベント信号を出力し、次イベント実行処理部と異なるイベント処理実行部でイベント処理を行うことができるので、次イベント検出の遅れやイベント検出からそのイベントに対する処理を行うまでに生じる遅れを最小限に抑えることができる。
また、イベント処理実行部選択Ｅ１により検出したイベントに対する処理を異なるイベント処理実行部Ｅ４に割り付けることで、イベント処理に対する処理負荷をイベント処理実行部Ｅ４に分散させることができるので、検出した複数のイベントに対する処理を間引くことなく、検出した全てのイベントに対する処理を行うことができる。
【００３１】
なお、本発明のイベント駆動型制御装置は、構成要素の一部をハードウェア、一部をソフトウェアで実現しているが、これに限らず、全てをハードウェアあるいは全てをソフトウェアとしても良い。
また、各構成要素をハードウェアとソフトウェアのどちらで実現するかについても任意でよい。
【産業上の利用可能性】
【００３２】
イベントをハードウェアで検出し、１つ以上の複数ＣＰＵによってイベント処理を行うことにより、イベント入力に高速に応答することができるので、イベントに対して高速応答を必要とする機械システムに制御装置を適用できる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施例を示すイベント駆動型制御装置の内部構成図
【図２】本発明の実施例を示すイベント検出回路の内部構成図
【図３】イベント検出処理タスク６０の処理動作を示すタイミングチャート
【図４】イベント割り込み処理８３の処理動作例を示すフローチャート
【図５】従来のイベント駆動型制御装置の内部構成図
【符号の説明】
【００３４】
１、１００  イベント駆動型制御装置
２  入力回路
３  出力回路
４  イベント検出回路
５  イベント処理実行部選択回路
４１  イベント検出選択回路
４２  立ち上がり検出回路
４３  立ち下がり検出回路
４４  データ比較処理回路
４５、４６、４７  タイマ回路
６０  イベント検出処理タスク
７０、７１  イベント処理タスク
８０、８１、８２、８３  イベント割り込み処理
９１  割り込み回路
９２  ＣＰＵ
９３  定周期発生回路
９４  メモリ
２００  エッジ検出回路
４４１  データ比較条件
４４２  データ比較設定値
４５１、４６１、４７１  タイマ設定値
４５２、４６２、４７２  タイマ計数値
Ｅ１、Ｅｎ  イベント処理実行部
Ｉ１、Ｉ２、Ｉ３  外部入力信号
Ｓ１、Ｓ２、Ｓ３、Ｓ４  イベント信号
ＩＮＴ１、ＩＮＴ２、ＩＮＴ３、ＩＮＴ４  割り込み信号
Ｔ１  定周期出力信号
【図１】
2006318237.tif 000003
【図２】
2006318237.tif 000004
【図３】
2006318237.tif 000005
【図４】
2006318237.tif 000006
【図５】
2006318237.tif 000007