JP7412119B2 - Data utilization system - Google Patents

Data utilization system Download PDF

Info

Publication number
JP7412119B2
JP7412119B2 JP2019183257A JP2019183257A JP7412119B2 JP 7412119 B2 JP7412119 B2 JP 7412119B2 JP 2019183257 A JP2019183257 A JP 2019183257A JP 2019183257 A JP2019183257 A JP 2019183257A JP 7412119 B2 JP7412119 B2 JP 7412119B2
Authority
JP
Japan
Prior art keywords
data
unit
collected
lower unit
collection
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.)
Active
Application number
JP2019183257A
Other languages
Japanese (ja)
Other versions
JP2021060683A (en
Inventor
達也 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keyence Corp
Original Assignee
Keyence Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Keyence Corp filed Critical Keyence Corp
Priority to JP2019183257A priority Critical patent/JP7412119B2/en
Publication of JP2021060683A publication Critical patent/JP2021060683A/en
Priority to JP2023218376A priority patent/JP2024023868A/en
Application granted granted Critical
Publication of JP7412119B2 publication Critical patent/JP7412119B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Programmable Controllers (AREA)

Description

本発明はデータ活用システムに関する。 The present invention relates to a data utilization system.

プログラマブル・ロジック・コントローラ(PLC)はファクトリーオートメーションにおいて製造機器や搬送装置、検査装置などの産業機械を制御するコントローラである(特許文献1、2)。PLCはプログラマーによって作成されるラダープログラムなどのユーザプログラムを実行することで様々な拡張ユニットや被制御機器を制御する。 A programmable logic controller (PLC) is a controller that controls industrial machines such as manufacturing equipment, transport equipment, and inspection equipment in factory automation (Patent Documents 1 and 2). PLCs control various expansion units and controlled devices by executing user programs such as ladder programs created by programmers.

特許第5661222号公報Patent No. 5661222 特開2018-097662号公報Japanese Patent Application Publication No. 2018-097662

ところで、PLCの動作やPLCによって制御される産業機械の動作を監視するために、PLCが保持しているデータを収集して活用することが望まれている。PLCは、基本ユニット(CPUユニット)とそれに接続される拡張ユニットとを有している。基本ユニットは、ラダープログラムなどのユーザプログラムを実行することで拡張ユニットを制御する。拡張ユニットは基本ユニットからの命令にしたがって産業機械を制御し、制御結果を基本ユニットに返す。ここで、基本ユニットの処理負荷を削減するために、発明者らは、拡張ユニットの一つとしてデータ活用ユニットを基本ユニットに接続することを思いついた。これにより一つのPLC内で時系列データを漏れなく収集することが可能となろう。 Incidentally, in order to monitor the operation of the PLC and the operation of industrial machines controlled by the PLC, it is desired to collect and utilize data held by the PLC. A PLC has a basic unit (CPU unit) and an expansion unit connected to it. The basic unit controls the expansion unit by executing a user program such as a ladder program. The expansion unit controls the industrial machine according to instructions from the basic unit and returns control results to the basic unit. Here, in order to reduce the processing load on the basic unit, the inventors came up with the idea of connecting a data utilization unit to the basic unit as one of the expansion units. This will make it possible to collect all time-series data within one PLC.

ところで、一つの製造ラインにおいて複数のPLCがそれぞれ異なる産業機械を制御することがある。この場合、複数のPLCからデータを収集して活用できれば、製造ラインの全体を統括的に監視しやすくなるであろう。この際に、上位のデータ活用ユニットは、複数の下位のデータ活用ユニットからデータを収集することになる。上位のデータ活用ユニットは、複数の下位のデータ活用ユニットから漏れなく時系列データを収集することが望まれる。しかし、複数のPLCはそれぞれ非同期で動作しているため、漏れなく時系列データを収集することは簡単ではない。 By the way, a plurality of PLCs may control different industrial machines in one manufacturing line. In this case, if data can be collected and utilized from multiple PLCs, it will be easier to comprehensively monitor the entire production line. At this time, the higher-level data utilization unit collects data from a plurality of lower-level data utilization units. It is desirable that the higher-level data utilization unit collects time-series data from multiple lower-level data utilization units without exception. However, since multiple PLCs each operate asynchronously, it is not easy to collect time-series data without omission.

そこで、本発明は、上位のデータ活用ユニットが一つ以上の下位のデータ活用ユニットから漏れなく時系列データを収集できるようにすること、を目的とする。 Therefore, an object of the present invention is to enable a higher-level data utilization unit to collect time-series data from one or more lower-level data utilization units without exception.

本発明は、たとえば、
複数のデータ活用ユニットを有するデータ活用システムであって、
前記複数のデータ活用ユニットのうち上位ユニットは、
前記複数のデータ活用ユニットのうち下位ユニットに対して収集対象となるデータを指定する指定情報を設定する設定手段と、
前記下位ユニットに蓄積された前記収集対象となるデータを収集する収集手段と、
前記収集手段により収集されたデータまたは当該データに対して所定の分析処理を実行することで取得された分析結果を表示する表示データを作成する作成手段と、
を有し、
前記下位ユニットは、さらに、
前記指定情報にしたがって、前記下位ユニットに接続された基本ユニットにおいて取得されたデータを前記基本ユニットから取得する取得手段と、
前記上位ユニットまたは前記下位ユニットに設けられ、前記取得手段により取得された前記データを前記下位ユニットから前記上位ユニットに受け渡すために当該データを蓄積するバッファと、
を有し、
前記上位ユニットの前記収集手段は、前記バッファから前記収集対象となるデータを読み出すように構成され
前記下位ユニットにおいて実行されるユーザプログラムを含むプロジェクトデータを解析することで前記収集対象となるデータを特定し、前記特定されたデータの指定を含むように前記指定情報を作成するように構成されていることを特徴とするデータ活用システムを提供する。
The present invention includes, for example,
A data utilization system having multiple data utilization units,
The upper unit among the plurality of data utilization units is
a setting means for setting specification information for specifying data to be collected for a lower unit among the plurality of data utilization units;
a collection means for collecting the data to be collected accumulated in the lower unit;
a creation unit that creates display data that displays the data collected by the collection unit or analysis results obtained by performing a predetermined analysis process on the data;
has
The lower unit further includes:
acquisition means for acquiring data acquired in a basic unit connected to the lower unit from the basic unit according to the specified information;
a buffer that is provided in the upper unit or the lower unit and stores the data acquired by the acquisition means in order to transfer the data from the lower unit to the upper unit;
has
The collection means of the upper unit is configured to read the data to be collected from the buffer ,
The data to be collected is specified by analyzing project data including a user program executed in the lower unit, and the specification information is created to include a specification of the specified data. We provide a data utilization system that is characterized by:

本発明によれば上位のデータ活用ユニットが一つ以上の下位のデータ活用ユニットから漏れなく時系列データを収集することが可能となる。 According to the present invention, it becomes possible for a higher-level data utilization unit to collect time-series data from one or more lower-level data utilization units without exception.

PLCシステムを示す図Diagram showing PLC system PCを説明する図Diagram explaining a PC PCを説明する図Diagram explaining a PC PLCを説明する図Diagram explaining PLC 基本ユニットを説明する図Diagram explaining the basic unit データ活用ユニットを説明する図Diagram explaining data utilization unit 拡張ユニットを説明する図Diagram explaining the expansion unit データレコードのフォーマットを説明する図Diagram explaining the format of a data record 転送タイミングを説明する図Diagram explaining transfer timing データレコードのフォーマットを説明する図Diagram explaining the format of a data record 情報圧縮を説明する図Diagram explaining information compression ダッシュボードの例を示す図Diagram showing an example dashboard 収集および転送方法を示すフローチャートFlowchart showing collection and transfer method 収集および転送方法を示すフローチャートFlowchart showing collection and transfer method 収集および転送方法を示すフローチャートFlowchart showing collection and transfer methods 収集設定の作成方法を示すフローチャートFlowchart showing how to create a collection configuration 接続設定の設定UIを説明する図Diagram explaining the setting UI for connection settings 変数編集UIを説明する図Diagram explaining variable editing UI 収集対象の設定UIを説明する図Diagram explaining the collection target setting UI 下位ユニットの収集処理を示すフローチャートFlowchart showing lower unit collection processing 上位ユニットの収集処理を示すフローチャートFlowchart showing the collection process of the upper unit ダッシュボードを説明する図Diagram explaining the dashboard 表示部品の設定UIを説明する図Diagram explaining display component setting UI 受け渡しバッファの配置を説明する図Diagram explaining the arrangement of the transfer buffer サブバッファの活用事例を説明する図Diagram explaining an example of how to use sub-buffers

以下、添付図面を参照して実施形態が詳しく説明される。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一または同様の構成には同一の参照番号が付され、重複した説明は省略される。同一または類似の要素を示す参照符号の末尾には小文字のアルファベットが付与されることがある。複数の要素に共通する事項が説明される場合、小文字のアルファベットが省略される。 Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the claimed invention, and not all combinations of features described in the embodiments are essential to the invention. Two or more features among the plurality of features described in the embodiments may be arbitrarily combined. In addition, the same or similar configurations are given the same reference numerals, and duplicate explanations will be omitted. Reference symbols indicating the same or similar elements may be suffixed with a lowercase letter. When explaining something common to multiple elements, lowercase letters are omitted.

<システム構成>
はじめにプログラマブルロジックコントローラ(PLC、単にプログラマブルコントローラと呼ばれてもよい)を当業者にとってよりよく理解できるようにするために、一般的なPLCの構成とその動作について説明する。
<System configuration>
First, in order to enable those skilled in the art to better understand a programmable logic controller (PLC, which may also be simply referred to as a programmable controller), the configuration and operation of a general PLC will be described.

図1は、本発明の実施の形態によるプログラマブル・ロジック・コントローラシステムの一構成例を示す概念図である。図1が示すように、このシステムは、ラダープログラムなどのユーザプログラムの編集を行うためのPC2aと、工場等に設置される各種制御装置を統括的に制御するためのPLC(プログラマブルロジックコントローラ)1a~1cとを備えている。PCはパーソナルコンピュータの略称である。ユーザプログラムは、ラダー言語やSFC(シーケンシャルファンクションチャート)などのフローチャート形式のモーションプログラムなどのグラフィカルプログラミング言語を用いて作成されてもよいし、C言語などの高級プログラミング言語を用いて作成されてもよい。以下では、説明の便宜上、ユーザプログラムはラダープログラムとする。PLC1は、CPUが内蔵された基本ユニット3と、1つないし複数の拡張ユニット4を備えている。基本ユニット3に対して1つないし複数の拡張ユニット4が着脱可能となっている。 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 Figure 1, this system includes a PC 2a for editing user programs such as ladder programs, and a PLC (programmable logic controller) 1a for comprehensively controlling various control devices installed in factories, etc. ~1c. PC is an abbreviation for personal computer. The user program may be created using a graphical programming language such as a flowchart-style motion program such as a ladder language or SFC (sequential function chart), or may be created using a high-level programming language such as C language. . In the following, for convenience of explanation, the user program is assumed to be a ladder program. The PLC 1 includes a basic unit 3 with a built-in CPU and one or more expansion units 4. One or more expansion units 4 can be attached to and detached from the basic unit 3.

データ活用において、PLC1は上位システムとして機能する上位モードと下位システムとして機能する下位モードとを有している。たとえば、図1において、PLC1aは上位システムであり、PLC1b、1cは下位システムである。PLC1aはPLC1b、1cに対して収集対象データを設定したり、PLC1b、1cにより収集されたデータを取得したりする。PLC1aは通信ケーブル9cを介してPLC1bと接続されている。PLC1aは通信ケーブル9dを介してPLC1cと接続されている。ただし、通信ケーブル9は有線ネットワークや無線ネットワークであってもよい。 In data utilization, the PLC 1 has an upper mode that functions as an upper system and a lower mode that functions as a lower system. For example, in FIG. 1, PLC1a is a higher-level system, and PLC1b and 1c are lower-level systems. The PLC 1a sets data to be collected in the PLCs 1b and 1c, and acquires data collected by the PLCs 1b and 1c. PLC1a is connected to PLC1b via a communication cable 9c. PLC1a is connected to PLC1c via communication cable 9d. However, the communication cable 9 may be a wired network or a wireless network.

基本ユニット3は、表示部5および操作部6を備えている。表示部5は、基本ユニット3に取り付けられている各拡張ユニット4の動作状況などを表示することができる。操作部6の操作内容に応じて表示部5は表示内容を切り替える。表示部5は、通常、PLC1内のデバイスの現在値(デバイス値)やPLC1内で生じたエラー情報などを表示する。デバイスとは、デバイス値(デバイスデータ)を格納するために設けられたメモリ上の領域を指す名称であり、デバイスメモリと呼ばれてもよい。デバイス値とは、入力機器からの入力状態、出力機器への出力状態およびユーザプログラム上で設定される内部リレー(補助リレー)、タイマー、カウンタ、データメモリ等の状態を示す情報である。デバイス値の型にはビット型とワード型がある。ビットデバイスは1ビットのデバイス値を記憶する。ワードデバイスは1ワードのデバイス値を記憶する。以下で詳細に説明されるデータ活用プログラムの収集対象としては、デバイスだけでなく、変数が指定されてもよい。ただし、デバイスも変数も情報を保持する保持手段である。したがって、以下の説明においてデバイスは変数も指すものである。なお、デバイスを保持するメモリはデバイスメモリと呼ばれてもよい。また、収集されたデータを保持するメモリはデータメモリと呼ばれてもよい。 The basic unit 3 includes a display section 5 and an operation section 6. The display section 5 can display the operating status of each expansion unit 4 attached to the basic unit 3. The display section 5 switches display contents according to the operation contents of the operation section 6. The display unit 5 normally displays current values (device values) of devices within the PLC 1, error information that has occurred within the PLC 1, and the like. A device is a name indicating an area on a memory provided for storing device values (device data), and may also be called a device memory. The device value is information indicating the input state from the input device, the output state to the output device, and the state of internal relays (auxiliary relays), timers, counters, data memories, etc. set on the user program. There are two types of device values: bit type and word type. A bit device stores a 1-bit device value. A word device stores one word of device value. Not only devices but also variables may be specified as collection targets for the data utilization program described in detail below. However, both devices and variables are storage means that hold information. Therefore, in the following description, devices also refer to variables. Note that the memory that holds the device may be called a device memory. The memory that holds the collected data may also be referred to as data memory.

拡張ユニット4は、PLC1の機能を拡張するために用意されている。各拡張ユニット4には、その拡張ユニット4の機能に対応するフィールドデバイス(被制御装置)10が接続されることがあり、これにより、各フィールドデバイス10が拡張ユニット4を介して基本ユニット3に接続される。フィールドデバイス10は、センサやカメラ、バーコードリーダなどの入力機器であってもよいし、アクチュエータなどの出力機器であってもよい。また、一つの拡張ユニット4に対して複数のフィールドデバイスが接続されてもよい。 The expansion unit 4 is prepared to expand the functions of the PLC 1. Each expansion unit 4 may be connected to a field device (controlled device) 10 that corresponds to the function of the expansion unit 4, so that each field device 10 is connected to the basic unit 3 via the expansion unit 4. Connected. The field device 10 may be an input device such as a sensor, a camera, or a barcode reader, or may be an output device such as an actuator. Further, a plurality of field devices may be connected to one expansion unit 4.

たとえば、拡張ユニット4bはモータ(フィールドデバイス10)を駆動してワークの位置決めする位置決めユニットであってもよいし、カウンタユニットであってもよい。カウンタユニットは手動パルサなどのエンコーダ(フィールドデバイス10)からの信号をカウントする。 For example, the expansion unit 4b may be a positioning unit that positions a workpiece by driving a motor (field device 10), or may be a counter unit. The counter unit counts signals from an encoder (field device 10) such as a manual pulser.

拡張ユニット4aは、基本ユニット3や拡張ユニット4bから収集対象データを収集し、フローを実行することで収集対象データにデータ処理を施して表示対象データを作成し、ダッシュボードを表示部7またはPC2に表示するための表示データを作成するデータ収集ユニットである。基本ユニット3はCPUユニットと呼ばれることもある。なお、PLC1とPC2とを含むシステムはプログラマブルロジックコントローラシステムと呼ばれてもよい。 The expansion unit 4a collects data to be collected from the basic unit 3 and expansion unit 4b, performs data processing on the data to be collected by executing a flow, creates data to be displayed, and displays the dashboard on the display unit 7 or PC 2. This is a data collection unit that creates display data to be displayed on the screen. The basic unit 3 is sometimes called a CPU unit. Note that a system including PLC1 and PC2 may be called a programmable logic controller system.

PC2aは主にプログラマーによって操作されるコンピュータである。一方、PC2bは主に現場担当者によって操作されるコンピュータである。PC2aはプログラム作成支援装置(設定装置)と呼ばれてもよい。PC2は、たとえば、携帯可能なノートタイプやタブレットタイプのパーソナルコンピュータまたはスマートフォンであって、表示部7および操作部8を備えている外部コンピュータである。外部コンピュータとは、PLC1の外部にあるコンピュータである。PLC1を制御するためのユーザプログラムの一例であるラダープログラムは、PC2aを用いて作成される。その作成されたラダープログラムは、PC2a内でニモニックコードに変換される。PC2は、USB(Universal Serial Bus)ケーブルなどの通信ケーブル9を介してPLC1の基本ユニット3に接続される。たとえば、PC2aは、ニモニックコードに変換されたラダープログラムを基本ユニット3に送る。基本ユニット3はラダープログラムをマシンコードに変換し、基本ユニット3に備えられたメモリ内に記憶する。なお、ここではニモニックコードが基本ユニット3に送信されているが、本発明はこれに限られない。たとえば、PC2aは、ニモニックコードを中間コードに変換し、中間コードを基本ユニット3に送信してもよい。 The PC 2a is a computer mainly operated by a programmer. On the other hand, the PC 2b is a computer mainly operated by the person in charge at the site. The PC 2a may be called a program creation support device (setting device). The PC 2 is, for example, a portable notebook-type or tablet-type personal computer or a smartphone, and is an external computer that includes a display section 7 and an operation section 8 . The external computer is a computer located outside the PLC 1. A ladder program, which is an example of a user program for controlling the PLC 1, is created using the PC 2a. The created ladder program is converted into a mnemonic code within the PC 2a. The PC 2 is connected to the basic unit 3 of the PLC 1 via a communication cable 9 such as a USB (Universal Serial Bus) cable. For example, the PC 2a sends the ladder program converted into a mnemonic code to the basic unit 3. The basic unit 3 converts the ladder program into machine code and stores it in the memory provided in the basic unit 3. Note that although the mnemonic code is transmitted to the basic unit 3 here, the present invention is not limited to this. For example, the PC 2a may convert the mnemonic code into an intermediate code and transmit the intermediate code to the basic unit 3.

なお、図1は示していないが、PC2の操作部8には、PC2に接続されたマウスなどのポインティングデバイスが含まれていてもよい。また、PC2は、USBケーブル以外の他の通信ケーブル9を介して、PLC1の基本ユニット3に対して着脱可能に接続されるような構成であってもよい。また、PC2は、通信ケーブル9を介さず、PLC1の基本ユニット3に対して無線通信によって接続されてもよい。 Although not shown in FIG. 1, the operation unit 8 of the PC 2 may include a pointing device such as a mouse connected to the PC 2. Further, the PC 2 may be configured to be detachably connected to the basic unit 3 of the PLC 1 via a communication cable 9 other than the USB cable. Further, the PC 2 may be connected to the basic unit 3 of the PLC 1 by wireless communication without using the communication cable 9.

<プログラム作成支援装置>
図2はPC2aの電気的構成について説明するためのブロック図である。図2が示すように、PC2aは、CPU11a、表示部7a、操作部8a、記憶装置12aおよび通信部13aを備えている。表示部7a、操作部8a、記憶装置12aおよび通信部13aは、それぞれCPU11aに対して電気的に接続されている。記憶装置12aはRAMやROM、HDD、SSDを含み、さらに着脱可能なメモリカードを含んでもよい。CPUは中央演算処理装置の略称である。ROMはリードオンリーメモリの略称である。RAMはランダムアクセスメモリの略称である。HDDはハードディスクドライブの略称である。SSDはソリッドステートドライブの略称である。
<Program creation support device>
FIG. 2 is a block diagram for explaining the electrical configuration of the PC 2a. As shown in FIG. 2, the PC 2a includes a CPU 11a, a display section 7a, an operation section 8a, a storage device 12a, and a communication section 13a. The display section 7a, the operation section 8a, the storage device 12a, and the communication section 13a are each electrically connected to the CPU 11a. The storage device 12a includes a RAM, ROM, HDD, and SSD, and may also include a removable memory card. CPU is an abbreviation for central processing unit. ROM is an abbreviation for read-only memory. RAM is an abbreviation for random access memory. HDD is an abbreviation for hard disk drive. SSD is an abbreviation for solid state drive.

PC2aのユーザは記憶装置12aに記憶されているプロジェクト編集プログラム14aをCPU11aに実行させて、操作部8aを通じてプロジェクトデータ15を編集する。CPU11aがプロジェクト編集プログラム14aを実行することで、プロジェクト作成部16とプロジェクト転送部17が実現される。プロジェクト作成部16はユーザ入力にしたがってプロジェクトデータ15を作成する。プロジェクト転送部17はプロジェクトデータ15をPLC1に転送する。プロジェクトデータ15は、一つ以上のユーザープログラム(例:ラダープログラム)と、基本ユニット3や拡張ユニット4の構成情報などを含む。構成情報は、基本ユニット3に対する複数の拡張ユニット4の接続位置や、基本ユニット3に備えられた機能(例:通信機能や位置決め機能)を示す情報、拡張ユニット4の機能(例:撮影機能)などを示す情報である。ここで、プロジェクトデータ15の編集には、プロジェクトデータ15の作成および変更(再編集)が含まれる。ユーザは、必要に応じて記憶装置12aに記憶されているプロジェクトデータ15を読み出し、そのプロジェクトデータ15を、プロジェクト編集プログラム14aを用いて変更することができる。通信部13aは、通信ケーブル9aを介して基本ユニット3と通信する。プロジェクト転送部17は通信部13aを介してプロジェクトデータを基本ユニット3に転送する。通信部13aは、通信ケーブル9bを介して拡張ユニット4aと通信する。 The user of the PC 2a causes the CPU 11a to execute the project editing program 14a stored in the storage device 12a, and edits the project data 15 through the operation unit 8a. The project creation section 16 and the project transfer section 17 are realized by the CPU 11a executing the project editing program 14a. The project creation unit 16 creates project data 15 according to user input. The project transfer unit 17 transfers the project data 15 to the PLC 1. The project data 15 includes one or more user programs (eg, ladder program), configuration information of the basic unit 3 and expansion unit 4, and the like. The configuration information includes information indicating the connection positions of multiple expansion units 4 to the basic unit 3, functions provided in the basic unit 3 (e.g. communication function and positioning function), and functions of the expansion unit 4 (e.g. shooting function). This is information that shows things like. Here, editing the project data 15 includes creating and changing (re-editing) the project data 15. The user can read out the project data 15 stored in the storage device 12a and change the project data 15 using the project editing program 14a as needed. The communication section 13a communicates with the basic unit 3 via the communication cable 9a. The project transfer section 17 transfers the project data to the basic unit 3 via the communication section 13a. The communication section 13a communicates with the expansion unit 4a via the communication cable 9b.

変数情報19は、プロジェクトデータ15の一部であり、ユーザプログラム内で使用されている変数とそれに割り付けられているデバイス、データの型、初期値、コメントなどを含む情報である。変数情報19は、データ活用の際に収集対象となるデバイスを設定する際に役に立つ。たとえば、変数情報19から変数のリストが作成され、変数のリストからユーザによっていずれかの変数が指定されると、指定された変数に割り付けられているデバイスが変数情報19または当該リストから特定され、収集対象デバイスに決定される。なお、PC2の代わりに、上位システムとして機能するPLC1aのデータ活用ユニットが下位システムの変数情報19を読み出し、収集対象デバイスを決定してもよい。PC2が三つのPLC1について設定装置(プログラム作成支援装置)として機能する場合、PC2が収集設定を作成してもよい。図2にはこの例が示されている。プロジェクトデータ15aはPLC1a用のプロジェクトデータであり、変数情報19aはPLC1a用の変数情報である。プロジェクトデータ15bはPLC1b用のプロジェクトデータであり、変数情報19bはPLC1b用の変数情報である。プロジェクトデータ15cはPLC1c用のプロジェクトデータであり、変数情報19cはPLC1c用の変数情報である。三つのPLC1についてそれぞれ異なる設定装置によって設定される場合、上位システムが統括的に収集設定を作成することになろう。これにより、収集設定の作成が効率化しよう。収集対象は、デバイスだけでなく、変数そのものであってもよい。 The variable information 19 is part of the project data 15, and is information including variables used in the user program, devices assigned to them, data types, initial values, comments, and the like. The variable information 19 is useful when setting devices to be collected when utilizing data. For example, when a list of variables is created from the variable information 19 and a user specifies any variable from the variable list, the device assigned to the specified variable is identified from the variable information 19 or the list; The device is determined to be a collection target. Note that instead of the PC 2, the data utilization unit of the PLC 1a functioning as the upper system may read the variable information 19 of the lower system and determine the collection target device. When the PC 2 functions as a setting device (program creation support device) for the three PLCs 1, the PC 2 may create the collection settings. An example of this is shown in FIG. The project data 15a is project data for the PLC 1a, and the variable information 19a is variable information for the PLC 1a. The project data 15b is project data for the PLC 1b, and the variable information 19b is variable information for the PLC 1b. The project data 15c is project data for the PLC1c, and the variable information 19c is variable information for the PLC1c. If the three PLCs 1 are set by different setting devices, the higher-level system will create the collection settings in an integrated manner. This will streamline the creation of collection settings. The collection target may be not only devices but also variables themselves.

<ダッシュボードの表示に使用されるPC>
図3はPC2bの電気的構成について説明するためのブロック図である。図3が示すように、PC2bは、CPU11b、表示部7b、操作部8b、記憶装置12bおよび通信部13bを備えている。表示部7b、操作部8b、記憶装置12bおよび通信部13bは、それぞれCPU11bに対して電気的に接続されている。記憶装置12bはRAMやROM、HDD、SSDを含み、さらに着脱可能なメモリカードを含んでもよい。
<PC used to display the dashboard>
FIG. 3 is a block diagram for explaining the electrical configuration of the PC 2b. As shown in FIG. 3, the PC 2b includes a CPU 11b, a display section 7b, an operation section 8b, a storage device 12b, and a communication section 13b. The display section 7b, the operation section 8b, the storage device 12b, and the communication section 13b are each electrically connected to the CPU 11b. The storage device 12b includes a RAM, ROM, HDD, and SSD, and may further include a removable memory card.

CPU11bはWebブラウザプログラム14dを実行することでWebブラウザ18を実現する。Webブラウザ18は、通信部13bを介して、拡張ユニット4aによって提供されるデータ活用アプリケーションの設定ページにアクセスしたり、ダッシュボードのページにアクセスしたりする。 The CPU 11b realizes the web browser 18 by executing the web browser program 14d. The web browser 18 accesses the setting page of the data utilization application provided by the expansion unit 4a or the dashboard page via the communication unit 13b.

<PLC>
図4はPLC1の電気的構成について説明するためのブロック図である。図4が示すように、基本ユニット3は、CPU31、表示部5、操作部6、記憶装置32および通信部33を備えている。表示部5、操作部6、記憶装置32、および通信部33は、それぞれCPU31に電気的に接続されている。記憶装置32は、RAMやROM、メモリカードなどを含んでもよい。記憶装置32はデバイス部34やプロジェクト記憶部35などの複数の記憶領域を有している。デバイス部34はビットデバイスやワードデバイスなどを有し、各デバイスはデバイス値を記憶する。プロジェクト記憶部35は、PC2aから入力されたプロジェクトデータを記憶する。記憶装置32は基本ユニット3用の制御プログラムも記憶する。図4が示すように基本ユニット3と拡張ユニット4とは通信バスの一種である拡張バス90を介して接続されている。なお、図4では拡張バス90に関する通信回路がCPU31に実装されているが、通信部33の一部として実装されてもよい。通信部33はネットワーク通信回路を有してもよい。CPU31は通信部33を介してプロジェクトデータをPC2aから受信する。
<PLC>
FIG. 4 is a block diagram for explaining the electrical configuration of the PLC 1. As shown in FIG. 4, the basic unit 3 includes a CPU 31, a display section 5, an operation section 6, a storage device 32, and a communication section 33. The display section 5, the operation section 6, the storage device 32, and the communication section 33 are each electrically connected to the CPU 31. The storage device 32 may include a RAM, ROM, memory card, etc. The storage device 32 has a plurality of storage areas such as a device section 34 and a project storage section 35. The device section 34 has bit devices, word devices, etc., and each device stores a device value. The project storage unit 35 stores project data input from the PC 2a. The storage device 32 also stores a control program for the basic unit 3. As shown in FIG. 4, the basic unit 3 and the expansion unit 4 are connected via an expansion bus 90, which is a type of communication bus. Note that although the communication circuit related to the expansion bus 90 is mounted on the CPU 31 in FIG. 4, it may be mounted as a part of the communication section 33. The communication unit 33 may include a network communication circuit. The CPU 31 receives project data from the PC 2a via the communication unit 33.

ここで、拡張バス90について、補足説明する。この拡張バス90は、入出力リフレッシュに使用される通信バスである。入出力リフレッシュとは、基本ユニット3と拡張ユニット4との間でデバイス値を更新する処理である。入出力リフレッシュは、ラダープログラムが一回実行されるごとに(つまり、一スキャンごとに)、実行される。なお、一つのスキャン周期は、入出力リフレッシュの実行期間と、ユーザプログラムの実行期間と、エンド処理の実行期間とを含む。 Here, a supplementary explanation will be given regarding the expansion bus 90. This expansion bus 90 is a communication bus used for input/output refresh. The input/output refresh is a process of updating device values between the basic unit 3 and the expansion unit 4. Input/output refresh is performed each time the ladder program is executed (ie, each scan). Note that one scan cycle includes an input/output refresh execution period, a user program execution period, and an end processing execution period.

拡張ユニット4はCPU41とメモリ42を備えている。拡張ユニット4bのCPU41bは、デバイスに格納された基本ユニット3からの指示(デバイス値)にしたがってフィールドデバイス10を制御する。また、CPU41bは、フィールドデバイス10の制御結果をバッファメモリとよばれるデバイスに格納する。デバイスに格納された制御結果は入出力リフレッシュによって基本ユニット3に転送される。また、デバイスに格納されている制御結果は、基本ユニット3からの読み出し命令にしたがって、入出力リフレッシュとは異なるタイミングであっても、基本ユニット3に転送される。メモリ42はRAMやROMなどを含む。とりわけ、RAMにはバッファメモリとして使用される記憶領域が確保されている。メモリ42は、フィールドデバイス10によって取得されたデータ(例:静止画データや動画データ)を一時的に保持するバッファを有してもよい。 The expansion unit 4 includes a CPU 41 and a memory 42. The CPU 41b of the expansion unit 4b controls the field device 10 according to instructions (device values) from the basic unit 3 stored in the device. Further, the CPU 41b stores the control results of the field device 10 in a device called a buffer memory. The control results stored in the device are transferred to the basic unit 3 by input/output refresh. Furthermore, the control results stored in the device are transferred to the basic unit 3 in accordance with a read command from the basic unit 3 even if the timing is different from the input/output refresh. The memory 42 includes RAM, ROM, and the like. In particular, a storage area is reserved in the RAM to be used as a buffer memory. The memory 42 may have a buffer that temporarily holds data (eg, still image data or video data) acquired by the field device 10.

データ活用ユニットとして機能する拡張ユニット4aのCPU41aは、通信部43とケーブル9bを介してPC2bと通信する。データ活用ユニットは、データ活用アプリケーションを実行する拡張ユニットである。データ活用アプリケーションは、制御データを収集したりデータ処理したりするフローと、フローの実行結果を表示するダッシュボードとを含む。なお、制御データを収集する機能は、データ活用アプリケーション以外のユーザプログラムによって実現されてもよい。フローはデータを収集する演算ブロック、データ処理を実行する演算ブロック、および、表示データを作成する演算ブロックなどを有してもよい。ダッシュボードは、グラフ表示部品や数値表示部品などを有する。これらの表示部品は、HTMLデータ、CSSデータおよびJavaScript(登録商標)コードなどにより実現されてもよい。なお、HTMLデータ、CSSデータおよびJavaScript(登録商標)コードの集合体はWebアプリケーションと呼ばれてもよい。本実施形態で、フローはフローテンプレートにより実現される。フローテンプレートは予めアプリケーションごとに用意されており、ユーザにより指定されたパラメータが設定される一つ以上の演算ブロックを有している。ダッシュボードもテンプレートにより実現される。ダッシュボードテンプレートは、ユーザにより指定されたパラメータが設定される一つ以上の表示部品を有している。パラメータは、たとえば、ダッシュボードの名称、デバイス名、数値、ユニット変数名など多種多様な情報である。ユニット変数とは、拡張ユニット4aがフローの実行結果を保持するための変数である。 The CPU 41a of the expansion unit 4a functioning as a data utilization unit communicates with the PC 2b via the communication section 43 and the cable 9b. The data utilization unit is an expansion unit that executes a data utilization application. The data utilization application includes flows that collect control data and process data, and a dashboard that displays execution results of the flows. Note that the function of collecting control data may be realized by a user program other than the data utilization application. A flow may include a calculation block that collects data, a calculation block that performs data processing, a calculation block that creates display data, and the like. The dashboard includes graph display parts, numerical display parts, and the like. These display components may be realized using HTML data, CSS data, JavaScript (registered trademark) code, and the like. Note that a collection of HTML data, CSS data, and JavaScript (registered trademark) code may be called a Web application. In this embodiment, flows are realized by flow templates. The flow template is prepared in advance for each application, and includes one or more calculation blocks in which parameters specified by the user are set. Dashboards are also realized using templates. The dashboard template has one or more display components in which parameters specified by the user are set. Parameters include a wide variety of information such as dashboard names, device names, numerical values, and unit variable names. A unit variable is a variable used by the expansion unit 4a to hold the execution result of a flow.

●基本ユニットのCPUにより実現される機能
図5はデータ活用に関してCPU31により実現される機能を示している。実行エンジン51は、スキャン周期ごとにユーザプログラムを繰り返し実行する。実行エンジン51は、CPU31の外部に設けられたASICまたはFPGAなどにより実現されてもよい。ASICは特定用途集積回路の略称である。FPGAはフィールドプログラマブルゲートアレイの略称である。これらの専用回路は、CPUとプログラムとの組み合わせよりも、特定のデータ処理を高速に実行できることが多い。収集部52aは、スキャン周期のうちエンド処理の期間においてデバイス部34から収集対象のデバイス値を収集してデータレコードを作成して第一バッファ37aに格納する。なお、エンド処理の期間でデータを収集することは必須ではなく、実行エンジン51で実行されるユーザプログラムにデータを収集するための記述(トリガ命令などのプログラムコード)が含まれていてもよい。ただし、エンド処理によってデータを収集するケースでは、ユーザプログラムの変更が不要であるといったメリットがある。また、収集周期は、収集設定36aにより指定された周期であってもよい。第一バッファ37aを設けることで、実行エンジン51は、収集や転送処理によるスキャンタイムの伸びなどの影響を受けにくくなる。収集対象のデバイス値は、収集設定36aにより指定されている。収集設定36aは、PC2aまたは拡張ユニット4aによって基本ユニット3に格納されうる。転送部53aは、第一バッファ37aに格納された一つ以上のデータレコードを、拡張バス90を介して、拡張ユニット4aに転送する。なお、転送部53aは、拡張バス90における通信トラフィックが空いているときに、転送処理を実行する。したがって、実行エンジン51aが入出力リフレッシュを実行している期間や、ユーザプログラムに記述された読み出し命令にしたがって拡張ユニット4のバッファメモリからデータを読み出している期間を避けて、転送処理が実行される。なお、拡張バス90の通信トラフィックは監視部54aによって監視されている。なお、データレコードの転送時間を短縮するために、圧縮エンジン55aが複数のデータレコードを圧縮してもよい。なお、圧縮エンジン55aはCPU31により実現される必要は無く、ASICまたはFPGAなどにより実現されてもよい。このように、第一バッファ37aを採用することで、転送処理とユーザプログラムを非同期で実行することが可能となる。
●Functions realized by the CPU of the basic unit FIG. 5 shows the functions realized by the CPU 31 regarding data utilization. The execution engine 51 repeatedly executes the user program every scan cycle. The execution engine 51 may be realized by an ASIC or FPGA provided outside the CPU 31. ASIC is an abbreviation for application specific integrated circuit. FPGA is an abbreviation for field programmable gate array. These dedicated circuits can often perform specific data processing faster than a combination of a CPU and a program. The collection unit 52a collects device values to be collected from the device unit 34 during the end processing period of the scan cycle, creates a data record, and stores the data record in the first buffer 37a. Note that it is not essential to collect data during the end processing period, and the user program executed by the execution engine 51 may include a description (program code such as a trigger instruction) for collecting data. However, in the case where data is collected through end processing, there is an advantage that there is no need to change the user program. Further, the collection period may be a period specified by the collection setting 36a. By providing the first buffer 37a, the execution engine 51 is less affected by the increase in scan time due to collection and transfer processing. The device values to be collected are specified by the collection settings 36a. The collection settings 36a can be stored in the basic unit 3 by the PC 2a or the expansion unit 4a. The transfer unit 53a transfers one or more data records stored in the first buffer 37a to the expansion unit 4a via the expansion bus 90. Note that the transfer unit 53a executes the transfer process when the communication traffic on the expansion bus 90 is idle. Therefore, the transfer process is executed while avoiding the period when the execution engine 51a is performing input/output refresh or the period when data is being read from the buffer memory of the expansion unit 4 according to the read command written in the user program. . Note that the communication traffic of the expansion bus 90 is monitored by the monitoring unit 54a. Note that the compression engine 55a may compress a plurality of data records in order to shorten the data record transfer time. Note that the compression engine 55a does not need to be implemented by the CPU 31, and may be implemented by an ASIC, FPGA, or the like. In this way, by employing the first buffer 37a, it becomes possible to execute the transfer process and the user program asynchronously.

●データ活用ユニットの機能
図6は拡張ユニット4aのCPU41aによって実現される機能を説明する図である。なお、上位システムの拡張ユニット4aは上位ユニットと呼ばれ、下位システムの拡張ユニット4aは下位ユニットと呼ばれてもよい。はじめに下位ユニットのCPU41aにより実現される機能が説明される。ただし、上位ユニットのCPU41aも自己が接続されているPLC1aにおいてデータを収集してもよい。
●Functions of Data Utilization Unit FIG. 6 is a diagram illustrating the functions realized by the CPU 41a of the expansion unit 4a. Note that the expansion unit 4a of the upper system may be called an upper unit, and the expansion unit 4a of the lower system may be called a lower unit. First, the functions realized by the CPU 41a of the lower unit will be explained. However, the CPU 41a of the host unit may also collect data in the PLC 1a to which it is connected.

収集部52cは、CPU41aが収集設定39にしたがってデータを収集する機能である。収集部52cは、CPU41aがユーザプログラムなどの制御プログラムを実行することで実現されうる。収集部52cは、収集設定39により指定されたデバイス値を基本ユニット3が収集して拡張ユニット4aの第二バッファ37bに転送するよう基本ユニット3を設定する。なお、収集部52cは、収集設定39に含まれている基本ユニット3の収集設定36aを基本ユニット3の記憶装置32に書き込んでもよい。収集設定39はPC2または上位システムとして動作している他のデータ活用ユニットによってメモリ42aに書き込まれうる。収集部52cとデータ処理部73とは基本的に非同期で動作できることが望ましい。これを実現するためにバッファが設けられてもよい。 The collection unit 52c is a function for the CPU 41a to collect data according to the collection settings 39. The collection unit 52c can be realized by the CPU 41a executing a control program such as a user program. The collection unit 52c sets the basic unit 3 so that the basic unit 3 collects the device values specified by the collection settings 39 and transfers them to the second buffer 37b of the expansion unit 4a. Note that the collection unit 52c may write the collection settings 36a of the basic unit 3 included in the collection settings 39 to the storage device 32 of the basic unit 3. The collection settings 39 can be written into the memory 42a by the PC 2 or another data utilization unit operating as a host system. It is desirable that the collection unit 52c and the data processing unit 73 basically be able to operate asynchronously. A buffer may be provided to achieve this.

収集部52cは、収集設定39により指定されたデバイス値を拡張ユニット4bが収集して拡張ユニット4aの第三バッファ37cに転送するよう拡張ユニット4bを設定してもよい。第二バッファ37bおよび第三バッファ37cを設けることで、データ処理部73の処理負荷が変動しても、データを取りこぼさず収集できるようになる。収集部52cは、収集設定39に含まれている拡張ユニット4bの収集設定36b(図7)を拡張ユニット4bのメモリ42bに書き込んでもよい。なお、これらの設定機能は設定部71によって実現されてもよい。設定部71は、PC2aまたはPC2bから収集設定39、処理設定61、表示設定62を受信してメモリ42aに書き込む。処理設定61は、データ処理部73により収集データに対して実行されるデータ処理を定義する情報とフロー(プログラム)を含む。表示設定62は、Webサーバ70を通じてWebブラウザ18にデータ処理結果を提供するダッシュボードのテンプレート(HTMLデータ、CSS、JavaScript(登録商標)のコードなど)を含む。生成部74は、ダッシュボードの表示部品を定義する表示設定62にしたがって、ダッシュボードのテンプレートにデータ処理結果を代入することで、ダッシュボードの表示データを作成する。表示データは、たとえば、HTMLデータや画像データ、CSS(カスケーディングスタイルシート)、JavaScript(登録商標)のコードなどであってもよい。表示部品としては、たとえば、円グラフ部品、棒グラフ部品、折れ線グラフ部品、数値表示部品などが含まれる。Webサーバ70は、Webブラウザ18によりダッシュボードのWebページにアクセスがあると、ダッシュボードの表示データをWebブラウザ18に送信する。Webブラウザ18が表示データを受信してダッシュボードを表示する。 The collection unit 52c may configure the expansion unit 4b so that the expansion unit 4b collects the device values specified by the collection settings 39 and transfers them to the third buffer 37c of the expansion unit 4a. By providing the second buffer 37b and the third buffer 37c, even if the processing load on the data processing section 73 changes, data can be collected without being missed. The collection unit 52c may write the collection settings 36b (FIG. 7) of the expansion unit 4b included in the collection settings 39 to the memory 42b of the expansion unit 4b. Note that these setting functions may be realized by the setting section 71. The setting unit 71 receives collection settings 39, processing settings 61, and display settings 62 from the PC 2a or PC 2b, and writes them into the memory 42a. The processing settings 61 include information and flows (programs) that define data processing to be performed on collected data by the data processing unit 73. The display settings 62 include a dashboard template (HTML data, CSS, JavaScript (registered trademark) code, etc.) that provides data processing results to the web browser 18 through the web server 70. The generation unit 74 creates dashboard display data by substituting data processing results into a dashboard template according to display settings 62 that define display components of the dashboard. The display data may be, for example, HTML data, image data, CSS (cascading style sheets), JavaScript (registered trademark) code, or the like. Examples of display components include pie chart components, bar graph components, line graph components, numerical display components, and the like. When the web page of the dashboard is accessed by the web browser 18, the web server 70 transmits dashboard display data to the web browser 18. Web browser 18 receives the display data and displays the dashboard.

なお、複数のデータ活用アプリケーションが提供されることがある。この場合、データ活用アプリケーションごとに必要とするデータと読み出しタイミングが異なることがある。この場合、データ活用アプリケーションごとにサブバッファがメモリ42aに確保されてもよい。収集部52cは、第二バッファ37bに格納されたデータレコードを読み出し、第一データ活用アプリケーション用のデータを第一サブバッファ38aに格納する。収集部52cは、第二バッファ37bに格納されたデータレコードを読み出し、第二データ活用アプリケーション用のデータを第二サブバッファ38bに格納する。なお、収集部52cは、第三バッファ37cに格納されたデータレコードを読み出し、第一データ活用アプリケーション用のデータを第一サブバッファ38aに格納してもよい。収集部52cは、第三バッファ37cに格納されたデータレコードを読み出し、第二データ活用アプリケーション用のデータを第二サブバッファ38bに格納してもよい。データ処理部73は、第一データ活用アプリケーションにしたがってデータを第一サブバッファ38aから読み出してデータ処理を実行し、処理結果を生成する。データ処理部73は、第二データ活用アプリケーションにしたがってデータを第二サブバッファ38bから読み出してデータ処理を実行し、処理結果を生成する。解凍エンジン75は、基本ユニット3の圧縮エンジン55aおよび拡張ユニット4bの圧縮エンジン55bと対を成す機能である。解凍エンジン75は、基本ユニット3により圧縮されて転送されてきたデータを解凍して第二バッファ37bに格納する。解凍エンジン75は、拡張ユニット4bにより圧縮されて転送されてきたデータを解凍して第三バッファ37cに格納する。これにより拡張バス90の通信トラフィックの混雑が緩和されるようになろう。解凍エンジン75はASICまたはFPGAなどにより実現されてもよい。このように基本ユニット3および拡張ユニット4a、4bとの間のデータの伝送は拡張バス90を介して実行される。 Note that multiple data utilization applications may be provided. In this case, the required data and read timing may differ depending on the data utilization application. In this case, a sub-buffer may be secured in the memory 42a for each data utilization application. The collection unit 52c reads data records stored in the second buffer 37b, and stores data for the first data utilization application in the first sub-buffer 38a. The collection unit 52c reads the data records stored in the second buffer 37b, and stores data for the second data utilization application in the second sub-buffer 38b. Note that the collection unit 52c may read data records stored in the third buffer 37c and store data for the first data utilization application in the first sub-buffer 38a. The collection unit 52c may read the data records stored in the third buffer 37c, and store data for the second data utilization application in the second sub-buffer 38b. The data processing unit 73 reads data from the first sub-buffer 38a according to the first data utilization application, executes data processing, and generates a processing result. The data processing unit 73 reads data from the second sub-buffer 38b according to the second data utilization application, executes data processing, and generates a processing result. The decompression engine 75 is a function that forms a pair with the compression engine 55a of the basic unit 3 and the compression engine 55b of the expansion unit 4b. The decompression engine 75 decompresses the data compressed and transferred by the basic unit 3 and stores it in the second buffer 37b. The decompression engine 75 decompresses the data compressed and transferred by the expansion unit 4b and stores it in the third buffer 37c. This will ease communication traffic congestion on the expansion bus 90. The decompression engine 75 may be implemented using ASIC, FPGA, or the like. In this way, data transmission between the basic unit 3 and the expansion units 4a, 4b is performed via the expansion bus 90.

データ活用アプリケーションごとに必要となるデータが複数である場合がある。その場合、各スキャンで収集されたデータの塊をバッファに維持したままサブバッファに必要な複数のデータを格納することもある。さらに、サブバッファにデータを分配する場合にも、各レコードにタイムスタンプ等が付与されもよい。図25が示すように、第二バッファ37b(第三バッファ37cであってもよい)は、収集されたデータの塊を保持している。一つのレコードはスキャン番号と、タイマーの値(タイムスタンプ)と、収集されたデータを含む。この例で、収集されたデータは、リレーRL1~RL3、デバイスDev1、Dev2を含む。第一データ活用アプリケーション2501は、収集されたデータのうち、リレーRL1~RL3を必要とする。したがって、スキャン番号、タイマーの値、リレーRL1~RL3が第二バッファ37bから読み出されて、第一サブバッファ38aに格納される。第一データ活用アプリケーション2501は、第一サブバッファ38aからスキャン番号、タイマーの値、リレーRL1~RL3を読み出して表示画面(ソースデータ)を作成する。第二データ活用アプリケーション2502は、収集されたデータのうち、リレーRL3、デバイスDev1、Dev2を必要とする。したがって、スキャン番号、タイマーの値、リレーRL3、デバイスDev1、Dev2が第二バッファ37bから読み出されて、第二サブバッファ38bに格納される。第二データ活用アプリケーション2502は、第二サブバッファ38bからスキャン番号、タイマーの値、リレーRL3、デバイスDev1、Dev2を読み出して表示画面(ソースデータ)を作成する。このようにサブバッファを活用することで、元のデータを変更することなくバッファ内に維持することが可能となる。バッファ内に保持された元のデータは他の目的で利用可能となる。 There are cases where multiple pieces of data are required for each data utilization application. In that case, a plurality of pieces of necessary data may be stored in a sub-buffer while maintaining a chunk of data collected in each scan in a buffer. Furthermore, when distributing data to sub-buffers, a timestamp or the like may be added to each record. As shown in FIG. 25, the second buffer 37b (which may also be the third buffer 37c) holds a chunk of collected data. One record contains the scan number, timer value (timestamp), and collected data. In this example, the collected data includes relays RL1-RL3, devices Dev1, Dev2. The first data utilization application 2501 requires relays RL1 to RL3 among the collected data. Therefore, the scan number, timer value, and relays RL1 to RL3 are read from the second buffer 37b and stored in the first sub-buffer 38a. The first data utilization application 2501 reads the scan number, timer value, and relays RL1 to RL3 from the first sub-buffer 38a to create a display screen (source data). The second data utilization application 2502 requires relay RL3 and devices Dev1 and Dev2 from among the collected data. Therefore, the scan number, timer value, relay RL3, devices Dev1, Dev2 are read from the second buffer 37b and stored in the second sub-buffer 38b. The second data utilization application 2502 reads the scan number, timer value, relay RL3, and devices Dev1 and Dev2 from the second sub-buffer 38b to create a display screen (source data). By utilizing sub-buffers in this way, it is possible to maintain the original data in the buffer without changing it. The original data held in the buffer becomes available for other purposes.

受け渡しバッファ40は上位システムと下位システムとの間で収集されたデータを転送する際に利用される。受け渡しバッファ40は上位システムと下位システムとのうちの少なくとも一方に設けられていればよい。たとえば、下位システムとして機能するPLC1bのデータ活用ユニットは、PLC1b内で収集した時系列データを受け渡しバッファ40に格納する。上位システムとして機能するPLC1aのデータ活用ユニットは、下位システムの受け渡しバッファ40からPLC1bに関する時系列データを取得する。PLC1aと比較してPLC1bが高速で動作している場合、PLC1bにおいて非常に短い間だけONとなるビットデバイスのデバイス値を取得できない可能性がある。そこで、受け渡しバッファ40を設けることで、時系列データの取得漏れが生じにくくなる。また、このバッファ配置は、統計処理などのデータ処理を下位システムで実行し、処理結果を上位システムに転送するケースでも、有利であろう。下位システムは、処理結果を受け渡しバッファ40に格納する。上位システムは、定期的に受け渡しバッファ40を確認する。上位システムは、処理結果が受け渡しバッファ40に格納されていれば、処理結果を読み出す。この場合、受け渡しバッファ40としてはFIFOタイプが向いていよう。 The transfer buffer 40 is used when transferring collected data between the upper system and the lower system. The transfer buffer 40 may be provided in at least one of the upper system and the lower system. For example, the data utilization unit of the PLC 1b functioning as a lower system transfers and stores time series data collected within the PLC 1b in the buffer 40. The data utilization unit of the PLC 1a, which functions as the upper system, acquires time-series data regarding the PLC 1b from the transfer buffer 40 of the lower system. If the PLC 1b operates at a higher speed than the PLC 1a, there is a possibility that the device value of a bit device that is ON only for a very short period of time cannot be obtained in the PLC 1b. Therefore, by providing the transfer buffer 40, it becomes less likely that time-series data will be omitted. This buffer arrangement may also be advantageous in cases where data processing such as statistical processing is executed in a lower system and the processing results are transferred to an upper system. The lower system receives the processing results and stores them in the buffer 40 . The host system periodically checks the transfer buffer 40. If the processing result is stored in the transfer buffer 40, the host system reads the processing result. In this case, a FIFO type would be suitable for the transfer buffer 40.

受け渡しバッファ40がPLC1aのデータ活用ユニットに設けられてもよい。下位システムとして機能するPLC1bのデータ活用ユニットは、PLC1b内で収集した時系列データを、上位システムであるPLC1aのデータ活用ユニットの受け渡しバッファ40に格納する。 The delivery buffer 40 may be provided in the data utilization unit of the PLC 1a. The data utilization unit of PLC1b, which functions as a lower system, stores the time series data collected within PLC1b in the transfer buffer 40 of the data utilization unit of PLC1a, which is an upper system.

●データ活用に関連する拡張ユニット4bの機能
図7は拡張ユニット4bのCPU41bによって実現される機能を説明する図である。
●Functions of the expansion unit 4b related to data utilization FIG. 7 is a diagram illustrating the functions realized by the CPU 41b of the expansion unit 4b.

実行エンジン51bは拡張ユニット4bの基本機能(モーションユニットであればモーションフローの実行など)を実行する。収集部52bは、収集設定36により指定されたデータを、収集設定36により指定されたタイミングでデバイス部34bから収集して第四バッファ37dに格納する。転送部53bは、収集設定36により指定されたタイミング、または、拡張ユニット4aにより転送要求が受信されたタイミングで、第四バッファ37dに格納されているデータレコードを読み出して、拡張バス90を介して、拡張ユニット4aの第三バッファ37cに転送する。なお、監視部54により監視される拡張バス90の通信トラフィックが少ないタイミングに、転送部53bがデータレコードの転送を実行してもよい。圧縮エンジン55bは、収集設定36にしたがってデータレコードを圧縮する。つまり、転送部53bは、圧縮エンジン55bにより情報圧縮されたデータレコードを拡張ユニット4aに転送してもよい。圧縮エンジン55bは、CPU41bにより実現されてもよいが、高速処理の観点やCPU41bの処理負荷の軽減の観点から、ASICまたはFPGAにより実現されてもよい。 The execution engine 51b executes the basic functions of the expansion unit 4b (eg, execution of motion flow in the case of a motion unit). The collection unit 52b collects the data specified by the collection settings 36 from the device unit 34b at the timing specified by the collection settings 36, and stores the data in the fourth buffer 37d. The transfer unit 53b reads the data record stored in the fourth buffer 37d at the timing specified by the collection setting 36 or at the timing when the transfer request is received by the expansion unit 4a, and transfers the data record via the expansion bus 90. , and transferred to the third buffer 37c of the expansion unit 4a. Note that the transfer unit 53b may transfer the data record at a timing when the communication traffic of the expansion bus 90 monitored by the monitoring unit 54 is low. Compression engine 55b compresses data records according to collection settings 36. That is, the transfer unit 53b may transfer the data record whose information has been compressed by the compression engine 55b to the expansion unit 4a. The compression engine 55b may be realized by the CPU 41b, but may also be realized by an ASIC or FPGA from the viewpoint of high-speed processing and reducing the processing load on the CPU 41b.

●データレコードの例
図8は収集部52aによって第一バッファ37aに書き込まれるデータレコード91を示している。複数のデータレコード91は時系列データの一例である。この例で、収集部52aは一スキャン周期ごとに、Dev0、Dev1、Dev10というデバイス名のデバイス値をデバイス部34aから収集し、収集カウントおよびタイマーから取得された時刻情報を付加して一つのデータレコードを作成し、第一バッファ37aに格納する。なお、収集対象は、拡張ユニット4bに割り当てられたバッファメモリまたはデバイスに格納されたデータであってもよい。この例で第一バッファ37aはFIFO(先入先出)タイプのバッファである。収集カウントは、一つのデータレコードを収集するたびに1ずつカウントアップされるカウンタのカウント値である。収集カウントはシーケンシャルに付与される番号であるため、データレコードの抜けや圧縮を検出することに役立つ。
●Example of data record FIG. 8 shows a data record 91 written to the first buffer 37a by the collection unit 52a. The plurality of data records 91 is an example of time series data. In this example, the collection unit 52a collects device values with device names Dev0, Dev1, and Dev10 from the device unit 34a every scan cycle, adds the collection count and time information obtained from the timer, and creates one data. A record is created and stored in the first buffer 37a. Note that the data to be collected may be data stored in a buffer memory or device allocated to the expansion unit 4b. In this example, the first buffer 37a is a FIFO (first in, first out) type buffer. The collection count is a count value of a counter that is incremented by 1 each time one data record is collected. Since the collection count is a number assigned sequentially, it is useful for detecting data record omissions and compression.

タイムスタンプなどの時刻情報は、たとえば、基本ユニット3で取得されたデータと、拡張ユニット4bで取得されたデータとを対比可能にダッシュボードに表示する際に役立つ。一般に、基本ユニット3における収集タイミングと拡張ユニット4bにおける収集タイミングとは一致しない。そのため、基本ユニット3の動作と拡張ユニット4bの動作とを比較するためには、基本ユニット3のデータと、拡張ユニット4bのデータとを紐付けるための情報が必要となる。一般に、基本ユニット3は拡張ユニット4a、4bはユニット間同期などによって時刻情報を同期できる。したがって、基本ユニット3と拡張ユニット4bはそれぞれデータレコードを収集したときの時刻情報をデータレコードに付与することで、データ処理部73は、異なるユニットで取得された複数のデータレコードを時間軸上で整列させることができる。 Time information such as a timestamp is useful, for example, when displaying data acquired by the basic unit 3 and data acquired by the expansion unit 4b on a dashboard in a comparable manner. Generally, the collection timing in the basic unit 3 and the collection timing in the expansion unit 4b do not match. Therefore, in order to compare the operation of the basic unit 3 and the operation of the expansion unit 4b, information for linking the data of the basic unit 3 and the data of the expansion unit 4b is required. Generally, the basic unit 3 and the expansion units 4a and 4b can synchronize time information through inter-unit synchronization. Therefore, the basic unit 3 and the expansion unit 4b each add time information when the data records are collected to the data records, so that the data processing unit 73 can process multiple data records acquired by different units on the time axis. Can be aligned.

●転送のタイミング
図9はデータレコードの転送タイミングを説明する図である。図9が示すようにPLC1は、入出力のリフレッシュ、ユーザプログラムの実行およびエンド処理を繰り返し実行する。スキャン周期の伸びを低減するために、転送処理は、入出力のリフレッシュの期間を避けて実行される。同様に、スキャン周期の伸びを低減するために、転送処理は、UREADおよびUWRITの実行期間を避けて実行される。UREADは拡張ユニット4に割り当てられているバッファメモリからデータを読み出す命令であり、ユーザプログラム中に記述される。そのため、基本ユニット3は、ユーザプログラムの実行期間中に、UREADにしたがって拡張ユニット4にアクセスしてバッファメモリからデータを取得する。UWRITは、拡張ユニット4に割り当てられているバッファメモリにデータを書き込む命令であり、ユーザプログラム中に記述される。基本ユニット3は、ユーザプログラムの実行期間中に、UWRITにしたがって拡張ユニット4にアクセスしてバッファメモリにデータを書き込む。
●Transfer timing FIG. 9 is a diagram illustrating the transfer timing of data records. As shown in FIG. 9, the PLC 1 repeatedly performs input/output refresh, user program execution, and end processing. In order to reduce the length of the scan cycle, the transfer process is performed while avoiding the input/output refresh period. Similarly, to reduce scan period elongation, transfer processing is performed avoiding the UREAD and UWRIT execution periods. UREAD is an instruction to read data from the buffer memory allocated to the expansion unit 4, and is written in the user program. Therefore, the basic unit 3 accesses the expansion unit 4 according to UREAD and acquires data from the buffer memory during the execution period of the user program. UWRIT is an instruction to write data to the buffer memory allocated to the expansion unit 4, and is written in the user program. The basic unit 3 accesses the expansion unit 4 according to UWRIT and writes data to the buffer memory during the execution of the user program.

図9が示すように、入出力のリフレッシュ、UREADおよびUWRITを除いた残りの転送可能期間において、転送処理は、拡張バス90で実行される。たとえば、収集設定36aによって5個のデータレコードずつ転送処理を実行することが設定されていたと仮定する。この場合、転送部53aは、第一バッファ37aに5個のデータレコードの蓄積が完了した後であって、最初の転送可能期間または拡張ユニット4aによって転送要求を受信したタイミングで、転送処理を実行する。 As shown in FIG. 9, transfer processing is performed on the expansion bus 90 during the remaining transferable period excluding input/output refresh, UREAD, and UWRIT. For example, assume that the collection settings 36a have been set to transfer five data records at a time. In this case, the transfer unit 53a executes the transfer process after the accumulation of five data records in the first buffer 37a is completed, during the first transferable period or at the timing when the expansion unit 4a receives a transfer request. do.

●収集設定の変更
データの収集は、たとえば、工場の稼働期間において常時実行されてもよい。この場合、午前中に使用されていた収集設定と午後に使用される収集設定とが異なることがある。この場合、複数のデータレコードのうちどのデータレコードが第一の収集設定に基づき取得され、どのデータレコードが第二の収集設定に基づき取得されたかを簡単に識別できれば便利であろう。
●Changing collection settings Data collection may be performed constantly, for example, during the operating period of the factory. In this case, the collection settings used in the morning may be different from the collection settings used in the afternoon. In this case, it would be convenient to be able to easily identify which of the plurality of data records were acquired based on the first collection configuration and which data records were acquired based on the second collection configuration.

図10は収集設定の途中変更に対応可能なデータレコード91のフォーマットを示している。この例では、複数の収集設定を区別するための識別情報がデータレコード91に追加されている。設定識別情報"1"は第一の収集設定に対応している。第一の収集設定において収集対象のデバイスはDev1とDev10である。設定識別情報"2"は第二の収集設定に対応している。第一に収集設定において収集対象のデバイスはDev1、Dev10、Dev11である。このようなフォーマットを採用することで、データ処理部73は、収集設定ごとにデータ処理対象を分けて、データ処理を実行することが可能となる。たとえば、設定識別情報"1"は、第一のデータ処理設定に対応し、設定識別情報"2"は、第二のデータ処理設定に対応していてもよい。データ処理部73は、設定識別情報に対応したデータ処理設定を処理設定61から取得し、取得したデータ処理設定にしたがってデータレコードにデータ処理を施してもよい。 FIG. 10 shows a format of a data record 91 that can accommodate changes in collection settings midway. In this example, identification information for distinguishing between multiple collection settings is added to the data record 91. Setting identification information "1" corresponds to the first collection setting. In the first collection setting, the devices to be collected are Dev1 and Dev10. Setting identification information "2" corresponds to the second collection setting. First, in the collection settings, the devices to be collected are Dev1, Dev10, and Dev11. By adopting such a format, the data processing unit 73 can perform data processing by dividing data processing targets for each collection setting. For example, setting identification information "1" may correspond to a first data processing setting, and setting identification information "2" may correspond to a second data processing setting. The data processing unit 73 may acquire data processing settings corresponding to the setting identification information from the processing settings 61 and perform data processing on the data record according to the acquired data processing settings.

なお、データレコード91は受け渡しバッファ40に格納される際にCPU41aによってシステムIDが付与されてもよい。システムIDは、PLC1a~1cを識別するための識別情報である。 Note that a system ID may be assigned to the data record 91 by the CPU 41a when the data record 91 is stored in the transfer buffer 40. The system ID is identification information for identifying the PLCs 1a to 1c.

●情報圧縮
図11はデータレコードの情報圧縮を説明する図である。データレコード群91aは情報圧縮前のデータレコードを示している。ここでは収集対象として四つのリレーデバイスRL1,RL2,RL3,RL4が指定されている。また、収集カウントとしてスキャン番号が採用されている。カウンタは、タイマーなどにより取得される時刻情報(例:あるリレーがONになってからOFFになるまでの時間間隔を示す数値)であってもよい。データレコード群91aにおいてスキャン番号"1"のデータレコードと、スキャン番号"2"のデータレコードとの間ではリレーデバイスの変化点が存在しない。つまり、スキャン番号"2"のデータレコードは圧縮(廃棄または削除)可能である。しかし、スキャン番号"3"のデータレコードのリレーデバイスRL1とスキャン番号"1"のデータレコードのリレーデバイスRL1とが異なっている。このように、スキャン番号"3"は変化点を有しているため、スキャン番号"3"のデータレコードは圧縮されない。スキャン番号"3"のデータレコードと、スキャン番号"4"のデータレコードとの間ではリレーデバイスの変化点が存在しないため、スキャン番号"4"のデータレコードは圧縮可能である。同様に、スキャン番号"5"のデータレコードと、スキャン番号"6"のデータレコードとの間ではリレーデバイスの変化点が存在しないため、スキャン番号"6"のデータレコードは圧縮可能である。このような変化点に着目した情報圧縮を実行することで、圧縮されたデータレコード群91bが実現される。圧縮されたデータレコード群91bを構成する各データレコードは変化点を有している。
●Information compression FIG. 11 is a diagram illustrating information compression of data records. A data record group 91a shows data records before information compression. Here, four relay devices RL1, RL2, RL3, and RL4 are designated as collection targets. Additionally, scan numbers are used as collection counts. The counter may be time information obtained by a timer or the like (eg, a numerical value indicating a time interval from when a certain relay is turned on until it is turned off). In the data record group 91a, there is no change point in the relay device between the data record with scan number "1" and the data record with scan number "2". In other words, the data record with scan number "2" can be compressed (discarded or deleted). However, the relay device RL1 of the data record with scan number "3" and the relay device RL1 of the data record with scan number "1" are different. In this way, since scan number "3" has a change point, the data record of scan number "3" is not compressed. Since there is no relay device change point between the data record with scan number "3" and the data record with scan number "4", the data record with scan number "4" can be compressed. Similarly, since there is no relay device change point between the data record with scan number "5" and the data record with scan number "6", the data record with scan number "6" can be compressed. By performing information compression focusing on such change points, a compressed data record group 91b is realized. Each data record constituting the compressed data record group 91b has a change point.

●ダッシュボードの一例
図12はWebブラウザ18のUI130を示している。UI130には、URL入力部131と、ダッシュボードの表示領域105とが含まれている。URL入力部131には、ダッシュボードに割り当てられたURLが入力されている。表示領域105には、データ処理部73によって収集対象データから求められたデータ処理結果が示されている。この例では、リレーデバイスRL1、RL2の波形が含まれている。データレコードはスキャン周期ごとに収集されるため、たとえば、一日にわたりデータ収集を継続すると、多数のデータレコードが収集される。データ処理部73は、リレーデバイスRL1の立ち上がりを基準としてリレーデバイスRL1について取得された複数の波形を重ねて表示している。この例では、リレーデバイスRL1の立下りのタイミングにずれが生じている。たとえば、データ処理部73は、複数の波形の平均値を演算し、平均値に相当する波形を太い線で表示してもよい。立下りのずれについて合格範囲dX1が存在してもよい。データ処理部73は、各立下りのタイミングが合格範囲dX1に含まれていれば、合格と判定してもよい。データ処理部73は、リレーデバイスRL2についても同様の処理を実行してもよい。ただし、リレーデバイスRL2について立ち上がりのずれが合格範囲dX2に含まれていないため、データ処理部73は、不合格と判定してもよい。
●Example of Dashboard FIG. 12 shows the UI 130 of the web browser 18. The UI 130 includes a URL input section 131 and a dashboard display area 105. A URL assigned to the dashboard is input into the URL input section 131. The display area 105 shows data processing results obtained from the data to be collected by the data processing unit 73. In this example, waveforms of relay devices RL1 and RL2 are included. Because data records are collected every scan period, for example, if data collection continues over a day, a large number of data records will be collected. The data processing unit 73 displays a plurality of waveforms acquired for the relay device RL1 in a superimposed manner based on the rise of the relay device RL1. In this example, there is a shift in the falling timing of relay device RL1. For example, the data processing unit 73 may calculate the average value of a plurality of waveforms, and display the waveform corresponding to the average value as a thick line. There may be an acceptable range dX1 for the falling edge deviation. The data processing unit 73 may determine that the signal is passed if the timing of each fall is included in the pass range dX1. Data processing unit 73 may perform similar processing for relay device RL2. However, since the start-up deviation of relay device RL2 is not included in the pass range dX2, data processing unit 73 may determine that the relay device RL2 is not passed.

このように不合格が発生すると、CPU41aは、所定のメールアドレスに対してエラー報告メールを送信してもよい。エラー報告メールには、ダッシュボードのURLを含むリンクが含まれていてもよい。エラー報告メールの受信者はこのリンクをクリックすることで、Webブラウザ18を起動してダッシュボードを表示して波形を確認することで、エラーの原因を解消してもよい。 When a failure occurs in this way, the CPU 41a may send an error report email to a predetermined email address. The error report email may include a link including the URL of the dashboard. By clicking on this link, the recipient of the error report email may launch the web browser 18, display the dashboard, check the waveform, and eliminate the cause of the error.

なお、拡張ユニット4bとしてモーションユニットがある。モーションユニットは、基本ユニット3によって指令値にしたがって、産業機械を動作させ、産業機械の動作結果を保持している。指令値は、たとえば、アーム型ロボットのアームの座標であってもよい。動作結果(現在値)は、センサなどによって取得された実際のアームの座標であってもよい。拡張ユニット4aは、指令値とそれに対応する現在値とを時系列データとして拡張ユニット4bから取得し、指令値と現在値とのずれをダッシュボードに表示してもよい。データ処理部73は、指令値と現在値との差分を求め、時間の経過とともに差分がどのように変化しているかを示すグラフをダッシュボードに表示してもよい。このような波形をユーザが確認することで、発生したエラーの原因が消耗品の寿命に起因したものなのか、外部から加えられた突発的なイベントにあるのかを判断しやすくなろう。たとえば、消耗品の寿命の末期が近づくと徐々に波形の応答が遅れることがある。一方で、突発的なイベントが原因でエラーが発生した場合、イベントの発生時刻でのみ波形の変化が発生する。よって、ユーザは波形を観察することでエラー原因を発見し、その対策を施すことが可能となろう。 Note that there is a motion unit as the extension unit 4b. The motion unit operates the industrial machine according to command values from the basic unit 3 and holds the operation results of the industrial machine. The command value may be, for example, the coordinates of an arm of an arm-type robot. The operation result (current value) may be the actual arm coordinates obtained by a sensor or the like. The expansion unit 4a may acquire the command value and the current value corresponding thereto from the expansion unit 4b as time series data, and display the deviation between the command value and the current value on the dashboard. The data processing unit 73 may calculate the difference between the command value and the current value, and display on the dashboard a graph showing how the difference changes over time. By checking such waveforms, the user can easily determine whether the cause of the error is due to the end of the life of a consumable item or a sudden event applied from the outside. For example, as a consumable item approaches its end of life, the waveform response may gradually become delayed. On the other hand, when an error occurs due to a sudden event, the waveform changes only at the time the event occurs. Therefore, by observing the waveform, the user will be able to discover the cause of the error and take countermeasures.

<フローチャート>
●拡張ユニット4a
図13は拡張ユニット4aのCPU41aにより実行される収集処理を示すフローチャートである。CPU41aは、特定のリレーデバイスがONになると、以下の処理を実行する。
<Flowchart>
Extension unit 4a
FIG. 13 is a flowchart showing the collection process executed by the CPU 41a of the expansion unit 4a. The CPU 41a executes the following process when a specific relay device is turned on.

S1でCPU41a(設定部71)は基本ユニット3と拡張ユニット4bを設定する。たとえば、CPU41aは基本ユニット3のための収集設定36aを基本ユニット3に転送する。基本ユニット3は、収集設定36aを記憶装置32に格納する。CPU41aは基本ユニット3のための収集設定36bを拡張ユニット4bに転送する。拡張ユニット4bは、収集設定36bをメモリ42bに格納する。 In S1, the CPU 41a (setting section 71) sets the basic unit 3 and the expansion unit 4b. For example, the CPU 41a transfers the collection settings 36a for the basic unit 3 to the basic unit 3. The basic unit 3 stores the collection settings 36a in the storage device 32. The CPU 41a transfers the collection settings 36b for the basic unit 3 to the expansion unit 4b. The expansion unit 4b stores the collection settings 36b in the memory 42b.

S2でCPU41a(データ処理部73または収集部52c)は第二バッファ37bまたは第三バッファ37c(第一サブバッファ38aまたは第二サブバッファ38b)に所定量の収集データが格納されているかどうかを判定する。所定量は処理設定61により定義されている。ここでは、処理設定61により指定されたバッファが確認されれば十分であり、常に、第二バッファ37bと第三バッファ37cとの両方が確認対象となるわけではない。CPU41は、バッファに所定量のデータが格納されるまで待機する。バッファに所定量のデータが格納されると、CPU41aはS3に進む。 In S2, the CPU 41a (data processing section 73 or collection section 52c) determines whether a predetermined amount of collected data is stored in the second buffer 37b or third buffer 37c (first sub-buffer 38a or second sub-buffer 38b). do. The predetermined amount is defined by processing settings 61. Here, it is sufficient to check the buffer specified by the processing settings 61, and it is not always the case that both the second buffer 37b and the third buffer 37c are checked. The CPU 41 waits until a predetermined amount of data is stored in the buffer. When a predetermined amount of data is stored in the buffer, the CPU 41a proceeds to S3.

S3でCPU41a(データ処理部73)はバッファから読み出した所定量のデータに対してデータ処理を実行して、データ処理結果を求める。データ処理の内容は処理設定61により定義されている。データ処理結果はメモリ42aに保持される。 In S3, the CPU 41a (data processing unit 73) executes data processing on a predetermined amount of data read from the buffer, and obtains a data processing result. The content of data processing is defined by processing settings 61. Data processing results are held in memory 42a.

S4でCPU41a(生成部74)はPC2bのWebブラウザ18からダッシュボードの表示要求(Webアクセス)があったかどうかを判定する。表示要求が無ければ、CPU41aはS2に進み、データの収集とデータ処理とを継続する。表示要求があれば、CPU41aはS5に進む。 In S4, the CPU 41a (generation unit 74) determines whether there is a dashboard display request (web access) from the web browser 18 of the PC 2b. If there is no display request, the CPU 41a proceeds to S2 and continues data collection and data processing. If there is a display request, the CPU 41a proceeds to S5.

S5でCPU41a(生成部74)は表示要求に対応するダッシュボードの表示データを作成する。たとえば、CPU41aは、メモリ42aに格納されているデータ処理結果をダッシュボードのテンプレートに代入して表示データを作成する。 In S5, the CPU 41a (generation unit 74) creates dashboard display data corresponding to the display request. For example, the CPU 41a creates display data by substituting the data processing results stored in the memory 42a into a dashboard template.

S6でCPU41a(Webサーバ70)は表示データをPC2bのWebブラウザ18に送信する。これにより、PC2bのWebブラウザ18はダッシュボードを表示できるようになる。 In S6, the CPU 41a (Web server 70) transmits display data to the Web browser 18 of the PC 2b. This allows the web browser 18 of the PC 2b to display the dashboard.

●基本ユニット3
図14は基本ユニット3のCPU31により実行される収集処理を示すフローチャートである。CPU31は、特定のリレーデバイスがONになると、以下の処理を実行する。
Basic unit 3
FIG. 14 is a flowchart showing the collection process executed by the CPU 31 of the basic unit 3. When a specific relay device is turned on, the CPU 31 executes the following process.

S11でCPU31(収集部52a)は収集設定36aにより指定された収集タイミング(例:1スキャン周期ごと、トリガ信号が入力されるごと、所定周期ごと)が到来したかどうかを判定する。収集タイミングが到来すると、CPU31はS12に進む。 In S11, the CPU 31 (collection unit 52a) determines whether the collection timing specified by the collection setting 36a (eg, every scan cycle, every time a trigger signal is input, every predetermined cycle) has arrived. When the collection timing arrives, the CPU 31 proceeds to S12.

S12でCPU31(収集部52a)は、収集設定36aにより指定された収集対象データをデバイス部34aから収集して第一バッファ37aに格納する。 In S12, the CPU 31 (collection section 52a) collects the collection target data specified by the collection settings 36a from the device section 34a and stores it in the first buffer 37a.

S13でCPU31(転送部53a)は、収集設定36aにより指定された転送条件が満たされたかどうかを判定する。転送条件は、たとえば、第一バッファ37aに蓄積されているデータレコードの数であってもよい。転送条件が満たされていなければ、CPU31は、S11に戻り、データの収集を継続する。転送条件が満たされていれば、CPU31はS14に進む。 In S13, the CPU 31 (transfer unit 53a) determines whether the transfer conditions specified by the collection settings 36a are satisfied. The transfer condition may be, for example, the number of data records stored in the first buffer 37a. If the transfer conditions are not met, the CPU 31 returns to S11 and continues collecting data. If the transfer conditions are satisfied, the CPU 31 proceeds to S14.

S14でCPU31(監視部54a)は、拡張バス90の通信トラフィックが少ないかどうかを判定する。通信トラフィックが多ければ、CPU31はS11に戻り、データの収集を継続する。通信トラフィックが少なければ、CPU31はS15に進む。 In S14, the CPU 31 (monitoring unit 54a) determines whether the communication traffic on the expansion bus 90 is low. If the communication traffic is large, the CPU 31 returns to S11 and continues collecting data. If the communication traffic is small, the CPU 31 proceeds to S15.

S15でCPU31(転送部53a)は第一バッファ37aから所定量のデータレコードを読み出して第二バッファ37bに転送する。所定量も収集設定36aにより定義されている。 In S15, the CPU 31 (transfer unit 53a) reads a predetermined amount of data records from the first buffer 37a and transfers them to the second buffer 37b. The predetermined amount is also defined by collection settings 36a.

●拡張ユニット4b
図15は拡張ユニット4bのCPU41bにより実行される収集処理を示すフローチャートである。CPU41bは、特定のリレーデバイスがONになると、以下の処理を実行する。
Extension unit 4b
FIG. 15 is a flowchart showing the collection process executed by the CPU 41b of the expansion unit 4b. When a specific relay device is turned on, the CPU 41b executes the following process.

S21でCPU41b(収集部52b)は収集設定36bにより指定された収集タイミング(例:トリガ信号が入力されるごと、所定周期ごと)が到来したかどうかを判定する。収集タイミングが到来すると、CPU41bはS22に進む。 In S21, the CPU 41b (collection unit 52b) determines whether the collection timing specified by the collection setting 36b (eg, every time a trigger signal is input, every predetermined period) has arrived. When the collection timing arrives, the CPU 41b proceeds to S22.

S22でCPU41b(収集部52b)は、収集設定36aにより指定された収集対象データをデバイス部34aから収集して第四バッファ37dに格納する。 In S22, the CPU 41b (collection section 52b) collects the collection target data specified by the collection setting 36a from the device section 34a and stores it in the fourth buffer 37d.

S23でCPU41b(転送部53b)は、収集設定36bにより指定された転送条件が満たされたかどうかを判定する。転送条件は、たとえば、第四バッファ37dに蓄積されているデータレコードの数であってもよい。転送条件が満たされていなければ、CPU41bは、S21に戻り、データの収集を継続する。転送条件が満たされていれば、CPU41bはS24に進む。 In S23, the CPU 41b (transfer unit 53b) determines whether the transfer conditions specified by the collection settings 36b are satisfied. The transfer condition may be, for example, the number of data records stored in the fourth buffer 37d. If the transfer conditions are not met, the CPU 41b returns to S21 and continues collecting data. If the transfer conditions are satisfied, the CPU 41b proceeds to S24.

S24でCPU41b(監視部54b)は、拡張バス90の通信トラフィックが少ないかどうかを判定する。通信トラフィックが多ければ、CPU41bはS21に戻り、データの収集を継続する。通信トラフィックが少なければ、CPU41bはS25に進む。 In S24, the CPU 41b (monitoring unit 54b) determines whether the communication traffic on the expansion bus 90 is low. If the communication traffic is large, the CPU 41b returns to S21 and continues collecting data. If the communication traffic is small, the CPU 41b proceeds to S25.

S25でCPU41b(転送部53b)は第四バッファ37dから所定量のデータレコードを読み出して第三バッファ37cに転送する。所定量も収集設定36bにより定義されている。 In S25, the CPU 41b (transfer unit 53b) reads a predetermined amount of data records from the fourth buffer 37d and transfers them to the third buffer 37c. The predetermined amount is also defined by collection settings 36b.

<上位システムによる下位システムからのデータ収集と活用>
すでに説明されたように、データ活用ユニットは上位モードと下位モードとを有していてもよい。ここでは、PLC1aが上位モードで動作する上位システムとして機能する。PLC1b、1cが下位モードで動作する下位システムとして機能する。PC2aまたはPLC1aの拡張ユニット4aは、PLC1b、1cのための収集設定39を作成する。
<Collection and utilization of data from lower-level systems by higher-level systems>
As already explained, the data utilization unit may have a higher mode and a lower mode. Here, the PLC 1a functions as a host system operating in a host mode. The PLCs 1b and 1c function as a lower system operating in a lower mode. The expansion unit 4a of the PC 2a or the PLC 1a creates collection settings 39 for the PLCs 1b and 1c.

●収集設定の作成
図16はPC2aのCPU11aまたはPLC1aの拡張ユニット4aのCPU41aによって実行される設定方法を示している。ここではCPU41aによって設定方法が実行されるが、CPU11aによって実行されてもよい。PC2bのWebブラウザを通じてユーザによる指示がCPU41aに入力される。CPU41aのWebサーバ70は、収集設定39を作成するために役立つWebページを提供するとともに、ユーザ入力を受け付ける。
●Creation of collection settings FIG. 16 shows a setting method executed by the CPU 11a of the PC 2a or the CPU 41a of the expansion unit 4a of the PLC 1a. Although the setting method is executed by the CPU 41a here, it may also be executed by the CPU 11a. Instructions by the user are input to the CPU 41a through the web browser of the PC 2b. The web server 70 of the CPU 41a provides a web page useful for creating the collection settings 39 and accepts user input.

S31でCPU41a(設定部71)はPLC1a~1cの変数情報19a~19cを取得する。たとえば、CPU41aは、図17に示されるような設定UI1700をPC2bの表示部7aなどに表示する。設定UI1700は、システムID、ネットワークアドレスおよび変数情報のファイル名などを含む。システムIDは、PLC1a~1cを識別するための識別情報である。ネットワークアドレスは、PLC1b、1cの拡張ユニット4aに付与されているIPアドレスなどである。変数情報は、PLC1b、1cにおいて変数情報19b、19cを保持しているファイルのファイル名である。CPU41aは、設定UI1700を通じてシステムID、ネットワークアドレスおよび変数情報のファイル名を受け付けて、接続設定情報を作成し、メモリ42aに格納する。CPU41aは、接続設定情報に含まれているネットワークアドレスにしたがって下位システムであるPLC1bに接続し、変数情報19bを読み出す。CPU41aは、接続設定情報に含まれているネットワークアドレスにしたがって下位システムであるPLC1cに接続し、変数情報19cを読み出す。CPU11aが設定を実行する場合、CPU11aは記憶装置12aから変数情報19a~19cを読み出す。 In S31, the CPU 41a (setting unit 71) obtains variable information 19a to 19c of the PLCs 1a to 1c. For example, the CPU 41a displays a setting UI 1700 as shown in FIG. 17 on the display unit 7a of the PC 2b. The settings UI 1700 includes a system ID, a network address, a file name of variable information, and the like. The system ID is identification information for identifying the PLCs 1a to 1c. The network address is, for example, an IP address assigned to the expansion unit 4a of the PLCs 1b and 1c. The variable information is the file name of the file holding the variable information 19b, 19c in the PLCs 1b, 1c. The CPU 41a receives the system ID, network address, and file name of variable information through the setting UI 1700, creates connection setting information, and stores it in the memory 42a. The CPU 41a connects to the PLC 1b, which is a lower system, according to the network address included in the connection setting information, and reads out the variable information 19b. The CPU 41a connects to the PLC 1c, which is a lower system, according to the network address included in the connection setting information, and reads the variable information 19c. When the CPU 11a executes the settings, the CPU 11a reads variable information 19a to 19c from the storage device 12a.

図18は、変数情報19を作成するための変数編集UI1800である。PC2aのCPU11aはプロジェクトデータ15からグローバル変数とローカル変数を抽出し、抽出された変数のリストを含む変数情報19を作成する。変数情報19は、たとえば、変数名、変数のデータ型、変数に割り付けられたデバイス名(割り付けデバイス)、初期値などの情報を含む。ユーザは、操作部8aを操作することで変数情報19を編集する。変数情報19は、プロジェクトデータ15の一部を構成してもよいし、プロジェクトデータ15から独立していてもよい。いずれにしても、変数情報19は、PC2aからPLC1に転送される。これにより、上位システムのCPU41aは下位システムの変数情報19を下位システムから取得できるようになる。変数情報19には各PLCのシステムIDも含まれている。 FIG. 18 shows a variable editing UI 1800 for creating variable information 19. The CPU 11a of the PC 2a extracts global variables and local variables from the project data 15, and creates variable information 19 including a list of the extracted variables. The variable information 19 includes, for example, information such as a variable name, a data type of the variable, a device name assigned to the variable (assigned device), and an initial value. The user edits the variable information 19 by operating the operation unit 8a. The variable information 19 may constitute a part of the project data 15 or may be independent from the project data 15. In any case, the variable information 19 is transferred from the PC 2a to the PLC 1. This allows the CPU 41a of the higher-level system to acquire the variable information 19 of the lower-level system from the lower-level system. The variable information 19 also includes the system ID of each PLC.

S32でCPU41a(設定部71、Webサーバ70)は、収集対象の設定UIをPC2bの表示部7aに表示する。CPU41a(Webサーバ70)は設定UIに相当するWebページをPC2bに送信する。一方、CPU11aが設定を実行する場合、CPU11aは表示部7aに設定UIを表示する。 In S32, the CPU 41a (setting unit 71, web server 70) displays the setting UI to be collected on the display unit 7a of the PC 2b. The CPU 41a (web server 70) transmits a web page corresponding to the settings UI to the PC 2b. On the other hand, when the CPU 11a executes settings, the CPU 11a displays a settings UI on the display unit 7a.

S33でCPU41a(設定部71、Webサーバ70)は、収集対象の設定UIを通じて収集対象などの指定を受け付ける。CPU41a(Webサーバ70)はHTTP通信によりユーザ入力を受け付ける。一方、CPU11aが設定を実行する場合、CPU11aは操作部8aを通じてユーザ入力を受け付ける。 In S33, the CPU 41a (setting unit 71, web server 70) accepts the designation of the collection target etc. through the collection target setting UI. The CPU 41a (Web server 70) accepts user input via HTTP communication. On the other hand, when the CPU 11a executes the settings, the CPU 11a receives user input through the operation unit 8a.

S34でCPU41a(設定部71)は、収集対象などの指定に基づき収集設定39を作成する。一方、CPU11aが設定を実行する場合、CPU11aはユーザ入力にしたがって収集設定39を作成する。 In S34, the CPU 41a (setting unit 71) creates collection settings 39 based on the designation of collection targets and the like. On the other hand, when the CPU 11a executes the settings, the CPU 11a creates the collection settings 39 according to user input.

S35でCPU41a(設定部71)は収集設定39を下位システム(例:PLC1b、PLC1c)に転送する。一方、CPU11aが設定を実行する場合、CPU11aは収集設定39をPLC1a~1cに転送する。 In S35, the CPU 41a (setting unit 71) transfers the collection settings 39 to the lower system (eg, PLC1b, PLC1c). On the other hand, when the CPU 11a executes the settings, the CPU 11a transfers the collection settings 39 to the PLCs 1a to 1c.

図19は収集対象の設定UI1900を示している。設定UI1900は、設定対象のシステムを選択するためのプルダウンメニュー1901と、収集対象指定部1902とを有している。CPU41aは、変数情報19からシステムIDを取得して、プルダウンメニュー1901にシステムIDを列挙する。この例では、システムIDとして"PLC1b"が選択されているが、"PLC1c"または"PLC1a"が選択されてもよい。CPU41aは、プルダウンメニュー1901により指定されたシステムIDに関連付けられている変数情報19bをメモリ42aから読み出して、収集対象指定部1902に反映させる。収集対象指定部1902は、収集対象となる変数またはデバイスを選択するためのプルダウンメニュー1903を有している。CPU41aは、PLC1bに関連付けられている変数情報19bに含まれている変数名やデバイス名をプルダウンメニュー1903に列挙する。CPU41aは変数やデバイスのデータ型の指定を受け付けてもよい。格納先指定部1904は、収集対象データを格納するバッファの名称(例:PLC1bの受け渡しバッファ40またはPLC1aの受け渡しバッファ40)の指定を受け付ける。CPU41aはバッファのタイプ(例:FIFO、リングなど)の指定を受け付けてもよい。CPU41aは設定UI1900を通じて受け付けた指定情報を用いて収集設定39を作成する。 FIG. 19 shows a collection target setting UI 1900. The settings UI 1900 includes a pull-down menu 1901 for selecting a system to be set, and a collection target designation section 1902. The CPU 41a obtains the system ID from the variable information 19 and lists the system ID in the pull-down menu 1901. In this example, "PLC1b" is selected as the system ID, but "PLC1c" or "PLC1a" may also be selected. The CPU 41a reads out the variable information 19b associated with the system ID specified by the pull-down menu 1901 from the memory 42a, and causes the collection target specification section 1902 to reflect the variable information 19b. The collection target designation unit 1902 has a pull-down menu 1903 for selecting variables or devices to be collected. The CPU 41a lists variable names and device names included in the variable information 19b associated with the PLC 1b in a pull-down menu 1903. The CPU 41a may accept specifications of data types of variables and devices. The storage destination designation unit 1904 accepts the designation of the name of the buffer that stores the data to be collected (eg, the transfer buffer 40 of the PLC 1b or the transfer buffer 40 of the PLC 1a). The CPU 41a may accept a designation of the buffer type (eg, FIFO, ring, etc.). The CPU 41a creates the collection settings 39 using the specification information received through the settings UI 1900.

●下位システムの収集動作
図20は下位システムにおける収集動作を示すフローチャートである。なお、すでに説明された処理と同一または類似した処理には同一の参照符号が付与されており、簡潔に説明される。なお、PLC1a内でのデータ収集に関しては、PLC1aは図13に示されたフローチャートにしたがってデータを収集する。
●Collection operation in the lower system FIG. 20 is a flowchart showing the collection operation in the lower system. Note that processes that are the same as or similar to those already described are given the same reference numerals and will be briefly described. Regarding data collection within the PLC 1a, the PLC 1a collects data according to the flowchart shown in FIG.

S1で下位システムのCPU41a(設定部71)は、上位システムまたはPC2aによって作成された収集設定39にしがって下位システムの基本ユニット3と拡張ユニット4を設定する。 In S1, the CPU 41a (setting unit 71) of the lower system sets the basic unit 3 and expansion unit 4 of the lower system according to the collection settings 39 created by the higher system or PC 2a.

S2でCPU41a(データ処理部73または収集部52c)は第二バッファ37bまたは第三バッファ37c(第一サブバッファ38aまたは第二サブバッファ38b)に所定量の収集データが格納されているかどうかを判定する。所定量は処理設定61により定義されている。ここでは、処理設定61により指定されたバッファが確認されれば十分であり、常に、第二バッファ37bと第三バッファ37cとの両方が確認対象となるわけではない。CPU41は、バッファに所定量のデータが格納されるまで待機する。バッファに所定量のデータが格納されると、CPU41aはS3に進む。 In S2, the CPU 41a (data processing section 73 or collection section 52c) determines whether a predetermined amount of collected data is stored in the second buffer 37b or third buffer 37c (first sub-buffer 38a or second sub-buffer 38b). do. The predetermined amount is defined by processing settings 61. Here, it is sufficient to check the buffer specified by the processing settings 61, and it is not always the case that both the second buffer 37b and the third buffer 37c are checked. The CPU 41 waits until a predetermined amount of data is stored in the buffer. When a predetermined amount of data is stored in the buffer, the CPU 41a proceeds to S3.

S3でCPU41a(データ処理部73)はバッファから読み出した所定量のデータに対してデータ処理を実行して、データ処理結果を求める。データ処理の内容は処理設定61により定義されている。データ処理結果はメモリ42aに保持される。図20では、S3の次にS9が設けられている。 In S3, the CPU 41a (data processing unit 73) executes data processing on a predetermined amount of data read from the buffer, and obtains a data processing result. The content of data processing is defined by processing settings 61. Data processing results are held in memory 42a. In FIG. 20, S9 is provided next to S3.

S9でCPU41a(データ処理部73または収集部52c)は収集設定39により指定されたデータ(例:PLC1において収集されたデータおよびデータ処理結果)を、収集設定39により指定された受け渡しバッファ40に格納する。受け渡しバッファ40は、下位システムのデータ活用ユニット(拡張ユニット4a)に設けられてもよいし、上位システムのデータ活用ユニット(拡張ユニット4a)に設けられてもよい。受け渡しバッファ40の位置は、収集設定39により指定されている。 In S9, the CPU 41a (data processing unit 73 or collection unit 52c) stores the data specified by the collection settings 39 (e.g. data collected in the PLC 1 and data processing results) in the transfer buffer 40 specified by the collection settings 39. do. The delivery buffer 40 may be provided in the data utilization unit (expansion unit 4a) of the lower system, or may be provided in the data utilization unit (expansion unit 4a) of the upper system. The location of the transfer buffer 40 is specified by the collection settings 39.

●上位システムの収集動作
図21は下位システムにおける収集動作を示すフローチャートである。なお、すでに説明された処理と同一または類似した処理には同一の参照符号が付与されており、簡潔に説明される。
●Collection operation in the upper system FIG. 21 is a flowchart showing the collection operation in the lower system. Note that processes that are the same as or similar to those already described are given the same reference numerals and will be briefly described.

S41で上位システムのCPU41a(収集部52c)は、上位システムの収集設定39に含まれている読み出し条件が満たされたかどうかを判定する。読み出し条件は、定期的なタイミングであってもよいし、受け渡しバッファ40に所定量のデータが格納されたことであってもよい。読み出し条件が満たされると、CPU41aはS42に進む。 In S41, the CPU 41a (collection unit 52c) of the host system determines whether the read conditions included in the collection settings 39 of the host system are satisfied. The read condition may be a regular timing, or may be that a predetermined amount of data is stored in the transfer buffer 40. When the read conditions are satisfied, the CPU 41a proceeds to S42.

S42でCPU41a(データ処理部73または収集部52c)は受け渡しバッファ40からデータを読み出す。上位システムのCPU41aはPLC1a~1cから取得されたデータについてS3~S6を実行する。データの数は増えるものの、基本的な処理の流れは同じである。 In S42, the CPU 41a (data processing unit 73 or collection unit 52c) reads data from the transfer buffer 40. The CPU 41a of the host system executes S3 to S6 on the data acquired from the PLCs 1a to 1c. Although the amount of data increases, the basic processing flow remains the same.

CPU41aは、データ処理を実行する前に、PLC1a内で収集された時系列データと、PLC1b、1c内でそれぞれ収集された時系列データとを、タイムスタンプを用いて、統合してもよい。これにより、同一時刻に、異なる複数のPLC1a~1cで取得されたデータを対比しやすくなるであろう。 Before executing data processing, the CPU 41a may integrate the time-series data collected within the PLC 1a and the time-series data collected within the PLCs 1b and 1c using time stamps. This will make it easier to compare data acquired by different PLCs 1a to 1c at the same time.


●変数情報の利用
収集された時系列データやその分析結果を表示するダッシュボードは複数の表示部品を有している。その一方で、PC2は変数情報19a~19cを有していてもよい。よって、PC2は変数情報19a~19cを利用して、ダッシュボードを構成する表示部品の設定を容易化してもよい。

●Use of variable information The dashboard that displays collected time-series data and its analysis results has multiple display parts. On the other hand, the PC 2 may have variable information 19a to 19c. Therefore, the PC 2 may use the variable information 19a to 19c to facilitate the setting of display components that make up the dashboard.

図22はダッシュボード120の一例を示している。図22において凡例部121は、解析対象のデータや分析結果に割り当てられた色を示している。グラフ部122は、ロス解析などのデータ処理結果を表示する一つ以上のグラフを含む。グラフの種類はダッシュボードごとに予め用意されていてもよい。解析結果表示部123は、ロス解析などのデータ処理結果を表示する。解析結果表示部123に表示される表示対象もダッシュボードごとに予め用意されていてもよい。現在状態表示部124は、PLC1の現在状態を示す。現在状態表示部124は、PLC1a、1b、1cのそれぞれについて個別に用意されていてもよい。PLC選択部125は、PLC1a、1b、1cのうちダッシュボードにデータ処理結果を表示される対象となるPLCを選択するためのプルダウンメニューである。この例では、PLC選択部125においてPLC1bが選択されているため、ダッシュボード120は、PLC1bについてのデータ処理結果を表示する。PLC選択部125においてPLC1cが選択されると、CPU41aは、PLC1cについてのデータ処理結果をダッシュボード120が表示するよう、表示データを切り替える。 FIG. 22 shows an example of the dashboard 120. In FIG. 22, a legend section 121 shows the colors assigned to the data to be analyzed and the analysis results. The graph section 122 includes one or more graphs that display data processing results such as loss analysis. The type of graph may be prepared in advance for each dashboard. The analysis result display section 123 displays data processing results such as loss analysis. Display targets displayed on the analysis result display section 123 may also be prepared in advance for each dashboard. The current state display section 124 shows the current state of the PLC 1. The current status display section 124 may be prepared individually for each of the PLCs 1a, 1b, and 1c. The PLC selection section 125 is a pull-down menu for selecting a PLC whose data processing results are to be displayed on the dashboard among the PLCs 1a, 1b, and 1c. In this example, since PLC1b is selected in PLC selection section 125, dashboard 120 displays data processing results for PLC1b. When the PLC 1c is selected in the PLC selection unit 125, the CPU 41a switches the display data so that the dashboard 120 displays the data processing results for the PLC 1c.

CPU41aやPC2のCPU11aはダッシュボード120を設定してもよい。CPU11aはダッシュボード120を設定する際に、ダッシュボード120のプレビューを表示部7aに表示してもよい。ここで、CPU11aは、ポインタ101によりいずれかの表示部品が右クリックされたことを検知すると、表示部品の設定UIを表示してもよい。 The CPU 41a and the CPU 11a of the PC 2 may set the dashboard 120. When setting the dashboard 120, the CPU 11a may display a preview of the dashboard 120 on the display unit 7a. Here, when the CPU 11a detects that any display component is right-clicked by the pointer 101, it may display a setting UI for the display component.

図23は設定UI2300を示す図である。設定UI2300は、プレビューにおいて右クリックされた表示部品を設定するためのUIである。参照先指定部2301は、表示部品に表示される変数やデバイス値の指定を受け付ける。CPU11aは、参照先指定部2301に"PLC1b"が入力されると、変数情報19bを変数等の検索対象に設定する。操作部8aを通じて"PLC1b"に続いて"."と"E"が入力されると、CPU11aは、"E"ではじまる変数を変数情報19bから抽出し、抽出された変数の名称"ErrorNo"を参照先指定部2301に入力する。つまり、ユーザは、変数名のすべてを入力することなく、変数名を指定することが可能となる。このように、変数情報19を利用することで、ダッシュボードの設定が容易化されてもよい。 FIG. 23 is a diagram showing the settings UI 2300. The settings UI 2300 is a UI for setting the display component that is right-clicked in the preview. The reference destination designation unit 2301 accepts designation of variables and device values to be displayed on display components. When "PLC1b" is input to the reference destination designation unit 2301, the CPU 11a sets the variable information 19b as a search target for variables and the like. When "PLC1b" followed by "." and "E" are input through the operation unit 8a, the CPU 11a extracts variables starting with "E" from the variable information 19b, and inputs the name "ErrorNo" of the extracted variable. It is input to the reference destination designation section 2301. In other words, the user can specify a variable name without inputting the entire variable name. In this way, by using the variable information 19, setting of the dashboard may be facilitated.

<まとめ>
[観点1]
図1が示すように、本実施形態によれば、複数のデータ活用ユニット(例:PLC1a~1cの拡張ユニット4a)を有するデータ活用システムが提供される。複数のデータ活用ユニットのうち上位ユニット(例:PLC1aの拡張ユニット4a)において、CPU41aや設定部71は、複数のデータ活用ユニットのうち下位ユニット(例:PLC1b、1cの拡張ユニット4a)に対して収集対象となるデータを指定する指定情報(例:収集設定39)を設定する設定手段として機能する。CPU41aや収集部52cは、下位ユニットに蓄積された収集対象となるデータ(例:デバイス値、変数、分析結果など)を収集する収集手段として機能する。複数の収集対象となるデータは、時系列データを形成してもよい。データ処理部73や生成部74は、収集手段により収集されたデータまたは当該データに対して所定の分析処理を実行することで取得された分析結果を表示する表示データを作成する作成手段として機能する。下位ユニットは、プログラマブルロジックコントローラ(例:PLC1b、1c)を構成する拡張ユニットであってもよいが、他のユニットであってもよい。PLC1b、1cのCPU41aや収集部52cは指定情報にしたがって、下位ユニットに接続された基本ユニット3において取得されたデータを基本ユニット3から取得する取得手段として機能する。受け渡しバッファ40は、上位ユニットまたは下位ユニットに設けられ、取得手段により取得されたデータを下位ユニットから上位ユニットに受け渡すために当該データを蓄積するバッファの一例である。上位ユニットの収集手段(例:収集部52cまたはデータ処理部73)は、バッファから収集対象となるデータを読み出すように構成されている。このような受け渡しバッファ40を採用することで、時系列データを漏れなく収集することが可能となろう。また、上位ユニットと下位ユニットとが複雑なハンドシェイクを実行することなく、収集対象データを受け渡すことが可能となろう。
<Summary>
[Viewpoint 1]
As shown in FIG. 1, according to this embodiment, a data utilization system having a plurality of data utilization units (eg, expansion units 4a of PLCs 1a to 1c) is provided. The CPU 41a and the setting unit 71 in the upper unit (e.g. expansion unit 4a of PLC 1a) among the plurality of data utilization units (example: expansion unit 4a of PLC 1b, 1c) It functions as a setting means for setting specification information (eg, collection settings 39) that specifies data to be collected. The CPU 41a and the collection unit 52c function as a collection unit that collects data to be collected (eg, device values, variables, analysis results, etc.) accumulated in lower units. The data to be collected may form time-series data. The data processing unit 73 and the generation unit 74 function as a creation unit that creates display data that displays data collected by the collection unit or analysis results obtained by performing a predetermined analysis process on the data. . The lower unit may be an expansion unit that constitutes a programmable logic controller (eg, PLC 1b, 1c), but may also be another unit. The CPU 41a and the collection unit 52c of the PLCs 1b and 1c function as an acquisition means for acquiring data acquired in the basic unit 3 connected to the lower unit from the basic unit 3 according to the specified information. The transfer buffer 40 is an example of a buffer that is provided in an upper unit or a lower unit and stores data acquired by the acquisition means in order to transfer the data from the lower unit to the upper unit. The collection means (eg, collection section 52c or data processing section 73) of the upper unit is configured to read data to be collected from the buffer. By employing such a transfer buffer 40, it will be possible to collect time-series data without omission. Furthermore, it will be possible to transfer the data to be collected between the upper unit and the lower unit without executing a complicated handshake.

[観点2]
図24(A)が示すように、下位ユニットが受け渡しバッファ40を有してもよい。下位ユニットは、下位システム内で収集したデータや下位システム内で取得されたデータ処理結果を受け渡しバッファ40b、40cに書き込んで行く。上位ユニットは、下位ユニットの受け渡しバッファ40b、40cからデータを収集する。上位ユニットの作成手段(例:データ処理部73)は、受け渡しバッファ40a、40bから収集された収集対象となるデータに対して所定の分析処理を実行する分析手段として機能する。なお、表示データは、上位ユニットにおいて実行された所定の分析処理の分析結果を含んでもよい。下位ユニットが受け渡しバッファ40を有しているため、下位ユニットが上位ユニットよりも高速に動作していても、データの収集漏れが発生しにくくなる。
[Viewpoint 2]
As shown in FIG. 24(A), the lower unit may have a transfer buffer 40. The lower units write data collected within the lower system and data processing results obtained within the lower system to the transfer buffers 40b and 40c. The upper unit collects data from the transfer buffers 40b and 40c of the lower unit. The creation means (eg, data processing section 73) of the upper unit functions as an analysis means that performs a predetermined analysis process on the data to be collected collected from the transfer buffers 40a and 40b. Note that the display data may include an analysis result of a predetermined analysis process executed in the higher-level unit. Since the lower unit has the transfer buffer 40, data collection is less likely to be missed even if the lower unit operates faster than the upper unit.

図24(B)が示すように、上位ユニットが受け渡しバッファ40aを有してもよい。下位ユニットは、下位システム内で収集したデータや下位システム内で取得されたデータ処理結果を、上位ユニットの受け渡しバッファ40aに書き込んで行く。上位ユニットは、上位ユニットの受け渡しバッファ40aからデータを読み出して、データ処理を実行する。この場合にも、データの収集漏れが発生しにくくなる。受け渡しバッファ40aは、PLC1bとPLC1cについてそれぞれ個別に設けられてもよい。PLC1bとPLC1cについて共通に一つの受け渡しバッファ40aが設けられると、PLC1bからのデータの書き込みと、PLC1bからのデータの書き込みとを上位ユニットが調停する必要がある。一方で、PLC1bとPLC1cについてそれぞれ個別に受け渡しバッファ40aが設けられると、このような調停が不要となろう。また、上位ユニットは、PLC1b用の受け渡しバッファ40aとPLC1c用の受け渡しバッファ40aを、第二バッファ37bおよび第三バッファ37bと同列に扱うことが可能となる。 As shown in FIG. 24(B), the upper unit may have a transfer buffer 40a. The lower unit writes data collected within the lower system and data processing results obtained within the lower system to the transfer buffer 40a of the upper unit. The upper unit reads data from the transfer buffer 40a of the upper unit and executes data processing. In this case as well, omissions in data collection are less likely to occur. The transfer buffer 40a may be provided separately for the PLC1b and the PLC1c. When one transfer buffer 40a is provided in common for PLC1b and PLC1c, it is necessary for the upper unit to arbitrate between data writing from PLC1b and data writing from PLC1b. On the other hand, if separate transfer buffers 40a are provided for PLC1b and PLC1c, such arbitration will become unnecessary. Further, the upper unit can handle the transfer buffer 40a for PLC1b and the transfer buffer 40a for PLC1c in the same manner as the second buffer 37b and third buffer 37b.

[観点3]
下位ユニットは、さらに、取得手段により取得されたデータに基づき収集対象となるデータを生成する生成手段(例:PLC1b、1cのCPU41a)を有してもよい。生成手段は、所定の分析処理を実行する分析手段(例:データ処理部73)を有してもよい。この場合、収集対象となるデータは所定の分析処理の分析結果を含むことが可能となる。また、表示データは、下位ユニットにおいて実行された所定の分析処理の分析結果を含むことが可能となる。このように下位ユニットにおいて分析処理を実行することで上位ユニットにおける演算負荷が軽減される。また、データの収集漏れが発生しにくくなると考えられる。
[Viewpoint 3]
The lower unit may further include a generation unit (eg, CPU 41a of PLC 1b, 1c) that generates data to be collected based on the data acquired by the acquisition unit. The generation means may include an analysis means (eg, data processing section 73) that executes a predetermined analysis process. In this case, the data to be collected can include the analysis results of a predetermined analysis process. Furthermore, the display data can include analysis results of predetermined analysis processing performed in the lower unit. By executing the analysis process in the lower unit in this way, the computational load on the upper unit is reduced. It is also thought that omissions in data collection will be less likely to occur.

[観点4]
設定手段(例:PLC1aの設定部71)は、下位ユニットにおいて実行されるユーザプログラムを含むプロジェクトデータ15を解析することで収集対象となるデータを特定し、特定されたデータの指定を含むように指定情報(例:収集設定39)を作成してもよい。これにより、指定情報を作成する際のユーザの負担が軽減されよう。
[Viewpoint 4]
The setting means (for example, the setting unit 71 of the PLC 1a) specifies the data to be collected by analyzing the project data 15 including the user program executed in the lower unit, and specifies the data to be collected so as to include the specification of the specified data. Specification information (eg, collection settings 39) may be created. This will reduce the burden on the user when creating specification information.

[観点5]
設定手段(例:PLC1aの設定部71)は、プロジェクトデータ15を解析することで収集対象の候補となる変数を特定し、当該特定された変数のうちユーザにより指定された変数または当該変数を格納するデバイスを含むように指定情報を作成してもよい。これにより、指定情報を作成する際のユーザの負担が軽減されよう。また、デバイス値だけでなく、変数なども収集対象として指定可能となろう。
[Viewpoint 5]
The setting means (for example, the setting unit 71 of the PLC 1a) identifies variables that are candidates for collection by analyzing the project data 15, and stores the variable specified by the user or the variable concerned among the identified variables. Specification information may be created to include the device that is used. This will reduce the burden on the user when creating specification information. In addition, it will be possible to specify not only device values but also variables as collection targets.

[観点6]
取得手段(例:PLC1b、1cの収集部52c)は、収集対象となるデータに対して下位ユニットの識別情報(例:システムID)を付与して受け渡しバッファ40に格納してもよい。これにより上位ユニットは、複数の下位ユニットから収集した時系列データを区別しやすくなるであろう。
[Viewpoint 6]
The acquisition means (eg, the collecting unit 52c of the PLC 1b, 1c) may assign identification information (eg, system ID) of a lower unit to the data to be collected and store the data in the transfer buffer 40. This will make it easier for the higher-level unit to distinguish between time-series data collected from multiple lower-level units.

[観点7]
上位ユニットはプログラマブルロジックコントローラとは異なるコンピュータであってもよい。
上位ユニットは、下位ユニットを含むプログラマブルロジックコントローラ(例:PLC1b、1c)とは異なる別のプログラマブルロジックコントローラ(例:PLC1a)における拡張ユニットであってもよい。この場合、PLC1aを顧客に納入するメーカーと、PLC1bを顧客に納入するメーカーと、PLC1cを顧客に納入するメーカーとはそれぞれ異なってもよいし、同じであってもよい。
[Viewpoint 7]
The upper unit may be a computer different from the programmable logic controller.
The upper unit may be an expansion unit in another programmable logic controller (eg, PLC 1a) that is different from the programmable logic controller (eg, PLC 1b, 1c) that includes the lower unit. In this case, the manufacturer that delivers PLC1a to the customer, the manufacturer that delivers PLC1b to the customer, and the manufacturer that delivers PLC1c to the customer may be different or may be the same.

[観点8]
複数のPLC1a~1cがワーク(工場で製造される製品)の製造ラインを制御することがある。PLC1bは、ワークの製造ラインにおいて上流側に配置された第一産業機械(例:PLC1bのフィールドデバイス10)を制御する第一プログラマブルロジックコントローラとして機能する。また、PLC1bの拡張ユニット4は、PLC1bに搭載された第一下位ユニットとして機能する。PLC1cは、製造ラインにおいて下流側に配置された第二産業機械(例:PLC1cのフィールドデバイス10)を制御する第二プログラマブルロジックコントローラとして機能する。PLC1bc拡張ユニット4は、PLC1cに搭載された第二下位ユニットとして機能する。この場合、第一下位ユニットと第二下位ユニットとからそれぞれ収集される収集対象となるデータには、各ワークを識別するためのワーク識別情報が含まれていてもよい。ワークにはバーコードやQRコード(登録商標)などのワーク識別情報が貼付または刻印されることがある。フィールドデバイス10の一つはコードリーダであってもよい。この場合、受け渡しバッファ40に格納される時系列データにはコードリーダによって取得されたワーク識別情報が含まれることになる。上位ユニットの作成手段(例:PLC1aのCPU41a)は、第一下位ユニットから収集されたデータと第二下位ユニットから収集されたデータとについてそれぞれのワーク識別情報を参照することで、各ワークごとにデータを統合してもよい。これにより、複数のPLCにまたがって取得されたデータに基づくワークごとの分析データが簡単に得られるようになろう。
[Viewpoint 8]
A plurality of PLCs 1a to 1c may control a production line for workpieces (products manufactured in a factory). PLC1b functions as a first programmable logic controller that controls a first industrial machine (eg, field device 10 of PLC1b) arranged upstream in a workpiece production line. Moreover, the expansion unit 4 of PLC1b functions as a first lower unit mounted on PLC1b. PLC1c functions as a second programmable logic controller that controls a second industrial machine (eg, field device 10 of PLC1c) placed downstream in the production line. The PLC1bc expansion unit 4 functions as a second lower unit mounted on the PLC1c. In this case, the data to be collected from the first lower unit and the second lower unit may include work identification information for identifying each work. Workpiece identification information such as a barcode or QR code (registered trademark) may be affixed or engraved on the workpiece. One of the field devices 10 may be a code reader. In this case, the time series data stored in the transfer buffer 40 will include the work identification information acquired by the code reader. The creation means (for example, the CPU 41a of the PLC 1a) of the upper unit refers to the work identification information of the data collected from the first lower unit and the data collected from the second lower unit, thereby creating a Data may be integrated into. This will make it possible to easily obtain analysis data for each workpiece based on data acquired across multiple PLCs.

[観点9]
第一下位ユニット(例:PLC1bの拡張ユニット4)と第二下位ユニット(例:PLC1cの拡張ユニット4)とからそれぞれ収集される収集対象となるデータには、各データの収集時刻を示すタイムスタンプが含まれてもよい。つまり、PLC1b、1cのCPU41aは時系列データにこのようなタイムスタンプを付与して受け渡しバッファ40に格納してもよい。作成手段(例:PLC1aのCPU41a)は、第一下位ユニットから収集されたデータと第二下位ユニットから収集されたデータとについてそれぞれのタイムスタンプを参照することで、タイムスタンプが近いデータを統合してもよい。これは、時刻の近い時系列データを比較するのに役立つであろう。
[Viewpoint 9]
The data to be collected from the first lower unit (example: expansion unit 4 of PLC 1b) and the second lower unit (example: expansion unit 4 of PLC 1c) include a time indicating the collection time of each data. Stamps may also be included. That is, the CPUs 41a of the PLCs 1b and 1c may add such a timestamp to the time-series data and store it in the transfer buffer 40. The creation means (for example, the CPU 41a of the PLC 1a) integrates data with similar time stamps by referring to the time stamps of the data collected from the first lower unit and the data collected from the second lower unit. You may. This will be useful for comparing time series data that are close in time.

[観点10]
作成手段(例:PLC1aのCPU41a)は、第一下位ユニットから収集されたデータのタイムスタンプと第二下位ユニットから収集されたデータのタイムスタンプとのうち一方のデータのタイムスタンプを一定時間ずらした上で、当該タイムスタンプに基づきデータの統合を実行してもよい。
[Viewpoint 10]
The creation means (for example, the CPU 41a of the PLC 1a) shifts the time stamp of one of the data collected from the first lower unit and the second lower unit by a certain period of time. After that, the data may be integrated based on the timestamp.

[観点11]
図22や図23を用いて説明されたように、CPU11a、41aや参照先指定部2301は、表示データを表示するダッシュボードの表示部品に対して、収集されたデータを指定する指定手段として機能してもよい。図23に関して説明されたように、CPU11a、41aや参照先指定部2301は、ダッシュボードの表示部品に表示データを関連付ける際に、プロジェクトデータ15を解析することで取得された変数またはデバイスを表示データの候補として表示してもよい。これにより、表示部品に表示するデータの指定に関するユーザの負担が軽減されるであろう。
[Viewpoint 11]
As explained using FIG. 22 and FIG. 23, the CPUs 11a and 41a and the reference destination specifying unit 2301 function as a specifying means for specifying collected data for the display component of the dashboard that displays display data. You may. As explained with reference to FIG. 23, when associating display data with display parts of the dashboard, the CPUs 11a and 41a and the reference destination specifying unit 2301 add variables or devices obtained by analyzing the project data 15 to the display data. may be displayed as a candidate. This will reduce the burden on the user in specifying data to be displayed on the display component.

発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。 The invention is not limited to the above-described embodiments, and various modifications and changes can be made within the scope of the invention.

Claims (14)

複数のデータ活用ユニットを有するデータ活用システムであって、
前記複数のデータ活用ユニットのうち上位ユニットは、
前記複数のデータ活用ユニットのうち下位ユニットに対して収集対象となるデータを指定する指定情報を設定する設定手段と、
前記下位ユニットに蓄積された前記収集対象となるデータを収集する収集手段と、
前記収集手段により収集されたデータまたは当該データに対して所定の分析処理を実行することで取得された分析結果を表示する表示データを作成する作成手段と、
を有し、
前記下位ユニットは、さらに、
前記指定情報にしたがって、前記下位ユニットに接続された基本ユニットにおいて取得されたデータを前記基本ユニットから取得する取得手段と、
前記上位ユニットまたは前記下位ユニットに設けられ、前記取得手段により取得された前記データを前記下位ユニットから前記上位ユニットに受け渡すために当該データを蓄積するバッファと、
を有し、
前記上位ユニットの前記収集手段は、前記バッファから前記収集対象となるデータを読み出すように構成され
前記下位ユニットにおいて実行されるユーザプログラムを含むプロジェクトデータを解析することで前記収集対象となるデータを特定し、前記特定されたデータの指定を含むように前記指定情報を作成するように構成されていることを特徴とするデータ活用システム。
A data utilization system having multiple data utilization units,
The upper unit among the plurality of data utilization units is
a setting means for setting specification information for specifying data to be collected for a lower unit among the plurality of data utilization units;
a collection means for collecting the data to be collected accumulated in the lower unit;
a creation unit that creates display data that displays the data collected by the collection unit or analysis results obtained by performing a predetermined analysis process on the data;
has
The lower unit further includes:
acquisition means for acquiring data acquired in a basic unit connected to the lower unit from the basic unit according to the specified information;
a buffer that is provided in the upper unit or the lower unit and stores the data acquired by the acquisition means in order to transfer the data from the lower unit to the upper unit;
has
The collection means of the upper unit is configured to read the data to be collected from the buffer ,
The data to be collected is specified by analyzing project data including a user program executed in the lower unit, and the specification information is created to include a specification of the specified data. A data utilization system characterized by:
前記下位ユニットが前記バッファを有し、
前記上位ユニットの前記作成手段は、前記バッファから収集された前記収集対象となるデータに対して前記所定の分析処理を実行する分析手段を有し、
前記表示データは、前記上位ユニットにおいて実行された前記所定の分析処理の分析結果を含むことを特徴とする請求項1に記載のデータ活用システム。
the lower unit has the buffer;
The creation means of the upper unit includes an analysis means for executing the predetermined analysis process on the data to be collected collected from the buffer,
2. The data utilization system according to claim 1, wherein the display data includes an analysis result of the predetermined analysis process executed in the higher-level unit.
前記下位ユニットは、さらに、
前記取得手段により取得されたデータに基づき前記収集対象となるデータを生成する生成手段
を有し、
前記生成手段は、前記所定の分析処理を実行する分析手段を有し、
前記収集対象となるデータは前記所定の分析処理の分析結果を含み、
前記表示データは、前記下位ユニットにおいて実行された前記所定の分析処理の分析結果を含むことを特徴とする請求項1に記載のデータ活用システム。
The lower unit further includes:
a generation means for generating the data to be collected based on the data acquired by the acquisition means;
The generation means includes an analysis means for executing the predetermined analysis process,
The data to be collected includes the analysis results of the predetermined analysis process,
The data utilization system according to claim 1, wherein the display data includes an analysis result of the predetermined analysis process executed in the lower unit.
前記設定手段は、前記プロジェクトデータを解析することで収集対象の候補となる変数を特定し、当該特定された変数のうちユーザにより指定された変数または当該変数を格納するデバイスを含むように前記指定情報を作成するように構成されていることを特徴とする請求項に記載のデータ活用システム。 The setting means identifies variables that are candidates for collection by analyzing the project data, and sets the specified variables to include a variable designated by the user or a device storing the variable among the identified variables. The data utilization system according to claim 1, wherein the data utilization system is configured to create information. 前記取得手段は、前記収集対象となるデータに対して前記下位ユニットの識別情報を付与して前記バッファに格納することを特徴とする請求項1ないしのいずれか一項に記載のデータ活用システム。 The data utilization system according to any one of claims 1 to 4 , wherein the acquisition means adds identification information of the lower unit to the data to be collected and stores the data in the buffer. . 前記上位ユニットは、前記下位ユニットを含むプログラマブルロジックコントローラと
は異なる別のプログラマブルロジックコントローラにおける拡張ユニットであることを特徴とする請求項1ないしのいずれか一項に記載のデータ活用システム。
6. The data utilization system according to claim 1, wherein the upper unit is an expansion unit in a programmable logic controller different from the programmable logic controller including the lower unit.
前記下位ユニットとして、
ワークの製造ラインにおいて上流側に配置された第一産業機械を制御する第一プログラマブルロジックコントローラに搭載された第一下位ユニットと、
前記製造ラインにおいて下流側に配置された第二産業機械を制御する第二プログラマブルロジックコントローラに搭載された第二下位ユニットと
を有し、
前記第一下位ユニットと前記第二下位ユニットとからそれぞれ収集される前記収集対象となるデータには、各ワークを識別するためのワーク識別情報が含まれており、
前記作成手段は、前記第一下位ユニットから収集されたデータと前記第二下位ユニットから収集されたデータとについてそれぞれの前記ワーク識別情報を参照することで、各ワークごとにデータを統合するように構成されていることを特徴とする請求項1ないしのいずれか一項に記載のデータ活用システム。
As the lower unit,
a first lower unit installed in a first programmable logic controller that controls a first industrial machine located upstream in a workpiece production line;
and a second lower unit mounted on a second programmable logic controller that controls a second industrial machine located downstream in the production line,
The data to be collected respectively collected from the first lower unit and the second lower unit include work identification information for identifying each work,
The creation means integrates data for each work by referring to the work identification information for each of the data collected from the first lower unit and the data collected from the second lower unit. 7. The data utilization system according to claim 1, wherein the data utilization system is configured as follows.
前記下位ユニットとして、第一下位ユニットと第二下位ユニットとを有し、
前記第一下位ユニットと前記第二下位ユニットとからそれぞれ収集される前記収集対象となるデータには、各データの収集時刻を示すタイムスタンプが含まれており、
前記作成手段は、前記第一下位ユニットから収集されたデータと前記第二下位ユニットから収集されたデータとについてそれぞれの前記タイムスタンプを参照することで、前記タイムスタンプが近いデータを統合するように構成されていることを特徴とする請求項1ないしのいずれか一項に記載のデータ活用システム。
The lower unit includes a first lower unit and a second lower unit,
The data to be collected respectively collected from the first lower unit and the second lower unit include a time stamp indicating the collection time of each data,
The creation means integrates data having similar time stamps by referring to the time stamps of the data collected from the first lower unit and the data collected from the second lower unit. 7. The data utilization system according to claim 1, wherein the data utilization system is configured as follows.
前記作成手段は、前記第一下位ユニットから収集されたデータのタイムスタンプと前記第二下位ユニットから収集されたデータのタイムスタンプとのうち一方のデータのタイムスタンプを一定時間ずらした上で、当該タイムスタンプに基づきデータの統合を実行することを特徴とする請求項に記載のデータ活用システム。 The creation means shifts the time stamp of one of the data collected from the first lower unit and the second lower unit by a certain time, and then 9. The data utilization system according to claim 8 , wherein data integration is executed based on the time stamp. 前記表示データを表示するダッシュボードの表示部品に前記収集されたデータを指定する指定手段をさらに有し、
前記指定手段は、前記ダッシュボードの表示部品に前記表示データを関連付ける際に、前記プロジェクトデータを解析することで取得された変数またはデバイスを前記表示データの候補として表示することを特徴とする請求項1ないし9のいずれか一項に記載のデータ活用システム。
further comprising specifying means for specifying the collected data to a display component of a dashboard that displays the display data,
3. The designation means, when associating the display data with a display component of the dashboard, displays a variable or a device obtained by analyzing the project data as a candidate for the display data. 10. The data utilization system according to any one of 1 to 9 .
複数のデータ活用ユニットを有するデータ活用システムであって、 A data utilization system having multiple data utilization units,
前記複数のデータ活用ユニットのうち上位ユニットは、 The upper unit among the plurality of data utilization units is
前記複数のデータ活用ユニットのうち下位ユニットに対して収集対象となるデータを指定する指定情報を設定する設定手段と、 a setting means for setting specification information for specifying data to be collected for a lower unit among the plurality of data utilization units;
前記下位ユニットに蓄積された前記収集対象となるデータを収集する収集手段と、 a collection means for collecting the data to be collected accumulated in the lower unit;
前記収集手段により収集されたデータまたは当該データに対して所定の分析処理を実行することで取得された分析結果を表示する表示データを作成する作成手段と、 a creation unit that creates display data that displays the data collected by the collection unit or analysis results obtained by performing a predetermined analysis process on the data;
を有し、has
前記下位ユニットは、さらに、 The lower unit further includes:
前記指定情報にしたがって、前記下位ユニットに接続された基本ユニットにおいて取得されたデータを前記基本ユニットから取得する取得手段と、 acquisition means for acquiring data acquired in a basic unit connected to the lower unit from the basic unit according to the specified information;
前記上位ユニットまたは前記下位ユニットに設けられ、前記取得手段により取得された前記データを前記下位ユニットから前記上位ユニットに受け渡すために当該データを蓄積するバッファと、 a buffer that is provided in the upper unit or the lower unit and stores the data acquired by the acquisition means in order to transfer the data from the lower unit to the upper unit;
を有し、has
前記上位ユニットの前記収集手段は、前記バッファから前記収集対象となるデータを読み出すように構成され、 The collection means of the upper unit is configured to read the data to be collected from the buffer,
前記取得手段は、前記収集対象となるデータに対して前記下位ユニットの識別情報を付与して前記バッファに格納することを特徴とするデータ活用システム。 The data utilization system is characterized in that the acquisition means adds identification information of the lower unit to the data to be collected and stores the data in the buffer.
複数のデータ活用ユニットを有するデータ活用システムであって、 A data utilization system having multiple data utilization units,
前記複数のデータ活用ユニットのうち上位ユニットは、 The upper unit among the plurality of data utilization units is
前記複数のデータ活用ユニットのうち下位ユニットに対して収集対象となるデータを指定する指定情報を設定する設定手段と、 a setting means for setting specification information for specifying data to be collected for a lower unit among the plurality of data utilization units;
前記下位ユニットに蓄積された前記収集対象となるデータを収集する収集手段と、 a collection means for collecting the data to be collected accumulated in the lower unit;
前記収集手段により収集されたデータまたは当該データに対して所定の分析処理を実行することで取得された分析結果を表示する表示データを作成する作成手段と、 a creation unit that creates display data that displays the data collected by the collection unit or analysis results obtained by performing a predetermined analysis process on the data;
を有し、has
前記下位ユニットは、さらに、 The lower unit further includes:
前記指定情報にしたがって、前記下位ユニットに接続された基本ユニットにおいて取得されたデータを前記基本ユニットから取得する取得手段と、 acquisition means for acquiring data acquired in a basic unit connected to the lower unit from the basic unit according to the specified information;
前記上位ユニットまたは前記下位ユニットに設けられ、前記取得手段により取得された前記データを前記下位ユニットから前記上位ユニットに受け渡すために当該データを蓄積するバッファと、 a buffer that is provided in the upper unit or the lower unit and stores the data acquired by the acquisition means in order to transfer the data from the lower unit to the upper unit;
を有し、has
前記上位ユニットの前記収集手段は、前記バッファから前記収集対象となるデータを読み出すように構成され、 The collection means of the upper unit is configured to read the data to be collected from the buffer,
前記上位ユニットは、前記下位ユニットを含むプログラマブルロジックコントローラと The upper unit includes a programmable logic controller including the lower unit.
は異なる別のプログラマブルロジックコントローラにおける拡張ユニットであることを特徴とするデータ活用システム。A data utilization system characterized in that is an expansion unit in a different programmable logic controller.
複数のデータ活用ユニットを有するデータ活用システムであって、 A data utilization system having multiple data utilization units,
前記複数のデータ活用ユニットのうち上位ユニットは、 The upper unit among the plurality of data utilization units is
前記複数のデータ活用ユニットのうち下位ユニットに対して収集対象となるデータを指定する指定情報を設定する設定手段と、 a setting means for setting specification information for specifying data to be collected for a lower unit among the plurality of data utilization units;
前記下位ユニットに蓄積された前記収集対象となるデータを収集する収集手段と、 a collection means for collecting the data to be collected accumulated in the lower unit;
前記収集手段により収集されたデータまたは当該データに対して所定の分析処理を実行することで取得された分析結果を表示する表示データを作成する作成手段と、 a creation unit that creates display data that displays the data collected by the collection unit or analysis results obtained by performing a predetermined analysis process on the data;
を有し、has
前記下位ユニットは、さらに、 The lower unit further includes:
前記指定情報にしたがって、前記下位ユニットに接続された基本ユニットにおいて取得されたデータを前記基本ユニットから取得する取得手段と、 acquisition means for acquiring data acquired in a basic unit connected to the lower unit from the basic unit according to the specified information;
前記上位ユニットまたは前記下位ユニットに設けられ、前記取得手段により取得された前記データを前記下位ユニットから前記上位ユニットに受け渡すために当該データを蓄積するバッファと、 a buffer that is provided in the upper unit or the lower unit and stores the data acquired by the acquisition means in order to transfer the data from the lower unit to the upper unit;
を有し、has
前記上位ユニットの前記収集手段は、前記バッファから前記収集対象となるデータを読み出すように構成され、 The collection means of the upper unit is configured to read the data to be collected from the buffer,
前記下位ユニットとして、 As the lower unit,
ワークの製造ラインにおいて上流側に配置された第一産業機械を制御する第一プログラマブルロジックコントローラに搭載された第一下位ユニットと、 a first lower unit installed in a first programmable logic controller that controls a first industrial machine located upstream in a workpiece production line;
前記製造ラインにおいて下流側に配置された第二産業機械を制御する第二プログラマブルロジックコントローラに搭載された第二下位ユニットと a second lower unit mounted on a second programmable logic controller that controls a second industrial machine located downstream in the manufacturing line;
を有し、has
前記第一下位ユニットと前記第二下位ユニットとからそれぞれ収集される前記収集対象となるデータには、各ワークを識別するためのワーク識別情報が含まれており、 The data to be collected respectively collected from the first lower unit and the second lower unit include work identification information for identifying each work,
前記作成手段は、前記第一下位ユニットから収集されたデータと前記第二下位ユニットから収集されたデータとについてそれぞれの前記ワーク識別情報を参照することで、各ワークごとにデータを統合するように構成されていることを特徴とするデータ活用システム。 The creation means integrates data for each work by referring to the work identification information for each of the data collected from the first lower unit and the data collected from the second lower unit. A data utilization system characterized by being configured as follows.
複数のデータ活用ユニットを有するデータ活用システムであって、 A data utilization system having multiple data utilization units,
前記複数のデータ活用ユニットのうち上位ユニットは、 The upper unit among the plurality of data utilization units is
前記複数のデータ活用ユニットのうち下位ユニットに対して収集対象となるデータを指定する指定情報を設定する設定手段と、 a setting means for setting specification information for specifying data to be collected for a lower unit among the plurality of data utilization units;
前記下位ユニットに蓄積された前記収集対象となるデータを収集する収集手段と、 a collection means for collecting the data to be collected accumulated in the lower unit;
前記収集手段により収集されたデータまたは当該データに対して所定の分析処理を実行することで取得された分析結果を表示する表示データを作成する作成手段と、 a creation unit that creates display data that displays the data collected by the collection unit or analysis results obtained by performing a predetermined analysis process on the data;
を有し、has
前記下位ユニットは、さらに、 The lower unit further includes:
前記指定情報にしたがって、前記下位ユニットに接続された基本ユニットにおいて取得されたデータを前記基本ユニットから取得する取得手段と、 acquisition means for acquiring data acquired in a basic unit connected to the lower unit from the basic unit according to the specified information;
前記上位ユニットまたは前記下位ユニットに設けられ、前記取得手段により取得された前記データを前記下位ユニットから前記上位ユニットに受け渡すために当該データを蓄積するバッファと、 a buffer that is provided in the upper unit or the lower unit and stores the data acquired by the acquisition means in order to transfer the data from the lower unit to the upper unit;
を有し、has
前記上位ユニットの前記収集手段は、前記バッファから前記収集対象となるデータを読み出すように構成され、 The collection means of the upper unit is configured to read the data to be collected from the buffer,
前記下位ユニットとして、第一下位ユニットと第二下位ユニットとを有し、 The lower unit includes a first lower unit and a second lower unit,
前記第一下位ユニットと前記第二下位ユニットとからそれぞれ収集される前記収集対象となるデータには、各データの収集時刻を示すタイムスタンプが含まれており、 The data to be collected respectively collected from the first lower unit and the second lower unit include a time stamp indicating the collection time of each data,
前記作成手段は、前記第一下位ユニットから収集されたデータと前記第二下位ユニットから収集されたデータとについてそれぞれの前記タイムスタンプを参照することで、前記タイムスタンプが近いデータを統合するように構成されていることを特徴とするデータ活用システム。 The creation means integrates data having similar time stamps by referring to the time stamps of the data collected from the first lower unit and the data collected from the second lower unit. A data utilization system characterized by being configured as follows.
JP2019183257A 2019-10-03 2019-10-03 Data utilization system Active JP7412119B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019183257A JP7412119B2 (en) 2019-10-03 2019-10-03 Data utilization system
JP2023218376A JP2024023868A (en) 2019-10-03 2023-12-25 Data utilization system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019183257A JP7412119B2 (en) 2019-10-03 2019-10-03 Data utilization system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023218376A Division JP2024023868A (en) 2019-10-03 2023-12-25 Data utilization system

Publications (2)

Publication Number Publication Date
JP2021060683A JP2021060683A (en) 2021-04-15
JP7412119B2 true JP7412119B2 (en) 2024-01-12

Family

ID=75380143

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019183257A Active JP7412119B2 (en) 2019-10-03 2019-10-03 Data utilization system
JP2023218376A Pending JP2024023868A (en) 2019-10-03 2023-12-25 Data utilization system

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023218376A Pending JP2024023868A (en) 2019-10-03 2023-12-25 Data utilization system

Country Status (1)

Country Link
JP (2) JP7412119B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178479A (en) 2002-11-29 2004-06-24 Yokogawa Electric Corp Data collector
JP2008269489A (en) 2007-04-24 2008-11-06 Mitsubishi Electric Corp Data acquisition system and data acquisition device
JP2012168679A (en) 2011-02-14 2012-09-06 Toshiba Mitsubishi-Electric Industrial System Corp Communication processing system
JP2019062288A (en) 2017-09-25 2019-04-18 オムロン株式会社 Control system and control unit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178479A (en) 2002-11-29 2004-06-24 Yokogawa Electric Corp Data collector
JP2008269489A (en) 2007-04-24 2008-11-06 Mitsubishi Electric Corp Data acquisition system and data acquisition device
JP2012168679A (en) 2011-02-14 2012-09-06 Toshiba Mitsubishi-Electric Industrial System Corp Communication processing system
JP2019062288A (en) 2017-09-25 2019-04-18 オムロン株式会社 Control system and control unit

Also Published As

Publication number Publication date
JP2021060683A (en) 2021-04-15
JP2024023868A (en) 2024-02-21

Similar Documents

Publication Publication Date Title
EP2538290A2 (en) Capturing data during operation of an industrial controller for the debugging of control programs
TWI672570B (en) Data processing apparatus, data processing method, setting management apparatus and data processing system
JP7450471B2 (en) Programmable logic controller and PLC system
US20190018385A1 (en) Programmable logic controller, data collector, and programming support apparatus
JP2018097663A (en) Control system, control program, and control method
US11644808B2 (en) Programable logic controller
JP2018173883A (en) Control device, control program, control system, and control method
JP2018133037A (en) Control device
JP6744557B2 (en) Operation data collection system, operation data collection method, and program
JP7412119B2 (en) Data utilization system
JP7102801B2 (en) Control system, control device and display device
JP7461811B2 (en) Programmable Logic Controller
WO2019176337A1 (en) Factory automation (fa) system, controller, and control method
US11340590B2 (en) Data collection system, data collection method, and information storage medium
JP6969454B2 (en) Control device, control method, and control program
JP6996887B2 (en) Programmable logic controller system and data acquisition device
WO2023228357A1 (en) Programmable logic controller, control system, data collection method, and program
JP7406333B2 (en) Data utilization equipment
JP7450470B2 (en) Setting device and PLC system
JP6933256B2 (en) Data playback equipment for industrial plants
WO2019012606A1 (en) Computer update test assistance device
JP2024073818A (en) Control system and information processing method
JP2023151933A (en) Data collection device, control system, method, and program
JP2022158225A (en) Analysis device, control method thereof, and analysis system

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230926

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: 20231204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231226

R150 Certificate of patent or registration of utility model

Ref document number: 7412119

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150