[go: up one dir, main page]

JP2010061458A - マシンコントローラシステムおよびマシンコントローラ間同期方法 - Google Patents

マシンコントローラシステムおよびマシンコントローラ間同期方法 Download PDF

Info

Publication number
JP2010061458A
JP2010061458A JP2008227280A JP2008227280A JP2010061458A JP 2010061458 A JP2010061458 A JP 2010061458A JP 2008227280 A JP2008227280 A JP 2008227280A JP 2008227280 A JP2008227280 A JP 2008227280A JP 2010061458 A JP2010061458 A JP 2010061458A
Authority
JP
Japan
Prior art keywords
slave
master
scan
synchronization
cycle
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.)
Granted
Application number
JP2008227280A
Other languages
English (en)
Other versions
JP5067670B2 (ja
JP2010061458A5 (ja
Inventor
Katsunori Akiyoshi
克紀 秋吉
Kazumasa Osawa
和正 大澤
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 JP2008227280A priority Critical patent/JP5067670B2/ja
Publication of JP2010061458A publication Critical patent/JP2010061458A/ja
Publication of JP2010061458A5 publication Critical patent/JP2010061458A5/ja
Application granted granted Critical
Publication of JP5067670B2 publication Critical patent/JP5067670B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】
マスタのマシンコントローラとスレーブのマシンコントローラのスキャン周期を同期させることができる制御システムを提供する。
【解決手段】
1台のマスタコントローラと1台または複数のスレーブコントローラを通信ネットワークで接続し、前記マスタコントローラから前記スレーブコントローラに一定の通信周期で同期フレームを同報送信する。
スレーブコントローラのスキャン周期がマスタコントローラのスキャン周期の整数倍または整数分の1倍であるときに、同期フレームを利用してスレーブコントローラのスキャン周期をマスタコントローラのスキャン周期に同期させる。
【選択図】図3

Description

本発明は、複数台のコントローラの組み合わせによる分散制御をおこなうマシンコントローラ装置に関する。
PLC機能を持つマシンコントローラを使用する機械装置においては、シーケンス制御やモーション制御の高度化・複雑化が進み、一つの装置を機能毎にセクション化し、それぞれにマシンコントローラを配置して、各セクションが強調した動作を行なうという用途が増えている。
このような機械装置のセクション化には、セクション毎に追加・入れ替えをおこない、容易に用途に応じた機械構成に変更するため、という目的もある。
このように、機械装置をセクション化、すなわち分散制御にて構成する場合、装置が十分な性能を発揮するためには、個々のセクション間の同期性が保証されている事が求められる。
従来、このような装置は、分散化されたコントローラが、ネットワーク等の通信手段によりデータや信号の受け渡しを行なうことで実現していた。
あるいは、同じ入力信号を分散化された全てのコントローラ入力し、その信号をトリガとして動作をおこなうことで同期を実現していた。
たとえば、特許文献1(図1、図4、図7)では、1のコントローラと他のコントローラがデータリンクで接続された分散システムが開示されている。
複数のマシンコントローラを通信手段にて接続し、分散制御を行なう場合の構成を図11に示す。図11において、1はプログラム入力装置であり、アプリケーションプログラムS1を作成して出力する。2はマスタコントローラであり、CPUモジュール3と通信モジュール4から構成されている。CPUモジュール3はアプリケーションプログラムS1の処理手順に従い、通信モジュール4との間でバスを通して入出力データS2を授受する。入出力データS2の授受を行うタイミング、及び、アプリケーションプログラムを実行するタイミング、すなわちスキャン周期は、一般にCPUモジュール3に搭載された水晶発振子が発生するクロックを基にして作成される。
通信モジュール4は、スレーブコントローラ51〜5Nとの間で通信データS3を定周期の通信周期で送受信する。
スレーブコントローラ51〜5Nもマスタコントローラ2と同様、プログラム入力装置1にて作成したアプリケーションプログラムが格納されている。スレーブコントローラ51〜5Nに接続されるプログラム入力装置1を破線で示しているのは、必要に応じて接続されることを意味する。
図11において、マスタコントローラ2からの指令データは、スレーブコントローラ51〜5Nに送信される。スレーブコントローラ51〜5Nは、受信した指令データを、アプリケーションプログラムの処理手順に従い、処理を実行し、実行した結果を応答データとしてマスタコントローラ2に返信する。
マスタコントローラ2は、スレーブコントローラ51〜5Nの応答データより、アプリケーションプログラムの歩進を管理する。
なお、図12にスレーブコントローラ51〜5Nのブロック図を示すが、独自のスレーブ基準周期発生回路16sとその出力であるスレーブ基準周期信号S14sを基にスレーブスキャン周期信号S15sを発生するスレーブスキャン周期発生回路17sを有している。スレーブコントローラ51〜5Nは、スレーブスキャン周期発生回路17sが発生させるスレーブスキャン周期信号S15sに基づいてスキャン動作を実行する。
このような構成の制御システムでは、マスタスキャン周期(マスタコントローラ2のスキャン周期)と各スレーブスキャン周期(スレーブコントローラ51〜5Nのスキャン周期)は、特許文献1の場合と同様、同期していない。
また、マスタコントローラ2と各スレーブコントローラが備える水晶発振子には、固体差があるため、例え同じスキャン周期を設定しても、そのスキャン周期に微少なずれが生じる。このスキャン周期のずれが蓄積すると、各コントローラの動作タイミングのずれが生じる。
そのため、マスタコントローラ2からの指令データがスレーブコントローラ51〜5Nに伝わるタイミングがずれたり、アプリケーションによる動作開始タイミングがずれるなど、セクション間の同期性能が求められる用途においては問題があった。
また、各スレーブコントローラに接続されている機器によって、スキャン周期を変えたいという要求もあった。たとえば、高速性が要求されるサーボ機器を制御する場合はスキャン周期を短くし汎用のI/O機器との入出力はスキャン周期を長くするなどである。
I/Oの入力信号で同期をおこなう構成をとった場合も、各コントローラのスキャン周期の微小なずれの蓄積により、入力信号を取り込むタイミングにずれが生じるため、セクション間の同期性能が求められる用途においては問題があった。
特開2000−4243(図1、図4、図7)
本発明は、このような問題や要求に対応するために、スレーブコントローラのスキャン周期をマスタコントローラのスキャン周期に同期させることができ、さらには、スレーブコントローラのスキャン周期をマスタコントローラのスキャン周期の整数倍または1/整数倍に設定することができるマシンコントローラシステムを提供することを目的としている。
請求項1に記載の発明は、1台のマスタコントローラと1台または複数台のスレーブコントローラが通信ネットワークで接続されたマシンコントローラシステムにおいて、
前記マスタコントローラはマスタ基準周期を発生させるマスタ基準周期発生回路と、前記マスタ基準周期を計数してマスタスキャン周期を発生させるマスタスキャン周期発生回路と、前記マスタ基準周期を計数してマスタスキャン周期の整数倍または整数分の1倍の通信周期を発生させる通信周期発生回路と、前記通信周期に基いて前記スレーブコントローラと通信するデータ送受信回路とを備え、
前記スレーブコントローラはスレーブ基準周期を発生させるスレーブ基準周期発生回路と、前記スレーブ基準周期を計数して前記通信周期の整数倍または整数分の1倍のスレーブスキャン周期を発生させるスレーブスキャン周期発生回路と、前記マスタコントローラと前記通信周期で通信するデータ送受信回路と、前記スレーブスキャン周期が前記マスタスキャン周期の整数倍または整数分の1倍であるときに前記スレーブスキャン周期を前記マスタスキャン周期に同期させるためのリセット信号と初回フラグを生成する同期許可部とを備えることを特徴とするものである。
請求項2に記載の発明は、請求項1に記載の発明において、前記マスタコントローラのデータ送受信回路が、前記通信周期毎に、前記スレーブコントローラに対して同期フレームを同報送信し、前記スレーブコントローラのデータ送受信回路は前記同期フレームを受信する毎に同期フレーム信号を生成することを特徴とするものである。
請求項3に記載の発明は、請求項2に記載の発明において、前記リセット信号は、前記スレーブスキャン周期を前記マスタスキャン周期に同期させるための同期許可信号が前記同期許可部に書き込まれた後、前記同期許可部に前記同期フレーム信号が入力される毎に生成されるものであり、前記初回フラグは、前記同期許可信号が前記同期許可部に書き込まれた後、前記同期許可部に最初に前記同期フレーム信号が入力されたときに生成されるものであることを特徴とするものである。
請求項4に記載の発明は、請求項3に記載の発明において、前記スレーブ基準周期が、前記リセット信号によってリセットされ、その最初のリセット時に生成されるエッジ信号が前記初回フラグによって遮断されることを特徴とするものである。
請求項5に記載の発明は、請求項3に記載の発明において、前記スレーブスキャン周期は、最初の前記リセット信号によってリセットされ、そのリセット時に生成されるエッジ信号は前記初回フラグによって遮断されることを特徴とするものである。
請求項6に記載の発明は、1台のマスタコントローラと1台または複数台のスレーブコントローラが通信ネットワークで接続されて一定の通信周期で通信するマシンコントローラシステムの同期方法において、
前記マスタコントローラがマスタスキャン周期を前記スレーブコントローラに送信し、
前記スレーブコントローラは同期可否を判断した結果を前記マスタコントローラに返信し、
前記マスタコントローラは前記スレーブコントローラが同期可能であること返信した場合に同期開始要求および前記マスタスキャン周期を前記通信周期で計数したスキャンカウンタ値を前記スレーブコントローラに送信し、
前記スレーブコントローラは前記同期開始要求および前記スキャンカウンタ値を受信したとき同期化処理を行いその同期化処理が完了したら前記マスタコントローラへ同期完了を送信することを特徴とするものである。
請求項7に記載の発明は、請求項6に記載の発明において、前記同期可否判断は、前記通信周期が前記マスタスキャン周期の整数倍または整数分の1倍、前記スレーブスキャン周期が前記通信周期の整数倍または整数分の1倍および前記前記スレーブスキャン周期がマスタスキャン周期の整数倍または整数分の1倍という条件のいずれもが成立する場合に同期可能と判断するものであることを特徴とするものである。
請求項8に記載の発明は、請求項7に記載の発明において、前記同期化処理は、前記マスタコントローラから送信される前記スキャンカウンタ値を監視してマスタスキャン開始タイミングを検出した後、前記通信周期毎に前記スレーブ基準周期をリセットしその最初のリセット時に生成されるエッジ信号を遮断し、
前記スレーブスキャン周期を最初のリセット信号でのみリセットしその時に生成されるエッジ信号を遮断することによって行われることを特徴とするものである。
請求項9に記載の発明は、請求項8に記載の発明において、前記マスタスキャン開始タイミングの検出は、前記スキャンカウンタ値があらかじめ設定された値と等しいか否かを判断することによって行うものであることを特徴とするものである。
本発明によれば、スレーブコントローラのスキャン周期がマスタコントローラのスキャン周期の整数倍または整数分の1倍であれば、スレーブコントローラのスキャン周期をマスタコントローラのスキャン周期に同期させることが可能である。
また、スレーブコントローラ毎に異なったスキャン周期を設定することができるので、各スレーブコントローラでは実際に求められる制御性能に見合ったCPUを使用することができる。従って、必要以上に高性能のCPUを使うことがなく経済的でもある。
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
この図1に示す実施形態は、マスタコントローラ2と、複数のスレーブコントローラを高速シリアル通信で接続し、スキャン周期の同期を行なうものである。なお、図1は、スター接続を想定して記載してあるが、高速シリアル通信のトポロジーはスター接続に限ったものではない。
図1は、本発明の制御システムの一実施形態であり、従来の図11と概要は同じであるが、各スレーブコントローラ51〜5Nの構成(図3)が従来のスレーブコントローラ(図12)と相違しており、これについては後述する。
図2は、本発明の方法を適用するマスタコントローラ2の構成を示すブロック図であるが、スレーブコントローラと同じ構成要素には同じ符号を付してマスタコントローラを意味する‘m’を添えている。
図2において、3はCPUモジュールであり、プログラマブルコントローラとしての機能を有している。CPUモジュール3は、外部の信号を取り込むための入力部10mと、外部へ信号を出力するための出力部11m、データメモリ部12m、ユーザプログラムを記憶しているプログラムメモリ部14m、前記プログラムメモリ部に格納された制御プログラムに従って演算するCPU13mから構成される。CPU13mは水晶発振子15mが発生するクロック信号に基づいて動作する。
16mはマスタ基準周期発生回路であり、CPU13mに入力される水晶発振子の出力クロックを基にしてマスタ基準周期信号S14mを出力するが、その周期はあらかじめ設定されている。17mはマスタスキャン周期発生回路であり、マスタ基準周期信号S14mを計数しその任意の整数倍であって定周期のマスタスキャン周期信号S15mを出力するが、その周期はあらかじめ設定されている。このマスタスキャン周期信号S15mの周期に基づいてCPU13mは、プログラマブルコントローラの入力、出力と演算を実行する。なお、マスタ基準周期信号S14m、マスタスキャン周期信号S15mは共にバスを通じて通信モジュール4にも出力される。
4は通信モジュールであり、CPUモジュール3がセットしたデータを自モジュール内に格納するためのメモリ25と、共有メモリ20、水晶発振子24のクロックに基づいて動作するCPU21、スレーブコントローラ51〜5Nと通信データS3を送受信するマスタデータ送受信回路22m、マスタ基準周期信号S14mを計数しその任意の整数倍であって定周期の通信周期信号S13を発生する通信周期発生回路23とから構成される。通信周期信号S13の周期はあらかじめ設定されている。
この構成において、マスタデータ送受信回路22mは、マスタ基準周期信号S14mを分周した通信周期信号S13に基づいて動作するので、マスタ基準周期信号S14mに同期し、かつ該周期の整数倍の通信周期でデータ送受信を行うことができる。この通信周期信号S13はCPU21にも入力される。
また、通信周期発生回路23にマスタスキャン周期信号S15mが入力されることで、スキャン周期毎に通信周期発生回路の分周回路計数値がリセットされることにより、スキャン周期と通信周期が同期することになる。なお、マスタスキャン周期信号S15mは、基準周期信号S14mを計数して作られているため、そのままでは通信周期発生回路23での通信周期信号S13の出力と通信周期発生回路23のリセットが、ほぼ同タイミングで行なわれることになる。これを回避するため、通信周期発生回路23のリセットは、通信周期発生回路23が通信周期信号S13をマスタデータ送受信回路22mに出力した後に行なわれるように、マスタスキャン周期信号S15m入力タイミングをハードウェアにて調整している。
図3は、本発明の方法を適用するスレーブコントローラ51〜5Nの構成を示すブロック図であり、図2と同じ部分には同じ名称と同じ番号を付し、番号には図2の番号と区別するためにスレーブを意味する‘s’を添えている。
スレーブコントローラ51〜5Nは、水晶発振子15sで発生されるクロック信号に基づいて動作する。そのクロックを基にスレーブ基準周期発生回路16sでスレーブ基準周期信号S14sが発生されるが、その周期はあらかじめ設定されている。なお、スレーブ基準周期は、マスタ基準周期と等しい値である。
スレーブ基準周期信号S14sはスレーブスキャン周期発生回路17sで計数されてスレーブスキャン周期信号S15sが発生されるが、その周期はあらかじめ設定されている。これは、マスタコントローラ2の場合と同様である。
スレーブデータ送受信回路22sはマスタコントローラ2から通信周期毎に同期フレームを受信すると、同期フレーム信号S16を出力する。同期フレーム信号S16は、通信周期の開始を知らせるためにCPU13sに入力される点は従来と同じである。
従来と異なる点は、同期許可部18を介してスレーブ基準周期発生回路16sおよびスレーブスキャン周期発生回路17sに入力される点である。
また、同期許可部18によって生成される、同期許可後の初回の同期フレーム信号であることを示す初回フラグS20が、スレーブ基準周期発生回路16sおよびスレーブスキャン周期発生回路17sに入力される点である。
同期許可部18、スレーブ基準周期発生回路16s、スレーブスキャン周期発生回路17sの詳細について、図13を用いて説明する。
同期許可部18は、レジスタ、ANDゲート、エッジ検出部および初回フラグ生成部から構成されている。スレーブコントローラ5が同期フレーム信号S16と非同期で(マスタコントローラ2と非同期で)動作しているとき、CPU13sは、同期許可信号として‘0’をレジスタに書き込んでおり、同期フレーム信号S16は遮断される。
スレーブコントローラ5が同期フレーム信号S16と同期して(マスタコントローラ2と同期して)動作するために、CPU13sが同期許可信号として‘1’をレジスタに書き込んだとき、同期フレーム信号S16がエッジ検出部に入力され、そのエッジ信号S19が生成される。
また、エッジ信号S19は初回フラグ生成部に入力され、同期許可信号‘1’がレジスタに書き込まれた後最初に同期フレーム信号S16が入力されたことを示す初回フラグS20が生成される。
次に、エッジ信号S19、初回フラグS20を利用して、スレーブ基準周期信号S14s、スレーブスキャン周期信号S15sが同期フレームS16に同期するしくみについて説明する。
スレーブ基準周期発生回路16sは、水晶発信子15sから出力されるクロックをアップカウンタAにて計数して、その計数値があらかじめ設定された値になる毎にスレーブ基準周期信号S14sを出力する。
ここで、エッジ信号S19が入力されるとアップカウンタAはリセットされ、そのタイミングでスレーブ基準周期信号S14sが出力されるようになり、同期フレーム信号S16とスレーブ基準周期信号S14sは同期することになる。
ただし、初回フラグがセットされたタイミングでは、スレーブ基準周期信号S14sは遮断される。スレーブ基準周期信号S14sを計数して生成されるスレーブスキャン周期信号15sの周期があらかじめ設定された周期より短くなって、定周期のスキャン処理が実行できなくなることを避けるためである。
スレーブスキャン周期発生回路17sは、スレーブ基準周期信号をアップカウンタBで計数し、あらかじめ設定された計数値毎にスレーブスキャン周期信号S15sを生成する。アップカウンタBは、初回フラグが設定されたタイミングでのみリセットされる。また、そのタイミングでは、スレーブスキャン周期信号S15sは遮断される。スレーブスキャン周期信号S15sの周期があらかじめ設定された周期より短くなって、定周期のスキャン処理が実行できなくなることを避けるためである。
図4は、マスタスキャン周期とスレーブスキャン周期の同期化の処理における、マスタコントローラとスレーブコントローラ間のフレームフローの概要であるが、簡単のためスレーブコントローラは1つのみ示している。
まず、マスタコントローラ2は、スレーブコントローラ51〜5Nへの送信データに自局のマスタスキャン周期を格納して送信する。
スレーブコントローラ51〜5Nは、受信データ内のマスタスキャン周期と、自局のスレーブスキャン周期、及び、通信周期とを比較し、以下の条件を全て満足するか否かを判断する。
1)マスタスキャン周期と通信周期が整数倍又は整数分の1の関係か?
2)スレーブスキャン周期と通信周期が整数倍又は整数分の1の関係か?
3)マスタスキャン周期とスレーブスキャン周期が整数倍又は整数分の1の関係か?
上記全ての条件を満足していた場合、マスタコントローラ2への応答データに、同期可能であることを示すステータス(以下、SYNCRDYと呼ぶ)を格納する。
マスタコントローラ2は、スレーブコントローラ51〜5Nからの受信データにSYNCRDYがセットされていた場合、スレーブコントローラ51〜5Nへの送信データ内に、同期開始要求をセットすると共に、マスタスキャン周期を通信周期で計数したスキャンカウンタ値を格納する。
ここで、スキャンカウンタとは、CPU21が実行するソフトウエア(図示せず)によって処理されるものであって、スキャン周期内の通信周期を計数するものである。
スキャンカウンタでの通信周期の計数例を図5に示す。
この例では、マスタスキャン周期は基準周期の8倍、通信周期は基準周期の2倍であり、従って、マスタスキャン周期は通信周期の4倍である。
図5において、マスタスキャン周期、および、通信周期の網掛け部は、ソフトウェア処理を示している。また、通信周期の処理が、マスタスキャン周期の処理より優先的に処理されるよう設定されている。
スキャンカウンタの初期値は、マスタスキャン周期がいくつの通信周期から構成されるかを示す0を含む正の整数値であり、次の式で計算される。

スキャンカウンタ初期値=マスタスキャン周期÷通信周期−1
(ただし計算結果が負値の場合、スキャンカウンタ初期値=0とする。)

マスタスキャン周期発生回路17mからのマスタスキャン周期信号S15mによる割り込みで、マスタスキャン周期のソフトウェア処理が実行されると、スキャンカウンタには初期値が再設定される。(図5では、初期値=3である。)
そして、通信周期信号S13による割り込みで、通信周期のソフトウェア処理が実行される毎にディクリメントされる。(図5では、3→2→1→0と変化する。)なお、ディクリメントのタイミングは、スレーブコントローラへのデータ送信が完了した後であり、スキャンカウンタ値が0の場合はディクリメントをおこなわない。
ここで、マスタスキャン周期のソフトウェア処理によるスキャンカウンタへの初期値設定は、通信周期のソフトウェア処理タイミングの影響を受けないよう、ソフトウェア処理開始直後におこなうようにスケジューリングされている。
スレーブコントローラ51〜5NのCPU13sで実行されるソフトウエア(図示せず)は、同期開始要求を受信すると、受信データに格納されているマスタコントローラのスキャンカウンタ値を監視し、マスタコントローラのスキャン開始タイミングを待つ。
図6は、スレーブコントローラ5でのスキャンカウンタ受信の例である。マスタスキャン周期、および、通信周期の設定は図5と同じである。
図6において、マスタコントローラ2から送信されたスキャンカウンタ値は、伝送遅れにより、1通信周期遅れてスレーブコントローラ5にて受信される。したがって、スレーブコントローラ5が受信したスキャンカウンタ値=1の時、マスタコントローラ2のスキャン開始タイミングと一致していると判断できる。
このように、スレーブコントローラ5は受信したスキャンカウンタ値により、マスタコントローラ2のスキャン開始タイミングを判断するのであるが、この判断は次のようにしておこなう。

(1)マスタスキャン周期÷通信周期≧2の場合
スキャンカウンタ値=1でスキャン開始タイミングと一致

(2)マスタスキャン周期÷通信周期<2の場合
常時スキャン開始タイミングと一致
スレーブコントローラ5のCPU13sはマスタコントローラ2のスキャン開始タイミングを検出すると、同期許可部18に対して、同期許可信号S16として‘1’を書き込む。その後、段落0026〜0028で述べたような手順で、同期フレーム信号S16とスレーブ基準周期信号S14sおよびスレーブスキャン周期信号S15sとの同期が確立される。
このようにして、同期フレーム信号S16とスレーブスキャン周期信号S15sの同期を確立できたら、スレーブコントローラ51〜5Nは、マスタコントローラ2への応答データに同期完了を示すステータス(以下、SYNC)をセットする。
マスタコントローラ2は、スレーブコントローラ51〜5Nからの受信データにSYNCがセットされていた場合、同期開始要求をクリアし、同期化の処理を終了する。このようにして、マスタスキャン周期とスレーブスキャン周期の同期が確立される。
次に、マスタスキャン周期とスレーブスキャン周期の同期化の具体的な事例について説明する。
図7は、本発明により、マスタスキャン周期とスレーブスキャン周期が同期化する際のタイミングチャートであるが、簡単のため、スレーブコントローラは1つのみ記載している。
この例では、マスタスキャン周期は基準周期の4倍、通信周期は基準周期の2倍であり、したがって、マスタスキャン周期は通信周期の2倍である。
非同期状態では、マスタコントローラ2とスレーブコントローラ51〜5Nのスキャン周期は同期しておらず、また、水晶発振子15mと水晶発振子15sの個体差により、両者のタイミングは徐々にずれていく。
スレーブコントローラ51〜5Nは、マスタコントローラ2と同期可能と判断した場合に、SYNCRDYをセットし、マスタコントローラ2からの同期開始要求を待つ。
マスタコントローラ2は、スキャン周期に同期した通信周期毎に、スキャンカウンタ値を、スレーブコントローラ51〜5Nに対し送信する。
図7において、スキャンカウンタが0→1→0と変化しているのは、マスタスキャン周期発生回路17mからのマスタスキャン周期信号S15mでリセットされて初期値1が設定され、通信周期発生回路23からの通信周期信号S13が入力される度にディクリメントされ、0になった直後にマスタスキャン周期信号S15mが入力されてリセットされて初期値1が再設定されていることを示している。
スレーブコントローラ51〜5Nは、同期開始要求を受信後、マスタコントローラ2より送信されるスキャンカウンタ値を監視し、スキャンカウンタ値が1、すなわち、今回の通信周期がマスタスキャン周期の開始タイミングのものであると判断できたときに、同期許可信号S17として‘1’を同期許可部18へ出力する。その後の、同期フレーム信号S16とスレーブ基準周期信号S14sおよびスレーブスキャン周期信号S15sとの同期の手順は段落0026〜0028で述べた通りである。
この同期においては、同期フレーム信号S16がスレーブ基準周期発生回路16sへ最初に入力されたタイミングが基準周期の先頭となるため、このタイミングでの基準周期は、基準周期+αとなる。なお、αは1基準周期以内の変動量である。
さらに、スキャン周期信号の同期も同時に行なわれるが、このタイミングでのスキャン周期は、基準周期の場合と同様にしてスキャン周期+βとなる。なお、βは1スレーブスキャン周期以内の変動量である。
これ以降、同期フレーム信号S16による基準周期のリセットは、通信周期毎に継続して行なわれ、両者の同期状態が保持される。同期フレーム信号S16は、マスタコントローラ2のスキャン周期であるマスタスキャン周期と同期しており、スレーブコントローラ51〜5Nのスレーブスキャン周期は、マスタスキャン周期と同期することになる。
図7においては、マスタスキャン周期とスレーブスキャン周期が同じ長さの場合の例を示したが、マスタスキャン周期がスレーブスキャン周期の整数倍または整数分の1倍となるように構成することも容易である。スレーブスキャン周期発生回路17sがマスタスキャン周期の整数倍または整数分の1倍の周期のスレーブスキャン周期信号S15sを発生するように、あらかじめ設定しておけばすむからである。
図8は、マスタスキャン周期が通信周期の4分の1倍の例である。スレーブスキャン周期は、通信周期の1倍としており、マスタスキャン周期はスレーブスキャン周期の4分の1倍である。
この場合、スキャンカウンタ初期値=0であり、スキャンカウンタ値は常に0となる。したがって、スレーブコントローラ側は、どのタイミングであってもマスタスキャン周期と一致するタイミングと判断できる。
図9は、マスタスキャン周期が通信周期の2倍、スレーブスキャン周期が通信周期の4分の1倍の例である。マスタスキャン周期は、スレーブスキャン周期の8倍となる。
この場合、スキャンカウンタ初期値=1であり、図7の場合と同様、スキャンカウンタ値は0→1→0と変化する。マスタスキャン周期と一致するタイミングの判断、および、同期化処理も、図7と同様である。
図10は、マスタスキャン周期が通信周期の16倍、スレーブスキャン周期が通信周期の8倍の例である。マスタスキャン周期は、スレーブスキャン周期の2倍となる。
この場合、スキャンカウンタ初期値=15であり、スキャンカウンタ値は0→15→14→・・・→1→0と変化する。このような設定であっても、マスタスキャン周期と一致するタイミングの判断、および、同期化処理は、図7と同様におこなうことができる。
また、図7においては、スレーブスキャン周期発生回路17sのリセットは、同期許可信号S17が‘1’に設定された後、次の同期フレーム信号S16で行う例を示した。このスレーブスキャン周期発生回路17sのリセットは、同期許可信号S17が‘1’に設定された後、次の同期フレーム信号S16が入力された後さらにスレーブ基準周期信号S14sが所望の個数だけ入力された時に行うように、スキャン周期発生回路17sを構成することも可能である。
以上述べたように本発明によれば、ネットワークで接続されたマスタコントローラ2とスレーブコントローラ51〜5Nのスキャン周期の同期をとることができる。そして、スレーブスキャン周期をマスタスキャン周期の整数倍または整数分の1倍に設定し、スレーブスキャン周期の位相をマスタスキャン周期の位相から、通信周期の整数倍または基準周期の整数倍だけ遅れさせることが可能である。
本発明の方法を適用するマシンコントローラシステム 本発明の方法を適用するマスタコントローラのブロック図 本発明の方法を適用するスレーブコントローラのブロック図 本発明の同期化の処理を示すフレームフロー図 スキャンカウンタの変化の様子を示す図 スキャンカウンタがスレーブコントローラに伝わる様子を示す図 本発明の同期処理時のタイミングを示す図(1) 本発明の同期処理時のタイミングを示す図(2) 本発明の同期処理時のタイミングを示す図(3) 本発明の同期処理時のタイミングを示す図(4) 従来の分散型のマシンコントローラシステム 従来のスレーブコントローラのブロック図 本発明のスレーブコントローラの同期許可部、基準周期発生回路、スキャン周期発生回路の詳細
符号の説明
1 プログラム入力装置
2 マスタコントローラ
3 CPUモジュール
4 通信モジュール
5 スレーブコントローラ
10m、10s 入力部
11m、11s 出力部
12m、12s データメモリ部
13m、13s、21 CPU
14m、14s プログラムメモリ部
15m、15s、24 水晶発振子
16m マスタ基準周期発生回路
16s スレーブ基準周期発生回路
17m マスタスキャン周期発生回路
17s スレーブスキャン周期発生回路
20 共有メモリ
22m マスタデータ送受信回路
22s スレーブデータ送受信回路
23 通信周期発生回路
25 メモリ
S1 アプリケーションプログラム
S2 入出力データ
S3 通信データ
S13 通信周期信号
S14m マスタ基準周期信号
S14s スレーブ基準周期信号
S15m マスタスキャン周期信号
S15s スレーブスキャン周期信号
S16 同期フレーム信号
S17 同期許可信号
S19 エッジ信号
S20 初回フラグ

Claims (9)

  1. 1台のマスタコントローラと1台または複数台のスレーブコントローラが通信ネットワークで接続されたマシンコントローラシステムにおいて、
    前記マスタコントローラはマスタ基準周期を発生させるマスタ基準周期発生回路と、前記マスタ基準周期を計数してマスタスキャン周期を発生させるマスタスキャン周期発生回路と、前記マスタ基準周期を計数してマスタスキャン周期の整数倍または整数分の1倍の通信周期を発生させる通信周期発生回路と、前記通信周期に基いて前記スレーブコントローラと通信するデータ送受信回路とを備え、
    前記スレーブコントローラはスレーブ基準周期を発生させるスレーブ基準周期発生回路と、前記スレーブ基準周期を計数して前記通信周期の整数倍または整数分の1倍のスレーブスキャン周期を発生させるスレーブスキャン周期発生回路と、前記マスタコントローラと前記通信周期で通信するデータ送受信回路と、前記スレーブスキャン周期が前記マスタスキャン周期の整数倍または整数分の1倍であるときに前記スレーブスキャン周期を前記マスタスキャン周期に同期させるためのリセット信号と初回フラグを生成する同期許可部とを備えることを特徴とするマシンコントローラシステム。
  2. 前記マスタコントローラのデータ送受信回路は、前記通信周期毎に、前記スレーブコントローラに対して同期フレームを同報送信し、前記スレーブコントローラのデータ送受信回路は前記同期フレームを受信する毎に同期フレーム信号を生成することを特徴とする請求項1に記載のマシンコントローラシステム。
  3. 前記リセット信号は、前記スレーブスキャン周期を前記マスタスキャン周期に同期させるための同期許可信号が前記同期許可部に書き込まれた後、前記同期許可部に前記同期フレーム信号が入力される毎に生成されるものであり、前記初回フラグは、前記同期許可信号が前記同期許可部に書き込まれた後、前記同期許可部に最初に前記同期フレーム信号が入力されたときに生成されるものであることを特徴とする請求項2に記載のマシンコントローラシステム。
  4. 前記スレーブ基準周期は、前記リセット信号によってリセットされ、その最初のリセット時に生成されるエッジ信号は前記初回フラグによって遮断されることを特徴とする請求項3に記載のマシンコントローラシステム。
  5. 前記スレーブスキャン周期は、最初の前記リセット信号によってリセットされ、そのリセット時に生成されるエッジ信号は前記初回フラグによって遮断されることを特徴とする請求項3に記載のマシンコントローラシステム。
  6. 1台のマスタコントローラと1台または複数台のスレーブコントローラが通信ネットワークで接続されて一定の通信周期で通信するマシンコントローラシステムの同期方法において、
    前記マスタコントローラがマスタスキャン周期を前記スレーブコントローラに送信し、
    前記スレーブコントローラは同期可否を判断した結果を前記マスタコントローラに返信し、
    前記マスタコントローラは前記スレーブコントローラが同期可能であること返信した場合に同期開始要求および前記マスタスキャン周期を前記通信周期で計数したスキャンカウンタ値を前記スレーブコントローラに送信し、
    前記スレーブコントローラは前記同期開始要求および前記スキャンカウンタ値を受信したとき同期化処理を行いその同期化処理が完了したら前記マスタコントローラへ同期完了を送信することを特徴とするマシンコントローラシステムの同期方法。
  7. 前記同期可否判断は、前記通信周期が前記マスタスキャン周期の整数倍または整数分の1倍、前記スレーブスキャン周期が前記通信周期の整数倍または整数分の1倍および前記前記スレーブスキャン周期がマスタスキャン周期の整数倍または整数分の1倍という条件のいずれもが成立する場合に同期可能と判断するものであることを特徴とする請求項6に記載のマシンコントローラシステムの同期方法。
  8. 前記同期化処理は、前記マスタコントローラから送信される前記スキャンカウンタ値を監視してマスタスキャン開始タイミングを検出した後、前記通信周期毎に前記スレーブ基準周期をリセットしその最初のリセット時に生成されるエッジ信号を遮断し、
    前記スレーブスキャン周期を最初のリセット信号でのみリセットしその時に生成されるエッジ信号を遮断することによって行われることを特徴とする請求項7に記載のマシンコントローラシステムの同期方法。
  9. 前記マスタスキャン開始タイミングの検出は、前記スキャンカウンタ値があらかじめ設定された値と等しいか否かを判断することによって行うものであることを特徴とする請求項8に記載のマシンコントローラシステムの同期方法。
JP2008227280A 2008-09-04 2008-09-04 マシンコントローラシステム Active JP5067670B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008227280A JP5067670B2 (ja) 2008-09-04 2008-09-04 マシンコントローラシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008227280A JP5067670B2 (ja) 2008-09-04 2008-09-04 マシンコントローラシステム

Publications (3)

Publication Number Publication Date
JP2010061458A true JP2010061458A (ja) 2010-03-18
JP2010061458A5 JP2010061458A5 (ja) 2011-07-07
JP5067670B2 JP5067670B2 (ja) 2012-11-07

Family

ID=42188180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008227280A Active JP5067670B2 (ja) 2008-09-04 2008-09-04 マシンコントローラシステム

Country Status (1)

Country Link
JP (1) JP5067670B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011123688A (ja) * 2009-12-11 2011-06-23 Fuji Electric Systems Co Ltd 同期プログラマブルコントローラ、同期プログラマブルコントローラシステム
WO2014080457A1 (ja) * 2012-11-20 2014-05-30 株式会社安川電機 プログラマブルコントローラ
WO2015071991A1 (ja) * 2013-11-14 2015-05-21 富士機械製造株式会社 サーボコントローラ
CN111600276A (zh) * 2019-02-21 2020-08-28 瑞萨电子美国有限公司 多相数字降压控制器的自动上电复位检测与恢复
JP2022131326A (ja) * 2021-02-26 2022-09-07 株式会社安川電機 コントローラ、機器制御システム、時刻同期方法、および時刻同期プログラム
CN115173984A (zh) * 2022-07-04 2022-10-11 长沙行深智能科技有限公司 一种多控制器同步方法、装置、计算机设备和存储介质
US12120211B2 (en) 2021-02-26 2024-10-15 Kabushiki Kaisha Yaskawa Denki Time synchronization of local device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000004243A (ja) * 1998-06-15 2000-01-07 Mitsubishi Electric Corp プログラマブルコントローラのデータ通信方法およびプログラマブルコントローラ
JP2000112519A (ja) * 1998-10-02 2000-04-21 Toshiba Corp 分散型プロセス入出力装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000004243A (ja) * 1998-06-15 2000-01-07 Mitsubishi Electric Corp プログラマブルコントローラのデータ通信方法およびプログラマブルコントローラ
JP2000112519A (ja) * 1998-10-02 2000-04-21 Toshiba Corp 分散型プロセス入出力装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011123688A (ja) * 2009-12-11 2011-06-23 Fuji Electric Systems Co Ltd 同期プログラマブルコントローラ、同期プログラマブルコントローラシステム
US10768601B2 (en) 2012-11-20 2020-09-08 Kabushiki Kaisha Yaskawa Denki Programmable controller
JP6015768B2 (ja) * 2012-11-20 2016-10-26 株式会社安川電機 プログラマブルコントローラ
WO2014080457A1 (ja) * 2012-11-20 2014-05-30 株式会社安川電機 プログラマブルコントローラ
WO2015071991A1 (ja) * 2013-11-14 2015-05-21 富士機械製造株式会社 サーボコントローラ
JPWO2015071991A1 (ja) * 2013-11-14 2017-03-09 富士機械製造株式会社 サーボコントローラ
CN111600276A (zh) * 2019-02-21 2020-08-28 瑞萨电子美国有限公司 多相数字降压控制器的自动上电复位检测与恢复
CN111600276B (zh) * 2019-02-21 2024-04-16 瑞萨电子美国有限公司 多相数字降压控制器的自动上电复位检测与恢复
JP2022131326A (ja) * 2021-02-26 2022-09-07 株式会社安川電機 コントローラ、機器制御システム、時刻同期方法、および時刻同期プログラム
JP7248044B2 (ja) 2021-02-26 2023-03-29 株式会社安川電機 コントローラ、機器制御システム、時刻同期方法、および時刻同期プログラム
US11770235B2 (en) 2021-02-26 2023-09-26 Kabushiki Kaisha Yaskawa Denki Time synchronization of controller
US12120211B2 (en) 2021-02-26 2024-10-15 Kabushiki Kaisha Yaskawa Denki Time synchronization of local device
CN115173984A (zh) * 2022-07-04 2022-10-11 长沙行深智能科技有限公司 一种多控制器同步方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
JP5067670B2 (ja) 2012-11-07

Similar Documents

Publication Publication Date Title
JP5067670B2 (ja) マシンコントローラシステム
JP5080448B2 (ja) 2つのバスシステムを同期する方法および装置、並びに2つのバスシステムから成る構成
US10284692B2 (en) Control device and communication device
JP3748204B2 (ja) 周期制御同期システム
KR101044521B1 (ko) 네트워크에 연결된 슬레이브 장치들의 동기 제어장치
WO2015128981A1 (ja) プログラマブルコントローラシステム、そのコントローラ
JP5825446B2 (ja) 信号同期システム、ノード同期システム、信号同期方法、及び、ノード同期方法
US8281177B2 (en) Distributed control system
WO2019107022A1 (ja) 制御装置および制御方法
US9081371B2 (en) Method for synchronizing an operating clock with a time clock of an automation network
CN107402534B (zh) 调节方法、EtherCAT主站及计算机可读存储介质
JP6000503B1 (ja) ネットワークシステム、タイムマスタ局、及びタイムスレーブ局
JP6423971B2 (ja) 機能ユニット及び制御装置
JP2006244264A (ja) 制御システム
US9677920B2 (en) Automation device and method for reducing jitter
WO2022185589A1 (ja) 情報処理装置、方法およびプログラム
JP4961589B2 (ja) ネットワークシステムおよびスレーブ同期方法
JP2006350768A (ja) モーションコントロールシステム
JP2006048284A (ja) プログラマブルコントローラ装置およびオプションモジュールとの同期方法
JP6608019B2 (ja) 機能ユニット及び制御装置
JP2014157386A (ja) データ処理システム
JPH09219714A (ja) 伝送制御システム
JP2006079480A (ja) モジュール型のプログラマブルコントローラの同期方法およびプログラマブルコントローラ
JP2004102791A (ja) プログラマブルコントローラの同期方式
JP2004086431A (ja) オプションモジュール間同期可能なプログラマブルコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120720

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120802

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5067670

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150