JP2014099058A - Control system and control unit - Google Patents

Control system and control unit Download PDF

Info

Publication number
JP2014099058A
JP2014099058A JP2012250615A JP2012250615A JP2014099058A JP 2014099058 A JP2014099058 A JP 2014099058A JP 2012250615 A JP2012250615 A JP 2012250615A JP 2012250615 A JP2012250615 A JP 2012250615A JP 2014099058 A JP2014099058 A JP 2014099058A
Authority
JP
Japan
Prior art keywords
log
user program
program
information
plc
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
JP2012250615A
Other languages
Japanese (ja)
Other versions
JP6442131B2 (en
Inventor
Kotaro Okamura
弘太郎 岡村
Yoshihide Nishiyama
佳秀 西山
Masanori Ota
政則 太田
Hiromi Yaoita
宏心 矢尾板
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 JP2012250615A priority Critical patent/JP6442131B2/en
Publication of JP2014099058A publication Critical patent/JP2014099058A/en
Application granted granted Critical
Publication of JP6442131B2 publication Critical patent/JP6442131B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a control system and a control unit capable of effectively performing debugging and normality checking on a program.SOLUTION: The control system includes: a control unit 104 that executes a user program periodically or at an event occurrence; and an information processing device 300 connectable to a control unit. The control unit 104 includes: first writing means that writes a piece of information on a generated event while associating to a piece of time information in a storage in response to a generation of the predetermined event; and second writing means that writes a piece of information specified by a command while associating to the time information in the storage responding to the execution of the predetermined command included in the user program. The information processing device 300 includes a user interface provided to execute at least either one of a processing to add a predetermined command at a desired position in the user program and a processing to desirably delete a predetermined command included in the user program which is executed by the control unit 104.

Description

本発明は、ユーザプログラムを周期的またはイベント的に実行する制御装置を含む制御システムおよびその制御装置に関する。   The present invention relates to a control system including a control device that executes a user program periodically or in an event, and the control device.

多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などの制御装置を主たる構成とした制御システムによって制御される。このような制御システムでは、システム構成時や運転時に発生した不具合を事後的に検証できるように、各種のログ出力機能が搭載されている。   Machines and equipment used in many production sites are typically controlled by a control system mainly composed of a control device such as a programmable controller (hereinafter also referred to as “PLC”). In such a control system, various log output functions are mounted so that problems occurring during system configuration and operation can be verified later.

このような機能を搭載した制御装置に関する先行技術文献として、特開2012−208932号公報(特許文献1)は、機器の動作を制御するPLCと、PLCと通信回線を介して接続されるプログラマブル表示器とを備えるPLCシステムを開示する。このPLCシステムにおいて、PLCは、機器の所定の動作状態を検出した際に、情報記憶手段により記憶した情報の中から、所定の動作状態に該当する該当状態情報を所定の格納部へ格納する該当情報格納手段を含む。   As a prior art document related to a control device having such a function, Japanese Patent Laid-Open No. 2012-208932 (Patent Document 1) describes a PLC that controls the operation of a device, and a programmable display that is connected to the PLC via a communication line. A PLC system comprising a container is disclosed. In this PLC system, when the PLC detects the predetermined operation state of the device, the PLC stores the corresponding state information corresponding to the predetermined operation state from the information stored by the information storage means in the predetermined storage unit. Including information storage means;

特開2012−208932号公報JP 2012-208932 A

近年の情報処理技術の進歩に伴って、PLCなどの制御装置の処理能力も向上し、多機能化および処理高速化が進みつつある。この結果、1台の制御装置に多種多様なプログラムがインストールされて実行される状況が生じている。このような状況下では、各アプリケーションが正しくプログラムされているかといったテストや、各アプリケーションが正しく動作しているかといったテストを効率的に行う必要がある。   With the recent progress of information processing technology, the processing capability of a control device such as a PLC has been improved, and multi-functionalization and high-speed processing are progressing. As a result, there is a situation in which a variety of programs are installed and executed in one control device. Under such circumstances, it is necessary to efficiently test whether each application is programmed correctly and whether each application is operating correctly.

特許文献1に記載のPLCシステムは、操作性を向上させることができるが、このようなプログラムのデバッグや健全性のチェックを効率的に行うという目的からは十分ではない場合がある。   Although the PLC system described in Patent Document 1 can improve operability, it may not be sufficient for the purpose of efficiently debugging such programs and checking the soundness.

本発明は、プログラムのデバッグや健全性のチェックを効率的に行うことのできる制御システムおよび制御装置を提供することを目的とする。   An object of this invention is to provide the control system and control apparatus which can perform the debugging of a program and a soundness check efficiently.

本発明のある局面に係る制御システムは、ユーザプログラムを周期的またはイベント的に実行する制御装置と、制御装置に接続可能な情報処理装置とを含む。制御装置は、予め定められた事象の発生に応答して、当該発生した事象の情報を時刻情報と関連付けて記憶部に書き込む第1の書込手段と、ユーザプログラムに含まれる所定の命令の実行に応答して、当該命令によって指定された情報を時刻情報と関連付けて記憶部に書き込む第2の書込手段とを含む。情報処理装置は、制御装置で実行されるユーザプログラムの任意の位置に所定の命令を追加する処理、および、ユーザプログラムに含まれる所定の命令を任意に削除する処理の少なくとも一方を実行するためのユーザインターフェイスを提供する。   A control system according to an aspect of the present invention includes a control device that periodically or eventally executes a user program, and an information processing device that can be connected to the control device. In response to occurrence of a predetermined event, the control device includes first writing means for writing information on the generated event in the storage unit in association with time information, and execution of a predetermined instruction included in the user program And a second writing means for writing the information designated by the command in association with the time information into the storage unit. An information processing apparatus executes at least one of a process of adding a predetermined instruction to an arbitrary position of a user program executed by the control apparatus and a process of arbitrarily deleting a predetermined instruction included in the user program Provides a user interface.

好ましくは、第1の書込手段および第2の書込手段は、記憶部の共通の記憶領域へ情報を発生順に書き込む。   Preferably, the first writing unit and the second writing unit write information in a common storage area of the storage unit in the order of generation.

好ましくは、制御装置は、予め格納されたシステムプログラムを実行することで、予め定められた事象を発生させる。   Preferably, the control device generates a predetermined event by executing a system program stored in advance.

好ましくは、情報処理装置は、制御装置がユーザプログラムを実行中に、所定の命令の追加または削除が可能である。   Preferably, the information processing apparatus can add or delete a predetermined command while the control apparatus is executing the user program.

好ましくは、情報処理装置は、制御装置の記憶部に格納される情報を時系列に表示するユーザインターフェイスを提供する。   Preferably, the information processing device provides a user interface that displays information stored in the storage unit of the control device in time series.

本発明の別の局面に係るユーザプログラムを周期的またはイベント的に実行する制御装置は、予め定められた事象の発生に応答して、当該発生した事象の情報を時刻情報と関連付けて記憶部に書き込む第1の書込手段と、ユーザプログラムに含まれる所定の命令の実行に応答して、当該命令によって指定された情報を時刻情報と関連付けて記憶部に書き込む第2の書込手段と、外部からの指令に従って、ユーザプログラムの任意の位置に所定の命令を追加する処理、または、ユーザプログラムに含まれる所定の命令を任意に削除する処理の少なくとも一方を実行するための変更手段とを含む。   In response to occurrence of a predetermined event, a control device that executes a user program according to another aspect of the present invention periodically or in an event associates information on the generated event with time information in a storage unit. A first writing means for writing, a second writing means for writing the information designated by the instruction in association with the time information in response to execution of a predetermined instruction included in the user program, and an external And changing means for executing at least one of a process of adding a predetermined command to an arbitrary position of the user program or a process of arbitrarily deleting the predetermined command included in the user program in accordance with a command from the user program.

本発明によれば、プログラムのデバッグや健全性のチェックを効率的に行うことができる。   According to the present invention, program debugging and soundness check can be efficiently performed.

本実施の形態に係る制御システムのシステム構成を示す模式図である。It is a schematic diagram which shows the system configuration | structure of the control system which concerns on this Embodiment. 本実施の形態に係るPLCの主要部を示すハードウェア構成を示す模式図である。It is a schematic diagram which shows the hardware constitutions which show the principal part of PLC which concerns on this Embodiment. 本実施の形態に係るPLCのソフトウェア構成を示す模式図である。It is a schematic diagram which shows the software configuration of PLC which concerns on this Embodiment. 本実施の形態に係るPLCに接続して用いられるサポート装置のハードウェア構成を示す模式図である。It is a schematic diagram which shows the hardware constitutions of the support apparatus connected and used for PLC which concerns on this Embodiment. 本実施の形態に係る制御システムにより提供されるログ出力機能の概要を説明するための模式図である。It is a schematic diagram for demonstrating the outline | summary of the log output function provided by the control system which concerns on this Embodiment. 本実施の形態に係るサポート装置において提供されるユーザプログラムの生成に係るユーザインターフェイスの一例を示す図である。It is a figure which shows an example of the user interface which concerns on the production | generation of the user program provided in the support apparatus which concerns on this Embodiment. 本実施の形態に係るサポート装置において提供されるユーザプログラムの生成に係るユーザインターフェイスの一例を示す図である。It is a figure which shows an example of the user interface which concerns on the production | generation of the user program provided in the support apparatus which concerns on this Embodiment. 本実施の形態に係るサポート装置において提供される稼動ログの取得および表示に係るユーザインターフェイスの一例を示す図である。It is a figure which shows an example of the user interface which concerns on acquisition and a display of the operation log provided in the support apparatus which concerns on this Embodiment. 本実施の形態に係るPLCにおける処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in PLC which concerns on this Embodiment. 本実施の形態の変形例に係る稼動ログの格納方法を説明するための図である。It is a figure for demonstrating the storage method of the operation log which concerns on the modification of this Embodiment.

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。   Embodiments of the present invention will be described in detail with reference to the drawings. In addition, about the same or equivalent part in a figure, the same code | symbol is attached | subjected and the description is not repeated.

<A.システム構成>
まず、本実施の形態に係る制御システムのシステム構成について説明する。本実施の形態においては、機械や設備などの制御対象を制御するプログラマブルコントローラ(PLC)を制御装置の典型例として説明を行う。但し、本発明に係る制御装置は、PLCに限られることなく、各種の制御装置へ適用可能である。
<A. System configuration>
First, the system configuration of the control system according to the present embodiment will be described. In the present embodiment, a programmable controller (PLC) that controls a control target such as a machine or equipment will be described as a typical example of a control device. However, the control device according to the present invention is not limited to the PLC, and can be applied to various control devices.

図1は、本実施の形態に係る制御システム1のシステム構成を示す模式図である。図1を参照して、制御システム1は、PLC100と、PLC100に接続されるサポート装置300と、PLC100からのアクセスを受けるデータベース装置400とを含む。PLC100は、後述するようなユーザプログラムを周期的またはイベント的に実行する。このユーザプログラムにアクセス命令を含めることができ、PLC100は、このアクセスに従って、データベース装置400にアクセスすることができる。すなわち、PLC100およびデータベース装置400は、イーサネット(登録商標)などのネットワーク112を介して、データを互いに遣り取りできるように構成される。   FIG. 1 is a schematic diagram showing a system configuration of a control system 1 according to the present embodiment. Referring to FIG. 1, control system 1 includes a PLC 100, a support device 300 connected to PLC 100, and a database device 400 that receives access from PLC 100. The PLC 100 executes a user program as will be described later periodically or in an event manner. An access instruction can be included in the user program, and the PLC 100 can access the database apparatus 400 according to the access. That is, the PLC 100 and the database device 400 are configured to exchange data with each other via the network 112 such as Ethernet (registered trademark).

サポート装置300は、PLC100に接続可能な情報処理装置の典型例である。サポート装置300は、接続ケーブル114を介してPLC100に接続され、PLC100との間で各種パラメータの設定、プログラミング、モニタ、デバッグなどの機能を提供する。PLC100とサポート装置300との間は、典型的には、USB(Universal Serial Bus)規格に従って通信可能に構成される。   The support device 300 is a typical example of an information processing device that can be connected to the PLC 100. The support device 300 is connected to the PLC 100 via the connection cable 114 and provides functions such as setting various parameters, programming, monitoring, and debugging with the PLC 100. The PLC 100 and the support device 300 are typically configured to be communicable according to the USB (Universal Serial Bus) standard.

PLC100は、制御演算を実行するCPUユニット104と、1つ以上のIO(Input/Output)ユニット106とを含む。これらのユニットは、PLCシステムバス108を介して、データを互いに遣り取りできるように構成される。また、これらのユニットには、電源ユニット102によって適切な電圧の電源が供給される。   The PLC 100 includes a CPU unit 104 that executes control calculations and one or more IO (Input / Output) units 106. These units are configured to exchange data with each other via the PLC system bus 108. These units are supplied with power of an appropriate voltage by the power supply unit 102.

制御システム1において、PLC100は、(PLCシステムバス108を介して接続される)IOユニット106を介して、および/または、フィールドバス110を介して、各種のフィールド機器との間でデータを遣り取りする。これらのフィールド機器は、制御対象に対して何らかの処理を行うためのアクチュエータや、制御対象から各種情報を取得するためのセンサなどを含む。図1には、このようなフィールド機器の一例として、検出スイッチ10、リレー20およびモータ32を駆動するサーボモータドライバ30を含む。また、PLC100は、フィールドバス110を介してリモートIOターミナル200も接続されている。リモートIOターミナル200は、基本的には、IOユニット106と同様に、一般的な入出力処理に関する処理を行う。より具体的には、リモートIOターミナル200は、フィールドバス110でのデータ伝送に係る処理を行うための通信カプラ202と、1つ以上のIOユニット204とを含む。これらのユニットは、リモートIOターミナルバス208を介して、データを互いに遣り取りできるように構成される。   In the control system 1, the PLC 100 exchanges data with various field devices via the IO unit 106 (connected via the PLC system bus 108) and / or via the field bus 110. . These field devices include an actuator for performing some processing on the control target, a sensor for acquiring various information from the control target, and the like. FIG. 1 includes a servo motor driver 30 that drives the detection switch 10, the relay 20, and the motor 32 as an example of such a field device. The PLC 100 is also connected to the remote IO terminal 200 via the field bus 110. The remote IO terminal 200 basically performs processing related to general input / output processing in the same manner as the IO unit 106. More specifically, the remote IO terminal 200 includes a communication coupler 202 for performing processing related to data transmission via the field bus 110 and one or more IO units 204. These units are configured to exchange data with each other via the remote IO terminal bus 208.

<B.PLC100の構成>
次に、本実施の形態に係るPLC100の構成について説明する。図2は、本実施の形態に係るPLC100の主要部を示すハードウェア構成を示す模式図である。図3は、本実施の形態に係るPLC100のソフトウェア構成を示す模式図である。
<B. Configuration of PLC 100>
Next, the configuration of PLC 100 according to the present embodiment will be described. FIG. 2 is a schematic diagram showing a hardware configuration showing a main part of PLC 100 according to the present embodiment. FIG. 3 is a schematic diagram showing a software configuration of PLC 100 according to the present embodiment.

図2を参照して、PLC100のCPUユニット104のハードウェア構成について説明する。CPUユニット104は、プロセッサ120と、チップセット122と、システムクロック124と、主メモリ126と、不揮発性メモリ128と、USBコネクタ130と、PLCシステムバスコントローラ140と、フィールドバスコントローラ150と、上位通信コントローラ160と、メモリカードインターフェイス170とを含む。チップセット122と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。   The hardware configuration of the CPU unit 104 of the PLC 100 will be described with reference to FIG. The CPU unit 104 includes a processor 120, a chip set 122, a system clock 124, a main memory 126, a nonvolatile memory 128, a USB connector 130, a PLC system bus controller 140, a field bus controller 150, and higher-level communication. A controller 160 and a memory card interface 170 are included. The chip set 122 and other components are coupled via various buses.

プロセッサ120およびチップセット122は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、プロセッサ120は、チップセット122から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット122は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ120に必要な命令コードを生成する。システムクロック124は、予め定められた周期のシステムクロックを発生してプロセッサ120に提供する。チップセット122は、プロセッサ120での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。   The processor 120 and the chipset 122 are typically configured according to a general-purpose computer architecture. That is, the processor 120 interprets and executes the instruction codes sequentially supplied from the chip set 122 according to the internal clock. The chip set 122 exchanges internal data with various connected components and generates instruction codes necessary for the processor 120. The system clock 124 generates a system clock having a predetermined period and provides it to the processor 120. The chip set 122 has a function of caching data obtained as a result of execution of arithmetic processing by the processor 120.

CPUユニット104は、記憶手段として、主メモリ126および不揮発性メモリ128を有する。主メモリ126は、揮発性の記憶領域であり、プロセッサ120で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。不揮発性メモリ128は、OS(Operating System)、システムプログラム、ユーザプログラム、データ定義情報、ログ情報などを不揮発的に保持する。   The CPU unit 104 includes a main memory 126 and a nonvolatile memory 128 as storage means. The main memory 126 is a volatile storage area, holds various programs to be executed by the processor 120, and is also used as a working memory when executing the various programs. The nonvolatile memory 128 holds an OS (Operating System), a system program, a user program, data definition information, log information, and the like in a nonvolatile manner.

USBコネクタ130は、サポート装置300とCPUユニット104とを接続するためのインターフェイスである。典型的には、サポート装置300から転送される実行可能なプログラムなどは、USBコネクタ130を介してCPUユニット104に取込まれる。   The USB connector 130 is an interface for connecting the support device 300 and the CPU unit 104. Typically, an executable program or the like transferred from the support device 300 is taken into the CPU unit 104 via the USB connector 130.

CPUユニット104は、通信手段として、PLCシステムバスコントローラ140、フィールドバスコントローラ150、および上位通信コントローラ160を有する。これらの通信回路は、データの送信および受信を行う。   The CPU unit 104 includes a PLC system bus controller 140, a field bus controller 150, and a host communication controller 160 as communication means. These communication circuits transmit and receive data.

PLCシステムバスコントローラ140は、PLCシステムバス108を介したデータの遣り取りを制御する。より具体的には、PLCシステムバスコントローラ140は、バッファメモリ142と、PLCシステムバス制御回路144と、DMA(Dynamic Memory Access)制御回路146とを含む。PLCシステムバスコントローラ140は、PLCシステムバスコネクタ148を介してPLCシステムバス108と接続される。   The PLC system bus controller 140 controls data exchange via the PLC system bus 108. More specifically, the PLC system bus controller 140 includes a buffer memory 142, a PLC system bus control circuit 144, and a DMA (Dynamic Memory Access) control circuit 146. The PLC system bus controller 140 is connected to the PLC system bus 108 via the PLC system bus connector 148.

フィールドバスコントローラ150は、バッファメモリ152と、フィールドバス制御回路154と、DMA制御回路156とを含む。フィールドバスコントローラ150は、フィールドバスコネクタ158を介してフィールドバス110と接続される。上位通信コントローラ160は、バッファメモリ162と、上位通信制御回路164と、DMA制御回路166とを含む。上位通信コントローラ160は、上位通信コネクタ168を介してネットワーク112と接続される。   Fieldbus controller 150 includes a buffer memory 152, a fieldbus control circuit 154, and a DMA control circuit 156. The field bus controller 150 is connected to the field bus 110 via the field bus connector 158. The upper communication controller 160 includes a buffer memory 162, an upper communication control circuit 164, and a DMA control circuit 166. The host communication controller 160 is connected to the network 112 via the host communication connector 168.

メモリカードインターフェイス170は、CPUユニット104に対して着脱可能なメモリカード172とプロセッサ120とを接続する。   The memory card interface 170 connects the memory card 172 detachable to the CPU unit 104 and the processor 120.

次に、図3を参照して、本実施の形態に係るPLC100が提供する各種機能を実現するためのソフトウェア構成について説明する。これらのソフトウェアに含まれる命令コードは、適切なタイミングで読み出され、CPUユニット104のプロセッサ120によって実行される。   Next, a software configuration for realizing various functions provided by the PLC 100 according to the present embodiment will be described with reference to FIG. The instruction codes included in these software are read at an appropriate timing and executed by the processor 120 of the CPU unit 104.

図3を参照して、CPUユニット104で実行されるソフトウェアとしては、OS180と、システムプログラム188と、ユーザプログラム186との3階層になっている。   Referring to FIG. 3, the software executed by CPU unit 104 has three layers of OS 180, system program 188, and user program 186.

OS180は、プロセッサ120がシステムプログラム188およびユーザプログラム186を実行するための基本的な実行環境を提供する。   The OS 180 provides a basic execution environment for the processor 120 to execute the system program 188 and the user program 186.

システムプログラム188は、PLC100としての基本的な機能を提供するためのソフトウェア群である。具体的には、システムプログラム188は、シーケンス命令プログラム190と、DB(データベース)アクセス処理プログラム192と、入出力処理プログラム194と、Toolインターフェイス処理プログラム196と、スケジューラ198とを含む。   The system program 188 is a software group for providing basic functions as the PLC 100. Specifically, the system program 188 includes a sequence command program 190, a DB (database) access processing program 192, an input / output processing program 194, a Tool interface processing program 196, and a scheduler 198.

これに対して、ユーザプログラム186は、制御対象に対する制御目的に応じて任意に作成されたプログラムである。すなわち、ユーザプログラム186は、制御システム1を用いて制御する対象のライン(プロセス)などに応じて、任意に設計される。   On the other hand, the user program 186 is a program arbitrarily created according to the control purpose for the control target. That is, the user program 186 is arbitrarily designed according to the line (process) to be controlled using the control system 1.

ユーザプログラム186は、シーケンス命令プログラム190と協働して、ユーザにおける制御目的を実現する。すなわち、ユーザプログラム186は、シーケンス命令プログラム190によって提供される命令、関数、機能モジュールなどを利用することで、プログラムされた動作を実現する。そのため、ユーザプログラム186およびシーケンス命令プログラム190を「制御プログラム」と総称する場合もある。   The user program 186 cooperates with the sequence command program 190 to realize a control purpose for the user. That is, the user program 186 realizes a programmed operation by using instructions, functions, function modules, and the like provided by the sequence instruction program 190. Therefore, the user program 186 and the sequence command program 190 may be collectively referred to as “control program”.

データ定義情報182は、ユーザプログラム186などが実行される際に、参照されるデータ(入力データ、出力データ、内部データ)をユニークな変数として扱うための定義を含む。稼動ログ184には、システムプログラム188およびユーザプログラム186の実行に伴って、予め定められた事象が発生した際に、当該発生した事象の情報が時刻情報と関連付けて格納される。すなわち、稼動ログ184には、システムプログラム188および/またはユーザプログラム186の実行に伴う各種情報がログ(履歴情報)として格納される。   The data definition information 182 includes a definition for handling data (input data, output data, internal data) referred to as a unique variable when the user program 186 or the like is executed. In the operation log 184, when a predetermined event occurs in accordance with the execution of the system program 188 and the user program 186, information on the generated event is stored in association with time information. In other words, the operation log 184 stores various information associated with the execution of the system program 188 and / or the user program 186 as a log (history information).

以下、各プログラムについてより詳細に説明する。
シーケンス命令プログラム190は、ユーザプログラム186の実行に伴って、ユーザプログラム186内で指定されているシーケンス命令の実体を呼び出して、その命令の内容を実現するための命令コード群を含む。
Hereinafter, each program will be described in more detail.
The sequence instruction program 190 includes an instruction code group for calling the substance of the sequence instruction specified in the user program 186 and realizing the contents of the instruction as the user program 186 is executed.

DBアクセス処理プログラム192は、ユーザプログラム186の実行に伴って、データベース装置400へアクセスするために必要な処理を実現するための命令コード群を含む。DBアクセス処理プログラム192は、ユーザプログラム186において指定可能な命令に対応する実行コードを含む。   The DB access processing program 192 includes an instruction code group for realizing processing necessary for accessing the database device 400 as the user program 186 is executed. The DB access processing program 192 includes an execution code corresponding to an instruction that can be specified in the user program 186.

入出力処理プログラム194は、IOユニット106や各種のフィールド機器との間で、入力データの取得および出力データの送信を管理するためのプログラムである。   The input / output processing program 194 is a program for managing the acquisition of input data and the transmission of output data with the IO unit 106 and various field devices.

Toolインターフェイス処理プログラム196は、サポート装置300との間でデータを遣り取りするためのインターフェイスを提供する。   The Tool interface processing program 196 provides an interface for exchanging data with the support device 300.

スケジューラ198は、予め定められた優先度やシステムタイマの値などに従って、制御プログラムを実行するためのスレッドやプロシージャを生成する。   The scheduler 198 generates a thread or procedure for executing the control program according to a predetermined priority, a system timer value, or the like.

ユーザプログラム186は、上述したように、ユーザにおける制御目的(たとえば、対象のラインやプロセス)に応じて作成される。ユーザプログラム186は、典型的には、CPUユニット104のプロセッサ120で実行可能なオブジェクトプログラム形式になっている。ユーザプログラム186は、サポート装置300などにおいて、ラダー形式やファンクションブロック形式で記述されたソースプログラムがコンパイルされることで生成される。そして、生成されたオブジェクトプログラム形式のユーザプログラムは、サポート装置300からCPUユニット104へ転送され、不揮発性メモリ128などに格納される。   As described above, the user program 186 is created according to a control purpose (for example, a target line or process) by the user. The user program 186 is typically in an object program format that can be executed by the processor 120 of the CPU unit 104. The user program 186 is generated by compiling a source program described in a ladder format or a function block format in the support device 300 or the like. The generated user program in the object program format is transferred from the support device 300 to the CPU unit 104 and stored in the nonvolatile memory 128 or the like.

<C.サポート装置300の構成>
次に、本実施の形態に係るサポート装置300について説明する。サポート装置300は、PLC100のCPUユニット104の使用を支援するためのものであり、PLC100との間で各種パラメータの設定、プログラミング、モニタ、デバッグなどの機能を提供する。
<C. Configuration of Support Device 300>
Next, the support device 300 according to the present embodiment will be described. The support device 300 is for supporting the use of the CPU unit 104 of the PLC 100, and provides functions such as setting of various parameters, programming, monitoring, and debugging with the PLC 100.

図4は、本実施の形態に係るPLC100に接続して用いられるサポート装置300のハードウェア構成を示す模式図である。サポート装置300は、典型的には、汎用のコンピュータで構成される。   FIG. 4 is a schematic diagram showing a hardware configuration of support device 300 used by being connected to PLC 100 according to the present embodiment. The support device 300 is typically composed of a general-purpose computer.

図4を参照して、サポート装置300は、OSを含む各種プログラムを実行するCPU302と、BIOSや各種データを格納するROM(Read Only Memory)304と、CPU302でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリRAM306と、CPU302で実行されるプログラムなどを不揮発的に格納するハードディスク(HDD)308とを含む。より具体的には、ハードディスク308には、サポート装置300が提供する機能を実現するためのサポートプログラム330が格納されている。   Referring to FIG. 4, the support device 300 stores a CPU 302 that executes various programs including an OS, a ROM (Read Only Memory) 304 that stores BIOS and various data, and data necessary for the execution of the program by the CPU 302. A memory RAM 306 that provides a work area for storage, and a hard disk (HDD) 308 that stores programs executed by the CPU 302 in a nonvolatile manner. More specifically, the hard disk 308 stores a support program 330 for realizing functions provided by the support device 300.

サポート装置300は、さらに、ユーザからの操作を受け付けるキーボード310およびマウス312と、情報をユーザに提示するためのモニタ314とを含む。さらに、サポート装置300は、PLC100(CPUユニット104)などと通信するための通信インターフェイス(IF)318を含む。   The support apparatus 300 further includes a keyboard 310 and a mouse 312 that accept operations from the user, and a monitor 314 for presenting information to the user. Further, the support device 300 includes a communication interface (IF) 318 for communicating with the PLC 100 (CPU unit 104) and the like.

サポート装置300で実行されるサポートプログラム330などは、光学記録媒体332に格納されて流通する。光学記録媒体332に格納されたプログラムは、光学ディスク読取装置316によって読み取られ、ハードディスク308などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。   The support program 330 and the like executed by the support device 300 are stored in the optical recording medium 332 and distributed. The program stored in the optical recording medium 332 is read by the optical disk reader 316 and stored in the hard disk 308 or the like. Alternatively, the program may be downloaded from a host computer or the like via a network.

<D.データベース装置400の構成>
次に、本実施の形態に係るデータベース装置400について説明する。データベース装置400としては、データベースを提供する公知の構成を採用することができる。このようなデータベースとしては、リレーショナルデータ型やオブジェクトデータ型といった任意の構成を採用できる。データベース装置400は、汎用的なコンピュータアーキテクチャに従って構成されるため、ここではその詳細な説明は繰り返さない。
<D. Configuration of Database Device 400>
Next, the database apparatus 400 according to the present embodiment will be described. As the database device 400, a known configuration that provides a database can be employed. As such a database, an arbitrary configuration such as a relational data type or an object data type can be adopted. Since database apparatus 400 is configured according to a general-purpose computer architecture, detailed description thereof will not be repeated here.

データベース装置400は、PLC100からの接続要求やアクセス要求(リレーショナルデータ型では、SQL文)を受けて、必要な処理を実行し、その処理結果などをPLC100へ応答する。   The database device 400 receives a connection request or access request from the PLC 100 (SQL statement in the relational data type), executes necessary processing, and returns the processing result to the PLC 100.

<E.ログ出力機能の概要>
次に、本実施の形態に係る制御システム1により提供されるログ出力機能の概要について説明する。本実施の形態に係るログ出力機能は、通常のプログラムの実行に伴って出力されるログ(以下「実行ログ」とも称す。)や、プログラムの実行失敗やハードウェアの不具合の発生に伴って出力されるログ(以下「イベントログ」とも称す。)に加えて、ユーザプログラム186において任意に指定された位置および内容のログ(以下「デバッグログ」とも称す。)を出力することが可能になっている。稼動ログ184は、これらのすべてのログを含む。
<E. Overview of log output function>
Next, an overview of the log output function provided by the control system 1 according to the present embodiment will be described. The log output function according to the present embodiment is output when a normal program execution log (hereinafter also referred to as “execution log”), a program execution failure, or a hardware failure occurs. In addition to the log (hereinafter also referred to as “event log”), it is possible to output a log having a position and content arbitrarily specified in the user program 186 (hereinafter also referred to as “debug log”). Yes. The operation log 184 includes all these logs.

実行ログは、予め定められた種類の処理が実行された際に、その処理内容を時刻情報と関連付けて記録した情報である。この実行ログによって、ユーザプログラム186において指定された処理が実行されたことを確認することができる。実行ログは、基本的には、PLC100が稼動中(プログラムを実行している状態)において、常にロギングを行う。イベントログは、指定された処理の実行が失敗したような場合に、その処理内容を時刻情報と関連付けて記録した情報である。典型的には、指定された処理がエラーなどで中断したような場合に、その内容がロギングされる。   The execution log is information in which processing content is recorded in association with time information when a predetermined type of processing is executed. From this execution log, it can be confirmed that the process specified in the user program 186 has been executed. Basically, the execution log is always logged while the PLC 100 is in operation (a state in which a program is being executed). The event log is information that records the processing contents in association with time information when the execution of the specified processing fails. Typically, when a specified process is interrupted due to an error or the like, the contents are logged.

デバッグログは、プログラムのデバッグや健全性のチェックを効率的に行うための情報であり、基本的には、システムの調整中に利用される。すなわち、ユーザが利用したいときだけ、ユーザプログラム186に追加することで、プログラム実行中の所望する情報を所望するタイミング(実行位置)で出力させることができる。   The debug log is information for efficiently performing program debugging and soundness check, and is basically used during system adjustment. In other words, by adding to the user program 186 only when the user wants to use it, it is possible to output desired information during execution of the program at a desired timing (execution position).

本実施の形態に係るログ出力機能を用いることで、ユーザは、ユーザプログラム186の任意の位置にデバッグログを出力するための命令を追加および削除することができ、この命令によって出力されるデバッグログを用いて、プログラムのデバッグや健全性のチェックを効率的に行うことができる。すなわち、本実施の形態に係る制御システム1は、ユーザが目的とする実行位置において、目的とするログを容易に取得するための機能を提供する。   By using the log output function according to the present embodiment, the user can add and delete a command for outputting a debug log at an arbitrary position in the user program 186, and the debug log output by this command Can be used to efficiently debug programs and check their soundness. That is, the control system 1 according to the present embodiment provides a function for easily acquiring a target log at a target execution position.

図5は、本実施の形態に係る制御システム1により提供されるログ出力機能の概要を説明するための模式図である。図5には、ユーザプログラム186においてデータベース装置400への接続命令が定義されている例を示す。但し、ユーザプログラム186に定義される命令は任意に定義でき、この定義される命令の種類は、本発明の範囲に何ら影響を与えるものではない。   FIG. 5 is a schematic diagram for explaining an overview of the log output function provided by the control system 1 according to the present embodiment. FIG. 5 shows an example in which a connection command to the database apparatus 400 is defined in the user program 186. However, the instruction defined in the user program 186 can be arbitrarily defined, and the type of instruction defined does not affect the scope of the present invention.

より具体的には、ユーザがサポート装置300を操作して、ユーザプログラム186内にDB接続命令(DB_Connect)を指定したとする。このユーザプログラム186が実行され、DB接続命令の実行タイミングになると、DBアクセス処理プログラム192(図3)の対応する命令コードが呼び出されて、データベース装置400への接続要求を含むSQL文が生成および送信される。すなわち、システムプログラム188に含まれるDBアクセス処理プログラム192によって実現されるDB接続サービスが提供されており、ユーザプログラム186内のDB接続命令の発行によって、DB接続サービスがトリガーされる。そして、DB接続サービスは、SQL文を生成し、生成したSQL文をDBアクセス機能へ渡す。DBアクセス機能は、上位通信コントローラ160(図2)およびDBアクセス処理プログラム192(図3)によって実現される機能であり、DB接続サービスから受取ったSQL文を、ネットワーク112を介してデータベース装置400へ送信する。   More specifically, it is assumed that the user operates the support device 300 and designates a DB connection command (DB_Connect) in the user program 186. When this user program 186 is executed and the DB connection instruction execution timing is reached, the corresponding instruction code of the DB access processing program 192 (FIG. 3) is called to generate and generate an SQL statement including a connection request to the database device 400. Sent. In other words, a DB connection service realized by the DB access processing program 192 included in the system program 188 is provided, and issuance of a DB connection command in the user program 186 triggers the DB connection service. Then, the DB connection service generates an SQL statement and passes the generated SQL statement to the DB access function. The DB access function is a function realized by the host communication controller 160 (FIG. 2) and the DB access processing program 192 (FIG. 3). The SQL sentence received from the DB connection service is sent to the database apparatus 400 via the network 112. Send.

データベース装置400は、PLC100からのSQL文を受信すると、それに従って処理を実行し、必要に応じて、その結果をPLC100へ応答する。   When the database apparatus 400 receives the SQL statement from the PLC 100, the database apparatus 400 executes processing according to the received SQL statement, and returns the result to the PLC 100 as necessary.

DB接続サービスは、このDB接続命令の実行(SQL文の作成および送信)に応答し、当該命令によって指定された情報を時刻情報と関連付けて(つまり、実行ログとして)稼動ログ184(図5に示す例では、メモリカード172に格納されるログファイル1842)に書き込む。つまり、PLC100の稼動状況のログが保存される。このとき、ユーザは、稼動ログ184への実行ログの書き込みを明示的に指示する必要はなく、DB接続命令が実行されると、DB接続サービスが自動的に稼動状況を稼動ログ184へ書き込むようなシステム環境が構築されている。   The DB connection service responds to the execution of the DB connection command (creation and transmission of an SQL statement), associates the information specified by the command with the time information (that is, as an execution log), and the operation log 184 (FIG. 5) In the example shown, the log file 1842) stored in the memory card 172 is written. That is, a log of the operating status of the PLC 100 is stored. At this time, the user does not need to explicitly instruct the execution log to be written in the operation log 184, and when the DB connection command is executed, the DB connection service automatically writes the operation status to the operation log 184. System environment has been established.

すなわち、PLC100のCPUユニット104は、DBアクセス処理プログラム192(システムプログラム188)を実行することで、予め定められた事象の発生に応答して、当該発生した事象の情報(実行ログおよび/またはイベントログ)を時刻情報と関連付けて記憶部であるメモリカード172に書き込む書込手段として機能する。このとき、不揮発性メモリ128などに予め格納されたシステムプログラム188をPLC100のCPUユニット104が実行することで、予め定められた事象(例えば、DB接続命令の実行)を発生させる。   That is, the CPU unit 104 of the PLC 100 executes the DB access processing program 192 (system program 188), thereby responding to the occurrence of a predetermined event, and information on the event that has occurred (execution log and / or event) Log) functions as writing means for writing to the memory card 172 which is a storage unit in association with time information. At this time, the CPU unit 104 of the PLC 100 executes the system program 188 stored in advance in the nonvolatile memory 128 or the like, thereby generating a predetermined event (for example, execution of a DB connection command).

なお、稼動ログ184の書き込み先は、メモリカード172に限らず、主メモリ126や不揮発性メモリ128(図2)であってもよいし、あるいは、PLC100の外部にある記憶装置であってもよい。但し、PLC100の電源が遮断された場合であっても、これらの稼動ログ184を保持できる記憶装置が好ましい。   The write destination of the operation log 184 is not limited to the memory card 172, but may be the main memory 126 or the non-volatile memory 128 (FIG. 2) or a storage device outside the PLC 100. . However, a storage device that can hold these operation logs 184 is preferable even when the power of the PLC 100 is shut off.

このようなシステム環境において、ユーザは、ユーザプログラム186の任意の位置にログ出力命令を追加することができるとともに、ユーザプログラム186に含まれるログ出力命令を任意に削除することもできる。例えば、ユーザが、図5に示すようにユーザプログラム186にログ出力命令(DB_PutLog)を指定したとする。このログ出力命令は、DB接続命令の後に定義されたとする。すると、DB接続命令の実行に伴って出力される実行ログに続いて、ログ出力命令の実行に伴って、デバッグログが生成され、稼動ログ184へ書き込まれる。このデバッグログは、ログ出力命令によって指定された情報と、それに関連付けられた時刻情報とを含む。   In such a system environment, the user can add a log output command to an arbitrary position of the user program 186 and can arbitrarily delete the log output command included in the user program 186. For example, assume that the user designates a log output command (DB_PutLog) in the user program 186 as shown in FIG. This log output command is defined after the DB connection command. Then, following the execution log output with the execution of the DB connection instruction, a debug log is generated and written into the operation log 184 with the execution of the log output instruction. This debug log includes information specified by the log output command and time information associated therewith.

なわち、PLC100のCPUユニット104は、ユーザプログラム186に含まれる所定の命令(ログ出力命令)の実行に応答して、当該命令によって指定された情報(デバッグログ)を時刻情報と関連付けて記憶部であるメモリカード172に書き込む書込手段として機能する。なお、図5に示す例では、PLC100のCPUユニット104がDBアクセス処理プログラム192(システムプログラム188)を実行することで出力される情報(実行ログおよび/またはイベントログ)と、PLC100のCPUユニット104がユーザプログラム186に含まれるログ出力命令を実行することで出力される情報(デバッグログ)とは、記憶部であるメモリカード172の共通の記憶領域(ログファイル1842)へ発生順に書き込まれる。   That is, in response to execution of a predetermined instruction (log output instruction) included in the user program 186, the CPU unit 104 of the PLC 100 associates information (debug log) specified by the instruction with time information and stores the information It functions as a writing means for writing to the memory card 172. In the example shown in FIG. 5, information (execution log and / or event log) output when the CPU unit 104 of the PLC 100 executes the DB access processing program 192 (system program 188), and the CPU unit 104 of the PLC 100. The information (debug log) output by executing the log output instruction included in the user program 186 is written in the common storage area (log file 1842) of the memory card 172 as a storage unit in the order of occurrence.

<F.ユーザインターフェイス(ログ出力命令の追加/削除)>
次に、本実施の形態に係るサポート装置300により提供されるログ出力機能に係るユーザインターフェイスについて説明する。図5に示すようなログ出力機能に向けて、サポート装置300は、PLC100で実行されるユーザプログラム186の任意の位置に所定の命令(ログ出力命令)を追加する処理、および、ユーザプログラム186に含まれる所定の命令(ログ出力命令)を任意に削除する処理の少なくとも一方を実行するためのユーザインターフェイスを提供する。
<F. User interface (add / delete log output command)>
Next, a user interface related to a log output function provided by the support device 300 according to the present embodiment will be described. For the log output function as shown in FIG. 5, the support apparatus 300 adds a predetermined command (log output command) to an arbitrary position of the user program 186 executed by the PLC 100, and the user program 186. A user interface for executing at least one of processes for arbitrarily deleting a predetermined instruction (log output instruction) included is provided.

図6および図7は、本実施の形態に係るサポート装置300において提供されるユーザプログラムの生成に係るユーザインターフェイスの一例を示す図である。より詳しくは、図6は、DB接続命令を含むユーザプログラムを生成した状態を示し、図7は、図6に示すユーザプログラムに対してログ出力命令を追加した状態を示す。   6 and 7 are diagrams illustrating an example of a user interface related to generation of a user program provided in the support device 300 according to the present embodiment. More specifically, FIG. 6 shows a state where a user program including a DB connection command is generated, and FIG. 7 shows a state where a log output command is added to the user program shown in FIG.

図6に示すユーザインターフェイス画面350において作成されるユーザプログラム186では、実行開始条件として、動作中フラグ352および実行開始フラグ354が定義されており、これらの両フラグがオンになると、DB接続処理が実行される。このDB接続処理として、DB接続命令ブロック356と、DB接続用マップ選択ブロック358と、INSERT用/SELECT用DBマップ生成ブロック360とが定義されている。   In the user program 186 created on the user interface screen 350 shown in FIG. 6, an in-operation flag 352 and an execution start flag 354 are defined as execution start conditions. When both these flags are turned on, the DB connection process is performed. Executed. As this DB connection processing, a DB connection command block 356, a DB connection map selection block 358, and an INSERT / SELECT DB map generation block 360 are defined.

そして、DB接続用マップ選択ブロック358の実行が完了したことをもってオンされるマップ選択完了フラグ362と、動作中フラグ352とによって、DB接続完了を示すフラグ364がオンされるようにプログラムされている。   The flag 364 indicating the completion of the DB connection is programmed to be turned on by the map selection completion flag 362 that is turned on when the execution of the DB connection map selection block 358 is completed and the operating flag 352. .

図7に示すユーザプログラム186では、図6と比較して、ログ出力命令ブロック370が追加されている。ログ出力命令ブロック370は、ユーザが所定の操作を行うことで追加される。また、図7に示すログ出力命令ブロック370を任意のタイミングで削除することもできる。すなわち、ユーザプログラム186に対するログ出力命令の追加および削除は、サポート装置300においてユーザプログラム186のソースコードを編集する際に行うこともできるし、PLC100がユーザプログラム186を実行中に(つまり、オンラインで)ログ出力命令を追加または編集できる(オンラインエディット)ようにしてもよい。すなわち、サポート装置300では、PLC100がユーザプログラム186を実行中に、ログ出力命令の追加または削除が可能であることが好ましい。このようなオンラインエディットの機能を提供することで、ユーザプログラム186に対するデバッグをより効率的に行うことができる。   In the user program 186 shown in FIG. 7, a log output instruction block 370 is added as compared with FIG. The log output command block 370 is added when the user performs a predetermined operation. Also, the log output command block 370 shown in FIG. 7 can be deleted at an arbitrary timing. That is, addition and deletion of log output commands to the user program 186 can be performed when the source code of the user program 186 is edited in the support device 300, or while the PLC 100 is executing the user program 186 (that is, online) ) A log output command may be added or edited (online editing). That is, in the support apparatus 300, it is preferable that the log output command can be added or deleted while the PLC 100 is executing the user program 186. By providing such an online editing function, the user program 186 can be debugged more efficiently.

このように、サポート装置300は、PLC100で実行されるユーザプログラム186の任意の位置にログ出力命令を追加する処理、および、ユーザプログラム186に含まれるログ出力命令を任意に削除する処理の少なくとも一方を実行するためのユーザインターフェイスを提供する。   As described above, the support device 300 at least one of the process of adding a log output command to an arbitrary position of the user program 186 executed by the PLC 100 and the process of arbitrarily deleting the log output command included in the user program 186 Provides a user interface for executing

<G.ユーザインターフェイス(デバッグログの表示)>
次に、本実施の形態に係るサポート装置300により提供される稼動ログの取得および表示に係るユーザインターフェイスについて説明する。上述のようにログ出力命令が追加されることで出力された稼動ログ184について、サポート装置300にて確認することが可能である。すなわち、サポート装置300は、PLC100の記憶部(メモリカード172など)に格納される情報を時系列に表示するユーザインターフェイスを提供する。
<G. User interface (display debug log)>
Next, a user interface related to acquisition and display of operation logs provided by the support device 300 according to the present embodiment will be described. As described above, the support device 300 can check the operation log 184 output by adding the log output command. That is, the support device 300 provides a user interface that displays information stored in the storage unit (such as the memory card 172) of the PLC 100 in time series.

図8は、本実施の形態に係るサポート装置300において提供される稼動ログ184の取得および表示に係るユーザインターフェイスの一例を示す図である。   FIG. 8 is a diagram illustrating an example of a user interface related to acquisition and display of the operation log 184 provided in the support device 300 according to the present embodiment.

図8に示すユーザインターフェイス画面380において、ユーザが取得ボタン390を押下すると、サポート装置300と接続されたPLC100から稼動ログ184が取得される。この稼動ログ184は、基本的には、USBコネクタ130を介して、PLC100からサポート装置300へ送信される。但しこれに限られるものではなく、PLC100が提供するFTP(File Transfer Protocol)サーバ機能やHTTP(Hyper Text Transfer Protocol)サーバ機能などを用いて、ネットワーク経由で送信してもよい。   When the user presses the acquisition button 390 on the user interface screen 380 illustrated in FIG. 8, the operation log 184 is acquired from the PLC 100 connected to the support apparatus 300. The operation log 184 is basically transmitted from the PLC 100 to the support device 300 via the USB connector 130. However, the present invention is not limited to this, and transmission may be performed via a network using an FTP (File Transfer Protocol) server function or an HTTP (Hyper Text Transfer Protocol) server function provided by the PLC 100.

図8に示すユーザインターフェイス画面380には、稼動ログが時系列に表示されている。一例として、図8に示す稼動ログのうち、エントリ「2」のログ386がログ出力命令によって生成されたものである。   The operation log is displayed in time series on the user interface screen 380 shown in FIG. As an example, among the operation logs shown in FIG. 8, the log 386 of the entry “2” is generated by a log output command.

具体的には、各ログは、日時、カテゴリ、ログコード、ログ名、結果、コネクション名、シリアルIDといった事項を含む。日時は、対応するイベントが発生した時刻を示す。カテゴリおよびログコードは、対応するログの属性を示し、対応するログを生成したアプリケーションなどを特定することができる。ログ名は、対応するログの内容を一見して把握できる情報を含み、ログ出力命令によって生成されたログでは、ユーザが任意にログ名を設定することもできる。結果は、対応するログの情報を示すものであり、エラーなどが発生した場合には、そのエラーコードが結果として出力される場合もある。コネクション名およびシリアルIDは、主として、DB接続に関する情報であり、予め設定されている接続の設定のうち、いずれの設定が使用されたかといった情報を含む。   Specifically, each log includes items such as date and time, category, log code, log name, result, connection name, and serial ID. The date and time indicate the time when the corresponding event occurs. The category and the log code indicate the attribute of the corresponding log, and can specify the application that generated the corresponding log. The log name includes information that allows the user to grasp the contents of the corresponding log at a glance. In the log generated by the log output command, the user can arbitrarily set the log name. The result indicates the information of the corresponding log, and when an error or the like occurs, the error code may be output as a result. The connection name and serial ID are mainly information related to the DB connection, and include information indicating which setting is used among the connection settings set in advance.

なお、図8に示すユーザインターフェイス画面380のタブに表示の「SQL失敗ログ」は上述の「イベントログ」に対応する。   The “SQL failure log” displayed on the tab of the user interface screen 380 shown in FIG. 8 corresponds to the “event log” described above.

図8に示す稼動ログによれば、まず、DB接続サービス(図5)が開始されると、その事象の情報を含むログ382が生成され、続いて、データベース装置400への接続要求が実行されると、その事象の情報を含むログ384が生成されたことがわかる。このとき、図7に示すようなログ出力命令が追加されていると、そのログ出力命令によって指定された情報を含むログ386が生成される。その後、接続済みのデータベース装置400に対して、何らかのデータを追加するような要求が実行されると、その事象の情報を含むログ388が生成される。   According to the operation log shown in FIG. 8, when the DB connection service (FIG. 5) is started, a log 382 including information on the event is generated, and subsequently, a connection request to the database apparatus 400 is executed. Then, it can be seen that the log 384 including the event information is generated. At this time, if a log output command as shown in FIG. 7 is added, a log 386 including information specified by the log output command is generated. Thereafter, when a request for adding some data is executed to the connected database apparatus 400, a log 388 including information on the event is generated.

ログ出力命令ブロック370(図6)の設定内容とログ386の内容との対応関係の一例を示す。ログ出力命令ブロック370では、出力するログの内容についてもユーザが任意に指定することもできる。例えば、ログ出力命令ブロック370のLogCode、LogName、ErrorIDは、それぞれログコード、ログ名、結果に対応する。これらの値をユーザプログラム186においてユーザが予め設定しておくことで、不具合の特定などをより容易に行うことができる。さらに、ログ出力命令ブロック370のLogMsgには、通常のログとして格納される情報量に加えて、より多くの情報量をもつ内容を出力させることができる。このより詳細な内容は、ユーザインターフェイス画面380の詳細情報の欄に表示される。   An example of the correspondence between the setting contents of the log output command block 370 (FIG. 6) and the contents of the log 386 is shown. In the log output command block 370, the user can also arbitrarily specify the contents of the log to be output. For example, LogCode, LogName, and ErrorID of the log output command block 370 correspond to a log code, a log name, and a result, respectively. By setting these values in advance in the user program 186 by the user, it is possible to more easily identify defects. Further, the LogMsg of the log output instruction block 370 can output contents having a larger amount of information in addition to the amount of information stored as a normal log. This more detailed content is displayed in the detailed information column of the user interface screen 380.

<H.処理手順>
次に、本実施の形態に係るPLC100におけるログ出力機能に係る処理手順について説明する。図9は、本実施の形態に係るPLC100における処理手順を示すフローチャートである。図9に示す各ステップは、CPUユニット104のプロセッサ120がユーザプログラム186およびシステムプログラム188をそれぞれ実行することで実現される。なお、図9には、ユーザプログラム186およびシステムプログラム188が互いに独立して実行される例を示すが、両プログラムを包含する単一のプログラムを実行するようにしてもよい。
<H. Processing procedure>
Next, a processing procedure related to the log output function in the PLC 100 according to the present embodiment will be described. FIG. 9 is a flowchart showing a processing procedure in PLC 100 according to the present embodiment. Each step shown in FIG. 9 is realized by the processor 120 of the CPU unit 104 executing the user program 186 and the system program 188, respectively. Although FIG. 9 shows an example in which the user program 186 and the system program 188 are executed independently of each other, a single program including both programs may be executed.

図9を参照して、ユーザプログラム186の実行に関して、プロセッサ120は、予め格納されているユーザプログラム186をロードし、ロードしたユーザプログラム186を予め定められた周期で繰り返し実行する(ステップS100)。なお、このロードされるユーザプログラム186は、コンパイルされて実行可能なオブジェクト形式になっているものとする。但し、ユーザプログラム186をソースコードのままロードする、あるいは、ユーザプログラム186を中間コードにコンパイルしたものをロードするようにしてもよい。この場合には、ロードされたコードを逐次コンパイルしつつ、プロセッサ120は、処理を実行することになる。   Referring to FIG. 9, regarding execution of user program 186, processor 120 loads user program 186 stored in advance, and repeatedly executes the loaded user program 186 at a predetermined cycle (step S100). It is assumed that the user program 186 to be loaded is in an object format that can be compiled and executed. However, the user program 186 may be loaded as the source code, or the user program 186 compiled into intermediate code may be loaded. In this case, the processor 120 executes processing while sequentially compiling the loaded code.

すなわち、プロセッサ120は、ユーザプログラム186に含まれる命令に従って、必要に応じてシステムプログラム188を呼び出しつつ、指定された処理を実行する(ステップS102)。   That is, the processor 120 executes the specified process while calling the system program 188 as necessary according to the instructions included in the user program 186 (step S102).

この実行にあたって、実行ログの出力対象になっている処理を実行すると(ステップS104においてYES)、プロセッサ120は、当該処理を実行した処理結果などの情報を時刻情報と関連付けて実行ログとして出力する(ステップS106)。   In this execution, if the process that is the output target of the execution log is executed (YES in step S104), the processor 120 outputs information such as the result of executing the process in association with time information and outputs it as an execution log ( Step S106).

また、この実行にあたって、エラーなどの予め定められた事象が発生すると(ステップS108においてYES)、プロセッサ120は、当該エラーなどの情報を時刻情報と関連付けてイベントログとして出力する(ステップS110)。   In this execution, when a predetermined event such as an error occurs (YES in step S108), the processor 120 outputs information such as the error in association with time information as an event log (step S110).

また、この実行にあたって、ログ出力命令が要求されると(ステップS112においてYESの場合)、当該ログ出力命令によって指定された情報を時刻情報と関連付けてデバッグログとして出力する(ステップS114)。   In this execution, when a log output command is requested (YES in step S112), information specified by the log output command is output as a debug log in association with time information (step S114).

一連のユーザプログラム186の実行が完了すると、ステップS102以下の処理が繰り返される。   When the execution of the series of user programs 186 is completed, the processing after step S102 is repeated.

図9を参照して、システムプログラム188の実行に関して、プロセッサ120は、予め格納されているシステムプログラム188をロードし、ロードしたシステムプログラム188を予め定められた周期で繰り返し実行する(ステップS200)。なお、このロードされるシステムプログラム188は、コンパイルされて実行可能なオブジェクト形式になっているものとする。但し、ユーザプログラム186と同様に、システムプログラム188をソースコードのままロードする、あるいは、中間コードにコンパイルしたものをロードするようにしてもよい。   Referring to FIG. 9, regarding execution of system program 188, processor 120 loads system program 188 stored in advance, and repeatedly executes the loaded system program 188 at a predetermined period (step S200). It is assumed that the loaded system program 188 is in an object format that can be compiled and executed. However, as with the user program 186, the system program 188 may be loaded as the source code, or may be loaded into the intermediate code.

プロセッサ120は、ログ出力命令の追加がサポート装置300から要求されたか否かを判断する(ステップS202)。ログ出力命令の追加がサポート装置300から要求されていれば(ステップS202においてYESの場合)、プロセッサ120は、ユーザプログラム186の指定された位置に指定された内容のログ出力命令を追加して更新する(ステップS204)。   The processor 120 determines whether or not addition of a log output command is requested from the support device 300 (step S202). If addition of a log output command is requested from the support device 300 (YES in step S202), the processor 120 adds and updates a log output command with the specified content at a specified position in the user program 186. (Step S204).

また、プロセッサ120は、ログ出力命令の削除がサポート装置300から要求されたか否かを判断する(ステップS206)。ログ出力命令の削除がサポート装置300から要求されていれば(ステップS206においてYESの場合)、プロセッサ120は、ユーザプログラム186の指定されたログ出力命令を削除して更新する(ステップS208)。   Further, the processor 120 determines whether or not deletion of the log output command is requested from the support device 300 (step S206). If deletion of the log output command is requested from the support device 300 (YES in step S206), the processor 120 deletes and updates the specified log output command of the user program 186 (step S208).

すなわち、ステップS202〜S208は、ユーザプログラム186を実行中にログ出力命令を追加または編集するための機能(オンラインエディット)に係る処理である。   That is, steps S202 to S208 are processing related to a function (online editing) for adding or editing a log output command while executing the user program 186.

その後、プロセッサ120は、稼動ログ184の送信がサポート装置300から要求されたか否かを判断する(ステップS210)。稼動ログ184の送信がサポート装置300から要求されていれば(ステップS210においてYESの場合)、プロセッサ120は、格納している稼動ログ184を読み出してサポート装置300へ送信する(ステップS212)。   Thereafter, the processor 120 determines whether transmission of the operation log 184 is requested from the support device 300 (step S210). If transmission of operation log 184 is requested from support device 300 (YES in step S210), processor 120 reads stored operation log 184 and transmits it to support device 300 (step S212).

すなわち、ステップS210およびS212の処理は、サポート装置300から稼働ログ184の取得が要求された場合の処理である。   In other words, the processing in steps S210 and S212 is processing when acquisition of the operation log 184 is requested from the support device 300.

一連のシステムプログラム188の実行が完了すると、ステップS202以下の処理が繰り返される。   When the execution of the series of system programs 188 is completed, the processing after step S202 is repeated.

<I.変形例>
上述の実施の形態においては、1つのログファイル1842に、すべての稼動ログ(実行ログ、イベントログ、デバッグログ)を時系列に格納する構成について例示したが、当該発生した事象の情報が時刻情報と関連付けて格納されれば、1つのログファイル1842にこれらの情報を格納する必要はない。
<I. Modification>
In the above-described embodiment, the configuration in which all the operation logs (execution log, event log, debug log) are stored in one log file 1842 in time series is illustrated. However, the information of the event that has occurred is time information. It is not necessary to store these pieces of information in one log file 1842.

図10は、本実施の形態の変形例に係る稼動ログ184の格納方法を説明するための図である。図10に示すように、例えば、PLC100において、ログの種類別に3つのファイル1844,1846,1848を用意しておき、各ファイルに対応する種類のログを書き込むようにしてもよい。   FIG. 10 is a diagram for explaining a method of storing the operation log 184 according to a modification of the present embodiment. As shown in FIG. 10, for example, in the PLC 100, three files 1844, 1846, and 1848 may be prepared for each type of log, and a log of a type corresponding to each file may be written.

この場合、PLC100またはサポート装置300において、これらのファイルの内容をマージするとともに、時系列にソートすることで、図8に示すような稼動ログ184を取得することができる。このようなマージおよびソートの処理は、公知の技術を採用することで実現できる。   In this case, the operation log 184 as shown in FIG. 8 can be acquired by merging the contents of these files and sorting them in time series in the PLC 100 or the support device 300. Such merge and sort processing can be realized by employing a known technique.

<J.利点>
本実施の形態に係る制御システム1によれば、ユーザは、ログ出力命令をユーザプログラム186に対して任意に追加することができる。PLC100は、ユーザプログラム186の実行に伴って、予め定められた処理に係るログ(実行ログ)および処理が失敗した場合などに発生するログ(イベントログ)を自動的に出力するようになっている。ユーザが追加するログ出力命令によって発生するデバッグログは、これらの実行ログおよびイベントログとともに、時系列に格納される。そして、このように時系列に格納された稼動ログをユーザは事後的に参照することができる。
<J. Advantage>
According to the control system 1 according to the present embodiment, the user can arbitrarily add a log output command to the user program 186. With the execution of the user program 186, the PLC 100 automatically outputs a log (execution log) relating to a predetermined process and a log (event log) generated when the process fails. . The debug log generated by the log output command added by the user is stored in time series together with the execution log and the event log. Then, the user can refer to the operation log stored in chronological order in this way.

このような構成を採用することで、ユーザは、ユーザプログラム186が適切に実行されているか、および、ユーザプログラム186の実行時に不具合が生じたときに、何が原因であるかを容易に特定できる。これによって、プログラムのデバッグや健全性のチェックを効率的に行うことができる。   By adopting such a configuration, the user can easily identify whether the user program 186 is properly executed and what is the cause when a problem occurs when the user program 186 is executed. . This makes it possible to efficiently debug the program and check the soundness.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

1 制御システム、10 検出スイッチ、20 リレー、30 サーボモータドライバ、32 モータ、100 PLC、102 電源ユニット、104 CPUユニット、106 IOユニット、108 PLCシステムバス、110 フィールドバス、112 ネットワーク、114 接続ケーブル、120 プロセッサ、122 チップセット、124 システムクロック、126 主メモリ、128 不揮発性メモリ、130 USBコネクタ、140 PLCシステムバスコントローラ、142,152,162 バッファメモリ、144 PLCシステムバス制御回路、146,156,166 DMA制御回路、148 PLCシステムバスコネクタ、150 フィールドバスコントローラ、154 フィールドバス制御回路、158 フィールドバスコネクタ、160 上位通信コントローラ、164 上位通信制御回路、168 上位通信コネクタ、170 メモリカードインターフェイス、172 メモリカード、180 OS、182 データ定義情報、184 稼動ログ、1842 ログファイル、186 ユーザプログラム、188 システムプログラム、190 シーケンス命令プログラム、192 アクセス処理プログラム、194 入出力処理プログラム、196 インターフェイス処理プログラム、198 スケジューラ、200 リモートIOターミナル、202 通信カプラ、208 ターミナルバス、300 サポート装置、302 CPU、304 ROM、306 RAM、308 ハードディスク、310 キーボード、312 マウス、314 モニタ、316 光学ディスク読取装置、330 サポートプログラム、332 光学記録媒体、400 データベース装置。   1 control system, 10 detection switch, 20 relay, 30 servo motor driver, 32 motor, 100 PLC, 102 power supply unit, 104 CPU unit, 106 IO unit, 108 PLC system bus, 110 field bus, 112 network, 114 connection cable, 120 processor, 122 chipset, 124 system clock, 126 main memory, 128 non-volatile memory, 130 USB connector, 140 PLC system bus controller, 142, 152, 162 buffer memory, 144 PLC system bus control circuit, 146, 156, 166 DMA control circuit, 148 PLC system bus connector, 150 field bus controller, 154 field bus control circuit, 158 feel Bus connector, 160 host communication controller, 164 host communication control circuit, 168 host communication connector, 170 memory card interface, 172 memory card, 180 OS, 182 data definition information, 184 operation log, 1842 log file, 186 user program, 188 system Program, 190 sequence instruction program, 192 access processing program, 194 input / output processing program, 196 interface processing program, 198 scheduler, 200 remote IO terminal, 202 communication coupler, 208 terminal bus, 300 support device, 302 CPU, 304 ROM, 306 RAM, 308 hard disk, 310 keyboard, 312 mouse, 314 monitor, 316 optical data Disk reader, 330 support program, 332 optical recording medium, 400 database device.

Claims (6)

制御システムであって、
ユーザプログラムを周期的またはイベント的に実行する制御装置と、
前記制御装置に接続可能な情報処理装置とを備え、
前記制御装置は、
予め定められた事象の発生に応答して、当該発生した事象の情報を時刻情報と関連付けて記憶部に書き込む第1の書込手段と、
前記ユーザプログラムに含まれる所定の命令の実行に応答して、当該命令によって指定された情報を時刻情報と関連付けて前記記憶部に書き込む第2の書込手段とを備え、
前記情報処理装置は、前記制御装置で実行される前記ユーザプログラムの任意の位置に前記所定の命令を追加する処理、および、前記ユーザプログラムに含まれる前記所定の命令を任意に削除する処理の少なくとも一方を実行するためのユーザインターフェイスを提供する、制御システム。
A control system,
A control device that periodically or eventally executes a user program;
An information processing device connectable to the control device,
The control device includes:
In response to occurrence of a predetermined event, first writing means for writing information on the event that occurred in the storage unit in association with time information;
In response to execution of a predetermined command included in the user program, the second writing means for writing information specified by the command in association with time information in the storage unit,
The information processing apparatus includes at least a process of adding the predetermined instruction to an arbitrary position of the user program executed by the control apparatus, and a process of arbitrarily deleting the predetermined instruction included in the user program A control system that provides a user interface to perform one.
前記第1の書込手段および前記第2の書込手段は、前記記憶部の共通の記憶領域へ情報を発生順に書き込む、請求項1に記載の制御システム。   The control system according to claim 1, wherein the first writing unit and the second writing unit write information in a common storage area of the storage unit in the order of generation. 前記制御装置は、予め格納されたシステムプログラムを実行することで、前記予め定められた事象を発生させる、請求項1または2に記載の制御システム。   The control system according to claim 1, wherein the control device generates the predetermined event by executing a system program stored in advance. 前記情報処理装置は、前記制御装置が前記ユーザプログラムを実行中に、前記所定の命令の追加または削除が可能である、請求項1〜3のいずれか1項に記載の制御システム。   The control system according to any one of claims 1 to 3, wherein the information processing apparatus is capable of adding or deleting the predetermined command while the control apparatus is executing the user program. 前記情報処理装置は、前記制御装置の前記記憶部に格納される情報を時系列に表示するユーザインターフェイスを提供する、請求項1〜4のいずれか1項に記載の制御システム。   The control system according to claim 1, wherein the information processing device provides a user interface that displays information stored in the storage unit of the control device in time series. ユーザプログラムを周期的またはイベント的に実行する制御装置であって、
予め定められた事象の発生に応答して、当該発生した事象の情報を時刻情報と関連付けて記憶部に書き込む第1の書込手段と、
前記ユーザプログラムに含まれる所定の命令の実行に応答して、当該命令によって指定された情報を時刻情報と関連付けて前記記憶部に書き込む第2の書込手段と、
外部からの指令に従って、前記ユーザプログラムの任意の位置に前記所定の命令を追加する処理、または、前記ユーザプログラムに含まれる前記所定の命令を任意に削除する処理の少なくとも一方を実行するための変更手段とを備える、制御装置。
A control device that periodically or eventally executes a user program,
In response to occurrence of a predetermined event, first writing means for writing information on the event that occurred in the storage unit in association with time information;
In response to execution of a predetermined command included in the user program, second writing means for writing information specified by the command to the storage unit in association with time information;
Change for executing at least one of the process of adding the predetermined instruction to an arbitrary position of the user program or the process of arbitrarily deleting the predetermined instruction included in the user program in accordance with an external command And a control device.
JP2012250615A 2012-11-14 2012-11-14 Control system and control device Active JP6442131B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012250615A JP6442131B2 (en) 2012-11-14 2012-11-14 Control system and control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012250615A JP6442131B2 (en) 2012-11-14 2012-11-14 Control system and control device

Publications (2)

Publication Number Publication Date
JP2014099058A true JP2014099058A (en) 2014-05-29
JP6442131B2 JP6442131B2 (en) 2018-12-19

Family

ID=50941018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012250615A Active JP6442131B2 (en) 2012-11-14 2012-11-14 Control system and control device

Country Status (1)

Country Link
JP (1) JP6442131B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016024818A (en) * 2014-07-17 2016-02-08 ヴァーゴ・フェアヴァルトゥングスゲゼルシャフト・エムベーハー Industrial control system and method for transferring data
JP2017004172A (en) * 2015-06-08 2017-01-05 株式会社日立産機システム Programmable controller and method for removing noise thereof
JP2020177485A (en) * 2019-04-19 2020-10-29 株式会社ジェイテクト Operation history recording method of programmable controller and sequence program
CN113950647A (en) * 2019-06-06 2022-01-18 欧姆龙株式会社 Control system
CN114072737A (en) * 2019-07-03 2022-02-18 欧姆龙株式会社 Control system, setting device, and computer program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01223504A (en) * 1988-03-02 1989-09-06 Mitsubishi Electric Corp Sampling trace system for programmable controller
JPH07104838A (en) * 1993-10-08 1995-04-21 Mazda Motor Corp Operation managing system
JP2005309916A (en) * 2004-04-23 2005-11-04 Mitsubishi Electric Corp Programmable controller, programming device and program change system
JP2010097478A (en) * 2008-10-17 2010-04-30 Yokogawa Electric Corp Programmable logic controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01223504A (en) * 1988-03-02 1989-09-06 Mitsubishi Electric Corp Sampling trace system for programmable controller
JPH07104838A (en) * 1993-10-08 1995-04-21 Mazda Motor Corp Operation managing system
JP2005309916A (en) * 2004-04-23 2005-11-04 Mitsubishi Electric Corp Programmable controller, programming device and program change system
JP2010097478A (en) * 2008-10-17 2010-04-30 Yokogawa Electric Corp Programmable logic controller

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016024818A (en) * 2014-07-17 2016-02-08 ヴァーゴ・フェアヴァルトゥングスゲゼルシャフト・エムベーハー Industrial control system and method for transferring data
JP2017004172A (en) * 2015-06-08 2017-01-05 株式会社日立産機システム Programmable controller and method for removing noise thereof
JP2020177485A (en) * 2019-04-19 2020-10-29 株式会社ジェイテクト Operation history recording method of programmable controller and sequence program
JP7404645B2 (en) 2019-04-19 2023-12-26 株式会社ジェイテクト Programmable controller operation history recording method and sequence program
CN113950647A (en) * 2019-06-06 2022-01-18 欧姆龙株式会社 Control system
CN114072737A (en) * 2019-07-03 2022-02-18 欧姆龙株式会社 Control system, setting device, and computer program

Also Published As

Publication number Publication date
JP6442131B2 (en) 2018-12-19

Similar Documents

Publication Publication Date Title
WO2015136959A1 (en) Control system, method, program and information processing device
JP6171386B2 (en) Controller, information processing apparatus and program
JP6171387B2 (en) Controller, information processing apparatus and program
JP5039428B2 (en) Programmable controller and PLC system
JP6442131B2 (en) Control system and control device
JP6357770B2 (en) Control device and communication control method
KR101860252B1 (en) Plotting device and control system
WO2010017835A1 (en) A system and a method for off-line programming of an industrial robot
JP2017142767A (en) Controller system and variable coordination support device
US20140136570A1 (en) Controller and program
JP6171385B2 (en) Controller and information processing apparatus
US10108187B2 (en) Control device, control system, support device, and control-device maintenance management method
JP6064749B2 (en) Controller and program
JP6680313B2 (en) Control device and communication control method
JP7331507B2 (en) Controller, control system and control method
JP7404645B2 (en) Programmable controller operation history recording method and sequence program
WO2020189142A1 (en) Control system, control method, and control program
JP6705464B2 (en) Control device and communication control method
US20230101320A1 (en) Method for creating and executing a control program for controlling an automation system, and automation system
JPH1091477A (en) Control microcomputer device and maintenance tool for the same
JP2023145080A (en) assembly inspection system
JP6357769B2 (en) Control device and communication control method
JP2011065346A (en) Control system, communication method for the same, communication unit and communication method for the same
JP2011113304A (en) Display/control simulation system, programmable display for the same, and simulator device
JP2005181103A (en) Printed circuit board inspecting rom system, its inspecting method, and inspecting program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170704

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170712

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20170908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180911

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181126

R150 Certificate of patent or registration of utility model

Ref document number: 6442131

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150