JP3852469B2 - Synchronous controller and controller system - Google Patents
Synchronous controller and controller system Download PDFInfo
- Publication number
- JP3852469B2 JP3852469B2 JP2005069653A JP2005069653A JP3852469B2 JP 3852469 B2 JP3852469 B2 JP 3852469B2 JP 2005069653 A JP2005069653 A JP 2005069653A JP 2005069653 A JP2005069653 A JP 2005069653A JP 3852469 B2 JP3852469 B2 JP 3852469B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- synchronous
- synchronization
- bus
- module
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Control By Computers (AREA)
- Programmable Controllers (AREA)
- Control Of Position Or Direction (AREA)
Description
この発明は、同期コントローラおよびコントローラシステムに関するものである。 The present invention relates to a synchronous controller and a controller system .
生産工場(製造現場)に設置されるファクトリーオートメーション(FA)の制御装置として、プログラマブルコントローラ(PLC)が用いられている。このPLCは、複数のユニットから構成される。すなわち、電源供給源の電源ユニット,PLC全体の制御を統率するCPUユニット,FAの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット,アクチュエータなどに制御出力を出す出力ユニット,通信ネットワークに接続するための通信ユニットなどの各種のユニットを適宜組み合わせて構成される。そして、これら各ユニットは、側面に設けられたコネクタを介して電気・機械的に連結され、電源ユニットから各ユニットへ電力供給を受けるとともに、情報の送受も行えるようになっている。 A programmable controller (PLC) is used as a control device for factory automation (FA) installed in a production factory (manufacturing site). This PLC is composed of a plurality of units. That is, a power supply unit of a power supply source, a CPU unit that controls the entire PLC, an output unit that inputs a switch or sensor signal attached to an appropriate place in an FA production device or facility device, an output that outputs a control output Various units such as a unit and a communication unit for connecting to a communication network are appropriately combined. Each unit is electrically and mechanically connected via a connector provided on the side surface, so that power can be supplied from the power supply unit to each unit and information can be transmitted and received.
PLCのCPUユニットにおける制御は、入力ユニットで入力した信号をCPUユニットのI/Oメモリに取り込み(INリフレッシュ)、予め登録されたユーザプログラム記述言語(例えばラダー言語)で組まれたユーザプログラムに基づき論理演算をし(演算実行)、その演算実行結果をI/Oメモリに書き込んで出力ユニットに送り出し(OUTリフレッシュ)、その後、いわゆる周辺処理を行うと言うことをサイクリックに繰り返し処理するようになる。 The control in the CPU unit of the PLC is based on a user program written in a user program description language (for example, ladder language) registered in advance by fetching a signal input from the input unit into the I / O memory of the CPU unit (IN refresh). Perform logical operation (operation execution), write the operation execution result to the I / O memory, send it to the output unit (OUT refresh), and then perform cyclic processing repeatedly to perform so-called peripheral processing. .
ところで、PLCを構成するユニットの中には、インテリジェントな高機能な制御を行うための高機能ユニットもある。この高機能ユニットは、例えば、温度等のアナログ値を受け、PID制御を行う等の専用のプロセス制御(アナログ制御)のプログラムを実施する機能を持つプロセス制御ユニットや、モーション制御を行うモーションコントロールユニットなど、各種のものがある。このモーションコントロールユニットは複数のモータを駆動制御できるものであり、その用途は、複数のモータの駆動軸を3軸(いわゆるX軸、Y軸、Z軸)の方向(左右、前後、上下の3方向)とし、駆動系の対象物の位置決めを制御するような例がある。また、モーションコントロールユニットに同期コントローラと称されるものがあり、それは多軸の制御を行う際に各軸の動作を同期制御できる機能をもっている。 Incidentally, among the units constituting the PLC, there is also a high-function unit for performing intelligent high-function control. This high-function unit is, for example, a process control unit having a function for executing a program for exclusive process control (analog control) such as receiving an analog value such as temperature and performing PID control, or a motion control unit for performing motion control. There are various things. This motion control unit is capable of driving and controlling a plurality of motors, and is used for three driving axes of the plurality of motors (so-called X-axis, Y-axis and Z-axis) (left and right, front and rear, and top and bottom 3). Direction) and the positioning of the object of the drive system is controlled. Also, there is a motion control unit called a synchronous controller, which has a function capable of synchronously controlling the operation of each axis when performing multi-axis control.
この種の同期コントローラにおいて、特許文献1に開示された発明のようにコントローラ内に数軸(2軸または4軸程度まで)のコントロール機能を搭載したり、特許文献2に開示された発明のようにネットワーク方式にて多軸(6軸以上)のコントロール機能を搭載してモーション制御を行う構造が一般的である。また、上記コントローラ内蔵タイプやネットワークタイプにてその同期手段として共有メモリと割込み信号を使用した方式や通信コマンドによる方式等がある。
In this type of synchronous controller, as in the invention disclosed in
上述した従来の装置では、以下に示す問題があった。すなわち、 多軸コントロールを1つのメインCPUにて処理する場合には、その制御性能はそのメインCPUの処理能力に依存するところが大きく、性能を低下させることなく多軸制御を実現しようとすると、そのCPUに求められる性能もどんどん増大し結果としてコントローラとしてかなり高価なものとなってしまう。少軸制御しか必要としない顧客にとっては、そのようなコントローラはオーバースペックとなるうえ、コスト高となり、デメリットが生じる。 The conventional apparatus described above has the following problems. In other words, when multi-axis control is processed by one main CPU, the control performance largely depends on the processing capacity of the main CPU. If multi-axis control is to be realized without degrading the performance, The performance required for the CPU is also increasing, and as a result, the controller becomes quite expensive. For customers who need only a few axis control, such a controller is over-specification, costly, and disadvantageous.
構造的な面でも、1つのユニット筐体にコントロール機能を内蔵する方式は、多軸分のモーターコントロールI/Fを搭載しなければならず筐体が大きくなってしまい、大きな設置スペースが必要となり、デメリットが生じる。特に少軸制御しか必要としない顧客にとっては、筐体が大きくなることは、設置場所の制約となり、デメリットが生じることがある。 In terms of structure, a method that incorporates a control function in a single unit housing must be equipped with multi-axis motor control I / Fs, which requires a large installation space. , Disadvantages occur. Especially for customers who need only a few axis control, an increase in the size of the housing may be a limitation of the installation location and may be disadvantageous.
さらに、コントローラのメインCPUが通信ネットワーク方式でモーション制御する場合には、その通信における情報伝達が1(メインCPU):N(各モータ等)となり、ネットワーク環境によっては、各モータ間での情報伝達にタイムラグが生じることがあり、同期などモーション制御においては軸間動作のズレを生み出す要因となる。そして、軸数が多くなればなるほど通信サイクルも増大するため、このズレ幅も通信サイクルに比例して増大することになる。 Further, when the main CPU of the controller performs motion control by the communication network method, information transmission in the communication is 1 (main CPU): N (each motor, etc.), and information transmission between the motors depending on the network environment. There may be a time lag, and in motion control such as synchronization, it becomes a factor that causes a shift in the movement between axes. And as the number of axes increases, the communication cycle also increases, so this deviation width also increases in proportion to the communication cycle.
通信ネットワーク方式では各制御軸に指令値を事前に送信し、起動指令を一斉にかけるようにすれば同期動作としての性能は出せるものの、制御軸数が増えるにつれてメインCPUの処理負荷も増大し、通信サイクルも増大することになり、外部情報からのレスポンス動作に対して性能が低下するという問題を生じる。 In the communication network method, the command value is transmitted to each control axis in advance, and if the start command is applied all at once, the performance as a synchronous operation can be achieved, but the processing load of the main CPU increases as the number of control axes increases, The communication cycle also increases, causing a problem that the performance is lowered with respect to the response operation from the external information.
この発明は、必要な軸数に応じてパフォーマンスの高いコントローラを構築でき、モジュール間での同期を簡単に取ることができ、しかも、コントロールモジュールにおける制御対象に対する制御のための演算処理への影響を可及的に抑制すると共に、各モジュールの負荷の軽減を図ることのできる同期コントローラおよびコントローラシステムを提供することを目的とする。 According to the present invention, a controller with high performance can be constructed according to the required number of axes, the synchronization between modules can be easily taken, and the influence on the arithmetic processing for controlling the control target in the control module can be reduced. An object of the present invention is to provide a synchronous controller and a controller system that can suppress as much as possible and reduce the load on each module.
この発明による同期コントローラは、(1)コントローラ全体の同期を制御するサイクルマスタモジュールと、制御対象機器を制御する複数台のコントロールモジュールとが、各モジュール間の同期制御のための同期データを扱う同期バスと、前記同期制御とは別の周辺処理のためのデータを扱うイベントバスとからなる2重バス構造で接続され、各モジュールを一体連結してなる同期コントローラである。前記各コントロールモジュールのそれぞれは、同期バスを介して、他のコントロールモジュールとの間で同期データを送信または受信するとともに前記サイクルマスタモジュールとの間で同期データを受信し、それら受信した同期データにより同期データをデータリフレッシュする処理、データリフレッシュした同期データに基づき、制御対象機器の動作を制御するためのユーザプログラムを演算実行する処理、イベントバスを介してデータを送信または受信する周辺処理、の各処理をサイクリックに実行するものであり、前記サイクルマスタモジュールは、周期的に、同期バスを介して前記各コントロールモジュールへ同期データを送信する処理を実行するものであり、前記各コントロールモジュールは、同期バスを介して前記サイクルマスタモジュールからの同期データの受信を契機に、サイクリック実行における1サイクルのデータリフレッシュを行ない、ユーザプログラム演算実行を行なうようにした。
別の解決手段としては、(2)コントローラ全体の同期を制御するサイクルマスタモジュールと、制御対象機器を制御する複数台のコントロールモジュールとが、各モジュール間の同期制御のための同期データを扱う同期バスと、前記同期制御とは別の周辺処理のためのデータを扱うイベントバスとからなる2重バス構造で接続され、各モジュールを一体連結してなる同期コントローラであって、前記各コントロールモジュールのそれぞれは、同期バスを介して、他のコントロールモジュールとの間で同期データを送信または受信するとともに前記サイクルマスタモジュールとの間で同期データを受信し、それら受信した同期データにより同期データをデータリフレッシュする処理、データリフレッシュした同期データに基づき、制御対象機器の動作を制御するためのユーザプログラムを演算実行する処理、イベントバスを介してデータを送信または受信する周辺処理、の各処理をサイクリックに実行するものであり、前記サイクルマスタモジュールは、周期的に、同期バスを介して前記各コントロールモジュールへ同期データを送信した後にリフレッシュトリガを送信する処理を実行するものであり、前記各コントロールモジュールは、同期バスを介して前記サイクルマスタモジュールからのリフレッシュトリガの受信を契機に、サイクリック実行における1サイクルのデータリフレッシュを行ない、ユーザプログラム演算実行を行なうようにした。
(3)前記サイクルマスタモジュールは、自己のユーザプログラムを演算実行する処理をし、同期バスを介して前記各コントロールモジュールへ同期データを一斉同報することで、当該同期コントローラ全体を制御するものであり、前記サイクルマスタモジュールにおける周期的な同期データの送信は、接続されたすべてのコントロールモジュールから同期データを受信したことを条件に自己の同期データを同期バスを介して一斉同報するものであり、前記各コントロールモジュールにおける同期データの送信は、同期バスを介して同期データを一斉同報することにより実行するものであり、前記サイクルマスタモジュールは、同期バスを介して各コントロールモジュールから一斉同報されてきた同期データを受信する処理と、前記自己の同期データを一斉同報する処理と、受信した同期データにより同期データをデータリフレッシュする処理と、データリフレッシュ後の同期データに基づいて当該同期コントローラ全体を制御するためのユーザプログラムを演算実行する処理と、をサイクリックに実行するものとすることができる。
(4)さらに別の解決手段としては、コントローラ全体の同期を制御するサイクルマスタモジュールと、制御対象機器を制御する複数台のコントロールモジュールとが、各モジュール間の同期制御のための同期データを扱う同期バスで接続され、各モジュールを一体連結してなる同期コントローラであって、前記各コントロールモジュールのそれぞれは、同期バスを介して他のコントロールモジュールとの間で同期データを送信または受信し、同期バスを介して前記サイクルマスタモジュールとの間で同期データを送信または受信し、それら受信した同期データにより同期データをデータリフレッシュする処理、データリフレッシュした同期データに基づき、制御対象機器の動作を制御するためのユーザプログラムを演算実行する処理、の各処理をサイクリックに実行するものであり、前記サイクルマスタモジュールは、接続されたすべてのコントロールモジュールからの同期データを受信したことを条件に、自己の同期データを同期バスを介して前記各コントロールモジュールへ送信するものであり、前記各コントロールモジュールは、同期バスを介して前記サイクルマスタモジュールからの同期データの受信を契機に、サイクリック実行における1サイクルのデータリフレッシュを行ない、ユーザプログラム演算実行を行なうようにすることもできる。
(5)上記(4)の同期コントローラを前提とし、前記サイクルマスタモジュールは、同期バスを介して各コントロールモジュールから一斉同報されてきた同期データをバッファへ一次記憶するものであり、データリフレッシュにより、一次記憶した同期データを同期データ記憶エリアにリフレッシュするものであり、前記各コントロールモジュールは、同期バスを介してサイクルマスタモジュールおよび他のコントロールモジュールから一斉同報されてきた同期データをバッファへ一次記憶するものであり、データリフレッシュにより、一次記憶した同期データを同期データ記憶エリアにリフレッシュするものとするとよい。
(6)上記(3)の同期コントローラを前提とし、前記サイクルマスタモジュールと前記コントロールモジュールとは、同期バスと、同期バスが扱うデータの量に比較して大量のデータを扱うイベントバスとからなる2重バス構造で接続されて一体連結されてなり、前記サイクルマスタモジュールのサイクリック実行において、ユーザプログラム演算実行処理の後に、イベントバスを介して他のモジュールまたは外部装置との間でデータを送信または受信する周辺処理を行なうように構成できる。
The synchronization controller according to the present invention is (1) a synchronization in which a cycle master module that controls synchronization of the entire controller and a plurality of control modules that control devices to be controlled handle synchronization data for synchronization control between the modules. This is a synchronous controller that is connected in a double bus structure including a bus and an event bus that handles data for peripheral processing different from the synchronous control, and is formed by integrally connecting modules. Each of the control modules, via a synchronous bus, receives the synchronization data with the cycle master module transmits or receives the synchronization data to and from other control modules, by their received synchronization data synchronous data processing for data refresh, based on the synchronization data data refreshing, calculating executes a user program for controlling the operation of the control target device, peripheral processing to transmit or receive data via the event bus, each of The process is cyclically executed, and the cycle master module periodically executes a process of transmitting synchronous data to the control modules via a synchronous bus. The cycle marker via the synchronous bus Upon receipt of the synchronization data from data module performs data refresh cycle in the cyclic execution, and to perform the user program execution.
As another solution, (2) synchronization in which the cycle master module that controls the synchronization of the entire controller and a plurality of control modules that control the control target devices handle synchronization data for synchronization control between the modules. A synchronous controller that is connected in a double bus structure composed of a bus and an event bus that handles data for peripheral processing different from the synchronous control, and is a synchronous controller in which the modules are connected together, respectively via the synchronous bus to receive synchronous data with the cycle master module transmits or receives the synchronization data to and from other control modules, data refresh synchronization data by their received synchronization data To be controlled, based on the synchronized data refreshed The cycle master module cyclically executes a process for calculating and executing a user program for controlling the operation of the CPU and a peripheral process for transmitting or receiving data via the event bus. The control module executes a process of transmitting a refresh trigger after transmitting synchronization data to each control module via a synchronization bus, and each control module performs a refresh trigger from the cycle master module via a synchronization bus. In response to the reception of this, the data refresh of one cycle in the cyclic execution is performed to execute the user program calculation.
(3) The cycle master module controls the entire synchronous controller by performing a process of calculating and executing its own user program and simultaneously broadcasting synchronous data to the control modules via a synchronous bus. Yes, the transmission of periodic synchronization data in the cycle master module is to broadcast its own synchronization data via the synchronization bus on condition that the synchronization data is received from all connected control modules. The transmission of the synchronization data in each control module is performed by broadcasting the synchronization data via the synchronization bus, and the cycle master module broadcasts the synchronization data from each control module via the synchronization bus. The process of receiving the synchronized data, and the same A process of broadcast data, and processing of data refreshing synchronous data by synchronizing the data received, a process of execution of the user program for controlling the whole of the synchronization controller based on the synchronization data after data refresh, Can be executed cyclically.
(4) As yet another solution, a cycle master module that controls the synchronization of the entire controller and a plurality of control modules that control the control target device handle synchronization data for synchronization control between the modules. A synchronization controller connected by a synchronization bus and integrally connecting the modules, each of the control modules transmitting and receiving synchronization data to and from other control modules via the synchronization bus, and synchronizing via the bus to send or receive synchronization data with the cycle master module, the processing of data refreshing synchronous data by synchronizing data they received, based on the synchronization data data refreshed, to control the operation of the control target device Each of the processes for calculating and executing the user program for The cycle master module receives the synchronization data from all connected control modules on the condition that the synchronization data is transmitted via the synchronization bus to each of the control modules. Each control module performs a one-cycle data refresh in the cyclic execution upon receipt of the synchronous data from the cycle master module via the synchronous bus, and executes a user program operation. It can also be done.
(5) On the premise of the synchronous controller of (4) above, the cycle master module primarily stores synchronous data broadcasted simultaneously from each control module via a synchronous bus in a buffer. The synchronization data temporarily stored in the synchronization data storage area is refreshed to the synchronization data storage area, and each control module performs primary synchronization data synchronization from the cycle master module and other control modules via a synchronization bus to a buffer. It is preferable to store the synchronous data temporarily stored in the synchronous data storage area by data refresh.
(6) On the premise of the synchronous controller of (3) above, the cycle master module and the control module are composed of a synchronous bus and an event bus that handles a large amount of data compared to the amount of data handled by the synchronous bus. In the cyclic execution of the cycle master module, data is transmitted to other modules or external devices via the event bus after cyclic execution of the user program in the cyclic execution of the cycle master module. Or it can comprise so that the periphery process to receive may be performed.
モーションコントローラなどの同期機能を有するコントローラにおいて、その構造をサイクルマスタモジュール、コントロールモジュールなどから構成されるモジュール構造とし、モジュール(サイクルマスタ、モーションコントロール)にはそれぞれユーザによるプログラミングとそのプログラム実行機能を搭載するようにした。これらモジュールが毎サイクル情報共有し、その情報共有エリアをユーザプログラムが利用できるようにすることで各モジュールが同期プログラム実行できる。常に共有される同期データは各モジュールのユーザプログラムから任意に参照でき、かつすべての共有同期データが参照できるようになると、複数の同期情報によりアプリケーションプログラムを作成することができる。 A controller with a synchronization function, such as a motion controller, has a modular structure consisting of a cycle master module, a control module, etc., and each module (cycle master, motion control) has user programming and program execution functions. I tried to do it. These modules share information every cycle, and by making the information sharing area available to the user program, each module can execute a synchronous program. The synchronization data that is always shared can be arbitrarily referenced from the user program of each module, and when all the shared synchronization data can be referenced, an application program can be created with a plurality of synchronization information.
そして、ユーザがアプリケーション(特に2軸から4軸程度の少軸規模の同期・トルク・テンション制御アプリケーション)に応じてコントロールモジュールを付加して同期コントローラを構築することができるため省スペース、コストパフォーマンス高く使用することができる。 And since the user can build a synchronous controller by adding a control module according to the application (especially a small-axis synchronous / torque / tension control application of 2 to 4 axes), it saves space and has high cost performance. Can be used.
各モジュール間は同期バスと大量のデータを扱うイベントバスの2重構造とした場合、それぞれの目的に応じたパフォーマンスのバス構造を使用することができる。これにより、扱うデータは小容量だが超高速で定時性が必要となる同期と、高速性や定時性は必要ないが取り扱うデータは大容量となるイベントの特性の異なる処理を共通のバス構造とするのではなく分離することで、利用するバス構造が高いパフォーマンスでなくても十分な同期性能を実現できる。 If between each module having a double structure of an event bus that handles synchronous bus and a large amount of data, it is possible to use a bus structure performance in accordance with the respective purposes. As a result, a common bus structure is used for processing that requires a small amount of data, but is very fast and requires punctuality, and processing that does not require high speed and punctuality but handles large amounts of data with different event characteristics. Separation instead of, it is possible to achieve sufficient synchronization performance even if the bus structure used is not high performance.
また、多軸構成となってもコントロールモジュールの数を適宜に設定することにより、各モジュール当たりのCPUの処理負荷も増大することはないため、高速で安定した制御性能を発揮する。 Further, even if a multi-axis configuration is used, by appropriately setting the number of control modules, the processing load of the CPU per module does not increase, so that high-speed and stable control performance is exhibited.
さらにコントロールモジュールを複数設けた場合、各モジュールにユーザプログラムを作成することが可能であるため、アプリケーションからみた処理の負荷分散が可能となり、プログラム内容と配置を工夫することでより処理性能の高いコントローラを得ることができる。 In addition, when multiple control modules are provided, it is possible to create a user program for each module, so it is possible to distribute the processing load from the viewpoint of the application, and a controller with higher processing performance by devising the program contents and arrangement Can be obtained.
各モジュールの同期の基準となるサイクルマスタモジュールからの同期データの送信タイミングは、各種の設定をすることができる。一例として、接続された全てのコントロールモジュールからの同期データを受信したことを条件に、自己の同期データを出力するようにすることができる。別の方法としては、一定間隔で同期データを出力するように設定できる。これらの設定条件を複数実装し、適宜に切り替えて実施することもできる。 Various settings can be made for the transmission timing of the synchronization data from the cycle master module, which is the reference for synchronization of each module. As an example, it is possible to output own synchronization data on condition that the synchronization data from all connected control modules has been received. As another method, synchronization data can be set to be output at regular intervals. It is also possible to implement a plurality of these setting conditions by switching them as appropriate.
また、前記コントロールモジュールが複数設けられ、他のコントロールモジュールから前記同期バスを介して送られてきた同期データを受信するとともに、同期データ記憶エリアに格納し、その格納した同期データを演算実行の際に利用可能にするとよい。本コントローラでは多軸同期可能なようにモジュール間で常に情報を共有するための専用同期バスとイベント的に必要時に情報交換するイベント専用バスを用意し、各モジュールが同期して動作するためのタイミングを生成するサイクルマスタ機能を有するモジュールを用意している。これにより、分散構造となった場合のモジュール間をまたがった多軸同期制御の実現できる。 In addition, a plurality of the control modules are provided to receive synchronization data sent from the other control modules via the synchronization bus, and store the synchronization data in the synchronization data storage area. It is good to make it available. This controller provides a dedicated synchronization bus for always sharing information between modules so that multi-axis synchronization is possible, and an event dedicated bus for exchanging information when necessary for events, and the timing for each module to operate in synchronization. The module which has the cycle master function which produces | generates is prepared. Thereby, multi-axis synchronous control across modules in the case of a distributed structure can be realized.
(7)さらに別の解決手段としては、制御対象機器を制御する複数台のコントロールモジュールと、その各コントロールモジュールを制御するサイクルマスタモジュールとが、各モジュール間の同期制御のための同期データを扱う同期バスにて接続され、各モジュールを一体連結してなる同期コントローラであって、前記サイクルマスタモジュールは、同期バスを介して各コントロールモジュールから一斉同報されてきた同期データを受信してバッファへ一次記憶する処理を実行するものであり、かつ、接続されたすべてのコントロールモジュールから同期データを受信したことを条件に自己の同期データを同期バスを介して送信する処理と、一次記憶した同期データを同期データ記憶エリアにデータリフレッシュする処理と、データリフレッシュ後の同期データに基づいてユーザプログラムを演算実行する処理と、をサイクリックに実行するものであり、前記各コントロールモジュールは、同期バスを介してサイクルマスタモジュールおよび他のコントロールモジュールから一斉同報されてきた同期データを受信してバッファへ一次記憶する処理を行なうものであり、かつ、同期バスを介して他のモジュールへ同期データを一斉同報する処理と、サイクルマスタモジュールの同期データ受信を契機に一次記憶した同期データを同期データ記憶エリアにデータリフレッシュする処理と、データリフレッシュ後の同期データに基づいて制御対象機器の動作を制御するためのユーザプログラムを実行する処理と、演算実行結果をリフレッシュする処理と、をサイクリックに実行するものとすることができる。 (7) As yet another solution, a plurality of control modules that control controlled devices and a cycle master module that controls each control module handle synchronization data for synchronization control between the modules. A synchronous controller connected by a synchronous bus and integrally connecting the modules, wherein the cycle master module receives synchronous data broadcast from each control module via the synchronous bus and sends it to a buffer. A process for executing primary storage processing and transmitting synchronous data via the synchronous bus on condition that synchronous data has been received from all connected control modules, and primary stored synchronous data Data refresh to the synchronous data storage area and data refresh And cyclically executing a process for computing and executing a user program based on the synchronized data after the synchronization, and each control module is simultaneously broadcast from the cycle master module and other control modules via a synchronization bus. The received synchronization data is temporarily stored in the buffer, and the synchronization data is simultaneously broadcast to other modules via the synchronization bus, and the cycle master module receives the synchronization data. A process of refreshing the synchronization data temporarily stored in the opportunity in the synchronization data storage area, a process of executing a user program for controlling the operation of the control target device based on the synchronization data after the data refresh, and an operation execution result What to refresh and what to do cyclically It can be.
(8)また、前記(7)の同期コントローラを前提とし、前記サイクルマスタモジュールの送信する処理は、自己の同期データを送信してからリフレッシュトリガを送信するものであり、前記各コントロールモジュールにおけるデータリフレッシュの契機は、前記サイクルマスタモジュールからのリフレッシュトリガの受信であるようにすると良い。
(9)前記(8)の同期コントローラを前提とし、前記サイクルマスタモジュールと前記コントロールモジュールとは、同期バスと、同期バスが扱うデータの量に比較して大量のデータを扱うイベントバスとからなる2重バス構造で接続されて一体連結されてなり、
前記サイクルマスタモジュールのサイクリック実行において、ユーザプログラム演算実行処理の後に、イベントバスを介して他のモジュールまたは外部装置との間でデータを送信または受信する周辺処理を行ない、
前記各コントロールモジュールのサイクリック実行において、ユーザプログラム演算実行処理の後に、イベントバスを介して他のモジュールとの間でデータを送信または受信する周辺処理を行なうようにするとなお良い。
(8) Further, on the premise of the synchronous controller of (7), the process transmitted by the cycle master module is to transmit a refresh trigger after transmitting its own synchronous data. The refresh trigger may be the reception of a refresh trigger from the cycle master module.
(9) On the premise of the synchronous controller of (8), the cycle master module and the control module include a synchronous bus and an event bus that handles a large amount of data compared to the amount of data handled by the synchronous bus. Connected in a double bus structure and connected together,
In the cyclic execution of the cycle master module, after the user program calculation execution process, perform peripheral processing to transmit or receive data to and from other modules or external devices via the event bus,
In the cyclic execution of each control module, it is more preferable to perform peripheral processing for transmitting or receiving data to / from other modules via the event bus after the user program calculation execution processing.
(10)本発明に係るコントローラシステムでは、(6),(9)のいずれかの同期コントローラと、上位コントローラと、からなるコントローラシステムであって、前記サイクルマスタモジュールは、外部I/Fを備えていて、周辺処理の実行中に外部I/Fを介して上位コントローラとの間でデータの受け渡しをするように構成できる。 (10) The controller system according to the present invention is a controller system including the synchronous controller of any one of (6) and (9) and a host controller, and the cycle master module includes an external I / F. Therefore, it can be configured to exchange data with the host controller via the external I / F during the peripheral processing.
この発明では、必要な軸数に応じてパフォーマンスの高いコントローラを構築でき、モジュール間での同期を簡単に取ることができ、しかも、コントロールモジュールにおける制御対象に対する制御のための演算処理への影響を可及的に抑制すると共に、各モジュールの負荷の軽減を図ることができる。 In the present invention, a controller with high performance can be constructed according to the number of required axes, synchronization between modules can be easily achieved, and the influence on the arithmetic processing for controlling the control target in the control module can be reduced. While suppressing as much as possible, the load of each module can be reduced.
図1は、本発明の同期コントローラを含むFAシステム全体を示している。同期コントローラ10は、PLC等の上位コントローラ1と接続されるとともに、上位コントローラ1に表示器2が接続された構成を取っている。同期コントローラ10は、上位コントローラ1から命令を受けると、その命令を実行すべく所定の制御を行ない、その結果を上位コントローラ1に返すようになる。
FIG. 1 shows the entire FA system including the synchronous controller of the present invention. The
同期コントローラ10は、電源モジュール11とサイクルマスタモジュール12と、モーションコントロールモジュール13と、エンドモジュール14から構成される。1つのサイクルマスタモジュール12に対し複数のモーションコントロールモジュール13を装着可能としている。サイクルマスタモジュール12とモーションコントロールモジュール13は、共にユーザプログラムがインストールされ、それぞれがサイクリックに実行される。
The
本例では、サイクルマスタモジュール12のシリアルポートSP1にプログラミングツール3を接続し、サイクルマスタモジュール12のユーザプログラムは、そのプログラミングツール3から直接サイクルマスタモジュール12にアップロード・ダウンロードされ、モーションコントロールモジュール13のユーザプログラムは、プログラミングツール3からサイクルマスタモジュール12を経由してアップロード・ダウンロードがされる。また、サイクルマスタモジュール12の別のシリアルポートSP2には、上位コントローラ1のCPUユニット1aに接続される。
In this example, the
モーションコントロールモジュール13は、サイクルマスタモジュール12によって同期制御されるものであり、モーションコントロールモジュール13のユーザプログラムの実行処理によって、サーボドライバ5に対して制御信号を出力する。そして、サーボドライバ5が制御対象のサーボモータ4を制御することによって、実際にモーション制御を行うものである。サイクルマスタモジュール12は、上位コントローラ1から命令を受けて、サイクルマスタモジュール12自身のユーザプログラムを演算実行する機能や、その演算実行の処理結果に基づいて各モーションコントロールモジュールを同期動作させるためのタイミングを生成する機能や、処理を終えたときにその結果を上位コントローラ1に通信する機能、さらにプログラミングツール3と通信を行う機能、自身あるいはモーションコントロールモジュール13と外部の装置である上位コントローラ1または表示器2との間のデータの受け渡し(ゲートウェイ)をする機能などを備えている。なお、図ではモーションコントロールモジュール13とサーボドライバ5とを別体としているが、モーションコントロールモジュール13にサーボドライバ5を内蔵させた構成としてもよい。
The
つまり、従来と本実施例とを対比して説明すると、従来のPLCに高機能ユニットの一つとして連結されたモーションコントロールユニットの場合、モーション制御を行う機能と、PLCを構成するCPUユニットとの間の通信を行う機能が組み込まれていた。そしてモーションコントロールユニットにおいてユーザプログラム実行と周辺処理とをサイクリックに実行し、ユーザプログラムの実行時にモーション制御を行い、周辺処理実行時にCPUユニットとの間の通信等を行うようにしていた。本実施の形態の場合、従来のモーションコントロールユニットが持つモーション制御機能と周辺処理機能とを別々のユニットで分けて処理するようにし、サイクルマスタモジュール12がPLCのCPUユニットとの間の通信を行い、サイクルマスタモジュールにバスを経由してつながれたモーションコントロールモジュール13がモーション制御に関する処理を実行するようにした。これにより、高速かつ高精度な制御を行えるようになる。
In other words, the conventional and this embodiment will be described in comparison. In the case of a motion control unit connected to a conventional PLC as one of high-function units, the function of performing motion control and the CPU unit constituting the PLC The function which performs communication between was built in. The motion control unit cyclically executes user program execution and peripheral processing, performs motion control when executing the user program, and communicates with the CPU unit when executing the peripheral processing. In the case of the present embodiment, the motion control function and peripheral processing function of the conventional motion control unit are processed separately in separate units, and the
さらに、モーションコントロールモジュール13は複数連結可能、着脱可能となっているので、用途に合わせてモーションコントロールモジュール13の台数を増減することができ、アプリケーションにあわせたコントローラ構造が構築でき、必要十分で適切なスペース・コストとなり好ましい。コントローラとして、それぞれのモジュールが成すべき処理を分散させて各モジュールにユーザプログラムを持たせることが可能であるため、複数モジュール構成となっても処理能力を低下させることなく実行させることも可能である。
Furthermore, since a plurality of
さらに、モーションコントロールモジュール13を複数連結した場合、後述する同期バスの活用により別のモーションコントロールモジュール13が持つI/Oの情報を高速で入手するとともに自モジュールの処理に使用することも可能である。よって、例えば、パルス入出力機能を有するモーションコントロールモジュール13がアナログ入出力機能を有する他のモーションコントロールモジュールからアナログ入力情報を同期バスを介して入手し、如何にも自モジュールが内蔵するI/Oかのように使用して自モジュールのパルス出力制御などに使用することが可能である。これにより、より複雑な制御も高速かつ高精度に行うことができる。
Further, when a plurality of
次に、上述した処理機能を実現するための具体的なモジュールの構成を説明する。図2は、ハードウェア構成を示しており、図3はソフトウエアに着目したコントローラの内部イメージを示している。 Next, a specific module configuration for realizing the processing functions described above will be described. FIG. 2 shows a hardware configuration, and FIG. 3 shows an internal image of the controller focused on software.
この実施の形態では、サイクルマスタモジュール12,モーションコントロールモジュール13が、共にMPU12a,13aと、ROM12b,13bと、RAM12c,13cを有し、各モジュール12,13のシステムソフトはMPU12a,13aまたはROM12b,13bに格納される。また、このROM12b,13bは、たとえばフラッシュROMを用いることができ、ユーザにて作成されるユーザプログラムもこのROM12b,13bにバックアップ格納される。
In this embodiment, both the
図3参照に示すように、RAM12c,13c内の記憶領域は、ユーザプログラムエリア,変数エリア,ワークエリアが設定されており、ユーザプログラム実行時は電源ON時にROM12b,13bからRAM12c,13cに展開されてそれを実行する。
As shown in FIG. 3, a user program area, a variable area, and a work area are set as storage areas in the
また、変数エリア(変数メモリ)はユーザプログラムにて使用するためのエリアであり、各モジュール12,13が持つI/Oのデータや、モジュール間で交換する情報の格納エリアとして使用される。ワークエリアは各モジュール12,13のシステムソフトがシステム実行のために使用するエリアである。
The variable area (variable memory) is an area for use in the user program, and is used as a storage area for I / O data held by the
これらのMPU12a,13a,ROM12b,13b,RAM12c,13cの機能は、PLCを構成するCPUユニットや、モーションコントロールニットなどに実装されるものと基本的に同様である。
The functions of these MPUs 12a, 13a,
さらにモーションコントロールモジュール13は、サーボモータなどの制御対象を含むI/O機器(外部装置)を制御するためのパルス入出力やアナログ入出力回路13hを有し、それら各入出力回路13hは、特殊I/Oポート13iを介して外部のI/O機器と接続されるようになっている。ここに接続されるI/O機器としては、図1に示すサーボモータ4を制御するサーボドライバ5がある。そして、外部のI/O機器(入力機器)から取得した入力信号は、MPU13aに与えられ(パルス入力回路はASIC13gを介して)、MPU13aから外部のIO機器(出力機器)へ対して送るデータは、アナログ出力回路,パルス出力回路13hを介して行われる。
Furthermore, the
また、モーションコントロールモジュール13には、装置構成の共通化を図る上でパルスの入出力回路とアナログの入出回路13hの両方を設けたが、実際の運用に際しては、それら全てを用いてもよいし、パルスとアナログのうちの一方のみとしたり、入力回路のみあるいは出力回路のみを実際に稼働するようにしてもよい。このようにどの種類を有効にするかは、システム設定(図3参照)により設定されている。また、モーションコントロールモジュール13の外部I/Fとしてこれらパルス・アナログ入出力回路だけではなく通信I/Fを設けてもよい。
The
さらに、サイクルマスタモジュール12,モーションコントロールモジュール13は、外部I/FとしてI/Oポート12j,13jを有し、そのI/Oポート12j,13jに接続された機器とMPU12a,13aとの間でデータの送受が可能となる。つまり、モーションコントロールモジュール13では、直接モータ制御するための汎用的なI/O機能部(パルスまたはアナログなど)と、直接外部機器(ON/OFFセンサ、アナログセンサ、エンコーダなど)から情報を入手するI/O機能部を有する。
Furthermore, the
各モジュールは、上述した各外部I/F(I/Oポート12j,13j,特殊I/Oポート13iなど)から取得した入力データに基づき、ユーザプログラムを演算実行し、得られた演算結果を所定の外部I/Fを介して出力することにより制御することをサイクリックに繰り返す(1サイクル分の処理については図6、図7にて後述する)。このように、モータ制御には、汎用インタフェースを利用することができるため、市販のモータから適切なものを選択できる。また、通信ネットワークに比べ、モータ制御手段がパルスやアナログとなるため指令が連続的なものとなり滑らかな制御を実現することが可能となる。
Each module computes and executes a user program based on input data acquired from each external I / F (I /
また、各モジュールでのモーターコントロールにおいて、数軸(1or2単位)で専用のCPUを持たせ直接外部からの情報入力、モータへのパルスまたはアナログにて指令を出力できる構造となる。よって、使用されるモータについてはパルスまたはアナログI/F方式となり汎用品から広く選択できる他、直接外部機器からの情報を取り込めるため通信方式などのようにタイムラグもなくクイックな応答性能を実現することができる。 Further, in the motor control in each module, a dedicated CPU is provided on several axes (1 or 2 units) so that a command can be output directly by inputting information from the outside, a pulse to the motor, or analog. Therefore, the motor to be used can be selected widely from general-purpose products using pulse or analog I / F methods, and since it can directly capture information from external devices, it can realize quick response performance without time lag as in communication methods. Can do.
さらに、各モジュール間は、イベントバスと同期バスで繋がっており、エンドモジュール14には、それら各バスを終端するバス接続終端機能14aを有する。そして、モーションコントロールモジュール13には、イベントバスに接続される共有メモリ13fを有し、サイクルマスタモジュール12にはイベントバスに接続されるイベント送受用ASIC12dが備えられている。このイベント送受用ASIC12dはサイクルマスタモジュールがモーションコントロールモジュール13内の共有メモリ13fへアクセスする際にそのデータ送受を補間する機能を有し、サイクルマスタモジュールはこのイベント送受用ASIC12dを使用してゲートウェイとしての機能を成す。例えば上位コントローラ1やプログラミングツール3などからモーションコントロールモジュール13宛にイベント,プログラム等が送られてきた場合に、対応するモーションコントロールモジュール13(モジュール番号などにより特定)の共有メモリ13fに係るイベント等を格納する。また、モーションコントロールモジュール13は、共有メモリ13fに格納されたデータを読み出してイベントに対するレスポンスとして外部の上位コントローラ1などへ返送する処理などを実行する。
Further, the modules are connected by an event bus and a synchronous bus, and the
このイベントバスを介して伝送されるデータは、一般に容量が大きく伝送に時間がかかるため、従来のモーションコントロールユニットのようにサイクリックに行なわれる周辺サービスの時に行なうと、時間がかかり本来のモーション制御に支障を来すおそれがあるが、本実施の形態では、モーション制御を行なわないサイクルマスタモジュール12が係るデータ転送を実行するためモーション制御に支障を生じない。さらに、同期制御を行なうための同期バスと別にイベントバスを設けたため、共有メモリ13fへのアクセスと平行して同期バスを介して同期制御のためのデータの送受が行なえるので、同期制御への支障も生じない。
Since data transmitted via this event bus generally has a large capacity and takes a long time to transmit, it takes time to perform the original motion control when it is performed during a peripheral service performed cyclically like a conventional motion control unit. However, in this embodiment, since the
同期バスに接続される同期用ASIC12e,13eが各モジュール12,13内にそれぞれ実装され、同期用ASIC12e,13eにMPU12a,13aが接続される。この同期用ASIC12e,13eは、データリング方式により同期バスに接続された他の全てのモジュール内の同期用ASIC12e,13eに対して一斉同報でデータを送信でき、内部に送受信データを一次記憶するためのバッファエリアを持っている。つまり、同期用ASICから同期バスにデータを出力することにより、他のモジュールの同期用ASIC12e,13eは、送られてきたデータを内部のバッファエリアに取り込むことができる。より具体的には、順次1つのモジュールが送信元となって他モジュールへ同期データを一斉同報することによりすべてのモジュールが共通データを共有するものである。このように本発明の要部の1つとなる同期バスを介してデータを送受することにより同期をとる仕組みの詳細については、後述する。
このように、各モジュール間が同期バスとイベントバスの2つのバスでつながっており、それぞれのバスを介してモジュール間のデータを交換しながら、それぞれのモジュールが内蔵するユーザプログラムを実行する。つまり、各モジュールで毎サイクル共有したい情報(データ)は小容量だが高速でデータ交換可能な同期バスを使用し、毎サイクル共有する必要のない大容量のデータはイベントバスを使用する。 In this way, each module is connected by two buses, a synchronous bus and an event bus, and a user program built in each module is executed while exchanging data between the modules via each bus. That is, information (data) that is desired to be shared by each module in each cycle uses a synchronous bus that has a small capacity but can exchange data at high speed, and a large capacity data that does not need to be shared every cycle uses an event bus.
この情報の用途目的に合わせた2重のモジュール間バス構造により、時折発生するモジュール間の大容量のデータ交換(イベント)が発生しても毎サイクル共有しなければならない情報はこの影響を受けることなく共有化される。 Due to the dual inter-module bus structure tailored to the purpose of use of this information, the information that must be shared every cycle is affected by this even if a large amount of data exchange (event) between modules occurs occasionally. Without sharing.
これにより各モジュールは、自モジュールに内蔵されたI/Oからの情報のみならず、システムにて実施される同期バス,イベントバスによるデータ交換の情報も利用することができ、ユーザプログラムがそれらの情報を任意に使用して演算ができるようになっている。もちろん、このユーザプログラムの実行に伴い求められた演算結果は、自モジュールのI/Oから出力されたり、同期バス,イベントバスによるデータ交換の情報として出力されたりする。 As a result, each module can use not only the information from the I / O built in its own module but also the data exchange information by the synchronous bus and event bus implemented in the system. Arbitrary use of information is possible. Of course, the calculation result obtained in accordance with the execution of the user program is output from the I / O of the own module, or is output as data exchange information through the synchronous bus or event bus.
図4は、同期バスを利用した同期データの共有について説明する図である。ここでは、モーションコントロールモジュール13が3個連結されており、モジュール番号がそれぞれ#1,#2,#3が設定されている。また、サイクルマスタモジュール12のモジュール番号は#0とする。
FIG. 4 is a diagram for explaining synchronization data sharing using a synchronization bus. Here, three
同期用ASIC12e、13eを用いたデータリンク方式によって同期バスにて各モジュール間で共有されたデータは、自モジュール分も他モジュール分も含めてRAM12c,13cの変数メモリ内のモジュール間同期データ記憶エリア(図3参照)に転送され、格納される。このモジュール間同期データ記憶エリアは、図4に示すように各モジュール毎に割付けられており、毎サイクルにおいてすべてのモジュールの情報が共有され、各モジュールでは自モジュール内のモジュール間同期データ記憶エリアを参照することにより、すべてのモジュールの同期データを参照することができる。
The data shared between the modules via the synchronization bus by the data link method using the
つまり、サイクルマスタモジュール12では、自モジュールが管理するデータは、#0の記憶エリアに格納するとともに、所定のタイミングで#0に格納されたデータを他のモーションコントロールモジュール13に送る。これにより、他の全てのモーションコントロールモジュール13は、送られてきたデータを受信するとともに、自己の変数メモリ内のモジュール間同期データ記憶エリアの#0に割り当てられた記憶エリアに格納する。実際には、同期用ASIC内のバッファエリアに一次記憶したデータを、所定のタイミングでモジュール間同期データ記憶エリア13eへ移す同期バスリフレッシュにより実現する。また、各モーションコントロールモジュール13(たとえば「#1」)も、自身が管理するデータ#1を送信すると、他のモーションコントロールモジュール13(たとえば「#2」,「#3」)やサイクルマスタモジュール12がその#1のデータを受信するとともに該当するモジュール間同期データ記憶エリア中の#1に割り当てられた記憶エリアに格納する。
That is, in the
この同期データの共有は、各サイクルごとに行う。そして、各モジュールが送るデータは、他のモジュールでもユーザプログラムの実行の際に参照するデータとする。これにより、1サイクル実行する都度各モジュールのモジュール間同期データ記憶エリアに格納された同期データは、最新のものに更新されているため、その最新のデータに基づいて演算実行することにより、精密で、そのときの状態にあった制御が行える。 The synchronization data is shared every cycle. The data sent by each module is data to be referred to when executing the user program in other modules. As a result, each time one cycle is executed, the synchronization data stored in the inter-module synchronization data storage area of each module is updated to the latest one. The control suitable for the state at that time can be performed.
この同期バスを介して送受する同期データの種類は、図5に示すように、各モジュールが持つ情報を任意に選択して同期データとして各モジュール間で共有することができるようにしている。例えば、同期データとして共有できるのは自モジュール内のユーザプログラム実行にて生成される演算結果はもちろんであるが、それに限ることはなく自モジュールが持つI/Oの最新値を同期データとすることができる。さらに、自モジュールが持つI/O情報を同期データとする場合には、自モジュールに設定されるシステム設定にて登録することができ、登録された情報が同期データとしてシステムにて自動で転送され交換される。なお、この図5における同期データエリア(+0,+1,……+n)が、図4における1つの記憶エリア(たとえば「#1」についての記憶エリア)に対応し、各エリアにおいてnの値は任意にとれる。つまり、各記憶エリアのデータ容量は異なることを許容している。 As shown in FIG. 5, the types of synchronization data transmitted / received via the synchronization bus are such that information held by each module can be arbitrarily selected and shared between the modules as synchronization data. For example, the data that can be shared as synchronization data is of course the calculation result generated by executing the user program in the own module. However, the present invention is not limited to this, and the latest I / O value of the own module is used as the synchronization data. Can do. Furthermore, when the I / O information of the own module is used as synchronization data, it can be registered by the system settings set in the own module, and the registered information is automatically transferred as synchronization data by the system. Exchanged. Note that the synchronous data area (+0, +1,... + N) in FIG. 5 corresponds to one storage area in FIG. 4 (for example, the storage area for “# 1”), and the value of n in each area is Can be taken arbitrarily. In other words, the data capacity of each storage area is allowed to be different.
そして、本実施の形態では、各モジュール間の同期データの共有は、同期データ送受信と同期バスリフレッシュの2つの処理からなる。同期データ送受信は、各モーションコントールモジュール13が自モジュールの同期データを順次に同期バスへ一斉同報で送信し、他のモジュール(各モーションコントールモジュール13およびサイクルマスタモジュール12)が送信されてきたデータを受信する一連のデータ送受信に対応する。また、同期データ送受信は、サイクルマスタモジュール12が自モジュールの同期データを同期バスへ一斉同報で送信し、各モーションコントールモジュール13が送信されてきたデータを受信するデータ送受信にも対応する。サイクルマスタモジュール12の同期データ送受信は、全てのモーションコントロールモジュール13の一連の同期データの送受信が完了した後、サイクルマスタモジュール12がそれを認識したことによって実行される。
In this embodiment, the sharing of the synchronization data between the modules consists of two processes, that is, synchronization data transmission / reception and synchronization bus refresh. In the synchronous data transmission / reception, each
同期バスリフレッシュは、各モジュールがそれぞれ同期用ASIC12eまたは13eのバッファエリアから、変数メモリ12cまたは13c内のモジュール間同期データ記憶エリア中の割り当てられた記憶エリアにすべての同期データを転送し格納することに対応する。この同期バスリフレッシュは、サイクルマスタモジュールの管理によって、全てのモーションコントロールモジュール13による一連の同期データの送受信とサイクルマスタモジュール12の同期データを送受信とが完了したことに基づいて行う。
In synchronous bus refresh, each module transfers and stores all synchronous data from the buffer area of the
この同期バスリフレッシュを実現するやりかたは複数ある。一例として、各モーションコントールモジュール13が、サイクルマスタモジュール12から一斉同報で送信されてきた同期データを受信したことに連動して、同期用ASIC13eのバッファエリアからモジュール間同期データ記憶エリアにすべての同期データを転送し格納するように動作するようにしてもよい。別の例としては、サイクルマスタモジュール12が同期データを同期バスへ一斉同報で送信した後、さらに同期バスを介して各モーションコントロールモジュール13に対して同期データリフレッシュ処理のトリガ信号を一斉同報で送信するようにしてもよい。この別例においては、各モーションコントロールモジュール13は、サイクルマスタモジュール12から一斉同報で送信されてきた同期データを受信したことに連動して同期バスリフレッシュ処理をするのではなく、サイクルマスタモジュール12からの同期バスリフレッシュ処理トリガ信号を契機にして同期バスリフレッシュ処理をすることとなる。
There are multiple ways to achieve this synchronous bus refresh. As an example, all the
各モーションコントロールモジュール13の処理の同期について説明する。 各モーションコントロールモジュール13は、他の各モーションコントロールモジュール13からの同期データを受信した後、最後にサイクルマスタモジュール12から同期データを受信するので、サイクルマスタモジュール12からの同期データ受信により、そのサイクルでの同期データの送受信は完了したと判断できる。よって各モーションコントロールモジュール13はサイクルマスタモジュールからの同期データ受信を契機として、同期バスリフレッシュを行い、自モジュールのユーザプログラムの演算処理を行う。つまり、各モーションコントロールモジュール13は、サイクルマスタモジュール12からの同期データを受信することを契機として図6に示す1サイクル分の処理、つまり状態別処理と周辺サービス処理を行う。こうすることで各モーションコントロールモジュール13同士が同期を取って演算処理を実行することができる。
The synchronization of the processing of each
なお、「同期データ受信を契機として」の意味には、前述の同期データリフレッシュ処理の別例のように、サイクルマスタモジュール12からの同期バスリフレッシュ処理トリガ信号を契機にする場合を含む。この場合、各モーションコントロールモジュール13は、サイクルマスタモジュール12からの同期バスリフレッシュ処理トリガ信号を契機に図6に示す1サイクル分の処理を行うようになる。
The meaning of “when triggered by reception of synchronous data” includes a case where triggered by a synchronous bus refresh process trigger signal from the
そして、サイクルマスタモジュール12における動作内容は図7に示すフローチャートのようになっている。初めに、電源ONに伴う初期化処理(S21)を実行後、まず共通処理を行なう(S22)。この共通処理で、サイクルマスタモジュール12は、同期データ受信管理、同期データ送信および同期バスリフレッシュを行う。サイクルマスタの同期データ送受信の処理は、全てのモーションコントロールモジュール13の一連の同期データの送受信が完了したかどうかを管理していて、その完了後に、自モジュールの同期データを同期バスへ一斉同報で送信する処理である。同期バスリフレッシュ処理は、すべてのモーションコントロールモジュールから受信した同期データをASIC12eのバッファエリアからモジュール間同期データ記憶エリアへ転送し格納する処理である。なお、前述の同期バスリフレッシュ処理の別例のように、サイクルマスタモジュール12から同期バスリフレッシュ処理トリガ信号を出力する場合は、そのトリガ信号出力処理を含む。
The operation contents in the
また、サイクルマスタモジュール12がこの共通処理を別途定時割り込み処理で実行することができるが詳細は後述する。
Further, the
同期バスリフレッシュを終了すると、次いで、状態別処理(S23)として、ユーザプログラムを演算処理し、サイクルタイムを算出後、自身のI/Oリフレッシュを行なう。このI/Oリフレッシュ処理は、演算処理の結果を次のサイクルの同期データとして、変数メモリ12cのモジュール間同期データの所定エリアに格納する処理を含む。
When the synchronous bus refresh is completed, as a state-specific process (S23), the user program is arithmetically processed, the cycle time is calculated, and then its own I / O refresh is performed. This I / O refresh process includes a process of storing the result of the arithmetic process in the predetermined area of the inter-module synchronization data of the
そして、周辺サービス処理を実行する(S24)。サイクルマスタモジュール12においては、イベントバスを介して行なうモーションコントロールモジュール13との間のイベント等の送受に加え、外部の装置(上位コントローラ1やプログラミングツール3)との間の通信を行なう。このように、サイクルマスタモジュール12は、イベントバスサービスにより高速交換を要求されないデータの交換や接続される周辺機器のサービス要求により必要によりイベントバスサービスにてモーションコントロールモジュール13へのイベントを発行する。このように、共通処理S22,状態別処理S23,周辺処理S24をサイクリックに繰り返し実行する。
Then, peripheral service processing is executed (S24). The
モーションコントロールモジュール13のMPU13aにおける動作内容は図6に示すフローチャートのようになっている。電源ONに伴う初期化処理(S11)を実行後、まず共通処理を行なう(S12)。共通処理では、自身の同期データを同期バスへ一斉同報で送信する処理と、待機処理と、同期バスリフレッシュとを行う。待機処理については、図8中の待機の箇所で後述する。そして、待機処理を経て、同期用ASIC13eがサイクルマスタモジュール12から同期データを受信し、これを契機に同期バスリフレッシュを実行する。この同期バスリフレッシュは、MPU13aが同期バスを介してサイクルマスタモジュール12から送信されてきた同期データをASIC13eが受信することを契機に、ASICが受信した他の各モーションコントロールモジュール13からの同期データおよびサイクルマスタモジュール12からの同期データをモジュール間同期データ記憶エリア13eに転送し格納する。すべてのモーションコントロールモジュール13が同じ処理をすることにより、サイクルマスタモジュール12からの同期データ受信を契機にタイミングを合わせることができ、同期を取って状態別処理(S23)に移行することになる。この契機については、前述の同期バスリフレッシュ処理の別例のように、サイクルマスタモジュール12から同期バスリフレッシュ処理トリガ信号を受信することを契機にすることもできる。
The operation content in the
同期バスリフレッシュを終了すると、次いで、状態別処理(S23)として、ユーザプログラムを演算処理し、サイクルタイムを算出後、自身のI/Oリフレッシュを行なう。このI/Oリフレッシュ処理は、演算処理の結果を次のサイクルの同期データとして、変数メモリ13cのモジュール間同期データの所定エリアに格納する処理を含む。
When the synchronous bus refresh is completed, as a state-specific process (S23), the user program is arithmetically processed, the cycle time is calculated, and then its own I / O refresh is performed. This I / O refresh process includes a process of storing the result of the arithmetic process as synchronization data of the next cycle in a predetermined area of inter-module synchronization data in the
周辺サービス処理は、モーションコントロールモジュールの場合には、イベントバスを介して行なわれるイベント等のデータの送受であるが、頻繁に行なわれることはないので、通常はすぐにS12に戻り、共通処理を行なう。 In the case of the motion control module, the peripheral service processing is transmission / reception of data such as events performed via the event bus. However, since it is not frequently performed, the processing returns to S12 immediately and common processing is performed. Do.
このように、各モジュールの演算処理の前に図6のように同期バスリフレッシュが行なわれるため、その前のサイクルで求められた最新のデータを各モジュールが共有することができる。そして、サイクルマスタモジュール12からの同期データ受信にタイミングを合わせて同期バスリフレッシュを実行し、演算処理を開始するので、モジュール間で同期がとれる。
Thus, since the synchronous bus refresh is performed as shown in FIG. 6 before the arithmetic processing of each module, each module can share the latest data obtained in the previous cycle. Then, synchronous bus refresh is executed in synchronization with reception of synchronous data from the
すなわち、上記のサイクルマスタモジュール12の1サイクル処理に同期して実施される方式では、図8に示すようなタイミングチャートとなる。図8において、CMはサイクルマスタモジュールを意味し、MM#1,MM#2はモーションコントロールモジュール13を意味する。またBCは同期データ送信、RFは同期バスリフレッシュを意味する。図6で示すモーションコントロールモジュールの共通処理は図8で示すMM#1とMM#2のBC(同期データ送信)、待機およびRF(同期バスリフレッシュ)に対応する。図7で示すサイクルマスタモジュールの共通処理は図8で示すCMのBC(同期データ送信)およびRF(同期バスリフレッシュ)に対応する。図7の同期データ受信管理は図8では省略している。また、図6、図7で示す状態別処理(S13、S23)および周辺サービス処理(S14、S24)を実行する一連の処理は図8で示す各モジュールのサイクル処理に対応する。図6、図7、図8には図示しないが、各モジュールがサイクル処理あるいは待機処理を実行中に他のモジュールから送信された同期データは各モジュールの同期用ASIC内のバッファエリアに自動的に取り込まれる。図8の例では、同期コントローラの電源をONすると、モーションコントロールモジュールMM2は電源ON初期処理後、同期データを送信する(MM#2のBC)。このモーションコントロールモジュールMM#2の同期データ送信は、図4の「#2」に対応する。つまりモーションコントロールモジュールMM#2の同期用ASIC内のバッファエリアから送信された同期データがサイクルマスタモジュールCMのASIC12e内のバッファエリアとモーションコントロールモジュールMM#1他のASIC13e内のバッファエリアに受信される。そして、モーションコントロールモジュールMM#2は、サイクルマスタモジュールCMの同期データ送信が完了するまで待機処理を行う。モーションコントロールモジュールMM1も電源ON初期処理後、同期データを送信する(MM#1のBC)。この同期データ送信は、図4の「#1」に対応する。その後モーションコントロールモジュールMM#1は、サイクルマスタモジュールCMの同期データ送信が完了するまで待機処理を行う。サイクルマスタモジュールCMはすべてのモーションコントロールモジュールが同期データを送受信したことを確認したのち、自身の同期データを送信する(CMのBC)。この同期データ送信は、図4の「#0」に対応する。これですべてのモジュール間で同期データ送受信を完了したこととなるので、これを契機にして、各モジュールは同期バスリフレッシュを行う。つまりASIC12e,13eのバッファエリアからモジュール間同期データエリアに同期データを転送し格納する。次にサイクルマスタモジュールCM自らが1スキャンの処理を開始するとともに、モーションコントロールモジュールMM#1,MM#2も同期して1スキャンの処理を開始する。以降同じ処理を繰り返し、t2、t3のように同じタイミングで各モジュールの状態別処理は同期して実行される。また、サイクルマスタモジュールが同期データを同期バスへ一斉同報で送信した後、さらに同期バスを介して各モーションコントロールモジュールに対して同期バスリフレッシュ処理のトリガ信号を一斉同報で送信する別例では、各モーションコントロールモジュール13は、サイクルマスタモジュール12から一斉同報で送信されてきた同期データを受信したことに連動して同期バスリフレッシュ処理をするのではなく、サイクルマスタモジュール12からの同期バスリフレッシュ処理トリガ信号を契機にして同期バスリフレッシュ処理をすることとなる。いずれにしても、サイクルマスタモジュールのサイクル処理と共通処理を合わせた1周期時間(Tcm)と、各モーションコントロールモジュールのサイクル処理と共通処理を合わせた1周期時間(Tmm)は等しくなる。
That is, in the method implemented in synchronization with the one-cycle process of the
また、処理負荷量によりサイクルマスタモジュールのサイクル処理時間が大きくなるような場合には、サイクルマスタモジュールの同期データ送信を共通処理から切り離し、任意に設定可能な定時時間割り込み処理にて実行させることもできる。これにより、モーションコントロールモジュール間ではサイクルマスタモジュールのサイクル処理時間に引きずられること無く高速に一定時間間隔で同期バスリフレッシュを実施し、情報の共有を行うとともに同期を取ることができる。すなわち図9の例のように、サイクルマスタモジュールの1サイクルのサイクル処理時間が長い場合、サイクルマスタモジュールの同期データ送信を契機にモーションコントロールモジュールが1サイクル処理を開始する方式では各モーションコントロールモジュールの待機時間が長くなり好ましくない。そこで、図7のサイクルマスタモジュールの処理フローの共通処理(S22)なかで、同期データ受信管理を省略し、同期データ送信と同期バスリフレッシュ処理をサイクル処理とは非同期で動作するタイマの定時時間割込みに基づいて実行させることにより、これを契機に各モーションコントロールモジュール13が次のサイクル処理を開始するようにする。これにより、モーションコントロールモジュール13の待機時間が不用意に長くなるのを抑止する。
Also, if the cycle processing time of the cycle master module increases due to the processing load, the cycle master module's synchronous data transmission can be separated from the common processing and executed by the arbitrarily set scheduled time interrupt processing. it can. As a result, the synchronization bus refresh can be performed at a constant time interval at high speed without being dragged by the cycle processing time of the cycle master module between the motion control modules, and information can be shared and synchronized. That is, as shown in the example of FIG. 9, when the cycle processing time of one cycle of the cycle master module is long, the motion control module starts one cycle processing when the cycle master module transmits synchronous data. It is not preferable because the waiting time becomes long. Therefore, in the common processing (S22) of the processing flow of the cycle master module in FIG. 7, the synchronous data reception management is omitted, and the synchronous data transmission and the synchronous bus refresh processing are performed at a fixed time interrupt of a timer that operates asynchronously with the cycle processing. As a result, each
この結果、たとえサイクルマスタモジュール12における周辺サービスに要する時間が長くなりサイクルタイムが長くなっても、モーションコントロールモジュール13におけるサイクルタイムを最小化し,一定サイクルの安定性を確保できる。つまり、サイクルマスタモジュールの1周期時間(Tcm)に比較して、各モーションコントロールモジュールの1周期時間
(Tmm)を短くすることができる。
As a result, even if the time required for the peripheral service in the
そして、上記の2つの方式のうち、いずれの方式を採るかは、サイクルマスタモジュール12のシステム設定によりその手段が決定される。また、各モジュールで同期データが不要な場合には同期バスリフレッシュを停止し、それぞれ非同期にてイベントバスのみでデータ交換し単独で処理を行う設定とすることも可能である。
Then, which of the two methods is used is determined by the system setting of the
1 上位コントローラ
2 表示器
3 プログラミングツール
4 サーボドライバ
5 サーボモータ
10 同期コントローラ
11 電源モジュール
12 サイクルマスタモジュール
13 モーションコントロールモジュール
14 エンドモジュール
1
Claims (10)
前記各コントロールモジュールのそれぞれは、同期バスを介して、他のコントロールモジュールとの間で同期データを送信または受信するとともに前記サイクルマスタモジュールとの間で同期データを受信し、それら受信した同期データにより同期データをデータリフレッシュする処理、データリフレッシュした同期データに基づき、制御対象機器の動作を制御するためのユーザプログラムを演算実行する処理、イベントバスを介してデータを送信または受信する周辺処理、の各処理をサイクリックに実行するものであり、
前記サイクルマスタモジュールは、周期的に、同期バスを介して前記各コントロールモジュールへ同期データを送信する処理を実行するものであり、
前記各コントロールモジュールは、同期バスを介して前記サイクルマスタモジュールからの同期データの受信を契機に、サイクリック実行における1サイクルのデータリフレッシュを行ない、ユーザプログラム演算実行を行なうようにした
ことを特徴とする同期コントローラ。 A cycle master module that controls the entire synchronization controller, and a plurality of control modules for controlling the control target device is a synchronous bus that handles synchronous data for the synchronization of the various modules, separate from said synchronous control It is a synchronous controller that is connected in a double bus structure consisting of event buses that handle data for peripheral processing , and each module is linked together,
Each of the control modules, via a synchronous bus, receives the synchronization data with the cycle master module transmits or receives the synchronization data to and from other control modules, by their received synchronization data synchronous data processing for data refresh, based on the synchronization data data refreshing, calculating executes a user program for controlling the operation of the control target device, peripheral processing to transmit or receive data via the event bus, each of The process is executed cyclically,
The cycle master module periodically executes a process of transmitting synchronization data to the control modules via a synchronization bus.
Each of the control modules performs a one-cycle data refresh in a cyclic execution and a user program operation execution in response to reception of synchronous data from the cycle master module via a synchronous bus. To sync controller.
前記各コントロールモジュールのそれぞれは、同期バスを介して、他のコントロールモジュールとの間で同期データを送信または受信するとともに前記サイクルマスタモジュールとの間で同期データを受信し、それら受信した同期データにより同期データをデータリフレッシュする処理、データリフレッシュした同期データに基づき、制御対象機器の動作を制御するためのユーザプログラムを演算実行する処理、イベントバスを介してデータを送信または受信する周辺処理、の各処理をサイクリックに実行するものであり、
前記サイクルマスタモジュールは、周期的に、同期バスを介して前記各コントロールモジュールへ同期データを送信した後にリフレッシュトリガを送信する処理を実行するものであり、
前記各コントロールモジュールは、同期バスを介して前記サイクルマスタモジュールからのリフレッシュトリガの受信を契機に、サイクリック実行における1サイクルのデータリフレッシュを行ない、ユーザプログラム演算実行を行なうようにした
ことを特徴とする同期コントローラ。 A cycle master module that controls the entire synchronization controller, and a plurality of control modules for controlling the control target device is a synchronous bus that handles synchronous data for the synchronization of the various modules, separate from said synchronous control It is a synchronous controller that is connected in a double bus structure consisting of event buses that handle data for peripheral processing , and each module is linked together,
Each of the control modules, via a synchronous bus, receives the synchronization data with the cycle master module transmits or receives the synchronization data to and from other control modules, by their received synchronization data synchronous data processing for data refresh, based on the synchronization data data refreshing, calculating executes a user program for controlling the operation of the control target device, peripheral processing to transmit or receive data via the event bus, each of The process is executed cyclically,
The cycle master module periodically executes a process of transmitting a refresh trigger after transmitting synchronization data to the control modules via a synchronization bus.
Each of the control modules performs one cycle of data refresh in cyclic execution and execution of user program calculation upon receipt of a refresh trigger from the cycle master module via a synchronous bus. To sync controller.
前記サイクルマスタモジュールにおける周期的な同期データの送信は、接続されたすべてのコントロールモジュールから同期データを受信したことを条件に自己の同期データを同期バスを介して一斉同報するものであり、
前記各コントロールモジュールにおける同期データの送信は、同期バスを介して同期データを一斉同報することにより実行するものであり、
前記サイクルマスタモジュールは、
同期バスを介して各コントロールモジュールから一斉同報されてきた同期データを受信する処理と、前記自己の同期データを一斉同報する処理と、受信した同期データにより同期データをデータリフレッシュする処理と、データリフレッシュ後の同期データに基づいて当該同期コントローラ全体を制御するためのユーザプログラムを演算実行する処理と、をサイクリックに実行するものである、
ことを特徴とする請求項1または2の同期コントローラ。 The cycle master module performs a process of calculating and executing its own user program, and controls the synchronous controller as a whole by simultaneously broadcasting synchronous data to the control modules via a synchronous bus.
The transmission of the periodic synchronization data in the cycle master module is to broadcast the synchronization data of oneself through the synchronization bus on the condition that the synchronization data has been received from all the connected control modules.
The transmission of the synchronization data in each control module is performed by broadcasting the synchronization data via the synchronization bus,
The cycle master module is
A process of receiving synchronous data broadcasted simultaneously from each control module via a synchronous bus; a process of simultaneously broadcasting the own synchronous data; a process of refreshing synchronous data with the received synchronous data; A process for calculating and executing a user program for controlling the entire synchronous controller based on the synchronous data after data refreshing is cyclically executed.
The synchronous controller according to claim 1 or 2, characterized in that
前記各コントロールモジュールのそれぞれは、同期バスを介して他のコントロールモジュールとの間で同期データを送信または受信し、同期バスを介して前記サイクルマスタモジュールとの間で同期データを送信または受信し、それら受信した同期データにより同期データをデータリフレッシュする処理、データリフレッシュした同期データに基づき、制御対象機器の動作を制御するためのユーザプログラムを演算実行する処理、の各処理をサイクリックに実行するものであり、
前記サイクルマスタモジュールは、接続されたすべてのコントロールモジュールからの同期データを受信したことを条件に、自己の同期データを同期バスを介して前記各コントロールモジュールへ送信するものであり、
前記各コントロールモジュールは、同期バスを介して前記サイクルマスタモジュールからの同期データの受信を契機に、サイクリック実行における1サイクルのデータリフレッシュを行ない、ユーザプログラム演算実行を行なうようにした
ことを特徴とする同期コントローラ。 The cycle master module that controls the synchronization of the entire controller and multiple control modules that control the controlled devices are connected via a synchronization bus that handles synchronization data for synchronization control between the modules, and the modules are connected together. A synchronous controller,
Each of the control modules, via a synchronous bus to send or receive synchronization data with other control modules, sends or receives synchronization data with the cycle master module via a synchronous bus, A process that cyclically executes each of the process of refreshing the synchronization data by the received synchronization data and the process of calculating and executing the user program for controlling the operation of the control target device based on the synchronized data that has been refreshed. And
The cycle master module transmits its own synchronization data to each of the control modules via a synchronization bus on the condition that synchronization data from all connected control modules has been received.
Each of the control modules performs a one-cycle data refresh in a cyclic execution and a user program operation execution in response to reception of synchronous data from the cycle master module via a synchronous bus. To sync controller.
前記各コントロールモジュールは、同期バスを介してサイクルマスタモジュールおよび他のコントロールモジュールから一斉同報されてきた同期データをバッファへ一次記憶するものであり、データリフレッシュにより、一次記憶した同期データを同期データ記憶エリアにリフレッシュするものである
ことを特徴とする請求項4に記載の同期コントローラ。 The cycle master module primarily stores synchronous data broadcasted from each control module via a synchronous bus in a buffer, and refreshes the synchronous data temporarily stored in the synchronous data storage area by data refresh. Is,
Each control module primarily stores synchronous data broadcasted from the cycle master module and other control modules via a synchronous bus in a buffer, and the synchronization data temporarily stored is synchronized by data refresh. 5. The synchronous controller according to claim 4, wherein the synchronous controller refreshes the storage area.
前記サイクルマスタモジュールのサイクリック実行において、ユーザプログラム演算実行処理の後に、イベントバスを介して他のモジュールまたは外部装置との間でデータを送信または受信する周辺処理を行なう、
ことを特徴とする請求項3の同期コントローラ。 The cycle master module and the control module are connected together in a double bus structure including a synchronous bus and an event bus that handles a large amount of data compared to the amount of data handled by the synchronous bus,
In the cyclic execution of the cycle master module, after the user program calculation execution processing, peripheral processing for transmitting or receiving data to or from other modules or external devices via the event bus is performed.
The synchronous controller according to claim 3.
前記サイクルマスタモジュールは、同期バスを介して各コントロールモジュールから一斉同報されてきた同期データを受信してバッファへ一次記憶する処理を実行するものであり、かつ、接続されたすべてのコントロールモジュールから同期データを受信したことを条件に自己の同期データを同期バスを介して送信する処理と、一次記憶した同期データを同期データ記憶エリアにデータリフレッシュする処理と、データリフレッシュ後の同期データに基づいてユーザプログラムを演算実行する処理と、をサイクリックに実行するものであり、
前記各コントロールモジュールは、同期バスを介してサイクルマスタモジュールおよび他のコントロールモジュールから一斉同報されてきた同期データを受信してバッファへ一次記憶する処理を行なうものであり、かつ、同期バスを介して他のモジュールへ同期データを一斉同報する処理と、サイクルマスタモジュールの同期データ受信を契機に一次記憶した同期データを同期データ記憶エリアにデータリフレッシュする処理と、データリフレッシュ後の同期データに基づいて制御対象機器の動作を制御するためのユーザプログラムを実行する処理と、演算実行結果をリフレッシュする処理と、をサイクリックに実行するものである
ことを特徴とする同期コントローラ。 Multiple control modules that control devices to be controlled and cycle master modules that control each control module are connected via a synchronization bus that handles synchronization data for synchronization control between the modules. It is a synchronous controller that is connected,
The cycle master module receives the synchronous data broadcast from each control module via the synchronous bus and executes a process of temporarily storing it in the buffer, and from all the connected control modules. Based on the process of transmitting own synchronization data via the synchronization bus on the condition that the synchronization data has been received, the process of refreshing the synchronization data stored temporarily in the synchronization data storage area, and the synchronization data after the data refresh A process for calculating and executing a user program cyclically,
Each of the control modules receives synchronous data broadcast from the cycle master module and other control modules via the synchronous bus, and performs a process of temporarily storing them in the buffer. Based on the process of simultaneously broadcasting the synchronous data to other modules, the process of refreshing the synchronous data temporarily stored in response to the synchronous data reception of the cycle master module in the synchronous data storage area, and the synchronous data after the data refresh A synchronous controller characterized by cyclically executing a process for executing a user program for controlling the operation of the device to be controlled and a process for refreshing an operation execution result.
前記各コントロールモジュールにおけるデータリフレッシュの契機は、前記サイクルマスタモジュールからのリフレッシュトリガの受信である
ことを特徴とする請求項7に記載の同期コントローラ。 The process to be transmitted by the cycle master module is to transmit a refresh trigger after transmitting own synchronization data,
8. The synchronous controller according to claim 7, wherein the trigger of data refresh in each control module is reception of a refresh trigger from the cycle master module.
前記サイクルマスタモジュールのサイクリック実行において、ユーザプログラム演算実行処理の後に、イベントバスを介して他のモジュールまたは外部装置との間でデータを送信または受信する周辺処理を行ない、
前記各コントロールモジュールのサイクリック実行において、ユーザプログラム演算実行処理の後に、イベントバスを介して他のモジュールとの間でデータを送信または受信する周辺処理を行なう
ことを特徴とする請求項8に記載の同期コントローラ。 The cycle master module and the control module are connected together in a double bus structure including a synchronous bus and an event bus that handles a large amount of data compared to the amount of data handled by the synchronous bus,
In the cyclic execution of the cycle master module, after the user program calculation execution process, perform peripheral processing to transmit or receive data to and from other modules or external devices via the event bus,
9. The cyclic execution of each of the control modules performs peripheral processing for transmitting or receiving data to / from another module via an event bus after user program calculation execution processing. Synchronous controller.
前記サイクルマスタモジュールは、外部I/Fを備えていて、周辺処理の実行中に外部I/Fを介して上位コントローラとの間でデータの受け渡しをする
ことを特徴とするコントローラシステム。 A controller system comprising the synchronous controller according to any one of claims 6 and 9, and a host controller,
The cycle master module includes an external I / F, and transfers data to and from a host controller via the external I / F during execution of peripheral processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005069653A JP3852469B2 (en) | 2004-03-11 | 2005-03-11 | Synchronous controller and controller system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004069786 | 2004-03-11 | ||
JP2005069653A JP3852469B2 (en) | 2004-03-11 | 2005-03-11 | Synchronous controller and controller system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005293569A JP2005293569A (en) | 2005-10-20 |
JP2005293569A5 JP2005293569A5 (en) | 2006-01-12 |
JP3852469B2 true JP3852469B2 (en) | 2006-11-29 |
Family
ID=35326381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005069653A Expired - Fee Related JP3852469B2 (en) | 2004-03-11 | 2005-03-11 | Synchronous controller and controller system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3852469B2 (en) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4893931B2 (en) * | 2006-05-19 | 2012-03-07 | オムロン株式会社 | Safety controller |
CN101479677B (en) | 2006-06-23 | 2011-09-21 | 三菱电机株式会社 | Control apparatus |
CN101297509B (en) | 2006-11-30 | 2012-06-13 | 三菱电机株式会社 | Communication system and communication device |
JP2010198600A (en) * | 2009-02-02 | 2010-09-09 | Omron Corp | Industrial controller |
JP2011123688A (en) * | 2009-12-11 | 2011-06-23 | Fuji Electric Systems Co Ltd | Synchronizing programmable controller and synchronizing programmable controller system |
JP5540928B2 (en) * | 2010-06-21 | 2014-07-02 | 富士電機株式会社 | Programmable controller system and application startup method thereof |
JP5549455B2 (en) * | 2010-07-21 | 2014-07-16 | 富士電機株式会社 | Programmable controller system and program updating method thereof |
WO2012081115A1 (en) * | 2010-12-16 | 2012-06-21 | 三菱電機株式会社 | Sequencer system and control method therefor |
WO2013099032A1 (en) | 2011-12-28 | 2013-07-04 | 株式会社安川電機 | Motion controller and motor control system |
JP2015162124A (en) * | 2014-02-27 | 2015-09-07 | 株式会社アイエイアイ | Control device, control system and control method |
CN107431505B (en) | 2014-10-15 | 2021-05-07 | 凤凰通讯发展及制造股份有限公司 | Spur isolation in fieldbus networks |
JP6477161B2 (en) * | 2015-03-31 | 2019-03-06 | オムロン株式会社 | INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING PROGRAM, AND INFORMATION PROCESSING METHOD |
JP6626313B2 (en) * | 2015-10-21 | 2019-12-25 | 株式会社キーエンス | Programmable logic controller, expansion unit, control method, program creation support device, program creation support method, and program |
DE112016006175T5 (en) | 2016-01-07 | 2018-09-20 | Mitsubishi Electric Corporation | Programmable control and synchronization control program |
KR102336970B1 (en) * | 2017-02-08 | 2021-12-08 | 리렉트리파이 홀딩스 피티와이 리미티드 | battery system |
JP2019045900A (en) * | 2017-08-29 | 2019-03-22 | オムロン株式会社 | Setting device, FA system, control program, and control method of setting device |
JP6903275B2 (en) * | 2017-09-14 | 2021-07-14 | オムロン株式会社 | Control device and control method |
JP7423249B2 (en) * | 2019-10-24 | 2024-01-29 | 株式会社日立製作所 | Control device and distributed control system |
-
2005
- 2005-03-11 JP JP2005069653A patent/JP3852469B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005293569A (en) | 2005-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3852469B2 (en) | Synchronous controller and controller system | |
EP1574921B1 (en) | Synchronous controller | |
EP3462257B1 (en) | Control system and control device | |
US7428659B2 (en) | Programmable controller with CPU units and special-function modules and method of doubling up | |
JP6903275B2 (en) | Control device and control method | |
CN111034128B (en) | Control system and control device | |
JP2010198600A (en) | Industrial controller | |
US10908577B2 (en) | Control device | |
JP5935903B2 (en) | Control system, master programmable controller, slave programmable controller, and control method | |
JP2019079344A (en) | Control system | |
CN106062648A (en) | Controller | |
JP2016110458A (en) | Programmable logic controller, basic unit, control method and program | |
CN109117395B (en) | Microcomputer | |
JP2016194831A (en) | Controller | |
JP2019106225A (en) | Controller | |
JPH04290102A (en) | Device for information transmission to servomechanism | |
US20090150705A1 (en) | Method and apparatus for operating cooperating, differing devices | |
WO2017203778A1 (en) | Motor drive system, motor control system, and self-propelled robot | |
WO2019171845A1 (en) | Control device and control system | |
JP2007241744A (en) | Motion controller and its command method | |
JP7231073B2 (en) | Controllers and control systems | |
JP2002347217A (en) | Printer driving system | |
US9310796B2 (en) | Multi-driver control method and apparatus thereof | |
JP6321393B2 (en) | Master-slave relay device and relay method thereof | |
WO2022049885A1 (en) | Control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051118 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20051118 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20060113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060320 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060710 |
|
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: 20060815 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060828 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3852469 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090915 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100915 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100915 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110915 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110915 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120915 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130915 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |