JP2019101480A - 制御装置および制御方法 - Google Patents

制御装置および制御方法 Download PDF

Info

Publication number
JP2019101480A
JP2019101480A JP2017228120A JP2017228120A JP2019101480A JP 2019101480 A JP2019101480 A JP 2019101480A JP 2017228120 A JP2017228120 A JP 2017228120A JP 2017228120 A JP2017228120 A JP 2017228120A JP 2019101480 A JP2019101480 A JP 2019101480A
Authority
JP
Japan
Prior art keywords
processor
control
cycle
synchronization signal
signal
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
JP2017228120A
Other languages
English (en)
Inventor
拓也 谷口
Takuya Taniguchi
拓也 谷口
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2017228120A priority Critical patent/JP2019101480A/ja
Priority to PCT/JP2018/039519 priority patent/WO2019107022A1/ja
Priority to CN201880054572.4A priority patent/CN111052006B/zh
Priority to EP18882647.3A priority patent/EP3719596B1/en
Priority to US16/644,177 priority patent/US11307553B2/en
Publication of JP2019101480A publication Critical patent/JP2019101480A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/16Plc to applications
    • G05B2219/163Domotique, domestic, home control, automation, smart, intelligent house
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31145Ethernet
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33097Variable ticks, align clocks, to synchronise cycles with other machine, robot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34045Timer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Control Of Multiple Motors (AREA)

Abstract

【課題】制御装置において、異なるクロックによって周期的に生成される複数の信号を同期させる。【解決手段】第一の周期ごとに生成される同期信号を取得する第一のプロセッサと、前記第一の周期をn分割(n≧1)した第二の周期を生成し、かつ、タイマを用いて、前記第二の周期をm分割(m≧2)した第三の周期ごとに制御信号を発生させ、前記制御信号に基づいたタイミングで所定の処理を行う第二のプロセッサと、を有し、前記第一の周期において発生する複数の制御信号のうちの少なくとも1回が、前記同期信号と同期すべき制御信号であり、前記第二のプロセッサは、前記同期信号と、前記同期信号と同期すべき制御信号との間でタイミングに誤差が生じたことを検出した場合に、次回以降に開始する前記タイマの幅を一時的に変更することで前記誤差を補正する。【選択図】図1

Description

本発明は、制御装置および制御方法に関する。
生産ラインなどに含まれる複数の機械(モータ、ロボット、センサ等)を制御する制御装置として、PLC(Programmable Logic Controller)が利用されている。また、複数
の制御装置が接続されるシステムにおいて、システム構成を簡素にするため、イーサネットといった既存の規格を利用して通信を行う技術が普及している。このような規格として、例えば、EtherCAT(登録商標)が存在する(特許文献1)。
EtherCATにおいては、ネットワーク接続されたマスタが、複数のスレーブに対してフレームを送出し、複数のスレーブが、受信したフレームにオンザフライでマスタ宛のデータを書き込む。これにより、複数のスレーブが協調して動作することを可能にしている。
EtherCATは、複数のスレーブ間で処理タイミングを一致させるための信号(同期信号)を生成する機能を有している。複数のスレーブが同期信号に基づいて処理を行うことで、異なる複数の制御対象物(例えば、軸ごとに設置された複数のモータ)の動作を同期させることができる。
米国特許第8060677号明細書
EtherCATの各スレーブでは、装置の制御を行うMPUが周期的に制御信号(割り込み)を発生させており、当該制御信号に基づいたタイミングで制御対象物の制御を行う。また、この制御信号のタイミングを同期信号と同期させることで、複数のスレーブ間で動作を同期させることができる。
一方、同期信号と制御信号はそれぞれ別々のプロセッサによって生成されているため、お互いのタイミングに徐々に誤差が生じうる。これを修正しないと、スレーブ間で動作の同期が取れなくなるため、各スレーブにおいては、タイミングの誤差を検出し、制御信号の生成タイミングを修正する必要がある。
本発明は上記の課題を考慮してなされたものであり、制御装置において、異なるクロックによって周期的に生成される複数の信号を同期させることを目的とする。
本発明に係る制御装置は、
第一の周期ごとに生成される同期信号を取得する第一のプロセッサと、前記第一の周期をn分割(n≧1)した第二の周期を生成し、かつ、タイマを用いて、前記第二の周期をm分割(m≧2)した第三の周期ごとに制御信号を発生させ、前記制御信号に基づいたタイミングで所定の処理を行う第二のプロセッサと、を有し、前記第一の周期において発生する複数の制御信号のうちの少なくとも1回が、前記同期信号と同期すべき制御信号であり、前記第二のプロセッサは、前記同期信号と、前記同期信号と同期すべき制御信号との
間でタイミングに誤差が生じたことを検出した場合に、次回以降に開始する前記タイマの幅を一時的に変更することで前記誤差を補正することを特徴とする。
同期信号は、制御装置に対して周期的に与えられるタイミング信号であり、第一のプロセッサによって取得される。本発明に係る制御装置がマスタ装置と接続されている場合、同期信号はマスタ装置から周期的に送信されるものであってもよい。
また、第二のプロセッサは、第一の周期内において、第一の周期の1/nの周期で第二の周期を生成し、かつ、第二の周期の1/mの周期(第三の周期)で制御信号を反復して発生させ、制御信号に基づいたタイミングで所定の処理を行うことで制御対象物の制御を行う。例えば、制御対象物がモータである場合、制御装置が、モータの駆動を行うサブプロセッサと、モータの位置検出を行うサブプロセッサとそれぞれ通信する構成であってもよい。制御信号のタイミングごとに所定の処理(例えば各サブプロセッサとの入出力)を行うことで、同期信号をさらに細分化したタイミングで細かな制御を行うことができる。
かかる構成においては、同期信号と制御信号が別々のプロセッサによって生成されるため、互いの信号のタイミングにずれが生じる場合がある。
そこで、本発明に係る制御装置は、第二のプロセッサが、同期信号と、同期信号と同期すべき制御信号との間でタイミングに誤差が生じたことを検出した場合に、第三の周期を計測するタイマの幅を変更することで、ずれたタイミングを一致させる。この際、遅延させるタイマは、次回以降に開始するタイマである。かかる構成によると、比較的簡便な構成で同期信号と制御信号とを一致させることが可能となる。
また、前記第二のプロセッサは、前記誤差が所定の値以上である場合に、前記誤差の補正を行うことを特徴としてもよい。
タイミングの誤差は徐々に累積していくため、誤差に閾値を設け、検出した誤差が閾値を上回った時点で補正処理を行うようにすることが好ましい。補正の頻度があまりに高いと、制御信号が均等に発生しなくなるため、装置の動作に弊害をもたらすおそれがあるためである。
また、前記タイマの一回の変更幅に上限が設けられており、前記第二のプロセッサは、前記誤差が前記上限を上回る場合に、複数の前記第三の周期に分けて前記タイマの幅を変更することを特徴としてもよい。
補正の量が大きいと、制御信号のタイミングが急激に変わるため、サブプロセッサが異常を検知してしまうなど、装置の動作に弊害をもたらすおそれがある。そこで、一回あたりの補正量に上限を設け、一回の周期で補正が完了しない場合、複数の周期に分散して補正を行うようにすることが好ましい。
また、前記所定の処理は、モータの駆動制御を行うプロセッサ、または、前記モータから位置情報を取得するプロセッサの少なくともいずれかと行うデータの送受信処理であることを特徴としてもよい。
本発明は、サブプロセッサとして、モータの駆動制御を行うプロセッサと、エンコーダ等によってモータの位置検出を行うプロセッサを有する装置に好適に適用することができる。
また、前記第二のプロセッサは、前記誤差の補正を行ってから所定の時間が経過するまで、再度の補正を行わないことを特徴としてもよい。
誤差の補正を行ってから、サブプロセッサの動作が安定するまで再度の補正を行わないようにすることで、装置の安定化を図ることができる。
また、前記第二のプロセッサは、前記同期信号を取得すべきタイミングから、所定の回数後に開始する前記タイマの幅を変更することを特徴としてもよい。
かかる構成によると、同期信号間において常に同じタイミングで補正がかかるため、複数のサブプロセッサに与える影響を最小限にすることができる。
なお、本発明は、上記手段の少なくとも一部を含む制御装置として特定することができる。また、上記制御装置が行う制御方法として特定することもできる。上記処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
本発明によれば、制御装置において、異なるクロックによって周期的に生成される複数の信号を同期させることができる。
実施形態に係る制御システムの全体構成図である。 同期信号と制御信号のタイミングを説明する図である。 実施形態に係る制御装置のシステム構成図である。 Tickごとの処理内容を説明する図である。 タイミングのずれを補正する処理を説明する図である。 実施形態に係る制御装置が行う処理フローチャートである。
(適用例)
以下、本発明の概要について図面を参照しながら説明する。
図1は、本発明の一実施形態に係る制御システムの全体構成を示す模式図である。本制御システムは、マスタノードであるマスタPLC10と、スレーブノードである複数のスレーブ20を有して構成される。
マスタPLC10は、複数のスレーブ20を統括する装置である。具体的には、スレーブ20で実行されるプログラムの管理、スレーブ20の運転状態の監視などを行う。
スレーブ20は、マスタPLC10およびサーボモータ30、エンコーダ40と電気的に接続され、マスタPLC10から受信した命令に従ってサーボモータ30を駆動し、また、サーボモータ30の位置情報をエンコーダ40から取得して制御を行う装置である。
スレーブ20は、典型的には、ネットワーク通信を行う通信ユニットと、プログラムを実行する主体であるCPUユニットと、フィールドからの信号を入出力するI/Oユニットを含む。I/Oユニットには、サーボモータ30およびエンコーダ40が接続される。スレーブ20は、CPUユニットで実行したプログラムの実行結果に基づいてサーボモータ30を駆動し、サーボモータ30の位置情報を出力するエンコーダ40から信号を取得する。また、現在のステータス情報をマスタPLC10へ送信する。なお、図示していないが、CPUユニットは、入出力を行う手段(タッチパネルやディスプレイ等)を有していてもよい。例えば、PLCの動作に関する情報をユーザに提供してもよい。
マスタPLC10とスレーブ20は、イーサネット(登録商標)などのネットワークを介して接続される。本実施形態では、マスタPLC10とスレーブ20は、EtherC
AT(登録商標)を利用して通信するように構成される。
複数のスレーブ20には、それぞれ異なるサーボモータ30が接続される。なお、図1には一つのスレーブ20に一つのサーボモータ30を接続した例を示したが、スレーブ20に接続されるモータの数は複数であってもよい。スレーブ20に接続されるモータの数が複数である場合、各サーボモータ30の駆動に関する情報がスレーブによって一元化され、マスタPLC10へ伝送される。また、図1には、3つのスレーブ20を図示したが、ネットワークに接続されるスレーブの数に制限は無い。
マスタPLC10からスレーブ20へは、周期的に同期信号が送信される。同期信号は、複数のスレーブ間で処理のタイミングを一致させるための信号であり、例えば、数百マイクロ秒おきに発行される。
また、スレーブ20においては、同期信号と同期したタイミングで制御信号が周期的に生成される。図2は、制御信号の生成タイミングを説明する図である。スレーブ20は、内蔵されたタイマによってカウンタをインクリメントし、カウンタが増加するタイミングで制御信号を生成する。スレーブ20は、図2(A)に示したように、同期信号が到来するごとにn回(本例の場合は4回)ずつ制御信号を生成するよう設計されている。
このような構成においては、同期信号が与えられるタイミングと、制御信号が生成されるタイミングにずれが生じることがある。これは、同期信号を生成するプロセッサと、制御信号を生成するプロセッサが異なるためである。例えば、図2(B)に示したように、補正を行わないと、ずれが拡大し、スレーブ間の同期に支障を及ぼしてしまう。
本発明においては、このようなずれを補正するため、同期信号と制御信号との間にタイミングのずれを検出した場合に、次回以降にスタートするタイマの幅を変更することで、ずれの補正を行う。
例えば、図示したTick3の先頭においてずれを検出した場合、続くTick4,Tick1,Tick2に対応するタイマを一時的に延長ないし短縮する。これにより、次に到来する同期信号と制御信号のタイミングを一致させることができる。
(システム構成)
以下、前述した機能を実現するための、本発明の好ましい実施形態について図面を参照しながら説明する。
図3は、本実施形態に係る制御装置を示すシステム構成図である。制御装置20が、図1におけるスレーブ20に対応する。
入出力部21は、EtherCATバスとメインプロセッサを接続するためのインタフェース部である。
メインプロセッサ22は、制御装置20の制御を行う主プロセッサである。メインプロセッサ22は、必ずしも単一のプロセッサでなくてもよい。例えば、EtherCATとの通信において利用されるプロセッサ(第一のプロセッサ22a)と、制御対象物(例えばモータやインバータ)を制御するためのプロセッサ(第二のプロセッサ22b)を有していてもよい。また、これらのプロセッサは、必ずしも単一の種類でなくてもよい。例えば、一つがASICによって、一つがMPUによって実装されてもよい。本実施形態では、第一のプロセッサが同期信号の取得を行い、第二のプロセッサが制御信号を生成するものとするが、この形態に限られない。
本実施形態に係る制御装置は、さらに、制御対象物であるモータを駆動するためのサブプロセッサと、モータの位置情報を取得するためのサブプロセッサを有して構成される。
第1サブプロセッサ23は、制御対象物であるモータを駆動するためのサブプロセッサである。第1サブプロセッサ23は、後述するモータ駆動回路24に対して制御信号を送信することでモータの制御を行う。第1サブプロセッサ23は、例えば、マイクロコントローラユニット(MCU)として実装される。
モータ駆動回路24は、モータを駆動するための電源と接続されており、第1サブプロセッサ23から送信された制御信号に基づいて、モータ駆動用のパルス信号を生成する回路である。
モータ30は、制御装置20が制御を行う対象物である。本実施形態では、モータ30はサーボモータである。モータ30の位置情報(回転角に関する情報)は、モータ30に内蔵されたエンコーダ40によって検出される。本実施形態では、エンコーダ40は、位置情報をパルス信号によって出力するインクリメンタルエンコーダである。
入力回路25は、エンコーダ40が出力したパルス信号を取得し、内部信号に変換するインタフェースである。
第2サブプロセッサ26は、入力回路25が出力した内部信号のカウント、ラッチによる入力値の保存などを行うプロセッサである。第2サブプロセッサ26は、例えば、マイクロコントローラユニット(MCU)として実装される。
メインプロセッサ22、第1サブプロセッサ23、第2サブプロセッサ26の間はSPI(Serial Peripheral Interface)によって通信が行われる。
(信号の補正方法)
次に、同期信号と制御信号の関係について説明する。
本実施形態では、マスタPLC10から周期的に送信される同期信号(SYNC0)をメインプロセッサ22が取得し、メインプロセッサ22が、タイマを用いて、同期信号と同期したタイミングで制御信号を生成する。
なお、以下の説明では、同期信号が200マイクロ秒間隔で到来するものとする。
メインプロセッサ22は、プロセッサに内蔵されたタイマパルスユニットを用いて、図2(A)に示したように、同期信号の到来周期を4分割した周期でカウントを行う。本例では、1カウントの単位をTickと称する。すなわち、Tick1からTick4までの4周期が、同期信号が到来するごとに生成される。メインプロセッサ22は、Tickが生成されるたびに(すなわち、50マイクロ秒おきにカウンタがアップするたびに)制御信号を生成する。なお、本実施形態では、Tick3の開始タイミングと同期信号のタイミングとを一致させるものとする。
次に、図4を参照しながら、メインプロセッサ22がTickごとに行う処理内容について説明する。なお、ここでは、Tick3においてマスタPLC10との通信が行われるものとする。
第1サブプロセッサ23に着目すると、まず、Tick1で、第1サブプロセッサ23に対する送信データを生成する。そして、Tick2で第1サブプロセッサ23との通信を行い、Tick3にて第1プロセッサ23から送信されたデータを読み出す。
第2サブプロセッサ26に着目すると、Tick4で、第2サブプロセッサ26から送信されたデータを読み出し、次いで、第2サブプロセッサ26に対する送信データを生成する。そして、Tick1〜3で第2サブプロセッサ26との通信を行う。
メインプロセッサ22が生成する制御信号は、サブプロセッサに対する割り込み信号で
ある。メインプロセッサ22は、各Tickを開始するタイミングで割り込み信号を発生させ、各プロセッサは、割り込みによって通知されたタイミングに基づいて規定の処理を行う。
なお、本実施形態で述べたTickごとの処理内容、および、Tickの分割数はあくまで一例であり、変更することも可能である。例えば、同期信号が到来する周期をn分割(n≧1)した周期を生成し、当該周期をさらにm分割(m≧2)した周期で制御信号を生成してもよい。
図2に戻って説明を続ける。
本実施形態のように、Tickと同期信号とを同期させて処理を行う場合、両者のずれが問題となる。同期信号はマスタPLCによって生成され、Tickはメインプロセッサによって生成されるため、両者が同期するようタイマを設定しても、徐々に誤差が蓄積するためである。誤差が蓄積すると、図2(B)のように同期信号とTickが同期しなくなり、これが複数のスレーブ間で発生すると、例えばモータの軸間で同期が取れなくなるといった問題が発生する。
そこで、本実施形態では、メインプロセッサ22が、同期信号とTick3の始期との間にタイミングのずれが生じたことを検出した場合に、カウントを行うためのタイマの満了時期を補正することで誤差の修正を行う。
当該動作について、図5を参照して説明する。
メインプロセッサ22は、図中(1)で示したように、同期信号が発生するごとに、同期信号の到来タイミングと、Tick3における制御信号の発生タイミングとのずれを検出する。ここで、ずれ幅の絶対値が所定の値(以下、第一の閾値)を上回っていた場合、補正が必要であると判断し、補正処理を行う。なお、第一の閾値は、例えば、同期信号の間隔が200マイクロ秒である場合、1マイクロ秒とすることができる。第一の閾値は、想定される同期信号のジッタ(一時的な揺らぎ)よりも大きくすることが好ましい。ジッタを誤差として検出してしまうと、本来必要がない補正処理を行うことになり、以降において誤差の発生を誘発してしまうためである。
メインプロセッサ22が、補正が必要であると判定した場合、図中(2)で示したように、次の周期以降に到来するTick1において、Tickを計時するタイマを一時的に延長ないし短縮する。例えば、制御信号よりも同期信号がnマイクロ秒遅い場合、タイマの満了をnマイクロ秒遅延させる。また、制御信号よりも同期信号がnマイクロ秒早い場合、タイマの満了をnマイクロ秒短縮させる。これにより、補正を行ったTick以降において、同期信号と制御信号のタイミングが一致する。
期間を延長ないし短縮するTickは、基本的に4つのうちのいずれであってもよい。しかし、Tickの長さを変更した場合、当該Tick内で行われる処理の終了タイミングや、続くTick内で行われる処理の開始タイミングが変わるため、場合によっては、サブプロセッサから正しいデータを読み取れなくなるケースが発生しうる。よって、補正幅だけ始期がずれてもデータの送受信に影響が無いTickを選択することが好ましい。本実施形態では、このようなTickとしてTick1を選択した。
このように、本実施形態では、4回ずつ実行されるタイマのうち、延長ないし短縮の対象とするタイマの順番が固定(本例では1番目,同期信号から数えると3番目)となっている。
(処理フローチャート)
次に、図6を参照しながら、メインプロセッサ22が行う処理のフローチャートについて説明する。図6の処理は、制御装置20が起動中に、メインプロセッサ22によって繰
り返し実行される。
まず、ステップS11にて、前回補正を行ってから所定の時間が経過しているか否かを判定する。当該処理は、補正の間隔を確保するための処理である。なお、所定の時間は、例えば、同期信号の間隔が200マイクロ秒である場合、50ミリ秒とすることができる。所定の時間が経過していない場合、処理は初期状態に戻る。
ステップS12では、対象のTick(本実施形態ではTick3)の始期と、同期信号間の誤差を測定する。
次に、ステップS13で、測定によって得られた誤差が第一の閾値以上であるか否かを判定する。第一の閾値は、前述したように、同期信号のタイミングの揺らぎを考慮して設定するとよい。誤差が第一の閾値未満である場合、処理は初期状態に戻る。
次に、ステップS14で、測定によって得られた誤差が第二の閾値以上であるか否かを判定する。第二の閾値は、一回の処理において補正が許される最大幅を表す値である。例えば、一回の処理において補正が許される幅が5マイクロ秒である場合、第二の閾値は5マイクロ秒となる。
本実施形態では、ステップS13で所定値以上の誤差を検出した場合に逐次補正を行っているが、前回補正を行ってから次の補正を行うまでの間隔を確保しているため、この間に誤差が蓄積することが考えられる。この間に蓄積した誤差が大きい場合、ステップS14で肯定判定となる。
誤差が第二の閾値未満である場合、次の周期においてTick1を計時するタイマを延長ないし短縮する(ステップS15)。前述したように、延長/短縮の幅は、ステップS12で得られた誤差と等しくなる。
誤差が第二の閾値以上である場合、次回以降の周期においてTick1を計時するタイマを延長ないし短縮する(ステップS16)。ステップS16がステップS15と異なる点は、一度の周期で補正を完了させない点である。すなわち、第二の閾値を上限とする補正を複数回行い、ずれを解消させていく。例えば、誤差が30マイクロ秒であって、第二の閾値が5マイクロ秒であった場合、5マイクロ秒ずつ補正を6回行う。このように、少しずつ補正を行うことで、制御対象物の安定状態を維持させることができる。
以上説明したように、本実施形態によると、同期信号に基づいて制御信号(割り込み)を生成し、制御信号に基づいて複数のプロセッサが協働する制御装置において、同期信号と制御信号とを同期させることができる。
なお、既に開始したタイマの満了時間を変更する場合、変更後において満了すべき時刻がまだ到来していないことが変更の条件となる。これに対し、本実施形態では、タイミングのずれを検知した場合に、まだ開始していないタイマを延長ないし短縮するため、制約なしに補正を行うことができる。
また、同期信号間においてTickが複数生成される場合に、常に同じTickを対象として補正を行うため、複数のサブプロセッサに与える影響を最小限にすることができる。
(変形例)
なお、実施形態の説明は本発明を説明する上での例示であり、本発明は、発明の趣旨を逸脱しない範囲で適宜変更または組み合わせて実施することができる。
例えば、実施形態の説明では、同期信号は毎回マスタPLCから送信されるものとしたが、全ての同期信号がマスタPLCから送信される必要はない。例えば、同期信号をメインプロセッサ22が生成し、マスタPLCからは、タイミングを補正するための信号のみ
を送信してもよい。
また、実施形態の説明ではサーボモータを制御するシステムを例示したが、制御対象はサーボモータ以外であってもよい。例えば、インバータなどであってもよい。また、制御対象は必ずしも可動部を有するものでなくてもよい。例えば、センシング装置やレーザ装置などであってもよい。
また、実施形態の説明ではサブプロセッサを2個としたが、サブプロセッサの数は1個、または3個以上であってもよい。
本発明は、以下のように特定することもできる。すなわち、
第一の周期ごとに生成される同期信号を取得する第一のプロセッサ(22a)と、
前記第一の周期をn分割(n≧1)した第二の周期を生成し、かつ、タイマを用いて、前記第二の周期をm分割(m≧2)した第三の周期ごとに制御信号を発生させ、前記制御信号に基づいたタイミングで所定の処理を行う第二のプロセッサ(22b)と、を有し、
前記第一の周期において発生する複数の制御信号のうちの少なくとも1回が、前記同期信号と同期すべき制御信号であり、
前記第二のプロセッサは、前記同期信号と、前記同期信号と同期すべき制御信号との間でタイミングに誤差が生じたことを検出した場合に、次回以降に開始する前記タイマの幅を一時的に変更することで前記誤差を補正する
ことを特徴とする、制御装置である。
20・・・制御装置
21・・・入出力部
22・・・メインプロセッサ
23・・・第1サブプロセッサ
24・・・モータ駆動回路
25・・・入力回路
26・・・第2サブプロセッサ
30・・・モータ
40・・・エンコーダ

Claims (7)

  1. 第一の周期ごとに生成される同期信号を取得する第一のプロセッサと、
    前記第一の周期をn分割(n≧1)した第二の周期を生成し、かつ、タイマを用いて、前記第二の周期をm分割(m≧2)した第三の周期ごとに制御信号を発生させ、前記制御信号に基づいたタイミングで所定の処理を行う第二のプロセッサと、を有し、
    前記第一の周期において発生する複数の制御信号のうちの少なくとも1回が、前記同期信号と同期すべき制御信号であり、
    前記第二のプロセッサは、前記同期信号と、前記同期信号と同期すべき制御信号との間でタイミングに誤差が生じたことを検出した場合に、次回以降に開始する前記タイマの幅を一時的に変更することで前記誤差を補正する
    ことを特徴とする、制御装置。
  2. 前記第二のプロセッサは、前記誤差が所定の値以上である場合に、前記誤差の補正を行う
    ことを特徴とする、請求項1に記載の制御装置。
  3. 前記タイマの一回の変更幅に上限が設けられており、前記第二のプロセッサは、前記誤差が前記上限を上回る場合に、複数の前記第三の周期に分けて前記タイマの幅を変更する
    ことを特徴とする、請求項1または2に記載の制御装置。
  4. 前記所定の処理は、モータの駆動制御を行うプロセッサ、または、前記モータから位置情報を取得するプロセッサの少なくともいずれかと行うデータの送受信処理である
    ことを特徴とする、請求項1から3のいずれかに記載の制御装置。
  5. 前記第二のプロセッサは、前記誤差の補正を行ってから所定の時間が経過するまで、再度の補正を行わない
    ことを特徴とする、請求項1から4のいずれかに記載の制御装置。
  6. 前記第二のプロセッサは、前記同期信号を取得すべきタイミングから、所定の回数後に開始する前記タイマの幅を変更する
    ことを特徴とする、請求項1から5のいずれかに記載の制御装置。
  7. 第一の周期ごとに生成される同期信号を取得する第一のステップと、
    前記第一の周期をn分割(n≧1)した第二の周期を生成し、かつ、タイマを用いて、前記第二の周期をm分割(m≧2)した第三の周期ごとに制御信号を発生させ、前記制御信号に基づいたタイミングで所定の処理を行う第二のステップと、を含み、
    前記第一の周期において発生する複数の制御信号のうちの少なくとも1回が、前記同期信号と同期すべき制御信号であり、
    前記第二のステップでは、前記同期信号と、前記同期信号と同期すべき制御信号との間でタイミングに誤差が生じたことを検出した場合に、次回以降に開始する前記タイマの幅を一時的に変更することで前記誤差を補正する
    ことを特徴とする、制御方法。
JP2017228120A 2017-11-28 2017-11-28 制御装置および制御方法 Pending JP2019101480A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017228120A JP2019101480A (ja) 2017-11-28 2017-11-28 制御装置および制御方法
PCT/JP2018/039519 WO2019107022A1 (ja) 2017-11-28 2018-10-24 制御装置および制御方法
CN201880054572.4A CN111052006B (zh) 2017-11-28 2018-10-24 控制装置以及控制方法
EP18882647.3A EP3719596B1 (en) 2017-11-28 2018-10-24 Control device and control method
US16/644,177 US11307553B2 (en) 2017-11-28 2018-10-24 Control device and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017228120A JP2019101480A (ja) 2017-11-28 2017-11-28 制御装置および制御方法

Publications (1)

Publication Number Publication Date
JP2019101480A true JP2019101480A (ja) 2019-06-24

Family

ID=66663933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017228120A Pending JP2019101480A (ja) 2017-11-28 2017-11-28 制御装置および制御方法

Country Status (5)

Country Link
US (1) US11307553B2 (ja)
EP (1) EP3719596B1 (ja)
JP (1) JP2019101480A (ja)
CN (1) CN111052006B (ja)
WO (1) WO2019107022A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021024523A1 (ja) 2019-08-07 2021-02-11 オムロン株式会社 制御装置
KR20220026479A (ko) 2020-08-25 2022-03-04 요코가와 덴키 가부시키가이샤 정보 처리 장치, 정보 처리 시스템, 및 정보 처리 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102256670B1 (ko) * 2019-11-06 2021-05-27 (주)로보티즈 효율적인 통신 버스 중재 시스템 및 방법
US11137794B2 (en) * 2020-01-06 2021-10-05 Woodward, Inc. Systems and methods for synchronization of multiple processors
CN114448293B (zh) * 2022-04-06 2022-07-05 中汽创智科技有限公司 电机同步控制方法、系统、车辆及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003088184A (ja) * 2001-09-12 2003-03-20 Shi Control Systems Ltd 複数軸制御装置及びその軸間同期方法
WO2015128981A1 (ja) * 2014-02-27 2015-09-03 富士電機株式会社 プログラマブルコントローラシステム、そのコントローラ

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0134176B1 (ko) * 1992-04-09 1998-04-27 모리시타 요이찌 무선제어기능이 붙은 주택설비기기
JP3321556B2 (ja) * 1997-12-05 2002-09-03 株式会社日立製作所 縮退制御方法、多重化制御装置
US6647301B1 (en) * 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
EP1301350A4 (en) * 2000-06-30 2005-03-16 Silverbrook Res Pty Ltd MULTIPLE PRESSURE MACHINE CONTROL ARRANGEMENT AND PRINT HEAD DRIVEN BY THIS DIFFERENT PRESSURE MACHINE CONTROL
JP2002016621A (ja) * 2000-06-30 2002-01-18 Haamorinku:Kk 制御・監視信号伝送システム
JP2002108414A (ja) 2000-10-04 2002-04-10 Yaskawa Electric Corp 複数サーボドライブ装置の同期確立方法とその装置
JP3748204B2 (ja) * 2000-11-27 2006-02-22 三菱電機株式会社 周期制御同期システム
JP3941101B2 (ja) * 2002-03-15 2007-07-04 横河電機株式会社 プロセス制御装置
DE10333932A1 (de) * 2003-07-25 2005-02-24 Robert Bosch Gmbh Synchronisation von datenverarbeitenden Einheiten
US7904184B2 (en) 2004-11-23 2011-03-08 Rockwell Automation Technologies, Inc. Motion control timing models
US7983769B2 (en) * 2004-11-23 2011-07-19 Rockwell Automation Technologies, Inc. Time stamped motion control network protocol that enables balanced single cycle timing and utilization of dynamic data structures
US7149606B2 (en) * 2005-03-01 2006-12-12 Fanul Robotics America, Inc. Synchronizing controllers linked by a communications network
JP4261500B2 (ja) * 2005-03-04 2009-04-30 ファナック株式会社 制御システム
CN101132328A (zh) 2007-08-15 2008-02-27 北京航空航天大学 实时工业以太网EtherCAT通信控制器
US8244423B2 (en) * 2008-12-22 2012-08-14 Toyota Jidosha Kabushiki Kaisha Vehicle electronic control system, vehicle electronic control unit, and vehicle control synchronization method
KR101016813B1 (ko) * 2009-05-19 2011-02-21 에스비리모티브 주식회사 배터리 관리 시스템 및 그 구동 방법
EP2434691B1 (en) * 2010-09-28 2014-11-26 Yamaha Corporation Remote control system and communication system
CN102013933B (zh) * 2010-11-12 2013-10-16 石家庄科林电气股份有限公司 智能化电网中同局域分机实现同步采样的方法
CN102508297B (zh) * 2011-10-08 2013-06-26 天津大学 多节点同步采集时间误差的精确测量和校正方法及装置
JP5844016B2 (ja) * 2013-07-19 2016-01-13 三菱電機株式会社 リング状同期ネットワークシステムおよびタイムスレーブ局
TW201600972A (zh) * 2014-06-23 2016-01-01 英業達股份有限公司 伺服器系統
JP2019133205A (ja) * 2016-05-25 2019-08-08 日本電産株式会社 モータ駆動システム、モータ制御システムおよび自走ロボット

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003088184A (ja) * 2001-09-12 2003-03-20 Shi Control Systems Ltd 複数軸制御装置及びその軸間同期方法
WO2015128981A1 (ja) * 2014-02-27 2015-09-03 富士電機株式会社 プログラマブルコントローラシステム、そのコントローラ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021024523A1 (ja) 2019-08-07 2021-02-11 オムロン株式会社 制御装置
KR20220026479A (ko) 2020-08-25 2022-03-04 요코가와 덴키 가부시키가이샤 정보 처리 장치, 정보 처리 시스템, 및 정보 처리 방법

Also Published As

Publication number Publication date
CN111052006A (zh) 2020-04-21
US11307553B2 (en) 2022-04-19
EP3719596A4 (en) 2021-08-25
EP3719596A1 (en) 2020-10-07
US20210063989A1 (en) 2021-03-04
WO2019107022A1 (ja) 2019-06-06
EP3719596B1 (en) 2023-08-02
CN111052006B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
WO2019107022A1 (ja) 制御装置および制御方法
JP4185926B2 (ja) ロボット協調制御方法及びシステム
US7366205B2 (en) Method for synchronizing nodes of a communications system
US10284692B2 (en) Control device and communication device
EP3026515B1 (en) Programmable controller system
JP3748204B2 (ja) 周期制御同期システム
JP4261500B2 (ja) 制御システム
JP2009157913A (ja) 産業用コントローラ
EP3361635B1 (en) Control system and pulse output device
EP3267148B1 (en) Optical measurement apparatus
JP2014106594A (ja) マイコン
US9677920B2 (en) Automation device and method for reducing jitter
JP4487522B2 (ja) モータ駆動装置
JP5748126B2 (ja) 同期制御システム
JP2011083841A (ja) ロボット制御装置、ロボット制御システム及びロボット制御方法
JP6587566B2 (ja) 半導体装置
US6885717B2 (en) Device and method for digitally generating equidistant synchronous frequency-multiplied clock pulses
KR20140014918A (ko) 이더넷 통신 시스템 및 시간 동기화 방법
JPH11305812A (ja) 分散型cpuシステムの同期方法
US11770235B2 (en) Time synchronization of controller
CN112462717A (zh) 一种基于EtherCAT的高精度多轴时钟同步方法
JP2008067487A (ja) モータ駆動装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210226

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210824