(57)【要約】【課題】クロックの差を意識せずに上位装置からの同期信号に同期して制御処理を実行する。【解決手段】同期割込信号を生成する手段と、定周期に制御処理を行うための制御周期信号を生成する手段と、制御割込信号を生成する手段と、上位装置からデータを入力し上位装置にデータを出力する手段と、同期割込処理部と、制御割込処理部とを備えた制御装置において、前記同期割込処理部において前記制御周期信号を生成する手段を起動し、前記制御割込信号を生成することにより、外部からの同期信号に同期して制御割込処理を実行させることを特徴とする外部同期可能な制御装置。【選択図】    図１
2004272794.tif 000002
【特許請求の範囲】
【請求項１】
上位装置など外部から定周期に出力される同期信号が入力されると同期割込信号を生成する手段と、定周期に制御処理を行うための制御周期信号を生成する手段と、前記制御周期信号が入力されると制御割込信号を生成する手段と、上位装置からデータを入力し上位装置にデータを出力する手段と、前記同期割込信号が入力されると同期割込処理を実行する同期割込処理部と、前記制御割込信号が入力されると制御割込処理を実行する制御割込処理部とを備えた制御装置において、
前記同期割込処理部において前記制御周期信号を生成する手段を起動し、前記制御割込信号を生成することにより、外部からの同期信号に同期して制御割込処理を実行させることを特徴とする外部同期可能な制御装置。
【請求項２】
前記同期割込処理部は、処理時間調整処理を実行することにより、同期割込処理に要する処理時間を一定にすることを特徴とする請求項１記載の外部同期可能な制御装置。
【請求項３】
上位装置など外部から定周期に出力される同期信号が入力されると同期割込信号を生成する手段と、定周期に制御処理を行うための制御周期信号を生成する手段と、前記制御周期信号が入力されると制御割込信号を生成する手段と、上位装置からデータを入力し上位装置にデータを出力する手段と、前記同期割込信号が入力されると同期割込処理を実行する同期割込処理部と、前記制御割込信号が入力されると制御割込処理を実行する制御割込処理部とを備えた制御装置の制御方法において、
上位装置で定周期に生成される同期信号（Ｓ１０）を割込み回路（２１）へ入力し、割込回路２１で同期割込信号（Ｓ２０）を生成し、制御周期発生回路を起動して制御周期発生回路から制御周期信号（Ｓ２２）を割込回路（２１）へ出力し、割込回路（２１）は制御割込信号（Ｓ２１）と同期割込信号（Ｓ２０）を生成しＣＰＵ（２０）へ出力し、同期割込処理部で制御割込処理を起動する制御周期発生回路をソフトウェアで起動することを特徴とする外部同期可能な制御方法。
【請求項４】
同期割込処理部で実行される同期割込処理は、入出力データ（Ｓ１１）の処理を行うステップ（ステップ１）と、条件の成立如何を判断するステップ（ステップ２）と、条件が成立している場合は、条件成立時の処理を行うステップ（ステップ３）と、処理時間調整値に０を設定しておくステップ（ステップ３０）と条件が成立していない場合は、条件不成立時の処理を行うステップ（ステップ４）と、処理時間調整値に条件成立時の処理時間から条件不成立時の処理時間を減算したものを設定するステップ（ステップ４０）と、処理時間調整値が０の場合は次のステップに進み、０以外の場合は処理時間調整値分に相当するダミー命令を実行するステップ（ステップ５）と、制御周期発生回路を起動するステップ（ステップ６）からなることを特徴とする請求項３記載の外部同期可能な制御方法。
【請求項５】
条件成立時の処理時間が条件不成立時の処理時間より短い場合は、処理時間調整値を設定するステップ（ステップ４０）で処理時間調整値に０を設定し、処理時間調整値に０を設定するステップ（ステップ３０）で条件不成立時の処理時間から条件成立時の処理時間を減算したものを設定する請求項４記載の外部同期可能な制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、上位装置など外部からの同期信号に同期して制御処理を行う機能を有する制御装置とその制御方法に関する。
【０００２】
【従来の技術】
従来の制御装置について、図を用いて説明する。図５は、従来の制御装置の構成を示すブロック図であり、図６は、その動作を説明するタイムチャートである。
図５において、１は上位装置であり、外部に同期信号を出力する機能と、外部へデータを出力する機能と、外部からデータを入力する機能を有している。１０は水晶発振子であり、クロックを生成する。１１は同期信号発生回路であり、水晶発振子１０からのクロックを元に定周期に信号を生成し外部に出力する。１２は入出力回路であり、制御装置にデータを出力し、制御装置からデータを入力する。Ｓ１０は同期信号であり、同期信号発生回路１１で定周期に生成される。Ｓ１１は入出力データで、入出力回路１２を介して制御装置と授受される。
２は制御装置で、ＣＰＵと、割込回路と、入出力回路と、同期調整付制御周期発生回路から構成される。２０はＣＰＵであり、水晶発振子からのクロック信号で動作する。また、割込回路から同期割込信号が入力されると同期割込処理部を実行し、割込回路から制御割込信号が入力されると制御割込処理部を実行する。２１は割込回路であり、上位装置からの同期信号Ｓ１０が入力されると、同期割込信号を生成しＣＰＵ２０へ出力する。また、同期調整付制御周期発生回路から信号が入力されると、制御割込信号を生成しＣＰＵ２０へ出力する。２２は水晶発振子であり、クロックを生成する。２３は入出力回路であり、上位装置にデータを出力し、上位装置からデータを入力する。２４は同期割込処理部であり、入出力データＳ１１の処理を行う。２５は制御割込処理部であり、位置制御、速度制御、トルク制御などの処理を行う。２７は同期調整付制御周期発生回路であり、上位装置からの同期信号Ｓ１０が入力された時点から水晶発振子２２からのクロックを元に定周期に信号を生成し出力する。すなわち、上位装置で定周期に生成される同期信号Ｓ１０が入力されると、同期調整付制御周期発生回路は制御周期信号を出力すると同時に、水晶発振子２２からのクロックの計測を開始し、予め設定された周期に達すると制御周期信号を出力し、水晶発振子２２からのクロックの計測を開始する。この動作を繰り返し行うことで定周期に信号を生成する。Ｓ２０は同期割込信号であり、上位からの同期信号Ｓ１０が入力された時に割込回路２１で生成される。Ｓ２１は制御割込信号であり、同期調整付制御周期発生回路２７からの制御周期信号が入力された時に割込回路２１で生成される。Ｓ２２は制御周期信号であり、同期調整付制御周期発生回路２７で生成される。
図６において、上位装置で定周期に生成される同期信号Ｓ１０が入力されると、割込回路２１で同期割込信号が生成され、ＣＰＵ２０にて同期割込処理部が実行される。また、同期調整付制御周期発生回路が起動され、制御周期信号Ｓ２２より割込回路２１で制御割込信号が生成され、ＣＰＵ２０にて制御割込処理部が実行される。この例では、上位からの同期信号Ｓ１０および同期割込信号Ｓ２０は４００μｓごとに生成され、制御割込信号Ｓ２１は１００μｓごとに生成されるものとする。すなわち、同期信号周期である４００μｓごとに同期割込処理が実行され、４００μｓの間に１００μｓ周期の制御割込信号により制御割込処理が計４回実行される。一般にクロックに使用する水晶発振子の精度は１００ｐｐｍ程度であるため、上位装置１で使用している水晶発振子１０と制御装置２で使用している水晶発振子２２の誤差は最大２００ｐｐｍである。よって、１／５０００の誤差となる。４００μｓでは、４００μｓ±０．０８μｓとなる。上位装置の同期信号を生成しているクロックが制御装置の制御周期信号を生成しているクロックよりも速い場合は、４００μｓ間に１００μｓの制御周期信号は４回しか生成されず、それ以上は生成されないため、制御割込処理は正常に計４回実行される。一方、上位装置の同期信号を生成しているクロックが制御装置の制御周期信号を生成しているクロックよりも遅い場合は、時刻Ｄのようになり、上位からの同期信号が入力される前に、５回目の制御周期信号が生成され、４００μｓ間では本来４回実行されるべき制御割込処理が５回実行されることになる。
また、上位装置で定周期に生成される同期信号Ｓ１０が入力されると、同期割込信号と制御割込信号が生成されるが、一般的に同期割込処理の方が制御割込処理より割込優先順位が高いので、同期割込処理が先に実行され、制御割込処理は同期割込処理が完了するまで待たされる。この例では、同期割込処理の実行時間は２０μｓとする。本来は、制御割込処理に許される最大処理時間は、制御周期である１００μｓであるが、時刻Ｃのように、上位装置で定周期に生成される同期信号Ｓ１０が入力された１回目の制御割込処理の場合は、制御周期１００μｓから同期割込処理の実行時間２０μｓを減算した８０μｓが許される最大処理時間となる。従って、２回目から４回目の制御割込処理に許される最大処理時間は、１００μｓであるにもかかわらず、１回目の制御割込処理に許される最大処理時間が８０μｓであるため、１回目の制御割込処理に許される最大処理時間８０μｓで完了するような処理に押さえる必要がある。
このように、従来の制御装置は、上位装置の同期信号を生成しているクロックと制御装置の制御周期信号を生成しているクロックの差を意識し、上位装置の同期信号を生成しているクロックが制御装置の制御周期信号を生成しているクロックよりも速くなるようにし、また、制御割込処理部が制御処理周期から同期割込処理に要する処理時間を減算した時間内に完了するようにしているのである（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平１１−２５９１０５号公報
【特許文献２】
特開２００２−３３３９０５号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の制御装置は、上位装置の同期信号を生成しているクロックが制御装置の制御周期信号を生成しているクロックよりも速くなるような上位装置との組み合わせになるように意識しなければならず、故障時の交換などが煩わしかった。万一、上位装置の同期信号を生成しているクロックが制御装置の制御周期信号を生成しているクロックよりも遅い制御装置と上位装置を組み合わせると、上位装置からの同期信号に同期して制御処理を実行できないという問題があった。また、制御処理に許される最大処理時間は、制御周期であるにもかかわらず、制御周期から上位装置からの同期信号入力時に実行される同期割込処理に要する処理時間を減算したものとなるので、ＣＰＵの性能を最大限に生かせないというような問題も抱えていた。
そこで、本発明はこのような問題点に鑑みてなされたものであり、上位装置の同期信号を生成しているクロックと制御装置の制御周期信号を生成しているクロックの差を意識せずに上位装置からの同期信号に同期して制御処理を実行することができるとともに、制御処理に許される最大処理時間は制御周期とし、ＣＰＵの性能を最大限に生かすことができる制御装置と制御方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、上位装置など外部から定周期に出力される同期信号が入力されると同期割込信号を生成する手段と、定周期に制御処理を行うための制御周期信号を生成する手段と、前記制御周期信号が入力されると制御割込信号を生成する手段と、上位装置からデータを入力し上位装置にデータを出力する手段と、前記同期割込信号が入力されると同期割込処理を実行する同期割込処理部と、前記制御割込信号が入力されると制御割込処理を実行する制御割込処理部とを備えた制御装置において、前記同期割込処理部において前記制御周期信号を生成する手段を起動し、前記制御割込信号を生成することにより、外部からの同期信号に同期して制御割込処理を実行させることを特徴とするものである。
このようになっているため、上位装置の同期信号を生成しているクロックと制御装置の制御周期信号を生成しているクロックの差を意識することなく、上位装置など外部からの同期信号に同期して制御処理を行うことができる。また、制御処理に許される最大処理時間が制御周期となり、ＣＰＵの性能を最大限に生かすことができる。
また、請求項２に記載の発明は、前記同期割込処理部において処理時間調整処理を実行することにより、同期割込処理に要する処理時間を一定にすることを特徴とするものである。
このようになっているため、同期割込処理において条件判断がある場合、その条件の成立如何によって実行される処理の内容が変わっても、同期割込処理に要する処理時間を一定にすることができ、制御処理周期を一定に保つことができる。
また、請求項３に記載の発明は、上位装置など外部から定周期に出力される同期信号が入力されると同期割込信号を生成する手段と、定周期に制御処理を行うための制御周期信号を生成する手段と、前記制御周期信号が入力されると制御割込信号を生成する手段と、上位装置からデータを入力し上位装置にデータを出力する手段と、前記同期割込信号が入力されると同期割込処理を実行する同期割込処理部と、前記制御割込信号が入力されると制御割込処理を実行する制御割込処理部とを備えた制御装置の制御方法において、上位装置で定周期に生成される同期信号（Ｓ１０）を割込み回路（２１）へ入力し、割込回路２１で同期割込信号（Ｓ２０）を生成し、制御周期発生回路を起動して制御周期発生回路から制御周期信号（Ｓ２２）を割込回路（２１）へ出力し、割込回路（２１）は制御割込信号（Ｓ２１）と同期割込信号（Ｓ２０）を生成しＣＰＵ（２０）へ出力し、同期割込処理部で制御割込処理を起動する制御周期発生回路をソフトウェアで起動することを特徴とするものである。
また、請求項４に記載の発明は、同期割込処理部で実行される同期割込処理は、入出力データ（Ｓ１１）の処理を行うステップ（ステップ１）と、条件の成立如何を判断するステップ（ステップ２）と、条件が成立している場合は、条件成立時の処理を行うステップ（ステップ３）と、処理時間調整値に０を設定しておくステップ（ステップ３０）と条件が成立していない場合は、条件不成立時の処理を行うステップ（ステップ４）と、処理時間調整値に条件成立時の処理時間から条件不成立時の処理時間を減算したものを設定するステップ（ステップ４０）と、処理時間調整値が０の場合は次のステップに進み、０以外の場合は処理時間調整値分に相当するダミー命令を実行するステップ（ステップ５）と、制御周期発生回路を起動するステップ（ステップ６）からなることを特徴とするものである。
また、請求項５に記載の発明は、条件成立時の処理時間が条件不成立時の処理時間より短い場合は、処理時間調整値を設定するステップ（ステップ４０）で処理時間調整値に０を設定し、処理時間調整値に０を設定するステップ（ステップ３０）で条件不成立時の処理時間から条件成立時の処理時間を減算したものを設定するものである。
【０００６】
【発明の実施の形態】
以下、本発明の具体的実施例を図に基づいて説明する。（第１実施例）図１は、本発明の制御装置の構成を示すブロック図である。図１において、１は上位装置であり、外部に同期信号を出力する機能と、外部へデータを出力する機能と、外部からデータを入力する機能を有している。１０は水晶発振子であり、クロックを生成する。１１は同期信号発生回路であり、水晶発振子１０からのクロックを元に定周期に信号を生成し外部に出力する。１２は入出力回路であり、制御装置にデータを出力し、制御装置からデータを入力する。Ｓ１０は同期信号であり、同期信号発生回路１１で定周期に生成される。Ｓ１１は入出力データで、入出力回路１２を介して制御装置と授受される。
２は制御装置で、ＣＰＵと、割込回路と、入出力回路と、制御周期発生回路から構成される。２０はＣＰＵであり、水晶発振子からのクロック信号で動作する。また、割込回路から同期割込信号が入力されると同期割込処理部を実行し、割込回路から制御割込信号が入力されると制御割込処理部を実行する。２１は割込回路であり、上位装置からの同期信号Ｓ１０が入力されると、同期割込信号を生成しＣＰＵ２０へ出力する。また、制御周期発生回路から信号が入力されると、制御割込信号を生成しＣＰＵ２０へ出力する。２２は水晶発振子であり、クロックを生成する。２３は入出力回路であり、上位装置にデータを出力し、上位装置からデータを入力する。２４は同期割込処理部であり、入出力データＳ１１の処理を行い、制御周期発生回路を起動する。２５は制御割込処理部であり、位置制御、速度制御、トルク制御などの処理を行う。２６は制御周期発生回路であり、同期割込処理部から起動され、起動された時点から水晶発振子２２からのクロックを元に定周期に信号を生成し出力する。すなわち、同期割込処理部から起動されると、制御周期発生回路は制御周期信号を出力すると同時に、水晶発振子２２からのクロックの計測を開始し、予め設定された周期に達すると制御周期信号を出力し、水晶発振子２２からのクロックの計測を開始する。この動作を繰り返し行うことで定周期に信号を生成する。Ｓ２０は同期割込信号であり、上位からの同期信号Ｓ１０が入力された時に割込回路２１で生成される。Ｓ２１は制御割込信号であり、制御周期発生回路２６からの制御周期信号が入力された時に割込回路２１で生成される。Ｓ２２は制御周期信号であり、制御周期発生回路２６で生成される。
図２は、上位装置で定周期に生成される同期信号Ｓ１０が入力された時のソフトウェアの動作を説明した図である。図２において、上位装置で定周期に生成される同期信号Ｓ１０が入力されると、割込回路２１で同期割込信号Ｓ２０が生成され、ＣＰＵ２０にて同期割込処理部が実行される。同期割込処理部で実行される同期割込処理は、まず、入出力データＳ１１の処理を行う（ステート１０）。入出力データには、制御装置が入力する指令データと、制御装置が出力するフィードバックデータから構成される。指令データには、位置指令、速度指令、トルク指令などがある。また、フィードバックデータには現在位置、現在速度などがある。次に制御周期発生回路を起動する（ステート１１）。制御周期発生回路が起動されると、制御周期発生回路から制御周期信号Ｓ２２が出力され、割込回路２１より制御割込信号Ｓ２１が生成され、ＣＰＵ２０にて制御割込処理部が実行される。制御割込処理部では、位置制御、速度制御、トルク制御などの制御処理を行う（ステート２０）。
このように、上位装置で定周期に生成される同期信号Ｓ１０が入力された時に実行される同期割込処理部で、制御割込処理を起動する制御周期発生回路をソフトウェアで起動することにより、上位装置の同期信号を生成しているクロックが制御装置の制御周期信号を生成しているクロックよりも遅い場合でも上位装置からの同期信号に同期して制御処理を実行することができる。
【０００７】
（第２実施例）次に、本発明の第２の具体的な実施の形態について図面を参照して説明する。本発明の実施の形態における構成を示すブロック図は図１と同じである。第１の実施の形態と第２の実施の形態の違いはソフトウェアの動作である。
図３は、本発明の制御装置の第２実施例の動作を示すタイムチャートである。図３において、上位装置で定周期に生成される同期信号Ｓ１０が入力されると、割込回路２１で同期割込信号Ｓ２０が生成され、ＣＰＵ２０にて同期割込処理部が起動され、同期割込処理が実行される。一般に、同期割込処理は条件判断がない場合は、同期割込処理に要する処理時間は一定であるが、条件判断があるとその条件の成立如何によって同期割込処理に要する処理時間は変わってくる。この同期割込処理で制御周期発生回路が起動され、制御周期信号Ｓ２２より割込回路２１で制御割込信号が生成され、ＣＰＵ２０にて制御割込処理部が実行される。この例では、上位からの同期信号Ｓ１０および同期割込信号Ｓ２０は４００μｓごとに生成され、制御割込信号Ｓ２１は１００μｓごとに生成されるものとする。また、同期割込処理部で実行される同期割込処理は一定ではなく、条件成立時は２０μｓ、不成立時は１０μｓとする。図３における時刻Ａのように、上位からの同期信号により起動される同期割込処理が条件不成立の場合を実行すると、制御周期発生回路を介して発生する制御割込信号の周期は９０μｓとなる。また、図３における時刻Ｂのように、次の同期割込処理が条件成立の場合を実行すると、制御周期発生回路を介して発生する制御割込信号の周期は１１０μｓとなる。このように同期割込処理に条件判断がある場合は、同期割込処理に要する処理時間が条件判断の成立如何によって変わり、その結果、制御割込処理が実行される制御処理周期が変わるため、一般的に制御精度が劣化する。このため、同期割込処理において、同期割込処理に条件判断がある場合は、制御周期発生回路を起動する前に処理時間調整処理を行い、同期割込処理の条件判断の成立如何にかかわらず、同期割込処理に要する処理時間を一定にするようにした。
図４は、この同期割込処理に条件判断がある場合の動作手順を説明したフローチャートである。図４において、第１の実施例と異なるのは、ステップ２からステップ５があることである。図４において、同期割込処理部で実行される同期割込処理は、まず、入出力データＳ１１の処理を行う（ステップ１）。次に条件の成立如何を判断する処理を行う（ステップ２）。条件が成立している場合は、条件成立時の処理を行う（ステップ３）。そして、処理時間調整値に０を設定しておく（ステップ３０）。条件が成立していない場合は、条件不成立時の処理を行う（ステップ４）。そして、処理時間調整値に条件成立時の処理時間から条件不成立時の処理時間を減算したものを設定する（ステップ４０）。次に、処理時間調整処理を実行する（ステップ５）。具体的には、処理時間調整値が０の場合は次のステップに進み、０以外の場合は処理時間調整値分に相当するダミー命令を実行する。最後に、制御周期発生回路を起動する（ステップ６）。なお、本実施例では、条件成立時の処理時間が条件不成立時の処理時間より長い場合を想定したが、逆の場合は、ステップ４０で処理時間調整値に０を設定し、ステップ３０で条件不成立時の処理時間から条件成立時の処理時間を減算したものを設定すればよい。
このように、同期割込処理において、条件判断がある場合は、制御周期発生回路を起動する前に処理時間調整処理を行うことにより、同期割込処理の条件判断の成立如何にかかわらず、同期割込処理に要する処理時間を一定にすることができ、その結果、制御割込処理が実行される制御処理周期を一定に保つことができる。
【０００８】
【発明の効果】
以上述べたように、本発明によれば、上位装置の同期信号を生成しているクロックと制御装置の制御周期信号を生成しているクロックの差を意識せずに上位装置からの同期信号に同期して制御処理を実行することができ、制御処理に許される最大処理時間を増加させることでＣＰＵの性能を最大限に生かすことができるという効果がある。
また、処理時間調整を行うことにより、上位装置からの同期信号入力時に実行される同期割込処理において実行される処理の内容が変わっても、制御処理周期を一定に保つことができるという効果がある。
【図面の簡単な説明】
【図１】本発明の制御装置の第１実施例の構成を示すブロック図
【図２】第１実施例のソフトウェア動作を示す説明図
【図３】本発明の制御装置の第２実施例の動作を示すタイムチャート
【図４】第２実施例の動作手順を示すフローチャート
【図５】従来の制御装置の構成を示すブロック図
【図６】従来の制御装置の動作を説明するタイムチャート
【符号の説明】
１  上位装置
２  制御装置
１０  水晶発振子
１１  同期信号発生回路
１２  入出力回路
２０  ＣＰＵ
２１  割込回路
２２  水晶発振子
２３  入出力回路
２４  同期割込処理部
２５  制御割込処理部
２６  制御周期発生回路
２７  同期調整付制御周期発生回路
Ｓ１０  同期信号
Ｓ１１  入出力データ
Ｓ２０  同期割込信号
Ｓ２１  制御割込信号
Ｓ２２  制御周期信号
【図１】
2004272794.tif 000003
【図２】
2004272794.tif 000004
【図３】
2004272794.tif 000005
【図４】
2004272794.tif 000006
【図５】
2004272794.tif 000007
【図６】
2004272794.tif 000008