Analytical device, analytical system, and control method thereof

JP7668670B2Active Publication Date: 2025-04-25KEYENCE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2021062983
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-04-01
Publication Date
2025-04-25
Estimated Expiration
2041-04-01

AI Technical Summary

Technical Problem

Existing systems face challenges in efficiently analyzing large amounts of data from programmable logic controllers (PLCs) to identify abnormal devices without requiring specialized knowledge, as the process is time-consuming and relies heavily on experience.

Method used

An analysis apparatus that includes an execution engine to execute user programs, an acquisition means to collect time-series device values, a model generation means to learn normal conditions, and a report generation means to synchronize analysis results on a time axis, displaying abnormal devices.

Benefits of technology

Provides synchronized analysis results for abnormal devices, reducing the need for specialized knowledge and enhancing efficiency in identifying and addressing issues within PLC systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000029_0000
    Figure 00000029_0000
  • Figure 00000030_0000
    Figure 00000030_0000
  • Figure 00000031_0000
    Figure 00000031_0000
Patent Text Reader

Abstract

To provide a report in which analysis results of each device are synchronized, and to allow a plurality of display items to be operated in conjunction with a time axis on a screen for displaying the report.SOLUTION: An analysis device includes: an execution engine for repeatedly executing a user program; acquisition means for acquiring operation record data including a plurality of device values in time series collected by executing the user program; model generation means for generating a model for each device based on the learning of the acquired operation record data at a normal time; analysis means for analyzing an abnormal device which does not satisfy a normal condition according to the model for the acquired operation record data of an analysis object; and report generation means for generating an analysis report by synchronously displaying the analysis result of each device detected as the abnormal device on a time axis.SELECTED DRAWING: Figure 11
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0002] , , , , ,

[0004] , , , , , , , ,

[0005] , , , , ,

[0003] , , ,

[0001] The present invention relates to an analyzer, an analysis system, and a control method thereof.

Background Art

[0002] A programmable logic controller (PLC) is a controller that controls industrial machines such as manufacturing equipment, conveying devices, and inspection devices in factory automation (Patent Documents 1 and 2). The PLC controls various expansion units and controlled devices by executing a user program such as a ladder program created by a programmer. [[ID=​​​​​​​​​​​​​​​​​​​​​​​​​​​​Furthermore, this control result data is used for troubleshooting and quality control. Therefore, it is necessary to accumulate and analyze this data and obtain analysis results early for recovery. However, recording data from all devices related to the PLC would require storing a vast amount of data, and furthermore, analyzing this vast amount of data (from all devices) in order to identify faulty devices is a time-consuming task. In addition, experience and knowledge are required to identify faulty devices and recover the system from the vast amount of analysis results. Therefore, there is a need for a system that can efficiently analyze the vast amount of data related to each device and display the analysis results without requiring sufficient specialized knowledge or experience.

[0006] Therefore, in view of the above problems, the present invention aims to provide a report that synchronizes the analysis results of each device. Another objective is to enable operation of multiple display items in a time-series linked view on the report display screen. [Means for solving the problem]

[0007] The present invention is characterized by comprising, for example, an analysis device, which includes: an execution engine that repeatedly executes a user program; an acquisition means that acquires operation record data including a plurality of time-series device values ​​collected by the execution of the user program; a model generation means that generates a model for each device based on learning of the acquired operation record data under normal conditions; an analysis means that analyzes abnormal devices that do not satisfy normal conditions according to the model with respect to the acquired operation record data to be analyzed; and a report generation means that generates an analysis report that displays the analysis results of each device detected as an abnormal device in a synchronized manner on a time axis. [Effects of the Invention]

[0008] According to the present invention, information about a device that is behaving differently than usual is synchronized and provided to the user. [Brief explanation of the drawing]

[0009] [Figure 1] Figure for explaining the PLC system [Figure 2] Figure for explaining the hardware of PC2a [Figure 3] Figure for explaining the hardware of PC2b [Figure 4] Figure for explaining the hardware of the PLC [Figure 5] Figure for explaining the functions realized by the CPU of the PC [Figure 6] Figure for explaining the functions realized by the CPU of the PLC [Figure 7] Flowchart showing the basic flow [Figure 8A] Figure for explaining the result display screen [Figure 8B] Figure for explaining the result display screen [Figure 9] Figure for explaining the relation map [Figure 10] Figure for explaining the control cycle and abnormal points[[ID=3s4]] [Figure 11] Figure showing the state where multiple display items are updated in联动 according to operations on the time axis [Figure 12] Figure for explaining the synchronization between the normal video and the video to be analyzed [Figure 13] Flowchart showing the model generation flow [Figure 14] Figure for explaining the discrimination control of the cycle pattern [Figure 15] Flowchart showing the result display flow of the analysis unit [Figure 16] Flowchart showing the result display flow of the PC [Figure 17] [[ID=S4]]Figure showing the editing screen of the user program [Figure 18] Figure showing the setting screen for defining the cycle [Figure 19] Figure for explaining the warning when the cycle is not set<000008s> [Figure 20] Figure for explaining the modification example of the PLC system [Figure 21] Figure for explaining the processing flow of the cycle<00000%2>

Best Mode for Carrying Out the Invention

[0010] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the invention according to the claims, and not all combinations of the features described in the embodiments are essential to the invention. Two or more of the features described in the embodiments may be arbitrarily combined. Also, the same or similar configurations are given the same reference numerals, and duplicate descriptions are omitted. Small letters may be added to the end of the reference numerals to distinguish multiple configurations. Small letters may be omitted when describing matters common to multiple configurations.

[0011] <System Configuration> First, in order to enable those skilled in the art to better understand a programmable logic controller (PLC, which may simply be called a programmable controller), the configuration and operation of a general PLC will be described.

[0012] Figure 1 is a conceptual diagram showing an example configuration of a PLC system according to an embodiment of the present invention. As shown in Figure 1, the PLC system comprises a PC2a for editing user programs such as ladder programs, a PC2b for displaying analysis results, a PLC1 for comprehensively controlling various industrial machines installed in factories, etc., and field devices 10 such as cameras connected to the PLC1. PC is an abbreviation for personal computer. In the following, when simply referred to as PC2, it refers to the configuration and control of PC2a and PC2b. User programs may be created using graphical programming languages ​​such as ladder language or flowchart-type motion programs such as SFC (Sequential Function Chart), or they may be created using high-level programming languages ​​such as C language. In the following, for the sake of explanation, it is assumed that the user program executed in the basic unit 3 is a ladder program. The PLC1 comprises a basic unit 3 with a built-in CPU and one or more expansion units 4. One or more expansion units 4 are detachable from the basic unit 3.

[0013] The basic unit 3 includes a display unit 5 and an operation unit 6. The display unit 5 can display the operating status of each expansion unit 4 attached to the basic unit 3. The display unit 5 switches the displayed content according to the operation of the operation unit 6. The display unit 5 usually displays the current value (device value) of devices in the PLC1 and error information that has occurred in the PLC1. Here, "device" includes various devices (relays, timers, counters, etc.) included in the basic unit 3 and expansion unit 4, and also refers to the memory area provided for storing device values ​​(device data), and may be called device memory. This device memory is non-volatile memory and may be composed of rewritable non-volatile ROM, or non-volatility may be achieved by battery backup of volatile RAM, etc. ROM is an abbreviation for read-only memory. RAM is an abbreviation for random access memory. Device values ​​are information that indicates the input status from input devices, the output status to output devices, and the status of internal relays (auxiliary relays), timers, counters, data memory, etc. set in the user program. Device value types include bit type and word type. A bit device stores a single-bit device value, such as 0 / 1, ON / OFF, H / L, etc. A word device stores a single-word device value. Variables may be specified as devices for the data utilization programs described in detail below. Variables are also means of holding information and are accessed by the execution engine according to the user program. Therefore, in the following description, a device also refers to a variable. The memory that holds devices may be called device memory. The memory that holds the collected data may be called data memory. PLC1 may be configured to handle variables in addition to devices. Devices and variables are called symbols, and the value that a symbol represents is called a symbol value.

[0014] The expansion unit 4 is provided to extend the functionality of the PLC1. Field devices (controlled devices) 10 corresponding to the functions of the expansion unit 4 may be connected to the expansion unit 4, thereby connecting each field device 10 to the basic unit 3 via the expansion unit 4. The field devices 10 may be input devices such as sensors or cameras, or output devices such as actuators. Furthermore, multiple field devices may be connected to a single expansion unit 4.

[0015] For example, the expansion unit 4b may be a positioning unit that drives a motor (field device 10) to position the workpiece, or it may be a counter unit. The counter unit counts signals from an encoder (field device 10), such as a manual pulser.

[0016] The analysis unit 4a collects symbol values ​​from symbols (devices, variables, etc.) in the basic unit 3, analyzes the symbol values, and creates an analysis report containing the analysis results. The analysis unit 4a may have a web server that provides the analysis report to an external PC 2b. The basic unit 3 is sometimes called the CPU unit. The system including the PLC 1 and PC 2 may be called a programmable logic controller system. In this embodiment, an example is described in which the analysis unit 4a collects data from each device, but this collection unit may be provided in the basic unit 3 or in other expansion units. Furthermore, the analysis unit 4a can also function as an analysis device that performs analysis according to instructions from the basic unit 3 or at predetermined timings. In this embodiment, an example is described in which the analysis unit 4a operates as an analysis device, but there is no intention to limit the present invention, and the basic unit 3 may function as an analysis device, or external devices such as PC 2a and 2b may function as analysis devices. The flow (flow program) described below is merely one example of a data utilization program. The basic unit 3 is sometimes called the CPU unit. The system including PLC1 and PC2 may also be called a programmable logic controller system.

[0017] PC2a is a computer primarily operated by programmers. On the other hand, PC2b is a computer primarily operated by field personnel. PC2b may be a programmable display whose screen can be configured by the user. In this case, the screen that displays analysis results, etc., may be configured by the user, and a web browser function may be pre-installed and the analysis results, etc., may be displayed using the web browser function. PC2a may also be called a program creation support device (setting device). PC2 is an external computer, such as a portable notebook or tablet type personal computer or smartphone, equipped with a display unit 7 and an operation unit 8. An external computer is a computer located outside of PLC1. A ladder program, which is an example of a user program for controlling PLC1, is created using PC2a. The created ladder program is converted into mnemonic code within PC2a. PC2 is connected to the basic unit 3 of PLC1 via a communication cable 9 such as a USB (Universal Serial Bus) cable. For example, PC2a sends the ladder program converted into 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. In this example, a mnemonic code is transmitted to the basic unit 3, but the present invention is not limited to this. For example, PC2a may convert the mnemonic code into an intermediate code and transmit the intermediate code to the basic unit 3.

[0018] Although not shown in Figure 1, the control panel 8 of the PC2 may include a pointing device such as a mouse connected to the PC2. Furthermore, the PC2 may be configured to be detachably connected to the PLC1's basic unit 3 via a communication cable other than a USB cable 9. Alternatively, the PC2 may be connected to the PLC1's basic unit 3 wirelessly without using the communication cable 9.

[0019] <Program creation support device> Figure 2 is a block diagram illustrating the electrical configuration of PC2a. As shown in Figure 2, PC2a comprises a CPU 11a, a display unit 7a, an operation unit 8a, a storage device 12a, and a communication unit 13a. The display unit 7a, the operation unit 8a, the storage device 12a, and the communication unit 13a are each electrically connected to the CPU 11a. The storage device 12a includes RAM, ROM, HDD, SSD, and may also include a removable memory card. CPU is an abbreviation for Central Processing Unit. HDD is an abbreviation for Hard Disk Drive. SSD is an abbreviation for Solid State Drive.

[0020] The user of PC2a has the CPU 11a execute the project editing program 14a stored in the storage device 12a, and edits the project data 15 through the operation unit 8a. In other words, PC2a functions as an engineering tool and a program creation support device. When the CPU 11a executes the project editing program 14a, the project creation unit 16 and the project transfer unit 17 are realized. The project creation unit 16 creates the project data 15 according to the user input. The project transfer unit 17 transfers the project data 15 to PLC1. The project data 15 includes one or more user programs (e.g., ladder programs, control programs, motion programs, data utilization programs), configuration information for the basic unit 3 and expansion unit 4, drawing data for WebHMI, and setting information for specific functions provided in the basic unit 3 and expansion unit 4. The configuration information includes connection locations and device assignment information for multiple expansion units 4 to the basic unit 3. The drawing data may include information indicating the functions provided in the basic unit 3 (e.g., data collection function, communication function, positioning function) and information indicating the functions of the expansion unit 4 (e.g., communication function, positioning function, shooting function). The drawing data is a group of display components for realizing WebHMI and is implemented by markup data describing the structure of the front end, such as HTML data, style data describing decorations, such as CSS data, and code describing dynamic processing, such as JavaScript® code. The style data describing decorations may be provided, for example, in file format, or may be called by a description that calls an external style data file within the markup data describing the structure. The code describing dynamic processing may be provided, for example, in file format, or may be called by a description that calls an external code file within the markup data describing the structure. A front end in a format that can call and use external style data files and external code files has high reusability and maintainability, and can utilize, for example, general-purpose front end components. Hereinafter, the drawing data will be referred to as display components.The data utilization program includes programs for collecting control data (device values, etc.) in PLC1, processing the data, and creating data to be passed to WebHMI. The setting information for specific functions includes setting information related to the functions provided in the basic unit 3 (e.g., data acquisition function, communication function, positioning function), for example, for the data acquisition function, setting information for data acquisition conditions and data acquisition targets, and setting information related to the functions of the expansion unit 4 (e.g., communication function, positioning function, data utilization function, shooting function). Here, editing the project data 15 includes creating and modifying (re-editing) the project data 15. The user can read the project data 15 stored in the storage device 12a as needed and modify the project data 15 using the project editing program 14a. The communication unit 13a communicates with the basic unit 3 via the communication cable 9a. The project transfer unit 17 transfers project data to the basic unit 3 via the communication unit 13a. The communication unit 13a communicates with the analysis unit 4a via the communication cable 9b.

[0021] <PC used to display the dashboard> Figure 3 is a block diagram illustrating the electrical configuration of PC2b. As shown in Figure 3, PC2b comprises a CPU 11b, a display unit 7b, an operation unit 8b, a storage device 12b, and a communication unit 13b. The display unit 7b, the operation unit 8b, the storage device 12b, and the communication unit 13b are each electrically connected to the CPU 11b. The storage device 12b includes RAM, ROM, HDD, SSD, and may also include a removable memory card.

[0022] The CPU 11b implements a web browser 18 by executing a web browser program 14d. The web browser 18 accesses the settings page of the data utilization application provided by the analysis unit 4a, or accesses the dashboard page, via the communication unit 13b. The CPU 11b also displays the specific result (judgment result) on the display unit 7b according to the screen information indicating the specific result when an anomaly occurs, which is transmitted from the analysis unit 4a.

[0023] <plc> Figure 4 is a block diagram illustrating the electrical configuration of PLC1. As shown in Figure 4, the basic unit 3 comprises a CPU 31, a display unit 5, an operation unit 6, a memory 32, and a communication unit 33. The display unit 5, the operation unit 6, the memory 32, and the communication unit 33 are each electrically connected to the CPU 31. The memory 32 may include RAM, ROM, a memory card, etc. The memory 32 has multiple storage areas such as a device unit 34, a project storage unit 35, a ring buffer 36, and an operation record storage unit 37.

[0024] Here, the operation record is a record of the operating state of PLC1 at the scan time level. For example, it records the symbol values ​​and collection times of all symbols related to the operation of PLC1 in chronological order for each scan. All symbols related to operation may be all symbols used in user programs such as ladder programs, or all symbols included in program units or unit units selected by the user. In this case, the symbols to be included in the operation record can be selected in a meaningful unit such as a program unit or unit, and symbols can also be added or deleted individually. This allows, for example, when a problem occurs, to generate an operation record that records the symbol values ​​and collection times of all symbols related to the operation of PLC1 in chronological order for each scan before and after the time of the problem, and to accurately understand what happened at the time of the problem based on the operation record. The operation record contains a lot of information to reproduce the situation at that time, but if there is a lot of information, the data size of the operation record will be large and difficult to handle, and the collection of the operation record will be burdensome. Therefore, the user can select the units to be collected by program units or unit units.

[0025] Furthermore, the operation record may include not only symbols but also time-series camera images along with the time of capture. This allows for accurate retrospective tracking of what happened before and after a problem occurred, and by including camera images showing changes in the equipment's appearance in the operation record, camera images can be recorded in conjunction with the time-series data of the user program. Write history from external devices such as HMIs (Human-Machine Interfaces) and PCs, as well as write history from PLCs, may also be included in the operation record as change point events. This allows for time-series tracking of what change point events occurred before and after a problem occurred.

[0026] The device unit 34 has bit devices, word devices, etc., and each device stores device values. The project storage unit 35 stores project data transferred from PC2a. The ring buffer 36 periodically collects and stores device values ​​from the device unit 34. When a predetermined event occurs, the operation record storage unit 37 stores an event record including the device values ​​collected around the time of the event (before, after, or around the time of the event) and the time of collection. An event refers to, for example, the fulfillment of an alarm condition or caution condition set for each device. An alarm condition refers to, for example, a condition that would cause the control operation of the manufacturing line by PLC1 to be stopped. A caution condition refers to, for example, a device value condition that would cause the administrator to pay attention to the control operation of the manufacturing line by PLC1. The CPU 31 sends the event record to PC2a in response to a request from PC2a. The CPU 31 may also provide device values ​​to PC2a in real time. The memory 32 also stores the control program executed by the CPU 31 of the basic unit 3. As shown in Figure 3, the basic unit 3 and the expansion unit 4 are connected via an internal unit bus 90, which is a type of expansion bus. The communication function related to the internal unit bus 90 is implemented in the CPU 31, but it may also be implemented as part of the communication unit 33. The communication unit 33 may have a serial communication circuit compliant with the USB standard or similar. The CPU 31 receives project data from the PC 2a via the communication unit 33.

[0027] Here, we will provide some additional explanation about the internal unit bus 90. This internal unit bus 90 is a communication bus used for input / output refresh. Input / output refresh is the 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 (i.e., each scan).

[0028] 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 base unit 3 stored in the device. In this embodiment, the expansion unit 4b functions as a camera control unit. The CPU 41b also stores the control results of the field device 10, such as a camera, in a device called a buffer memory. The control results stored in the device are transferred to the base unit 3 by I / O refresh. The control results stored in the device may also be transferred to the base unit 3 at a timing different from I / O refresh, according to a read command from the base unit 3. The memory 42 includes RAM and ROM. In particular, the RAM has a storage area reserved for use as buffer memory. The memory 42 may have a buffer that temporarily holds data acquired by the field device 10 (e.g., still image data and video data).

[0029] The CPU 41a of the analysis unit 4a, which functions as a data utilization unit (analysis unit), communicates with the PC 2b via the communication unit 43 and the communication cable 9b. The communication unit 43 includes a communication circuit that performs network communication. The CPU 41a creates an analysis report including the analysis results by analyzing the device values ​​collected in the basic unit 3. For example, the CPU 41a executes a driving record analysis application as a data utilization application, and by analyzing the symbol values ​​contained in the driving record data, identifies abnormal symbols and the times when those symbols become abnormal, and creates an analysis report including the analysis results that associate abnormal symbols with the times when those symbols become abnormal. Since the driving record data contains information to reproduce the conditions around the time the driving record was saved and the event occurred, it may be managed in conjunction with the analysis report. Also, because the driving record data contains the symbol values ​​of many symbols in order to reproduce the conditions around the time the driving record was saved and the event occurred, the data size becomes large. For this reason, for example, the CPU 41a may read the data necessary for the analysis report from the driving record data and add it to the driving record data as data for the analysis report. The data for the analysis report can be either copied directly from the driving record data, tagged as data for the analysis report, and saved as additional data to the driving record data, or the data can be processed for the analysis report and then saved as additional data to the driving record data.

[0030] If camera images are included in the driving record data, the situation around the time the driving record was saved can be understood in more detail by playing back the camera images. The analysis report may also include a UI (user interface) for playing back the camera images. Since camera images have a large data size, only the necessary camera image data may be partially downloaded when click or scroll operations are accepted in the UI for playing back the camera images. For example, when creating the analysis report, the CPU 41a may process the camera images in accordance with the display order in the analysis report, or generate index information that shows the correspondence between time and the saved location of the camera image, enabling high-speed and partial downloading of camera images corresponding to the time.

[0031] Narrowly defined, an analysis report means the analysis results themselves, but in a broad sense, it may mean a web application that displays the analysis results or its user interface. The CPU 41a determines, for example, whether the device value is within the normal range or whether the timing of the change in the device value is within the normal range. Whether the timing of the change in the device value is within the normal range may be, for example, whether the length of the period during which the device value is "1" (on) is within the normal range. Also, it may be determined whether the number of changes in the device value in a certain process or cycle is within the normal range. If the device value collected from a certain device does not meet the normal conditions, since the device behaves differently from usual, it may be called an abnormal device. The CPU 41a may create an analysis report in web format and provide the analysis report to the web browser of the PC 2b via the communication unit 43 and the communication cable 9b. When the CPU 31 has a protocol conversion function, the CPU 41a may transmit the analysis report to the PC 2a via the internal unit bus 90, the CPU 31, the communication unit 33, and the communication cable 9a. The analysis report may have components such as a graph display component and a numerical value display component. These display components are realized by markup data that describes the front-end structure, style data that describes the decoration, and code that describes dynamic processing, such as HTML data, CSS data, and JavaScript (registered trademark) code. HTML is an abbreviation for Hypertext Markup Language. CSS is an abbreviation for Cascading Style Sheets.

[0032] <Function of PC2b> FIG. 5 is a diagram for explaining the functions realized by the CPU 11b of the PC 2b. The CPU 11b of the PC 2b executes the Web browser 18 by executing the Web browser program 14d. The Web browser 18 executes the Web application 61 to realize the functions of the communication processing unit 62, the data acquisition unit 63, the drawing unit 65, the reception unit 66, and the playback unit 67. Further, the Web browser 18 communicates with the Web server 82 of the analysis unit 4a described later according to HTTP (Hypertext Transfer Protocol) to receive display components.

[0033] The Web browser 18 displays the analysis report on the display unit 7b by executing the Web application 61. The Web application 61 is composed of, for example, HTML data, CSS data, and Java (R) scripts. The Web application 61 may be provided from the analysis unit 4a. The communication processing unit 62 processes communication with the Web server 82. The data acquisition unit 63 acquires the driving record data to be displayed in the analysis report from the analysis unit 4a. The driving record is downloaded and stored in the storage device 12b. The drawing unit 65 displays the analysis report on the display unit 7b.\nThe cooperation unit 64 performs time management so that the playback time in the analysis report is synchronized with the playback time of the driving record.

[0034] The reception unit 66 receives operations on the result display screen of the analysis report. The playback unit 67, for example, causes the driving record data to be downloaded and stored in the storage device 12b in response to a playback request input from the reception unit 66 or the cooperation unit 64. The playback request may include, for example, identification information capable of specifying the driving record (e.g., unique identification information or the save path name in the PLC 1). The playback unit 67 plays back the driving record stored in the storage device 1 and displays it on the display unit 7. The playback unit 67 may waveform-display the time-series device values acquired in real time from the PLC 1 or waveform-display the time-series device values included in the driving record.

[0035] <Function of PLC 1> Figure 6 shows the functions realized by the CPU 31 and CPU 41a executing control programs in PLC1. In CPU 31, the command processing unit 71 interprets commands received from PCs 2a and 2b and executes processing corresponding to the interpretation results. For example, when a request signal created by encapsulating an HTTP request is received, the command processing unit 71 forwards the request signal to CPU 41a. When a response signal to the request signal is received from CPU 41a, the command processing unit 71 forwards the response signal to PCs 2a and 2b. The command processing unit 71 may also be provided in the analysis unit 4a. In that case, the command processing unit 71 processes commands from PC 2a, and the command processing unit provided in the analysis unit 4a processes commands from PC 2b. The collection unit 72 collects symbol values ​​(device values ​​and values ​​stored in variables) from the basic unit 3 and expansion unit 4b and stores them in the ring buffer 36. The collection settings of the collection unit 72 can be set from at least one of the basic unit 3 and the analysis unit 4a. The logging unit 73 determines whether any error or trouble (abnormal event) has occurred in PLC1 based on the collected symbol values, etc. For example, the logging unit 73 may determine whether the collected symbol values ​​meet the recording conditions. If the collected symbol values ​​meet the recording conditions, the logging unit 73 saves the symbol values ​​as operation logs 76 in the operation record 74. The logging unit 73 also saves the project data 75 that was being executed when the operation record was created in the operation record 74. Furthermore, the logging unit 73 notifies the analysis unit 83 that the operation record 74 has been created. The setting unit 78 sets control cycles used for generating the learning model, analysis, and analysis report, as described later, according to the operator's input. Control cycles are set by specifying the timing that serves as the basis for the cycle, and the setting of control cycles is called cycle setting. For example, cycle setting includes a symbol name that defines the start timing of the cycle and rising / falling edge information of the symbol value.Furthermore, the cycle setting may include setting information for the cycle start timing, which is determined by a symbol name that defines the cycle start timing and the rising / falling edge information of the symbol value, and setting information for the cycle end timing, which is determined by a symbol name that defines the cycle end timing and the rising / falling edge information of the symbol value. The control cycle setting by the setting unit 78 is provided to the PLC1 in a file format such as CSV, and the setting unit 78 may read the CSV or other file and set the control cycle. For example, the control cycle set by the setting unit 78 is used to classify devices synchronized with the cycle and add the classification information to the model as attribute information, to narrow down the devices to be analyzed by the control cycle, or to generate an analysis report that is displayed in synchronization with the control cycle. Multiple control cycles may be set. The setting method will be described later. Also, it is not always necessary to set a control cycle; for example, if the possible values ​​of the symbol value under normal conditions are predetermined, it is possible to determine whether the symbol value is one of those predetermined possible values ​​and determine it to be an abnormal symbol.

[0036] In CPU 41a, the protocol conversion unit 81 converts the HTTP request, which has been encapsulated and forwarded from PC 2b, into a protocol and extracts it from the request signal. The protocol conversion unit 81 encapsulates the response information sent from Web server 82 to the HTTP request and passes it to CPU 41a. The protocol conversion unit 81 may provide a transparent tunnel (e.g., TCP tunnel). Web server 82 provides PC 2b with the analysis report created by the analysis unit 83. The analysis unit 83 analyzes the operation log 76 in the operation record 74 using a model described later, creates an analysis result 77, and passes it to the logging unit 73. When the analysis unit 83 creates the analysis result 77, the logging unit 73 adds the analysis result 77 to the operation record 74, in addition to the project data 75 and the operation log 76. The operation record 74 is stored in the operation record storage unit 37. Alternatively, the analysis result 77 may be stored in the memory 42a of the analysis unit 4a. When the analysis result 77 is issued, the notification issuing unit 84 issues a notification. This notification is sent to CPU11b.

[0037] For example, when a web browser 18 requests an analysis report via an HTTP request, the web server 82 passes the HTTP request to the protocol conversion unit 81. The HTTP request includes the URL (uniform resource locator) of the analysis unit 4a (web server) which is executed by the CPU 41a and provides the analysis report. The protocol conversion unit 81 encapsulates the HTTP request and converts it into a request signal (command) that can be sent using a predetermined communication protocol. This request signal is passed to the CPU 41a of the analysis unit 4a. The CPU 41a returns the analysis report to the CPU 11b. The CPU 11b passes the analysis report to the web browser 18. As a result, the web browser 18 displays the analysis report on the display unit 7b.

[0038] The model generation unit 86 creates a model that will later serve as master data for the analysis unit 83 to compare with the driving record data. The report generation unit 85 generates an analysis report, which is a display screen for showing the analysis results 77 on the web browser 18 of PC2b. The analysis report contains multiple analysis results, which are displayed synchronously on a time axis. Details of the analysis report will be described later using Figure 8A.

[0039] <Basic Flow> Figure 7 shows the basic flow of model generation, analysis of driving record data, and output of results according to this embodiment. The processes described below are described as processes executed by the CPU 31 of the basic unit 3 and the CPU 41a of the analysis unit (expansion unit) 4a. However, there is no intention to limit the present invention, and some of these processes may be executed by other units, all of these processes may be executed by a single unit, or they may be executed by an external device (analysis device) that is communicatively connected to the programmable logic controller.

[0040] In S1, the CPU 31 of the basic unit 3 sets the collection settings and analysis settings in the collection unit 72 according to the information input via PC 2a. For example, the CPU 31 can set the collection target, collection period, storage location, file name, etc., as collection settings. Analysis settings include, for example, setting the start and end of the cycle to be analyzed. Here, an example has been described in which the basic unit 3 performs the collection and analysis settings, but the CPU 41a of the analysis unit 4a may also perform the collection settings according to the information input via PC 2b. Furthermore, in S1, the CPU 31 of the basic unit 3 can set camera settings such as shooting conditions, image processing settings, and monitoring item settings according to the information input via the setting screens displayed on the display units 7a and 7b of PCs 2a and 2b, as analysis settings. Note that these analysis settings can also be executed by the CPU 41a of the analysis unit 4a. Subsequently, in S2, the CPU 31 collects the operation record data as model creation data according to the collection settings set in S1 and stores it in the operation record storage unit 37. More specifically, all device values ​​collected according to the collection settings are temporarily stored in the ring buffer 36, and the necessary data from the ring buffer 36 is stored in the operation record storage unit 37 as operation record data.

[0041] Next, in S3, the CPU 41a of the analysis unit 4a creates a model using the collected operating record data. This model may include device-specific information, which classifies the patterns of each device based on features such as constants, bit patterns, and analog values, as well as information indicating the timing of changes in device values. In other words, the model learns the normal change patterns of each device. The detailed processing in S3 will be described later using Figure 14.

[0042] Subsequently, in S4, the CPU 31 of the basic unit 3 determines whether a trigger has occurred to analyze the operation record data. This trigger is basically triggered when an unusual anomaly occurs during operation, and its conditions for occurrence include, for example, when an error bit is set, when a predetermined event occurs from an application such as a monitoring application, or when a manual instruction is received from an operator. If a trigger occurs, the process proceeds to S5.

[0043] In S5, the CPU 31 of the basic unit 3 stores the operation record data in the operation record storage unit 37 for collecting and analyzing the values ​​of each device. Typically, a trigger occurs after some unusual change has occurred. Therefore, data before and after the trigger is acquired here to identify the cause of such a change. As mentioned above, the device values ​​of all devices during operation are stored in the ring buffer 36. Therefore, when the CPU 31 determines that a trigger has occurred, it stores the necessary device values ​​before and after the trigger from the ring buffer 36 to the operation record storage unit 37 according to the analysis settings set in S1. Also in S5, the CPU 41a of the analysis unit 4a acquires the operation record data for analysis from the basic unit 3. Here, in addition to the operation record data, camera image data, event occurrence history, and error history information may also be acquired.

[0044] Subsequently, in S6, the CPU 41a of the analysis unit 4a acquires the time-series data collected by the basic unit 3 and performs analysis processing by comparing it with the model generated in S2. In the analysis processing, for each device, the CPU 41a compares the model data, which is the master data generated in S3, with the operation record data of the device to be analyzed to determine whether the target device is in an unusual state. If the difference exceeds a predetermined value, it is determined that an unusual state has been detected. Furthermore, the CPU 41a stores the analysis results for each device in the analysis results 77 storage area of ​​the operation record storage unit 37 of the basic unit 3. Here, it is desirable that the analysis results 77 store the analysis results and their record data for devices in which an unusual state has been detected, along with time information. This makes it easy to create an analysis report that can be displayed in a synchronized manner using this information when a request for the generation of an analysis report is received from an operator or the like. Camera images obtained from the expansion unit 4b may also be linked and stored. Furthermore, in S7, the CPU 41a generates display data (analysis report) based on the analysis results, transmits the generated display data to the PC 2b or an external device via the communication unit 43, and terminates the process. For example, the analysis results are displayed to the operator on the PC 2b. Details of the result display screen showing the analysis report will be described later using Figure 8A.

[0045] The monitoring application is one of the data utilization applications executed by the CPU 41a of the analysis unit 4a. The analysis unit 4a may be an extension unit that executes data utilization applications. The data utilization application includes a data utilization program (e.g., a flow) that collects and processes control data, and a dashboard that displays the execution results of the data utilization program. Examples of data utilization applications include a monitoring application that monitors target devices and variables in real time, and an operation record analysis application that analyzes operation records to reproduce the operating state of PLC1 and generates an analysis report. Other examples of data utilization applications include calculation applications that calculate KPIs (Key Performance Indicators) such as availability, yield rate, or cycle time. The monitoring application is an application for continuous monitoring based on the symbol values ​​of PLC1 symbols. For example, it continuously collects the symbol values ​​of one or more symbols at the scan time level according to the settings of the monitoring application, and continuously displays information based on the collected symbol values ​​while updating it in real time. The one or more symbols to be continuously monitored are set in advance by the user. The monitoring application, for example, has a web server function and can be configured from a general-purpose browser via the communication unit 43. Because it can be configured from a general-purpose browser, it can be configured or monitored from a PC, smartphone, or tablet without the need for dedicated tools such as a program creation support device. The monitoring application also automatically sets thresholds for one or more symbols that are subject to continuous monitoring, based on the symbol values ​​of multiple cycles under normal conditions. For example, upon receiving a user instruction, the monitoring application automatically sets thresholds for monitoring the state of multiple symbols that are subject to continuous monitoring, based on the variation in symbol values ​​of multiple cycles under normal conditions. The thresholds are set to monitor unusual states, i.e., abnormal states, and the monitoring application issues an alarm if the symbol value of the monitored symbol exceeds the threshold.In this way, for example, PLC1 can detect signs before the equipment stops. PLC1 may use an alarm triggered when the symbol value of a monitored symbol exceeds a threshold, based on the results of sign monitoring by the monitoring application, as a condition for saving the operation record. PLC1 uses the alarm generated by the monitoring application as an event trigger to save the operation record data before and after the trigger. PLC1 turns on the save completion device when the saving of the operation record data is complete. The operation record analysis application may automatically analyze the operation record data upon confirmation that the saving of the operation record data is complete. For example, the operation record analysis application may analyze the operation record data in response to the turn on of the save completion device. The operation record analysis application analyzes the symbol value of the analyzed symbol (e.g., the device value of the all-bit device) and extracts symbols that are candidates for the cause of the alert. In this way, the operation record analysis application automatically analyzes the operation record data saved due to the alarm generation by the monitoring application and extracts symbols that are different from the usual from the operation record data. As a result, CPU41a constantly monitors the equipment status using the sign monitoring function of the monitoring application and issues alerts for changes. Furthermore, CPU41a automatically analyzes the triggers for alerts and extracts symbols that are different from the usual. In other words, PLC1 constantly monitors symbol values ​​to detect signs of malfunction in the controlled equipment, notifies of the signs before the controlled equipment stops via an alarm, and automatically analyzes the cause of the signs.

[0046] <Results display screen (analysis report)> Figure 8A shows the results display screen displayed on the display unit 7b when the Web browser 18 according to this embodiment executes the Web browser program 14d. Here, an example is described in which the results display screen 800 is displayed on the display unit 7b of the PC 2b, but there is no intention to limit the present invention, and it may be displayed on the display unit of other devices, or on the monitor of the PLC's expansion unit if it is possible to display it on such a monitor. For example, other devices may include programmable displays, tablets, and smartphones. Alternatively, the content of the results display screen described below may be sent to other devices as an analysis report via email, SNS, FTP transfer, etc. Comments may be added to the analysis report, for example, handwritten or typed comments may be added to the analysis report. In this case, the analysis report including the content of the results display screen with the added comments may be sent to other devices. This allows the recipient of the email to view the analysis report together with the on-site situation such as comments. Furthermore, when the analysis report is sent to other devices, the driving record data that is the subject of the analysis report may be sent along with the analysis report. This allows the recipient of the email to view the driving record and the analysis report together. Furthermore, if PC2b is a tablet or smartphone with a camera, it may also be possible to attach a photo of the device.

[0047] The results display screen 800 consists of filters 801 to 803 for filtering and displaying results, a filtered result 804, a detection map 810, a detection list 820, an image display area 830, and an analysis comment 840. Note that at least one of 810, 820, 830, and 840 may be displayed as the results. Filter 801 allows filtering the results display by selecting a control cycle. Here, a control cycle refers to the period from a start timing to an end timing accompanied by periodic changes in device values. When filter 801 is specified, the results are displayed only for devices operating within the selected control cycle. Filter 802 allows filtering the results display by selecting attribute information. Attribute information indicates information such as which unit or communication device a device is connected to, or whether or not it is an input device.

[0048] If, for example, "Unit Configuration Information" is specified in filter 802, the unit configuration will be displayed in a pop-up window, and one of the displayed units can be selected. Once a unit is selected, the results will be narrowed down to devices connected to that unit. Also, if "Input Device" is specified as attribute information, the results will be narrowed down to devices to which the attribute information of the input device has been added. Filter 802 is not limited to filtering that utilizes attribute information. For example, as a result of the analysis, the same symbol may be detected multiple times as an abnormal symbol. The earliest occurrence time is likely to be important in investigating the cause of the abnormality, so filter 802 may be configured to filter out all occurrence times of the same symbol that has been detected multiple times. Filter 802 may also be configured to filter out all occurrence times of the same symbol that have the same detection algorithm during analysis and the same type of anomaly (described later), except for the earliest occurrence time. Furthermore, filter 802 may be configured to filter out all occurrence times of the same symbol that have the same detection algorithm during analysis, the same type of anomaly (described later), and the same cycle settings (described later), except for the earliest occurrence time.

[0049] Filter 803 allows filtering of results by selecting events or errors. Specifying the type of event or error narrows the displayed results to only those related to the device. For example, if "Operation Record Saving Trigger" is selected as the event, the displayed results will be limited to the analysis results before and after that event. The results display screen 800 may also display events and errors in chronological order along with the analysis results. In this case, filter 803 can filter events and errors. This allows switching between a mixed display of analysis results and events / errors, and a display of analysis results only. Here, events may include, for example, power ON / OFF, device value rewriting, memory insertion / removal, etc., and filtering targets may be added or removed for each category. Errors may include, for example, communication errors, PLC calculation errors, scan time exceeding errors, etc., and filtering targets may be added or removed for each severity of the error.

[0050] The filter conditions for filters 801-803 are judged as a logical AND, and the corresponding analysis results are displayed. Therefore, filters 801-803 do not necessarily need to be selected, and the analysis results may be filtered when the operator selects the desired filter. Alternatively, the system may select a filter by default and display the analysis results before the operator specifies one. The devices displayed in these analysis results are devices in which an unusual state has been detected. An unusual state is, for example, when a device value deviates from the normal range, or when the timing or number of changes in the device value falls outside the normal range. In product manufacturing plants, the same product is mass-produced every day. In other words, the same process is repeated many times. Therefore, detecting and displaying unusual states is extremely useful for improving ladder programs and reviewing production equipment. The normal range (normal conditions) that defines the normal state may be defined by the user or by the learned results of the device values.

[0051] The detection map 810 displays the cycles, including the start and end timings, for each of the multiple processes executed in PLC1, along the time axis. In the detection map 810, the horizontally extending rectangles indicate the period (control cycle) during which a process is being executed. The circles within the rectangles indicate anomaly points, which are locations where abnormal conditions occurred within the cycle. The horizontal axis of the detection map 810 represents time, with the left end representing the start of data collection and the right end representing the end of data collection. The horizontal axis can be zoomed in or out by selecting the zoom in / out buttons at the top. In this case, the initial display may be with the data collection start point at the left end and the data collection end point at the right end. Alternatively, it may be determined by the time width of the cycle definition described later. For example, if the cycle times are 10 seconds, 10 seconds, 11 seconds, 9 seconds, 10 seconds, 10 seconds, and 20 seconds, the median value of 10 seconds may be taken, and the left end to the right end may be set to 30 seconds so that three cycles can be displayed at once. Here, the vertical axis is set to device units, but it may also be set to program module units, as described later. Furthermore, the detection map 810 may also display the feature values ​​of the camera image alongside the device values. By displaying them alongside the device values, periodic changes in the image can be easily recognized.

[0052] Figure 10 shows details of the control cycle and anomaly points. The control cycle can be defined by setting a start timing and an end timing, as will be described in detail later. Figure 10 shows the device values ​​of device MR0 and device MR1. As shown in Figure 10, the control cycle is set with the timing of MR0 changing from OFF to ON as the start timing, and then the timing of MR1 changing from ON to OFF as the end timing. As shown in 1001, the control cycle can be represented by a rectangular shape, with the left end indicating the start timing and the right end indicating the end timing. This allows the control cycle to be confirmed at a glance, rather than showing the device values ​​as waveforms, and it is possible to determine whether or not the cycle is in operation. However, the present invention is not limited to this, and the cycle may be represented by any shape as long as the start timing and end timing can be identified. For example, instead of a rectangular shape, vertical lines indicating the start timing and vertical lines indicating the end timing may be displayed, and the inside may be made different from the background color to represent the cycle. Also, if there is no record of the start timing or end timing in the operation record data, it is not necessary to draw the vertical lines, etc., that indicate them on the detection map 810. 1010 indicates the location of an anomaly within a defined control cycle. In the example of 1010, the location where the anomaly occurred is displayed as anomaly point 1011. On the other hand, an anomaly has a period from the start to the end of the anomaly. 1020 shows an example of plotting the anomaly location in intervals. 1021 shows the anomaly interval. Displaying the anomaly interval 1021 can show how the anomaly intervals of other devices overlap, allowing operators to recognize the relationships between devices and providing important information for identifying errors. In this way, the anomaly locations of each device can be plotted in various ways.

[0053] In the detection map 810, the rectangles representing processes indicate that the left side is older and the right side is newer. The time bar 811 indicates the currently selected time. The time bar 812 indicates the timing when the trigger for saving the operation record data occurred. As mentioned above, the operation record data includes data before and after the save trigger occurred, so data is shown before and after the time bar 812. The distinguishability of the time bars 811 and 812 may be improved by drawing them in different colors or by using solid and dashed lines. Furthermore, the display of the analysis results can be updated by manipulating the time bar 811. In accordance with the operation of the time bar 811, the detection list 820, the image display area 830, and at least one of the analysis comments 840 (described later) may also be updated in conjunction, and the corresponding analysis results may be displayed.

[0054] Figure 11 shows how multiple display items are updated in conjunction with operations on the time axis. As shown in Figure 11, for example, suppose the time bar 811 is moved to the dotted line position on the detection map 810. For this operation, if the operation unit 8b of PC2b is a mouse, for example, the time bar 811 can be moved by dragging a pointer (not shown) over the time bar 811 and then moving the pointer to the dotted line position while dragging. When moved, the displays of the detection map 810 and the detection list 820 are updated as shown in the detection map 1110 and the detection list 1120. For example, in conjunction with the position of the time bar 1111, devices in an unusual state that occurred at that position are displayed in the detection list 1120. In this way, by manipulating the time bar displayed in any analysis result, the display of other analysis results is updated in conjunction, allowing the operator to easily grasp useful information. Alternatively, if a predetermined abnormal item is selected on the detection list, the time bar on the detection map may be controlled to move to the timing when that abnormal item occurred. Depending on the selection on the detection map or detection list, the camera image at that time may be displayed in the image display area 830. Alternatively, the detection map or detection list may be updated in conjunction with the playback of the camera video. In addition, some analysis results may be fixed, and only the other analysis results may be updated in conjunction with the operator's actions. In this case, the analysis result to be fixed may be fixed by, for example, double-clicking the time bar of the analysis result to be fixed.

[0055] The image display area 830 displays the camera image (hereinafter also referred to as camera video) acquired by PLC1. In Figure 8A, the camera image of the master data, which is data under normal conditions, and the current camera image are displayed side by side. Since the camera image is also time-series data, the seek bar 831 indicates the playback time of the camera image and moves from left to right as the playback time progresses. The time bar 832 indicates the timing when the detected device entered an unusual state and is linked to the time bar 811 mentioned above. The time specification unit 833 is a control object for instructing the camera image playback time to be advanced, reversed, start playback, or stop playback. 834 can specify a control cycle, and the camera video is played back using the specified cycle as the reference cycle. For example, if the fast-forward button of the time specification unit 833 is operated, the video is controlled to skip to the next control cycle after the current control cycle. Alternatively, it may jump at the end of a cycle.

[0056] The camera footage may be stored as driving record data, but it may also be data stored on an external device with associated timestamps. For example, it may be camera footage recorded on a webcam connected to any of the expansion units, or inspection images recorded on an image inspection machine. The data stored on the external device may also be recording data from measuring instruments, such as numerical values ​​or measurement waveforms. On the results display screen 800, the playback time of the detection map 810, the playback time of the camera images, and the playback time of the detection list 820 are managed and displayed in a synchronized manner. Furthermore, as shown in the dotted line area of ​​Figure 8A, the detected abnormal areas may be highlighted in the video. This makes it even easier for the user to compare the current video with the video under normal conditions.

[0057] Figure 12 illustrates the synchronization of the master data video under normal conditions with the video being analyzed. The camera footage is displayed with the cycle start timing of the selected reference cycle definition aligned with the training video and the current video. For example, synchronization can be achieved as follows: First, find the control cycle that contains the cursor's current time and calculate the offset time t from the start time of that cycle. In the example in Figure 12, the solid rectangular area of ​​the current video shows the device control cycle corresponding to the acquired driving record data, and the dotted rectangular area shows the defined reference cycle. Next, align the cycle start timing of the training video and display the video shifted by time t from the start of the cycle. Changing the reference cycle will change the training video. If there are multiple cycle starts of the reference cycle definition in the training video, the first one may be displayed, or it may be possible to select one. In this way, the current video and the master data video can be synchronized according to the reference cycle.

[0058] The detection list 820 shows devices that are in an unusual state and the time when that state occurred (the time when the device value was collected). The detection list 820 is a list of devices that are in an unusual state, listed in chronological order. When the CPU 11b detects a click on a device displayed in the detection list 820, it can synchronize the display of the detection map 810, the detection list 820, and the image display area 830 based on the identification information of the clicked device and the playback time information (the time when the device value was collected). The time bar 821 shows the selected time and is linked to the time bars 811 and 831, showing the same timing. The time bar 822 shows the timing when the trigger for saving the driving record data occurred.

[0059] Analysis comment 840 displays the comments included in the analysis results, the master data for the device selected in detection list 820, and the time-series data of the device value for this instance. Time bar 841 indicates the timing when the unusual condition occurred, and it is linked to time bars 811, 821, and 831, showing the same timing. The displayed comments indicate the nature of the abnormality of the device in question.

[0060] When CPU 11b detects a click on a device displayed in detection list 820, it can synchronize the display of detection map 810, detection list 820, and analysis comment 840 based on the identification information of the clicked device and the cycle information that has entered an unusual state (cycle start and end times, or cycle start time and next cycle start time). Figure 8B shows how detection map 810, detection list 820, and analysis comment 840 are synchronized when any item in detection list 820 is selected. Analysis comment 840 displays time-series data of device values ​​for the time range corresponding to the cycle that has entered an unusual state. At this time, the detection map 810 displays a time range 852 corresponding to the time range 854 of the time-series data displayed in analysis comment 840. The time range 852 displayed on detection map 810 corresponds to the process among multiple processes that has entered an unusual state. For example, when an item 853 for a device that is different from the current state among the devices displayed in the detection list 820 is clicked, the system switches to time-series data of the device value for the clicked device for the time range corresponding to the cycle in which it entered an unusual state. At that time, the detection map 810 switches to a range that includes time range 852, which corresponds to time range 854 of the time-series data displayed in the analysis comment 840. Also, as shown by arrow 855, time range 852 is highlighted on the detection map 810 with dotted lines or colored solid lines, allowing the operator to confirm its correspondence with the section extracted in the analysis comment 840. This makes it easy for the operator to understand which section of the waveform on the detection map 810 the analysis comment 840 is extracting. Furthermore, as shown in 854, the analysis comment 840 also displays rectangles or anomaly points indicating the cycle corresponding to the extracted section at the bottom of the waveform, making it easy for the operator to understand the relationship between the start and end timings of the cycle and the waveform and anomalies. Furthermore, the detection map 810 may also display an enlarged view of the anomalies corresponding to the devices selected in the detection list 820, as shown in 851.Furthermore, if the time range of the time series data displayed in analysis comment 840 is the start time of one cycle and the start time of the next cycle, analysis comment 840 may also include a diagram indicating the end time of the cycle, corresponding to the time axis of the time series data.

[0061] Thus, the results display screen 800 is composed of multiple analysis results, including the display of a detection map 810, a detection list 820, an image display area 830, and analysis comments 840. However, these result displays are just examples, and other result displays may be included additionally or alternatively. For example, as shown in Figure 9, dependency information between devices (relation map) may be displayed as an analysis result. The basic unit 3 can understand the dependencies between devices and variables by analyzing the ladder program. For example, when a detected device is selected, the devices related to it can also be displayed side by side, presenting the operator with dependent devices. This helps the operator understand and identify anomalies.

[0062] <Relationship Map> Figure 9 shows the relation map 900. The relation map 900 is a graphical representation in a user program such as a ladder program that shows the relationship between a program module associated with a specific symbol and other symbols associated with that program module. For example, if a device that is in an unusual state (an abnormal device) used in a ladder program is selected as a specific symbol, the UI will display other devices that are related to that abnormal device in the ladder program via the program module. This UI may be a screen accessed by operating an unshown display button on the results display screen 800, or it may be displayed additionally on the results display screen 800. By displaying the relation map, the user can easily understand the dependencies between the abnormal device and other devices. Generally, the number of devices used in PLC1 ranges from several hundred to tens of thousands, so it is not easy for the user to identify the device that caused the abnormal state from a device that is in an unusual state. The CPU 11 searches the ladder program for the abnormal device, finds a description of the abnormal device, and identifies the related devices by analyzing that description. In this example, an abnormal device (e.g., R0004) is described in the output section of the ladder program, and related devices include MR000, MR001, and MR002.

[0063] CPU 11b displays the abnormal devices, related devices, and program modules identified from the ladder program in a tree-like structure. User programs (ladder, C language, flow language, scripts, etc.) are often written in several parts to improve readability and maintainability, and these units are called program modules. Within a single program module, programs for reading and writing to each device are written, and a single device may be read and written to by multiple modules, but usually only one module is primarily used. In the example in Figure 9, the devices input for calculations in the output section are displayed on the left, the program modules are displayed in the middle, and the abnormal devices are displayed to the right. As shown in Figure 9, when a program module is selected on the relation map 900, CPU 11b may display the corresponding program module in the program display area 910. Note that this explanation uses an example where the CPU 11b of PC2b controls the display process, but this is just one example, and it may also be performed by the CPU 11a of PC2a. Furthermore, the detection map 810 described above may also be displayed on a program module basis rather than on a device basis.

[0064] The CPU 11 identifies the program module associated with the symbol from the user program, based on the user's specification for identifying the symbol, and identifies other symbols associated with the identified program module to generate a relation map 1500. Based on the analysis results, the CPU 11 highlights the abnormal devices included in the relation map 1500. The analysis results also include the time when the abnormal device was determined to be different from normal, and the CPU 11 may choose to highlight only abnormal devices that occurred before the time of reproduction on the relation map 1500. This ensures that the abnormal device remains highlighted after the abnormal state occurs. The analysis results may also include information indicating which symbols were not included in the analysis. In this case, the CPU 11 distinguishes between the symbols not included in the analysis and other symbols on the relation map 1500 using color or other means based on the analysis results. This allows for distinction between symbols that were determined not to be abnormal through analysis and those that were not determined to be abnormal because they were not analyzed. Symbols excluded from analysis include, for example, symbols whose symbol value change patterns do not exhibit regularity in relation to cycles defined by control cycles or cycle settings, and symbols designated by the user as being excluded from analysis.

[0065] <Model generation flow> Figure 13 shows the details of the model generation flow in S3 described above. Here, we describe the control that generates a model by determining the device's control cycle as device attribute information. However, the present invention is not limited to this, and models may be generated based on other attribute information as described above. As described below, the analysis unit 4a automatically extracts devices and variables belonging to a process (cycle), even if the data is from multiple unsynchronized processes (cycles). This eliminates the extremely time-consuming task of the operator manually linking processes (cycles) and devices in advance. The processes described below are described as processes executed by the CPU 41a of the analysis unit (expansion unit) 4a. However, there is no intention to limit the present invention, and some of these processes may be executed by other units, all of these processes may be executed by a single unit, or they may be executed by an external device (analysis device) that is communicatively connected to the programmable logic controller.

[0066] First, in S31, the CPU 41a of the analysis unit 4a acquires normal operation record data for model creation from the basic unit 3. This operation record data is the data stored in the operation record storage unit 37 in S2. Next, in S32, the CPU 41a acquires cycle setting information from the basic unit 3 as information other than device values. The cycle setting information indicates, for example, the cycle pattern set by the operator via the PC 2a. For example, it indicates the cycle start timing and the cycle end timing. The information acquired here may also include information acquired by field devices 10 such as cameras connected to the expansion unit 4b, such as camera image data. This data may be acquired via the basic unit 3, but it may also be acquired directly from, for example, the expansion unit 4b.

[0067] Next, in S33, CPU 41a determines which cycle each device belongs to based on the cycle settings acquired in S32. There are various cycle patterns for each device, and here it determines which pattern each device belongs to as specified in the cycle settings. If the cycle settings include settings corresponding to multiple control cycles, it is also possible to determine which device belongs to each control cycle. In this case, there may be devices that are determined to belong to multiple control cycles. Figure 14 shows the control for determining the cycle pattern of each device. In Figure 14, rectangles indicate the period (cycle) in which a process is being executed, from the start timing to the end timing, with one rectangle representing one cycle. A cycle pattern is the pattern in which this one cycle appears. 1401 to 1403 show the processes with cycle settings. 1404 to 1406 show the cycle patterns extracted from the collected data of devices A to C, respectively. The analysis unit 4a determines which cycle setting pattern each device belongs to. For example, it might determine that device A belongs to cycle setting 1, device B belongs to cycle setting 2, and device A does not belong to any of the set cycle settings. Specifically, it checks whether the value and the number of changes match from the start to the end of the cycle. It is acceptable for the start and end timings to be slightly different. In this way, the analysis unit 4a determines the correspondence between each cycle setting pattern and each device. The analysis unit 4a may also determine which device belongs to each cycle setting pattern.

[0068] When the analysis unit 4a determines the correspondence between each cycle setting pattern and each device, it makes the determination based on the pattern of each device value from the start to the end of each cycle setting. This allows it to determine that a device belongs to the pattern of that cycle setting, regardless of how the device value behaves from the end of one cycle to the start of the next. Alternatively, when the analysis unit 4a determines the correspondence between each cycle setting pattern and each device, it may also determine whether the device value and the number of changes match from the reference timing of one cycle to the reference timing of the next cycle, for example, from the start of one cycle to the start of the next cycle.

[0069] In PLC1, the control cycle is defined as the period during which a process is being executed, including the start and end timings for each of the multiple processes executed. However, the scope of cycle setting is not limited to this. Figure 21 shows the processing flow of a cycle when there are devices that change outside of the period from start to end timing. As shown in Figure 21, in order to execute a work process, there may be a confirmation phase 2101 to check whether the work start conditions are satisfied as preparation for executing the work process. Furthermore, after the execution of the work process in the work start phase 2102, work phase 2103, and work end phase 2104, there may be a preparation phase 2105 to prepare for the next process, a waiting phase 2106 to wait until the next process, etc. Therefore, there are devices that change even during periods other than when a work process is being executed, and these can provide clues to pinpoint the cause of an anomaly. For example, input devices related to the fulfillment of work start conditions in the confirmation phase, and devices that indicate control signals for the next preparation in the preparation phase, operate outside of the period from start to end timing. Therefore, the analysis results of these devices can provide clues to pinpoint the cause of an anomaly. In short, the cycle setting can cover the period from one reference timing to the next, allowing for seamless analysis. Furthermore, cycle settings allow the user to select the devices that define the start and end timings, or they can be automatically set by learning normal operation data. However, if the analysis period is limited to the start and end timings, it can be difficult to identify devices that define the start and end of a process if these are not precisely known. By setting the cycle setting to cover the period from one reference timing to the next, seamless analysis can be achieved simply by selecting devices synchronized with the process, even without strictly specifying the devices that define the start and end of a process.

[0070] Returning to the explanation of Figure 13, in S33, CPU 41a adds the extracted cycle patterns as attribute information to each device. Next, in S34, CPU 41a generates a model from the operation record data acquired in S31 based on the added attribute information, and terminates the process. The generated model is the master data used during analysis and includes at least the cycle pattern information for each device.

[0071] <Result Display Flow> Figure 15 shows the details of the result display flow by the analysis unit 4a in S7 described above. The processes described below are described as processes executed by the CPU 41a of the analysis unit (expansion unit) 4a. However, there is no intention to limit the present invention, and some of these processes may be executed by other units, all of these processes may be executed by a single unit, or they may be executed by an external device (analytical device) that is communicatively connected to the programmable logic controller.

[0072] First, in S71, the CPU 41a of the analysis unit 4a determines whether or not it has received a request for an analysis report. Requests for analysis reports include requests received by the operator via PC2a and PC2b, requests for periodic analysis report creation timings, and requests for analysis reports when errors occur. PLC1 may create an analysis report without an operator request if a device in an unusual state is detected, or it may only create an analysis report after an operator request. These controls can be switched in the settings. If an analysis report request has been received, the process proceeds to S72.

[0073] In S72, the CPU 41a acquires the analysis results 77 stored in the operation record storage unit 37 of the basic unit 3. Subsequently, in S73, the CPU 41a generates an analysis report that can be displayed on a web browser of a web client such as PC 2a or PC 2b, according to the acquired analysis results. The generated analysis report becomes screen information for displaying the results display screen 800 described above using Figure 8A. Synchronization information for displaying each analysis result in a synchronized manner is also added. Specifically, in addition to the screen information to be displayed in the detection map 810, detection list 820, image display area 830, and analysis comment 840, information indicating the display position of each analysis result is included. The information indicating the display position may be timing information of the defined control cycle, as described above, or it may simply be time information. In other words, it may be any information that can be synchronized.

[0074] Next, in S74, CPU41a sends the analysis report generated in S73 to the requesting PC2. The information sent here may include HTML data, CSS data, and JavaScript® code, or it may simply be a notification indicating that the generation of the analysis report is complete. If a notification is sent, CPU41a sends screen information once it receives a display request from PC2. Then, in S75, CPU41a determines whether or not it has received a request from the requesting party to update the analysis report. An update request is, for example, a change in display components, a change in the display target by selecting filters 801 to 803, or an update in the temporal display position of the analysis results by manipulating the time bar 811, etc. Note that the update of the display content by manipulating the time bar 811, etc., may be controlled only on the PC2 side. In this case, in addition to the information of the display component that is the target of the display, it is also necessary to provide PC2 with information about the analysis results of the device displayed on that display component. If an update request is received, the process proceeds to S76; otherwise, it proceeds to S77.

[0075] In S76, CPU41a updates the analysis report according to the instructions of the update request, returns to S74, and sends the updated analysis report to the requester. Meanwhile, in S77, CPU41a determines whether or not it has received a termination instruction to stop displaying the analysis report. If it has not received a termination instruction, it returns to S75; if it determines that it has received a termination instruction, it terminates the process.

[0076] Figure 16 shows the details of the result display flow on PC2b in S7 described above. The processes described below are described as processes executed by the CPU 11b of PC2b. However, there is no intention to limit the present invention, and some of these processes may be executed by a PLC unit, or by other external devices (such as PC2a) that are communicably connected to the programmable logic controller. If executed by a PLC unit, a monitor is provided in that unit. Furthermore, the process described here is the process of displaying the analysis report generated by the analysis unit 4a as a browser.

[0077] In S81, the CPU 11b determines whether it has received a request to display the analysis report via the operation unit 8b. If it has received the request, it proceeds to S82. In S82, the CPU 11b requests the analysis report from the analysis unit 4a. Then, in S83, the CPU 11b determines whether it has received a response (analysis report) from the analysis unit 4a corresponding to the request. The information received here may be a URL (IP address) for displaying the analysis report, or it may be information about the analysis report itself. The following process will be explained assuming that a URL has been received.

[0078] Upon receiving a response, in S84, CPU11b specifies the web browser 18 and displays the analysis report. Next, in S85, CPU11b determines whether or not it has received an update request to update the display of the analysis report. If it has received an update request, it proceeds to S86; otherwise, it proceeds to S87. In S86, if an update request has been received, CPU11b sends the update request to the analysis unit 4a, which is the web server, and returns processing to S83. On the other hand, if it is not an update request, in S87, CPU11b determines whether or not it has received a termination instruction to end the display of the analysis report. If it determines that a termination instruction has not been received, it returns processing to S85; if it determines that a termination instruction has been received, it terminates processing.

[0079] <Integration with the program editor> Figure 17 shows the program editor, which is the editing screen for the user program. Here, we will explain how to display the analysis report from the program editor. The UI 100 of the project editing program 14a is displayed on the display unit 7a of PC2a. Therefore, the analysis report can also be viewed from PC2a connected to the basic unit 3. On the other hand, it is also possible for PC2b to acquire screen information from PC2a via the basic unit 3 and the analysis unit 4a and display the program editor on the display unit 7b. The mode selection menu 101 displays multiple modes available in the project editing program 14a, allowing selection. These modes include editing mode, monitor mode, replay mode (debug mode), etc.

[0080] The edit mode is for editing the ladder program displayed in the program display area 104. The project display area 102 displays information that makes up the project. This information includes specifications and settings of the basic unit 3 and expansion unit 4 that make up PLC1, device assignment information, operation record settings, and the ladder program. In edit mode, the program display area 104 displays the ladder program specified in the project display area 102 in an editable format. The monitor mode is a mode for waiting for notifications issued by PLC1. When the expansion unit 4a issues a notification indicating that it has created analysis results, the CPU 11 displays a dialog box or the like on the display unit 7 to display the notification. The user interface for monitor mode is basically the same as that for edit mode.

[0081] In the example screen shown in Figure 17, replay mode is selected. Replay mode is a mode that reproduces the operation record on the ladder program or displays the operation record as a waveform. In Figure 17, a ladder program is displayed that has program modules named input, output, and processing status. In particular, multiple program modules can be selected by tab 107, and in Figure 17, tab 107 corresponding to the input is selected. The pointer 103 moves in conjunction with user operations on the operation unit 8a and is used to press down buttons, select objects, etc. For example, when the analysis report displayed in the project display area 102 is double-clicked with the pointer 103, the CPU 11a functions as a web browser, similar to the CPU 11b, and displays the analysis report explained using Figure 8A.

[0082] In replay mode, the device values ​​included in the operation record are displayed on the ladder program in the program display area 104. For relay devices (bit devices), the device value is displayed in a visually distinguishable way, indicating whether it is 0 or 1. Visual distinction includes using different colors or different icons. For word devices, for example, the device value may be displayed in decimal format.

[0083] Since device values ​​are time-series data that can change over time, each device value is associated with time information indicating the time of collection. The seek bar 105a indicates the playback time of the device value and can be manipulated by the pointer 103 to specify the playback time. During playback of the driving record, the seek bar 105a moves from left to right in conjunction with the passage of playback time. The time specification unit 106a is a control object for instructing playback to advance the playback time, rewind the playback time, start playback, or stop playback.

[0084] <Cycle Settings> Figure 18 shows a setting screen 1800 that defines a cycle. The setting screen 1800 is a screen that is displayed on the display unit 7a of PC2a when a predetermined operation is performed from the UI 100 that is displayed on the display unit 7a of PC2a. As shown in Figure 18, it may be displayed superimposed on the program editor displayed on the UI 100, or it may be displayed as a screen to which the user transitions from the program editor displayed on the UI 100. The setting screen 1800 may also be displayed on the web browser 18 on PC2b.

[0085] The settings screen 1800 includes setting areas 1801 and 1802 for specifying the application and application name when performing operation record analysis. These setting areas 1801 and 1802 are for setting the analysis target. Figure 18 shows the default settings, and the operator does not need to make any specific settings. Furthermore, the settings screen 1800 has a basic settings area where the control cycle can be specified. 1803 sets the method for specifying the control cycle, 1804 sets the cycle name, 1805 sets the start trigger, and 1806 sets the end trigger. Also, by default, no control cycle is specified, and only the add button 1807 is displayed.

[0086] The example shown in Figure 18 shows a state where control cycles No. 0, 1, and 2 have already been specified. According to this embodiment, one or more control cycles can be specified as the control cycles to be analyzed. Therefore, if the operator wants to analyze a wide range of data, they can specify multiple control cycles to obtain a more accurate analysis report. The specification method 1803 allows selection between a start / end specification, which specifies the start timing and end timing of the control cycle, and a start specification, which specifies only the start timing. Therefore, the end trigger 1806 can only specify the end timing if the start / end specification is selected. Here, the devices to which each cycle definition belongs and the groups of devices are not set. Therefore, the analysis unit 4a, etc., will identify the devices corresponding to the defined control cycles and perform the analysis. Since multiple control cycles can be specified, one device may correspond to multiple control cycles. In this case, the reliability mentioned above and the small variation between the start and end of the cycle may be used to automatically set a higher priority for the analysis target. If the priority is high, the analysis report may be displayed preferentially or filtered. Alternatively, it may be possible to set specific devices to be linked to each cycle definition.

[0087] The settings screen 1800 further includes a settings save button 1811, a settings read button 1812, an OK button 1813, and a cancel button 1814. The settings save button 1811 is for saving the settings made on the settings screen 1800. The settings read button 1812 is for reading a settings file that is pre-stored in the project storage unit 35 of the memory 32 of the basic unit 3. One or more control cycles are pre-specified in this settings file. It is also possible to add further control cycles after reading the settings file. The OK button 1813 is for validating the settings made on the settings screen 1800 and ending the settings process. The cancel button 1814 is for ending the settings process without applying the settings made on the settings screen 1800.

[0088] <Cycle not set> Figure 19 shows the detection map 810 for an analysis report with no cycle set. Although the analysis unit 4a can perform analysis even without a cycle set, the number of devices that can be analyzed is extremely limited. In other words, it is limited to devices that do not have a cycle pattern. Devices that do not have a cycle pattern are, for example, devices whose device values ​​are fixed and do not change. For example, as shown in 1901 of Figure 19, devices that are always ON or always OFF can be analyzed even without a cycle set. On the other hand, devices that have a predetermined cycle pattern cannot be analyzed if the cycle is not set. Thus, because the number of devices that can be analyzed is limited, although analysis itself is possible even without a cycle set, the effectiveness of the analysis results is limited. Therefore, as shown in Figure 19, the analysis report may be configured to display a message 1902 indicating that the cycle is not set and prompting the operator to set the cycle. When "Set cycle and analyze" is selected, a cycle setting pop-up screen is displayed, and the operator can set the cycle.

[0089] <Variation> The present invention is not limited to the embodiments described above and can be modified in various ways. Various modifications will be described below with reference to the drawings.

[0090] <Variations in system configuration> Figure 20 shows a modified PLC system configuration. In the above embodiment, an example was described in which the PLC system consists of a PLC1 comprising a basic unit 3, an analysis unit 4a, and an expansion unit 4b such as a camera unit, a PC2a connected to the basic unit 3, and a PC2b connected to the analysis unit 4a for displaying analysis reports. However, these configurations are just examples, and the collection of operation record data, model generation, analysis, and display of analysis results described above may be performed by any device or unit, or may be implemented by other external devices or other expansion units. Here, we will describe modified configurations of such a system.

[0091] For example, as shown in Figure 20, the functions of the analysis unit 4a according to the above embodiment may be implemented by an analysis device (functioning as a server device) 2c located in a higher layer of the PLC1. Processing during the model learning phase, for instance, is very computationally intensive and requires considerable processing time, so it may be possible to implement it externally depending on the processing capacity of the PLC unit. Furthermore, by providing analysis functions in a higher-layer device, it becomes possible to collect information from other PLCs as well, enabling the generation of more reliable models. The analysis device 2c has functions such as analysis of PLC-specific information, model generation, analysis, and creation of analysis reports. Since these functions involve the same processing as the analysis unit 4a, a detailed explanation is omitted.

[0092] Furthermore, in the above embodiment, the basic unit 3 collected the operation record data of all devices, but this may be done by other expansion units. For example, as shown in Figure 20, a recorder unit 4c may be provided as an expansion unit. The recorder unit 4c comprises a CPU 41c, a memory 42c, and a communication unit 43c. The memory 42c is provided with a storage area for the ring buffer 44c and the operation record storage unit 45c, which were provided in the basic unit 3 in the above embodiment. The collection of operation records is the same process as in the basic unit 3 of the above embodiment, so a detailed explanation will be omitted.

[0093] Thus, according to the present invention, the apparatus or unit that realizes the processing functions described in the above embodiments can be modified to the extent possible, and the present invention encompasses such modifications. In the above modified example, an example was described in which a recorder unit 4c for collecting operation record data is provided separately from the basic unit 3, but the unit may be equipped with collection and communication functions, and the storage destination may be a database connected via a network. This makes it possible to store a larger amount of data, perform analysis considerably earlier than when the trigger occurred, and also make it possible to use data from other PLC systems.

[0094] Furthermore, while the above modifications described examples where processing functions are implemented in a unit separate from the basic unit 3 or in an external device, it is also possible to integrate these processing functions into the basic unit 3. The advantage of such a configuration is that communication processing with other units or external devices can be omitted, thereby reducing the processing load due to communication and minimizing the impact on PLC control. However, in the case of integration, the performance will depend on the performance of the basic unit 3, so it will be necessary to improve the performance of the basic unit 3.

[0095] <Summary> [Perspective 1] The present invention relates to an analysis device comprising: an execution engine that repeatedly executes a user program; an acquisition means that acquires operation record data including multiple time-series device values ​​collected by the execution of the user program; a model generation means that generates a model for each device based on learning of the acquired operation record data under normal conditions; an analysis means that analyzes abnormal devices that do not meet normal conditions according to the model, based on the acquired operation record data to be analyzed; and a report generation means that generates an analysis report that displays the analysis results of each device detected as an abnormal device in a synchronized manner on a time axis. According to this embodiment, it is possible to provide a report in which the analysis results of each device are synchronized.

[0096] [Perspective 2] In the above embodiment, the system further includes setting means for defining one or more control cycles. The model generation means learns the acquired driving record data based on the set definitions of the one or more control cycles, and the report generation means generates an analysis report that displays the analysis results of each device detected as an abnormal device, synchronized on a time axis according to the set definitions of the one or more control cycles. According to this embodiment, driving record data can be analyzed according to the defined control cycles, and the analysis results can be synchronized according to the cycle of each device.

[0097] [Perspective 3] In the above embodiment, the analysis device further includes a transmission means for transmitting screen information of a results display screen showing the contents of the analysis report output from the report generation means to an external device, and the results display screen is displayed on the display unit of the external device in an operable manner. According to this embodiment, the analysis report can be transmitted to an external device, and the analysis report can be analyzed on, for example, a higher-performance PC, enabling more detailed analysis and the display of a results display screen with a richer operating system.

[0098] [Perspective 4] In the above embodiment, the results display screen includes, as analysis results, a detection map showing the cycle of the detected abnormal device and the timing at which the abnormality was detected, a detection list showing the process and occurrence time of the detected abnormal device, camera footage, and at least one of an analysis comment indicating the cause of the detected unusual condition. According to this embodiment, the analysis results can be displayed in various forms and from multiple perspectives, supporting analysis by the operator.

[0099] [Perspective 5] In the above embodiment, the detection map, the detection list, the camera image, and the analysis comments can be operated in a time-linked manner. According to this embodiment, by operating on one display format of the analysis results, the analysis results in other display formats are also updated in conjunction, providing the operator with a more comfortable operating system.

[0100] [Perspective 6] In the above embodiment, the detection map shows the start and end timings of the cycle of the detected abnormal device in an identifiable shape, and the anomaly point indicating the timing at which the anomaly was detected is included within the shape. According to this embodiment, it is possible to identify the anomaly point within the cycle while confirming the start and end timings of the cycle, making it easier to analyze the anomaly.

[0101] [perspective 7] In the above embodiment, the camera image displays the image under analysis and the corresponding normal image in a comparable manner. According to this embodiment, abnormal images can be viewed in comparison with normal images, making it easier to identify abnormalities.

[0102] [Perspective 8] In the above embodiment, the normal video is displayed in synchronization with the control cycle of the video being analyzed. According to this embodiment, the two videos being compared can be synchronized more accurately.

[0103] [Perspective 9] In the above embodiment, the results display screen includes a seek bar indicating the playback position of the camera image. According to this embodiment, the playback position of the image being analyzed can be easily confirmed.

[0104] [Perspective 10] In the above embodiment, the results display screen further includes a filter setting area where conditions can be specified to narrow down the display items of the analysis report. According to this embodiment, unnecessary display items can be excluded from the results display screen, making it easier to analyze anomalies.

[0105] [Perspective 11] In the above embodiment, the filter setting area can be configured by specifying the device control cycle, specifying attribute information, and specifying events and errors, at least one of these. According to this embodiment, various options can be provided when the operator narrows down the displayed items.

[0106] [Perspective 12] In the above embodiment, the system further includes a display means for displaying the editing screen of the user program, and the editing screen can display the analysis report synchronized with the time axis of the editing screen. According to this embodiment, the analysis report can be displayed in conjunction with the user program, and analysis can be performed taking the user program into account.

[0107] [Perspective 13] In the above embodiment, the system further includes a receiving means for receiving a request to generate the analysis report, and a notification means for notifying the requester that the generation of the analysis report has been completed when the analysis report has been generated in response to the generation request by the report generation means. According to this embodiment, the operator can be notified that the generation of the analysis report has been completed, thereby realizing a more user-friendly operating system.

[0108] [Perspective 14] In the above embodiment, when a control cycle is not defined by the setting means, the analysis means analyzes the operation record data with a device that does not have a control cycle pattern as the target of analysis. According to this embodiment, an analysis report can be easily output without requiring the operator to perform a cycle pattern setting operation. Therefore, the operator can generate an analysis report on a trial basis without setting a cycle pattern, and can also perform analysis methods such as setting a cycle pattern to analyze the generated analysis report in more detail.

[0109] [Perspective 15] In the above embodiment, the report generation means generates an analysis report as the analysis result of a device that does not have a control cycle pattern, and the analysis report includes a message indicating that a control cycle has not been set and prompting the setting means to set the control cycle. According to this embodiment, it is possible to prompt the operator to set the cycle when they have forgotten to set it, and a more user-friendly operating system can be provided.

[0110] [Perspective 16] The present invention relates to an analysis system in which a data processing device and a programmable logic controller can communicate, comprising: an execution engine that repeatedly executes a user program; acquisition means for acquiring driving record data including multiple time-series device values ​​collected by the execution of the user program; model generation means for generating a model for each device based on learning of the acquired normal driving record data; analysis means for analyzing abnormal devices that do not meet normal conditions according to the model with respect to the acquired driving record data to be analyzed; and report generation means for generating an analysis report that displays the analysis results of each device detected as an abnormal device in a synchronized manner on a time axis. According to this embodiment, it is possible to provide a report in which the analysis results of each device are synchronized.

[0111] [Perspective 17] In the above embodiment, at least one of the acquisition means, the model generation means, the analysis means, and the report generation means is provided in the data processing device. According to this embodiment, it is possible to flexibly incorporate the configuration for realizing the present invention into appropriate components according to the development cost of the PLC, the performance of the data processing device, etc., thereby improving the degree of freedom in system design.

[0112] [Perspective 18] According to the above embodiment, the programmable logic controller comprises a CPU unit equipped with the execution engine and a recorder unit provided in the programmable logic controller that implements the acquisition means, and the data processing device comprises the model generation means, analysis means, and report generation means. According to this embodiment, it is possible to flexibly incorporate the configuration for realizing the present invention into appropriate components according to the development cost of the PLC, the performance of the data processing device, etc., thereby improving the degree of freedom in system design.

[0113] The invention is not limited to the embodiments described above, and various modifications and changes are possible within the scope of the gist of the invention.< / plc>

Claims

1. An analytical device, comprising: an execution engine that repeatedly executes a user program; an acquisition means for acquiring driving record data including a plurality of time-series device values ​​collected by execution of the user program; a model generation means for generating a model for each device based on learning of the acquired normal driving record data; analysis means for analyzing abnormal devices that do not satisfy normal conditions in accordance with the model for the acquired driving record data to be analyzed; a report generation means for generating an analysis report that displays the analysis results of each device detected as an abnormal device in synchronization on a time axis; An analytical device comprising:

2. further comprising a setting means for setting definitions of one or more control cycles; the model generation means performs learning of the acquired driving record data based on the definition of the one or more set control cycles; The analysis device according to claim 1, characterized in that the report generation means generates an analysis report that displays the analysis results of each device detected as an abnormal device in synchronization with a time axis in accordance with the definition of the one or more set control cycles.

3. a transmitting means for transmitting screen information of a result display screen showing the content of the analysis report output from the report generating means to an external device; 3. The analyzer according to claim 1, wherein the external device displays the result display screen on a display unit in an operable manner.

4. The analysis device according to claim 3, wherein the result display screen includes, as the analysis results, at least one of a detection map showing the cycle of the detected abnormal device and the timing at which the abnormality was detected, a detection list showing the process of the detected abnormal device and the time of occurrence, camera footage, and analysis comments showing the cause of the detection of the abnormal state.

5. The analysis device according to claim 4 , wherein the detection map, the detection list, the camera image, and the analysis comment can be operated in conjunction with each other along a time axis.

6. In the detection map, The start and end timings of the cycle of the detected abnormal device are indicated by a distinguishable shape, 6. The analyzer according to claim 4, wherein an abnormal point indicating the timing at which an abnormality was detected is included inside the shape.

7. 7. The analysis device according to claim 4, wherein the camera image displays an image of an object to be analyzed and an image of a normal state corresponding to the image of the object to be analyzed so as to be comparable.

8. 8. The analysis device according to claim 7, wherein the image in the normal state is displayed in synchronization with a control cycle of the image to be analyzed.

9. 9. The analysis device according to claim 4, wherein the result display screen includes a seek bar that indicates a playback position of the camera image.

10. 10. The analysis device according to claim 4, wherein the result display screen further includes a filter setting area in which conditions for narrowing down the display items of the analysis report can be specified.

11. 11. The analyzer according to claim 10, wherein the filter setting area allows a filter to be specified by at least one of specifying a control cycle of a device, specifying attribute information, and specifying an event or an error.

12. further comprising a display means for displaying an editing screen of the user program; 12. The analysis device according to claim 1, wherein the analysis report can be displayed on the editing screen in synchronization with a time axis of the editing screen.

13. a receiving means for receiving a request to generate the analysis report; a notification means for notifying a requester that generation of the analysis report has been completed when the analysis report is generated by the report generation means in response to the generation request; The analytical device of claim 12 further comprising:

14. The analysis device according to claim 2, characterized in that, when a control cycle is not defined by the setting means, the analysis means analyzes the driving record data by analyzing devices that do not have a cycle pattern of the control cycle.

15. the report generation means generates an analysis report of an analysis result of a device that does not have a cycle pattern of a control cycle; 15. The analyzer according to claim 14, wherein the analysis report includes a message indicating that a control cycle has not been set and prompting the user to set a control cycle using the setting means.

16. An analytical system in communication with a data processing device and a programmable logic controller, an execution engine that repeatedly executes a user program; an acquisition means for acquiring driving record data including a plurality of time-series device values ​​collected by execution of the user program; a model generation means for generating a model for each device based on learning of the acquired normal driving record data; analysis means for analyzing abnormal devices that do not satisfy normal conditions in accordance with the model for the acquired driving record data to be analyzed; a report generation means for generating an analysis report that displays the analysis results of each device detected as an abnormal device in synchronization on a time axis; An analysis system comprising:

17. 17. The analysis system of claim 16, wherein at least one of the acquisition means, the model generation means, the analysis means, and the report generation means is provided in the data processing device.

18. The programmable logic controller a CPU unit including the execution engine; a recorder unit provided in the programmable logic controller that realizes the acquisition means; Equipped with The data processing device includes:

17. The analysis system of claim 16, comprising the model generation means, the analysis means, and the report generation means.

19. 1. A method for controlling a system in which a data processing device and a programmable logic controller can communicate, comprising: repeatedly executing a user program; an acquisition step of acquiring driving record data including a plurality of time-series device values ​​collected by execution of the user program; a model generation step of generating a model for each device based on learning of the acquired normal driving record data; an analysis step of analyzing the acquired driving record data to be analyzed for abnormal devices that do not satisfy normal conditions according to the model; a report generation step of generating an analysis report that displays the analysis results of each device detected as an abnormal device in synchronization on a time axis; A method for controlling a system, comprising: