[go: up one dir, main page]

JP2010198600A - 産業用コントローラ - Google Patents

産業用コントローラ Download PDF

Info

Publication number
JP2010198600A
JP2010198600A JP2009272439A JP2009272439A JP2010198600A JP 2010198600 A JP2010198600 A JP 2010198600A JP 2009272439 A JP2009272439 A JP 2009272439A JP 2009272439 A JP2009272439 A JP 2009272439A JP 2010198600 A JP2010198600 A JP 2010198600A
Authority
JP
Japan
Prior art keywords
synchronization
data
unit
synchronous
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.)
Pending
Application number
JP2009272439A
Other languages
English (en)
Inventor
Toshiro Izumi
俊郎 和泉
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 JP2009272439A priority Critical patent/JP2010198600A/ja
Priority to CN2010101037611A priority patent/CN101794131B/zh
Priority to EP10151659.9A priority patent/EP2221686A3/en
Priority to US12/695,745 priority patent/US20100199002A1/en
Publication of JP2010198600A publication Critical patent/JP2010198600A/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
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13063Synchronization between modules
    • 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/13Plc programming
    • G05B2219/13087Separate interrupt controller for modules

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Control Of Position Or Direction (AREA)
  • Hardware Redundancy (AREA)
  • Numerical Control (AREA)

Abstract

【課題】 従来からユニット間データを送受する際に用いられているバス(システムバス)を利用し、同期制御専用のバスを持たせることなく同期制御機能を実現すること
【解決手段】 CPUユニットは、通常のサイクリックに行う処理実行中にタイマ割り込みが入ると、その処理を中断し、同期制御を行う他の同期ユニットに対してシステムバスを用いて同期データを一斉同報で送信する。同期ユニットは、一斉同報による同期データを受信したことを契機として同期サイクルを実行し、その同期サイクルの開始に伴い、受信した同期データを取得し、入出力処理を実行後、INデータの同期データのリフレッシュ処理(a)を行う。CPUユニットは、そのINデータの同期データリフレッシュを行い(b)、同期割り込みタスク処理により次に送信する同期データを求める(c)。同期ユニットは、常に最新の同期データを取得し、同時に動作する。
【選択図】 図2

Description

この発明は、産業用コントローラに関するものである。
FA(Factory Automation)におけるネットワークシステムは、生産設備内の入力機器及び出力機器の制御を司る1または複数のPLC(Programmable Logic Controller)と、そのPLCにより動作が制御される機器とが、制御系のネットワークに接続される。それらPLCと機器は、その制御系のネットワークを介してサイクリックに通信を行なうことで、INデータ及びOUTデータ(以下I/Oデータという)の送受を行ない、生産設備を制御する。
PLCは、制御プログラムに基づいて演算実行するCPUユニット、センサやスイッチなどの入力機器を接続してそれらのオン・オフ信号を入力信号として取り込む入力ユニット、アクチュエータやリレーなどの出力機器を接続してそれらに対して出力信号を送り出す出力ユニット、ネットワークに接続された他の装置とデータの送受を行なう通信ユニット、マスタスレーブ通信をするためのマスタユニット、各ユニットに電源を供給する電源ユニット、などの複数のユニットを組み合わせることにより構成されている。これらのユニットは、システムバスにより電気的に接続され、そのシステムバスを介して所定のユニット間でデータの送受を行なう。
CPUユニットにおける制御は、入力ユニットで入力した信号をCPUユニットのI/Oメモリに取り込み(INリフレッシュ)、予め登録されたユーザプログラム記述言語(例えばラダー言語)で組まれたユーザプログラムに基づき論理演算をし(演算実行)、その演算実行結果をI/Oメモリに書き込んで出力ユニットに送り出し(OUTリフレッシュ)、その後、いわゆる周辺処理を行うと言うことをサイクリックに繰り返し処理するようになる。
PLCを構成するユニットの中には、特殊な演算や制御を行う特殊ユニットがある。この特殊ユニットは、例えば、温度等のアナログ値を受け、PID制御を行う等の専用のプロセス制御(アナログ制御)のプログラムを実施する機能を持つプロセス制御ユニットや、モーション制御を行うモーションコントロールユニットなど、各種のものがある。このモーションコントロールユニットは複数のモータを駆動制御できるものであり、その用途は、複数のモータの駆動軸を3軸(いわゆるX軸、Y軸、Z軸)の方向(左右、前後、上下の3方向)とし、駆動系の対象物の位置決めを制御するような例がある。
この種の特殊ユニットは、通常、ユーザプログラムが実装され、CPUユニットにおけるサイクリックな制御とは別に、各特殊ユニットが、それぞれ独自にユーザプログラムの実行やI/Oリフレッシュや周辺処理等をサイクリックに行っている。ところで、各特殊ユニットが制御する機器の動作を同期制御したいという要求がある。すなわち、最近、メカ機構で構成されていた装置を、電子的な動作への置き換えが進んでいる。これは、メカ機構は、保守が煩雑であるばかりでなく、変更や微調整に難があるため、ソフト変更やデータによるチェックが容易な電子化へと進んでいるためである。たとえば、従来一本のシャフト(主軸)にギアやカムを用いて別の軸(従軸)を連係し、当該主軸のシャフトの動きに連動して各軸(従軸)を動かしていた機能の場合において、主軸のシャフトの動きに対する従軸の動作のタイミングを変更するには、カムの形状を変えたり、ギア比を変更したりする必要があるので煩雑である。そこで、主軸のシャフトや、各従軸に対し、それぞれ別々の駆動モータその他の駆動装置を連結し、その駆動装置の動作タイミングを調整することで、上記のメカ機構によるシャフト(主軸)と各軸(従軸)の連係動作を擬似的に再現するようにしている。このようにすると、主軸のシャフトの動きに対する従軸の動作のタイミングを変更する場合に簡単に対応できる。
係る同期制御を行うためには、シャフト(主軸)や各軸(従軸)の制御を行う特殊ユニットの同期を取る必要がある。係る同期をとる技術として、たとえば特許文献1に開示された発明がある。この特許文献1に開示された発明は、データを送受するためのシステムバスとは別に、同期信号を送るための同期専用バスでユニット間を結び、CPUユニットが同期専用バスを介して各特殊ユニットに対して同期信号を送り、各特殊ユニットは、前記同期専用バスを介して送られてくる同期信号を受信することを契機に、1サイクル分の演算実行を行なうものである。また、実際のIOデータ等の送受は、システムバスを介して伝送する。
特開2005−293569号公報
上記の特許文献1の発明では、サイクルマスタモジュールと各モーションコントロールモジュールのサイクルを同期させることができる。しかし、システムバスとは別に同期専用バスを別途設ける必要があるので、高価となるばかりでなく、同期専用バスを有していない既存のハードウェア構成を利用することができないという課題もある。
上記の課題を解決するために、本発明は、(1)同期制御を行う複数のユニットから構成される産業用コントローラである。そして、前記複数のユニットのうちの1つのユニットが、同期の実行タイミングをあわせる制御をするサイクルマスタとした。そのサイクルマスタは、通常のサイクリックに行う処理とは別に、タイマ割り込みに従って同期制御を行う他のユニットに対してメッセージ送信やIOデータの送信に使用するシステムバスを用いて同期データを一斉同報で送信する処理と、前記他のユニットのINデータの同期データを取得し、取得した同期データに基づく割り込み処理を実行後、次回の一斉同報のための準備処理を実行する機能を有する。前記同期制御を行う他のユニットは、前記サイクルマスタから一斉同報により前記同期データを受信したことを契機として同期サイクルを実行し、その同期サイクルの開始に伴い、前記送られてきた同期データを取得し、入出力処理を実行後、INデータの同期データのリフレッシュ処理を行い、その後に、受信した同期データに基づく演算処理を含むサイクリックに行う処理を実行し、次の一斉同報による前記同期データの受信を待つように構成した。サイクルマスタが実行する「他のユニットのINデータの同期データを取得」は、実施形態における「同期データリフレッシュ処理」に対応する。産業用コントローラは、PLCその他のFAにおいて用いられる各種のコントローラ・制御装置である。
本発明では、同期専用バスを用いることなく、汎用のシリアルバスを使用し、簡易な手段で同期制御が可能となる。同期制御をする場合、CPUユニットが所定のタイミングで一斉同報(マルチキャスト)により同期データを送る。この一斉同報による同期データの送信が、従来の同期開始信号を兼用するようにしたので、係る同期データを受信した各ユニットは、同期サイクルを開始する。そして、各ユニットは、受け取った同期データに基づいてぞれぞれの処理を実行するので、同時性が確保できるとともに、各ユニット間でタイミングを合わせた同期制御が行える。このように、一斉同報による同期データの送信処理に基づいて各ユニットにおける同期サイクルを開始するようにしたので、従来のように同期サイクルをあわせるための同期信号(同期開始信号)を送信する必要がなく、同期専用バスが不要となり、データを送信する汎用のシステムバスを用いた通信で同期制御が実行される。さらに、各ユニットは、同期制御開始当初に入出力処理並びに同期データのリフレッシュ処理まで実行するので、そのリフレッシュ処理によりINデータの同期データは、最新のデータに更新される。そして、その後に行われるサイクルマスタにおけるINデータの同期データを取得する処理により、各ユニットが持つ最新の同期データ(IN)がサイクルマスタに収集される。この最新の同期データが、次回の一斉同報による同期データの送信に反映されるので、サイクルマスタ並びに各ユニットは、常に最新の同期データに基づいて各処理を実行することができる。
(2)前記同期制御を行う他のユニットは、前記同期データリフレッシュ処理までを、同期サイクル開始後予め設定された時間以内に完了するように動作し、前記サイクルマスタは、前記同期データを一斉同報で送信する処理後は、通常のサイクリックに行う処理を再開し、前記タイマ割り込みを受けてから、前記基準時間以上で設定された基準時間経過後に割り込み処理により前記INデータの同期データを取得する処理を実行するように構成するとよい。時間Aは、実施形態では、同期サイクルタイムの1/4としたが、別の時間を設定してももちろん良い。本発明によれば、サイクルマスタが、一斉同報による同期データの送信後に行う「INデータの同期データを取得する処理」の開始タイミングを時間で制御するため、各ユニットからの完了通知を監視する必要がなく、その間、通常のサイクリックに行う処理を実行することができるので好ましい。
(3)前記サイクルマスタが送信する同期データは、指令値となるOUTデータを含み、前記取得した同期データに基づく割り込み処理は、取得したINデータの同期データに基づき、前記指令値を算出するものとすることができる。この発明では、サイクルマスタ側で各ユニットが実行する処理の指令値を算出し、各ユニットは受け取った指令値に基づき同期制御を行う。
(4)前記同期制御は、主軸の動作にあわせて1または複数の従軸の動作を制御するものとすることができる。この種の同期制御としては、たとえば、変速機能付きギアボックスに接続されたロールと同じ働きをする電子シャフトや、機械カムと同様な働きをする電子カムなどがある。
(5)前記サイクルマスタは、産業用コントローラ全体を統括制御するCPUユニットとすることができる。なお、本発明では、サイクルマスタは、CPUユニット以外のユニットでももちろんよい。
(6)前記サイクルマスタは、一斉同報による同期データとともに、同期停止命令を送る機能を持ち、前記他のユニットは、同期停止命令を受信すると、同期制御を停止する機能を備えると良い。この同期停止命令は、同期制御をしているすべてのユニットに対して行っても良いし、一部のユニットに対して行っても良い。これにより、同期制御をしている所定のユニットに対し、起動後に、同期制御を解除し、非同期による制御を行わせることができ、システムの状況に応じて柔軟で適切な制御を行うことができる。
本発明は、従来からユニット間データを送受する際に用いられているバス(システムバス)を利用し、同期制御専用のバスを持たせることなく同期制御機能を実現することかできる。また、各ユニットの実行サイクル同時性が確保できるとともに、最新のデータに基づいて同期制御が行える。
本発明の好適な一実施形態を示す図である。 各ユニットの機能を説明する図である。 INデータからOUTデータを出力するまでのフローを示す図である。 具体的なデータの流れを説明する図である。 同期停止機能を説明する図である。
図1に示すように、本実施形態のPLC10は、複数のユニットを連結して構成されるビルディングブロックタイプである。図では、この複数のユニットは、少なくとも1つのCPUユニット11を有し、更に、特殊ユニットとしてのカウンタユニット12と、位置制御ユニット13と、を備える。また、PLC10は、入力ユニット14や出力ユニット15や、図示省略する電源ユニットや通信ユニットなどの通常のユニットも備えている。これらの各ユニットは、ユニットの側面に設けられたコネクタ同士を接続することで、電気的に接続される。この接続により、各ユニットは、システムバス10aにて接続され、ユニット間でのデータの送受が行なわれる。
特殊ユニットは、演算処理,IOリフレッシュ,共通処理,周辺サービス等の一連の処理をサイクリックに実行する。入力ユニットや出力ユニットのように、接続されたIO機器と、CPUユニットの間に入り、IOデータの受け渡しのような単純な処理を行うのではなく、所定の演算処理をサイクリックに実行し、自ら接続された出力機器の動作を制御するなどの機能を備える。これらのことから、高機能ユニットなどと称されることもある。演算処理は、予め設定されたプログラムを実行するものでも良いし、ユーザプログラムを実行するものでもよい。
CPUユニット11は、MPU11aと、システムメモリ11bと、ワークメモリ11cと、ユーザメモリ11dと、IOメモリ11eと、演算ASIC11fと、バスインターンフェース11gと、を備えている。MPU11aは、CPUユニット用のマイクロプロセッサユニットであり、システムメモリ11bに格納されているシステムプログラムを実行することによってPLC全体を統括制御する。また、ユーザメモリ11dに格納されているユーザプログラムの一部を実行するように構成される場合もある。
システムメモリ11bは、CPUユニット用のシステムプログラムを格納する不揮発性のメモリである。ワークメモリ11cは、MPU11aが動作する際にワークとして使用されるメモリであり、RAM等で実現される。ユーザメモリ11dは、PLCを動作させて外部機器を制御するためにユーザが作成するプログラム(ユーザプログラム)を格納するメモリである。IOメモリ11eは、入力ユニット14を介して外部機器からの入手したデータを格納したり、ユーザプログラムの実行結果として出力ユニット15を介して外部機器へ出力するデータを格納したりする。また、このIOメモリ11eには、CPUユニット11の動作を規定するパラメータなども格納する。これらのメモリは、機能に応じて別々のブロックとしてそれぞれ分けて描画したが、実機においては、複数のメモリを物理的に同じメモリの異なる番地に割り当てるようにしても良い。
演算AISC11fは、ユーザメモリ11dに格納されているユーザプログラムを実行するためのASICである。また、バスインタフェース11gは、システムバス10aとのインタフェースを司るものである。
また、カウンタユニット12は、MPU12aと、システムメモリ12bと、ワークメモリ12cと、カウンタ12dと、を備えている。MPU12aは、システムメモリ12bに格納されているシステムプログラムを実行することによってカウンタユニット12を制御する。システムメモリ12bは、カウンタユニット用のシステムプログラムを格納する不揮発性のメモリである。ワークメモリ12cは、MPU12aが動作する際にワークとして使用されるメモリであり、RAM等で実現される。カウンタ12dは、外部機器(例えば、サーボモータ2の出力軸の回転に伴い所定角度ごとにパルスを出力するエンコーダ3)からのパルスをカウントする機能を備える。また、バスインタフェース11gは、システムバス10aとのインタフェースを司るものである。
位置制御ユニット13は、MPU13aと、システムメモリ13bと、ワークメモリ13cと、ユーザメモリ13dと、パルスジェネレータ13e、バスインターンフェース13fと、を備えている。MPU13aは、システムメモリ13bに格納されているシステムプログラムを実行することによって位置制御ユニット13を制御する。また、ユーザメモリ13dに格納されているユーザプログラムの一部を実行するように構成される場合もある。システムメモリ13bは、位置制御ユニット用のシステムプログラムを格納する不揮発性のメモリである。ワークメモリ13cは、MPU13aが動作する際にワークとして使用されるメモリであり、RAM等で実現される。ユーザメモリ13dは、位置制御ユニット13を動作させて外部機器を制御するためにユーザが作成するプログラム(ユーザプログラム)を格納するメモリである。パルスジェネレータ13eは、外部機器(例えば、サーボドライバ1)に対して操作出力信号を出力する機能を備える。また、バスインタフェース13fは、システムバス10aとのインタフェースを司るものである。
なお、上記の各ユニットを構成するハードウェア構成自体は、従来のものと同様である。ここで本実施形態では、CPUユニット11と、特殊ユニットであるカウンタユニット12と位置制御ユニット13とが、ユニット間同期制御を行うようにしている。そして、同期信号を、システムバス10aを用いて送るようにしている。この同期制御を行うに際し、同期信号を発するマスタとして機能するユニットが必要となり、本実施形態では、CPUユニットがそれを代行する。
図2に示すように、サイクルマスタとなるユニット(ここでは、CPUユニット11)の動作として、サイクリックな通常サイクル処理とは別に動作する同期サイクルを用意した。通常サイクルでは、既存のPLCのCPUユニットと同様に、共通処理、サイクル実行タスク処理、周辺サービス処理、I/Oリフレッシュ処理などを繰り返し実行するものである。図2では、I/Oリフレッシュ処理の例として、「基本I/Oリフレッシュ」、「高機能I/Oサイクリックサービス」、「CPU高機能サイクリックサービス」が示されている。「基本I/Oリフレッシュ」では基本I/Oユニットと呼ばれる入力ユニット14や出力ユニット15などとのデータ交換が行われる。「高機能I/Oサイクリックサービス」、「CPU高機能サイクリックサービス」では、それぞれ高機能I/Oユニット、CPU高機能ユニットと呼ばれる特殊ユニットとのデータ交換が行われる。この通常サイクルのI/Oリフレッシュ処理で行われる他ユニットとのデータ交換は非同期で実行される。ここで、非同期で実行されるという意味は、後述する同期ユニットの同期サイクルで実行されるサイクリックサービスとは連動していないと言う意味である。一方、同期対象のユニットである同期ユニット(カウンタユニット12、位置制御ユニット13)と同期データを同期させながらデータ交換する処理は同期サイクルにて行われる。
同期サイクルは、CPUユニット11における同期割込みタスクの実行周期で定期的に実行される。同期サイクルの処理において、同期データの共有と更新(データリンク)を行う。また、そのタイミングで各同期ユニットの演算・入出力処理が実行される。これにより、同期ユニットとの間での同期データについてのI/Oリフレッシュが完了する。この同期サイクルの処理が実行されている期間は、通常サイクルの処理を中断する。同期割込みタスクの実行周期を同期サイクルタイムと呼び、この一定の周期(たとえば1msec)で行なわれる同期データの共有と各ユニットの処理の同期化により、同期サイクルタイムで最新のIOデータのI/Oリフレッシュが行われるので、CPUユニット11と各同期ユニット12,13は、ばらつきのない一定周期の制御を実現することがでる。
本実施形態では、起動時に同期モードの設定がされて同期制御を行う同期ユニットは、CPUユニットから一斉同報による同期データを受信すると、それが、同期サイクルの開始タイミングであると認識し、同期サイクルを開始する制御を行う。
この同期サイクルで実行される具体的な処理は、まず、CPUユニット11のMPU11aは、同期サイクルのためのLv.15タイマ割り込み(最優先処理)を受けると、現在実行中の通常サイクルの処理を中断するとともにLv.5タイマを起動する。図2では、「CPU高機能サイクリックサービス」が中断されているが、タイマ割り込みの発生タイミングにより、中断される処理はもちろん異なることがある。また、当該中断は、以下に説明する同期サイクルにおける実際の処理の実行中の期間のみであり、それ以外の期間は通常サイクルの処理を実行する。
Lv.15タイマ割り込みを受けたMPU11aは、まず「同期処理」として、システムバス10aを利用して、各同期ユニット12,13に対して一斉同報でCPUユニット11のデータリンクに格納している最新のIOデータ(同期データ:各同期ユニットに対する指令値)を送信する。この一斉同報により送信する同期データは、すべての同期ユニットに対して一斉同報で送るので、各同期ユニットで必要とするデータのすべて(総和)であり、ある同期ユニットでは不要なデータもある。また、後述するように、本システムによる同期制御では、CPUユニットが同期データを各同期ユニットから同期制御周期中に収集し、後述する同期割り込みタスク処理後、次の同期制御周期時に各同期ユニットへ一斉同報で配信するので、各同期ユニットから見ると、今回の一斉同報送信では、前回の同期制御周期でCPUユニットにより処理された情報が受け取れることになる。
この一斉同報による同期データを受けた同期ユニットは、そのタイミングで自己の同期制御サイクルをスタートさせる。すなわち、システムバス10a上には一斉同報のフレームが流れるので、受信側の同期ユニットのバスインタフェース12e,13fにて一斉同報のフレームであると解釈され、各インタフェースは、それぞれのMPU12a,13aに対して、一斉同報受信の割込みを挙げる。同期ユニット12,13のMPU12a,13aは、それを契機として同期ユニット側の同期サイクルを開始する。つまり一斉同報で送られてきた同期データを取得する。この取得した同期データは、事前に割り当てたワークメモリ12c内のメモリ領域に格納する。そして、その同期ユニットに接続された機器に対する出力並びに入力処理を実行する。本実施形態の場合、カウンタユニット12は、入力処理でカウンタ12dにてカウントしていた値をワークメモリ12cに取り込む。また、位置制御ユニットの場合、パルスジェネレータ13eを介してサーボドライバ1に対して次のサイクルでの指令値を送る。その後、それぞれのMPU12a,13aは、同期データのリフレッシュ処理を実行する。この同期データは、CPUユニットとの間でデータリンク方式によりCPUユニットに渡すようになっている。そこで、あらかじめ同期データのリフレッシュ処理において同期ユニット内に設定された、データリンクのための所定のメモリエリア(データリンクエリア)内の所定のアドレスに、送信すべき同期データ(フィードバック値(INデータ)等)を格納する。
各同期ユニット12は、同期サイクルの1/4までに、この同期データリフレッシュ処理を完了するように動作する。この同期データリフレッシュ処理の後、演算処理や共通処理や周辺サービスやサイクリックサービスを行い、次の一斉同報による同期データの受信を待つ。なお、サイクリックサービスとしては、たとえば、上記の同期データリフレッシュで送受信した同期データ以外の一般のデータについて、CPUユニットとの間で行う非同期のデータ交換処理がある。この非同期のデータ交換処理は、従来技術と同じであり詳述は避けるが概略つぎのように構成することで実現できる。同期ユニット側にCPUユニットとの共有メモリを備え、その共有メモリ上に同期ユニットからCPUユニットへ渡したいデータを格納するエリア、および、CPUユニットから同期ユニットへ渡したいデータを格納するエリアを設ける。この共有メモリを同期ユニットは同期ユニットのサイクリックサービスにおいて読み書きし、CPUユニットはCPUユニットの通常サイクルのI/Oリフレッシュ処理(図2の例では、同期ユニットは高機能I/Oユニットを想定しているため高機能サイクリックサービスが該当する)において読み書きすることでユニット間のデータ交換が可能となる。なお、同期ユニット側のサイクリックサービスの実行タイミングとCPUユニット側のI/Oリフレッシュ処理の実行タイミングは同期していない。
一方、CPUユニット11側では、「同期処理」を実行後は、中断を停止し、通常サイクルの実行を再開する。そして、CPUユニット11は、同期サイクルのためのLv.15タイマ割り込みを発生させた後、同期サイクルタイム(たとえば1msec)の1/4 を経過したならば、LV.5タイマ割り込みを発生する。MPU11aは、このタイマ割り込みを受け、実行中の通常サイクルの処理を再び中断し、同期サイクルの処理、つまり、「同期データリフレッシュ処理」,「同期割り込みタスク処理」,「同期準備処理」を実行する。「同期データリフレッシュ処理」は、データリンク方式により、同期ユニットが同期データリフレッシュ処理で同期ユニットのデータリンクエリア内に格納した同期データをCPUユニットが取得し、CPUユニットのデータリンクエリアに当該同期データを格納する処理である。また、「同期割り込みタスク処理」は、予め設定された同期割り込みプログラムを実行するものである。この同期割り込みプログラムは、同期データリフレッシュ処理で取得した同期データ(INデータ)に基づき、次の同期サイクルの同期処理で各同期ユニットに送信する同期データ(OUTデータ・指令値)を求めるプログラムである。「同期処理準備処理」は、次の同期サイクルの同期処理で各同期ユニットに送信する準備であり、前記プログラムを演算実行して算出した同期データを、データリンクエリアの対応する箇所に格納する処理である。この一連の処理を実行したならば、CPUユニットは、中断を停止し、通常サイクルを再開する。
本実施形態では、同期処理をした後、同期ユニットの同期データリフレッシュ処理完了通知を受け付けるのを待つのではなく、タイマによる時間で同期データリフレッシュを行うようにしたので、同期処理が完了後、通常サイクルの処理が実行できる。
次に、同期サイクル開始のためのLv15.タイマ割り込みを受けると、同期処理準備で格納した同期データを一斉同報により各同期ユニットに対して送信する。以下、上記の繰り返しを行うことで、各同期ユニットは、最新の同期データを使用して、同期制御サイクルのスタートと同時に同期制御を行うことが可能となる。よって、精度のよい同期制御が行える。そして、CPUユニットと各同期ユニットは、最新の同期データを共有し、動作できる。さらに、CPUユニットは、一斉同報のタイミングが毎サイクル、一定間隔でずれが発生しないように、割り込み禁止レベルの高い(本実施形態では、優先度最大)タイマ割り込み処理を使用することで、ずれを防止している。
このようにするとで、たとえば図3に示すように、同期ユニット(カウンタユニット12)で取得したデータ(カウンタ値)は、その取得した同期サイクル中でCPUユニット1にデータリンク方式による同期データリフレッシュ(IN)で転送され、次の同期サイクルの同期処理でそのカウンタ値に基づく指令値(OUTデータ)が、それぞれの同期ユニット(位置制御ユニット13)に送られ、パルスが出力されることになる。
次に、図4に基づいて、上記の同期制御の動作を説明する。この例では、主軸の位置情報を元に複数の従軸が協調して動作する必要があるアプリケーションであり、主軸の位置を検出するカウンタユニット12と、主軸並びに従軸を動作させる位置制御ユニット13を備えている。ここでは、2つの従軸用の出力機器(サーボモータ等)が接続されている位置制御ユニット13が2つある。なお、図示省略するが、PLCは、主軸を駆動するためのサーボモータを制御するユニットも備えている。この主軸用のユニットは、従軸用のユニットと同じでも良いし別のものでもよい。
まず、ある同期サイクルを実行し、主軸のサーボモータの位置等の主軸データをカウンタユニット12が取得し、カウンタユニット12内の同期データリフレッシュにより、カウンタユニットのデータリンクエリアに主軸データを格納する(図2,図4中“a”)。
この主軸データは、Lv.5タイマ割り込みによるCPUユニットの同期データリフレッシュ(IN)処理により、CPUユニットのデータリンクエリアの所定位置に格納される(図2,図4中“b”)。そして、格納した主軸データに基づいて、同期割り込みタスク処理として、各従軸用にプログラム(従軸1軸プログラム〜従軸4軸プログラム)を実行する(図2,図4中“c”)。次いで、「同期処理準備」を実行し、プログラムの実行により求めた各従軸の指令値(従軸1データ〜従軸4データ)を、CPUユニットのデータリンクエリアの所定エリアに格納する(図2,図4中“d”)。
そして、次のLv.15のタイマ割り込みに基づく同期処理により、上記の格納した各従軸データが同期データとして一斉同報で各位置制御ユニットに送られる(図2,図4中“e”)。各位置制御ユニットは、その同期データを受け取り、自己に関係する従軸データを予め決められた各位置制御ユニットのデータリンクエリアに格納する(図2,図4中“f”)。このようにして、主軸の動作(最新のデータ)に基づいて、各従軸の制御が行える。
次に、図5に基づいて、同期ユニットの停止機能を説明する。本実施形態では、同期ユニットは、同期制御をする同期モードと、同期制御をしない非同期モードを切り替えることができる。この切り替えは、設定スイッチの切り替えや、設定ツール装置等を用いて内部メモリへの設定等により行え、起動時に、どのモードで動作するかが確定する。そして、起動時に同期モードの設定がされていると認識した場合は、一斉同報の割込みを受け付ける(同期データを受信する)と、それが同期サイクルの開始をするように動作する。そして、このように同期モードで動作している場合において、ユニット間同期制御を実行している全ての同期ユニット、あるいは任意の組合せの同期ユニットに対して、実行中の機能を停止する機能を備えている。具体的には、一斉同報により送信する同期データとともに、図5に示すような同期停止有無を通知するフラグを併せて送信する。このフラグは、全ての同期ユニットに対して停止指令を与える全同期ユニット停止と、あらかじめ設定した組合せのユニットに対して停止指令を与える同期グループ停止がある。そして、CPUユニットのデータリンクエリアの所定アドレスを、当該停止命令を通知するためのエリアとしている。図5では、15ビットのエリアが確保され、当該エリアの15ビット目は、全同期ユニット停止リレーとなり、このリレーをONすることにより、全同期ユニットに対して実行中の動作を停止する指令が一斉に与えられる。また、当該エリアの00〜14ビットは、同期グループ停止リレーとなっている。このリレーをONすると、同期ユニット側の同期グループ停止選択パラメータで該当するビットが選択されている同期ユニットに対して、実行中の動作を停止する指令が与えられる。図では、“02”ビットがONになると、予め関連づけられている同期ユニット2,3の同期制御が停止される。この場合、同期ユニット1,4は、その後も同期制御を継続することになる。
このように、起動後であっても、CPUユニットからの通知により、一部または全部の同期ユニットに対する同期制御を停止することができる。もちろん、その後に該当するビットをOFFにすることで、停止が解除され、再び同期制御が開始されることになる。
10 PLC
11 CPUユニット
12 カウンタユニット
13 位置制御ユニット

Claims (6)

  1. 同期制御を行う複数のユニットから構成される産業用コントローラであって、
    前記複数のユニットのうちの1つのユニットが、同期の実行タイミングをあわせる制御をするサイクルマスタとなり、
    そのサイクルマスタは、
    通常のサイクリックに行う処理とは別に、タイマ割り込みに従って同期制御を行う他のユニットに対してメッセージ送信やIOデータの送信に使用するシステムバスを用いて同期データを一斉同報で送信する処理と、
    前記他のユニットのINデータの同期データを取得し、取得した同期データに基づく割り込みタスク処理を実行後、次回の一斉同報のための準備処理を実行する機能を有し、
    前記同期制御を行う他のユニットは、前記サイクルマスタから一斉同報により前記同期データを受信したことを契機として同期サイクルを実行し、その同期サイクルの開始に伴い、前記送られてきた同期データを取得し、入出力処理を実行後、INデータの同期データのリフレッシュ処理を行い、その後に、受信した同期データに基づく演算処理を行ない、次の一斉同報による前記同期データの受信を待った後に前記演算処理結果を出力するように構成したことを特徴とする産業用コントローラ。
  2. 前記サイクルマスタは、前記同期データを一斉同報で送信する処理後は、通常のサイクリックに行う処理を再開し、前記タイマ割り込みを受けてから、前記同期制御を行う他のユニットが同期サイクル開始から前記同期データリフレッシュ処理までに要する時間以上で設定された基準時間が経過したときに行なわれる後に割り込み処理により前記INデータの同期データを取得する処理を実行するように構成したことを特徴とする請求項1に記載の産業用コントローラ。
  3. 前記サイクルマスタが送信する同期データは、指令値となるOUTデータを含み、
    前記取得した同期データに基づく割り込み処理は、取得した前記INデータの同期データに基づき、前記指令値を算出するものであることを特徴とする請求項1または2に記載の産業用コントローラ。
  4. 前記同期制御は、主軸の動作にあわせて1または複数の従軸の動作を制御するものであることを特徴とする請求項1から3のいずれか1項に記載の産業用コントローラ。
  5. 前記サイクルマスタは、産業用コントローラ全体を統括制御するCPUユニットであることを特徴とする請求項1から4のいずれか1項に記載の産業用コントローラ。
  6. 前記サイクルマスタは、一斉同報による同期データとともに、同期停止命令を送る機能を持ち、
    前記他のユニットは、同期停止命令を受信すると、同期制御を停止することを特徴とする請求項1から5のいずれか1項に記載の産業用コントローラ。
JP2009272439A 2009-02-02 2009-11-30 産業用コントローラ Pending JP2010198600A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009272439A JP2010198600A (ja) 2009-02-02 2009-11-30 産業用コントローラ
CN2010101037611A CN101794131B (zh) 2009-02-02 2010-01-25 产业用控制器
EP10151659.9A EP2221686A3 (en) 2009-02-02 2010-01-26 Industrial controller for synchronization control
US12/695,745 US20100199002A1 (en) 2009-02-02 2010-01-28 Industrial controller

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009022045 2009-02-02
JP2009272439A JP2010198600A (ja) 2009-02-02 2009-11-30 産業用コントローラ

Publications (1)

Publication Number Publication Date
JP2010198600A true JP2010198600A (ja) 2010-09-09

Family

ID=42211827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009272439A Pending JP2010198600A (ja) 2009-02-02 2009-11-30 産業用コントローラ

Country Status (4)

Country Link
US (1) US20100199002A1 (ja)
EP (1) EP2221686A3 (ja)
JP (1) JP2010198600A (ja)
CN (1) CN101794131B (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226475A (ja) * 2011-04-18 2012-11-15 Fuji Electric Co Ltd モータ制御装置
JP2013092969A (ja) * 2011-10-27 2013-05-16 Toshiba Mitsubishi-Electric Industrial System Corp プログラマブルコントローラ及びプラント制御システム
WO2013137023A1 (ja) * 2012-03-15 2013-09-19 オムロン株式会社 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム
JP2016110458A (ja) * 2014-12-08 2016-06-20 株式会社キーエンス プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
JP2017079009A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラのモニタ装置
JP2017079006A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラ、拡張ユニット、制御方法、プログラム作成支援装置、プログラム作成支援方法およびプログラム
JP2017079008A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラおよび制御方法
JP2018128780A (ja) * 2017-02-07 2018-08-16 オムロン株式会社 演算装置、制御装置および制御方法
JP2020135183A (ja) * 2019-02-15 2020-08-31 株式会社安川電機 通信システム、通信方法、及びプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103261983B (zh) * 2010-12-16 2016-05-18 三菱电机株式会社 定序器系统及其控制方法
EP2477085B1 (de) * 2011-01-13 2013-07-17 Siemens Aktiengesellschaft Verfahren und System zur Analyse eines zeitlichen Ablaufverhaltens eines Steuerungsprogramms einer Industriesteuerung
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP4957853B1 (ja) * 2011-03-15 2012-06-20 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP6423971B2 (ja) * 2015-11-05 2018-11-14 三菱電機株式会社 機能ユニット及び制御装置
JP7143697B2 (ja) * 2018-09-14 2022-09-29 オムロン株式会社 制御システムおよび制御装置
JP6761584B2 (ja) * 2018-10-23 2020-09-30 株式会社安川電機 産業機器の制御装置、産業機器の制御システム、及び産業機器の制御方法
JP7003951B2 (ja) * 2019-03-14 2022-01-21 オムロン株式会社 制御システム
JP7003952B2 (ja) 2019-03-14 2022-01-21 オムロン株式会社 制御システム、サポート装置およびサポート装置用のプログラム
JP2021144651A (ja) * 2020-03-13 2021-09-24 株式会社安川電機 生産システム、データ送信方法、及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293569A (ja) * 2004-03-11 2005-10-20 Omron Corp 同期コントローラ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765000A (en) * 1994-12-29 1998-06-09 Siemens Energy & Automation, Inc. Dynamic user interrupt scheme in a programmable logic controller
US6065086A (en) * 1998-02-17 2000-05-16 International Business Machines Corporation Demand based sync bus operation
US20040100982A1 (en) * 1999-09-30 2004-05-27 Sivaram Balasubramanian Distributed real-time operating system
JP2001265412A (ja) * 2000-03-15 2001-09-28 Omron Corp プログラマブルコントローラ
DE10055168A1 (de) * 2000-08-03 2002-02-21 Siemens Ag Industrielle Steuerung auf der Basis verteilbarer Technologischer Objekte
WO2004059500A1 (en) * 2002-12-27 2004-07-15 Telefonaktiebolaget Lm Ericsson (Publ) Method for reducing the bus load in a synchronous data bus system
US7532637B2 (en) * 2004-03-11 2009-05-12 Omron Corporation Synchronous controller
US7941229B2 (en) * 2007-06-06 2011-05-10 Rockwell Automation Technologies, Inc. High-speed sequential sampling of I/O data for industrial control
US7930041B2 (en) * 2008-09-29 2011-04-19 Rockwell Automation Technologies, Inc. Industrial controller with coordination of network transmissions using global clock

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293569A (ja) * 2004-03-11 2005-10-20 Omron Corp 同期コントローラ

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226475A (ja) * 2011-04-18 2012-11-15 Fuji Electric Co Ltd モータ制御装置
JP2013092969A (ja) * 2011-10-27 2013-05-16 Toshiba Mitsubishi-Electric Industrial System Corp プログラマブルコントローラ及びプラント制御システム
US9398080B2 (en) 2012-03-15 2016-07-19 Omron Corporation Control device, image processing device, control method, computer-readable recording medium, and program
CN104126155A (zh) * 2012-03-15 2014-10-29 欧姆龙株式会社 控制装置、信息处理装置、控制方法、计算机可读取的存储介质以及程序
JPWO2013137023A1 (ja) * 2012-03-15 2015-08-03 オムロン株式会社 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム
WO2013137023A1 (ja) * 2012-03-15 2013-09-19 オムロン株式会社 制御装置、情報処理装置、制御方法、コンピュータ読取可能な記録媒体、およびプログラム
CN104126155B (zh) * 2012-03-15 2017-06-09 欧姆龙株式会社 控制装置、信息处理装置、控制方法
JP2016110458A (ja) * 2014-12-08 2016-06-20 株式会社キーエンス プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
JP2017079009A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラのモニタ装置
JP2017079006A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラ、拡張ユニット、制御方法、プログラム作成支援装置、プログラム作成支援方法およびプログラム
JP2017079008A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラおよび制御方法
JP2018128780A (ja) * 2017-02-07 2018-08-16 オムロン株式会社 演算装置、制御装置および制御方法
US10785014B2 (en) 2017-02-07 2020-09-22 Omron Corporation Computation device, control device and control method
JP2020135183A (ja) * 2019-02-15 2020-08-31 株式会社安川電機 通信システム、通信方法、及びプログラム
US11640150B2 (en) 2019-02-15 2023-05-02 Kabushiki Kaisha Yaskawa Denki Communication system, communication method, and information storage medium

Also Published As

Publication number Publication date
EP2221686A2 (en) 2010-08-25
CN101794131B (zh) 2013-01-02
CN101794131A (zh) 2010-08-04
EP2221686A3 (en) 2014-02-26
US20100199002A1 (en) 2010-08-05

Similar Documents

Publication Publication Date Title
JP2010198600A (ja) 産業用コントローラ
CN109582397B (zh) 控制系统以及控制装置
EP3691192B1 (en) Control system and control device
US10761884B2 (en) Control device for operating multiple types of programs in different execution formats
JP6903275B2 (ja) 制御装置および制御方法
JP6969283B2 (ja) 制御システム
CN106406223B (zh) 机床与机器人的实时干扰确认系统
EP2555068B1 (en) Synchronization control apparatus
JP6828482B2 (ja) 制御システム、およびパルス出力装置
JP3852469B2 (ja) 同期コントローラおよびコントローラシステム
JP6950385B2 (ja) 制御装置および制御方法
CN102854901A (zh) 同步控制装置、同步控制方法
JP2019067045A (ja) 制御装置
JP7020198B2 (ja) 制御装置および制御システム
JP2006350768A (ja) モーションコントロールシステム
JP7231073B2 (ja) 制御装置および制御システム
TWI497243B (zh) 控制多個驅動器同步工作的方法及其裝置
CN104871474B (zh) 使用异步通信的运动控制系统和控制器及其方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130425

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130822