JP2007226423A - 外部同期可能な制御装置および制御方法 - Google Patents

外部同期可能な制御装置および制御方法 Download PDF

Info

Publication number
JP2007226423A
JP2007226423A JP2006045485A JP2006045485A JP2007226423A JP 2007226423 A JP2007226423 A JP 2007226423A JP 2006045485 A JP2006045485 A JP 2006045485A JP 2006045485 A JP2006045485 A JP 2006045485A JP 2007226423 A JP2007226423 A JP 2007226423A
Authority
JP
Japan
Prior art keywords
control
signal
interrupt
cycle
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006045485A
Other languages
English (en)
Inventor
Kazuhiro Hamasuna
和博 浜砂
Mitsunori Kuzushima
光則 葛島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2006045485A priority Critical patent/JP2007226423A/ja
Publication of JP2007226423A publication Critical patent/JP2007226423A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】クロックの差を意識せずに上位装置からの同期信号に同期して制御処理を実行できる外部同期可能な制御装置を提供する。
【解決手段】同期割込信号を生成する割込回路21と、定周期に制御処理を行うための制御周期信号を生成する制御周期発生回路26と、制御割込信号を生成する割込回路21と、上位装置1からデータを入力し上位装置にデータを出力する入出力回路23と、同期割込処理部24と、制御割込処理部25とを備えた制御装置2において、定周期に制御処理を行うための制御周期信号を生成する制御周期発生回路26が、同期割込処理部24において設定された制御周期設定値27の周期で制御周期信号を生成するようにしている。
【選択図】図1

Description

本発明は、上位装置など外部からの同期信号に同期して制御処理を行う機能を有する制御装置とその制御方法に関するものである。
従来の制御装置について、図7および図8を用いて説明する。
図7は従来の制御装置の構成を説明するブロック図であり、図8はその動作を説明するタイムチャートである。
図7において、上位装置1は、クロックを生成する水晶発振子10と、水晶発振子10からのクロックを基に定周期に同期信号S10を生成してこれを制御装置2に出力する同期信号発生回路11と、制御装置2にデータを出力しかつ制御装置2からデータを入力する入出力回路12から構成されている。
制御装置2は、CPU20と、割込回路21と、入出力回路23と、制御周期発生回路28と、水晶発振子22と、同期割込処理部24と、制御割込処理部25から構成される。
CPU20は水晶発振子22からのクロック信号で動作し、また、割込回路21から同期割込信号S20が入力されると同期割込処理部24で同期割込処理を実行させ、また割込回路21から制御割込信号S21が入力されると制御割込処理部25で制御割込処理を実行させる。
割込回路21は上位装置1からの同期信号S10が入力されると、同期割込信号S20を生成し、CPU20へ出力し、また、制御周期発生回路28から制御周期信号S22が入力されると、制御割込信号S21を生成しCPU20へ出力する。
水晶発振子22はクロックを生成する。入出力回路23は上位装置1に入出力データS11を出力し、上位装置1から入出力データS11を入力する。
同期割込処理部24は、入出力データS11の処理を行う。制御割込処理部25は、位置制御、速度制御、トルク制御などの処理を行う。
制御周期発生回路28は、上位装置1からの同期信号S10が入力された時点から水晶発振子22からのクロックを基に定周期に信号を生成して出力する。すなわち、上位装置1で定周期に生成される同期信号S10が入力されると、制御周期発生回路28は制御周期信号S22を出力すると同時に、水晶発振子22からのクロックの計測を開始し、予め設定された周期に達すると制御周期信号S22を出力するとともに、再度水晶発振子22からのクロックの計測を開始する。
この動作を繰り返し行うことで定周期に信号を生成する。
同期割込信号S20は、上位装置1からの同期信号S10が入力された時に割込回路21で生成される。制御割込信号S21は制御周期発生回路28からの制御周期信号S22が入力された時に割込回路21で生成される。
制御周期信号S22は、制御周期発生回路28で生成される。
図8において、上位装置1(図7)で定周期に生成される同期信号S10(図7)が入力されると、割込回路21(図7)で同期割込信号S20(図7)が生成され、CPU20(図7)により同期割込処理部24(図7)で同期割込処理が実行される。また、制御周期発生回路28(図7)が起動され、制御周期信号S22(図7)より割込回路21で制御割込信号S21(図7)が生成され、CPU20により制御割込処理部25(図7)で制御割込処理が実行される。
この例では、上位装置1からの同期信号S10および同期割込信号S20は400μsごとに生成され、制御割込信号S21は100μsごとに生成されるものとする。すなわち、同期信号S10の周期である400μsごとに同期割込処理が実行され、400μsの間に100μs周期の制御割込信号S21により制御割込処理が計4回実行される。
一般にクロックに使用する水晶発振子の精度は100ppm程度であるため、上位装置1で使用している水晶発振子10と制御装置2で使用している水晶発振子22の誤差は最大200ppmである。よって、1/5000の誤差となる。400μsでは、400μs±0.08μsとなる。
上位装置1の同期信号S10を生成しているクロックが制御装置2の制御周期信号S22を生成しているクロックよりも速い場合は、400μs間に100μsの制御周期信号S22は4回しか生成されず、それ以上は生成されないため、制御割込処理は正常に計4回実行される。
一方、上位装置1の同期信号S10を生成しているクロックが制御装置2の制御周期信号S22を生成しているクロックよりも遅い場合は、時刻D(図8)のようになり、上位装置1からの同期信号S10が入力される前に、5回目の制御周期信号S22が生成され、400μs間では本来4回実行されるべき制御割込処理が5回実行されることになる。
また、上位装置1で定周期に生成される同期信号S10が入力されると、同期割込信号S20と制御割込信号S21が生成されるが、一般的に同期割込処理の方が制御割込処理より割込優先順位が高いので、同期割込処理が先に実行され、制御割込処理は同期割込処理が完了するまで待たされる。この例では、同期割込処理の実行時間は20μsとする。
本来は、制御割込処理に許される最大処理時間は、制御周期である100μsであるが、時刻C(図8)のように、上位装置1で定周期に生成される同期信号S10が入力された1回目の制御割込処理の場合は、制御周期100μsから同期割込処理の実行時間20μsを減算した80μsが許される最大処理時間となる。
従って、2回目から4回目の制御割込処理が実行される周期は、100μsであるにもかかわらず、1回目の制御割込処理に許される最大処理時間が80μsであるため、1回目の制御割込処理に許される最大処理時間80μsで完了するような処理に押さえる必要がある。このとき、図8の時刻Cを境にして2回目の制御割込処理までの処理周期は制御周期100μsから同期割込処理の実行時間20μsを減算した80μsとなり、前回の制御割込処理からの処理周期は制御周期100μsに同期割込処理の実行時間20μsを加えた120μsとなる。
このように、従来の制御装置は、上位装置1の同期信号S10を生成しているクロックと制御装置2の制御周期信号S22を生成しているクロックの差を意識し、上位装置1の同期信号S10を生成しているクロックが制御装置2の制御周期信号S22を生成しているクロックよりも速くなるようにし、また、制御割込処理部25が制御処理周期から同期割込処理に要する処理時間を減算した時間内に完了するようにしているのである(例えば、特許文献1および2参照)。
特開平11−259105号公報(第7−8頁、図1) 特開2002−333905号公報(第5−7頁、図1)
しかしながら、従来の制御装置は、上位装置の同期信号を生成しているクロックが制御装置の制御周期信号を生成しているクロックよりも速くなるような上位装置との組み合わせになるように意識しなければならず、故障時の交換などが煩わしかった。万一、上位装置の同期信号を生成しているクロックが制御装置の制御周期信号を生成しているクロックよりも遅い上位装置と制御装置との組み合わせでは、上位装置からの同期信号に同期して制御処理を実行できないという問題があった。
また、制御周期については、図8の時刻Cの前後、つまり同期割込処理を境にして制御処理の周期が同期割込処理の実行時間分だけばらつき、制御処理の定周期性が損なわれるという問題も抱えていた。制御処理が一定周期で実行されないと、例えば、等速で回転しているモータの速度が一定速度として制御処理で検出できないなど、一般的に制御精度が劣化し、制御に悪影響を及ぼすという問題があった。
そこで、本発明は、このような問題点に鑑みてなされたものであり、上位装置の同期信号を生成しているクロックと制御装置の制御周期信号を生成しているクロックの差を意識せずに上位装置からの同期信号に同期して制御処理を実行することができるとともに、制御処理の定周期性を損なうことのない外部同期可能な制御装置および制御方法を提供することを目的とする。
上記問題を解決するため、請求項1記載の発明は、外部同期可能な制御装置に係り、定周期に制御処理を行うための制御周期信号を生成する制御周期発生回路と、上位装置など外部から定周期に出力される同期信号が入力されると同期割込信号を生成し、前記制御周期信号が入力されると制御割込信号を生成する割込回路と、前記上位装置からデータを入力しかつ前記上位装置にデータを出力する入出力回路と、前記同期割込信号が入力されると同期割込処理を実行する同期割込処理部と、前記制御割込信号が入力されると制御割込処理を実行する制御割込処理部とを備えた制御装置において、前記制御周期発生回路が、前記同期割込処理部において設定された制御周期設定値の周期で前記制御周期信号を生成するようになっていることにより、外部からの同期信号に同期して前記制御割込処理を実行させることを特徴としている。
また、請求項2記載の発明は、外部同期可能な制御方法に係り、定周期に制御処理を行うための制御周期信号を生成する制御周期発生回路と、上位装置など外部から定周期に出力される同期信号が入力されると同期割込信号を生成し、前記制御周期信号が入力されると制御割込信号を生成する割込回路と、前記上位装置からデータを入力しかつ前記上位装置にデータを出力する入出力回路と、前記同期割込信号が入力されると同期割込処理を実行する同期割込処理部と、前記制御割込信号が入力されると制御割込処理を実行する制御割込処理部とを備えた制御装置の制御方法において、前記同期割込処理が、まず、前記制御周期信号の生成周期を制御周期設定値に設定する処理を行ない、次に、前記制御装置が入力する位置指令、速度指令、トルク指令などの指令データと前記制御装置が出力する現在位置、現在速度などのフィードバックデータから構成される入出力データの処理を行ない、その後、前記制御周期設定値の周期で前記制御周期発生回路が前記制御周期信号を生成して前記割込回路へ入力し、前記割込回路で前記制御割込信号が生成されると前記制御割込処理部で前記制御割込処理が実行される、という手順で処理することを特徴としている。
また、請求項3記載の発明は、請求項2記載の外部同期可能な制御方法において、前記同期割込処理が、まず、定周期に前記制御周期信号を生成するために前記制御周期発生回路が計測している水晶発振子のクロックカウント値aを取得するステップ1と、次に前回の前記同期割込処理から今回の前記同期割込処理の間に実行された前記制御割込処理の回数bを取得するステップ2と、次に外部からの同期信号が最初に入力された場合の前記同期割込処理かどうかを同期開始フラグの値で判断するステップ3と、
ステップ3の判断の結果最初に入力された前記同期割込処理の場合であれば、前記制御周期信号の生成周期を前記クロックカウント値aに前記同期割込処理で費やされる処理時間の見積もり時間αを加えた値a+αで前記制御周期設定値に設定するステップ4と、次に外部からの最初の前記同期割込処理が終わったことを前記同期開始フラグに設定するステップ5と、次に本来の制御周期の値である制御周期デフォルト値に再設定するように制御周期デフオルト設定フラグを設定するステップ6と、ステップ6の実行後後述のステップ9に進み、
一方、ステップ3の判断の結果最初に入力された前記同期割込処理の場合でなければ前記クロックカウント値aに同期割込処理時間の見積もり時間αを加算した値a+αを前記同期割込処理に同期して実行されるべき前記制御割込処理の周期とし、この値a+αと既に生成されている前記制御周期信号の設定値との差分を求め、この差分を同期割込処理周期内で実行された前記制御割込処理の回数bで割った値βを外部で同期信号を生成するのに使用している水晶発振子と前記制御周期信号を生成するのに使用している水晶発振子との誤差であるクロックずれ時間βとするステップ7と、次に、既に生成されている前記制御周期信号の設定値に時間βを加えたものをあらたに前記制御周期信号の設定値として前記制御周期設定値に設定するステップ8と、その後、前記入出力データの処理を行なうステップ9からなることを特徴としている。
また、請求項4記載の発明は、請求項2記載の外部同期可能な制御方法において、前記制御割込処理が、まず、前記制御割込処理で前記制御周期設定値を前記制御周期デフォルト値に設定するかどうかを前記制御周期デフォルト設定フラグの値で判断するステップ1と、ステップ1の判断の結果前記制御周期デフォルト設定フラグの値が設定を要求しているとき前記制御周期設定値に前記制御周期デフォルト値を設定するステップ2と、次に制御周期デフォルト設定しないように前記制御周期デフォルト設定フラグを設定するステップ3と、ステップ3の実行後ステップ4に進み、
一方、ステップ1の判断の結果前記制御周期デフォルト設定フラグの値が設定を要求していないときステップ4に進み、前記制御処理を行なうステップ4からなることを特徴としている。
本発明によると、同期割込処理部において設定された制御周期設定値の周期で制御割込処理を実行するようになっているので、上位装置の同期信号を生成しているクロックと制御装置の制御周期信号を生成しているクロックの差を意識せずに上位装置からの同期信号に同期して制御処理を実行することができる。
また、制御周期信号の生成周期を調整することができるので制御処理の定周期性を保つことができる。
以下、本発明の実施の形態について図を参照して説明する。
図1は、本発明の制御装置の構成を説明するブロック図である。
図1において、上位装置1は、クロックを生成する水晶発振子10と、水晶発振子10からのクロックを基に定周期に同期信号S10を生成してこれを制御装置2に出力する同期信号発生回路11と、制御装置2にデータを出力しかつ制御装置2からデータを入力する入出力回路12から構成されている。
制御装置2は、CPU20と、割込回路21と、入出力回路23と、制御周期発生回路26と、水晶発振子22と、同期割込処理部24と、制御割込処理部25から構成される。
CPU20は水晶発振子22からのクロック信号で動作し、また、割込回路21から同期割込信号S20が入力されると同期割込処理部24で同期割込処理を実行させ、また割込回路21から制御割込信号S21が入力されると制御割込処理部25で制御割込処理を実行させる。
割込回路21は上位装置1からの同期信号S10が入力されると、同期割込信号S20を生成し、CPU20へ出力し、また、制御周期発生回路26から制御周期信号S22が入力されると、制御割込信号S21を生成しCPU20へ出力する。
水晶発振子22はクロックを生成する。入出力回路23は上位装置1に入出力データS11を出力し、上位装置1から入出力データS11を入力する。
同期割込処理部24は、制御周期設定値27を制御周期発生回路26に設定し、入出力データS11の処理を行う。
制御割込処理部25は、位置制御、速度制御、トルク制御などの処理を行う。
制御周期発生回路26は水晶発振子22からのクロックを計測し、制御周期設定値27に設定された周期に達すると制御周期信号S22を出力するとともに、再度水晶発振子22からのクロックの計測を開始する。この動作を繰り返し行うことで定周期に信号を生成する。
同期割込信号S20は、上位装置1からの同期信号S10が入力された時に割込回路21で生成される。制御割込信号S21は制御周期発生回路26からの制御周期信号S22が入力された時に割込回路21で生成される。
制御周期信号S22は、制御周期発生回路26で生成される。
本発明が従来の制御装置と異なる部分は、制御周期発生回路26への同期信号の入力がないこと、制御周期発生回路26に制御周期設定値27を備えた部分である。
図2は、上位装置1(図1)で定周期に生成される同期信号S10(図1)の入力が開始された時のソフトウェアの動作を説明する図である。
図2において、上位装置1で定周期に生成される同期信号S10が入力されると、割込回路21(図1)で同期割込信号S20(図1)が生成され、CPU20(図1)により同期割込処理部24(図1)で同期割込処理が実行される。
同期割込処理部24で実行される同期割込処理は、まず、制御周期信号S22(図1)の生成周期を制御周期設定値27(図1)に設定する処理を行う(ステート10)。次に入出力データS11(図1)の処理を行う(ステート11)。
入出力データS11は、制御装置2(図1)が入力する指令データと、制御装置2が出力するフィードバックデータから構成される。指令データには、位置指令、速度指令、トルク指令などがある。また、フィードバックデータには現在位置、現在速度などがある。その後、制御周期設定値27の周期で制御周期発生回路26(図1)が制御周期信号S22を生成し、割込回路21(図1)へ入力し、割込回路21で制御割込信号S21(図1)が生成され、CPU20により制御割込処理部25(図1)が制御割込処理を実行する。
制御割込処理部25で実行される制御割込処理は、まず、制御周期信号S22の生成周期を制御周期デフォルト値に設定する処理を行う(ステート20)。次に制御処理を行う(ステート21)。これ以降は制御割込処理では制御処理のみを繰返し行う。
図3は、前記同期割込処理の動作手順を説明するフローチャートである。
図3において、同期割込処理部24(図1)で実行される同期割込処理は、まず、定周期に制御周期信号S22(図1)を生成するために制御周期発生回路26(図1)が計測している水晶発振子22(図1)のクロックカウント値aを取得する(ステップ1)。
次に、前回の同期割込処理から今回の同期割込処理の間に実行された制御割込処理の回数bを取得する(ステップ2)。次に、外部からの同期信号S10(図1)が最初に入力された場合の同期割込処理かどうかを同期開始フラグの値で判断する(ステップ3)。本実施例では同期信号S10が入力されていない場合、同期開始フラグの値は0としている。
次に、外部からの同期信号S10が最初に入力された同期割込処理の場合、すなわち同期開始フラグの値が0の場合は制御周期信号S22の生成周期を前記クロックカウント値aに同期割込処理で費やされる処理時間の見積もりαを加えた値(図2のTC1)で制御周期設定値27(図1)に設定する(ステップ4)。この処理により、制御割込処理は同期割込処理直後に実行されることになる。このとき、予め同期割込処理の最大処理時間を推定し、処理時間の見積もりαに設定しておくと同期割込処理時間の増減による制御周期の揺らぎはなくなる。
そして、外部からの最初の同期割込処理が終わったことを同期開始フラグに設定する(ステップ5)。本実施例では同期開始フラグに1を設定している。
そして、制御割込処理で制御周期信号S22の生成周期を制御周期デフォルト値(図2のTC0)に再設定するように制御周期デフォルト設定フラグを設定する(ステップ6)。本実施例ではデフォルト設定フラグに1を設定している。ステップ4にて設定した制御周期信号S22の生成周期が同期割込処理の直後に制御割込処理が開始されるように強制的に設定した周期なので、本来の制御周期に戻す必要があるからである。
ステップ6の実行後ステップ9に進み、入出力データS11の処理を行う。
一方、ステップ3の判断で外部からの最初の同期割込処理が終わっている場合、すなわち同期開始フラグが1の場合は上位装置1(図1)など外部で同期信号S10を生成するのに使用している水晶発振子10(図1)と制御周期信号S22を生成するのに使用している水晶発振子22との誤差をクロックずれ時間βとして計算する(ステップ7)。
具体的には、同期割込処理開始時に取得したクロックカウント値aに同期割込処理時間の見積もりαを加算したものを同期割込処理に同期して実行されるべき制御割込処理の周期とし、この値と既に生成されている制御周期信号S22の生成周期との差分を求める。この差分は同期割込処理周期内でのクロックずれを表す。この差分を同期割込処理周期内で実行された制御割込処理の回数bで割ることにより、1回の制御割込処理分のクロックずれを計算し、この値をクロックずれ時間βとしている。
水晶発振子10の方が水晶発振子22よりも速い場合はクロックずれ時間βが負の値となり、遅い場合はクロックずれ時間βが正の値となる。そして、既に生成されている制御周期信号S22の生成周期にクロックずれ時間βを加えたものをあらたに制御周期信号S22の生成周期(図2のTC2)として制御周期設定値27に設定する(ステップ8)。
これにより、制御処理の定周期性を保ちながらクロックずれ分を調整した制御周期信号S22の生成周期が設定されることになる。
最後に、入出力データS11の処理を行う(ステップ9)。
図4は、前記制御割込処理の動作手順を説明するフローチャートである。
図4において、制御割込処理部25(図1)で実行される制御割込処理は、まず、制御割込処理で制御周期設定値27(図1)を制御周期デフォルト値に設定するかどうかを制御周期デフォルト設定フラグの値で判断する(ステップ21)。本実施例では制御周期設定値27に制御周期デフォルト値を設定する場合、制御周期デフォルト設定フラグの値は1としている。このフラグの値が1の場合、制御周期設定値27に制御周期デフォルト値を設定する(ステップ22)。この処理によりステップ6で最初の同期割込処理直後に制御割込処理が実行されるように設定された制御周期信号S22(図1)の生成周期は本来の制御周期に戻される。
そして、制御周期デフォルト設定しないように制御周期デフォルト設定フラグを設定する(ステップ23)。本実施例では0を設定している。
その後、後述のステップ24へ進む。
一方、ステップ21で制御周期デフォルト値を設定しない場合、すなわち、制御周期デフォルト設定フラグの値が0の場合は、制御処理を行う(ステップ24)。
このように、上位装置1(図1)で定周期に生成される同期信号S10(図1)が入力された時に実行される同期割込処理部24(図1)と、最初の同期割込処理後に実行される制御割込処理において制御周期信号S22の生成周期を調整することにより、上位装置1の同期信号S10を生成しているクロックと制御装置2(図1)の制御周期信号S22を生成しているクロックとの差を意識せずに上位装置1からの同期信号S10に同期して制御処理を実行することができる。
図5は、上位装置1(図1)など外部で同期信号S10(図1)を生成するのに使用している水晶発振子10(図1)と制御周期信号S22(図1)を生成するのに使用している水晶発振子22(図1)とに誤差がある場合の、制御周期信号S22の生成周期変化を前述の実施例に基づいて記載したものである。
水晶発振子10のクロックを計測して生成される同期信号S10の生成周期を400μs、水晶発振子22のクロックを計測して生成される制御周期信号S22の生成周期を100μsとする。同期信号S10を生成する水晶発振子10の方が制御周期信号S22を生成する水晶発振子22よりも1.6%速い場合、図5に示すように3回目の同期割込処理での制御周期信号S22の周期と2回目の同期割込処理での制御周期信号S22の周期との差は水晶発振子22のクロックの計測で−2μsであるが、5回目の同期割込処理での制御周期信号S22の周期と4回目の同期割込処理での制御周期信号S22の周期との差は水晶発振子22のクロックの計測で−0.125μsとなる。
このように同期割込処理での制御周期設定値27(図1)の調整を繰り返すことにより、前回の制御信号発生周期との差が限りなくゼロに近付いて行く。つまり、処理周期が一定になってゆく。
また、同期信号S10を生成する水晶発振子10の方が制御周期信号S22を生成する水晶発振子22よりも1.6%遅い場合は、3回目の同期割込処理での制御周期信号S22の周期と2回目の同期割込処理での制御周期信号S22の周期との差は水晶発振子22のクロックの計測で2μsであるが、5回目の同期割込処理での制御周期信号S22の周期と4回目の同期割込処理での制御周期信号S22の周期との差は水晶発振子22のクロックの計測で0.125μsとなり、同様に同期割込処理での制御周期設定値27の調整を繰り返すことにより、前回の制御信号発生周期との差が限りなくゼロに近付いて行く。
このように、同期信号S10を生成する水晶発振子10と制御周期信号S22を生成する水晶発振子22とに誤差がある場合でも制御処理の定周期性を保つことができる。
図6は同期割込処理の処理時間が異なる場合の動作を説明するタイムチャートである。図6において、上位装置1(図1)からの同期信号S10(図1)が入力されると、割込回路21(図1)で同期割込信号S20(図1)が生成され、CPU20(図1)によって同期割込処理部24(図1)が起動され、同期割込処理が実行される。一般に、同期割込処理は条件判断がない場合は、同期割込処理に要する処理時間は一定であるが、条件判断があるとその条件の成立如何によって同期割込処理に要する処理時間は変わってくる。この例では、上位装置1からの同期信号S10および同期割込信号S20は400μsごとに生成され、制御割込信号S21は100μsごとに生成されるものとする。
また、同期割込処理部24で実行される同期割込処理は一定ではなく、条件成立時は20μs、不成立時は10μsとする。このとき、同期割込処理で費やされる処理時間の見積もりαを条件成立時の20μsとする。
また、一般にクロックに使用する水晶発振子の精度は100ppm程度であるため、本実施例では説明を簡単にするために同期信号S10を生成する水晶発振子10(図1)と制御周期信号S22(図1)を生成する水晶発振子22(図1)とのクロック誤差はないものとする。
図4のステップ22で制御周期設定値27(図1)を制御周期デフォルト値100μsに設定した後、クロック誤差がない場合、クロックずれ時間βは0となり制御周期信号S22の生成周期は変化せずに制御処理が実行される。その際、図6における時刻Aのように、上位装置1からの同期信号S10により起動される同期割込処理が条件成立の場合を実行すると、同期割込処理が開始されてから制御割込処理が開始されるまでの時間は20μsである。
また、図6における時刻Bのように、次の同期割込処理が条件不成立の場合を実行しても、制御周期信号S22の生成周期は変化しないため、同期割込処理が開始されてから制御割込処理が開始されるまでの時間は20μsで一定である。
このように、同期割込処理において、条件判断がある場合も、同期割込処理が開始されてから制御割込処理が開始されるまでの時間が一定となるように制御周期設定値27を設定しておくことにより、同期割込処理の条件判断の成立如何にかかわらず、制御処理の定周期性を保つことができる。
また、同期信号S10を生成する水晶発振子10と制御周期信号S22を生成する水晶発振子22とにクロック誤差がある場合でも、実施例の図5で示したように制御処理の定周期性を保つように制御周期信号S22の生成周期を調整するし、その処理は同期割込処理の条件判断の成立如何にかかわらないので、クロック誤差がない場合と同様に制御処理の定周期性を保つことができる。
本発明の実施例1に係る外部同期可能な制御装置の構成を説明するブロック図である。 図1に示す外部同期可能な制御装置のソフトウェア動作を説明する図である。 図1に示す外部同期可能な制御装置の同期割込処理の動作手順を説明するフローチャートである。 図1に示す外部同期可能な制御装置の制御割込処理の動作手順を説明するフローチャートである。 図1に示す外部同期可能な制御装置の制御信号生成周期の変化を説明する図である。 図1に示す外部同期可能な制御装置の動作を説明するタイムチャートである。 従来の制御装置の構成を説明するブロック図である。 図7に示す制御装置の動作を説明するタイムチャートである。
符号の説明
1 上位装置
2 制御装置
10 水晶発振子
11 同期信号発生回路
12 入出力回路
20 CPU
21 割込回路
22 水晶発振子
23 入出力回路
24 同期割込処理部
25 制御割込処理部
26 制御周期発生回路
27 制御周期設定値
28 (同期調整付)制御周期発生回路
S10 同期信号
S11 入出力データ
S20 同期割込信号
S21 制御割込信号
S22 制御周期信号

Claims (4)

  1. 定周期に制御処理を行うための制御周期信号を生成する制御周期発生回路と、上位装置など外部から定周期に出力される同期信号が入力されると同期割込信号を生成し、前記制御周期信号が入力されると制御割込信号を生成する割込回路と、前記上位装置からデータを入力しかつ前記上位装置にデータを出力する入出力回路と、前記同期割込信号が入力されると同期割込処理を実行する同期割込処理部と、前記制御割込信号が入力されると制御割込処理を実行する制御割込処理部とを備えた制御装置において、
    前記制御周期発生回路は、前記同期割込処理部において設定された制御周期設定値の周期で前記制御周期信号を生成するようになっていることにより、外部からの同期信号に同期して前記制御割込処理を実行させることを特徴とする外部同期可能な制御装置。
  2. 定周期に制御処理を行うための制御周期信号を生成する制御周期発生回路と、上位装置など外部から定周期に出力される同期信号が入力されると同期割込信号を生成し、前記制御周期信号が入力されると制御割込信号を生成する割込回路と、前記上位装置からデータを入力しかつ前記上位装置にデータを出力する入出力回路と、前記同期割込信号が入力されると同期割込処理を実行する同期割込処理部と、前記制御割込信号が入力されると制御割込処理を実行する制御割込処理部とを備えた制御装置の制御方法において、
    前記同期割込処理は、まず、前記制御周期信号の生成周期を制御周期設定値に設定する処理を行ない、次に、前記制御装置が入力する位置指令、速度指令、トルク指令などの指令データと前記制御装置が出力する現在位置、現在速度などのフィードバックデータから構成される入出力データの処理を行ない、その後、前記制御周期設定値の周期で前記制御周期発生回路が前記制御周期信号を生成して前記割込回路へ入力し、前記割込回路で前記制御割込信号が生成されると前記制御割込処理部で前記制御割込処理が実行される、という手順で処理することを特徴とする外部同期可能な制御方法。
  3. 前記同期割込処理は、まず、定周期に前記制御周期信号を生成するために前記制御周期発生回路が計測している水晶発振子のクロックカウント値aを取得するステップ1と、次に前回の前記同期割込処理から今回の前記同期割込処理の間に実行された前記制御割込処理の回数bを取得するステップ2と、次に外部からの同期信号が最初に入力された場合の前記同期割込処理かどうかを同期開始フラグの値で判断するステップ3と、
    ステップ3の判断の結果最初に入力された前記同期割込処理の場合であれば、前記制御周期信号の生成周期を前記クロックカウント値aに前記同期割込処理で費やされる処理時間の見積もり時間αを加えた値a+αで前記制御周期設定値に設定するステップ4と、次に外部からの最初の前記同期割込処理が終わったことを前記同期開始フラグに設定するステップ5と、次に本来の制御周期の値である制御周期デフォルト値に再設定するように制御周期デフオルト設定フラグを設定するステップ6と、ステップ6の実行後後述のステップ9に進み、
    一方、ステップ3の判断の結果最初に入力された前記同期割込処理の場合でなければ前記クロックカウント値aに同期割込処理時間の見積もり時間αを加算した値a+αを前記同期割込処理に同期して実行されるべき前記制御割込処理の周期とし、この値a+αと既に生成されている前記制御周期信号の設定値との差分を求め、この差分を同期割込処理周期内で実行された前記制御割込処理の回数bで割った値βを外部で同期信号を生成するのに使用している水晶発振子と前記制御周期信号を生成するのに使用している水晶発振子との誤差であるクロックずれ時間βとするステップ7と、次に、既に生成されている前記制御周期信号の設定値に時間βを加えたものをあらたに前記制御周期信号の設定値として前記制御周期設定値に設定するステップ8と、その後、前記入出力データの処理を行なうステップ9からなることを特徴とする請求項2記載の外部同期可能な制御方法。
  4. 前記制御割込処理は、まず、前記制御割込処理で前記制御周期設定値を前記制御周期デフォルト値に設定するかどうかを前記制御周期デフォルト設定フラグの値で判断するステップ1と、ステップ1の判断の結果前記制御周期デフォルト設定フラグの値が設定を要求しているとき前記制御周期設定値に前記制御周期デフォルト値を設定するステップ2と、次に制御周期デフォルト設定しないように前記制御周期デフォルト設定フラグを設定するステップ3と、ステップ3の実行後ステップ4に進み、
    一方、ステップ1の判断の結果前記制御周期デフォルト設定フラグの値が設定を要求していないときステップ4に進み、前記制御処理を行なうステップ4からなることを特徴とする請求項2記載の外部同期可能な制御方法。
JP2006045485A 2006-02-22 2006-02-22 外部同期可能な制御装置および制御方法 Pending JP2007226423A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006045485A JP2007226423A (ja) 2006-02-22 2006-02-22 外部同期可能な制御装置および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006045485A JP2007226423A (ja) 2006-02-22 2006-02-22 外部同期可能な制御装置および制御方法

Publications (1)

Publication Number Publication Date
JP2007226423A true JP2007226423A (ja) 2007-09-06

Family

ID=38548203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006045485A Pending JP2007226423A (ja) 2006-02-22 2006-02-22 外部同期可能な制御装置および制御方法

Country Status (1)

Country Link
JP (1) JP2007226423A (ja)

Similar Documents

Publication Publication Date Title
JP4707603B2 (ja) リアルタイムosにおける処理時間配分方法
CN103440167B (zh) Hadoop多作业环境下自学习反馈的任务调度方法
JP2006244264A (ja) 制御システム
JP2010182101A (ja) フィールド制御システム
WO2019107022A1 (ja) 制御装置および制御方法
JP2019139590A (ja) モデル予測制御装置、モデル予測制御装置の制御方法、情報処理プログラム、および記録媒体
JP2007226423A (ja) 外部同期可能な制御装置および制御方法
JP2001013179A (ja) リングオシレータクロック周波数測定方法、リングオシレータクロック周波数測定回路、およびマイクロコンピュータ
US11853116B2 (en) Clock error-bound tracker
JPH0245816A (ja) コンピュータシステムの時刻校正方式
JP2004272794A (ja) 外部同期可能な制御装置および制御方法
US20060153008A1 (en) Control device and control method capable of external synchronization
WO2020026315A1 (ja) 割り込み制御装置、割り込み制御方法および割り込み制御プログラム
KR20180008158A (ko) 유도 조종장치 및 그의 시스템 클럭 생성 방법
JP6000652B2 (ja) パルスモータ制御装置およびパルス信号生成方法
JP2004264899A (ja) 外部同期可能な制御装置
JP5266168B2 (ja) マイクロコンピュータ
JPH0133864B2 (ja)
JP4798445B2 (ja) 省電力制御方法、画像形成装置およびプログラム
JP2007129789A (ja) モータ制御装置
WO2019082659A1 (ja) データ取得方法およびデータ取得装置
JP4390522B2 (ja) 時刻情報作成装置、画像処理システム及び方法
JP2010206929A (ja) モータ制御装置とその位置制御方法
JP2009169468A (ja) 位置制御装置
JP2008077184A (ja) 割り込み制御回路

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Effective date: 20071127

Free format text: JAPANESE INTERMEDIATE CODE: A7424