JP2017079008A - Programmable logic controller and control method - Google Patents
Programmable logic controller and control method Download PDFInfo
- Publication number
- JP2017079008A JP2017079008A JP2015207474A JP2015207474A JP2017079008A JP 2017079008 A JP2017079008 A JP 2017079008A JP 2015207474 A JP2015207474 A JP 2015207474A JP 2015207474 A JP2015207474 A JP 2015207474A JP 2017079008 A JP2017079008 A JP 2017079008A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- cpu
- expansion
- memory
- value
- 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
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
Description
本発明は、プログラマブル・ロジック・コントローラおよび制御方法に関する。 The present invention relates to a programmable logic controller and a control method.
プログラマブル・ロジック・コントローラ(以下、PLCと称す)は、FA(Factory Automation)制御システムにおいて広く使用されているシーケンス制御装置であり、ラダープログラムと呼ばれる専用プログラムにしたがって動作する。操作者(オペレータ)は、リミットスイッチ、センサ、温度計などの入力機器や、電磁開閉器、ソレノイド、モータ、アクチュエータ、シリンダ、リレー、位置決めシステムなどの出力機器をPLCに接続し、ラダープログラムによってこれらの被制御機器を制御する。 A programmable logic controller (hereinafter referred to as “PLC”) is a sequence controller widely used in an FA (Factory Automation) control system, and operates according to a dedicated program called a ladder program. The operator (operator) connects input devices such as limit switches, sensors, and thermometers, and output devices such as electromagnetic switches, solenoids, motors, actuators, cylinders, relays, and positioning systems to the PLC. Control the controlled device.
オペレータ(ユーザ)は、パーソナルコンピュータ(以下、PCと称す)などのプログラム作成支援装置上でラダープログラムを作成し、PCとPLCを接続し、ラダープログラムをPLCの記憶部に記憶させる。PLCの記憶部にはデバイス情報等の各種データも記憶される。デバイス情報とは、入力機器からの入力状態、出力機器への出力状態およびラダープログラム上で設定される内部リレー(補助リレー)、タイマー、カウンタ、データメモリ等の状態を示す情報である。デバイスとは、デバイス情報を格納するために設けられたメモリ上の領域を指す名称である。PLCにプログラム作成支援装置を接続することで、PLCが保持しているデバイス情報(デバイスの値)をプログラム作成支援装置に表示させ、視認することもできる。 An operator (user) creates a ladder program on a program creation support device such as a personal computer (hereinafter referred to as a PC), connects the PC and the PLC, and stores the ladder program in the storage unit of the PLC. Various data such as device information is also stored in the storage unit of the PLC. The device information is information indicating an input state from the input device, an output state to the output device, and states of an internal relay (auxiliary relay), a timer, a counter, a data memory, and the like set on the ladder program. A device is a name indicating an area on a memory provided for storing device information. By connecting the program creation support apparatus to the PLC, the device information (device value) held by the PLC can be displayed on the program creation support apparatus for visual recognition.
PLCは一般に基本ユニット(CPUユニット)と拡張ユニットにより構成される。CPUユニットと拡張ユニットは予め割り付けられたデバイスを通じてスキャン周期ごとに実行されるリフレッシュによってデバイス値を相互に交換する。このようなデバイスはデータメモリと呼ばれることもある。データメモリとは別に拡張ユニットにはバッファメモリが設けられる(特許文献1)。CPUユニットはラダープログラム中に記述された専用の命令語に基づくダイレクト通信によってバッファメモリにアクセスし、バッファ値を読み書きする。 The PLC is generally composed of a basic unit (CPU unit) and an extension unit. The CPU unit and the expansion unit exchange device values with each other by a refresh executed every scan cycle through a device assigned in advance. Such a device is sometimes referred to as a data memory. In addition to the data memory, the expansion unit is provided with a buffer memory (Patent Document 1). The CPU unit accesses the buffer memory by direct communication based on a dedicated instruction word described in the ladder program, and reads and writes the buffer value.
ところで、基本ユニットは複数の拡張ユニットを同時に制御するため、制御に伴う負荷が大きい。たとえば、基本ユニットは、センサを接続された拡張ユニットからセンサの出力値を取得し、その出力値に応じた演算を実行して目標座標を決定し、モーションユニットである拡張ユニットに目標座標を設定する。このように基本ユニットには制御の負荷が集中する。一方で、モーションフローなどのユーザプログラムを実行可能なモーションユニットが存在するが、そのようなモーションユニットは他の拡張ユニットのセンサの出力値を取得することができないため、出力値から目標座標を演算する演算処理を分担することができなかった。そこで、本発明は、基本ユニットが保持しているデバイス値を拡張ユニットに参照させることで当該デバイス値を用いて拡張ユニットにユーザプログラムを実行させることを目的とする。 By the way, since the basic unit controls a plurality of expansion units simultaneously, the load accompanying the control is large. For example, the basic unit obtains the output value of the sensor from the expansion unit connected to the sensor, performs calculation according to the output value, determines the target coordinate, and sets the target coordinate to the expansion unit that is the motion unit To do. Thus, the control load is concentrated on the basic unit. On the other hand, there are motion units that can execute user programs such as motion flow, but such motion units cannot obtain sensor output values of other extension units, so the target coordinates are calculated from the output values. The calculation processing to be performed could not be shared. Accordingly, an object of the present invention is to cause an expansion unit to execute a user program using the device value by referring the device value held by the basic unit to the expansion unit.
本発明は、たとえば、
CPUユニットと前記CPUユニットと通信する拡張ユニットとを有するプログラマブル・ロジック・コントローラであって、
前記CPUユニットは、
スキャン周期にしたがって繰り返し第一ユーザプログラムを実行する第一プログラム実行部と、
前記第一ユーザプログラムにしたがって前記第一プログラム実行部により参照されるデバイス値を格納する第一デバイスメモリと、
前記拡張ユニットと通信する第一通信部と
を有し、
前記拡張ユニットは、
前記CPUユニットと通信する第二通信部と、
前記スキャン周期とは異なるユニット間同期周期ごとに前記第一通信部および前記第二通信部を介して更新され、前記第一デバイスメモリのデバイス値と同期したデバイス値を格納する第二デバイスメモリと、
前記第二デバイスメモリに格納されたデバイス値を参照して第二ユーザプログラムを実行する第二プログラム実行部と
を有することを特徴とするプログラマブル・ロジック・コントローラを提供する。
The present invention is, for example,
A programmable logic controller having a CPU unit and an expansion unit communicating with the CPU unit,
The CPU unit is
A first program execution unit that repeatedly executes a first user program according to a scan cycle;
A first device memory for storing a device value referred to by the first program execution unit according to the first user program;
A first communication unit that communicates with the expansion unit;
The expansion unit is
A second communication unit communicating with the CPU unit;
A second device memory that stores device values that are updated via the first communication unit and the second communication unit for each unit synchronization cycle different from the scan cycle, and that are synchronized with the device values of the first device memory; ,
A programmable logic controller comprising: a second program execution unit that executes a second user program with reference to a device value stored in the second device memory.
本発明によれば、基本、基本ユニットが保持しているデバイス値を拡張ユニットに参照させることで当該デバイス値を用いて拡張ユニットにユーザプログラムを実行させることが可能となる。 According to the present invention, it is possible to cause an expansion unit to execute a user program using the device value by referring the device value held by the basic and basic units to the expansion unit.
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。 An embodiment of the present invention is shown below. The individual embodiments described below will help to understand various concepts, such as the superordinate concept, intermediate concept and subordinate concept of the present invention. Further, the technical scope of the present invention is determined by the scope of the claims, and is not limited by the following individual embodiments.
はじめにプログラマブル・ロジック・コントローラ(PLC、単にプログラマブルコントローラと呼ばれてもよい)を当業者にとってよりよく理解できるようにするために、一般的なPLCの構成とその動作について説明する。 First, in order to allow a person skilled in the art to better understand a programmable logic controller (PLC, which may be simply referred to as a programmable controller), the configuration and operation of a general PLC will be described.
図1は、本発明の実施の形態によるプログラマブル・ロジック・コントローラシステムの一構成例を示す概念図である。図1に示すように、このシステムは、ラダープログラムなどのユーザプログラムの編集を行うためのプログラム作成支援装置1と、工場等に設置される各種制御装置を統括的に制御するためのPLC2とを備えている。ユーザプログラムは、ラダー言語やモーションフローなどのグラフィカルプログラミング言語を用いて作成されてもよいし、C言語などの高級プログラミング言語を用いて作成されてもよい。以下では、説明の便宜上、ユーザプログラムはラダープログラムとする。PLC2は、CPUが内蔵された基本ユニット3と1つないし複数の拡張ユニット4を備えている。基本ユニット3に対して1つないし複数の拡張ユニット4が着脱可能となっている。基本ユニット3はCPUユニットと呼ばれることもある。
FIG. 1 is a conceptual diagram showing a configuration example of a programmable logic controller system according to an embodiment of the present invention. As shown in FIG. 1, this system includes a program creation support device 1 for editing a user program such as a ladder program and a
基本ユニット3には、表示部5及び操作部6が備えられている。表示部5には、基本ユニット3に取り付けられている各拡張ユニット4の動作状況などを表示することができ、表示部5の表示内容は、操作部6を操作することにより切り替えることができる。表示部5には、通常、PLC2内のデバイスの現在値(デバイス値)やPLC2内で生じたエラー情報などが表示される。なお、デバイスとは、デバイス値を格納するために設けられたメモリ上の領域を指す名称であり、デバイスメモリと呼ばれてもよい。デバイス値とは、入力機器からの入力状態、出力機器への出力状態およびユーザプログラム上で設定される内部リレー(補助リレー)、タイマー、カウンタ、データメモリ等の状態を示す情報である。
The
拡張ユニット4は、PLC2の機能を拡張するために用意されており、基本ユニット3に対して側方から取り付けられる。1つ目の拡張ユニット4は、基本ユニット3に対して側方から直接的に取り付けられる。2つ目以降の拡張ユニット4は、既に取り付けられている拡張ユニット4に対して、側方から直列的に取り付けられる。たとえば、基本ユニット3の右側面と拡張ユニット4の左側面とが連結面になっている。同様に、1つ目の拡張ユニット4の右側面の形状等は基本ユニット3の右側面とほぼ同じであるため、1つ目の拡張ユニット4の右側面に2つ目の拡張ユニット4の左側面が連結される。このような連結方式は、数珠つなぎ方式とかデイジーチェーン方式と呼ばれてもよい。各連結面にはコネクタが設けられており、通信や電力供給を行うためのバスもコネクタを介して連結される。このようにして、基本ユニット3と複数の拡張ユニット4が直列的に取り付けられると、各拡張ユニット4内に備えられた配線(例:バス)を介して、各拡張ユニット4が基本ユニット3に対して通信可能に接続される。各拡張ユニット4には、その拡張ユニット4の機能に対応する被制御装置16(図4)が接続され、これにより、各被制御装置16が拡張ユニット4を介して基本ユニット3に接続される。被制御装置16には、センサなどの入力装置や、アクチュエータなどの出力装置が含まれる。
The
プログラム作成支援装置1は、たとえば、携帯可能ないわゆるノートタイプやタブレットタイプのパーソナルコンピュータであって、表示部7及び操作部8を備えている。PLC2を制御するためのユーザプログラムの一例であるラダープログラムは、プログラム作成支援装置1を用いて作成され、その作成されたラダープログラムは、プログラム作成支援装置1内でニモニックコードに変換される。そして、プログラム作成支援装置1を、USB(Universal Serial Bus)などの通信ケーブル9を介してPLC2の基本ユニット3に接続し、ニモニックコードに変換されたラダープログラムをプログラム作成支援装置1から基本ユニット3に送ると、そのラダープログラムが基本ユニット3内でマシンコードに変換され、基本ユニット3に備えられたメモリ内に記憶される。なお、ここではニモニックコードを基本ユニット3に送信するようにしているが、本発明はこれに限られず、例えばニモニックコードを更に中間コードに変換し、中間コードを基本ユニット3に送信するようにしてもよい。
The program creation support device 1 is, for example, a portable so-called notebook type or tablet type personal computer, and includes a
なお、図1では示していないが、プログラム作成支援装置1の操作部8には、プログラム作成支援装置1に接続されたマウスなどのポインティングデバイスが含まれていてもよい。また、プログラム作成支援装置1は、USB以外の他の通信ケーブル9を介して、PLC2の基本ユニット3に対して着脱可能に接続されるような構成であってもよい。
Although not shown in FIG. 1, the
図2は、ラダープログラムの作成時にプログラム作成支援装置1の表示部7に表示されるラダー図Ldの一例を示す図である。図2に示すように、PLC2を制御するためのラダープログラムは、プログラム作成支援装置1の表示部7にマトリックス状に表示される複数のセル18内に仮想デバイスのシンボル19を適宜配置して、視覚的なリレー回路を表すラダー図Ldを構築することにより作成される。
FIG. 2 is a diagram illustrating an example of a ladder diagram Ld displayed on the
ラダー図Ldには、たとえば、10列×N行(Nは任意の自然数)のセル18が配置されている。そして、各行のセル18内に、図2に示す左側から右側に向かって、時系列的に仮想デバイスのシンボル19を適宜配置することにより、視覚的なリレー回路を作成することができる。作成されるリレー回路は、1行で表される直列的なリレー回路であってもよいし、複数行に並列的に表されたリレー回路を互いに結合することにより作成された、並列的なリレー回路であってもよい。
In the ladder diagram Ld, for example, cells 18 of 10 columns × N rows (N is an arbitrary natural number) are arranged. A visual relay circuit can be created by appropriately arranging the
図2に示すリレー回路は、入力装置からの入力信号に基づいてオン/オフされる3つの仮想デバイス(以下、「入力デバイス」と呼ぶ。)のシンボル19a,19b,19cと、出力装置の動作を制御するためにオン/オフされる仮想デバイス(以下、「出力デバイス」と呼ぶ。)のシンボル19dが適宜結合されることにより構成されている。 The relay circuit shown in FIG. 2 includes three virtual devices (hereinafter referred to as “input devices”) 19a, 19b, and 19c that are turned on / off based on an input signal from the input device, and the operation of the output device. This is configured by appropriately combining symbols 19d of virtual devices (hereinafter referred to as “output devices”) that are turned on / off to control.
各入力デバイスのシンボル19a,19b,19cの上方に表示されている文字(「R0001」、「R0002」及び「R0003」)は、その入力デバイスのデバイス名(アドレス名)21を表している。各入力デバイスのシンボル19a,19b,19cの下方に表示されている文字(「フラグ1」、「フラグ2」及び「フラグ3」)は、その入力デバイスに対応付けられたデバイスコメント22を表している。出力デバイスのシンボル19dの上方に表示されている文字(「原点復帰」)は、その出力デバイスの機能を表す文字列からなるラベル23である。
The characters (“R0001”, “R0002”, and “R0003”) displayed above the symbols 19a, 19b, and 19c of each input device represent the device name (address name) 21 of the input device. The characters (“flag 1”, “
図2に示す例では、デバイス名「R0001」及び「R0002」にそれぞれ対応する2つの入力デバイスのシンボル19a,19bが直列的に結合されることにより、AND回路が構成されている。また、これらの2つの入力デバイスのシンボル19a,19bからなるAND回路に対して、デバイス名「R0003」に対応する入力デバイスのシンボル19cが並列的に結合されることにより、OR回路が構成されている。すなわち、このリレー回路では、2つのシンボル19a,19bに対応する入力デバイスがいずれもオンした場合、又は、シンボル19cに対応する入力デバイスがオンした場合にのみ、シンボル19dに対応する出力デバイスがオンされるようになっている。 In the example shown in FIG. 2, two input device symbols 19a and 19b respectively corresponding to device names “R0001” and “R0002” are coupled in series to form an AND circuit. In addition, an OR circuit is configured by parallelly connecting the input device symbol 19c corresponding to the device name “R0003” to the AND circuit including the symbols 19a and 19b of these two input devices. Yes. That is, in this relay circuit, the output device corresponding to the symbol 19d is turned on only when both of the input devices corresponding to the two symbols 19a and 19b are turned on or when the input device corresponding to the symbol 19c is turned on. It has come to be.
図3は、図1のプログラム作成支援装置1の電気的構成について説明するためのブロック図である。図3に示すように、プログラム作成支援装置1には、CPU24、表示部7、操作部8、記憶装置25及び通信部26が備えられている。表示部7、操作部8、記憶装置25及び通信部26は、それぞれCPU24に対して電気的に接続されている。記憶装置25は、少なくともRAMを含む構成であり、プログラム記憶部27と、編集ソフト記憶部28とを備えている。
FIG. 3 is a block diagram for explaining the electrical configuration of the program creation support apparatus 1 of FIG. As shown in FIG. 3, the program creation support apparatus 1 includes a
ユーザは、編集ソフト記憶部28に記憶されている編集ソフトをCPU24に実行させて、操作部8を通じてラダープログラムを編集する。ここで、ラダープログラムの編集には、ラダープログラムの作成及び変更が含まれる。編集ソフトを用いて作成されたラダープログラムは、プログラム記憶部27に記憶される。また、ユーザは、必要に応じてプログラム記憶部27に記憶されているラダープログラムを読み出し、そのラダープログラムを、編集ソフトを用いて変更することができる。通信部26は、通信ケーブル9を介してプログラム作成支援装置1を基本ユニット3に通信可能に接続するためのものである。
The user causes the
図4は、PLC2の電気的構成について説明するためのブロック図である。図4に示すように、基本ユニット3には、CPU10、表示部5、操作部6、記憶装置12及び通信部14が備えられている。表示部5、操作部6、記憶装置12、及び通信部14は、それぞれCPU10に電気的に接続されている。記憶装置12は、RAMやROM、メモリカードなどを含んでもよく、ラダープログラムなどを記憶する。記憶装置12には、プログラム作成支援装置1から入力されたラダープログラムやユーザデータが上書きして記憶される。また、記憶装置12には基本ユニット用の制御プログラムも格納されている。図4が示すように基本ユニット3と拡張ユニット4とは拡張バスの一種であるユニット外部バス90を介して接続されている。なお、ユニット外部バス90に関する通信機能は通信部14の一部として実装されてもよい。
FIG. 4 is a block diagram for explaining the electrical configuration of the
図5は、本発明の実施の形態に係るプログラマブルコントローラの基本ユニット3でのスキャンタイムの構成を示す模式図である。図5が示すように1つのスキャンタイムTは、入出力のリフレッシュを行うためのユニット間通信201、プログラム実行202、END処理204により構成されている。ユニット間通信201で、基本ユニット3は、ラダープログラムを実行して得られた出力データを基本ユニット3内の記憶装置12から外部機器などに送信するとともに、受信データを含めた入力データを基本ユニット3内の記憶装置12に取り込む。たとえば、基本ユニット3のデバイスに記憶されているデバイス値は出力リフレッシュによって拡張ユニット4のデバイスに反映される。同様に、拡張ユニット4のデバイスに記憶されているデバイス値は入力リフレッシュによって基本ユニット3のデバイスに反映される。なお、リフレッシュ以外のタイミングでデバイス値をユニット間で更新する仕組みが採用されてもよい。ただし、基本ユニット3のデバイスは基本ユニット3が随時書き換えており、同様に、拡張ユニット4のデバイスは拡張ユニット4が随時書き換えている。つまり、基本ユニット3のデバイスは基本ユニット3の内部の装置によって随時アクセス可能であり、同様に、拡張ユニット4のデバイスは拡張ユニット4の内部の装置によって随時アクセス可能になっている。基本ユニット3と拡張ユニット4との間では基本的にリフレッシュのタイミングにおいて相互にデバイス値を更新して同期する。プログラム実行202で、基本ユニット3は、更新された入力データを用いてプログラムを実行(演算)する。基本ユニット3はプログラムの実行によりデータを演算処理する。なお、END処理とは、プログラム作成支援装置1や基本ユニット3に接続された表示器(図示せず)等の外部機器とのデータ通信、システムのエラーチェック等の周辺サービスに関する処理全般を意味する。
FIG. 5 is a schematic diagram showing a scan time configuration in the
このように、プログラム作成支援装置1はユーザの操作に応じたラダープログラムを作成し、作成したラダープログラムをPLC2に転送する。PLC2は、入出力リフレッシュ、ラダープログラムの実行およびEND処理を1サイクル(1スキャン)として、このサイクルを周期的、すなわちサイクリックに繰り返し実行する。これにより、各種入力機器(センサ等)からのタイミング信号に基づいて、各種出力機器(モータ等)を制御する。よって、PLC2は汎用のパーソナルコンピュータ(PC)とは全く異なる動きをする。
As described above, the program creation support apparatus 1 creates a ladder program according to the user's operation, and transfers the created ladder program to the
<PLCにより制御される被制御装置の例(アプリケーション)>
図6はPLCにより制御される被制御装置16の一例を示している。基本ユニット3には拡張ユニット4の一種であるモーションユニット4aと入力ユニット4bとが接続されている。この例ではサーボモータ42a、42bによって駆動されるコンベア46によりワーク47が搬送される。センサ44がワーク47を検知すると、サーボプレス43が稼働してワーク47に対してプレス加工を実行する。なお、サーボモータ42a、42bはそれぞれモーションユニット4aによって制御されるサーボアンプ41a、41bによって電力を供給される。サーボアンプ41cはモーションユニット4aからの指示に従ってサーボプレス43を稼働させる。
<Example of controlled device controlled by PLC (application)>
FIG. 6 shows an example of the controlled
ある実施形態では、入力ユニット4bがセンサ44の検知信号を取得し、基本ユニット3が入力ユニット4bからセンサ44の検知結果を取得し、検知結果に基づきモーションユニット4aにサーボプレス43の稼働を指示する。たとえば、基本ユニット3は、センサ44によりワーク47が検知されたタイミングから何秒後にサーボプレス43を作動させるかを演算して求める。更に基本ユニットはサーボプレス装置全体の管理処理(プレス後品質確認処理、表示器との通信処理、安全センサ動作時の停止処理等)も行なう。そのため、基本ユニット3は演算負荷が重かった。また、モーションユニット4aは入力ユニット4bに接続されているセンサ44の検知結果を取得する方法が無かったため、基本ユニット3の演算処理を分担することができなかった。
In an embodiment, the
本実施形態では、モーションユニット4aはユーザプログラムを実行するエンジンを備え、これにより演算処理の一部またはすべてを担当する。また、モーションユニット4aは基本ユニット3を介して入力ユニット4bのデバイス値(センサ44の検知結果)を取得することで演算処理を実行する。ここでは、拡張ユニット4の一例としてモーションユニット4aや入力ユニット4bを挙げているが、もちろん他の種類の拡張ユニットであってもよい。少なくとも一つの拡張ユニットはユーザプログラムを実行でき、かつ、基本ユニット3を介して他の拡張ユニットのデバイス値(バッファ値)を取得できれば十分である。
In the present embodiment, the
図6ではセンサ44に入力ユニット4bが接続されているが、基本ユニット3に直接的に接続されていてもよい。この場合、基本ユニット3は自己に接続されているセンサ44の検知結果をデバイス値としてデバイスに格納し、このデバイスに格納されているデバイス値をモーションユニット4aに提供する。このように、基本ユニット3はセンサ44の検知結果をモーションユニット4aに参照させる程度の処理を実行すればよく、演算処理についてはモーションユニット4aに実行させる。よって、基本ユニット3の演算負荷が軽減される。
In FIG. 6, the
<基本ユニットの機能>
図7は基本ユニット3の機能を示す図である。CPU10は記憶装置12のROM(EEPROM,HDD,SSDなど)に記憶されている制御プログラム36を実行することで、ラダー実行部30、デバイス管理部31、CPUユニットタイマー32、同期部33および拡張バス制御部34として機能する。ラダー実行部30は、プログラム作成支援装置1により作成されて転送されてきたユーザプログラムであるラダープログラム35を実行するエンジンである。ラダー実行部30はCPU10とは異なるASICなどにより実現されてもよい。デバイス管理部31は、デバイス値を格納するデバイスの一種であるデータメモリ38やリレー39を管理する機能である。データメモリ38はワードデバイスと呼ばれることもある。リレー39はビットデバイスやリレーデバイスと呼ばれることもある。データメモリ38には、上述したスキャン周期ごとにリフレッシュ(一括リフレッシュ)されるデータメモリと、スキャン周期よりも短いユニット間同期周期ごとにリフレッシュ(ユニット間同期リフレッシュ)されるデータメモリとがある。また、データメモリ38には、拡張ユニット4から受信した数ビットのデータが格納される入力データメモリと、基本ユニット3から拡張ユニット4に送信される数ビットのデータが格納される出力データメモリが存在する。リレー39も同様に、スキャン周期ごとにリフレッシュされるリレーと、スキャン周期よりも短いユニット間同期周期ごとにリフレッシュ(ユニット間同期リフレッシュ)されるリレーとがある。また、リレー39には、拡張ユニット4から受信した1ビットのデータが格納される入力リレーと、基本ユニット3から拡張ユニット4に送信される1ビットのデータが格納される出力リレーが存在する。設定情報37はプログラム作成支援装置1によって作成された情報であり、デバイス記憶部40cにおける各データメモリ38のアドレスや、各リレー39のアドレスなどの管理情報を含んでいる。また、設定情報37はデバイス記憶部40cに含まれているデバイスが一括リフレッシュされるものか、それともユニット間同期リフレッシュされるものかを管理する情報も含んでいる。CPUユニットタイマー32は、基本ユニット3における各種の動作の制御タイミングを決定するために利用されるクロックやカウンタである。CPUユニットタイマー32は必ずしも時刻を計時する必要はなく、時刻に相当するカウント値をカウントしてもよい。このようなカウント値も時刻情報の一種である。同期部33は、CPUユニットタイマー32の時刻情報と拡張ユニット4が備える拡張ユニットタイマーの時刻情報とを同期させる機能である。同期部33は、通信部14を介したメッセージ通信によって同期信号を拡張ユニット4に送信することで、CPUユニットタイマー32の時刻情報と拡張ユニット4が備える拡張ユニットタイマーの時刻情報とを同期させる。CPUユニットタイマー32と拡張ユニットタイマーとが時刻同期しているため、デバイス記憶部40cに格納されるデータの時間的な正確性が確保される。
<Functions of basic unit>
FIG. 7 is a diagram showing functions of the
記憶装置12はプログラム記憶部40a、パラメータ記憶部40bおよびデバイス記憶部40cを有している。プログラム記憶部40aは、基本ユニット3のファームウエアである制御プログラム36と、ユーザによりプログラミングされたラダープログラム35を記憶している。パラメータ記憶部40bは、プログラム作成支援装置1によって作成された設定情報37を記憶している。デバイス記憶部40cは、上述したデータメモリ38やリレー39を記憶している。データメモリ38やリレー39の幾つかは各拡張ユニット4に予め割り付けられている。
The
通信部14は、プログラム作成支援装置1と通信する通信回路と、拡張ユニット4と通信する拡張バスユニットとを含んでいる。拡張バス制御部34は、通信部14の拡張バスユニットを制御して他の拡張ユニットと通信するバスマスタとして機能する。
The
<拡張ユニットの機能>
図8はユーザプログラムの実行機能を備えた拡張ユニット4の機能を示す図である。CPU110は記憶装置112のROM(EEPROM,HDD,SSDなど)に記憶されている制御プログラム55を実行することで、機能制御部50、デバイス管理部51、拡張ユニットタイマー52および同期部53として機能する。なお、プログラム実行部54は、プログラム作成支援装置1により作成されて転送されてきたモーションフローなどのユーザプログラム56を実行するエンジンである。モーションフローにより記述されたユーザプログラム56はフロープログラムと呼ばれてもよいが、ここでは単にモーションフローと呼ぶことにする。プログラム実行部54はCPU110とは異なるASICなどにより実現されてもよい。機能制御部50は、プログラム実行部54により実行されるユーザプログラム56にしたがって被制御装置16を制御する。たとえば、機能制御部50は、位置決め制御、同期制御、速度制御またはトルク制御など被制御装置16に関する制御を実行する。デバイス管理部51は、デバイス値を格納するデバイスの一種であるバッファメモリ58を管理する機能である。デバイス管理部51はリフレッシュによって、基本ユニット3のデバイスに対してバッファメモリ58のバッファ値を書き込んだり、基本ユニット3から受け取ったデバイス値をバッファメモリ58に書き込んだりする。なお、基本ユニット3のデバイスとバッファメモリ58との関係は設定情報57によって管理されている。プログラム実行部54は、基本ユニット3のデバイスの読み出し命令をデバイス管理部51に送り、デバイス管理部51は、設定情報57を参照することで当該デバイスに関連付けられているバッファメモリ58を特定し、バッファ値を読み出してプログラム実行部54に渡す。たとえば、基本ユニット3のデバイスは、入力ユニット4bに接続されたセンサ44の検知結果を格納したデバイスである。このようにして、モーションユニット4aなどの拡張ユニット4は、入力ユニット4bなどの他の拡張ユニット4に割り付けられたデバイスのデバイス値を取得する。つまり、プログラム実行部54は、ユーザプログラム56に記述されている他の拡張ユニット4に割り付けられたデバイスのデバイス値を取得して、被制御装置16を制御するための演算処理を実行する。これにより従来は基本ユニット3で実行されていた演算処理を拡張ユニット4で実行できるようになる。つまり、演算処理の分散ないしは分担が実現される。設定情報57はプログラム作成支援装置1によって作成されたものであり、基本ユニット3のデバイスとバッファメモリ58との関係に加え、同期リフレッシュの対象を示す情報も保持している。拡張ユニットタイマー52は、拡張ユニット4における各種の動作の制御タイミングを決定するために利用されるクロックやカウンタである。拡張ユニットタイマー52は必ずしも時刻を計時する必要はなく、時刻に相当するカウント値をカウントしてもよい。このようなカウント値も時刻情報の一種である。同期部53は、拡張ユニットタイマー52の時刻情報をCPUユニットタイマー32の時刻情報に同期させる機能である。同期部53は、通信部114を介したメッセージ通信によって同期信号を基本ユニット3から受信することで、CPUユニットタイマー32の時刻情報と拡張ユニットタイマー52の時刻情報とを同期させる。このように、CPUユニットタイマー32と拡張ユニットタイマー52とが時刻同期しているため、バッファメモリ58に格納されるデータの時間的な正確性が確保される。
<Function of expansion unit>
FIG. 8 is a diagram showing the functions of the
記憶装置112はプログラム記憶部60a、パラメータ記憶部60bおよびデバイス記憶部60cを有している。プログラム記憶部60aは、拡張ユニット4のファームウエアである制御プログラム55と、ユーザによりプログラミングされたユーザプログラム56を記憶している。パラメータ記憶部60bは、プログラム作成支援装置1によって作成された設定情報57を記憶している。デバイス記憶部60cは、上述したバッファメモリ58などを記憶している。
The
通信部114は、基本ユニット3と通信する拡張バスユニットとを含んでいる。CPU110は、通信部114内の拡張バスユニットを制御して基本ユニット3と通信させることで、通信部114をスレーブとして機能させる。また、CPU110はスレーブ制御部として機能している。
The
図9はユーザプログラムの実行機能を備えていない拡張ユニット4の機能を示す図である。このような拡張ユニット4の一例は上述した入力ユニット4bである。図8と共通する事項については同一の参照符号を付与することで説明の簡明化を図る。拡張ユニット4が入力ユニット4bである場合、機能制御部50は、センサ44である被制御装置16が出力する検知信号を監視している。検知信号のレベルがワーク47を検知したことを示すハイ(オン)になると、センサ44に割り付けられているバッファメモリ58のバッファ値を0から1に書き換える。なお、ワーク47を検知していないときの検知信号のレベルはロー(オフ)である。バッファメモリ58のバッファ値はリフレッシュまたはダイレクト通信によって基本ユニット3に伝達される。設定情報57によって、このバッファ値が同期リフレッシュの対象として指定されている場合、デバイス管理部51は、同期リフレッシュによってバッファ値を基本ユニット3に伝達する。
FIG. 9 is a diagram showing functions of the
<拡張ユニットにおけるユーザプログラムの起動>
基本ユニット3はPLC2において各拡張ユニット4を統括的に制御するユニットである。そのため、拡張ユニット4におけるユーザプログラム56の実行開始(起動)についても基本ユニット3が拡張ユニット4に指示するものとする。
<Starting the user program in the expansion unit>
The
図10(A)は基本ユニット3から拡張ユニット4のユーザプログラム56を起動させる処理を示す図である。図10(B)は拡張ユニット4がユーザプログラム56を起動する処理を示す図である。S11において基本ユニット3のCPU10(ラダー実行部30)はラダープログラム35に記述されている命令語を順番に実行して行き、拡張ユニット4におけるユーザプログラム56の実行命令を実行する。ラダー実行部30は、ユーザプログラム56の実行要求を拡張バス制御部34にセットする。
FIG. 10A is a diagram showing processing for starting the
S12で、CPU10(拡張バス制御部34)は通信部14を用いて拡張ユニット4とのメッセージ通信を実行する。このメッセージ通信によりユーザプログラム56の実行要求が拡張ユニット4に送信される。なお、メッセージ通信の内容はバイナリコマンドにより伝達されてもよい。
In S <b> 12, the CPU 10 (expansion bus control unit 34) executes message communication with the
S13で拡張ユニット4のCPU110は通信部114を介してメッセージ通信によりユーザプログラム56の実行要求を受信する。たとえば、拡張ユニット4のCPU110はバイナリコマンドを解釈することで、ユーザプログラム56の実行を要求されていることを認識する。
In S <b> 13, the
S14でCPU110はユーザプログラム56の実行要求にしたがってユーザプログラム56をプログラム実行部54に実行するよう指示する。これによりプログラム実行部54はユーザプログラム56の実行を開始する。
In S <b> 14, the
S15でCPU110(プログラム実行部54)は通信部114を介してメッセージ通信によりユーザプログラム56の開始完了通知を基本ユニット3に送信する。たとえば、プログラム実行部54は、バススレーブとして動作している通信部114にバイナリコマンドに対する応答として開始完了通知をセットする。
In S <b> 15, the CPU 110 (program execution unit 54) transmits a start completion notification of the
S16でCPU10(拡張バス制御部34)は通信部14を用いて開始完了通知を受信する。S17で、ユーザプログラム56の開始の完了/未済を記憶するリレーデバイスに完了を示すデバイス値を書き込む。
In S <b> 16, the CPU 10 (expansion bus control unit 34) receives a start completion notification using the
このように拡張ユニット4のユーザプログラム56は基本ユニット3のラダープログラム35によって起動される。なお、ラダー実行部30は、ユーザプログラム56の実行命令語を実行すると即座に次の命令語を実行する。つまり、ラダー実行部30は、拡張ユニット4から開始完了通知があるまで、ラダープログラム35に記述されている次の命令語の実行を延期するわけではない。よって、ラダー実行部30は、無駄な時間を過ごすことなく、ラダープログラム35を効率よく実行できる。
As described above, the
<デバイスの同期リフレッシュ>
スキャンタイムTは一般に数ミリ秒であるが、モーションユニットなどの拡張ユニット4ではより短い周期で被制御装置16の位置を制御したいという要請がある。しかし、1つのスキャンタイムTで入出力デバイスのリフレッシュ(一括リフレッシュ)は1回だけ実行される。本実施例ではユニット間同期周期ごとにデバイスのリフレッシュを行う同期リフレッシュも採用される。
<Synchronous refresh of device>
The scan time T is generally several milliseconds, but the
図11は一括リフレッシュと同期リフレッシュとの関係を示す図である。図11が示すように、一括リフレッシュにより基本ユニット3と拡張ユニット4との間で入出力デバイスのデバイス値が更新される。たとえば、入力ユニット4bである拡張ユニット4のセンサの検知結果は1つのスキャンタイムで一回だけ更新され、モーションユニット4aである他の拡張ユニット4へのデバイス値も1つのスキャンタイムで一回だけ更新される場合、高速な同期制御を実現することができない。そこで、基本ユニット3の内部制御周期と拡張ユニット4の内部制御周期とを同期させ、この制御周期ごとにデバイスをリフレッシュする同期リフレッシュについても本実施例では採用されている。なお、ユーザプログラムのうち、この制御周期に同期して実行されるプログラムはユニット間同期プログラムと呼ばれる。図11において同期リフレッシュは、ラダープログラム35の実行期間だけでなく、一括リフレッシュの実行期間やエンド処理の実行期間においても実行されてもよい。なお、同期リフレッシュの周期は、スキャンの周期よりも長い周期で行われてもよい。たとえば、スキャン処理が2回行われた後に、一度同期リフレッシュが行なわれてもよい。
FIG. 11 is a diagram showing the relationship between batch refresh and synchronous refresh. As shown in FIG. 11, the device value of the input / output device is updated between the
図12(A)は基本ユニット3で実行される同期リフレッシュを示している。図12(B)は拡張ユニット4で実行される同期リフレッシュを示している。S21で基本ユニット3のCPU10(ラダー実行部30)はラダープログラム35にしたがって各種のデバイスのデバイス値を変更する。ラダー実行部30はラダープログラム35にしたがって取得したデバイス値をデバイス管理部31に渡すことで、デバイス値をデバイス記憶部40cのデバイスに書き込む。なお、これと並行してS22で拡張ユニット4のCPU110(デバイス管理部51)は拡張ユニット4の動作状態に応じてデバイス記憶部60c内のデバイスのデバイス値を変更する。
FIG. 12A shows the synchronous refresh executed by the
S23でCPU10(デバイス管理部31)は同期リフレッシュのタイミングが到来したかどうかを判定する。デバイス管理部31はCPUユニットタイマー32が所定時間を計時する度に同期リフレッシュをトリガーする。同期リフレッシュのタイミングが到来すると、S24に進む。S24でCPU10(デバイス管理部31)は拡張バス制御部34に同期リフレッシュのための通信を実行させる。デバイス管理部31は、設定情報37にしたがって同期リフレッシュの対象となっているデバイス値を拡張ユニット4から受信する。S26で、CPU10(デバイス管理部31)は拡張バス制御部34および通信部14を介して受信したデバイス値をデバイス記憶部40cに書き込む(入力リフレッシュ)。また、S24でデバイス管理部31は、設定情報37にしたがって同期リフレッシュの対象となっているデバイス値をデバイス記憶部40cから読み出して拡張バス制御部34にセットして拡張ユニット4へ送信する(出力リフレッシュ)。
In S23, the CPU 10 (device management unit 31) determines whether or not the timing of synchronous refresh has come. The
S25で拡張ユニット4のCPU110(デバイス管理部51)は、通信部114を介して同期リフレッシュのための通信を実行する。デバイス管理部51は、設定情報57にしたがって同期リフレッシュの対象となっているデバイス値をデバイス記憶部60cから読み出して通信部114にセットして基本ユニット3へ送信する(入力リフレッシュ)。また、デバイス管理部51は、設定情報57にしたがって同期リフレッシュの対象となっているデバイス値を、通信部114を介して基本ユニット3から受信し、デバイス記憶部60cに書き込む(出力リフレッシュ)。なお、デバイス管理部51は、基本ユニット3のデバイス(CPUユニットデバイス)に記憶されているデバイス値をバッファメモリ58にいったん格納して保持する。
In S <b> 25, the CPU 110 (device management unit 51) of the
<拡張ユニットのユーザプログラムによる基本ユニットのデバイスの読み出し>
図13は拡張ユニットのユーザプログラムによる基本ユニットのデバイスの読み出しを示すフローチャートである。
<Reading basic unit device by user program of expansion unit>
FIG. 13 is a flowchart showing reading of the device of the basic unit by the user program of the expansion unit.
S31でCPU110(プログラム実行部54)は、ユーザプログラム56に記述されている命令語にしたがってCPUユニットデバイスの読み出し要求をデバイス管理部51に渡す。S32でCPU110(デバイス管理部51)は、設定情報57にしたがって所望のCPUユニットデバイスに割り付けられているバッファメモリのアドレスを特定する。S33でCPU110(デバイス管理部51)は、特定したバッファメモリのアドレスからCPUユニットデバイスのデバイス値を読み出す。S34でCPU110(プログラム実行部54)は、読み出したデバイス値に対してユーザプログラム56にしたがった演算を実行する。
In S <b> 31, the CPU 110 (program execution unit 54) passes a CPU unit device read request to the
<同期リフレッシュの設定の取得>
同期リフレッシュに関する設定を示す設定情報57をプログラム作成支援装置1から拡張ユニット4に書き込む方法はいくつかある。一つ目は、プログラム作成支援装置1から通信部114を介して拡張ユニット4に書き込む方法である。二つ目は、プログラム作成支援装置1から通信部14を介して基本ユニット3に設定情報57を書き込み、基本ユニット3から拡張ユニット4に設定情報57を書き込む方法である。たとえば、拡張ユニット4のCPU110は設定情報57の読み出し要求を通信部114にセットしてメッセージ通信を実行する。基本ユニット3の拡張バス制御部34は通信部14を介して読み出し要求を受信すると、パラメータ記憶部40bに一時的に格納しておいた設定情報57を読み出し、レスポンスデータに搭載し、拡張バス制御部34にセットする。拡張バス制御部34は通信部14を制御してレスポンスデータを拡張ユニット4に送信する。拡張ユニット4のCPU110は通信部114を介してレスポンスデータを受信すると、レスポンスデータから設定情報57を抽出してパラメータ記憶部60bに書き込む。拡張ユニット4用の設定情報57は、基本ユニット3用の設定情報37と一緒にプログラム作成支援装置1から基本ユニット3に転送されるため、両者は整合している。仮に、両者を個別に転送すると、両者が整合していない時間が発生するため、この時間には正しい同期リフレッシュを実現できないだろう。したがって、設定情報の個別転送よりも、基本ユニット3を介する一括転送が有利であろう。
<Obtain synchronous refresh settings>
There are several methods for
ところで、設定情報57は、同期リフレッシュの対象となる複数のデバイスを指定する。しかし、図14が示すように、同期リフレッシュの対象となる複数のデバイスはデバイス記憶部40cにおいて散在していることもある。この場合に、複数のデバイスを一つずつ基本ユニット3と拡張ユニット4との間で転送すると、通信ヘッダなどのオーバヘッドが増加し、転送効率が低下する。そこで、デバイス管理部31は設定情報37によって指定されている同期リフレッシュの対象となる複数のデバイスをデバイス記憶部40cから読み出して一つのデータの塊(出力系のデバイスセット61)を作成し、出力系のデバイスセット61を拡張ユニット4に転送する。拡張ユニット4のデバイス管理部51は出力系のデバイスセット61を受信すると、設定情報57を参照し、出力系のデバイスセット61を個別のデバイスに分離して、対応するバッファメモリに書き込む。また、デバイス管理部51は設定情報37によって指定されている同期リフレッシュの対象となる複数のデバイスをデバイス記憶部60cのバッファメモリ58から読み出して一つのデータの塊(入力系のデバイスセット61)を作成し、入力系のデバイスセット61を基本ユニット3に転送する。基本ユニット3のデバイス管理部31は入力系のデバイスセット61を受信すると、設定情報37を参照し、入力系のデバイスセット61を個別のデバイスに分離して、デバイス記憶部40b内の対応するデバイスに書き込む。このようにして入力系の同期リフレッシュと出力系の同期リフレッシュが実現される。このようにデバイスを一括して転送するため通信部14と通信部114との間でのオーバヘッドが削減され、通信時間が短縮される。なお、同期リフレッシュの実行中は、デバイス管理部31、51がそれぞれ他の何らかのプロセスからのデバイスへのアクセス(読み/書き)を禁止する。ある演算処理が複数のデバイスを参照して実行されるときに、一つ目のデバイスはリフレッシュ済みで、他のデバイスはリフレッシュが未済であると、各デバイスの取得時刻が異なってしまう。この場合、当該演算処理は正しい演算を実行できなくなってしまう。したがって、同期リフレッシュの実行中の読み/書きを禁止することで、各デバイスの同時性を維持できるようになる。
By the way, the setting
図15はプログラム作成支援装置1のCPU24が表示部7に表示するユーザインタフェース70の一例である。ユーザインタフェース70は、拡張ユニット4において同期リフレッシュの対象となるデバイスを指定するためのユーザインタフェースである。デバイス番号入力部72は、同期リフレッシュの対象となるデバイスの識別情報が入力される領域である。サイズ入力部73は、デバイスのサイズ(例:1ビット、16ビット、32ビット、64ビットなど)が入力される領域である。デバイス名入力部74はデバイス名が入力される領域である。もちろん、デバイスの特徴を指定するための他の入力部が追加されてもよい。ユーザは操作部8を通じてポインタ71を操作し、入力を希望するいずれかの領域を指定する。次に、ユーザは操作部8を通じてデバイス番号などを入力する。OKボタンが操作されると、CPU24はユーザインタフェース70で特定されたデバイスやアドレスの情報を含む設定情報37、57を作成し、基本ユニット3に転送する。なお、設定情報37、57は完全に同一のデータであってもよい。
FIG. 15 shows an example of a
<アプリケーション>
図6に示したアプリケーションに本実施形態を適用したときの拡張ユニット4の動作について説明する。図16はモーションユニット4aのCPU110が実行する処理を示すフローチャートである。
<Application>
The operation of the
S41でCPU110(プログラム実行部54)はユーザプログラム56に記述されている命令語にしたがって機能制御部50およびサーボアンプ41a、41bを通じてサーボモータ42a、42bを一定速度で回転させる。これによりワーク47は一定速度で搬送されることになる。
In S41, the CPU 110 (program execution unit 54) rotates the
S42でCPU110(プログラム実行部54)はユーザプログラム56に記述されている命令語にしたがって所定位置にワーク47が到着したかどうかを判定する。
In S <b> 42, the CPU 110 (program execution unit 54) determines whether or not the
図17が示すように、入力ユニット4bに接続されたセンサ44の検知結果(デバイス値)Xiはユニット間同期周期ごとに実行される同期リフレッシュによって入力ユニット4bから基本ユニット3に書き込まれる。同様に、基本ユニット3に書き込まれたセンサ44の検知結果は同期リフレッシュによってモーションユニット4aのバッファメモリ58に格納される。基本ユニット3は検知結果を格納している入力系のデバイスから出力系のデバイスにコピーし、出力系のデバイスに格納されているデバイス値をモーションユニット4aに転送してもよい。プログラム実行部54は、モーションフローに記述されている命令語にしたがって、センサ44の検知結果を格納しているデバイスの読み出し要求をデバイス管理部51に渡す。デバイス管理部51は読み出し要求の対象となっているデバイスに対応するバッファメモリ58のアドレスを設定情報57から取得し、取得したアドレスから検知結果を読み出し、プログラム実行部54に渡す。プログラム実行部54は、センサ44の検知結果がオンであれば所定位置にワーク47が到着したと判定し、一方で検知結果がオフであればワーク47がまだ到着していないと判定する。ワーク47が所定位置に到着する、CPU110はS43に進む。
As shown in FIG. 17, the detection result (device value) Xi of the
S43でCPU110(プログラム実行部54)はユーザプログラム56に記述されている命令語にしたがって機能制御部50およびサーボアンプ41a、41bを通じてサーボモータ42a、42bを減速制御して停止させる。
In S43, the CPU 110 (program execution unit 54) controls the
S44で(プログラム実行部54)はユーザプログラム56に記述されている命令語にしたがって機能制御部50およびサーボアンプ41cを通じてサーボプレス43を稼働させる。これによりワーク47がプレス加工される。
In S44 (program execution unit 54) operates the
このように本実施形態によればモーションユニット4aは基本ユニット3が保持しているデバイス値に基づいてモーションフローを実行できるようになる。たとえば、モーションユニット4aは基本ユニット3が入力ユニット4bから取得したセンサ44の検知結果に基づいてモーションフローを実行できるようになる。つまり、モーションユニット4aは基本ユニット3や他の拡張ユニット4の動作状態を取得してモーションフローを実行できるようになる。そのため、従来は基本ユニット3のラダープログラム35によって実行されていた演算処理の一部またはすべてを拡張ユニット4で実行されるモーションフローなどのユーザプログラム56によって実行することが可能となる。これにより、基本ユニット3の演算負荷を拡張ユニット4へ分散させることが可能となる。
As described above, according to the present embodiment, the
ユーザは、センサ44の検知結果をダイレクト通信によって入力ユニット4bから取得し、さらにモーションユニット4aへダイレクト通信によって検知結果を書き込むようラダープログラム35を作成してもよい。しかし、これではユーザのプログラミングの負担が増加してしまう。本実施形態であれば、基本ユニット3のデバイスに書き込まれたセンサ44の検知結果が、リフレッシュによってモーションユニット4aのバッファメモリ58に書き込まれる。そのため、モーションフローを実行するプログラム実行部54がセンサ44の検知結果を参照できるようになっている。つまり、ユーザは同期リフレッシュの対象となるデバイスを予め設定すればよい。よって、ユーザのプログラミングの負担も軽減される。
The user may create the
<まとめ>
図7を用いて説明したように、基本ユニット3はラダー実行部30、デバイス記憶部40cおよび通信部14などを有している。ラダー実行部30はスキャン周期にしたがって繰り返し第一ユーザプログラム(例:ラダープログラム35)を実行する第一プログラム実行部として機能する。デバイス記憶部40cはラダープログラム35にしたがってラダー実行部30により参照されるデバイス値を格納する第一デバイスメモリとして機能する。通信部14は拡張ユニット4と通信する第一通信部として機能する。図8を用いて説明したように拡張ユニット4は、基本ユニット3と通信する通信部114、デバイス記憶部60cおよびプログラム実行部54などを有する。通信部114は第二通信部の一例である。ユーザプログラム56は第二ユーザプログラムの一例である。デバイス記憶部60cのデバイス値はスキャン周期とは異なる短いユニット間同期周期ごとに通信部14および通信部114を介して更新され、デバイス記憶部40cのデバイス値と同期したデバイス値となる。デバイス記憶部60cはデバイス記憶部40cのデバイス値と同期したデバイス値を格納する第二デバイスメモリとして機能する。プログラム実行部54はデバイス記憶部60cに格納されたデバイス値を参照してユーザプログラム56を実行する第二プログラム実行部として機能する。このように本実施形態によれば、基本ユニット3が保持しているデバイス値を拡張ユニット4に参照させることで当該デバイス値を用いて拡張ユニット4にユーザプログラム56を実行させることが可能となる。
<Summary>
As described with reference to FIG. 7, the
基本ユニット3のデバイス記憶部40cは、他の拡張ユニット4から入力されたデバイス値を保持する入力デバイスと、基本ユニット3から拡張ユニット4へ出力されるデバイス値を保持する出力デバイスとを有していてもよい。拡張ユニット4のデバイス記憶部60cのバッファメモリ58は、拡張ユニット4から基本ユニット3へ入力されたデバイス値を保持する入力デバイスと基本ユニット3から拡張ユニット4へ出力されるデバイス値を保持する出力デバイスとして機能してもよい。この入力デバイスは、基本ユニット3のデバイス記憶部40cの入力デバイスに関連付けられている。また出力デバイスは、基本ユニット3の出力デバイスに関連付けられている。
The
図6を用いて説明したように、PLC2は、基本ユニット3と通信する他の拡張ユニット4である入力ユニットであって、デバイス値を格納する第三デバイスメモリ(例:バッファメモリ58)を有する入力ユニット4bをさらに有していてもよい。図17を用いて説明したように、入力ユニット4bのバッファメモリ58に格納されたデバイス値がユニット間同期リフレッシュによって基本ユニット3が有するデバイス記憶部40cに書き込まれる。同様に、基本ユニット3のデバイス記憶部40cに書き込まれた当該デバイス値がユニット間同期リフレッシュによって拡張ユニット4(モーションユニット4a)のデバイス記憶部60cに書き込まれる。モーションユニット4aのプログラム実行部54は、基本ユニット3を経由して入力ユニット4bから転送されてきたデバイス値を用いてユーザプログラム56を実行する。このように入力ユニット4bのデバイス値はユニット間同期リフレッシュによって基本ユニット3からモーションユニット4aに転送されてもよい。なお、デバイス記憶部60cのデバイスメモリはバッファメモリ58であってもよい。
As described with reference to FIG. 6, the
設定情報37、57は、デバイス記憶部40cにおいて入力ユニット4bのデバイス値を格納するデバイスの識別情報と、入力ユニット4bのデバイス値が格納される拡張ユニット4のバッファメモリ58の識別情報とを対応付けて管理する管理情報であってもよい。このような管理情報はデバイス管理部31、51がそれぞれパラメータ記憶部40b、60bに格納して保持していてもよい。プログラム実行部54やデバイス管理部51は、設定情報57を参照することで、入力ユニット4bのデバイス値が格納されたバッファメモリ58のアドレスを特定し、当該バッファメモリ58から入力ユニット4bのデバイス値を取得してもよい。つまり、ユーザプログラム56においては入力ユニット4bのデバイス値のデバイスの識別情報をそのまま記述することが可能となり、当該デバイス値を格納しているバッファメモリ58の識別情報を記述する必要はない。よって、ユーザのプログラミングの負担が軽減されよう。
The setting
図7を用いて説明したようにデバイス記憶部40cは1ビットの情報を保持するリレーデバイス(例:リレー39)と、数ビットの情報を保持するデータメモリ38とを有していてもよい。また、図8を用いて説明したようにデバイス記憶部60cは1ビットの情報を保持するリレーデバイス(1ビット型のバッファメモリ58)と、数ビットの情報を保持するデータメモリ(16ビット、32ビットまたは64ビット型のバッファメモリ58)とを有していてもよい。
As described with reference to FIG. 7, the
図10を用いて説明したように、基本ユニット3は、通信部14および通信部114を介して拡張ユニット4に対してユーザプログラム56の実行を指示する。これによりユーザプログラム56が基本ユニット3から起動されるようになる。
As described with reference to FIG. 10, the
基本ユニット3は、ユニット間同期周期を管理するCPUユニットタイマー32を有していてもよい。また、拡張ユニット4は、ユニット間同期周期を管理し、CPUユニットタイマー32と時刻同期した拡張ユニット4タイマーを有していてもよい。基本ユニット3は、CPUユニットタイマー32により管理されている時刻に同期してユニット間同期リフレッシュを実行する。拡張ユニット4は、拡張ユニット4タイマーにより管理されている時刻に同期してユニット間同期リフレッシュを実行する。これにより、基本ユニット3が保持しているデバイス値と拡張ユニット4が保持しているデバイス値の取得時刻に関する同時性が確保されるようになろう。
The
図14や図15を用いて説明したように、ユニット間同期リフレッシュによりデバイス値を更新されるデバイスと、スキャン周期にしたがって実行される入出力リフレッシュよりデバイス値を更新されるデバイスとは予めリフレッシュ設定情報(設定情報37、57)によって区別されていてもよい。少なくとも、ユーザは、ユニット間同期リフレッシュによりデバイス値を更新されるデバイスを一括して指定することで、ラダープログラム35の記述を簡潔化することができる。上述したように、ラダープログラム35にダイレクト通信による命令語を記述することで、一括リフレッシュのタイミング以外の任意のタイミングで各デバイス値を更新することも可能である。しかし、各デバイス値ごとにこのような命令語を記述することは非常に面倒であった。たとえば、1つのスキャンタイムで100回のダイレクト通信による更新を実行しようとするとラダープログラム35内の100か所に更新のための命令語を記述する必要があり、非常にプログラミングの負担が重かった。本実施形態であれば、このような記述が不要となるため、ユーザのプログラミング負担が軽減する。
As described with reference to FIGS. 14 and 15, a device whose device value is updated by the inter-unit synchronous refresh and a device whose device value is updated by the input / output refresh executed according to the scan cycle are refresh set in advance. It may be distinguished by information (setting
たとえば、ユーザプログラム56はモーションフローによるフロープログラムであってもよい。もちろん、基本ユニット3で実行されるユーザプログラムはラダー言語以外の言語(例:C言語)で記述されてもよいし、拡張ユニット4で実行されるユーザプログラム56もモーションフロー以外の言語(例:C言語)で記述されてもよい。
For example, the
本実施形態は様々なアプリケーションに対して適用可能である。たとえば、図6、図16および図17を用いて説明したように、ワーク47にプレス加工を行うようなアプリケーションにも本実施形態は適用可能である。
This embodiment is applicable to various applications. For example, as described with reference to FIGS. 6, 16, and 17, the present embodiment can be applied to an application in which the
図6や図17などを用いて説明したようなアプリケーションにも本実施形態は適用可能である。モーションユニット4aのデバイス記憶部60cは、スキャン周期よりも短いユニット間同期周期ごとに通信部14および通信部114を介して更新され、基本ユニット3のデバイス記憶部40cのデバイス値と同期したデバイス値を格納する。モーションユニット4aのプログラム実行部54はデバイス記憶部60cに格納されたデバイス値を参照してモーションフローを実行する。入力ユニット4bは、ワーク47の有無を検知するセンサ44を被制御装置16として接続されている。入力ユニット4bのバッファメモリ58は、センサ44のオン/オフを示すデバイス値を格納するリレーデバイスを有する第三デバイスメモリの一例である。入力ユニット4bの通信部114は、少なくともユニット間同期周期ごとに基本ユニット3と通信し、リレーデバイスに格納されているデバイス値を基本ユニット3に送信する第三通信部の一例である。基本ユニット3は、入力ユニット4bから書き込まれたデバイス値のうち、モーションユニット4aで必要とされるデバイス値を、デバイス記憶部40cのうち所定のデバイスに格納し、モーションユニット4aのデバイス記憶部60cのデバイスとユニット間同期リフレッシュさせる。モーションユニット4aは、デバイス記憶部60cのバッファメモリ58から入力ユニット4bのデバイス値を読み出し、当該デバイス値がワーク47を検出したことを示すまで、ワーク47を搬送する搬送機構を稼働させる。搬送機構はコンベア46やサーボモータ42a、42bなどである。モーションユニット4aは、当該デバイス値がワーク47を検出したことを示すと搬送機構を減速制御することでワーク47をプレス位置に停止させる。このようなアプリケーションにも本実施形態を適用することで、基本ユニット3が保持している入力ユニット4bのデバイス値をモーションユニット4aに参照させることが可能となる。つまり、モーションユニット4aは当該デバイス値を用いてモーションフローのユーザプログラム56を実行できるようになる。
The present embodiment can also be applied to applications such as those described with reference to FIGS. The
また、図13などを用いて説明したように、本実施形態によれば、プログラマブル・ロジック・コントローラの制御方法も提供される。図10を用いて説明したように、基本ユニット3は、拡張ユニット4と通信して当該拡張ユニット4にユーザプログラム56を起動させる。拡張ユニット4は基本ユニット3からの起動指示に従ってユーザプログラム56を起動する。図12などを用いて説明したように、基本ユニット3と拡張ユニット4は、基本ユニット3に保持されているデバイス値をスキャン周期ごと、または、スキャン周期よりも短いユニット間同期周期ごとにリフレッシュすることで当該デバイス値を拡張ユニット4のバッファメモリ58に格納する。図13などを用いて説明したように、拡張ユニット4は、ユーザプログラム56に記述されている命令語にしたがってデバイス値を拡張ユニット4のバッファメモリ58から取得して当該命令語を実行する。このように本実施形態によれば、基本ユニット3が保持しているデバイス値を拡張ユニット4に参照させることで当該デバイス値を用いて拡張ユニット4にユーザプログラム56を実行させることが可能となる。
Further, as described with reference to FIG. 13 and the like, according to the present embodiment, a control method of the programmable logic controller is also provided. As described with reference to FIG. 10, the
Claims (14)
前記CPUユニットは、
スキャン周期にしたがって繰り返し第一ユーザプログラムを実行する第一プログラム実行部と、
前記第一ユーザプログラムにしたがって前記第一プログラム実行部により参照されるデバイス値を格納する第一デバイスメモリと、
前記拡張ユニットと通信する第一通信部と
を有し、
前記拡張ユニットは、
前記CPUユニットと通信する第二通信部と、
前記スキャン周期とは異なるユニット間同期周期ごとに前記第一通信部および前記第二通信部を介して更新され、前記第一デバイスメモリのデバイス値と同期したデバイス値を格納する第二デバイスメモリと、
前記第二デバイスメモリに格納されたデバイス値を参照して第二ユーザプログラムを実行する第二プログラム実行部と
を有することを特徴とするプログラマブル・ロジック・コントローラ。 A programmable logic controller having a CPU unit and an expansion unit communicating with the CPU unit,
The CPU unit is
A first program execution unit that repeatedly executes a first user program according to a scan cycle;
A first device memory for storing a device value referred to by the first program execution unit according to the first user program;
A first communication unit that communicates with the expansion unit;
The expansion unit is
A second communication unit communicating with the CPU unit;
A second device memory that stores device values that are updated via the first communication unit and the second communication unit for each unit synchronization cycle different from the scan cycle, and that are synchronized with the device values of the first device memory; ,
A programmable logic controller, comprising: a second program execution unit that executes a second user program with reference to a device value stored in the second device memory.
他の拡張ユニットから入力されたデバイス値を保持する入力デバイスと、
前記CPUユニットから前記拡張ユニットへ出力されるデバイス値を保持する出力デバイスと
を有し、
前記第二デバイスメモリは、
前記第一デバイスメモリの入力デバイスに関連付けられており、前記拡張ユニットから前記CPUユニットへ入力されたデバイス値を保持する入力デバイスと、
前記CPUユニットの出力デバイスに関連付けられており、前記CPUユニットから前記拡張ユニットへ出力されるデバイス値を保持する出力デバイスと
を有することを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラ。 The first device memory is
An input device that holds device values entered from other expansion units;
An output device that holds a device value output from the CPU unit to the extension unit;
The second device memory is
An input device that is associated with the input device of the first device memory and holds a device value input from the expansion unit to the CPU unit;
The programmable logic controller according to claim 1, further comprising: an output device that is associated with an output device of the CPU unit and holds a device value output from the CPU unit to the extension unit.
前記入力ユニットの前記第三デバイスメモリに格納されたデバイス値がユニット間同期リフレッシュによって前記CPUユニットが有する前記第一デバイスメモリに書き込まれ、前記第一デバイスメモリに書き込まれた当該デバイス値がユニット間同期リフレッシュによって前記拡張ユニットの前記第二デバイスメモリに書き込まれ、前記第二プログラム実行部は、前記CPUユニットを経由して前記入力ユニットから転送されてきたデバイス値を用いて前記第二ユーザプログラムを実行することを特徴とする請求項2に記載のプログラマブル・ロジック・コントローラ。 An input unit that is the other extension unit that communicates with the CPU unit, further comprising an input unit having a third device memory for storing a device value;
The device value stored in the third device memory of the input unit is written to the first device memory of the CPU unit by inter-unit synchronous refresh, and the device value written to the first device memory is The second user program is written to the second device memory of the expansion unit by synchronous refresh, and the second program execution unit uses the device value transferred from the input unit via the CPU unit. The programmable logic controller of claim 2, wherein the programmable logic controller is executed.
前記第二プログラム実行部は、前記管理情報を参照することで、前記入力ユニットのデバイス値が格納された前記バッファメモリを特定し、当該バッファメモリから前記入力ユニットのデバイス値を取得することを特徴とする請求項4に記載のプログラマブル・ロジック・コントローラ。 Management information for managing the identification information of the device that stores the device value of the input unit in the first device memory and the identification information of the buffer memory of the expansion unit that stores the device value of the input unit in association with each other A management unit that holds
The second program execution unit identifies the buffer memory storing the device value of the input unit by referring to the management information, and acquires the device value of the input unit from the buffer memory. The programmable logic controller according to claim 4.
前記第二デバイスメモリは1ビットの情報を保持するリレーデバイスと、数ビットの情報を保持するデータメモリとを有していることを特徴とする請求項1ないし5のいずれか一項に記載のプログラマブル・ロジック・コントローラ。 The first device memory has a relay device that holds 1-bit information and a data memory that holds several bits of information;
6. The device according to claim 1, wherein the second device memory includes a relay device that holds 1-bit information and a data memory that holds several bits of information. Programmable logic controller.
前記拡張ユニットは、前記ユニット間同期周期を管理し、前記CPUユニットタイマーと時刻同期した拡張ユニットタイマーを有し、
前記CPUユニットは、前記CPUユニットタイマーにより管理されている時刻に同期してユニット間同期リフレッシュを実行し、
前記拡張ユニットは、前記拡張ユニットタイマーにより管理されている時刻に同期してユニット間同期リフレッシュを実行することを特徴とする請求項1ないし7のいずれか一項に記載のプログラマブル・ロジック・コントローラ。 The CPU unit has a CPU unit timer for managing the inter-unit synchronization cycle,
The expansion unit has an expansion unit timer that manages the inter-unit synchronization period and is time-synchronized with the CPU unit timer.
The CPU unit performs inter-unit synchronous refresh in synchronization with the time managed by the CPU unit timer,
The programmable logic controller according to any one of claims 1 to 7, wherein the expansion unit performs inter-unit synchronous refresh in synchronization with a time managed by the expansion unit timer.
前記CPUユニットは、
スキャン周期にしたがって繰り返し第一ユーザプログラムを実行する第一プログラム実行部と、
前記第一ユーザプログラムにしたがって前記第一プログラム実行部により参照されるデバイス値を格納する第一デバイスメモリと、
前記複数の拡張ユニットと通信する第一通信部と
を有し、
前記複数の拡張ユニットのうちモーションユニットは、
前記CPUユニットと通信する第二通信部と、
前記スキャン周期とは異なるユニット間同期周期ごとに前記第一通信部および前記第二通信部を介して更新され、前記第一デバイスメモリのデバイス値と同期したデバイス値を格納する第二デバイスメモリと、
前記第二デバイスメモリに格納されたデバイス値を参照してモーションフローを実行する第二プログラム実行部と
を有し、
前記複数の拡張ユニットのうち入力ユニットは、
ワークの有無を検知するセンサと、
前記センサのオン/オフを示すデバイス値を格納するリレーデバイスを有する第三デバイスメモリと、
少なくとも前記ユニット間同期周期ごとに前記CPUユニットと通信し、前記リレーデバイスに格納されているデバイス値を前記CPUユニットに送信する第三通信部と、
を有し、
前記CPUユニットは、前記入力ユニットから書き込まれたデバイス値のうち、前記モーションユニットで必要とされるデバイス値を、前記第一デバイスメモリのうち所定のデバイスに格納し、前記モーションユニットの前記第二デバイスメモリのデバイスとユニット間同期リフレッシュさせ、
前記モーションユニットは、前記第二デバイスメモリから前記入力ユニットのデバイス値を読み出し、当該デバイス値がワークを検出したことを示すまで、前記ワークを搬送する搬送機構を稼働させ、当該デバイス値がワークを検出したことを示すと前記搬送機構を減速制御することを特徴とするプログラマブル・ロジック・コントローラ。 A programmable logic controller having a CPU unit and a plurality of expansion units communicating with the CPU unit,
The CPU unit is
A first program execution unit that repeatedly executes a first user program according to a scan cycle;
A first device memory for storing a device value referred to by the first program execution unit according to the first user program;
A first communication unit that communicates with the plurality of expansion units;
Among the plurality of expansion units, the motion unit is
A second communication unit communicating with the CPU unit;
A second device memory that stores device values that are updated via the first communication unit and the second communication unit for each unit synchronization cycle different from the scan cycle, and that are synchronized with the device values of the first device memory; ,
A second program execution unit that executes a motion flow with reference to a device value stored in the second device memory,
The input unit of the plurality of expansion units is
A sensor for detecting the presence or absence of a workpiece;
A third device memory having a relay device for storing a device value indicating ON / OFF of the sensor;
A third communication unit that communicates with the CPU unit at least every synchronization cycle between the units, and transmits a device value stored in the relay device to the CPU unit;
Have
The CPU unit stores a device value required by the motion unit among device values written from the input unit in a predetermined device of the first device memory, and stores the second value of the motion unit. Synchronous refresh between device and device in device memory,
The motion unit reads the device value of the input unit from the second device memory, operates a transport mechanism that transports the workpiece until the device value indicates that the workpiece is detected, and the device value A programmable logic controller characterized by decelerating control of the transport mechanism when it is detected.
前記CPUユニットが、前記拡張ユニットと通信して当該拡張ユニットにユーザプログラムを起動させる工程と、
前記拡張ユニットが前記ユーザプログラムを起動する工程と、
前記CPUユニットと前記拡張ユニットとが、前記CPUユニットに保持されているデバイス値をスキャン周期とは異なるユニット間同期周期ごとにリフレッシュすることで当該デバイス値を前記拡張ユニットのバッファメモリに格納する工程と、
前記拡張ユニットが、前記ユーザプログラムに記述されている命令語にしたがって前記デバイス値を前記拡張ユニットのバッファメモリから取得して当該命令語を実行する工程と、
を有することを特徴とするプログラマブル・ロジック・コントローラの制御方法。 A control method of a programmable logic controller having a CPU unit and an expansion unit communicating with the CPU unit,
The CPU unit communicating with the extension unit to cause the extension unit to start a user program;
The extension unit starting the user program;
The CPU unit and the extension unit store the device value in the buffer memory of the extension unit by refreshing the device value held in the CPU unit at every unit synchronization period different from the scan period. When,
The extension unit acquires the device value from the buffer memory of the extension unit according to the instruction word described in the user program, and executes the instruction word;
A method for controlling a programmable logic controller, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015207474A JP6626314B2 (en) | 2015-10-21 | 2015-10-21 | Programmable logic controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015207474A JP6626314B2 (en) | 2015-10-21 | 2015-10-21 | Programmable logic controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017079008A true JP2017079008A (en) | 2017-04-27 |
JP6626314B2 JP6626314B2 (en) | 2019-12-25 |
Family
ID=58665423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015207474A Active JP6626314B2 (en) | 2015-10-21 | 2015-10-21 | Programmable logic controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6626314B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020235172A1 (en) * | 2019-05-23 | 2020-11-26 | オムロン株式会社 | Control device, data disabling program and control system |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001075932A (en) * | 1999-09-08 | 2001-03-23 | Canon Inc | Line controller, line control method and line system |
JP2001242909A (en) * | 2000-02-28 | 2001-09-07 | Keyence Corp | Data preparation device, data preparation method and recording medium and display recording data preparation program |
JP2002006907A (en) * | 2000-06-26 | 2002-01-11 | Omron Corp | I/o unit and programmable controller system |
JP2004199670A (en) * | 2002-12-04 | 2004-07-15 | Omron Corp | Data collection device and data collection system |
JP2010102475A (en) * | 2008-10-23 | 2010-05-06 | Mitsubishi Electric Corp | Special unit simulator manufacturing device and programmable controller simulator |
JP2010198600A (en) * | 2009-02-02 | 2010-09-09 | Omron Corp | Industrial controller |
JP2011216085A (en) * | 2010-03-15 | 2011-10-27 | Omron Corp | Programmable controller |
WO2014064830A1 (en) * | 2012-10-26 | 2014-05-01 | 株式会社安川電機 | Development support device and development support program |
-
2015
- 2015-10-21 JP JP2015207474A patent/JP6626314B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001075932A (en) * | 1999-09-08 | 2001-03-23 | Canon Inc | Line controller, line control method and line system |
JP2001242909A (en) * | 2000-02-28 | 2001-09-07 | Keyence Corp | Data preparation device, data preparation method and recording medium and display recording data preparation program |
JP2002006907A (en) * | 2000-06-26 | 2002-01-11 | Omron Corp | I/o unit and programmable controller system |
JP2004199670A (en) * | 2002-12-04 | 2004-07-15 | Omron Corp | Data collection device and data collection system |
JP2010102475A (en) * | 2008-10-23 | 2010-05-06 | Mitsubishi Electric Corp | Special unit simulator manufacturing device and programmable controller simulator |
JP2010198600A (en) * | 2009-02-02 | 2010-09-09 | Omron Corp | Industrial controller |
JP2011216085A (en) * | 2010-03-15 | 2011-10-27 | Omron Corp | Programmable controller |
WO2014064830A1 (en) * | 2012-10-26 | 2014-05-01 | 株式会社安川電機 | Development support device and development support program |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020235172A1 (en) * | 2019-05-23 | 2020-11-26 | オムロン株式会社 | Control device, data disabling program and control system |
JP2020191004A (en) * | 2019-05-23 | 2020-11-26 | オムロン株式会社 | Control device, data disabling program, and control system |
JP7400215B2 (en) | 2019-05-23 | 2023-12-19 | オムロン株式会社 | Control Units, Data Disabling Programs, and Control Systems |
Also Published As
Publication number | Publication date |
---|---|
JP6626314B2 (en) | 2019-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6465620B2 (en) | Control system and control method | |
US10761884B2 (en) | Control device for operating multiple types of programs in different execution formats | |
US10496079B2 (en) | Control device and control method | |
US10908577B2 (en) | Control device | |
JP2017079009A (en) | Monitor device of programmable logic controller | |
US9753447B2 (en) | Control unit, output control method and program | |
US10180674B2 (en) | Controller and control system | |
EP2682830A1 (en) | Control device and system program, and recording medium | |
JP2016110458A (en) | Programmable logic controller, basic unit, control method and program | |
US10678231B2 (en) | Production controller equipped with function of identifying cause upon operation stop of production facility including manufacturing facilities | |
CN111095138B (en) | Control device, control method for control device, information processing program, and recording medium | |
JP6626313B2 (en) | Programmable logic controller, expansion unit, control method, program creation support device, program creation support method, and program | |
JP2012133610A (en) | Dual process controller and control data coincidence method | |
JP6626314B2 (en) | Programmable logic controller | |
US10509393B2 (en) | Control device and control method | |
JP2010079355A (en) | Cooperative control system between a plurality of plcs | |
US11092945B2 (en) | Control device, control method, and non-transitory storage medium storing control program | |
JP6484015B2 (en) | Programmable logic controller and control method thereof | |
KR101957400B1 (en) | Programmable logic control system | |
JP6571377B2 (en) | Expansion unit, programmable logic controller and control method thereof | |
JP2017079005A (en) | Programmable logic controller, control method, cpu unit and extension unit | |
US20230367629A1 (en) | Method for Transferring a Software Application from a First to a Second Data Processing Device | |
KR102358254B1 (en) | Input control method of PLC OP panel | |
JP2024073818A (en) | Control system and information processing method | |
JP2023034569A (en) | Controller and file structure of program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190701 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190827 |
|
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: 20191111 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6626314 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |