JP3852469B2 - Synchronous controller and controller system - Google Patents

Synchronous controller and controller system Download PDF

Info

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
Application number
JP2005069653A
Other languages
Japanese (ja)
Other versions
JP2005293569A (en
JP2005293569A5 (en
Inventor
修史 大谷
雅和 小松
康浩 森
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
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 filed Critical Omron Corp
Priority to JP2005069653A priority Critical patent/JP3852469B2/en
Publication of JP2005293569A publication Critical patent/JP2005293569A/en
Publication of JP2005293569A5 publication Critical patent/JP2005293569A5/ja
Application granted granted Critical
Publication of JP3852469B2 publication Critical patent/JP3852469B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 Patent Document 1, a control function of several axes (up to about 2 or 4 axes) is mounted in the controller, or as in the invention disclosed in Patent Document 2. In general, a multi-axis (6 axes or more) control function is installed in a network system to perform motion control. In addition, there are a method using a shared memory and an interrupt signal, a method using a communication command, and the like as a synchronization means in the built-in controller type and network type.

特開2003−202907JP 2003-202907 A 特開2001−331222JP 2001-331222 A

上述した従来の装置では、以下に示す問題があった。すなわち、 多軸コントロールを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 synchronous controller 10 is connected to a host controller 1 such as a PLC and has a configuration in which a display 2 is connected to the host controller 1. When receiving an instruction from the host controller 1, the synchronous controller 10 performs predetermined control to execute the instruction and returns the result to the host controller 1.

同期コントローラ10は、電源モジュール11とサイクルマスタモジュール12と、モーションコントロールモジュール13と、エンドモジュール14から構成される。1つのサイクルマスタモジュール12に対し複数のモーションコントロールモジュール13を装着可能としている。サイクルマスタモジュール12とモーションコントロールモジュール13は、共にユーザプログラムがインストールされ、それぞれがサイクリックに実行される。   The synchronous controller 10 includes a power supply module 11, a cycle master module 12, a motion control module 13, and an end module 14. A plurality of motion control modules 13 can be attached to one cycle master module 12. Both the cycle master module 12 and the motion control module 13 are installed with user programs and are executed cyclically.

本例では、サイクルマスタモジュール12のシリアルポートSP1にプログラミングツール3を接続し、サイクルマスタモジュール12のユーザプログラムは、そのプログラミングツール3から直接サイクルマスタモジュール12にアップロード・ダウンロードされ、モーションコントロールモジュール13のユーザプログラムは、プログラミングツール3からサイクルマスタモジュール12を経由してアップロード・ダウンロードがされる。また、サイクルマスタモジュール12の別のシリアルポートSP2には、上位コントローラ1のCPUユニット1aに接続される。   In this example, the programming tool 3 is connected to the serial port SP1 of the cycle master module 12, and the user program of the cycle master module 12 is uploaded / downloaded directly from the programming tool 3 to the cycle master module 12, and the motion control module 13 The user program is uploaded / downloaded from the programming tool 3 via the cycle master module 12. Further, another serial port SP2 of the cycle master module 12 is connected to the CPU unit 1a of the host controller 1.

モーションコントロールモジュール13は、サイクルマスタモジュール12によって同期制御されるものであり、モーションコントロールモジュール13のユーザプログラムの実行処理によって、サーボドライバ5に対して制御信号を出力する。そして、サーボドライバ5が制御対象のサーボモータ4を制御することによって、実際にモーション制御を行うものである。サイクルマスタモジュール12は、上位コントローラ1から命令を受けて、サイクルマスタモジュール12自身のユーザプログラムを演算実行する機能や、その演算実行の処理結果に基づいて各モーションコントロールモジュールを同期動作させるためのタイミングを生成する機能や、処理を終えたときにその結果を上位コントローラ1に通信する機能、さらにプログラミングツール3と通信を行う機能、自身あるいはモーションコントロールモジュール13と外部の装置である上位コントローラ1または表示器2との間のデータの受け渡し(ゲートウェイ)をする機能などを備えている。なお、図ではモーションコントロールモジュール13とサーボドライバ5とを別体としているが、モーションコントロールモジュール13にサーボドライバ5を内蔵させた構成としてもよい。   The motion control module 13 is synchronously controlled by the cycle master module 12 and outputs a control signal to the servo driver 5 by execution processing of the user program of the motion control module 13. The servo driver 5 actually controls the motion by controlling the servo motor 4 to be controlled. The cycle master module 12 receives a command from the host controller 1 and performs a function for executing the user program of the cycle master module 12 itself, and a timing for causing each motion control module to operate synchronously based on the processing result of the execution. A function for generating a function, a function for communicating the result to the host controller 1 when processing is completed, a function for communicating with the programming tool 3, and the host controller 1 or display which is an external device itself or the motion control module 13 A function of transferring data (gateway) to and from the device 2 is provided. In the figure, the motion control module 13 and the servo driver 5 are separated from each other. However, the servo driver 5 may be built in the motion control module 13.

つまり、従来と本実施例とを対比して説明すると、従来の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 cycle master module 12 performs communication with the CPU unit of the PLC. The motion control module 13 connected to the cycle master module via the bus executes processing related to motion control. As a result, high-speed and high-precision control can be performed.

さらに、モーションコントロールモジュール13は複数連結可能、着脱可能となっているので、用途に合わせてモーションコントロールモジュール13の台数を増減することができ、アプリケーションにあわせたコントローラ構造が構築でき、必要十分で適切なスペース・コストとなり好ましい。コントローラとして、それぞれのモジュールが成すべき処理を分散させて各モジュールにユーザプログラムを持たせることが可能であるため、複数モジュール構成となっても処理能力を低下させることなく実行させることも可能である。   Furthermore, since a plurality of motion control modules 13 can be connected and detached, the number of motion control modules 13 can be increased or decreased according to the application, and a controller structure suitable for the application can be constructed. This is preferable because it requires a large space cost. As a controller, it is possible to distribute the processing to be performed by each module and have each module have a user program. Therefore, even if it has a multi-module configuration, it can be executed without reducing the processing capacity. .

さらに、モーションコントロールモジュール13を複数連結した場合、後述する同期バスの活用により別のモーションコントロールモジュール13が持つI/Oの情報を高速で入手するとともに自モジュールの処理に使用することも可能である。よって、例えば、パルス入出力機能を有するモーションコントロールモジュール13がアナログ入出力機能を有する他のモーションコントロールモジュールからアナログ入力情報を同期バスを介して入手し、如何にも自モジュールが内蔵するI/Oかのように使用して自モジュールのパルス出力制御などに使用することが可能である。これにより、より複雑な制御も高速かつ高精度に行うことができる。   Further, when a plurality of motion control modules 13 are connected, it is possible to obtain I / O information of another motion control module 13 at a high speed and use it for processing of the own module by utilizing a synchronous bus described later. . Therefore, for example, the motion control module 13 having a pulse input / output function obtains analog input information from another motion control module having an analog input / output function via a synchronous bus, and the I / O built in the module itself is no matter what. As such, it can be used for pulse output control of its own module. Thereby, more complicated control can be performed at high speed and with high accuracy.

次に、上述した処理機能を実現するための具体的なモジュールの構成を説明する。図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 cycle master module 12 and the motion control module 13 have MPUs 12a and 13a, ROMs 12b and 13b, and RAMs 12c and 13c, and the system software of each module 12 and 13 is MPU 12a or 13a or ROM 12b, 13b. The ROMs 12b and 13b may be flash ROMs, for example, and user programs created by the user are also stored in the ROMs 12b and 13b as a backup.

図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 RAMs 12c and 13c. When the user program is executed, the ROMs 12b and 13b are expanded to the RAMs 12c and 13c when the power is turned on. Run it.

また、変数エリア(変数メモリ)はユーザプログラムにて使用するためのエリアであり、各モジュール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 modules 12 and 13 and information exchanged between the modules. The work area is an area used by the system software of the modules 12 and 13 for system execution.

これらのMPU12a,13a,ROM12b,13b,RAM12c,13cの機能は、PLCを構成するCPUユニットや、モーションコントロールニットなどに実装されるものと基本的に同様である。   The functions of these MPUs 12a, 13a, ROMs 12b, 13b, and RAMs 12c, 13c are basically the same as those mounted on the CPU unit, motion control unit, etc. constituting the PLC.

さらにモーションコントロールモジュール13は、サーボモータなどの制御対象を含むI/O機器(外部装置)を制御するためのパルス入出力やアナログ入出力回路13hを有し、それら各入出力回路13hは、特殊I/Oポート13iを介して外部のI/O機器と接続されるようになっている。ここに接続されるI/O機器としては、図1に示すサーボモータ4を制御するサーボドライバ5がある。そして、外部のI/O機器(入力機器)から取得した入力信号は、MPU13aに与えられ(パルス入力回路はASIC13gを介して)、MPU13aから外部のIO機器(出力機器)へ対して送るデータは、アナログ出力回路,パルス出力回路13hを介して行われる。   Furthermore, the motion control module 13 has pulse input / output and analog input / output circuits 13h for controlling I / O devices (external devices) including controlled objects such as servo motors. It is connected to an external I / O device via the I / O port 13i. As an I / O device connected here, there is a servo driver 5 for controlling the servo motor 4 shown in FIG. The input signal acquired from the external I / O device (input device) is given to the MPU 13a (the pulse input circuit is via the ASIC 13g), and the data sent from the MPU 13a to the external IO device (output device) is The analog output circuit and the pulse output circuit 13h are used.

また、モーションコントロールモジュール13には、装置構成の共通化を図る上でパルスの入出力回路とアナログの入出回路13hの両方を設けたが、実際の運用に際しては、それら全てを用いてもよいし、パルスとアナログのうちの一方のみとしたり、入力回路のみあるいは出力回路のみを実際に稼働するようにしてもよい。このようにどの種類を有効にするかは、システム設定(図3参照)により設定されている。また、モーションコントロールモジュール13の外部I/Fとしてこれらパルス・アナログ入出力回路だけではなく通信I/Fを設けてもよい。   The motion control module 13 is provided with both a pulse input / output circuit and an analog input / output circuit 13h in order to make the apparatus configuration common. However, all of them may be used in actual operation. Only one of the pulse and the analog may be used, or only the input circuit or only the output circuit may be actually operated. In this way, which type is enabled is set by the system setting (see FIG. 3). In addition to the pulse / analog input / output circuit, a communication I / F may be provided as an external I / F of the motion control module 13.

さらに、サイクルマスタモジュール12,モーションコントロールモジュール13は、外部I/FとしてI/Oポート12j,13jを有し、そのI/Oポート12j,13jに接続された機器とMPU12a,13aとの間でデータの送受が可能となる。つまり、モーションコントロールモジュール13では、直接モータ制御するための汎用的なI/O機能部(パルスまたはアナログなど)と、直接外部機器(ON/OFFセンサ、アナログセンサ、エンコーダなど)から情報を入手するI/O機能部を有する。   Furthermore, the cycle master module 12 and the motion control module 13 have I / O ports 12j and 13j as external I / Fs, and between the devices connected to the I / O ports 12j and 13j and the MPUs 12a and 13a. Data can be sent and received. That is, the motion control module 13 obtains information from a general-purpose I / O function unit (pulse or analog, etc.) for direct motor control and directly from an external device (ON / OFF sensor, analog sensor, encoder, etc.). It has an I / O function part.

各モジュールは、上述した各外部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 / O ports 12j, 13j, special I / O port 13i, etc.) described above, and the obtained computation results are predetermined. The control is cyclically repeated by outputting via the external I / F (processing for one cycle will be described later with reference to FIGS. 6 and 7). Thus, since a general-purpose interface can be used for motor control, an appropriate one can be selected from commercially available motors. Further, since the motor control means is pulsed or analog as compared with the communication network, the command becomes continuous and smooth control can be realized.

また、各モジュールでのモーターコントロールにおいて、数軸(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 end module 14 has a bus connection termination function 14a for terminating each of the buses. The motion control module 13 includes a shared memory 13f connected to the event bus, and the cycle master module 12 includes an event transmission / reception ASIC 12d connected to the event bus. The event transmission / reception ASIC 12d has a function of interpolating data transmission / reception when the cycle master module accesses the shared memory 13f in the motion control module 13, and the cycle master module uses the event transmission / reception ASIC 12d as a gateway. The function of. For example, when an event, a program, or the like is sent from the host controller 1 or programming tool 3 to the motion control module 13, the event related to the shared memory 13f of the corresponding motion control module 13 (specified by the module number or the like) Store. In addition, the motion control module 13 executes a process of reading data stored in the shared memory 13f and returning it to the external host controller 1 as a response to the event.

このイベントバスを介して伝送されるデータは、一般に容量が大きく伝送に時間がかかるため、従来のモーションコントロールユニットのようにサイクリックに行なわれる周辺サービスの時に行なうと、時間がかかり本来のモーション制御に支障を来すおそれがあるが、本実施の形態では、モーション制御を行なわないサイクルマスタモジュール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 cycle master module 12 that does not perform motion control executes the data transfer, there is no problem in motion control. Further, since the event bus is provided separately from the synchronization bus for performing the synchronization control, data for synchronization control can be transmitted and received via the synchronization bus in parallel with the access to the shared memory 13f. There will be no hindrance.

同期バスに接続される同期用ASIC12e,13eが各モジュール12,13内にそれぞれ実装され、同期用ASIC12e,13eにMPU12a,13aが接続される。この同期用ASIC12e,13eは、データリング方式により同期バスに接続された他の全てのモジュール内の同期用ASIC12e,13eに対して一斉同報でデータを送信でき、内部に送受信データを一次記憶するためのバッファエリアを持っている。つまり、同期用ASICから同期バスにデータを出力することにより、他のモジュールの同期用ASIC12e,13eは、送られてきたデータを内部のバッファエリアに取り込むことができる。より具体的には、順次1つのモジュールが送信元となって他モジュールへ同期データを一斉同報することによりすべてのモジュールが共通データを共有するものである。このように本発明の要部の1つとなる同期バスを介してデータを送受することにより同期をとる仕組みの詳細については、後述する。   Synchronization ASICs 12e and 13e connected to the synchronization bus are mounted in the modules 12 and 13, respectively, and MPUs 12a and 13a are connected to the synchronization ASICs 12e and 13e. The synchronization ASICs 12e and 13e can transmit data to the synchronization ASICs 12e and 13e in all other modules connected to the synchronization bus by the data ring method in a simultaneous broadcast, and internally store transmission / reception data. Has a buffer area for. That is, by outputting data from the synchronization ASIC to the synchronization bus, the synchronization ASICs 12e and 13e of the other modules can take the transmitted data into the internal buffer area. More specifically, all modules share common data by simultaneously broadcasting synchronous data to other modules with one module sequentially as a transmission source. The details of the mechanism for achieving synchronization by transmitting and receiving data via the synchronization bus, which is one of the main parts of the present invention, will be described later.

このように、各モジュール間が同期バスとイベントバスの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 motion control modules 13 are connected, and module numbers # 1, # 2, and # 3 are set, respectively. The module number of the cycle master module 12 is # 0.

同期用ASIC12e、13eを用いたデータリンク方式によって同期バスにて各モジュール間で共有されたデータは、自モジュール分も他モジュール分も含めてRAM12c,13cの変数メモリ内のモジュール間同期データ記憶エリア(図3参照)に転送され、格納される。このモジュール間同期データ記憶エリアは、図4に示すように各モジュール毎に割付けられており、毎サイクルにおいてすべてのモジュールの情報が共有され、各モジュールでは自モジュール内のモジュール間同期データ記憶エリアを参照することにより、すべてのモジュールの同期データを参照することができる。   The data shared between the modules via the synchronization bus by the data link method using the synchronization ASICs 12e and 13e is the module-synchronized data storage area in the variable memory of the RAMs 12c and 13c, including the own module and other modules. (See FIG. 3) and stored. This inter-module synchronization data storage area is allocated to each module as shown in FIG. 4, and information on all modules is shared in each cycle. Each module has an inter-module synchronization data storage area in its own module. By referencing, the synchronization data of all modules can be referenced.

つまり、サイクルマスタモジュール12では、自モジュールが管理するデータは、#0の記憶エリアに格納するとともに、所定のタイミングで#0に格納されたデータを他のモーションコントロールモジュール13に送る。これにより、他の全てのモーションコントロールモジュール13は、送られてきたデータを受信するとともに、自己の変数メモリ内のモジュール間同期データ記憶エリアの#0に割り当てられた記憶エリアに格納する。実際には、同期用ASIC内のバッファエリアに一次記憶したデータを、所定のタイミングでモジュール間同期データ記憶エリア13eへ移す同期バスリフレッシュにより実現する。また、各モーションコントロールモジュール13(たとえば「#1」)も、自身が管理するデータ#1を送信すると、他のモーションコントロールモジュール13(たとえば「#2」,「#3」)やサイクルマスタモジュール12がその#1のデータを受信するとともに該当するモジュール間同期データ記憶エリア中の#1に割り当てられた記憶エリアに格納する。   That is, in the cycle master module 12, the data managed by the module is stored in the # 0 storage area, and the data stored in # 0 is sent to another motion control module 13 at a predetermined timing. As a result, all the other motion control modules 13 receive the transmitted data and store it in the storage area assigned to # 0 of the inter-module synchronization data storage area in its own variable memory. Actually, this is realized by synchronous bus refresh in which data temporarily stored in the buffer area in the synchronization ASIC is transferred to the inter-module synchronous data storage area 13e at a predetermined timing. Also, each motion control module 13 (for example, “# 1”) also transmits data # 1 managed by itself, and other motion control modules 13 (for example, “# 2”, “# 3”) or cycle master module 12 Receives the # 1 data and stores it in the storage area assigned to # 1 in the corresponding inter-module synchronization data storage area.

この同期データの共有は、各サイクルごとに行う。そして、各モジュールが送るデータは、他のモジュールでもユーザプログラムの実行の際に参照するデータとする。これにより、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 motion control module 13 sequentially transmits the synchronization data of its own module to the synchronous bus in a simultaneous broadcast, and the other modules (each motion control module 13 and the cycle master module 12) have been transmitted. It corresponds to a series of data transmission / reception to receive. Synchronous data transmission / reception also corresponds to data transmission / reception in which the cycle master module 12 transmits the synchronization data of its own module to the synchronization bus in a simultaneous broadcast, and each motion control module 13 receives the transmitted data. The synchronization data transmission / reception of the cycle master module 12 is executed when the cycle master module 12 recognizes it after the transmission / reception of a series of synchronization data of all the motion control modules 13 is completed.

同期バスリフレッシュは、各モジュールがそれぞれ同期用ASIC12eまたは13eのバッファエリアから、変数メモリ12cまたは13c内のモジュール間同期データ記憶エリア中の割り当てられた記憶エリアにすべての同期データを転送し格納することに対応する。この同期バスリフレッシュは、サイクルマスタモジュールの管理によって、全てのモーションコントロールモジュール13による一連の同期データの送受信とサイクルマスタモジュール12の同期データを送受信とが完了したことに基づいて行う。   In synchronous bus refresh, each module transfers and stores all synchronous data from the buffer area of the synchronization ASIC 12e or 13e to the allocated storage area in the inter-module synchronous data storage area in the variable memory 12c or 13c. Corresponding to This synchronization bus refresh is performed based on the completion of transmission / reception of a series of synchronization data by all the motion control modules 13 and transmission / reception of the synchronization data of the cycle master module 12 by management of the cycle master module.

この同期バスリフレッシュを実現するやりかたは複数ある。一例として、各モーションコントールモジュール13が、サイクルマスタモジュール12から一斉同報で送信されてきた同期データを受信したことに連動して、同期用ASIC13eのバッファエリアからモジュール間同期データ記憶エリアにすべての同期データを転送し格納するように動作するようにしてもよい。別の例としては、サイクルマスタモジュール12が同期データを同期バスへ一斉同報で送信した後、さらに同期バスを介して各モーションコントロールモジュール13に対して同期データリフレッシュ処理のトリガ信号を一斉同報で送信するようにしてもよい。この別例においては、各モーションコントロールモジュール13は、サイクルマスタモジュール12から一斉同報で送信されてきた同期データを受信したことに連動して同期バスリフレッシュ処理をするのではなく、サイクルマスタモジュール12からの同期バスリフレッシュ処理トリガ信号を契機にして同期バスリフレッシュ処理をすることとなる。   There are multiple ways to achieve this synchronous bus refresh. As an example, all the motion control modules 13 receive all the synchronous data transmitted from the cycle master module 12 by simultaneous broadcast, and all the data is transferred from the buffer area of the synchronization ASIC 13e to the inter-module synchronous data storage area. The synchronization data may be transferred and stored. As another example, after the cycle master module 12 transmits synchronous data to the synchronous bus in a simultaneous broadcast, a trigger signal for synchronous data refresh processing is simultaneously broadcast to each motion control module 13 via the synchronous bus. You may make it transmit by. In this alternative example, each motion control module 13 does not perform the synchronous bus refresh process in conjunction with the reception of the synchronous data transmitted from the cycle master module 12 by simultaneous broadcast, but the cycle master module 12 The synchronous bus refresh process is triggered by the synchronous bus refresh process trigger signal from.

各モーションコントロールモジュール13の処理の同期について説明する。 各モーションコントロールモジュール13は、他の各モーションコントロールモジュール13からの同期データを受信した後、最後にサイクルマスタモジュール12から同期データを受信するので、サイクルマスタモジュール12からの同期データ受信により、そのサイクルでの同期データの送受信は完了したと判断できる。よって各モーションコントロールモジュール13はサイクルマスタモジュールからの同期データ受信を契機として、同期バスリフレッシュを行い、自モジュールのユーザプログラムの演算処理を行う。つまり、各モーションコントロールモジュール13は、サイクルマスタモジュール12からの同期データを受信することを契機として図6に示す1サイクル分の処理、つまり状態別処理と周辺サービス処理を行う。こうすることで各モーションコントロールモジュール13同士が同期を取って演算処理を実行することができる。   The synchronization of the processing of each motion control module 13 will be described. Since each motion control module 13 receives synchronization data from each of the other motion control modules 13 and finally receives synchronization data from the cycle master module 12, the cycle is received by receiving the synchronization data from the cycle master module 12. It can be determined that the transmission / reception of the synchronization data is completed. Therefore, each motion control module 13 performs synchronous bus refresh triggered by reception of synchronous data from the cycle master module, and performs arithmetic processing of the user program of its own module. That is, each motion control module 13 performs processing for one cycle shown in FIG. 6, that is, state-specific processing and peripheral service processing, when receiving the synchronization data from the cycle master module 12. By doing so, the motion control modules 13 can synchronize and execute the arithmetic processing.

なお、「同期データ受信を契機として」の意味には、前述の同期データリフレッシュ処理の別例のように、サイクルマスタモジュール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 cycle master module 12 as in another example of the synchronous data refresh process described above. In this case, each motion control module 13 performs processing for one cycle shown in FIG. 6 in response to the synchronous bus refresh processing trigger signal from the cycle master module 12.

そして、サイクルマスタモジュール12における動作内容は図7に示すフローチャートのようになっている。初めに、電源ONに伴う初期化処理(S21)を実行後、まず共通処理を行なう(S22)。この共通処理で、サイクルマスタモジュール12は、同期データ受信管理、同期データ送信および同期バスリフレッシュを行う。サイクルマスタの同期データ送受信の処理は、全てのモーションコントロールモジュール13の一連の同期データの送受信が完了したかどうかを管理していて、その完了後に、自モジュールの同期データを同期バスへ一斉同報で送信する処理である。同期バスリフレッシュ処理は、すべてのモーションコントロールモジュールから受信した同期データをASIC12eのバッファエリアからモジュール間同期データ記憶エリアへ転送し格納する処理である。なお、前述の同期バスリフレッシュ処理の別例のように、サイクルマスタモジュール12から同期バスリフレッシュ処理トリガ信号を出力する場合は、そのトリガ信号出力処理を含む。   The operation contents in the cycle master module 12 are as shown in the flowchart of FIG. First, after executing the initialization process (S21) when the power is turned on, the common process is first performed (S22). In this common processing, the cycle master module 12 performs synchronous data reception management, synchronous data transmission, and synchronous bus refresh. The synchronization data transmission / reception process of the cycle master manages whether or not a series of synchronization data transmission / reception of all the motion control modules 13 has been completed, and after that, the synchronization data of the own module is simultaneously broadcast to the synchronization bus. It is the process which transmits with. The synchronous bus refresh process is a process for transferring and storing the synchronous data received from all the motion control modules from the buffer area of the ASIC 12e to the inter-module synchronous data storage area. In addition, when outputting a synchronous bus refresh process trigger signal from the cycle master module 12 as in another example of the synchronous bus refresh process described above, the trigger signal output process is included.

また、サイクルマスタモジュール12がこの共通処理を別途定時割り込み処理で実行することができるが詳細は後述する。   Further, the cycle master module 12 can separately execute this common process by a scheduled interrupt process, which will be described later in detail.

同期バスリフレッシュを終了すると、次いで、状態別処理(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 variable memory 12c as the synchronization data of the next cycle.

そして、周辺サービス処理を実行する(S24)。サイクルマスタモジュール12においては、イベントバスを介して行なうモーションコントロールモジュール13との間のイベント等の送受に加え、外部の装置(上位コントローラ1やプログラミングツール3)との間の通信を行なう。このように、サイクルマスタモジュール12は、イベントバスサービスにより高速交換を要求されないデータの交換や接続される周辺機器のサービス要求により必要によりイベントバスサービスにてモーションコントロールモジュール13へのイベントを発行する。このように、共通処理S22,状態別処理S23,周辺処理S24をサイクリックに繰り返し実行する。   Then, peripheral service processing is executed (S24). The cycle master module 12 communicates with external devices (the host controller 1 and the programming tool 3) in addition to sending and receiving events and the like with the motion control module 13 through the event bus. As described above, the cycle master module 12 issues an event to the motion control module 13 in the event bus service as necessary in accordance with the exchange of data that is not required to be exchanged at high speed by the event bus service or the service request of the connected peripheral device. In this way, the common process S22, the state-specific process S23, and the peripheral process S24 are cyclically repeated.

モーションコントロールモジュール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 MPU 13a of the motion control module 13 is as shown in the flowchart of FIG. After executing the initialization process (S11) when the power is turned on, the common process is first performed (S12). In the common process, a process for transmitting its own synchronous data to the synchronous bus in a simultaneous broadcast, a standby process, and a synchronous bus refresh are performed. The standby process will be described later at the standby position in FIG. Then, through the standby process, the synchronization ASIC 13e receives the synchronization data from the cycle master module 12, and executes the synchronization bus refresh in response to this. This synchronization bus refresh is performed when the ASIC 13e receives the synchronization data transmitted from the cycle master module 12 via the synchronization bus by the MPU 13a and the synchronization data received from the other motion control modules 13 received by the ASIC. The synchronous data from the cycle master module 12 is transferred and stored in the inter-module synchronous data storage area 13e. Since all the motion control modules 13 perform the same process, the timing can be matched when the synchronization data is received from the cycle master module 12, and the process shifts to the state-specific process (S23). About this opportunity, it can also be triggered by receiving a synchronous bus refresh process trigger signal from the cycle master module 12 like another example of the above-mentioned synchronous bus refresh process.

同期バスリフレッシュを終了すると、次いで、状態別処理(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 variable memory 13c.

周辺サービス処理は、モーションコントロールモジュールの場合には、イベントバスを介して行なわれるイベント等のデータの送受であるが、頻繁に行なわれることはないので、通常はすぐに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 cycle master module 12 and arithmetic processing is started, so that synchronization can be established between modules.

すなわち、上記のサイクルマスタモジュール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 cycle master module 12, the timing chart as shown in FIG. 8 is obtained. In FIG. 8, CM means the cycle master module, and MM # 1 and MM # 2 mean the motion control module 13. BC means synchronous data transmission, and RF means synchronous bus refresh. The common processing of the motion control module shown in FIG. 6 corresponds to BC (synchronous data transmission), standby and RF (synchronous bus refresh) of MM # 1 and MM # 2 shown in FIG. The common processing of the cycle master module shown in FIG. 7 corresponds to the CM BC (synchronous data transmission) and RF (synchronous bus refresh) shown in FIG. The synchronization data reception management of FIG. 7 is omitted in FIG. A series of processes for executing the state-specific processes (S13, S23) and the peripheral service processes (S14, S24) shown in FIGS. 6 and 7 correspond to the cycle processes of the modules shown in FIG. Although not shown in FIGS. 6, 7, and 8, synchronization data transmitted from other modules while each module is executing cycle processing or standby processing is automatically stored in the buffer area in the synchronization ASIC of each module. It is captured. In the example of FIG. 8, when the power of the synchronous controller is turned on, the motion control module MM2 transmits synchronous data after the power-on initial processing (BC of MM # 2). The synchronous data transmission of the motion control module MM # 2 corresponds to “# 2” in FIG. That is, the synchronization data transmitted from the buffer area in the synchronization ASIC of the motion control module MM # 2 is received by the buffer area in the ASIC 12e of the cycle master module CM and the buffer area in the ASIC 13e of the motion control module MM # 1 and other. . Then, the motion control module MM # 2 performs standby processing until the synchronization data transmission of the cycle master module CM is completed. The motion control module MM1 also transmits the synchronization data after the power ON initial processing (BC of MM # 1). This synchronous data transmission corresponds to “# 1” in FIG. Thereafter, the motion control module MM # 1 performs standby processing until the synchronization data transmission of the cycle master module CM is completed. The cycle master module CM confirms that all motion control modules have transmitted and received the synchronization data, and then transmits its own synchronization data (CM BC). This synchronous data transmission corresponds to “# 0” in FIG. Since synchronous data transmission / reception has been completed between all modules, each module performs synchronous bus refresh. That is, the synchronous data is transferred from the buffer area of the ASICs 12e and 13e to the inter-module synchronous data area and stored. Next, the cycle master module CM itself starts 1-scan processing, and the motion control modules MM # 1 and MM # 2 also start 1-scan processing in synchronization. Thereafter, the same process is repeated, and the process according to the state of each module is executed synchronously at the same timing as t2 and t3. In another example, after the cycle master module sends the synchronization data to the synchronization bus in a simultaneous broadcast, the trigger signal for the synchronization bus refresh process is sent to the motion control module through the synchronization bus. Each motion control module 13 does not perform the synchronous bus refresh process in conjunction with the reception of the synchronous data transmitted from the cycle master module 12 by simultaneous broadcast, but the synchronous bus refresh from the cycle master module 12. Synchronous bus refresh processing is performed in response to the processing trigger signal. In any case, one cycle time (Tcm) that combines the cycle processing and common processing of the cycle master module is equal to one cycle time (Tmm) that combines the cycle processing and common processing of each motion control module.

また、処理負荷量によりサイクルマスタモジュールのサイクル処理時間が大きくなるような場合には、サイクルマスタモジュールの同期データ送信を共通処理から切り離し、任意に設定可能な定時時間割り込み処理にて実行させることもできる。これにより、モーションコントロールモジュール間ではサイクルマスタモジュールのサイクル処理時間に引きずられること無く高速に一定時間間隔で同期バスリフレッシュを実施し、情報の共有を行うとともに同期を取ることができる。すなわち図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 motion control module 13 starts the next cycle process. This prevents the standby time of the motion control module 13 from being inadvertently increased.

この結果、たとえサイクルマスタモジュール12における周辺サービスに要する時間が長くなりサイクルタイムが長くなっても、モーションコントロールモジュール13におけるサイクルタイムを最小化し,一定サイクルの安定性を確保できる。つまり、サイクルマスタモジュールの1周期時間(Tcm)に比較して、各モーションコントロールモジュールの1周期時間
(Tmm)を短くすることができる。
As a result, even if the time required for the peripheral service in the cycle master module 12 becomes long and the cycle time becomes long, the cycle time in the motion control module 13 can be minimized and the stability of a constant cycle can be secured. That is, one cycle time (Tmm) of each motion control module can be shortened compared to one cycle time (Tcm) of the cycle master module.

そして、上記の2つの方式のうち、いずれの方式を採るかは、サイクルマスタモジュール12のシステム設定によりその手段が決定される。また、各モジュールで同期データが不要な場合には同期バスリフレッシュを停止し、それぞれ非同期にてイベントバスのみでデータ交換し単独で処理を行う設定とすることも可能である。   Then, which of the two methods is used is determined by the system setting of the cycle master module 12. In addition, when synchronous data is not required in each module, it is possible to stop the synchronous bus refresh, and to perform the processing independently by exchanging data asynchronously with only the event bus.

本発明の好適な一実施の形態を示す全体システム図である。1 is an overall system diagram showing a preferred embodiment of the present invention. 本発明の同期コントローラの内部構造(ハードウェア構成)を示すブロック図である。It is a block diagram which shows the internal structure (hardware structure) of the synchronous controller of this invention. 本発明の同期コントローラの内部構造(ソフトウェア構成)を示すブロック図である。It is a block diagram which shows the internal structure (software structure) of the synchronous controller of this invention. 同期バスを利用した同期制御について説明する図である。It is a figure explaining the synchronous control using a synchronous bus. 同期データの種類を説明する図である。It is a figure explaining the kind of synchronous data. モーションコントロールモジュールの処理機能を説明するフローチャートである。It is a flowchart explaining the processing function of a motion control module. サイクルマスタモジュールの処理機能を説明するフローチャートである。It is a flowchart explaining the processing function of a cycle master module. 同期処理と、各モジュールの1スキャン(サイクルタイム)の関係を示すタイムチャートである。It is a time chart which shows the relationship between a synchronous process and 1 scan (cycle time) of each module. 同期処理と、各モジュールの1スキャン(サイクルタイム)の関係を示すタイムチャートである。It is a time chart which shows the relationship between a synchronous process and 1 scan (cycle time) of each module.

符号の説明Explanation of symbols

1 上位コントローラ
2 表示器
3 プログラミングツール
4 サーボドライバ
5 サーボモータ
10 同期コントローラ
11 電源モジュール
12 サイクルマスタモジュール
13 モーションコントロールモジュール
14 エンドモジュール
1 Host Controller 2 Display 3 Programming Tool 4 Servo Driver 5 Servo Motor 10 Synchronous Controller 11 Power Supply Module 12 Cycle Master Module 13 Motion Control Module 14 End Module

Claims (10)

コントローラ全体の同期を制御するサイクルマスタモジュールと、制御対象機器を制御する複数台のコントロールモジュールとが、各モジュール間の同期制御のための同期データを扱う同期バスと、前記同期制御とは別の周辺処理のためのデータを扱うイベントバスとからなる2重バス構造で接続され、各モジュールを一体連結してなる同期コントローラであって、
前記各コントロールモジュールのそれぞれは、同期バスを介して他のコントロールモジュールとの間で同期データを送信または受信するとともに前記サイクルマスタモジュールとの間で同期データを受信し、それら受信した同期データにより同期データをデータリフレッシュする処理、データリフレッシュした同期データに基づき、制御対象機器の動作を制御するためのユーザプログラムを演算実行する処理、イベントバスを介してデータを送信または受信する周辺処理、の各処理をサイクリックに実行するものであり、
前記サイクルマスタモジュールは、周期的に、同期バスを介して前記各コントロールモジュールへ同期データを送信する処理を実行するものであり、
前記各コントロールモジュールは、同期バスを介して前記サイクルマスタモジュールからの同期データの受信を契機に、サイクリック実行における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.
コントローラ全体の同期を制御するサイクルマスタモジュールと、制御対象機器を制御する複数台のコントロールモジュールとが、各モジュール間の同期制御のための同期データを扱う同期バスと、前記同期制御とは別の周辺処理のためのデータを扱うイベントバスとからなる2重バス構造で接続され、各モジュールを一体連結してなる同期コントローラであって、
前記各コントロールモジュールのそれぞれは、同期バスを介して、他のコントロールモジュールとの間で同期データを送信または受信するとともに前記サイクルマスタモジュールとの間で同期データを受信し、それら受信した同期データにより同期データをデータリフレッシュする処理、データリフレッシュした同期データに基づき、制御対象機器の動作を制御するためのユーザプログラムを演算実行する処理、イベントバスを介してデータを送信または受信する周辺処理、の各処理をサイクリックに実行するものであり、
前記サイクルマスタモジュールは、周期的に、同期バスを介して前記各コントロールモジュールへ同期データを送信した後にリフレッシュトリガを送信する処理を実行するものであり、
前記各コントロールモジュールは、同期バスを介して前記サイクルマスタモジュールからのリフレッシュトリガの受信を契機に、サイクリック実行における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.
前記サイクルマスタモジュールと前記コントロールモジュールとは、同期バスと、同期バスが扱うデータの量に比較して大量のデータを扱うイベントバスとからなる2重バス構造で接続されて一体連結されてなり、
前記サイクルマスタモジュールのサイクリック実行において、ユーザプログラム演算実行処理の後に、イベントバスを介して他のモジュールまたは外部装置との間でデータを送信または受信する周辺処理を行なう、
ことを特徴とする請求項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.
前記サイクルマスタモジュールと前記コントロールモジュールとは、同期バスと、同期バスが扱うデータの量に比較して大量のデータを扱うイベントバスとからなる2重バス構造で接続されて一体連結されてなり、
前記サイクルマスタモジュールのサイクリック実行において、ユーザプログラム演算実行処理の後に、イベントバスを介して他のモジュールまたは外部装置との間でデータを送信または受信する周辺処理を行ない、
前記各コントロールモジュールのサイクリック実行において、ユーザプログラム演算実行処理の後に、イベントバスを介して他のモジュールとの間でデータを送信または受信する周辺処理を行なう
ことを特徴とする請求項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.
請求項6,9のいずれかに記載の同期コントローラと、上位コントローラと、からなるコントローラシステムであって、
前記サイクルマスタモジュールは、外部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.
JP2005069653A 2004-03-11 2005-03-11 Synchronous controller and controller system Expired - Fee Related JP3852469B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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