Analysis device

The analytical device addresses the challenge of analyzing large PLC data volumes by automating the identification of abnormal devices, simplifying troubleshooting and quality control through efficient data analysis.

JP2025156642APending Publication Date: 2025-10-14KEYENCE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025135628
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-08-18
Publication Date
2025-10-14

AI Technical Summary

Technical Problem

Existing systems face challenges in efficiently analyzing large volumes of data from programmable logic controllers (PLCs) to identify abnormal devices and require specialized knowledge for troubleshooting and quality control, leading to time-consuming data analysis and recovery processes.

Method used

An analytical device that includes a storage means for PLC information, an execution engine for user programs, and a processing means to analyze abnormal symbols in driving record data, providing analysis reports without requiring extensive expertise.

Benefits of technology

The system efficiently identifies unusual device behavior and provides analysis reports, simplifying the process of troubleshooting and quality control by automating the analysis of large data volumes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025156642000001_ABST
    Figure 2025156642000001_ABST
Patent Text Reader

Abstract

To efficiently analyze a large amount of data by utilizing information other than information on devices and variables held by a basic unit, and to extract and report important data from the analysis results of a large amount of data.SOLUTION: An analysis device includes: storage means for storing attribute information on a device determined by analyzing PLC information different from a symbol value, among pieces of information related to a programmable logic controller; an execution engine that repeatedly executes a user program; acquisition means for acquiring operation record data including a plurality of time-series symbol values collected by execution of the user program; and processing means for outputting, based on the PLC information stored in the storage means, an analysis report obtained by analyzing an abnormal symbol that does not satisfy a normal condition for the acquired operation record data.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an analytical device, a control method thereof, and an analytical system. [Background technology]

[0002] A programmable logic controller (PLC) is a controller that controls industrial machinery such as manufacturing equipment, conveying equipment, and inspection equipment in factory automation (Patent Documents 1 and 2). A PLC controls various expansion units and controlled devices by executing user programs such as ladder programs created by programmers. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 5661222 [Patent Document 2] Japanese Patent Application Publication No. 2018-097662 Summary of the Invention [Problem to be solved by the invention]

[0004] In order to monitor the operation of PLCs and the industrial machinery controlled by them, it is desirable to collect and utilize the data held by PLCs. A PLC has a base unit (CPU unit) and an expansion unit connected to it. The base unit controls the expansion unit by executing user programs such as ladder programs. The expansion unit controls the industrial machinery according to commands from the base unit and returns the control results to the base unit.

[0005] Furthermore, these control results and other data are used for troubleshooting and quality control. Therefore, there is a need to accumulate and analyze this data and obtain analysis results quickly for recovery. However, recording data from all devices related to PLCs results in storing a huge amount of data, and identifying abnormal devices requires analyzing this huge amount of data (all devices), which is a time-consuming task. Furthermore, identifying abnormal devices from the massive amount of analysis results and recovering the system requires experience and knowledge. Therefore, there is a need for a system that can efficiently analyze the massive amount of data related to each device and display the analysis results without requiring sufficient specialized knowledge or experience.

[0006] In view of the above problems, the present invention aims to efficiently analyze huge amounts of data by utilizing information other than the devices and variables held by basic units. Another aim is to extract and report important data from the analysis results of huge amounts of data. [Means for solving the problem]

[0007] The present invention is characterized in that it comprises, for example, an analysis device comprising: a storage means for storing PLC information that is different from symbol values ​​among information related to a programmable logic controller; an execution engine for repeatedly executing a user program; an acquisition means for acquiring driving record data including a plurality of symbol values ​​in a time series collected by the execution of the user program; and a processing means for outputting an analysis report that analyzes abnormal symbols that do not satisfy normal conditions in the acquired driving record data based on the PLC information stored in the storage means. [Effects of the Invention]

[0008] According to the present invention, information about devices that behave unusually is provided to the user. [Brief explanation of the drawings]

[0009] [Figure 1]Diagram explaining a PLC system [Figure 2] Diagram explaining the hardware of PC2a [Figure 3] Diagram explaining the hardware of PC2b [Figure 4] Diagram explaining PLC hardware [Figure 5] A diagram explaining the functions realized by a PC's CPU [Figure 6] Diagram explaining the functions realized by the PLC CPU [Figure 7] Diagram explaining information about PLC [Figure 8] Diagram explaining information about PLC [Figure 9] Diagram explaining information about PLC [Figure 10] Flowchart showing the basic flow [Figure 11] Flowchart showing the model generation flow [Figure 12] Flowchart showing the analysis flow [Figure 13] Flowchart showing the flow for displaying analysis results [Figure 14] Diagram explaining the results display screen [Figure 15] Diagram explaining the relationship map [Figure 16] Flowchart showing a modified example of the model generation flow [Figure 17] A diagram explaining the discrimination control of cycle patterns [Figure 18] Diagram showing analysis control when not learning [Figure 19] Illustration explaining the warning when a cycle is not set [Figure 20] Diagram explaining model reliability [Figure 21] Diagram explaining a modified example of a PLC system DETAILED DESCRIPTION OF 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 features described in the embodiments are necessarily essential to the invention. Two or more of the features described in the embodiments may be arbitrarily combined. Furthermore, identical or similar configurations are given the same reference numerals, and duplicate descriptions will be omitted. To distinguish between multiple configurations, a lowercase alphabet may be added to the end of the reference numeral. When describing matters common to multiple configurations, the lowercase alphabet may be omitted.

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

[0012] FIG. 1 is a conceptual diagram showing an example of the configuration of a PLC system according to an embodiment of the present invention. As shown in FIG. 1, the PLC system includes a PC 2a for editing user programs such as ladder programs, a PC 2b for displaying analysis results, a PLC 1 for controlling various industrial machines installed in a factory or the like, and a field device 10 such as a camera connected to the PLC 1. PC is an abbreviation for personal computer. Note that, below, when simply referred to as PC 2, the configuration and control of PC 2a and PC 2b are explained. User programs may be written using a graphical programming language such as a ladder program or a flowchart-style motion program such as SFC (Sequential Function Chart), or a high-level programming language such as C. For convenience of explanation, the user programs executed by the basic unit 3 are assumed to be ladder programs. The PLC 1 includes a basic unit 3 with a built-in CPU and one or more expansion units 4. One or more expansion units 4 are detachable from the basic unit 3.

[0013] The base 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 base unit 3. The display unit 5 changes its display content depending on the operation of the operation unit 6. The display unit 5 typically displays the current values ​​(device values) of devices within the PLC 1 and error information generated within the PLC 1. Here, "device" refers to various devices (relays, timers, counters, etc.) included in the base unit 3 and expansion units 4. It also refers to a memory area provided for storing device values ​​(device data), and may be referred to as device memory. The device memory is nonvolatile memory and may be composed of rewritable nonvolatile ROM, or volatile RAM or the like may be made nonvolatile by battery backup. ROM is an abbreviation for read-only memory. RAM is an abbreviation for random access memory. Device values ​​are information indicating 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 by the user program. Device values ​​can be typed as bits or words. A bit device stores a 1-bit device value, such as 0 / 1, ON / OFF, H / L, etc. A word device stores a 1-word device value. A variable may be specified as a device to be collected by the data utilization program described in detail below. A variable is also a storage means for holding information and is accessed by the execution engine according to the user program. Therefore, in the following description, the term "device" also refers to a variable. Note that memory that holds devices may be called device memory. Also, memory that holds collected data may be called data memory. The PLC1 may be configured to handle variables in addition to devices, and devices and variables are called symbols, and the values ​​indicated by symbols are called symbol values.

[0014] The expansion unit 4 is provided to expand the functions of the PLC 1. Field devices (controlled devices) 10 corresponding to the functions of the expansion unit 4 may be connected to the expansion unit 4, and each field device 10 is thereby connected to the basic unit 3 via the expansion unit 4. The field device 10 may be an input device such as a sensor or a camera, or an output device such as an actuator. Furthermore, multiple field devices may be connected to one expansion unit 4.

[0015] For example, the expansion unit 4b may be a positioning unit that drives a motor (field device 10) to position a workpiece, or may be a counter unit that 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 including 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 may also be called a CPU unit. A system including the PLC 1 and PC 2 may also 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. However, the collection unit may be provided in the basic unit 3 or in another expansion unit. The analysis unit 4a can also function as an analysis device that analyzes the collected data in accordance with instructions from the basic unit 3 or at a predetermined timing. Note that in this embodiment, an example is described in which the analysis unit 4a operates as an analysis device. However, this is not intended to limit the present invention. The basic unit 3 may function as the analysis device, or an external device such as PC 2a or 2b may function as the analysis device. The flow (flow program) described below is merely an example of a data utilization program. The basic unit 3 may also be called a CPU unit. The system including PLC1 and PC2 may be called a programmable logic controller system.

[0017] PC2a is a computer operated primarily by a programmer. Meanwhile, PC2b is a computer operated primarily by a field technician. PC2a may be referred to as a programming support device (setting device). PC2b may also be a programmable display whose screen is configured by a user. In this case, the screen displaying the analysis results, etc., may be configured by the user, or a web browser function may be pre-installed and used to display the analysis results, etc. PC2 is, for example, a portable notebook or tablet personal computer or a smartphone, and is an external computer equipped with a display unit 7 and an operation unit 8. The external computer is a computer external to 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 base unit 3 of PLC1 via a communication cable 9, such as a Universal Serial Bus (USB) cable. For example, PC2a sends the converted ladder program to the base unit 3. The base unit 3 converts the ladder program into machine code and stores it in its memory. Although the mnemonic code is transmitted to the basic unit 3 in this example, the present invention is not limited to this. For example, the PC 2a may convert the mnemonic code into an intermediate code and transmit the intermediate code to the basic unit 3.

[0018] Although not shown in Fig. 1, the operation unit 8 of the PC 2 may include a pointing device such as a mouse connected to the PC 2. The PC 2 may also be configured to be detachably connected to the base unit 3 of the PLC 1 via a communication cable 9 other than a USB cable. The PC 2 may also be connected to the base unit 3 of the PLC 1 via wireless communication without using the communication cable 9.

[0019] <Programming support device> Figure 2 is a block diagram for explaining the electrical configuration of PC 2a. As shown in Figure 2, PC 2a includes CPU 11a, display unit 7a, operation unit 8a, storage device 12a, and communication unit 13a. Display unit 7a, operation unit 8a, storage device 12a, and communication unit 13a are each electrically connected to CPU 11a. Storage device 12a includes RAM, ROM, HDD, and SSD, and may further 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] A user of the PC 2a causes the CPU 11a to execute the project editing program 14a stored in the storage device 12a, and edits project data 15 through the operation unit 8a. In other words, the PC 2a is an engineering tool and functions as a program creation support device. When the CPU 11a executes the project editing program 14a, a project creation unit 16 and a project transfer unit 17 are realized. The project creation unit 16 creates project data 15 according to user input. The project transfer unit 17 transfers the project data 15 to the PLC 1. The project data 15 includes one or more user programs (e.g., ladder program, control program, motion program, data utilization program), configuration information for the base unit 3 and expansion units 4, drawing data for the WebHMI, setting information for specific functions provided in the base unit 3 and expansion units 4, etc. The configuration information includes information on the connection positions of multiple expansion units 4 relative to the base unit 3 and device allocation information. The drawing data may include information indicating the functions of the base 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, photography function). The drawing data is a group of display components for realizing the WebHMI, and is realized by markup data describing the front-end structure (e.g., HTML data), style data describing decoration (e.g., CSS data), and code describing dynamic processing (e.g., JavaScript® code). The style data describing decoration may be provided in a file format, for example, or may be called by a statement calling an external style data file within the markup data describing the structure. The code describing dynamic processing may be provided in a file format, for example, or may be called by a statement calling an external code file within the markup data describing the structure. A front-end in a format that can be used by calling an external style data file or external code file is highly reusable and maintainable, and can utilize, for example, general-purpose front-end components. Hereinafter, drawing data will be referred to as display components.The data utilization program includes programs for collecting control data (such as device values) in the PLC 1, processing the data, and creating data to be passed to the WebHMI. The setting information for specific functions includes setting information for functions (e.g., data collection function, communication function, positioning function) provided in the base unit 3. For example, for the data collection function, this includes setting information for data collection conditions and data collection targets. It also includes setting information for functions of the expansion unit 4 (e.g., communication function, positioning function, data utilization function, and photography function). 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 base unit 3 via the communication cable 9a. The project transfer unit 17 transfers the project data to the base 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 view the dashboard> Fig. 3 is a block diagram for explaining the electrical configuration of PC 2b. As shown in Fig. 3, PC 2b includes 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 CPU 11b. The storage device 12b includes RAM, ROM, HDD, SSD, and may further include a removable memory card.

[0022] The CPU 11b executes the web browser program 14d to implement the web browser 18. The web browser 18 accesses the setting page of the data utilization application provided by the analysis unit 4a and the dashboard page via the communication unit 13b. The CPU 11b also displays the identification result (determination result) on the display unit 7b in accordance with screen information indicating the identification result (determination result) when an abnormality occurs, which is transmitted from the analysis unit 4a.

[0023] <plc> Fig. 4 is a block diagram for explaining the electrical configuration of the PLC 1. As shown in Fig. 4, the basic unit 3 includes a CPU 31, a display unit 5, an operation unit 6, a storage device 32, and a communication unit 33. The display unit 5, the operation unit 6, the storage device 32, and the communication unit 33 are each electrically connected to the CPU 31. The storage device 32 may include RAM, ROM, a memory card, etc. The storage device 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 scan-time record of the operating status of PLC1. For example, it records the symbol values ​​and collection times of all symbols related to PLC1 operation in chronological order for each scan. All operation-related symbols may refer to all symbols used in a user program, such as a ladder program, or all symbols included in a program or unit selected by the user. In this case, symbols to be included in the operation record can be selected in meaningful units, such as programs or units, and symbols can be added or removed individually. For example, when a problem occurs, an operation record can be generated that records the symbol values ​​and collection times of all symbols related to PLC1 operation in chronological order for each scan, before and after the problem occurred. This allows accurate understanding of what happened at the time of the problem, even after the problem occurred. Operation records contain a large amount of information required to recreate the situation at the time. However, if too much information is included, the data volume of the operation record increases, making it difficult to handle and increasing the burden of collecting the operation record. Therefore, the user can select the program or unit to be collected.

[0025] In addition to symbols, operation records may also include chronological camera images along with the time of capture. This allows, for example, when a problem occurs, to accurately determine what happened before and after the problem occurred, even afterward. By including camera images showing changes in the appearance of the equipment in the operation record, camera images can be recorded in conjunction with the chronological order of the user program. Write histories from external devices such as HMIs (human-machine interfaces) and PCs, and write histories from PLCs, may also be included in the operation record as change-point events. This allows, for example, to check in chronological order what change-point events occurred before and after the problem occurred.

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

[0027] Here, we will provide additional information about the unit internal bus 90. This unit internal bus 90 is a communication bus used for input / output refresh. Input / output refresh is a process for updating device values ​​between the basic unit 3 and the expansion unit 4. Input / output refresh is performed each time a 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 in accordance with instructions (device values) from the basic 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 basic unit 3 by input / output refresh. The control results stored in the device may also be transferred to the basic unit 3 in accordance with a read command from the basic unit 3, even at a timing different from the input / output refresh. The memory 42 includes RAM, ROM, etc. In particular, the RAM has a storage area reserved for use as a buffer memory. The memory 42 may also have a buffer that temporarily stores data (e.g., still image data or video data) acquired by the field device 10.

[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 analyzes device values ​​collected by the basic unit 3 to create an analysis report including the analysis results. For example, the CPU 41a executes a driving record analysis application as a data utilization application to analyze symbol values ​​included in the driving record data, thereby identifying abnormal symbols and the time at which the symbols became abnormal, and creates an analysis report including analysis results that associate the abnormal symbols with the time at which the symbols became abnormal. The driving record data includes information for reproducing the situation around the time a driving record storage event occurred, and therefore may be managed in association with the analysis report. Furthermore, the driving record data includes symbol values ​​of many symbols to reproduce the situation around the time a driving record storage event occurred, resulting in a large data size. For this reason, for example, the CPU 41a may read data necessary for the analysis report from the driving record data and add the data to the driving record data as data for the analysis report. The data for the analysis report may be a direct copy of the data required for the analysis report that was originally included in the driving record data, tagged as data for the analysis report, and added to the driving record data, or the data may be processed for the analysis report and added to the driving record data.

[0030] If the driving record data includes camera images, the situation around the time of the driving record storage event 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 camera images. Because camera images have a large data size, only the necessary camera image data may be downloaded in part when a click or scroll operation is received in the UI for playing back the camera images. For example, when creating the analysis report, the CPU 41a may process the camera images according to the display order in the analysis report, or generate index information indicating the correspondence between time and the storage location of the camera images, allowing the camera images corresponding to the time to be downloaded quickly and in part.

[0031] Narrowly speaking, an analysis report means the analysis result itself, but broadly speaking, it may mean a web application that displays the analysis result 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. If 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 display component. These display components are realized by markup data that describes the front-end structure, style data that describes 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 PC 2b> 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. Also, 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. The cooperation unit 64 performs time management so that the playback time in the analysis report and the playback time of the driving record are synchronized.

[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 (e.g., unique identification information or the save path name in the PLC 1) that can identify the driving record. The playback unit 67 plays back the driving record stored in the storage device 12 and displays it on the display unit 7. The playback unit 67 may also waveform-display the time-series device values acquired in real time from the PLC 1 or the time-series device values included in the driving record.

[0035] <Functions of PLC 1> FIG. 6 illustrates the functions realized by the CPU 31 and CPU 41a executing the control program in the PLC 1. In the CPU 31, the command processing unit 71 interprets commands received from the 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 transfers the request signal to the CPU 41a. When a response signal to the request signal is received from the CPU 41a, the command processing unit 71 transfers the response signal to the PCs 2a and 2b. The command processing unit 71 may also be provided in the analysis unit 4a. In this case, commands from the PC 2a are processed by the command processing unit 71, and commands from the PC 2b are processed by the command processing unit provided in the analysis unit 4a. The collection unit 72 collects symbol values ​​(device values ​​and values ​​stored in variables) from the basic unit 3 and the expansion unit 4b and stores them in the ring buffer 36. The collection setting of the collection unit 72 can be performed 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 the PLC 1 based on the collected symbol values, etc. For example, the logging unit 73 may determine whether the collected symbol values ​​satisfy the recording conditions. If the collected symbol values ​​satisfy the recording conditions, the logging unit 73 saves the symbol values ​​as an operation log 76 in the operation record 74. The logging unit 73 also saves, in the operation record 74, project data 75 that was being executed when the operation record 74 was created. Furthermore, the logging unit 73 notifies the analysis unit 83 that the operation record 74 has been created.

[0036] In the CPU 41a, the protocol conversion unit 81 converts the protocol of the HTTP request encapsulated and transferred from the PC 2b and extracts it from the request signal. The protocol conversion unit 81 encapsulates response information sent from the Web server 82 in response to the HTTP request and passes it to the CPU 41a. The protocol conversion unit 81 may provide a transparent tunnel (e.g., a TCP tunnel). The Web server 82 provides the PC 2b with an analysis report created by the analysis unit 83. The analysis unit 83 analyzes the operation log 76 in the driving record 74 using a model described below, 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 it to the driving record 74 including the analysis result 77 in addition to the project data 75 and the operation log 76. The driving record 74 is stored in the driving record storage unit 37. Alternatively, the analysis result 77 may be stored in the memory 42a of the analysis unit 4a. The notification issuing unit 84 issues a notification when the analysis result 77 is issued. This notification is sent to the CPU 11b.

[0037] For example, when the web browser 18 requests an analysis report by 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) that 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 transmitted 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 analysis unit 85 analyzes information on the programmable logic controller (PLC) that can be obtained from the basic unit 3 and determines attribute information for each device. Details of the information on the PLC will be described later with reference to FIGS. 7 to 9. The model generation unit 86 creates a model that will be master data for later comparison by the analysis unit 83 with the operation record data. The model is created by adding the attribute information determined by the analysis unit 85 for each device. The result display unit 87 generates an analysis report, which is a display screen for displaying the analysis result 77 on the Web browser 18 of the PC 2b. Details of the analysis report will be described later with reference to FIG. 14.

[0039] <Information on the PLC> Hereinafter, with reference to FIGS. 7 to 10, information on the PLC, which is information specific to the PLC, will be described. As will be described later, the information on the PLC includes various types of information. However, since it is information specific to the PLC1 that can be recognized from the user program executed by the PLC1, the unit configuration of the PLC1, and the communication configuration, hereinafter, the information on the PLC will also be collectively referred to as PLC-specific information. The PLC-specific information includes, for example, various types of information such as unit configuration information, connection information of communication devices and communication setting information, and analysis information of the user program. Further, the analysis information of the user program further includes information different from the symbol value of the symbol, such as the number of times the device is used, input device information, and device type information. According to the present embodiment, these PLC-specific information is utilized in order to suitably perform analysis of symbols such as devices and variables and to suitably output the analysis result. More specifically, the symbol value of symbols such as the device value of all devices is narrowed down to a predetermined attribute according to the PLC-specific information for analysis, or the PLC-specific information is utilized to create an analysis report narrowed down to a predetermined attribute. The PLC-specific information may include motion-related symbols, motion settings, communication settings, communication partner / sensor types, event / error information, and camera-related information.

[0040] FIG. 7 illustrates unit configuration information and communication device connection information. Reference numeral 700 denotes the unit configuration information for PLC1. As described above, PLC1 includes a base unit 3 and one or more expansion units 4. The unit configuration information indicates the configuration of all units included in PLC1. As shown in reference numeral 700, the unit configuration information includes at least a unit number 701, a unit name 702, and device information 703 assigned to each unit. For example, adding information indicating which unit a specific device is assigned to allows the importance of the device during analysis to be determined based on the attributes of the assigned unit. Unit attributes include various attributes such as base unit, IO input unit, analysis unit, motion unit, recorder unit, and camera unit. For example, an IO input unit is assigned an external input device such as a sensor, making it an important target for analysis in abnormal situations. This information allows even those unfamiliar with ladder diagrams to easily analyze the cause of a problem. Furthermore, in the case of an analog input unit, it is possible to suspect an abnormality in the robot that is monitoring the connected current value, etc., and in the case of a motion unit, it is information that can be used to suspect an abnormality in the connected moving part. In this way, by utilizing the unit configuration information, it is possible to narrow down the analysis target and the analysis results. Here, the unit configuration information is shown in table format, but this is not intended to limit the present invention, and it may be configured in other data formats.

[0041] Reference numeral 710 indicates connection information for communication peripheral devices of PLC1. The connection information includes information indicating which communication slave a device is associated with and information indicating its communication settings. The connection information allows the device's communication partner to be identified, enabling efficient device analysis and optimal narrowing down of analysis results. The connection information 710 shown in FIG. 7 includes connection information and communication setting information for units 711, 712, and 716 and devices 713-715 connected to unit 712. For example, reference numeral 715 indicates a sensor, and includes related information such as communication settings, such as a sensor signal determined by comparing the amount of received light with a threshold as bit information, and a setting value and the amount of received light as word information. Because sensors frequently malfunction, analyzing the sensor signal is given high priority. Furthermore, the amount of received light is given high priority because it indicates the state. Furthermore, because actuators operate equipment, they frequently malfunction, and devices assigned to them are given high priority for analyzing. Note that, like the unit configuration information, the connection information may be in any data format.

[0042] 8 is a diagram illustrating an example of analysis information obtained by analyzing a ladder, which is a user program. Reference numeral 800 indicates an example of a function that displays the usage status of devices in PLC1, 810 indicates comments added by the operator to each device, and 820 indicates the input and output contacts of the device.

[0043] The usage count display 800 is a screen used by the engineering tool of the base unit 3, which is a CPU unit. It includes display areas for selection condition settings 801, search settings 802, and search results 803. The PLC 1 has the function of selecting devices and programs, executing searches, and acquiring and displaying the number of times each device has been used or unused. In other words, the base unit 3 stores information on the number of times each device has been used. Information on the number of times a device has been used is useful for narrowing down the analysis targets and results of operation record data. For example, even if not used in the ladder, many devices are activated or changed in the base unit 3 or expansion unit 4. Devices may also operate unintentionally. Such devices are often redundant and may be detected unnecessarily when comparing all devices. However, they have low priority as targets for troubleshooting. Therefore, the number of times a device is used can be used to identify such devices and narrow down the analysis targets and results. On the other hand, devices with high usage counts may be controlled to have a higher priority as targets for analysis, etc.

[0044] In the device comment 810, 811 indicates the device number, and 812 indicates a comment entered by the operator. As shown in FIG. 8, the operator does not attach comments to all devices, but usually attaches comments to devices that are used. Therefore, devices to which comments are attached can be determined to be important devices, and can be set to a high priority as a target for analysis, etc. On the other hand, devices to which no comments are attached can be set to a low priority as a target for analysis, etc. In the example of FIG. 8, devices MR00 to MR03, MR07, and MR08 can be set to a high priority as a target for analysis, etc., and devices MR04 to MR06 can be set to a low priority.

[0045] Input / output contacts 820 indicate whether each device has input and output contacts. 821 indicates the device number, 822 indicates the input contact, and 823 indicates the output contact. By analyzing the ladder program, the basic unit 3 can refer to the input / output contacts of each device and identify whether the device of interest receives input from an external source. In the example of Figure 8, a device such as device LR300 that only has input contacts and no output contacts is likely to receive external input from communication or I / O. As mentioned above, if it is an external input, it has a high priority as a target for analysis, and the device value in question can be useful information.

[0046] Figure 9 is also a diagram illustrating an example of analysis information obtained by analyzing a ladder, which is a user program. 900 indicates type information that each device can support, and 910 indicates the value when the same device value is expressed using different type information. The type information that each device can support is obtained by analyzing the instruction words of the ladder program. For example, if a load instruction that reads a device value from a device specifies a device called DM0 as an operand and the instruction word has a suffix .L, such as LDA.L, the type of device DM0 is recognized as a two-word signed integer corresponding to .L.

[0047] In 900, 901 indicates the type and 902 indicates the number of bits. Each device is classified into bit type devices of 0 and 1, word type devices that take analog values, and floating-point type devices. Word devices are further classified into 1-word unsigned integers (0 to 65535), 1-word signed integers (-32768 to 32767), 2-word unsigned integers (0 to 4294967295), and 2-word signed integers (-214783648 to 214783647). Floating-point types include 32-bit single-precision floating-point types and 64-bit double-precision floating-point types. As such, the device values ​​of each device can take various types.

[0048] In 910, 911 indicates the device number, 912 indicates the current value, and 913 indicates the display format of the current value. In 910, the same current value is displayed in multiple display formats. As shown in 910, even the same value is interpreted as a different value depending on the type. In this way, if the device value is not analyzed taking the type into consideration, the meaning of the data may be completely different, and correct analysis may not be possible.

[0049] An example of analyzing a ladder program in a user program has been described using Figures 8 and 9. However, the present invention is not limited to this, and user programs written in other programming languages ​​may be analyzed and utilized for analysis, etc. For example, in addition to ladder programs, there are various types of user programs, such as script programs, flow programs, motion programs, and graphical programs. In particular, script programs and flow programs can implement logic similar to that of ladder programs. Therefore, by analyzing at least the script programs and flow programs, the analysis information described using Figures 8 and 9 can be obtained.

[0050] <Basic flow> 10 shows the basic flow of model generation, analysis of driving record data, and output of the results according to this embodiment. The processes described below will be 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, this is not intended to limit the scope of 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) communicatively connected to the programmable logic controller.

[0051] In S1, the CPU 31 of the basic unit 3 sets collection settings and analysis settings in the collection unit 72 according to information input via PC 2a. For example, the CPU 31 can set the collection target, collection period, save destination, file name, etc. as collection settings. Analysis settings include, for example, settings for the start and end of the cycle to be analyzed. Here, an example has been described in which the basic unit 3 sets collection settings and analysis settings. However, the CPU 41a of the analysis unit 4a can also set collection settings according to 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, monitoring item settings, etc. as analysis settings according to information input via the setting screens displayed on the display units 7a and 7b of PCs 2a and 2b. Note that these analysis settings can also be executed by the CPU 41a of the analysis unit 4a. Thereafter, in S2, the CPU 31 collects driving record data as model creation data according to the collection settings set in S1 and stores the data in the driving record storage unit 37. More specifically, all device values ​​collected in accordance with the collection settings are temporarily stored in the ring buffer 36, and necessary data is then stored from the ring buffer 36 in the driving record storage unit 37 as driving record data.

[0052] Next, in S3, the CPU 41a of the analysis unit 4a creates a model using the collected driving record data. The model may include information for each device, which classifies the patterns of each device based on feature quantities such as constants, bit patterns, and analog values, and information indicating the timing at which device values ​​change. In other words, the model learns the change patterns of each device when it is operating normally. The detailed processing of S3 will be described later using FIG. 11.

[0053] Thereafter, in S4, the CPU 31 of the basic unit 3 determines whether a trigger for analyzing the driving record data has occurred. The trigger is basically triggered when an unusual abnormality occurs during driving, and the conditions for this to occur include, for example, when an error bit is set, when a specified event occurs from an application such as a monitoring application, or when a manual instruction is received from an operator. If a trigger has occurred, the process proceeds to S5.

[0054] In S5, the CPU 31 of the basic unit 3 collects each device value and saves the driving record data for analysis in the driving record storage unit 37. Typically, a trigger occurs after some unusual change occurs. Therefore, data before and after the trigger is acquired here to identify the cause of such a change. As described above, the device values ​​of all devices during driving 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 driving record storage unit 37 in accordance with the analysis settings set in S1.

[0055] Thereafter, in S6, the CPU 41a of the analysis unit 4a acquires the time-series data collected by the basic unit 3, compares it with the model generated in S2, and executes an analysis process. Details of S6 will be described later with reference to FIG. 12. Furthermore, in S7, the CPU 41a generates display data indicating the results based on the analysis results, transmits the generated display data to the PC 2b or an external device via the communication unit 43, and ends the process. For example, the analysis results are displayed to the operator on the PC 2b. Details of the process on the PC 2b will be described later with reference to FIG. 13. Details of the result display screen will be described later with reference to FIG. 14.

[0056] 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 expansion unit that executes the data utilization application. 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 monitored devices and variables in real time, and an operation record analysis application that analyzes operation records to reproduce the operating state of the PLC1 and generates an analysis report. Examples of data utilization applications include a calculation application that calculates KPIs (Key Performance Indicators) such as availability, yield, or cycle time. The monitoring application is an application for continuous monitoring based on the symbol values ​​of the PLC1 symbols. For example, the monitoring application 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 has, for example, a web server function and can be configured from a general-purpose browser via the communication unit 43. Configuration from a general-purpose browser allows configuration or monitoring from a PC, smartphone, or tablet without the need for a dedicated tool such as a program creation support device. The monitoring application also automatically sets thresholds for one or more symbols to be continuously monitored based on the symbol values ​​of the symbols over multiple cycles under normal conditions. For example, the monitoring application accepts user instructions and automatically sets thresholds for monitoring the status of multiple symbols to be continuously monitored based on the variance in the symbol values ​​over multiple cycles under normal conditions. The thresholds are set to monitor unusual conditions, i.e., abnormal conditions, and the monitoring application issues an alarm when the symbol value of the monitored symbol exceeds the threshold.In this way, for example, the PLC 1 can detect signs before the equipment stops. The PLC 1 may set an alarm, generated when the symbol value of a monitored symbol exceeds a threshold as a condition for saving the driving record, as a result of symptom monitoring by the monitoring application. The PLC 1 uses the occurrence of an alarm by the monitoring application as an event trigger and saves driving record data before and after the trigger. The PLC 1 turns on the save completion device when saving of the driving record data is completed. The driving record analysis application may automatically analyze the driving record data upon completion of saving the driving record data. For example, the driving record analysis application may analyze the driving record data in response to turning on the save completion device. The driving record analysis application analyzes the symbol values ​​of the symbols being analyzed (e.g., device values ​​of all bit devices) and extracts symbols that are candidate factors for the alert. In this way, the driving record analysis application automatically analyzes the driving record data saved when an alarm is generated by the monitoring application to identify the cause of the alarm generated by the monitoring application and extracts unusual symbols from the driving record data. As a result, the CPU 41a constantly monitors the status of the equipment using the symptom monitoring function of the monitoring application and issues an alert when the cause of the change occurs. Furthermore, the CPU 41a automatically analyzes the alert cause and extracts any unusual symbols. In other words, the PLC 1 constantly monitors the symbol values ​​to monitor for symptoms of the controlled equipment, notifies of the symptoms before an alarm causes the controlled equipment to stop, and automatically analyzes the cause of the symptoms.

[0057] <Model generation flow> 11 shows details of the model generation process of S3 according to this embodiment. The processes described below will be described as processes executed by the CPU 41a of the analysis unit (extension unit) 4a. However, this is not intended to limit the scope of the present invention, and some of the processes may be executed by other units, all of the processes may be executed by one unit, or they may be executed by an external device (analysis device) communicatively connected to the programmable logic controller.

[0058] First, in S31, the CPU 41a of the analysis unit 4a acquires normal operation record data for model creation from the basic unit 3. The operation record data is the data stored in the operation record memory unit 37 in S2. Status information, such as normal operation, error, or stopped, may be acquired from the basic unit 3 to acquire symbol values ​​for normal operation. This allows normal data to be acquired automatically. The status information may be acquired using the symbol values ​​of symbols indicating the status information. Next, in S32, the CPU 41a acquires information other than device values. The acquired information other than device values ​​is information specific to the basic unit 3 and includes information about the programmable logic controller described above. This information is stored in the basic unit 3 and is periodically updated. The acquired information may also include information acquired by a field device 10, such as a camera connected to the expansion unit 4b, such as camera image data. This data may be acquired via the basic unit 3, or may be acquired directly from the expansion unit 4b, for example.

[0059] Next, in S33, the CPU 41a analyzes information other than the device values ​​acquired in S32 and adds attribute information to each device. The information acquired in S32 may be in the form of analysis information already analyzed by the basic unit 3. In this case, the CPU 41a identifies and adds attribute information to each device according to the analysis information. The attribute information indicates which unit the device is connected to, whether it is an input device, and the word type (16-bit or 32-bit, signed or unsigned, integer or floating point, etc.). This attribute information is used to determine the priority of devices to be analyzed in the analysis flow described below and to interpret device values ​​during analysis. In other words, according to this embodiment, the attribute information obtained by analyzing information about these programmable logic controllers is used to narrow down the analysis, etc., and to optimally perform analysis processing and display analysis results.

[0060] Next, in S34, the CPU 41a generates a model from the driving record data acquired in S31 based on the added attribute information, and ends the process. The generated model is master data used during analysis, and as described above, may include information for each device that classifies the patterns of each device based on feature quantities such as constants, bit patterns, and analog values, and information indicating the timing at which device values ​​change.

[0061] <Analysis flow> 12 shows details of the analysis process of S6 according to this embodiment. The processes described below will be described as processes executed by the CPU 41a of the analysis unit (extension unit) 4a. However, this is not intended to limit the scope of the present invention, and some of the processes may be executed by other units, all of the processes may be executed by one unit, or they may be executed by an external device (analysis device) communicatively connected to the programmable logic controller.

[0062] First, in S61, the CPU 41a of the analysis unit 4a acquires driving record data for analysis from the basic unit 3. Here, in addition to the driving record data, camera image data, event occurrence history, and error history information are also acquired. Thereafter, in S62 and S63, processing similar to S32 and S33 described above may be executed. This allows the latest attribute information to be added to the device. Note that the processing of S62 and S63 may be omitted and the process may proceed to S64.

[0063] In S64, the CPU 41a compares the time-series driving record data acquired in S61 with the model generated in S34 for the corresponding device. For example, the time-series device value is compared with the value of the generated time-series master data to obtain the difference. If the difference is equal to or greater than a predetermined value, it is determined that an unusual state has been detected. Next, in S65, the CPU 41a outputs an analysis result in accordance with the comparison result of S64, and the process ends. Thereafter, in S7 above, the PC 2b generates and outputs a result display screen showing the analysis result.

[0064] <Result display flow> FIG. 13 shows details of the result display flow according to this embodiment. The processes described below will be described as processes executed by the CPU 11b of the PC 2b. However, this is not intended to limit the present invention, and some of these processes may be executed in the PLC unit, or may be executed by another external device (such as the PC 2a) communicatively connected to the programmable logic controller. If executed in the PLC unit, the unit is provided with a monitor. Flowchart 1300 shows a result display flow that controls narrowing down the devices of the analysis results to be displayed according to attribute information acquired from the basic unit 3. Meanwhile, flowchart 1310 shows a result display flow that adds attribute information acquired from the basic unit 3 to the analysis results and displays them.

[0065] First, the flowchart of 1300 will be described. In S71, the CPU 11b of the PC 2b receives the analysis results with attribute information and information about the programmable logic controller from the analysis unit 4a via the communication cable 9b. Next, in S72, the CPU 11b displays an analysis report, narrowed down to high-priority information based on the attribute information, as a result display screen on the display unit 7b. The result display screen basically prioritizes devices in which an unusual state has been detected. However, if such an unusual state is detected in multiple devices, the information narrowed down using the attribute information is displayed. Note that while it is possible to display all applicable devices using a scroll button or the like, it is desirable that the analysis results of devices with high priority be displayed first on the screen. This allows the operator to more efficiently identify the location and cause of the abnormality. Furthermore, it is possible to assist operators without specialized knowledge in identifying the location and cause of the abnormality.

[0066] Thereafter, in S73, the CPU 11b receives a selective display instruction on the result display screen as a user input via the operation unit 8b, and updates the display content to conform to the selective display instruction in S74. Subsequently, in S75, the CPU 11b determines whether or not termination of the result display screen has been selected, and returns the process to S73 if the termination instruction has not been received, and terminates the process if the termination instruction has been received.

[0067] Next, the flowchart of 1310 will be described. In S77, the CPU 11b of the PC 2b receives the analysis results with the attribute information added and information about the programmable logic controller from the analysis unit 4a via the communication cable 9b. Next, in S78, the CPU 11b displays a result display screen on the display unit 7b, in which information other than the device value is added to the analysis results, and ends the processing. For example, the analysis results may be displayed with a device comment acquired as PLC-specific information added to them, or with information about the unit or communication equipment to which the device is connected, or the model information of the device added to them. Furthermore, a camera image acquired from the basic unit 3 may also be displayed.

[0068] In the above-described flowcharts 1300 and 1310, when displaying the analysis results, the explanation was divided into a case where PLC-specific information (for example, attribute information) is used to narrow down the display of the analysis results, and a case where PLC-specific information (for example, camera images) is displayed together with the analysis results. However, the present invention is not limited to this, and both types of control may be performed together.

[0069] <Results display screen (analysis report)> FIG. 14 shows a result 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 in which the result display screen 1400 is displayed on the display unit 7b of the PC 2b is described. However, this is not intended to limit the present invention, and the result display screen 1400 may be displayed on a display unit of another device, or on a monitor of a PLC expansion unit if such a monitor is capable of displaying the result. For example, the other device may include a programmable display, a tablet, or a smartphone. Alternatively, an analysis report including the contents of the result display screen described below may be sent to another device via email, social networking service, FTP transfer, or the like. Arbitrary 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 contents of the result display screen with the arbitrary comments may be sent to another device. This allows the recipient of the email to view the analysis report together with the on-site conditions such as comments. Furthermore, when the analysis report is sent to another device, the analysis report may be associated with the driving record data that is the subject of the analysis report and sent together. 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, a photo of the device may also be attached.

[0070] The result display screen 1400 includes filters 1401 to 1403 for filtering and displaying the results, a filter result 1404, a detection map 1410, a detection list 1420, camera footage 1430, and analysis comments 1440. Note that the result display may display at least one of 1410, 1420, 1430, and 1440.

[0071] The filter 1401 allows you to select an operation cycle to filter the displayed results. An operation cycle here refers to a period from the start timing to the end timing that involves cyclical changes in device values. When the filter 1401 is specified, the displayed results are limited to the analysis results of devices that operate within the selected operation cycle.

[0072] The filter 1402 can filter the display of results by selecting attribute information. As described above, attribute information indicates information about which unit or communication device a device is connected to, and whether it is an input device. For example, if "unit configuration information" is specified in the filter 1402, the unit configuration is displayed, and one of the displayed units can be selected. When a unit is selected, the results displayed are limited to devices connected to the selected unit. Furthermore, if "input device" is specified as attribute information, the results displayed are limited to devices with input device attribute information. The filter 1402 is not limited to filtering that utilizes attribute information. For example, the analysis may result in the same symbol being detected as an abnormal symbol multiple times. Since the earliest occurrence time is likely to be important in identifying the cause of the abnormality, the filter 1402 may filter out the same symbol detected multiple times except for the earliest occurrence time. Furthermore, the filter 1402 may filter out the same symbol detected multiple times except for the earliest occurrence time when the same detection algorithm was used during analysis. Furthermore, the filter 1402 may filter out all but the earliest occurrence time of the same symbol, the same detection algorithm used in analysis, and the same cycle setting (described later).

[0073] The filter 1403 can filter the result display by selecting an event or error. By specifying the type of event or error, the results displayed are limited to the analysis results of devices related to that event or error. For example, if an "operation record save trigger" is selected as the event, the results displayed are limited to the analysis results before and after that event. The result display screen 1400 may display events and errors in chronological order along with the analysis results. In this case, the filter 1403 can filter events and errors. This allows switching between a mixed display of analysis results and events and errors, and a display of the analysis results. Events here include, for example, power on / off, device value rewrite, memory insertion / removal, etc., and filtering targets may be added or removed by category. Errors include, for example, communication errors, PLC calculation errors, scan time exceedance errors, etc., and filtering targets may be added or removed by error severity.

[0074] The filter conditions of filters 1401 to 1403 are evaluated as a logical product, and the corresponding analysis results are displayed. Therefore, filters 1401 to 1403 do not necessarily need to be selected; the analysis results may be filtered when the operator selects a desired filter. Alternatively, a default filter may be selected before the operator specifies a filter and the analysis results displayed. The devices displayed as analysis results are those in which an abnormal state has been detected. An abnormal state may be, for example, when a device value deviates from the normal range or when the timing or frequency of device value changes deviates from the normal range. In product manufacturing factories, the same products are mass-produced every day. In other words, the same process is performed repeatedly. Therefore, detecting and displaying abnormal states is extremely useful for improving ladder programs and reviewing production equipment. The normal range (normal condition) that defines the normal state (normal state) may be defined by the user or by the learning results of device values.

[0075] The detection map 1410 displays a cycle including the start and end timings for each of the multiple processes executed in PLC1. In the detection map 1410, a rectangle extending horizontally indicates the period (cycle) during which the process is being executed. Furthermore, a circle within the rectangle indicates the location of an abnormality where an unusual condition has occurred within the cycle. In the detection map 111, the rectangles representing processes indicate that the left is the older process and the right is the newer process. The time bar 1411 indicates the selected time. The time bar 1412 indicates the timing when a drive record data save trigger occurred. As described above, the drive record data includes data recorded before and after the save trigger occurred, so data is shown before and after the time bar 1412.

[0076] The image display area 1430 displays the camera image acquired by the PLC 1. In FIG. 14, the camera image of the master data and the current camera image are displayed so that they can be compared. Because the camera image is also time-series data, the seek bar 1431 indicates the playback time of the camera image and moves from left to right as the playback time elapses. The time bar 1432 indicates the timing at which the detection target device entered an unusual state. The time designation unit 1433 is a control object for instructing to advance or rewind the playback time of the camera image, to start playback, or to stop playback. Note that on the result display screen 1400, the playback time of the detection map 1410, the playback time of the camera image, and the playback time of the detection list 1420 are managed and displayed so as to be synchronized.

[0077] The detection list 1420 shows devices that have entered an abnormal state and the time at which that state occurred (the time at which the device values ​​were collected). The detection list 1420 is a list of devices that have entered an abnormal state, listed in chronological order. When the CPU 11b detects a click on a device displayed in the detection list 1420, it can synchronize the display of the detection map 1410, the detection list 1420, and the image display area 1430 based on the identification information of the clicked device and the playback time information (the time at which the device values ​​were collected). The time bar 1421 shows the selected time and is linked to the time bars 1411 and 1431, showing the same timing. The time bar 1422 shows the time at which a drive record data save trigger occurred.

[0078] Analysis comment 1440 displays comments included in the analysis results, master data, and time-series data of the current device values ​​for the device selected in detection list 1420. Time bar 1441 indicates the timing when an unusual state occurred, and is linked to time bars 1411, 1421, and 1431 to indicate the same timing. The displayed comment indicates the details of the abnormality in the device.

[0079] As described above, the result display screen 1400 includes multiple analysis result displays, such as a detection map 1410, a detection list 1420, an image display area 1430, and analysis comments 1440. However, these result displays are merely examples, and other result displays may be included additionally or alternatively. For example, as shown in FIG. 15, dependency information (relationship map) between devices may be displayed as an analysis result. The basic unit 3 can grasp the dependency relationships between devices and variables by analyzing ladder programs. For example, when a detected device is selected, related devices can also be displayed side by side, presenting dependent devices to the operator. This helps the operator understand and identify abnormalities.

[0080] FIG. 15 illustrates a relationship map 1500. The relationship map 1500 is a graphical representation of the relationship between a program module associated with a specific symbol in a user program, such as a ladder program, and other symbols associated with that program module. For example, if a device (abnormal device) used in a ladder program that has become abnormal is selected as the specific symbol, a UI displays other devices related to the abnormal device via program modules in the ladder program. This UI may be a screen transitioned to by operating a display button (not shown) on the result display screen 1400, or may be displayed additionally on the result display screen 1400. By displaying the relationship map, the user can easily understand the dependency relationship between the abnormal device and other devices. Generally, the number of devices used in the PLC 1 ranges from hundreds to tens of thousands, making it difficult for the user to identify the device that caused the abnormality from a device that has become abnormal. The CPU 11 searches the ladder program for the abnormal device, finds a description related to the abnormal device, and analyzes the description to identify the associated device. In this example, an abnormal device (e.g., R0004) is described in the output section of the ladder program, and MR000, MR001, and MR002 exist as related devices. The CPU 11 displays the abnormal device, related devices, and program modules identified from the ladder program in a tree-like manner. In this example, the device that is input for calculation in the output section is displayed on the left, the program module is displayed in the middle, and the abnormal device is displayed to the right of that. As shown in FIG. 15, when a program module on the relationship map 1500 is selected, the CPU 11b may display the corresponding program module in the program display area 1510.

[0081] In response to a user's specification for identifying a symbol, the CPU 11 identifies a program module associated with the symbol from the user program, identifies other symbols associated with the identified program module, and generates a relationship map 1500. The CPU 11 highlights abnormal devices included in the relationship map 1500 based on the analysis results. The analysis results also include the time at which the abnormal device was determined to be abnormal, and the CPU 11 may highlight only abnormal devices that occurred before the recurrence time on the relationship map 1500. As a result, the abnormal device remains highlighted after the abnormal state occurs. The analysis results may also include information indicating that each symbol is not the target of analysis. In this case, the CPU 11 displays the symbols not targeted for analysis in a different color or other way on the relationship map 1500 based on the analysis results. This makes it possible to distinguish between whether the analysis determined that the symbol is not abnormal and whether the symbol was not determined to be abnormal because it has not been analyzed. Symbols not to be analyzed include, for example, symbols whose symbol value change pattern does not have any regularity with respect to the control cycle or the cycle defined by the cycle definition, and symbols designated by the user as not to be analyzed.

[0082] <Modification> The present invention is not limited to the above-described embodiment, and various modifications are possible. Various modifications will be described below with reference to the drawings.

[0083] <Cycle-based model generation flow> Figure 16 shows details of a cycle-based model generation flow. This flowchart illustrates an example of the model generation flow described with reference to Figure 11. Here, we describe control for generating a model by determining the device's operating cycle as device attribute information. As described below, the analysis unit 4a automatically extracts device variables belonging to a process (cycle), even if the data is for multiple unsynchronized processes (cycles). This eliminates the need for an operator to manually associate processes (cycles) with devices, which can be very time-consuming. The processing described below is described as processing executed by the CPU 41a of the analysis unit (expansion unit) 4a. However, this is not intended to limit the scope of the present invention. Some of the processing may be executed by other units, all of the processing may be executed by a single unit, or the processing may be executed by an external device (analysis device) communicatively connected to the programmable logic controller.

[0084] First, in S81, 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 S82, 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, information defining the cycle set by an operator via the PC 2a. The information defining the cycle may be information defining the reference timing of each cycle, for example, a symbol for defining the reference timing. More specifically, the reference timing is specified by a symbol name and rising / falling edge information. The reference timing may be a timing indicating the start of a cycle, or a timing indicating the start or timing of an operation in the cycle or the end of the cycle. The information acquired here may also include information acquired by a field device 10, such as a camera connected to the expansion unit 4b, such as camera image data. This data may be acquired via the basic unit 3 or, for example, directly from the expansion unit 4b. The cycle settings may be defined in another application and may be obtained from those settings. Alternatively, the cycle settings may be provided to the PLC1 in a file format such as CSV, and the PLC1 may read the CSV file to set the cycle settings.

[0085] Next, in S83, the CPU 41a determines which cycle each device belongs to based on the cycle setting acquired in S32. Various cycle patterns exist for each device, and in this example, it is determined which pattern specified by the cycle setting each device belongs to. FIG. 17 shows the control for determining the cycle pattern for each device. In FIG. 17, rectangles represent the period (cycle) during which a process is being executed, from the start timing to the end timing, and each rectangle represents one cycle. A cycle pattern is a pattern in which this one cycle appears. 1701 to 1703 indicate processes for which cycle settings are set. 1704 to 1706 indicate 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, device A belongs to cycle setting 1, device B belongs to cycle setting 2, and device A does not fall under any of the set cycle settings. Specifically, it determines whether the values ​​and the number of changes from the start to the end of the cycle match. It is not a problem if the start and end times are slightly different.

[0086] Returning to the explanation of Figure 16, in S83, the CPU 41a adds the extracted cycle pattern to each device as attribute information. Next, in S84, the CPU 41a generates a model from the driving record data acquired in S81 based on the added attribute information, and ends the process. The generated model is master data used during analysis, and includes at least information on the cycle pattern of each device.

[0087] <Analysis when not learning> Fig. 18 shows analysis control before learning. In the above embodiment, as explained using Fig. 10, an example was described in which analysis of operation record data was performed with a model created. However, when factory equipment is changed or the PLC system is changed, a model is not created at initial startup, and it is not possible to use a model that has already been created in the analysis.

[0088] However, as shown in FIG. 18, the analysis unit 4a may first create a model, which serves as master data, from initial data 1801, which is likely to be free of abnormalities, based on the driving record data acquired from the basic unit 3 when performing analysis. As described above, the driving record data records data before and after the occurrence of a trigger that satisfies the driving record conditions. In other words, the driving record data also includes data before some event or error occurred, and data going back some distance from the trigger occurrence is likely to indicate normal operation. Therefore, by creating a model using initial data 1801, which is likely to be normal driving record data, and analyzing data 1802 as the analysis target, analysis can be performed even when the system has not yet been trained. The range of data to be treated as normal data may be set by the operator.

[0089] <Cycle not set> FIG. 19 shows a detection map 1410 of an analysis report with no cycle set. The analysis unit 4a can perform analysis even if the cycle has not been set, but the number of devices that can be analyzed is extremely small. In other words, it is limited to devices without a cycle pattern. A device without a cycle pattern is, for example, a device whose device value is fixed and does not change. For example, as shown in 1901 in FIG. 19, analysis can be performed on devices that are always on or always off even if the cycle has not been set. On the other hand, analysis cannot be performed on devices with a specific cycle pattern if the cycle has not been set. As such, because there are only a small number of devices that can be analyzed, analysis is possible when the cycle has not been set, but the effectiveness of the analysis results is limited. Therefore, as shown in FIG. 19, the analysis report may display a message 1902 indicating that the cycle has not been set and prompting the operator to set the cycle. When "Set cycle and analyze" is selected, a pop-up screen for setting the cycle is displayed, allowing the operator to set the cycle.

[0090] <Model reliability> Figure 20 is a diagram explaining model reliability. The reliability of a generated model changes depending on the amount of data handled during generation. Therefore, the analysis unit 4a measures the reliability of the model when generating it and adds it to the model as attribute information. Figure 20 shows how model generation and analysis are performed when 10 cycles of driving record data are acquired. For example, even if 10 cycles of driving record data are acquired, this data may be sufficient for model generation for a simple device, but may not be sufficient for an asynchronous device. Therefore, it is difficult to estimate the reliability of a generated model based on the number of cycles alone. Therefore, if the reliability of the model can be measured and displayed, the operator can determine whether a good model has been created.

[0091] 2001 to 2003 show the state during learning, where normal data is learned one cycle at a time, additional learning is repeated, and the data from the next cycle is analyzed. 2001 shows the case where a model is generated using seven cycles and the eighth cycle is analyzed. 2002 shows the case where a model is generated using eight cycles and the ninth cycle is analyzed. 2003 shows the case where a model is generated using nine cycles and the tenth cycle is analyzed. In the example shown in FIG. 20, for example, the number of detected anomalies in each generated model is 8 in 2001, 3 in 2002, and 5 in 2003. Since the data is actually normal, it is desirable for the number of detected anomalies to be 0. However, if the amount of normal data is insufficient, it will not be 0. These numbers of detected anomalies may be presented to the operator as reliability directly, or the number of detected anomalies may be normalized to reliability and presented. For example, if the number of detections is 0, the reliability may be set to the highest level of "3," if the number of detections is 1 to 10, the reliability may be set to "2," if the number of detections is 11 to 20, the reliability may be set to "1," and if the number of detections is 21 or more, the reliability may be set to "0." For example, as shown in FIG. 20, the reliability may be obtained using the measurement value with the highest number of detections, 2001. Once learning is completed, the completion of learning and the reliability of the generated model may be presented, allowing the operator to select whether to continue further learning. Alternatively, learning may be repeated until a predetermined reliability level is reached.

[0092] <Modification of system configuration> Figure 21 shows a modified PLC system configuration. In the above embodiment, an example was described in which the PLC system includes a PLC 1 made up of a basic unit 3, an analysis unit 4a, and an expansion unit 4b such as a camera unit, a PC 2a connected to the basic unit 3, and a PC 2b connected to the analysis unit 4a for displaying analysis reports. However, this configuration is just one example, and the collection of driving record data, generation of models, analysis, and display of analysis results described above may be performed by any device or unit, or may even be realized by other external devices or other expansion units. Here, a modified example of such a configuration will be described.

[0093] For example, as shown in FIG. 21, the functions of the analysis unit 4a according to the above embodiment may be implemented by an analysis device 2c located in a higher layer of the PLC 1. Because processes such as the model learning phase require a high processing load and a long processing time, it may be possible to implement these processes externally depending on the processing capacity of the PLC unit. Furthermore, by providing analysis functions in a device in a higher layer, it is possible to collect information from other PLCs and generate more reliable models. The analysis device 2c has functions such as analyzing PLC-specific information, generating models, performing analysis, and creating analysis reports. These functions are similar to those of the analysis unit 4a, so a description thereof will be omitted.

[0094] Furthermore, in the above embodiment, the basic unit 3 collects the driving record data of all devices, but this may be done by another expansion unit. For example, as shown in FIG. 21, a recorder unit 4c may be provided as an expansion unit. The recorder unit 4c includes a CPU 41c, a memory 42c, and a communication unit 43c. The memory 42c is provided with storage areas for the ring buffer 44c and driving record storage unit 45c, which were provided in the basic unit 3 in the above embodiment. The collection of driving records is the same process as that of the basic unit 3 in the above embodiment, so a detailed description will be omitted.

[0095] Thus, according to the present invention, the devices or units that realize the processing functions described in the above embodiments can be modified to a possible extent, and the present invention encompasses such modifications. In the above modification, an example was described in which a recorder unit 4c that collects driving record data is provided separately from the basic unit 3, but this unit may also be provided with collection and communication functions, and the data may be stored in a database connected via a network. This makes it possible to store larger volumes of data, allowing analysis to be performed much earlier than the time of trigger occurrence, and also making it possible to use data from other PLC systems.

[0096] Furthermore, in the above-described modified examples, examples have been described in which the processing functions are implemented by a unit separate from the basic unit 3 or by an external device, but these processing functions may also be integrated 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 the impact on PLC control. Note that in the case of integration, performance will depend on the performance of the basic unit 3, so high performance of the basic unit 3 is required.

[0097] <Summary> [Point 1] The present invention is an analysis device comprising: a storage means for storing attribute information about devices determined by analyzing information related to a programmable logic controller; an execution engine for repeatedly executing a user program; an acquisition means for acquiring driving record data including a plurality of time-series device values ​​collected by the execution of the user program; and a processing means for outputting an analysis report that analyzes abnormal devices that do not satisfy normal conditions in the acquired driving record data based on the attribute information stored in the storage means. According to this embodiment, information other than devices and variables held by a basic unit can be utilized to efficiently analyze large amounts of data, and important data can also be extracted and reported from the analysis results of the large amounts of data.

[0098] [Point 2] In the above embodiment, the processing means analyzes, of the plurality of device values, device values ​​related to the attribute information stored in the storage means, and outputs the analysis report. According to this embodiment, it is possible to efficiently analyze a huge amount of data by utilizing information other than the devices and variables held by the basic unit.

[0099] [Point 3] In the above embodiment, the processing means analyzes the plurality of device values ​​and outputs, as the analysis report, the analysis results of the plurality of device values ​​that are related to the attribute information stored in the storage means. According to this embodiment, important data can be extracted from the analysis results of a huge amount of data and reported.

[0100] [Point 4] According to the above embodiment, the present invention further includes an analysis unit that analyzes the PLC information and determines symbols corresponding to predetermined attributes. According to the present embodiment, analysis processing and analysis report generation processing can be performed by narrowing down to the determined symbols, thereby enabling efficient analysis.

[0101] [Point 5] In the above embodiment, the PLC information includes configuration information of units included in the programmable logic controller, and the analysis means analyzes the configuration information of the units to determine the attributes of the units corresponding to the symbols. According to this embodiment, analysis can be performed taking into account the configuration information of the PLC units, making it possible to appropriately narrow down the analysis targets.

[0102] [Point 6] In the above embodiment, the PLC information includes connection information and communication setting information for communication between a unit included in the programmable logic controller and a communication device, and the analysis means analyzes the connection information and the communication setting information to determine the attributes of the communication partner corresponding to the symbol. According to this embodiment, analysis can be performed taking into account the connection information and communication setting information for communication between the PLC unit and the communication device, making it possible to suitably narrow down the analysis target.

[0103] [Point 7] In the above embodiment, the PLC information includes the user program, and the analysis means analyzes the user program to determine attributes related to the user program that correspond to symbols. According to this embodiment, analysis can be performed taking into account the analysis results of the user program, and it is also possible to appropriately narrow down the analysis target.

[0104] [Point 8] In the above embodiment, the attributes related to the user program include at least one of the number of times a symbol used in the user program is used, information about a symbol to which a comment is added, information about an input contact of the symbol, and information about the type of the symbol value. According to this embodiment, the user program can be analyzed from various perspectives.

[0105] [Point 9] In the above embodiment, the system further includes an output unit for outputting a result display screen showing the analysis report, and the result display screen includes a filter setting area in which conditions for narrowing down the display items of the analysis report can be specified. According to this embodiment, it is possible to narrow down the display items of the analysis results, thereby enabling efficient analysis.

[0106] [Point 10] In the above embodiment, the filter setting area allows a filter to be specified by at least one of specifying the operation cycle of a symbol, specifying attribute information, and specifying an event or error. According to this embodiment, the display items of the analysis results can be narrowed down by various items, allowing analysis to be performed from different perspectives.

[0107] [Point 11] According to the above embodiment, the apparatus further includes means for transmitting screen information of the result display screen output from the output means to an external device, and the result display screen is operably displayed on a display unit of the external device. According to this embodiment, the analysis report can be transmitted to the external device, and the analysis report can be analyzed on, for example, a higher performance PC, enabling a more detailed analysis and the display of a result display screen with a richer operation system.

[0108] [Point 12] According to the above embodiment, the result display screen includes at least one of a detection map showing the cycle of the detected abnormal symbol and the timing at which the abnormality was detected, a detection list showing the process and occurrence time of the detected abnormal symbol, camera footage, and analysis comments showing the cause of the detection of the abnormal state. According to this embodiment, the analysis results can be presented in various forms, allowing the operator to perform more efficient analysis.

[0109] [Point 13] According to the above embodiment, the detection map, the detection list, the camera footage, and the analysis comments can be operated in conjunction with each other along a time axis. According to this embodiment, each display format can be analyzed in relation to each other, thereby supporting more efficient analysis.

[0110] [Point 14] The system further includes a model generation means for generating a learning model as master data representing normal driving record data using the predetermined attributes for each symbol analyzed by the analysis means and the driving record data, and the processing means performs analysis by comparing the learning model generated by the model generation means with the driving record data to detect symbols that are in an abnormal state. According to this embodiment, a learning model is generated according to the attributes of each symbol for analysis, making it possible to efficiently perform analysis suited to the characteristics of each symbol.

[0111] [Point 15] In the above embodiment, if the learning model has not been generated by the model generation means, the processing means causes the model generation means to generate the learning model using a portion of the driving record data acquired by the acquisition means, and then analyzes data other than the portion of the driving record data using the generated learning model. According to this embodiment, even when the PLC system is initially started up or the system is modified, analysis can be performed from the initial operation, allowing the system to operate more safely.

[0112] [Point 16] In the above embodiment, the model generation means measures the number of false positives when analyzing normal data for the generated learning model, and adds a reliability of the learning model corresponding to the measured number of false positives to the learning model. According to this embodiment, an operator can check the reliability of the learning model, and the analysis results can be used more appropriately.

[0113] [Point 17] The present invention is an analysis system capable of communicating between a server device and a programmable logic controller, comprising: a storage means for storing PLC information different from symbol values ​​among information related to the programmable logic controller; an execution engine for repeatedly executing a user program; an acquisition means for acquiring driving record data including a plurality of symbol values ​​in time series collected by the execution of the user program; and a processing means for outputting an analysis report that analyzes abnormal symbols that do not satisfy normal conditions in the acquired driving record data based on attribute information stored in the storage means. According to this embodiment, information other than devices and variables held by a basic unit can be utilized to efficiently analyze large amounts of data, and important data can also be extracted and reported from the analysis results of the large amounts of data.

[0114] [Point 18] In the above embodiment, at least one of the storage means, the acquisition means, and the processing means is provided in the server device. According to this embodiment, it is possible to flexibly incorporate the configuration for realizing the present invention into appropriate components depending on the development cost of the PLC, the performance of the server device, etc., thereby improving the degree of freedom in system design.

[0115] [Point 19] In the above embodiment, the programmable logic controller The present invention provides a system including a CPU unit having the execution engine, a recorder unit provided in the programmable logic controller that realizes the storage means and the acquisition means, and the server device having the processing means. According to this embodiment, it is possible to flexibly incorporate the configuration for realizing the present invention into appropriate components depending on the development cost of the PLC, the performance of the server device, etc., thereby improving the degree of freedom in system design.

[0116] The invention is not limited to the above-described embodiment, and various modifications and variations are possible within the scope of the gist of the invention.< / plc>

Claims

1. An analytical device, comprising: a storage means for storing PLC information other than symbol values ​​among information relating to the programmable logic controller; an execution engine that repeatedly executes a user program; acquisition means for acquiring driving record data including a plurality of time-series symbol values ​​collected by execution of the user program; a processing means for outputting an analysis report that analyzes abnormal symbols that do not satisfy normal conditions in the acquired driving record data based on the PLC information stored in the storage means; An analytical device comprising:

2. 2. The analysis device according to claim 1, wherein the processing means analyzes a symbol value associated with the PLC information stored in the storage means, among the plurality of symbol values, and outputs the analysis report.

3. 2. The analysis device according to claim 1, wherein the processing means analyzes the plurality of symbol values ​​and outputs, as the analysis report, an analysis result of the symbol values ​​related to the PLC information stored in the storage means, among the analysis results of the plurality of symbol values.

4. 4. The analysis device according to claim 1, further comprising an analysis unit that analyzes the PLC information and determines a symbol corresponding to a predetermined attribute.

5. the PLC information includes configuration information of units included in the programmable logic controller; 5. The analysis device according to claim 4, wherein said analysis means analyzes the configuration information of the units and determines the attributes of the units corresponding to the symbols.

6. the PLC information includes connection information and communication setting information for communication between a unit included in the programmable logic controller and a communication device, 6. The analysis device according to claim 4, wherein the analysis means analyzes the connection information and the communication setting information to determine attributes of the communication partner corresponding to a symbol.

7. the PLC information includes the user program, 5. The analysis apparatus according to claim 4, wherein said analysis means analyzes the user program and determines attributes of the user program corresponding to symbols.

8. The analysis device according to claim 7, wherein the attributes relating to the user program include at least one of the number of times a symbol used in the user program is used, information on a symbol to which a comment has been added, information on an input contact of the symbol, and type information on the symbol value.

9. further comprising an output means for outputting a result display screen showing the analysis report; 9. The analyzer according to claim 1, wherein the result display screen includes a filter setting area in which conditions for narrowing down the display items of the analysis report can be specified.

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

11. a means for transmitting screen information of the result display screen output from the output means to an external device, 11. The analyzer according to claim 9, wherein the external device displays the result display screen on a display unit in an operable manner.

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

13. The analysis device according to claim 12 , 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.

14. further comprising a model generation means for generating a learning model as master data representing normal driving record data using the predetermined attribute for each symbol analyzed by the analysis means and the driving record data; The analysis device according to any one of claims 4 to 8, characterized in that the processing means performs analysis by comparing the learning model generated by the model generation means with the driving record data and detecting symbols that are in an unusual state.

15. The analysis device described in claim 14, characterized in that when the learning model has not been generated by the model generation means, the processing means causes the model generation means to generate the learning model using a portion of the driving record data acquired by the acquisition means, and uses the generated learning model to analyze data other than the portion of the driving record data.

16. The analysis device described in claim 14 or 15, characterized in that the model generation means measures the number of false positives when analyzing normal data of the generated learning model, and adds to the learning model a reliability of the learning model corresponding to the measured number of false positives.

17. An analysis system in which a server device and a programmable logic controller can communicate with each other, a storage means for storing PLC information other than symbol values ​​among information relating to the programmable logic controller; an execution engine that repeatedly executes a user program; acquisition means for acquiring driving record data including a plurality of time-series symbol values ​​collected by execution of the user program; a processing means for outputting an analysis report that analyzes abnormal symbols that do not satisfy normal conditions in the acquired driving record data based on the attribute information stored in the storage means; An analysis system comprising:

18. 18. The analysis system according to claim 17, wherein at least one of the storage means, the acquisition means, and the processing means is provided in the server device.

19. The programmable logic controller a CPU unit including the execution engine; a recorder unit provided in the programmable logic controller that realizes the storage means and the acquisition means; Equipped with The server device 19. The analytical system according to claim 18, comprising the processing means.

20. A method for controlling an analytical device, comprising: a storage step of storing PLC information other than symbol values ​​among information related to the programmable logic controller; repeatedly executing a user program; an acquisition step of acquiring driving record data including a plurality of time-series symbol values ​​collected by execution of the user program; a processing step of outputting an analysis report that analyzes abnormal symbols that do not satisfy normal conditions in the acquired driving record data based on the attribute information stored in the storage step; A method for controlling an analytical device, comprising:

Citation Information

Patent Citations

  • Index table

    JP1981061222A

  • Control device, control program and control method

    JP2018097662A