JP2005293569A - Synchronous controller - Google Patents

Synchronous controller Download PDF

Info

Publication number
JP2005293569A
JP2005293569A JP2005069653A JP2005069653A JP2005293569A JP 2005293569 A JP2005293569 A JP 2005293569A JP 2005069653 A JP2005069653 A JP 2005069653A JP 2005069653 A JP2005069653 A JP 2005069653A JP 2005293569 A JP2005293569 A JP 2005293569A
Authority
JP
Japan
Prior art keywords
module
synchronous
data
bus
synchronization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005069653A
Other languages
Japanese (ja)
Other versions
JP2005293569A5 (en
JP3852469B2 (en
Inventor
Shuji Otani
修史 大谷
Masakazu Komatsu
雅和 小松
Yasuhiro Mori
康浩 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to 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)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a synchronous controller capable of simply establishing synchronization among modules, of suppressing influence on a calculation process for controlling a control object in a control module as much as possible, and of reducing a load on each module. <P>SOLUTION: This synchronous controller is provided with a cycle master module and one or more motion control modules. The respective modules are connected through a double bus structure, comprising a synchronous bus and an event bus for handling a large amount of data. The motion control modules each have a function for cyclically carrying out execution of a user program for controlling an object apparatus to be controlled. The cycle master module has the function of exchanging data with an external device other than the object apparatus to be controlled and for exchanging data with the control modules through the event bus and the synchronous bus. Each of the control modules carries out one cycle of the execution of the user program, by using reception of synchronous data transmitted from the cycle master module through the synchronous bus as a condition. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

この発明は、同期コントローラに関するものである。   The present invention relates to a synchronous controller.

生産工場(製造現場)に設置されるファクトリーオートメーション(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 the network type.

特開2002-001000JP2002-001000 特開2001-070678JP 2001-070678 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 that can suppress the load as much as possible and reduce the load on each module.

この発明による同期コントローラは、サイクルマスタモジュールと、少なくとも1台以上のコントロールモジュールを備え、サイクルマスタモジュールとコントロールモジュールとは、同期バスと、同期バスが扱うデータの量に比較して大量のデータを扱うイベントバスからなる2重バス構造で接合され、コントロールモジュールは、制御対象機器の動作を制御するユーザプログラムをサイクリックに演算実行する機能を有し、サイクルマスタモジュールは、制御対象機器以外の外部装置との間のデータの送受、並びに前記コントロールモジュールに対してイベントバスおよび同期バスを用いてデータの送受を行なう機能を有し、コントロールモジュールは、サイクルマスタモジュールから同期バスを介して送られる同期データを受信することを契機に、1サイクル分の演算実行を行なうようにした。   The synchronous controller according to the present invention includes a cycle master module and at least one control module. The cycle master module and the control module store a large amount of data compared to the amount of data handled by the synchronous bus and the synchronous bus. The control module has a function to cyclically execute a user program for controlling the operation of the control target device, and the cycle master module is an external device other than the control target device. It has a function of sending / receiving data to / from the apparatus and sending / receiving data to / from the control module using an event bus and a synchronous bus. The control module is synchronized with the cycle master module via a synchronous bus. Receiving data As a result, one cycle of calculation execution is 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重構造としているためそれぞれの目的に応じたパフォーマンスのバス構造を使用することができる。これにより、扱うデータは小容量だが超高速で定時性が必要となる同期と、高速性や定時性は必要ないが取り扱うデータは大容量となるイベントの特性の異なる処理を共通のバス構造とするのではなく分離することで、利用するバス構造が高いパフォーマンスでなくても十分な同期性能を実現できる。   Since each module has a double structure of a synchronous bus and an event bus that handles a large amount of data, a bus structure with a performance corresponding to each purpose can be used. 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.

なお、所定数のコントロールモジュールは、通常は複数個で用いられるが、所定数には1個も含む。すなわち、たとえコントロールモジュールが1つであっても、イベントその他の容量の大きなデータの送受や、外部との通信などの処理をサイクルマスタモジュールに実行させることにより、コントロールモジュールは、制御対象機器に対する制御のための演算処理等に注力できるので好ましい。   The predetermined number of control modules is normally used in plural, but the predetermined number includes one. In other words, even if there is only one control module, the control module controls the control target device by causing the cycle master module to execute processing such as sending and receiving events and other large-capacity data and communication with the outside. This is preferable because it can focus on the arithmetic processing for the purpose.

各モジュールの同期の基準となるサイクルマスタモジュールからの同期データの送信タイミングは、各種の設定をすることができる。一例として、接続された全てのコントロールモジュールからの同期データを受信したことを条件に、自己の同期データを出力するようにすることができる。別の方法としては、一定間隔で同期データを出力するように設定できる。これらの設定条件を複数実装し、適宜に切り替えて実施することもできる。   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.

別の解決手段としては、制御対象機器を接続する所定数のコントロールモジュールと、その各コントロールモジュールとの間でデータ送受を行なうサイクルマスタモジュールとからなり、前記各コントローラモジュールと前記サイクルマスタモジュールが同期バスで接合された制御システムであって、前記サイクルマスタモジュールは、各コントロールモジュールとの間で同期バスを介して同期データを送受してデータ共有する同期バスリフレッシュ処理、その同期データに基づいてユーザプログラムを実行する状態別処理、をサイクリックに実行するものであり、前記各コントロールモジュールは、サイクルマスタモジュールおよび他のコントローラモジュールとの間で同期バスを介して同期データを送受してデータ共有する同期バスリフレッシュ処理、その同期データに基づいて接続制御対象機器の動作に対するユーザプログラムを実行する状態別処理、をサイクリックに実行するものであり、サイクルマスタモジュールの同期バスリフレッシュ処理によって各コントロールモジュールは同期され、サイクルマスタモジュールおよびコントロールモジュールの同期バスリフレッシュ処理によって、順次1つのモジュールが送信元となって他モジュールへ同期データを一斉同報することによりすべてのモジュールが共通データを共有するように構成しても良い。   As another solution, a predetermined number of control modules for connecting control target devices and a cycle master module for transmitting / receiving data to / from each control module, the controller module and the cycle master module are synchronized. A control system joined by a bus, wherein the cycle master module transmits and receives synchronous data to and from each control module via a synchronous bus and shares data, and a user based on the synchronous data A process according to a state for executing a program is cyclically executed, and each control module transmits and receives synchronous data to and from the cycle master module and other controller modules via a synchronous bus. Synchronous bass riff The process is cyclically executed according to the synchronization process and the state-specific process for executing the user program for the operation of the connection control target device based on the synchronization data, and the control modules are synchronized by the synchronization bus refresh process of the cycle master module. By the synchronous bus refresh processing of the cycle master module and the control module, all modules share the common data by sequentially broadcasting the synchronous data to other modules as a source. Also good.

また、コントロールモジュールは、増減可能に構成されるとよい。同期コントローラをモジュール分割された構造とし、その分割されたモジュールに1軸or2軸程度のコントロール機能とそのコントロール内容を実現するためのCPUとそのコントロールに必要なユーザプログラムを実行するプログラミング機能を搭載することにより、ユーザにおいて必要な軸数に応じてパフォーマンスの高いコントローラを構築できるようにする。また、制御軸数に応じてモジュールを付加する構造のため最適なコストと大きさでコントローラを使用することができる。そして、監視対象の変化に応じて適宜コントロールモジュールを増減することにより、最適な状態を維持できる。   The control module may be configured so that it can be increased or decreased. The synchronous controller has a module-divided structure, and the divided module is equipped with a control function of about 1 axis or 2 axes, a CPU for realizing the control contents, and a programming function for executing a user program necessary for the control. As a result, a high-performance controller can be constructed according to the number of axes required by the user. Further, the controller can be used at an optimal cost and size because of the structure in which modules are added according to the number of control axes. And an optimal state can be maintained by increasing / decreasing a control module suitably according to the change of monitoring object.

さらに、システム設定により各モジュールの同期バスを介して送受する同期データの情報種類を選択できる手段を備えるとよい。さらにまた、コントロールモジュールは、制御対象機器とデータを直接送受するためのインタフェース備えているようにするとよい。制御対象の外部機器からの情報入手手段等のインタフェースをコントロールモジュールに内蔵しているため、外部動作の変化に対して高速に反応することができ高いフィードバック制御性能を得ることができる。   Furthermore, it is preferable to provide means capable of selecting the type of information of synchronization data transmitted / received via the synchronization bus of each module according to the system setting. Furthermore, the control module may be provided with an interface for directly transmitting / receiving data to / from the control target device. Since the control module incorporates an interface for obtaining information from an external device to be controlled, the control module can respond to changes in external operation at high speed, and high feedback control performance can be obtained.

同期バスを介して行なわれるモジュール間の通信は、順次1つのモジュールが送信元となって他モジュールへ同期データを一斉同報することによりすべてのモジュールが共通データを共有する。そして、各モジュールが順番に送信元となって、全モジュールに送信元の順番がまわるようにしている。   In communication between modules performed via the synchronous bus, all modules share common data by simultaneously broadcasting synchronous data to other modules with one module as a transmission source. Each module becomes a transmission source in turn, and the order of the transmission source is rotated for all modules.

この発明では、必要な軸数に応じてパフォーマンスの高いコントローラを構築でき、モジュール間での同期を簡単に取ることができ、しかも、コントロールモジュールにおける制御対象に対する制御のための演算処理への影響を可及的に抑制すると共に、各モジュールの負荷の軽減を図ることができる。   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 by using a synchronous bus described later and to use it for processing of the own module. . 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. It is possible to use it for the 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. Further, for example, a flash ROM can be used as the ROMs 12b and 13b, and a user program created by the user is also backed up and stored in the ROMs 12b and 13b.

図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 commands are 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. 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 (14)

サイクルマスタモジュールと、少なくとも1台以上のコントロールモジュールを備え、
前記サイクルマスタモジュールと前記コントロールモジュールとは、同期バスと、同期バスが扱うデータの量に比較して大量のデータを扱うイベントバスからなる2重バス構造で接合され、
前記コントロールモジュールは、制御対象機器の動作を制御するユーザプログラムをサイクリックに演算実行する機能を有し、
前記サイクルマスタモジュールは、前記制御対象機器以外の外部装置との間のデータの送受、並びに前記コントロールモジュールに対して前記イベントバスおよび同期バスを用いてデータの送受を行なう機能を有し、
前記コントロールモジュールは、前記サイクルマスタモジュールから前記同期バスを介
して送られる同期データを受信することを契機に、1サイクル分の演算実行を行なうようにしたことを特徴とする同期コントローラ。
It has a cycle master module and at least one control module.
The cycle master module and the control module are joined 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.
The control module has a function of cyclically executing and executing a user program for controlling the operation of the device to be controlled,
The cycle master module has a function of sending / receiving data to / from an external device other than the device to be controlled, and sending / receiving data to / from the control module using the event bus and the synchronization bus,
2. The synchronous controller according to claim 1, wherein the control module performs an operation for one cycle when receiving synchronous data sent from the cycle master module via the synchronous bus.
前記コントロールモジュールが複数設けられ、
前記コントロールモジュールは、他のコントロールモジュールから前記同期バスを介して送られてきた同期データを受信するとともに、同期データ記憶エリアに格納し、その格納した同期データを演算実行の際に利用可能にしたことを特徴とする請求項1に記載の同期コントローラ。
A plurality of the control modules are provided,
The control module receives the synchronization data sent from the other control module via the synchronization bus, stores the synchronization data in the synchronization data storage area, and makes the stored synchronization data available for calculation execution. The synchronous controller according to claim 1.
コントロールモジュールは、増減可能に構成されていることを特徴とする請求項1に記載の同期コントローラ。   The synchronous controller according to claim 1, wherein the control module is configured to be adjustable. 前記サイクルマスタモジュールは、接続された全てのコントロールモジュールからの同期データを受信したことを条件に、自己の同期データを送信するようにしたことを特徴とする請求項1に記載の同期コントローラ。   2. The synchronous controller according to claim 1, wherein the cycle master module transmits its own synchronous data on condition that synchronous data from all connected control modules is received. 前記サイクルマスタモジュールは、一定間隔で同期データを出力するようにしたことを特徴とする請求項1に記載の同期コントローラ。   2. The synchronization controller according to claim 1, wherein the cycle master module outputs synchronization data at regular intervals. システム設定により各モジュールの同期バスを介して送受する同期データの情報種類を選択できる手段を備えたことを特徴とする請求項1に記載の同期コントローラ。   The synchronous controller according to claim 1, further comprising means for selecting an information type of synchronous data to be transmitted / received via a synchronous bus of each module by system setting. コントロールモジュールは、制御対象機器とデータを直接送受するためのインタフェースを備えていることを特徴とする請求項1に記載の同期コントローラ。   The synchronous controller according to claim 1, wherein the control module includes an interface for directly transmitting / receiving data to / from the control target device. 制御対象機器を接続する少なくとも1台のコントロールモジュールと、その各コントロールモジュールとの間でデータ送受を行なうサイクルマスタモジュールとからなり、前記各コントローラモジュールと前記サイクルマスタモジュールが同期バスで接合された制御システムであって、
前記サイクルマスタモジュールは、各コントロールモジュールとの間で同期バスを介して同期データを送受してデータ共有する同期バスリフレッシュ処理と、その同期データに基づいてユーザプログラムを実行する状態別処理と、をサイクリックに実行するものであり、
前記各コントロールモジュールは、サイクルマスタモジュールおよび他のコントローラモジュールとの間で同期バスを介して同期データを送受してデータ共有する同期バスリフレッシュ処理と、その同期データに基づいて接続制御対象機器の動作に対するユーザプログラムを実行する状態別処理と、をサイクリックに実行するものであり、
サイクルマスタモジュールの同期バスリフレッシュ処理によって各コントロールモジュールは同期され、
サイクルマスタモジュールおよびコントロールモジュールの同期バスリフレッシュ処理によって、順次1つのモジュールが送信元となって他モジュールへ同期データを一斉同報することによりすべてのモジュールが共通データを共有することを特徴とする制御システム。
A control composed of at least one control module for connecting a device to be controlled and a cycle master module for transmitting / receiving data to / from each control module, wherein each controller module and the cycle master module are joined by a synchronous bus. A system,
The cycle master module includes a synchronous bus refresh process for transmitting and receiving synchronous data to and from each control module via a synchronous bus and sharing the data, and a state-specific process for executing a user program based on the synchronous data. Is to run cyclically,
Each control module transmits and receives synchronous data via the synchronous bus between the cycle master module and another controller module, and performs data sharing, and operation of the connection control target device based on the synchronous data The process according to the state which executes the user program for the
Each control module is synchronized by the synchronous bus refresh process of the cycle master module,
Control characterized by the fact that all modules share common data by simultaneously broadcasting synchronous data to other modules by one module as a transmission source by synchronous bus refresh processing of the cycle master module and control module system.
前記コントロールモジュールが複数設けられ、
前記コントロールモジュールは、他のコントロールモジュールから前記同期バスを介して送られてきた同期データを受信するとともに、同期データ記憶エリアに格納し、その格納した同期データを演算実行の際に利用可能にしたことを特徴とする請求項8に記載の制御システム。
A plurality of the control modules are provided,
The control module receives the synchronization data sent from the other control module via the synchronization bus, stores the synchronization data in the synchronization data storage area, and makes the stored synchronization data available for calculation execution. The control system according to claim 8.
コントロールモジュールは、増減可能に構成されていることを特徴とする請求項8に記載の制御システム。   The control system according to claim 8, wherein the control module is configured to be increased or decreased. 前記サイクルマスタモジュールは、接続された全てのコントロールモジュールからの同期データを受信したことを条件に、自己の同期データを送信するようにしたことを特徴とする請求項8に記載の制御システム。   9. The control system according to claim 8, wherein the cycle master module transmits its own synchronization data on condition that the synchronization data from all connected control modules has been received. 前記サイクルマスタモジュールは、一定間隔で同期データを出力するようにしたことを特徴とする請求項8に記載の制御システム。   9. The control system according to claim 8, wherein the cycle master module outputs synchronization data at regular intervals. システム設定により各モジュールの同期バスを介して送受する同期データの情報種類を選択できる手段を備えたことを特徴とする請求項8に記載の制御システム。   9. The control system according to claim 8, further comprising means for selecting an information type of synchronous data to be transmitted / received via a synchronous bus of each module by system setting. コントロールモジュールは、制御対象機器とデータを直接送受するためのインタフェースを備えていることを特徴とする請求項8に記載の制御システム。   The control system according to claim 8, wherein the control module includes an interface for directly transmitting / receiving data to / from a control target device.
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 true JP2005293569A (en) 2005-10-20
JP2005293569A5 JP2005293569A5 (en) 2006-01-12
JP3852469B2 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)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310693A (en) * 2006-05-19 2007-11-29 Omron Corp Safety controller
DE112007001566T5 (en) 2006-06-23 2009-05-07 Mitsubishi Electric Corp. control device
DE112006004094T5 (en) 2006-11-30 2009-08-27 Mitsubishi Electric Corporation Communication system and communication device
EP2221686A2 (en) 2009-02-02 2010-08-25 Omron Co., Ltd. Industrial controller for synchronization control
JP2011123688A (en) * 2009-12-11 2011-06-23 Fuji Electric Systems Co Ltd Synchronizing programmable controller and synchronizing programmable controller system
JP2012003732A (en) * 2010-06-21 2012-01-05 Fuji Electric Co Ltd Programmable controller system and application start method thereof
JP2012027621A (en) * 2010-07-21 2012-02-09 Fuji Electric Co Ltd Programmable controller system and program updating method thereof
TWI452454B (en) * 2010-12-16 2014-09-11 Mitsubishi Electric Corp Sequencer system and method for controlling the same
JP2015162124A (en) * 2014-02-27 2015-09-07 株式会社アイエイアイ Control device, control system and control method
US9342068B2 (en) 2011-12-28 2016-05-17 Kabushiki Kaisha Yaskawa Denki Motion controller and motor control system
JP2016192172A (en) * 2015-03-31 2016-11-10 オムロン株式会社 Information processing device, information processing program, and information processing method
JP2017079006A (en) * 2015-10-21 2017-04-27 株式会社キーエンス Programmable logic controller, extension unit, control method, program generation support device, and program generation support method and program
JP2017535189A (en) * 2014-10-15 2017-11-24 フェニックス コンタクト ディベロップメント アンド マニュファクチャリング、インコーポレイテッド Spur insulation in fieldbus networks
KR20180086490A (en) 2016-01-07 2018-07-31 미쓰비시덴키 가부시키가이샤 Programmable controller and synchronization control program
JP2019045900A (en) * 2017-08-29 2019-03-22 オムロン株式会社 Setting device, FA system, control program, and control method of setting device
JP2019053459A (en) * 2017-09-14 2019-04-04 オムロン株式会社 Control apparatus and control method
CN110521078A (en) * 2017-02-08 2019-11-29 循环充电控股有限公司 Battery system
WO2021079599A1 (en) * 2019-10-24 2021-04-29 株式会社日立製作所 Control device and distributed control system

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007312573A (en) * 2006-05-19 2007-11-29 Omron Corp Io unit in safety controller of building block type
JP2007310693A (en) * 2006-05-19 2007-11-29 Omron Corp Safety controller
DE112007001566T5 (en) 2006-06-23 2009-05-07 Mitsubishi Electric Corp. control device
DE112007001566B4 (en) * 2006-06-23 2014-11-20 Mitsubishi Electric Corp. control device
US8126008B2 (en) 2006-11-30 2012-02-28 Mitsubishi Electric Corporation Communication system and communication apparatus
DE112006004094T5 (en) 2006-11-30 2009-08-27 Mitsubishi Electric Corporation Communication system and communication device
DE112006004094B4 (en) * 2006-11-30 2012-04-26 Mitsubishi Electric Corporation Communication system and communication device
EP2221686A2 (en) 2009-02-02 2010-08-25 Omron Co., Ltd. Industrial controller for synchronization control
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
JP2012003732A (en) * 2010-06-21 2012-01-05 Fuji Electric Co Ltd Programmable controller system and application start method thereof
JP2012027621A (en) * 2010-07-21 2012-02-09 Fuji Electric Co Ltd Programmable controller system and program updating method thereof
TWI452454B (en) * 2010-12-16 2014-09-11 Mitsubishi Electric Corp Sequencer system and method for controlling the same
US9342068B2 (en) 2011-12-28 2016-05-17 Kabushiki Kaisha Yaskawa Denki Motion controller and motor control system
JP2015162124A (en) * 2014-02-27 2015-09-07 株式会社アイエイアイ Control device, control system and control method
US10396854B2 (en) 2014-10-15 2019-08-27 Phoenix Contact Development and Manufacturing, Inc. Spur isolation in a fieldbus network
JP2017535189A (en) * 2014-10-15 2017-11-24 フェニックス コンタクト ディベロップメント アンド マニュファクチャリング、インコーポレイテッド Spur insulation in fieldbus networks
JP2016192172A (en) * 2015-03-31 2016-11-10 オムロン株式会社 Information processing device, information processing program, and information processing method
US10572420B2 (en) 2015-03-31 2020-02-25 Omron Corporation Information processing apparatus, information processing program, and information processing method
JP2017079006A (en) * 2015-10-21 2017-04-27 株式会社キーエンス Programmable logic controller, extension unit, control method, program generation support device, and program generation support method and program
DE112016006175T5 (en) 2016-01-07 2018-09-20 Mitsubishi Electric Corporation Programmable control and synchronization control program
US10416644B2 (en) 2016-01-07 2019-09-17 Mitsubishi Electric Corporation Programmable controller and synchronization control program
KR20180086490A (en) 2016-01-07 2018-07-31 미쓰비시덴키 가부시키가이샤 Programmable controller and synchronization control program
CN110521078A (en) * 2017-02-08 2019-11-29 循环充电控股有限公司 Battery system
JP2020507303A (en) * 2017-02-08 2020-03-05 リレクトリファイ ホールディングス プロプライエタリー リミテッド Battery system
CN110521078B (en) * 2017-02-08 2023-09-22 循环充电控股有限公司 Battery system
JP2019045900A (en) * 2017-08-29 2019-03-22 オムロン株式会社 Setting device, FA system, control program, and control method of setting device
JP2019053459A (en) * 2017-09-14 2019-04-04 オムロン株式会社 Control apparatus and control method
WO2021079599A1 (en) * 2019-10-24 2021-04-29 株式会社日立製作所 Control device and distributed control system
JP2021068200A (en) * 2019-10-24 2021-04-30 株式会社日立製作所 Control device and distributed control system
JP7423249B2 (en) 2019-10-24 2024-01-29 株式会社日立製作所 Control device and distributed control system
US11977362B2 (en) 2019-10-24 2024-05-07 Hitachi, Ltd. Control device and distributed control system

Also Published As

Publication number Publication date
JP3852469B2 (en) 2006-11-29

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
EP3483684B1 (en) Control system
US10908577B2 (en) Control device
WO2012090291A1 (en) Motion controller
US20100199002A1 (en) Industrial controller
US10579031B2 (en) Controller
US10356006B2 (en) Control system, development support apparatus, controller, and control method
JP2016194830A (en) Control device
JPH04290102A (en) Device for information transmission to servomechanism
US7770045B2 (en) Method and apparatus for operating cooperating, differing devices
WO2019171845A1 (en) Control device and control system
JP2006285885A (en) Parallel processing method of distributed motion control system and motion controller
JP2023063209A (en) Multi-axis servo control system
JP2007241744A (en) Motion controller and its command method
JPH07200010A (en) Programmable controller and communication method of exclusive control therefor
WO2019176755A1 (en) Network system
JP7231073B2 (en) Controllers and control systems
WO2022049885A1 (en) Control device
JP2002347217A (en) Printer driving system
JP2006323677A (en) Dual-system control system
JP2020150393A (en) Decentralized control system and work machine using the same

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