Setting device and PLC system

By integrating data collection and dashboard generation functions into the PLC system, the problem of field managers having difficulty improving data utilization programs on their own was solved, the efficiency of replacing consumable components was improved, and communication between field managers and program designers was simplified.

CN112612238BActive Publication Date: 2025-10-21KEYENCE CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202011048468.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-06-29
Filing Date
2020-09-29
Publication Date
2025-10-21
Estimated Expiration
2040-09-29

AI Technical Summary

Technical Problem

In existing technologies, in PLC systems for industrial machines, it is difficult for on-site management personnel to improve data utilization programs and dashboards on their own, resulting in inefficiency when replacing consumable components. Furthermore, poor communication between program designers and on-site management personnel prolongs the improvement cycle.

Method used

A setting device and PLC system are provided, including a collection unit, a generation unit, and a supply unit, which can collect data from the PLC and generate dashboard display data. It supports on-site management personnel to customize and configure data utilization programs and dashboards, simplifying the data collection and display process.

Benefits of technology

It allows on-site managers to directly improve data utilization programs and dashboards, increases the efficiency of replacing consumable components, reduces the need for communication with program designers, and shortens the improvement cycle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112612238B_ABST
    Figure CN112612238B_ABST
Patent Text Reader

Abstract

The present application relates to a setting device and a PLC system. The object is to facilitate the work for creating a data utilization program for collecting control data held by a PLC and a dashboard for displaying the control data. The setting device receives a selection of a dashboard, receives a designation of data to be collected, creates setting data including a template of the dashboard and a template of a collection of data utilization programs, and transmits the setting data to the PLC. A second execution section of the PLC performs predetermined data processing on the data to be collected based on the setting data to generate display object data. The display object data is linked to a graphic display component included in a template of display data of the dashboard.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a setting device for a programmable logic controller and a PLC system. Background Art

[0002] A programmable logic controller (PLC) is a controller used to control industrial machines such as manufacturing equipment, conveying equipment, and inspection equipment in factory automation (Japanese Patent 5661222 (Patent Document 1) and Japanese Patent Application Laid-Open No. 2018-097662 (Patent Document 2)).

[0003] The PLC executes a control program such as a ladder program created by a programmer to control various expansion units and controlled devices.

[0004] Since industrial machines include consumable components, product yields decline when these components deteriorate. Therefore, proper replacement of these components is essential. For example, if control data and control results stored by PLCs could be collected and displayed, this would be useful for on-site managers responsible for monitoring the operation of industrial machines, helping them detect and prevent errors.

[0005] Incidentally, the programmer who creates the control program and the person in charge who operates and monitors the industrial machine in the factory where the industrial machine is installed (the person in charge of on-site management) belong to different internal organizations respectively. Therefore, it is not easy to establish mutual understanding. For example, even if the person in charge of on-site management wants to change the control data that the person in charge of on-site management wants to check, or change the graphics used to display data, etc., the person in charge of on-site management cannot change the control program. Therefore, the person in charge of on-site management must convey the demand and wait for the improvement of the control program. In some cases, various operations such as ensuring the improvement budget occur. Many days pass from the time of the demand until the improvement is completed. Therefore, if a person who does not have programming knowledge, such as the person in charge of on-site management, can easily improve data utilization programs such as flow programs for collecting display data, and dashboards as UI (user interface) for displaying the display data, this can also be convenient for the programmer who creates the control program. Summary of the Invention

[0006] Therefore, an object of the present invention is to facilitate work for creating a data utilization program for collecting control data held by a PLC and a dashboard for displaying the control data.

[0007] The present invention, for example, provides a setting device for setting a programmable logic controller, the programmable logic controller comprising: a first execution unit configured to execute a control program; a storage unit, which is a storage area or variable accessed by the first execution unit according to the control program; a collection unit configured to collect data designated as a collection object from the storage unit; a second execution unit configured to perform predetermined data processing on time series data collected from the storage unit at different timings according to a data utilization program; a generation unit configured to generate display data of a dashboard for displaying the execution result of the data utilization program; and a providing unit configured to provide the display data to an external computer, the setting device comprising: a storage unit configured to store templates for display data of a plurality of dashboards and templates of a plurality of data utilization programs; a first receiving unit configured to Receive a selection of one of the multiple dashboards; a second receiving unit configured to receive a designation of collection object data using the collecting unit; a creating unit configured to create setting data including a set of templates of the selected dashboard and a template of a data utilization program linked to the selected dashboard, so as to display display object data using the selected dashboard, the display object data being data calculated by performing the predetermined data processing on the collection object data according to the data utilization program; and a transmitting unit configured to transmit the setting data to the programmable logic controller, wherein the second executing unit performs the predetermined data processing on the collection object data based on the setting data to generate the display object data, and the display object data is linked to a graphic display component included in the template of the display data of the selected dashboard.

[0008] A programmable logic controller system, namely a PLC system, comprises: a programmable logic controller; a setting device for setting the programmable logic controller; and a display device for displaying the execution result of a data utilization program executed by the programmable logic controller on a dashboard, wherein the programmable logic controller comprises: a first execution unit configured to execute a control program; a storage unit, which is a storage area or variable accessed by the first execution unit according to the control program; a collection unit configured to collect data designated as a collection object from the storage unit; a second execution unit configured to perform predetermined data processing on time series data collected from the storage unit at different timings according to the data utilization program; a generation unit configured to generate display data for a dashboard displaying the execution result of the data utilization program; and a providing unit configured to provide the display data to the display device, and the setting device comprises: a storage unit, which is A programmable logic controller (PLC) is provided with a programmable logic controller (PLC) configured to store templates for display data of multiple dashboards and templates for multiple data utilization programs; a first receiving unit configured to receive a selection of one dashboard from the multiple dashboards; a second receiving unit configured to receive a designation of collection object data to be collected by the collecting unit; a creating unit configured to create setting data including a set of templates for the selected dashboard and templates for the data utilization program linked to the selected dashboard, so as to display the display object data by using the selected dashboard, the display object data being data calculated by performing the predetermined data processing on the collection object data according to the data utilization program; and a transmitting unit configured to transmit the setting data to the programmable logic controller, the second executing unit performing the predetermined data processing on the collection object data based on the setting data to generate the display object data, and the display object data being linked to a graphic display component included in the template for the display data of the selected dashboard.

[0009] According to the present invention, it is possible to facilitate the work of creating a data utilization program for collecting control data held by a PLC and a dashboard for displaying the control data. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 A diagram showing a PLC system;

[0011] Figure 2 It is a diagram used to illustrate PC;

[0012] Figure 3 It is a diagram used to illustrate PLC;

[0013] Figure 4 It is a diagram for explaining a setting device implemented by a PC;

[0014] Figure 5 is a diagram for explaining a data utilization unit;

[0015] Figure 6 is a flowchart illustrating a method of setting up an application;

[0016] Figure 7 This is a diagram for explaining an application selection screen;

[0017] Figure 8 This is a diagram for explaining the parameter setting screen;

[0018] Figure 9 It is a diagram used to illustrate the collection and display of data;

[0019] Figure 10 is a diagram used to illustrate the dashboard;

[0020] Figure 11 is a diagram illustrating the dashboard displayed on the browser;

[0021] Figure 12 is a diagram for explaining resetting the instrument panel;

[0022] Figure 13 is a diagram illustrating collaborative editing between the dashboard and the flow program;

[0023] Figure 14 It is a diagram for explaining a setting device implemented by a PC;

[0024] Figure 15 is a flowchart illustrating a method of setting up an application;

[0025] Figure 16 This is a diagram for explaining the settings screen of the application;

[0026] Figure 17 is a diagram illustrating a dashboard display screen used for status monitoring;

[0027] Figure 18 is a diagram illustrating a dashboard display screen used for setting;

[0028] Figure 19 is a flow chart illustrating a real-time monitoring method;

[0029] Figure 20 is a flowchart illustrating a reset method in a data utilization unit;

[0030] Figure 21 A diagram illustrating a dashboard display screen used for operation log analysis;

[0031] Figure 22 is a flow chart showing an operation record analysis method;

[0032] Figure 23 is a diagram for explaining a dashboard display screen for integrated monitoring; and

[0033] Figure 24 is a flow chart illustrating an integrated monitoring method. DETAILED DESCRIPTION

[0034] The following describes the embodiments in detail with reference to the accompanying drawings. Note that the embodiments described below do not limit the invention related to the claims, and not all combinations of features described in the present embodiments are essential to the present invention. Two or more of the multiple features described in the embodiments may be optionally combined. The same or similar components are represented by the same reference numerals, and repeated descriptions of the components are omitted. Lowercase letters are sometimes added to the end of the reference numerals representing the same or similar components. In the case of describing matters common to multiple components, lowercase letters are omitted.

[0035] System Structure

[0036] First, in order to facilitate those skilled in the art to understand a programmable logic controller (PLC, or simply referred to as a programmable controller), the structure and operation of a general PLC are described below.

[0037] Figure 1 1 is a conceptual diagram showing an example of the structure of a programmable logic controller system according to an embodiment of the present invention. Figure 1 As shown, the system includes a PC 2a for editing user programs such as ladder diagram programs and a PLC (programmable logic controller) 1 for integrally controlling various control devices provided in a factory or the like. PC is an abbreviation for personal computer. User programs can be created using graphical programming languages ​​such as motion programs in flowchart formats such as ladder diagram language and SFC (sequential function chart), or can be created using high-level programming languages ​​such as C language. In the following description, for ease of explanation, user programs are ladder diagram programs. PLC 1 includes a basic unit 3 incorporating a CPU, and one or more expansion units 4. One or more expansion units 4 can be attached to the basic unit 3 in a detachable manner.

[0038] The basic unit 3 includes a display unit 5 and an operation unit 6. The display unit 5 can display the operation status of the expansion unit 4 attached to the basic unit 3, etc. The display unit 5 switches the display content according to the operation content of the operation unit 6. The display unit 5 generally displays the current value (device value) of the device in the PLC 1, and information related to errors occurring in the PLC 1, etc. The device is the name of the area on the memory set to store the device value (device data), and can also be called a device memory. The device value is information indicating the input status from the input device, the output status to the output device, and the status of the internal relay (auxiliary relay), timer, counter, and data memory set on the user program. The type of device value includes a bit type and a word type. A bit device stores a device value of 1 bit. A word device stores a device value of 1 word.

[0039] The expansion unit 4 is prepared to expand the functions of the PLC 1. A field device (controlled device) 10 corresponding to the functions of the expansion unit 4 is sometimes connected to the expansion unit 4. Therefore, the field device 10 is connected to the base unit 3 via the expansion unit 4. The field device 10 can be an input device such as a sensor or a camera, or an output device such as an actuator. Multiple field devices can be connected to one expansion unit 4.

[0040] For example, the extension unit 4b may be a positioning unit that drives a motor (field device 10) to position a workpiece, or may be a counting unit that counts signals from an encoder (field device 10) such as a manual pulse generator.

[0041] The expansion unit 4a is a data collection unit that executes a flow to collect collection target data from the base unit 3 and the expansion unit 4b, applies data processing to the collection target data to create display target data, and creates display data for displaying the instrument panel on the display unit 7 or the PC 2. The base unit 3 is sometimes also referred to as a CPU unit. Note that a system including the PLC 1 and the PC 2 may be referred to as a programmable logic controller system.

[0042] PC 2a is a computer mainly operated by a programmer. On the other hand, PC 2b is a computer operated by a person in charge of on-site management. PC 2a can also be referred to as a program creation support device (setting device). PC 2 is, for example, a personal computer or a smart phone of a portable notebook type or a tablet type, and is an external computer including a display unit 7 and an operating unit 8. The external computer is a computer existing outside of PLC 1. PC 2a is used to create a ladder program as an example of a user program for controlling PLC 1. The created ladder program is converted into mnemonics in PC 2a. PC 2 is connected to the basic unit 3 of PLC 1 via a communication cable 9 such as a USB (Universal Serial Bus) cable. For example, PC 2a sends the ladder program converted into mnemonics to basic unit 3. Basic unit 3 converts the ladder program into machine code and stores the machine code in a memory included in basic unit 3. Note that although the mnemonics are sent to basic unit 3, the present invention is not limited to this. For example, the PC 2 a may convert the mnemonic code into an intermediate code and transmit the intermediate code to the base unit 3 .

[0043] Note that although Figure 1 Although not shown in the figure, the operation section 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 detachably connected to the base unit 3 of the PLC 1 via a communication cable 9 other than the USB cable. The PC 2 may be connected to the base unit 3 of the PLC 1 by wireless communication not via the communication cable 9.

[0044] Program creation support device

[0045] Figure 2 2 is a block diagram for explaining the electrical structure of PC 2. Figure 2 As shown, PC 2 includes a CPU 11, a display unit 7, an operating unit 8, a storage device 12, and a communication unit 13. The display unit 7, operating unit 8, storage device 12, and communication unit 13 are each electrically connected to CPU 11. Storage device 12 includes RAM, ROM, HDD, and SSD, and may also include a removable memory card. CPU is the abbreviation for central processing unit. ROM is the abbreviation for read-only memory. RAM is the abbreviation for random access memory. HDD is the abbreviation for hard disk drive. SSD is the abbreviation for solid-state drive.

[0046] The user of PC 2a causes CPU 11 to execute project editing program 14a stored in storage device 12 and edit project data through operation unit 8. Project data includes one or more user programs (e.g., ladder diagram programs) and configuration information for base unit 3 and expansion unit 4. Configuration information includes information indicating the connection locations of multiple expansion units 4 to base unit 3, the functions of base unit 3 (e.g., communication function and positioning function), and information indicating the functions of expansion units 4 (e.g., imaging function). Editing project data includes creating and changing (re-editing) project data. The user can read out project data stored in storage device 12 as needed and change the project data using project editing program 14a. Communication unit 13 communicates with base unit 3 via communication cable 9a. CPU 11 transmits project data to base unit 3 via communication unit 13. Communication unit 13 communicates with expansion unit 4a via communication cable 9b. CPU 11 transmits stream or dashboard setting data to expansion unit 4a via communication unit 13.

[0047] PLC

[0048] Figure 3 This is a block diagram for explaining the electrical structure of PLC 1. Figure 3 As shown, 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 electrically connected to the CPU 31, respectively. The storage device 32 may include a RAM, a ROM, and a memory card. The storage device 32 includes a plurality of storage areas such as a device unit 34 and a project storage unit 35. The device unit 34 includes a bit device and a word device. These devices store device values. The project storage unit 35 stores project data input from the PC 2a. The storage device 32 also stores the control program used by the basic unit 3. Figure 3 As shown, the base unit 3 and the expansion unit 4 are connected via a unit internal bus 90, which is a type of expansion bus. Note that the communication function associated with the unit internal bus 90 is implemented in the CPU 31, but can be implemented as part of the communication unit 33. The communication unit 33 may include a network communication circuit. The CPU 31 receives project data from the PC 2a via the communication unit 33.

[0049] The unit internal bus 90 will be further described. The unit internal bus 90 is a communication bus used for input and output refreshing. Input and output refreshing is a process for updating device values ​​between the base unit 3 and the expansion unit 4. Input and output refreshing is performed each time the ladder program is executed (i.e., in each scan).

[0050] The expansion unit 4 includes a CPU 41 and a memory 42. The CPU 41b of the expansion unit 4b controls the field device 10 according to the instructions (device values) from the basic unit 3 stored in the device. The CPU 41b stores the control results of the field device 10 in a device called a buffer memory. The control results stored in the device are transmitted to the basic unit 3 through input and output refresh. Even at a timing different from the input and output refresh, the control results stored in the device are transmitted to the basic unit 3 according to the read command from the basic unit 3. The memory 42 includes a RAM and a ROM. In particular, a storage area used as a buffer memory is ensured in the RAM. The memory 42 may include a buffer for temporarily holding the data (e.g., still image data and motion image data) acquired by the field device 10.

[0051] The CPU 41a of the expansion unit 4a, which serves as a data utilization unit, communicates with the PC 2a via the communication unit 43 and the cable 9b. The data utilization unit is an expansion unit that executes a data utilization application. The data utilization application includes a data utilization program (e.g., a flow) for collecting control data and performing data processing, and a dashboard that displays the execution results of the data utilization program. A flow is used as an example of a data utilization program. However, the data utilization program can be a user program written in another language. A flow can include an arithmetic operation block for collecting data, an arithmetic operation block for performing data processing, and an arithmetic operation block for creating display data. The dashboard includes a graphical display component and a numerical display component. These display components can be implemented using HTML data, CSS data, and JavaScript (registered trademark) code. In this embodiment, flows are implemented using flow templates. Flow templates are prepared in advance for each application. A flow template includes one or more arithmetic operation blocks with user-specified parameters set. The dashboard is also implemented using a template. The dashboard template includes one or more display components with user-specified parameters set. These parameters include, for example, various information such as the dashboard name, device name, numerical values, and unit variable names. The unit variables are variables used by the extension unit 4a to hold the execution results of the flow.

[0052] CPU 41a stores the flow and dashboard setup data received from PC 2a in memory 42a. CPU 41a executes the flow based on the setup data, collects device values, and creates display data to be displayed on the dashboard. CPU 41a communicates with PC 2b via communication unit 43 and cable 9b. CPU 41a transmits the dashboard display data to PC 2b. PC 2b then displays the dashboard, which includes various data related to PLC 1.

[0053] Figure 41 is a diagram for explaining functions implemented by the CPU 11 of the PC 2. The project creation unit 50 is implemented by the CPU 11 executing the project editing program 14a. The project creation unit 50 creates project data 70 including a user program in accordance with a user instruction input through the operation unit 8.

[0054] The stream / dashboard creation unit 51 is a function implemented by the CPU 11 executing the stream / dashboard editing program 14b. The dashboard selection unit 52 displays a selection screen on the display unit 7, allowing the user to select a dashboard from multiple dashboards, and receives the user's dashboard selection. Examples of dashboards include those for waveform monitoring, loss analysis, and FFT. FFT stands for Fast Fourier Transform. The parameter specification unit 53 receives user specifications for parameters related to the stream associated with the user-selected dashboard and parameters related to the dashboard's display settings. These parameters include the device to be collected, the device to be analyzed, the time period to be analyzed, the display object, the name of the display component, and the unit. The creation unit 54 extracts a template for displaying the user-selected dashboard from the dashboard template 71. The dashboard template 71 includes various display components (graphic modules) used to implement the dashboard. The creation unit 54 extracts a template for the stream that performs the data processing required to display the data on the user-selected dashboard from the stream template 72. The stream template 72 includes arithmetic operation components (program modules) used to perform data processing. The creation section 54 creates setting data 73 including a template for a dashboard, a template for a flow, and parameters set in these templates, and stores the setting data 73 in the storage device 12 .

[0055] The transmission unit 60 transmits project data 70 to the base unit 3 and configuration data 73 to the extension unit 4a. The web browser 61 is a function implemented by the CPU 11 executing the web browser program 14d. The web browser 61 accesses the web server of the extension unit 4a, obtains display data such as HTML data for displaying a dashboard, and displays the dashboard on the display unit 7. The flow / dashboard editing program 14b can be created based on the web. In this case, the CPU 11 transmits data related to the UI of the flow / dashboard editing program 14b to the web browser 61 based on the web server program 14c. The CPU 11 transmits user instructions input via the web browser 61 to the flow / dashboard editing program 14b via the web server program 14c.

[0056] Figure 5The following figure illustrates the functions implemented by the CPU 41a of the extension unit 4a. The setup unit 80 stores the setup data 73 received from the PC 2a in the memory 42a. The setup unit 80 can set which types of device values ​​should be collected for the base unit 3 based on the setup data 73. The setup data 73 includes a dashboard template 71a, a flow template 72a, and parameter settings 74. The parameter settings 74 can be transferred from the PC 2a to the extension unit 4a while being incorporated into the dashboard template 71a and the flow template 72a, or they can be transferred from the PC 2a to the extension unit 4a while being separated from the dashboard template 71a and the flow template 72a. The flow execution unit 81 is a function implemented by the CPU 41a executing the flow in the flow template 72a based on the parameter settings 74. The collection unit 82 collects the device values ​​specified by the parameter settings 74 from the base unit 3 and the extension unit 4b, creates the collected data 75, and stores the collected data 75 in the memory 42a. The data processing unit 83 applies the data processing specified by the parameter settings 74 to the collected data 75, creates analyzed data 76, and stores the analyzed data 76 in the memory 42a. The display processing unit 84 creates dashboard display data 77 (e.g., HTML data or image data, CSS (Cascading Style Sheets), and JavaScript (registered trademark) code) based on the dashboard template 71a and display object data specified by the parameter settings 74. The web server 85 provides the dashboard display data 77 to the web browser 61 of the PC 2b or the like.

[0057] flow chart

[0058] Dashboard and flow setup (creation)

[0059] Figure 6 2a is a flowchart showing the setting process executed by the CPU 11 of the PC 2a. The CPU 11 executes the following process according to the flow / dashboard editing program 14b.

[0060] In S1, the CPU 11 displays the dashboard (application) selection screen on the display unit 7. The flow / dashboard creation unit 51 Figure 7 The selection screen 100 shown is displayed on the display unit 7. Note that, when the setting data 73 already exists, the following processing corresponds to a reset processing.

[0061] exist Figure 7In the display, the pointer 101 is a display object that moves in conjunction with the operation of a pointing device such as a mouse. The loss analysis selection button 102a is used to select the loss analysis application. The waveform monitoring selection button 102b is used to select the waveform monitoring application. The FFT selection button 102c is used to select the FFT application. Note that multiple applications can be selected by pressing multiple selection buttons. The OK button 103 is used to confirm the selection of a dashboard. The Cancel button 104 is used to cancel the selection of a dashboard. The user operates the pointer 101 to select any dashboard and press the OK button 103.

[0062] In S2 , the CPU 11 receives the selection of the dashboard. The dashboard selection unit 52 recognizes which selection button on the selection screen 100 has been pressed by the pointer 101 .

[0063] In S3 , the CPU 11 (parameter designation section 53 ) displays a parameter setting screen corresponding to the selected instrument panel on the display section 7 . Figure 8 A setting screen 110 for parameters related to loss analysis is shown. Figure 8In the input loss analysis dashboard, the name box 111 is a text box for the name displayed on the dashboard. The analysis object setting section 112 receives input such as the device name set as the analysis object (e.g., R000, R001, R002, and R003), the display color of the device name in the graph (e.g., the color of the bars in a bar graph), and the name of the analysis object. A single device can be specified, such as R000 as an operating relay or R001 as a temporary stop relay. Logical operations for multiple devices can be specified, as with fault relays. An operating relay is a bit device (relay device) that is turned on when PLC 1 is controlling an industrial machine and turned off when it is not. A temporary stop relay is a bit device that is turned on when PLC 1 is temporarily stopped and turned off when it is not. A fault relay is a bit device that is turned on when PLC 1 fails and turned off when it is not. The flow can monitor the on and off times of these relays to calculate the time periods during which PLC 1 is actually operating and the time periods during which PLC 1 is stopped. The analysis target setting section 112 can accept a request to reset the currently set device name (e.g., R000) to another device name (e.g., MR000). The operating time period setting section 113 accepts input of the operating time period of the production line. The screen selection section 114 is a checkbox for accepting a selection of the display screen to be displayed as the dashboard. A dashboard may sometimes consist of multiple display screens (e.g., a main screen and an analysis screen). For example, the main screen may display the current day's operating rate. The analysis screen may display the operating rates of the past 12 days in a comparable manner. The time period setting section 115 is a list box for accepting settings for the collection time period (e.g., by time, day, week, or month) of the data set to be displayed. The number of displays setting section 116 is a numeric box for accepting the number of data to be displayed. If the collection time period is by day and the number of displays is 12, the dashboard will display 12 days' data per day. When the add object 117 is pressed, the parameter designation unit 53 adds an analysis target device (for example, R004 indicating plan adjustment). The preview button 118 is a button for instructing the CPU 11 to display a preview of the dashboard on the display unit 7 .

[0064] In S4 , the CPU 11 (parameter designation section 53 ) receives the designation of the parameters input through the setting screen 110 via the Web browser 61 and the Web server 85 (parameter setting 74 ).

[0065] In S5, the CPU 11 (creating unit 54) creates setting data 73, which includes the template 71 for the selected dashboard, the template 72 for the flow corresponding to the dashboard, and the parameters entered by the user. For example, when the loss analysis dashboard is selected, the creating unit 54 sets the entered parameters in the collection flow (e.g., the device status update block) used to collect data from the devices set as analysis targets. For example, the start time (e.g., 09:00) and end time (e.g., 17:30) set by the operating time setting unit 113 are set as the operating time period of the device status update block. The device names specified by the analysis target setting unit 112 (e.g., R000, R001, R002, and R003) are set as monitoring targets. Note that default settings can be used as the output of the device status update block (temporary data passed to the loss analysis block). As a default setting, after creating unit variables as the storage destination for temporary data, the created variables can be specified. Furthermore, the creating unit 54 sets the entered parameters in the data processing flow (e.g., the loss analysis block) used to perform data processing. The default settings (e.g., MachineStateTable) can be used as inputs to the loss analysis block. The time operation rate (e.g., wOperationTimeRatio) and performance operation rate (e.g., wPerformanceEfficiency) can be used as outputs of the loss analysis block. In this way, the output of the device state update block and the input of the loss analysis block are the same variables. In other words, the device state update block and the loss analysis block are linked (linked) via the same parameters.

[0066] In S6, the CPU 11 (transmitting section 60) transmits the setting data 73 to the extension unit 4a. As a result, the setting data 73 is written in the ROM area of ​​the memory 42a of the extension unit 4a.

[0067] Figure 9 An example of the dashboard 120 is shown. Figure 9 In the dashboard, the annotation section 121 indicates the color assigned to the device being analyzed. The graphic section 122 includes one or more graphics used to display the results of the loss analysis. Graphic types are pre-set for each dashboard. The analysis result display section 123 displays the arithmetic operation results of the loss analysis. Display objects displayed on the analysis result display section 123 are also pre-set for each dashboard. The current status display section 124 shows the current status of the PLC 1.

[0068] When the preview button 118 is used to instruct the preview of the dashboard 120, the CPU 11 can display the graph and numerical values ​​using the default data prepared in advance for the preview. The creation unit 54 can receive the customization of the dashboard 120 according to the operation of the indicator 101 on the dashboard 120 for preview. For example, Figure 9 In, when through Figure 9 When the indicator 101 in the figure is double-clicked, the CPU 11 can display a setting screen for the numerical display component. On this setting screen, the CPU 11 can accept the editing of the prefix character (e.g., time operation rate), suffix character (e.g., %), and reference device / unit variable (e.g., wOperationTimeRatio) of the numerical display component.

[0069] Execution of flows and provision of dashboards

[0070] Figure 10 4 is a flowchart illustrating execution of a flow and provision of a dashboard performed by the CPU 41 a of the extension unit 4 a .

[0071] In S11, the CPU 41a (collection unit 82 of the flow execution unit 81) executes the flow specified by the setting data 73 (for example, the device status update block), thereby collecting collection target device values ​​(for example, R000, R001, R002, and R003), and stores these device values ​​as collected data 75 in the memory 42. The collected data 75 may be time series data collected at different times.

[0072] In S12, the CPU 41a (data processing unit 83) applies data processing (e.g., calculation of time operation rate, performance operation rate, defect-free product rate, and overall equipment efficiency) to the data 75 (device values) collected according to the flow (e.g., loss analysis block) specified by the setting data 73. Thus, analyzed data 76 is created and stored in the memory 42a.

[0073] In S13, the CPU 41a (display processing unit 84) creates display data (eg, HTML data) based on the stream for displaying the dashboard 120. The display processing unit 84 creates the display data using display target data such as the collected data 75 and / or the analyzed data 76.

[0074] In S14, the CPU 41a (Web server 85) provides the display data to the PC 2b. The CPU 41a can display the display data on the display of the PLC 1.

[0075] In S15, the CPU 41a determines whether the display end is instructed from the PC 2b. If the display end is not instructed, the CPU 41a may repeat S11 to S14. If the display end is instructed, the CPU 41a ends the execution of the flow and the provision of the dashboard.

[0076] Figure 11The web browser UI 130 displayed on the display unit 7 of the PC 2b is shown. The URL assigned to the web server 85 of the extension unit 4a is input to the URL input unit 131. The CPU 11 of the PC 2b accesses the web server 85 of the extension unit 4a according to the input URL. The CPU 11 displays the display data (HTML file, image data, etc.) of the dashboard 120 provided by the web server 85 on the web browser UI 130.

[0077] Customizing dashboard display components

[0078] As about Figure 9 As described above, the creation unit 54 can receive the customization of the display components of the dashboard 120. Figure 9 When the pie chart shown is right-clicked, the creation unit 54 may display an edit menu. When the graphic deletion (component deletion) included in the edit menu is selected by the pointer 101, the CPU 11 may delete the pie chart that was right-clicked. Figure 12 Dashboard 120 is shown with the pie chart deleted. In this case, the creation unit 54 updates the settings data 73 to delete or disable the arithmetic operation block used to implement the pie chart from among the multiple arithmetic operation blocks that make up the flow. This allows the creation unit 54 to reflect the edited results of the display component on the flow. Conversely, the creation unit 54 can reflect the edited results of the flow blocks that make up the flow on the display component.

[0079] Can be achieved through Figure 11 This customization of the dashboard 120 is performed using the UI 130 of the web browser 61 shown in FIG. The CPU 11 of the PC 2a performs HTTP communication with the CPU 41a of the expansion unit 4a (settings section 80) to notify that the pie chart has been right-clicked, receives display data for the edit menu from the web server 85, and transmits a deletion instruction to the setting section 80. The setting section 80 deletes or disables the arithmetic operation block corresponding to the pie chart from the plurality of arithmetic operation blocks constituting the flow. Consequently, the setting data 73 is updated.

[0080] Set up data import

[0081] The setting data 73 can be imported into another PLC 1. Sometimes, multiple production lines are operated in parallel in a factory. In this case, the same type of PLC 1 controls the industrial machines in the multiple production lines. Therefore, the PC 2a can copy or import the setting data 73 created for the first PLC 1 into the second PLC 1. In this case, the CPU 11 can reset (re-edit) the setting data 73 and then transfer the setting data 73 to the second PLC 1. As described above, the device name related to the operation can be changed from R000 to MR000 by resetting.

[0082] If a specific data utilization application already exists in the second PLC 1, if the same data utilization application is imported from the first PLC 1, for example, there is a possibility that unit variables may overlap and the two data utilization applications may not function properly. In other words, if the unit variables (e.g., wOperationTimeRatio) in the original existing setting data 73 and the unit variables (e.g., wOperationTimeRatio) copied for import overlap, the flow may not function correctly in the second PLC 1. In this case, the CPU 11 (creating unit 54) can change the unit variables (e.g., changing wOperationTimeRatio to wOperationTimeRatio2) to resolve the overlap of unit variables.

[0083] Combination of multiple dashboards

[0084] As mentioned above, multiple dashboards may be selected. In this case, multiple dashboards, or multiple streams, can collaborate. For example, a waveform monitoring application may collect vibration data from industrial machinery and display the waveform of this vibration data along a timeline on a dashboard. In this case, the stream associated with the waveform monitoring application collects the vibration data and stores it in memory 42a. Meanwhile, the stream of an FFT application may perform frequency analysis on the vibration data using FFT. The FFT application's dashboard displays the results of the frequency analysis of the vibration data. Note that the frequency analysis results are stored in memory 42a. Furthermore, the stream of a loss analysis application may retrieve the previous and current frequency analysis results from memory 42a, calculate the difference between these frequency analysis results, compare this difference with a predetermined error threshold to calculate an analysis result regarding the presence or absence of errors, and display this analysis result on the loss analysis application's dashboard. In this way, multiple dashboards and multiple streams can collaborate. Note that multiple dashboards can be displayed side by side or displayed simultaneously, switching one by one according to the operation of a switch button set in the dashboard.

[0085] After changing the project data 70, the setting data 73 is changed

[0086] The creation unit 54 can change the setting data 73 after changing the project data 70. For example, R000 has been illustrated as the operation relay. When the project data 70 is changed, another device (for example, MR000) is sometimes assigned as the operation relay. Therefore, the creation unit 54 compares the timestamp of the setting data 73 and the timestamp of the project data 70 to determine whether the project data 70 has changed after the setting data 73 was saved. When the project data 70 has changed, the creation unit 54 further analyzes the project data 70 to determine whether the allocation of the device related to the setting data 73 has changed. When it is detected that the allocation of the device related to the setting data 73 has changed, the creation unit 54 reflects the change of the project data 70 on the setting data 73 (for example, R000→MR000). Therefore, the workload of the user in resetting the setting data 73 will be reduced.

[0087] Figure 14 This figure is used to explain the functions implemented by the CPU 11 of the PC 2. The project creation unit 50 is implemented by the CPU 11 executing the project editing program 14a. The project creation unit 50 includes a control program creation unit 150, a flow / dashboard creation unit 51, and a collection setting unit 57. The project creation unit 50 creates project data 70 including user programs such as ladder programs, based on user instructions input through the operation unit 8.

[0088] The control program creation unit 150 creates a control program 155 such as a ladder program to be executed by the CPU 31 in accordance with a user instruction input through the operation unit 8. The control program 155 is stored in the storage device 12 as part of the project data 70.

[0089] The flow / dashboard creation unit 51 is a function implemented by the CPU 11 executing the flow / dashboard editing program 14b. The flow / dashboard creation unit 51 includes an application selection unit 55 and a settings data creation unit 56. The application selection unit 55 displays a selection screen on the display unit 7 to allow the user to select an application from multiple applications and receives the user's selection of the application. Examples of applications include a real-time monitoring application for monitoring devices or variables in real time, an operation log analysis application for analyzing operation logs to reproduce the operating status of the PLC 1, and the like.

[0090] As real-time monitoring applications, there are the following types of monitoring.

[0091] (1) Waveform monitoring: Monitors waveforms whose amplitude changes within a preset range from an upper limit to a lower limit (monitoring target waveform)

[0092] (2) Timing monitoring: monitoring the timing of the on and / or off of the monitored bit device

[0093] (3) Camera monitoring: Monitor whether the feature value data of the camera image of the monitored object meets the preset detection conditions

[0094] (4) Cycle Monitoring: Cycle operation refers to the repetitive execution of multiple processes within a cycle. In cycle monitoring, a bit device indicating the start timing of each of the multiple processes forming the cycle operation and a bit device indicating the end timing of each process are set as monitoring targets. The time interval from the start to the end of the entire cycle operation, as well as the time interval from the start to the end of each process within a cycle, is monitored. The entire cycle operation indicates an entire cycle.

[0095] The settings data creation unit 56 creates application settings data 154 based on user instructions. The application settings data 154 includes parameters related to the data utilization program associated with the application selected by the user and parameters related to the display settings of the dashboard. These parameters include the monitored device or variable, the name of the monitored item (for example, the name of the process), the monitoring conditions of the monitored object, the analysis target file, the analysis target device, the analysis target time period, the display object, the name of the display component, and the unit. The settings data creation unit 56 extracts a template for displaying the dashboard selected by the user from the dashboard template 151 as the dashboard template 151a of the settings data 73. The dashboard template 151 includes various display components (graphic modules) used to implement the dashboard. The settings data creation unit 56 extracts a template for the data utilization program used to perform the data processing required to display the data on the dashboard selected by the user from the utilization program template 152 as the utilization program template 152a of the settings data 73. The utilization program template 152 includes an arithmetic operation component (program module) used to perform data processing. The setting data creation unit 56 creates the setting data 73 including a template for the dashboard, a template for the data utilization program, and the application setting data 154 set in these templates, and stores the setting data 73 in the storage device 12. Note that the setting data creation unit 56 may create the collection setting data 153 including the collection target device or variable and the collection conditions.

[0096] The collection setting unit 57 defines the collection operation of the device or variable according to the user's instruction. In addition, the collection setting unit 57 creates the collection setting data 153 including the collection target device or variable and the collection conditions. The collection setting data 153 can be included in the setting data 73.

[0097] The transmitting section 60 transmits the project data 70 to the base unit 3 and transmits the setting data 73 to the extension unit 4a. The web browser 61 is a function realized by the CPU 11 executing the web browser program 14d.

[0098] Figure 152a is a flowchart showing the setting process executed by the CPU 11 of the PC 2a. The CPU 11 executes the following process according to the flow / dashboard editing program 14b.

[0099] In S21, the CPU 11 (application selection unit 55) displays the application selection screen on the display unit 7. The application selection unit 55 displays the selection screens of the real-time monitoring application and the operation log analysis application on the display unit 7. Note that when the setting data 73 already exists, the following processing corresponds to reset processing.

[0100] In S22, the CPU 11 (application selection unit 55) receives the selection of an application. The application selection unit 55 identifies which selection button on the selection screen has been pressed using a pointer or the like. The selection buttons are associated with a plurality of applications. In other words, the application selection unit 55 identifies the application corresponding to the pressed selection button.

[0101] In S23 , the CPU 11 (setting data creating section 56 ) displays the setting screen of the application setting data 154 (setting items) corresponding to the selected application on the display section 7 . Figure 16 A setting guide 161 is shown as a setting screen for application setting data related to cycle monitoring. Figure 16 In the example, monitoring checkbox 162a is a checkbox assigned to indicate that the user has selected a monitored item. Input fields 162b to 162f are for inputting an item name, start condition, end condition, caution value, and warning value, respectively. The item name is the name assigned to the process. The start condition is the change (fall / rise) of the signal (relay device or variable) used as the start condition for the process. The end condition is the change (fall / rise) of the signal (relay device or variable) used as the end condition for the process. The caution value is defined as the upper and lower limits for the caution state. The warning value is defined as the upper and lower limits for the warning state. The upper and lower limits are also called thresholds. The processes in the loop correspond to the setting input lines 163. Monitoring items are set for each setting input line 163. The start and end conditions are set by the device or variable that specifies the start and end timing of the process in the loop. The device or variable that specifies the timing and the condition that specifies the timing are set as the start and end conditions. The condition that specifies the timing is, for example, the rising timing. The caution value and warning value are set by the upper and / or lower limits, respectively. When a check mark is given to a check box corresponding to a set threshold value, the set threshold value is effective. The OK button 164 is a button for the user to instruct the completion of the setting. The Cancel button 165 is a button for instructing to cancel the setting change input by the user.

[0102] In S24, the CPU 11 (setting data creation section 56) receives the designation of the application setting data 154 input through the setting wizard 161. For example, the setting data creation section 56 receives the setting input of the setting items.

[0103] In S25, the CPU 11 (collection setting unit 57) displays the data collection setting screen on the display unit 7. In S26, the CPU 11 (collection setting unit 57) receives the designation (setting input) of the collection setting data 153, such as the collection target device or variable and the collection conditions, input through the data collection setting screen. Note that when the collection setting data 153 is set using the application setting data 154, S25 and S26 are not always necessary.

[0104] In S27 , the CPU 11 (setting data creation section 56 ) creates setting data 73 including the selected dashboard template 151 a , the data utilization program template 152 a corresponding to the dashboard, and the application setting data 154 and collection setting data 153 input by the user.

[0105] In S28, the CPU 11 (settings data creation unit 56) stores the settings data 73 in the storage device 12. The CPU 11 (settings data creation unit 56) can store the settings data 73, including the dashboard template 151a, the utilization program template 152a, the collection settings data 153, and the application settings data 154, as part of the project data 70 including the control program 155. The CPU 11 (transmission unit 60) transfers the settings data 73 as part of the project data 70 to the expansion unit 4a. Therefore, the settings data 73 is written to the ROM area of ​​the memory 42a of the expansion unit 4a. In order to set the application selected using the application settings data 154 as part of the project data 70, the project data 70 may be read from the PLC 1. In this case, the application settings data 154 can be read together with the control program 155 and the data utilization program. The PC 2a can compare the application settings data 154 stored in the PC 2a with the application settings data 154 stored in the PLC 1 and display the comparison result. Therefore, for example, after the application setting data 154 written in the PLC 1 is rewritten in the PLC 1, when the application setting data 154 is read out from the PLC 1 to the PC 2a again, the PC 2a can confirm the application setting data 154 after rewriting.

[0106] Figure 17 An example of a dashboard 171 for real-time monitoring applications is shown. Figure 17In the example, the operation status display 172 shows the operation status of real-time monitoring. The display switching tab 173 is a tab button display for switching the dashboard to another dashboard corresponding to the application when multiple dashboards are set for the application. Figure 17 , the status in which the monitoring button is pressed is shown. In this state, pressing the Trend tab switches the dashboard to the trend display. Pressing the History tab switches the dashboard to the history display. Display columns 174a-174g display the item name, margin, measured value, caution value, warning value, judgment result, and a graph related to the measured value for each monitored item. The item name, caution value, and warning value are displayed based on the application settings data 154. The measured value indicates the time span from the start timing to the end timing, determined based on the start and end conditions of the application settings data 154. The margin indicates the margin of the measured value of the monitored item. For example, the margin can indicate the margin of the measured value relative to the warning value or caution value. The judgment result is calculated based on the measured value and the valid warning value or caution value. The judgment result can indicate the status of the monitored item, such as normal, caution, and warning. Note that even if the judgment result based on the most recent measured value is normal, the judgment result in the past may have been caution or warning. In this case, the high warning level can be maintained for a predetermined judgment period from the past to the present. When the clear button in the judgment display field 174f is pressed, the judgment result can be updated to the latest judgment result. The graph related to the measurement value is a visual graph of the measurement value. For example, a bar graph showing the time width from the start timing to the end timing can be displayed. Lines corresponding to the attention value and warning value can be displayed at the corresponding positions of the attention value and warning value. For example, when the threshold line display check box in the graphic display field 174g is selected, the threshold lines corresponding to the effective attention value and the effective warning value are displayed. When the setting button in the graphic display field 174g is pressed, the setting dashboard among the other dashboards corresponding to the application is displayed.

[0107] Figure 18 An example of a settings dashboard 181 for a real-time monitoring application is shown. Figure 17 When the settings button in the graphic display bar 174g is clicked, the settings dashboard 181 is displayed. Figure 18 In the display 182, the operation state of the real-time monitoring is shown. The monitoring state conversion switch 183 is a switch for switching the real-time monitoring between the monitoring state and the non-monitoring state. The threshold overall setting button 184 is a button for switching to a setting screen for setting a plurality of thresholds set for each monitoring item as a whole. In the input fields 185a to 185f, the monitoring check box, item name, start condition, end condition, caution value, and warning value are displayed for each monitoring item. Figure 2 The input bar corresponding to the setting wizard of the application setting data of the project data 15 in is displayed. When the add button 186a is pressed, an input line for entering a new monitoring item is added. When the delete button 186b is pressed, the input line pre-selected by the up and down buttons 186c is deleted. When the setting reflection button 187 is pressed, the updated setting content is reflected on the application setting data (display setting 62). Subsequently, the dashboard 171 used for the real-time monitoring application based on the updated application setting data (display setting 62) is displayed. When the cancel button 188 is pressed, the updated setting content is not reflected on the application setting data (display setting 62). The dashboard 171 used for the real-time monitoring application based on the application setting data (display setting 62) is displayed.

[0108] Figure 19 4 is a flowchart showing the execution of the data utilization program of the real-time monitoring process and the provision of the dashboard executed by the CPU 41 a of the extension unit 4 a.

[0109] In S41, the CPU 41a (collection unit 82 of the flow execution unit 81) monitors the device or variable corresponding to the start signal and the end signal according to the application setting data 154 of the setting data 73. The application setting data 154 holds the name of the device or variable used as the start signal and the predetermined value stored in the device or variable. The timing when the value of the device or variable changes to the predetermined value is the start timing. Figure 18 As shown, the change of a device or variable can be set as a rising edge or a falling edge as a start condition. The same applies to the end signal. The data utilization program based on the utilization program template 152a is executed, thereby collecting the collection object device values ​​specified by the application setting data 154. The collected data 75 is stored in the memory 42. The collected data 75 can be time series data collected at different times. A collection program for performing a collection operation according to the collection setting data 153 can be provided in a manner separate from the data utilization program. In this case, the collection setting data 153 is set according to the application setting data 154. The collection object device values ​​specified by the set collection setting data 153 are collected. The collected data 75 is stored in the memory 42.

[0110] In S42, the CPU 41a (data processing unit 83) determines the time information from the timing when the condition of the start signal is satisfied to the timing when the condition of the end signal is satisfied based on the data 75 (device value) collected according to the data utilization program specified by the setting data 73. Figure 16 The start condition 162c and Figure 18The start condition 185c in the monitoring object is used to monitor whether the device or variable set as the monitoring object meets the detection condition such as the rising edge. The timing when the detection condition is met, that is, the timing when the start signal condition is met is monitored. Similarly, the CPU 41a (data processing unit 83) monitors the timing when the detection condition is met, that is, the start signal condition is met. Figure 16 The end condition 162d and Figure 18 The CPU 41a (data processing unit 83) monitors whether the device or variable set as the monitoring target meets the detection condition, such as a rising edge, based on the end condition 185d in the data processing unit. The timing when the detection condition is met, that is, the timing when the end signal condition is met, is monitored. The time information determined by the CPU 41a (data processing unit 83) can be the time width from the timing when the start signal condition is met to the timing when the end signal condition is met.

[0111] In S43, the CPU 41a (data processing unit 83) determines the status based on the time information determined in S42 and the judgment threshold set according to the application setting data 154. The upper and lower limits of the caution and warning values ​​are sometimes set as the judgment thresholds. In this case, the CPU 41a (data processing unit 83) determines whether the time information determined as the measured value is greater than the upper limit. The CPU 41a (data processing unit 83) determines whether the time information determined as the measured value is less than the lower limit. The application setting data 154 may include flags indicating whether the upper and lower limits are used as judgment thresholds. In this case, the CPU 41a (data processing unit 83) compares the time information determined as the measured value with the upper and lower limits based on the flags included in the application setting data 154 to determine the status of the monitored object. The values ​​of these flags can be set by the user through a UI (user interface) such as a checkbox. The status of the monitored object may include normal, caution, and warning. The caution state and warning state are distinguished based on the deviation of the measured value from the normal state. The difference between the measured value in the normal state (normal value) and the measured value in the warning state (warning value) is greater than the difference between the measured value in the normal state and the measured value in the attention state (attention value). Therefore, the value that deviates further from the normal value than the attention value is set as the warning value. The attention value and the warning value are sometimes set as upper limit values, respectively. In this case, when the determined time information is equal to or less than the attention value, the CPU 41a (data processing unit 83) judges the state of the monitored object as "normal". When the determined time information is greater than the attention value and equal to or less than the warning value, the CPU 41a (data processing unit 83) judges the state of the monitored object as "attention". When the determined time information is greater than the warning value, the CPU 41a (data processing unit 83) judges the state of the monitored object as "warning". Therefore, the analyzed data 76 is created and saved in the memory 42a.

[0112] The attention value and the warning value are sometimes set as lower limits, respectively. In this case, when the determined time information is equal to or greater than the attention value, the CPU 41a (data processing unit 83) determines the state of the monitored object to be "normal." When the determined time information is less than the attention value and equal to or greater than the warning value, the CPU 41a (data processing unit 83) determines the state of the monitored object to be "attention." When the determined time information is less than the warning value, the CPU 41a (data processing unit 83) determines the state of the monitored object to be "warning." Thus, the analyzed data is created and stored in the memory.

[0113] The attention value and the warning value are sometimes set by an upper limit value and a lower limit value, respectively. In this case, when the determined time information is equal to or greater than the lower limit attention value and equal to or less than the upper limit attention value, the CPU 41a (data processing unit 83) judges the state of the monitored object as "normal". When the determined time information is less than the upper limit warning value and equal to or greater than the upper limit attention value, the CPU 41a (data processing unit 83) judges the state of the monitored object as "attention". Similarly, when the determined time information is less than the lower limit attention value and equal to or greater than the lower limit warning value, the CPU 41a (data processing unit 83) judges the state of the monitored object as "attention". When the determined time information is less than the lower limit warning value or greater than the upper limit warning value, the CPU 41a (data processing unit 83) judges the state of the monitored object as "warning". Thus, the analyzed data is created and saved in the memory.

[0114] CPU 41a (data processing unit 83) can calculate the margin of the margin that the indication measured value has relative to the warning value or attention value. For example, the margin can be defined as 100 in a state with sufficient margin, 50 in an attention state, and 0 in a warning state. In this way, the margin can be defined so that the value changes step by step according to the distance (difference) between the attention value and the measured value. The margin is stored in the memory 42a as the analyzed data 76. When the measured value exceeds the warning value, CPU 41a (data processing unit 83) can generate a signal indicating that the measured value exceeds the warning value. For example, when the measured value exceeds the warning value, CPU 41a (data processing unit 83) changes the value of the device or variable indicating that the measured value exceeds the warning value. The device or variable indicating that the measured value exceeds the warning value can be assigned as a trigger. For example, the device or variable can be assigned to a log saving trigger (logging saving trigger). Therefore, the operation record of PLC1 is saved based on the timing when the warning is generated.

[0115] In S44, the CPU 41a (display processing unit 84) generates source data of the dashboard 171 including the time information determined in S42, the judgment threshold, and the state of the monitored object judged in S43. The CPU 41a (display processing unit 84) reflects the time information, the judgment threshold, and the state of the monitored object determined based on the dashboard template 151a of the setting data 73 on the variables assigned to the dashboard template 151a. For example, the CPU 41a (display processing unit 84) creates display data so that the measured value indicating the time width from the timing when the condition of the start signal is satisfied until the timing when the condition of the end signal is satisfied is displayed in the form of a bar graph. Figure 17 . In the graphic display bar 174g. At this time, the time period from the timing when the condition of the start signal is satisfied until the timing when the condition of the end signal is satisfied can be displayed in a strip. Therefore, the following dashboard is displayed, which indicates not only the time width but also which timing operation the monitored object is performing within the cycle in the control of the cyclic operation. For example, the right end to the left end of the graphic display bar 174g can be equivalent to one cycle of the monitored object. The starting position of the band (the bar of the bar graph) is equivalent to the timing when the condition of the start signal in one cycle is satisfied. The ending position of the band is equivalent to the timing when the condition of the end signal in one cycle is satisfied. Therefore, the length of the band indicates the time width.

[0116] The margin can be displayed together with the measured value. The CPU 41a (display processing unit 84) creates display data (e.g., HTML data) for displaying the dashboard 171 based on the variables assigned to the dashboard template 151a. The CPU 41a (display processing unit 84) can separately manage the screen data on which the dashboard 171 is based, and the data to be updated such as the measured value and status information. In this case, the CPU 41a (display processing unit 84) separately manages the screen data to which the device or variable at the reference destination is assigned, and the display object data that is the value of the device or variable at the reference destination. The CPU 41a can periodically update the display object data to create the display data. The display processing unit 84 uses the display object data such as the collected data 75 and / or the analyzed data 76 to create the display data.

[0117] In S45, CPU 41a (Web server 85) provides display data to PC 2b. CPU 41a can display the display data on the display of PLC 1. The display of PLC 1 can be incorporated into PLC 1, or can be connected to PLC 1 by wire or radio. CPU 41a (display processing unit 84) sometimes manages screen data assigned to devices or variables at a reference destination, and display object data that are values ​​of devices or variables at a reference destination separately. In this case, CPU 41a (Web server 85) selectively provides screen data and display object data in the display data according to the update request and update plan of dashboard 171. CPU 41a (Web server 85) provides display data including screen data and display object data according to the display request of dashboard 171. CPU 41a (Web server 85) selectively provides updated display object data as display data according to the display update request of dashboard 171.

[0118] Figure 20 The flowchart shows the setting process of the dashboard via real-time monitoring executed by the CPU 11 of the PC 2a.

[0119] In S51, the CPU 41a (display processing unit 84) displays the dashboard 181 used for setting. For example, the display processing unit 84 creates display data to display Figure 18 The CPU 41a (web server 85) provides display data for displaying the dashboard 181 for settings to the PC 2b.

[0120] In S52, the CPU 41a (setting unit 80) receives user input for adding, deleting, and changing monitoring objects and / or setting judgment thresholds. When it is detected that the add button 186a has been pressed, the CPU 41a (setting unit 80) adds an input row for setting the new monitoring object. The CPU 41a (display processing unit 84) creates display data to display the dashboard 181 used for settings to which the input row for setting the new monitoring object has been added. The CPU 41a (web server 85) provides the display data for displaying the dashboard 181 used for displaying the updated settings to the PC 2b. The setting unit 80 can be set in the flow execution unit 81 and receive settings as part of the data utilization program execution. When it is detected that the delete button 186b has been pressed, the CPU 41a (setting unit 80) deletes the selected input row. The CPU 41a (display processing unit 84) creates display data for displaying the dashboard 181 used for settings with the selected input row deleted. The CPU 41a (web server 85) provides display data for displaying the updated settings dashboard 181 to the PC 2b. In this case, the selection operation of the input line using the up / down buttons 186c can be displayed. When the CPU 41a (settings unit 80) receives a change input to the input fields 185a-185d, the CPU 41a (display processing unit 84) creates display data to display the settings dashboard 181 reflecting the change input to the input fields 185a-185d. The CPU 41a (web server 85) provides display data for displaying the updated settings dashboard 181 to the PC 2b. When the CPU 41a (settings unit 80) receives a change input to the judgment threshold input fields 185e and 185f, the CPU 41a (display processing unit 84) creates display data to display the settings dashboard 181 reflecting the change input to the judgment threshold input fields 185e and 185f. The CPU 41 a (web server 85 ) supplies display data of the dashboard 181 for displaying the updated settings to the PC 2 b .

[0121] In S53, the CPU 41a (settings unit 80) updates the application settings data 154 corresponding to the user input based on the user input. Upon detecting that the settings reflection button 187 has been pressed, the CPU 41a (settings unit 80) reflects the updated settings in the application settings data 154. On the other hand, upon detecting that the cancel button 188 has been pressed, the CPU 41a (settings unit 80) does not reflect the updated settings in the application settings data 154 and discards the updated settings. Without reflecting the updated settings, the CPU 41a (display processing unit 84) creates display data for displaying the dashboard 171 for the real-time monitoring application based on the application settings data 154. The CPU 41a (web server 85) provides the display data for displaying the dashboard 171 for the real-time monitoring application to the PC 2b.

[0122] In S54, the CPU 41a (data processing unit 83) determines the status of the monitored object based on the application setting data 154 updated in S53 and the time information determined and the judgment threshold set for the monitored object. The CPU 41a (data processing unit 83) determines the status of the monitored object in the same manner as in S53 based on the updated application setting data 154 and the time information determined as in S42 and the judgment threshold set based on the updated application setting data 154.

[0123] In S55, the CPU 41a (display processing unit 84) creates display data for displaying the time information determined based on the updated application setting data 154, the judgment threshold value set based on the updated application setting data 154, and the state of the monitoring object judged in S54 on the display. Figure 18 The CPU 41a (Web server 85) supplies display data for displaying the dashboard 171 for status monitoring to the PC 2b.

[0124] Figure 21An example of a dashboard 221 used by an operation log analysis application is shown. The dashboard 221 includes a camera image reproduction view 222, an occurrence status time series view 223, a view of devices that differ from normal operation 224, and a waveform view 225 that differs from normal operation. The operation log analysis application analyzes the PLC 1 operation log, which is pre-saved by the CPU 41a (data processing unit 83), and uses the CPU 41a (display processing unit 84) to present devices or variables that have differed from normal operation. The CPU 41a (data processing unit 83) analyzes the normal operation log and sets a detection algorithm and detection threshold for each monitored object. The CPU 41a (data processing unit 83) applies the detection algorithm and detection threshold set for each monitored object to the operation log of the analyzed object and identifies devices or variables that have differed from normal operation. The operation log analysis application can, for example, rank and display devices or variables that have differed from normal operation based on their degree of deviation from normal operation. For example, the device or variable that holds the value that deviates the most from its normal value can be displayed at the top or highlighted.

[0125] The PLC 1 operation log is an operation log in which the devices or variables collected according to the collection setting data 153 defining the collection targets and storage conditions are stored in the PLC 1's base unit 3 or expansion units 4a and 4b according to the storage conditions. For example, assume that the CPU 31 collects the devices or variables to be collected according to the collection setting data 153. When the storage condition is detected, the CPU 31 stores the devices or variables collected based on the timing when the storage condition is met as the PLC 1 operation log in the storage device 32. The operation log is saved each time the storage condition is met. For example, the operation log can be saved as a file in the storage device 32 along with the time when the storage condition is met. The collection targets of the PLC 1 operation log can be set as a whole in the program unit, such as the control program 155, or in the unit, such as the base unit 3 or expansion units 4a and 4b. Therefore, the devices or variables related to the operation of the PLC 1 are recorded as a whole. Therefore, the user can record the devices or variables related to the operation of the PLC 1 without having to pre-define individual monitoring targets. The operating state of the PLC 1 can be reproduced based on the timing when the save condition is satisfied, and the operating state of the PLC 1 can be analyzed based on the timing when the save condition is satisfied. The save condition can be selected from a save command of the control program 155, a save trigger using an assigned device or variable, a time trigger occurring at a predetermined time, etc. The save condition is set based on user input.

[0126] exist Figure 21In the image reproduction view 222, the camera image reproduction display section 222 includes an abnormal image reproduction display section 222a, a normal image reproduction display section 222b, and a reproduction control view 222c. The abnormal image reproduction display section 222a displays, among the camera images included in the analysis target operation record, a camera image acquired at the timing when a device or variable, for which operation record analysis is applied, is detected that is different from the normal operation. The normal image reproduction display section 222b displays, among the camera images included in the operation record corresponding to normal operation, a camera image that is synchronized with the camera image displayed in the abnormal image reproduction display section 222a. The PLC 1 sometimes executes cyclic control, which is a control having periodicity. In this case, the time series data of at least a portion of the devices or variables included in the operation record corresponding to the cyclic control has periodicity consistent with the cyclic control. The CPU 41a (data processing section 83) analyzes the periodicity of the time series data based on the time series data of the devices or variables included in the operation record and determines the devices or variables that specify the period of the cyclic control. The CPU 41a (settings unit 80) can select, based on user input, a device or reference device for a variable that specifies the cycle period. Based on the cycle control period and the time information linked to the camera images, the camera image displayed on the abnormal image reproduction display unit 222a and the camera image displayed on the normal image reproduction display unit 222b are synchronously reproduced. For example, the display of the two camera images can be updated at a fixed interval. In this case, the two camera images will be displayed as if they were moving images.

[0127] The reproduction control view 222c includes operation buttons for synchronously controlling the display of the two camera images displayed in the camera image reproduction view 222. The operation buttons include a stop button, a forward button, and a back button. Pressing the stop button temporarily pauses the camera image displayed in the abnormal image reproduction display section 222a and the camera image displayed in the normal image reproduction display section 222b. Pressing the forward button or the back button synchronizes the display timing of the camera image displayed in the abnormal image reproduction display section 222a and the camera image displayed in the normal image reproduction display section 222b.

[0128] The occurrence state time series view 223 is a screen that displays the analysis results of the operation logs. The analysis results include, for example, devices or variables that have been detected to be operating differently than usual by applying the detection algorithm and detection threshold set for each monitoring target to multiple devices saved as operation logs.

[0129] The loop of the loop control is displayed in the loop display bar 223a in a time series. The division of the loop can be specified by the reference device. The CPU 41a (data processing unit 83) detects that the change in the state or value of the reference device included in the operation record meets the condition (which can be called the loop condition or division condition). The timing when the division condition is met is equivalent to the division of the loop. The CPU 41a determines the time period of the loop based on the division of the determined loop and displays these loops in the loop display bar 223a. In this example, three loops are displayed, namely loop 1, loop 2 and loop 3. In the generating device display bar 223b, the number of occurrences of devices that are different from the usual is displayed in a time series according to the loop. The CPU 41a (data processing unit 83) applies the detection algorithm and detection threshold set for each monitored object to the analysis object operation record, and aggregates the number of devices or variables that exceed the detection threshold (number of occurrences) in a time series. In this example, the occurrence of devices that are different from the usual in loop 1 and loop 3 is shown.

[0130] The mode-by-mode occurrence status display column 223c displays the occurrence status of devices that differ from the normal mode. The CPU 41a (data processing unit 83) applies the detection algorithm and detection threshold set for each monitored object to the analysis target operation record and aggregates the time period during which devices or variables exceed the detection threshold for each mode of the state that differs from the normal mode. In this example, the mode-by-mode occurrence status display column 223c includes an upper column, a middle column, and a lower column. The upper column uses the ON / OFF mode as the mode for the state that differs from the normal mode. In other words, the upper column displays the occurrence status of ON / OFF patterns that differ from the normal ON / OFF pattern. The middle column displays the occurrence status of constant values ​​that differ from the normal mode. The lower column displays the occurrence status of ON / OFF timings that differ from the normal ON / OFF timing. The camera characteristic value display column 223d displays the number of occurrences of camera characteristic values ​​that differ from the normal camera characteristic values. The operation record saved when a log save trigger occurs can include camera image data. The CPU 41 a (data processing section 83 ) may generate feature value data related to the amount of received light and brightness included in the camera image, and analyze the feature value data based on periodicity to display the number of times feature values ​​different from usual occur.

[0131] The Different Devices view 224 displays details regarding the occurrence of different device states for each cycle and scan. Display fields 224a through 224c display the device name, a summary of the different state, and the time of occurrence, respectively, for each device experiencing a different state. The time period for the information displayed in the Different Devices view 224 can be selected based on user input. For example, upon receiving user input in the Time Series view 223, the CPU 41a (settings unit 80) selects the cycle corresponding to the user input. The CPU 41a (data processing unit 83) analyzes the selected cycle from the analysis target operation record to extract the devices experiencing different states in that cycle. The CPU 41a (display processing unit 84) displays a list of the extracted devices in the Different Devices view 224. In the Different Devices view 224, a list of which devices have experienced which changes and when the changes occurred can be identified.

[0132] In the waveform view 225, waveforms of time-series data are displayed for specific devices in a state different from the normal state. The device displayed in the waveform view 225 can be selected based on user input. For example, when user input is received in the device view 224, the CPU 41a (setting unit 80) selects the device corresponding to the user input. The CPU 41a (data processing unit 83) extracts the selected device from the analysis target operation record. The CPU 41a (display processing unit 84) displays the waveforms of time-series data related to the extracted device in the waveform view 225. This allows the user to confirm when and how the device displayed in the device view 224 has changed. Time-series data for a specific device from among the multiple devices included in the operation record acquired during normal operation can also be displayed simultaneously in the device view 224. This specific device corresponds to the device in a state different from the normal state. In this way, for a particular device, time-series data during normal operation and time-series data during irregular operation (when a state different from the normal state occurs) can be displayed in a comparable manner.

[0133] Figure 22 A flowchart showing a setting process of a dashboard via operation log analysis executed by the CPU 41 a of the data utilization unit 4 a is shown.

[0134] In S61, CPU 41a (setting unit 80) receives a learning instruction from the user. When an instruction to start learning is received according to user input, CPU 41a (setting unit 80) starts saving the operation record. For example, CPU 41a (setting unit 80) changes the value of the variable assigned to the saving condition of the operation record to a value that satisfies the saving condition. CPU 41a (setting unit 80) automatically selects the operation record saved according to the instruction to start learning as the normal operation record used for learning. CPU 41a (setting unit 80) can select normal operation record data that has been pre-saved according to user input. In this case, in order to set the detection algorithm and detection threshold of the device different from the usual ones, CPU 41a (display processing unit 84) creates display data of a screen for selecting normal operation record data. CPU 41a (Web server 85) provides display data for displaying the selection screen to PC 2b. CPU 41a (setting unit 80) receives the user's selection of normal operation record data.

[0135] In S62, the CPU 41a (flow execution unit 81) studies the normal operation log data based on the cycles recorded in the operation log and determines an analysis algorithm for each device. For example, the CPU 41a (flow execution unit 81) determines an analysis algorithm for each device based on the normal operation log data selected in S61 and the cycles recorded in the operation log. The CPU 41a (flow execution unit 81) can specify a stable change pattern of a device signal related to the cycle of the cyclic operation from the normal operation log data. The CPU 41a (flow execution unit 81) can determine an analysis algorithm for each change pattern of the specified device signal.

[0136] In S63, CPU 41a (setting unit 80) selects the operation record data of the analysis object saved according to the saving condition. When the saving condition for saving the analysis object operation record data is met and the operation record data is saved, CPU 41a (setting unit 80) automatically selects the saved operation record data as the analysis object operation record data. CPU 41a (setting unit 80) can select the analysis object operation record data according to user input. In this case, CPU 41a (display processing unit 84) creates display data for selecting the screen for analyzing the analysis object operation record data of the object in a state different from the usual state. CPU 41a (Web server 85) provides the display data for displaying the selection screen to PC 2b. CPU 41a (setting unit 80) receives the user selection of the analysis object operation record data.

[0137] In S64, the CPU 41a (data processing unit 83) detects a device that has entered a state different from the normal state based on the determined analysis algorithm, and records the device along with the time of occurrence. For example, the CPU 41a (data processing unit 83) analyzes the operation log data selected in S63 based on the analysis algorithm determined in S62. The CPU 41a (data processing unit 83) analyzes the operation log data to detect a device that has entered a state different from the normal state, and records the device along with the time when the different state occurred in the memory 42a.

[0138] In S65, the CPU 41a (data processing unit 83) aggregates the occurrence states based on the occurrence time and / or occurrence pattern of the state that is different from the usual state. The CPU 41a (data processing unit 83) aggregates the occurrence states of the state that is different from the usual state based on at least one of the time when the state that is different from the usual state occurs and the occurrence pattern of the state that is different from the usual state.

[0139] In S66, the CPU 41a (display processing unit 84) displays the aggregated results and information about the devices experiencing unusual conditions on the dashboard. The CPU 41a (display processing unit 84) creates display data for displaying the aggregated results and information about the devices experiencing unusual conditions on the operation log analysis dashboard 221. The CPU 41a (web server 85) provides the display data for displaying the updated operation log analysis dashboard 221 to the PC 2b. In S67, if the end condition for the operation log analysis is determined to be met, the CPU 41a ends the operation log analysis. The CPU 41a repeatedly executes the processes of S63 to S66 until the end condition for the operation log analysis is met.

[0140] Figure 23 An example of a dashboard 241 for a data utilization application is shown. The dashboard 241 includes a display unit 242 for a real-time monitoring application and a display unit 246 for an operation log analysis application. The dashboard 241 is used to integrate and monitor the configured real-time monitoring application and the configured operation log analysis application. The dashboard 241 can display an overview of the application and serve as a portal to the dashboards corresponding to the application. When an application is configured, the configured application is automatically added as a display item on the dashboard 241.

[0141] The real-time monitoring application display unit 242 includes a monitoring status screen 243 and an individual status screen 244. A graph 243a and an aggregate icon 243b are displayed on the monitoring status screen 243. The graph 243a indicates the proportion of applications in the normal state, the caution state, and the abnormal state (warning state) in the monitoring application. Figure 23 In FIG. 2 , the graph 243 a is a pie chart. However, the graph 243 a may be a graph in any format as long as the graph can display a proportion. The aggregate icon 243 b indicates the number of applications in the normal state, the caution state, and the abnormal state among the monitoring applications.

[0142] The individual status screen 244 displays an application name 244a, a status 244b, a margin 244c, a margin trend 244d, a link button 244e, and a setting button 245. The application name 244a indicates the name of the application displayed on the individual status screen 244. The status 244b indicates the monitoring status corresponding to the application name 244a. Figure 23 As shown, the monitoring status can be three categories: normal, caution, and abnormal (warning). In this case, the three categories of status can be given different hatching. Alternatively, the three categories of status can be given different colors: normal can be given green, caution can be given yellow, and abnormal can be given red. Such highlighting can be used.

[0143] The margin 244c indicates the comprehensive margin of each application calculated based on the margin of the monitoring object device or variable corresponding to the application name 244a. The margin of each application can be defined as 100 in a state with sufficient margin, 50 at a caution value, and 0 at a warning value, for example. For example, the margins of each of a plurality of monitoring objects can be averaged to calculate the comprehensive margin. As the margin 244c moves further away from the value indicating a state with sufficient margin, the margin 244c can be displayed in different display formats. For example, a margin greater than 50 is displayed in black, a margin greater than 10 and equal to or less than 50 is displayed in yellow, and a margin equal to or less than 10 is displayed in red.

[0144] The margin trend 244d shows the change over time in the margin corresponding to application name 244a. In this example, the right end of margin trend 244d indicates the current margin. Margin trend 244d indicates margins further to the left. By checking margin trend 244d, the user can determine whether the margin has decreased and at what point in time. Link button 244e links to dashboard 171 for the individual real-time monitoring application corresponding to application name 244a. When link button 244e is pressed, CPU 41a displays the detailed monitoring status of the individual application on PC 2b. Settings button 245 displays a screen for configuring the real-time monitoring application display unit 242. When settings button 245 is pressed, CPU 41a switches the display format of graph 243a and the columns displayed on individual status screen 244, according to user input, and also sets whether margins 244c are sorted by margin size.

[0145] The operation log analysis application display section 246 includes an application name 246a, a last analysis time 246b, a target operation log 246c, anomaly detection count 246d, anomaly detection count trend 246e, and a link button 246f. The application name 246a displays the name of the application displayed on the operation log analysis application display section 246. The last analysis time 246b displays the time when the operation log analysis was last performed. Operation log analysis can include analysis of operation logs saved at scheduled intervals and analysis of operation logs saved when a log save trigger occurs. By confirming the last analysis time 246b, the user can confirm the time up to which the operation logs were analyzed. The target operation log 246c represents the data set as the target for analysis executed at the time displayed in the last analysis time 246b.

[0146] The number of abnormality detections 246d indicates the number of devices or variables in which abnormalities were detected during the analysis performed at the time indicated by the last analysis time 246b. The number of abnormality detections trend 246e indicates the change over time in the number of abnormalities detected during the operation log analysis. In this example, the right end of the number of abnormality detections trend 246e indicates the current number of abnormality detections. In the number of abnormality detections trend 246e, the number of abnormality detections in the past is shown from the right to the left. By confirming the number of abnormality detections trend 246e, the user can confirm the timing at which the number of abnormality detections increased. The link button 246f is a link to the dashboard 221 used by the operation log analysis application corresponding to the same application name 246a. When the link button 246f is pressed, the CPU 41a can display the detailed results of the operation log analysis corresponding to the last analysis time 246b on the PC 2b.

[0147] Figure 24 2 is a flowchart illustrating the integrated monitoring process for generating the dashboard 241 for the data utilization application. In S71, the CPU 41a (data processing unit 83) determines the monitoring status for each monitoring application set. For example, the CPU 41a (data processing unit 83) determines a representative monitoring status for each monitoring application set. The representative monitoring status is determined based on the monitoring status of each monitoring object determined according to the detection algorithm determined for each monitoring object device or variable. For example, the worst monitoring status among the monitoring statuses of each monitoring object can be determined as the representative monitoring status of the application.

[0148] In S72, the CPU 41a (data processing unit 83) aggregates the monitoring status of the monitoring applications. The CPU 41a (data processing unit 83) aggregates the monitoring status representing each monitoring application for each state. Aggregating the monitoring status for each state includes: separately aggregating the number of normal states, the number of attention states, and the number of abnormal states. In S73, the CPU 41a (data processing unit 83) collects values ​​indicating the margins for each set monitoring application. For example, the CPU 41a (data processing unit 83) collects values ​​representing the margins of the monitoring applications with margins. The lowest margin in the monitoring status for each monitored object is determined as the margin representing these applications. In S74, the CPU 41a (data processing unit 83) aggregates values ​​related to the abnormal occurrence state of the operation record analysis application. For example, the CPU 41a (data processing unit 83) collects the number of devices or variables in a state different from usual.

[0149] In S75, the CPU 41a (display processing unit 84) displays the status information of each individual application and the aggregated status information on the integrated monitoring dashboard (dashboard 241 used by the data utilization application). For example, the CPU 41a (display processing unit 84) creates display data for the dashboard 241 used by the data utilization application. The CPU 41a (web server 85) provides display data for displaying a selection screen to the PC 2b. The CPU 41a (display processing unit 84) sometimes separately manages screen data assigned to devices or variables at a reference destination and display object data that is the value of the device or variable at the reference destination. In this case, the CPU 41a (web server 85) selectively provides screen data and display object data in the display data based on the update request and update schedule of the dashboard 241. The CPU 41a (web server 85) provides display data including screen data and display object data based on the display request of the dashboard 241. The CPU 41a (web server 85) selectively provides updated display object data as display data based on the display update request of the dashboard 241.

[0150] In S76, CPU 41a (setting unit 80) switches the display to the dashboard corresponding to the individual application according to the user input. For example, CPU 41a (setting unit 80) receives the user input for switching the dashboard. When it is detected that the switch button has been pressed, CPU 41a (setting unit 80) creates display data for displaying the selection screen of the dashboard 171 used for the real-time monitoring application and the dashboard 221 used for the operation record analysis application. In addition, CPU 41a (web server 85) provides the display data for displaying the selection screen to PC 2b. CPU 41a (setting unit 80) can detect which of the dashboard 171 used for the real-time monitoring application and the dashboard 221 used for the operation record analysis application is selected on the selection screen. CPU 41a (display processing unit 84) creates display data for displaying the selected dashboard. CPU 41a (web server 85) provides the display data for displaying the selected dashboard to PC 2b.

[0151] The data utilization program described above includes examples of a stream program created based on user input and a program module configured using application setting data. However, the present invention is not limited thereto. For example, the data utilization program may be created using a text language such as C, or may be configured using a library written in C and a library execution block that executes the library.

[0152] Summarize

[0153] Viewpoint 1

[0154] PC 2 is an example of a configuration device for a programmable logic controller. PLC 1 is an example of a programmable logic controller. CPU 31 serves as a first execution unit for executing a user program (e.g., a control program). A control program, for example, is a ladder diagram program and is a user program used to perform control, which is the primary purpose of the PLC (e.g., position control of a positioning device). Storage device 32 and device unit 34 serve as storage units for devices or variables, where the devices or variables are storage areas accessed by the first execution unit according to the control program. Collection unit 82 serves as a collection unit for collecting data designated as collection targets from the storage unit. Stream execution unit 81 serves as a second execution unit for performing predetermined data processing on time-series data collected from the storage unit at different timings according to a data utilization program (e.g., a stream). A data utilization program is a user program for collecting data designated as collection targets by the user (e.g., information stored in devices or variables). The data utilization program stores device values ​​acquired from devices in variables and stores the variables in a data memory (e.g., memory 42a). Furthermore, the data utilization program can read variables stored in the data memory, perform analysis processing, and create display data. The display processing unit 84 serves as a generating component for generating display data for a dashboard displaying the results of executing the data utilization program. The web server 85 serves as a providing component for providing the display data to an external computer (e.g., PC 2b). The storage device 12 serves as a storage component for storing templates for display data of multiple dashboards and templates for multiple data utilization programs. The CPU 11, the operating unit 8, the dashboard selection unit 52, and the selection screen 100 serve as a first receiving component for receiving a selection of one of the multiple dashboards. The CPU 11, the operating unit 8, the parameter designation unit 53, and the settings screen 110 serve as a second receiving component for receiving a designation of collection target data by the collection component. The creation unit 54 serves as a creation component for creating setting data comprising a set of templates for the selected dashboard and a pattern for the data utilization program linked to the selected dashboard, so as to display display target data on the selected dashboard, the display target data being calculated by performing predetermined data processing on the collection target data according to the data utilization program. The transmission unit 60 functions as a transmission component for transmitting the configuration data to the programmable logic controller. The flow execution unit 81 performs predetermined data processing on the collection target data based on the configuration data to generate display target data. The display target data (e.g., wOperationRatio) is linked to the graphical display components included in the template for the selected dashboard display data. Since the dashboard template and the data utilization program template are prepared in this way, the user can complete the dashboard and data utilization program simply by setting the parameters required by the templates.That is, according to the present invention, the work of creating a data utilization program for collecting control data held by a PLC and a dashboard for displaying the data utilization program is facilitated.

[0155] Note that the device memory can be understood as a storage component that can be processed by the "control program (user program)" and can be set as a data collection target by the "data utilization program (user program)." The data memory can be understood as a storage component for storing data that can be processed by the "data utilization program (user program)" and displayed as values ​​of display components of the "dashboard."

[0156] Viewpoint 2

[0157] The display unit 7 can be used as a display means for displaying a setting screen for receiving selection of one of the plurality of dashboards and designation of collection target data by the collection means. Figure 7 As shown, the first receiving device can receive the designation of the dashboard through the setting screen. Figure 8 As shown, the second receiving device can receive the designation of the collection target data through the setting screen. Therefore, even a user who is not familiar with programming can easily select a dashboard and designate parameters.

[0158] Viewpoint 3

[0159] As described with respect to the preview button 118, the storage device 12 may store dummy data of a template input to the display data of the instrument panel. The CPU 11 may display a preview of the instrument panel on the display unit 7 by inputting dummy data to the template of the display data of the instrument panel.

[0160] Viewpoint 4

[0161] The display data may be display data displayable on a web browser (eg, HTML data, CSS data, or Java Script (registered trademark) code). The providing means may be a web server 85. Therefore, even a general computer such as the PC 2b can display the dashboard.

[0162] Viewpoint 5

[0163] Multiple dashboards can be associated with different data processing applications (e.g., loss analysis, waveform monitoring, and FFT). The stream / dashboard creation unit 51 can receive a selection of one of the multiple data processing applications as the selection of a dashboard corresponding to the one data processing application. As described above, when a data utilization application is composed of a dashboard and a data utilization program, the selection of an application and the selection of a dashboard are synonymous.

[0164] Viewpoint 6

[0165] The flow / dashboard creation section 51 may select a data utilization program template corresponding to the selection of the dashboard and the designation of the collection target data from a plurality of data utilization program templates, and complete the data utilization program based on the selected data utilization program template.

[0166] Viewpoint 7

[0167] like Figure 1 As shown, a programmable logic controller may include a base unit 3 and an expansion unit 4 connected to the base unit 3. The base unit 3 may include a first execution component and a storage component. The data utilization unit in the expansion unit 4 may include a collection component, a second execution component, a generation component, and a provision component. The expansion unit 4a, functioning as a data utilization unit, is connected to the base unit 3 in this manner. Therefore, the user can easily utilize data, reducing the load associated with data processing on the base unit 3.

[0168] Viewpoints 8-10

[0169] The flow / dashboard creation unit 51 can receive a re-edit of a display component constituting a dashboard and reflect the result of the re-edit of the display component on an arithmetic operation block corresponding to the re-edit, among the plurality of arithmetic operation blocks constituting the data utilization program corresponding to the dashboard. For example, the flow / dashboard creation unit 51 can be configured to receive a re-edit of a display component constituting a dashboard and, in the settings data, delete or disable any arithmetic operation blocks that become unnecessary due to the re-edit. This allows the user to easily customize the dashboard.

[0170] The flow / dashboard creation unit 51 can receive a re-edited arithmetic operation block that constitutes a data utilization program corresponding to a dashboard. The flow / dashboard creation unit 51 can reflect the result of the re-edited arithmetic operation block on the display components that constitute the dashboard, corresponding to the re-edited arithmetic operation block. This allows users to easily customize the data utilization program.

[0171] Figure 13 This figure illustrates re-editing. In this example, a flow program consists of multiple flow blocks. When any of these flow blocks is clicked, the flow / dashboard creation unit 51 displays a parameter setting screen related to that flow block. In this example, since a flow block for performing loss analysis has been specified, the parameter setting screen related to loss analysis is displayed. The user re-edits parameters using this parameter setting screen.

[0172] like Figure 13As shown, the flow program is linked to a dashboard. When a display component constituting the dashboard is clicked, the flow / dashboard creation unit 51 displays a parameter setting screen for the display component. The user re-edits the parameters through the parameter setting screen.

[0173] The parameter settings for the flow block include a variable for storing the analysis results. In this example, the result data (Result Data) is set as the variable for storing the analysis results. On the other hand, the parameter settings for the dashboard's display component include a reference data designator for specifying the data displayed on the display component. In this example, the reference data designator and the variable for storing the analysis results are linked to each other. Therefore, when the variable for storing the analysis results in the flow block changes from result data to process data (Process Data), the flow / dashboard creation unit 51 also changes the reference data designator of the display component from result data to process data. Similarly, when the reference data designator of the display component changes from result data to process data, the flow / dashboard creation unit 51 also changes the variable for storing the analysis results in the flow block from result data to process data. Since one change is automatically reflected in another, when the user changes one parameter, they can save the effort and time of finding and changing another parameter.

[0174] Viewpoint 11

[0175] As described with respect to the additional object 117, the flow / dashboard creation unit 51 can be configured to receive the addition of collection target data from the utilization collection component. The flow / dashboard creation unit 51 can be configured to reflect the addition of collection target data received by the second receiving component in the dashboard display components and the arithmetic operation blocks of the data utilization program in the setup data. The user can edit the dashboard and data utilization program simply by instructing the addition of collection target data (analysis target data).

[0176] Viewpoint 12

[0177] The creation unit 54 may further include an import component for importing data created for the first programmable logic controller into the second programmable logic controller. The import component may copy the setting data created for the first programmable logic controller and edit a portion of the copied setting data to create setting data for the second programmable logic controller. This allows the setting data to be reused across multiple PLCs, thereby reducing the workload on the user.

[0178] Viewpoint 13

[0179] The dashboard may be one that displays the results of loss analysis, waveform monitoring, or frequency analysis.Of course, another type of data utilization application may be employed.

[0180] Viewpoint 14

[0181] The flow execution unit 81 can pass the arithmetic operation result generated by the data utilization program used in the first dashboard to the data utilization program used in the second dashboard, and perform analysis processing on the arithmetic operation result according to the data utilization program used in the second dashboard. In this way, multiple data utilization applications can collaboratively provide analysis results.

[0182] Viewpoint 15

[0183] The creation unit 54 may include: a monitoring unit for monitoring the re-editing of the control program; a judgment unit for judging whether the device name of the re-edited portion of the control program is consistent with the device name included in the setting data when the control program is re-edited; and a replacement unit for replacing the device name included in the setting data with the device name of the re-edited portion of the control program when the device name of the re-edited portion of the control program is consistent. The creation unit 54 may also include a judgment unit for judging whether the identification information of the first storage component (e.g., the device name before re-editing) is consistent with the identification information of the storage component included in the setting data when the storage component used in the control program is changed from a first storage component to a second storage component due to the re-editing of the control program. The creation unit 54 may also include a replacement unit for replacing the identification information of the storage component included in the setting data with the identification information of the second storage component (e.g., the device name after re-editing) when the identification information of the first storage component is consistent with the identification information of the storage component included in the setting data. As a result, the labor and time required to manually reflect the re-editing result of the control program on the setting data of the data utilization application can be reduced.

[0184] Viewpoint 16

[0185] A display connected to the PC 2 and the PLC 1 functions as a display device that displays the execution results of a data utilization program executed in the programmable logic controller on a dashboard. The PLC 1 is an example of a PLC system.

[0186] The present invention is not limited to the above-described embodiment, and various modifications can be made within the scope of the gist of the present invention.

Claims

1. A setting device for setting a programmable logic controller, The programmable logic controller comprises: a first execution unit configured to execute a control program; a storage unit, which is a storage area or a variable accessed by the first execution unit according to the control program; a collecting unit configured to collect data designated as a collection target from the storage unit; a second execution unit configured to execute predetermined data processing on the time series data respectively collected from the storage unit at different timings according to a data utilization program; a generating unit configured to generate display data of a dashboard for displaying an execution result of the data utilization program; as well as a providing unit configured to provide the display data to an external computer, The setting device includes: a storage unit configured to store a plurality of templates for display data of the dashboard and a plurality of templates for data utilization programs; a first receiving unit configured to receive a selection of one of the plurality of dashboards; a second receiving unit configured to receive a designation of collection target data by the collecting unit; a creation unit configured to create setting data including a set of a template of the selected dashboard and a template of a data utilization program linked to the selected dashboard, so as to display display target data calculated by performing the predetermined data processing on the collection target data according to the data utilization program using the selected dashboard; and a transmitting unit configured to transmit the setting data to the programmable logic controller, wherein the second executing unit performs the predetermined data processing on the collection target data based on the setting data to generate the display target data, and The display object data is linked to a graphic display component included in a template of display data of the selected dashboard, The setting device further includes a display unit configured to display a setting screen for receiving a selection of one of the plurality of dashboards and a designation of collection target data by the collection unit. The first receiving unit receives a designation of the dashboard through the setting screen, and the second receiving unit receives a designation of the collection target data through the setting screen.

2. The setting device according to claim 1, wherein The storage unit stores virtual data of a template of display data input to the instrument panel, and The display unit inputs the virtual data into a template of display data of the instrument panel to display a preview of the instrument panel.

3. The setting device according to claim 1, wherein The display data is display data that can be displayed on a web browser, and The providing unit is a Web server.

4. The setting device according to claim 1, wherein The plurality of dashboards are respectively associated with different data processing applications, and The first receiving unit receives a selection of one of the plurality of data processing applications as a selection of a dashboard corresponding to the one data processing application.

5. The setting device according to claim 1, wherein The creation unit selects a data utilization program template corresponding to the selection of the dashboard and the designation of the collection target data from among the plurality of data utilization program templates, and completes the data utilization program based on the selected data utilization program template.

6. The setting device according to claim 1, wherein The programmable logic controller comprises: base unit; and an expansion unit, which is connected to the base unit, The basic unit includes the first execution unit and the storage unit, and The data utilization unit in the expansion unit includes the collection unit, the second execution unit, the generation unit, and the provision unit.

7. The setting device according to claim 1, wherein The creation section is configured to receive re-editing of a display component constituting the dashboard and reflect a result of the re-editing of the display component on an arithmetic operation block corresponding to the re-editing among a plurality of arithmetic operation blocks constituting a data utilization program corresponding to the dashboard.

8. The setting device according to claim 1, wherein The creation section is configured to receive re-editing of a display component constituting the dashboard and delete or disable, in the setting data, an arithmetic operation block that becomes unnecessary according to the re-editing among a plurality of arithmetic operation blocks constituting a data utilization program corresponding to the dashboard.

9. The setting device according to claim 1, wherein: The creation unit is configured to receive re-editing of an arithmetic operation block constituting a data utilization program corresponding to the dashboard, and reflect a result of the re-editing of the arithmetic operation block on a display component corresponding to the re-edited arithmetic operation block among the display components constituting the dashboard.

10. The setting device according to claim 1, wherein The second receiving unit is configured to receive an addition of collection target data by the collecting unit, and The creation section is configured to reflect the addition of the collection target data received by the second reception section on the display components of the dashboard and the arithmetic operation blocks of the data utilization program in the setting data.

11. The setting device according to claim 1, wherein The creation unit further includes an import unit configured to import the setting data created for the first programmable logic controller into the second programmable logic controller, and The importing section copies the setting data created for the first programmable logic controller and edits a portion of the copied setting data to create setting data for the second programmable logic controller.

12. The setting device according to claim 1, wherein The dashboard is a dashboard for displaying results of loss analysis, waveform monitoring, or frequency analysis.

13. The setting device according to claim 1, wherein The second execution section transfers an arithmetic operation result generated by the data utilization program for the first dashboard to the data utilization program for the second dashboard, and performs analysis processing on the arithmetic operation result according to the data utilization program for the second dashboard.

14. The setting device according to claim 1, wherein The creation unit includes: a monitoring unit configured to monitor re-editing of the control program; a determination unit configured to determine whether identification information of the first storage unit and identification information of the storage unit included in the setting data are consistent when the storage unit used in the control program is changed from the first storage unit to the second storage unit in accordance with re-editing of the control program; and A replacement section is configured to replace the identification information of the storage section included in the setting data with the identification information of the second storage section when the identification information of the first storage section matches the identification information of the storage section included in the setting data.

15. A setting device for setting a programmable logic controller, The programmable logic controller comprises: a first execution unit configured to execute a control program; a storage unit, which is a storage area or a variable accessed by the first execution unit according to the control program; a collecting unit configured to collect data designated as a collection target from the storage unit; a second execution unit configured to execute predetermined data processing on the time series data respectively collected from the storage unit at different timings according to a data utilization program; a generating unit configured to generate display data of a dashboard for displaying an execution result of the data utilization program; as well as a providing unit configured to provide the display data to an external computer, The setting device includes: a storage unit configured to store a plurality of templates for display data of the dashboard and a plurality of templates for data utilization programs; a first receiving unit configured to receive a selection of one of the plurality of dashboards; a second receiving unit configured to receive a designation of collection target data by the collecting unit; a creation unit configured to create setting data including a set of a template of the selected dashboard and a template of a data utilization program linked to the selected dashboard, so as to display display target data calculated by performing the predetermined data processing on the collection target data according to the data utilization program using the selected dashboard; and a transmitting unit configured to transmit the setting data to the programmable logic controller, wherein the second executing unit performs the predetermined data processing on the collection target data based on the setting data to generate the display target data, and The display object data is linked to a graphic display component included in a template of display data of the selected dashboard, wherein the plurality of dashboards are respectively associated with different data processing applications, and The first receiving unit receives a selection of one of the plurality of data processing applications as a selection of a dashboard corresponding to the one data processing application.

16. A setting device for setting a programmable logic controller, The programmable logic controller comprises: a first execution unit configured to execute a control program; a storage unit, which is a storage area or a variable accessed by the first execution unit according to the control program; a collecting unit configured to collect data designated as a collection target from the storage unit; a second execution unit configured to execute predetermined data processing on the time series data respectively collected from the storage unit at different timings according to a data utilization program; a generating unit configured to generate display data of a dashboard for displaying an execution result of the data utilization program; as well as a providing unit configured to provide the display data to an external computer, The setting device includes: a storage unit configured to store a plurality of templates for display data of the dashboard and a plurality of templates for data utilization programs; a first receiving unit configured to receive a selection of one of the plurality of dashboards; a second receiving unit configured to receive a designation of collection target data by the collecting unit; a creation unit configured to create setting data including a set of a template of the selected dashboard and a template of a data utilization program linked to the selected dashboard, so as to display display target data calculated by performing the predetermined data processing on the collection target data according to the data utilization program using the selected dashboard; and a transmitting unit configured to transmit the setting data to the programmable logic controller, wherein the second executing unit performs the predetermined data processing on the collection target data based on the setting data to generate the display target data, and The display object data is linked to a graphic display component included in a template of display data of the selected dashboard, The creation unit selects a data utilization program template corresponding to the selection of the dashboard and the designation of the collection target data from among the plurality of data utilization program templates, and completes the data utilization program based on the selected data utilization program template.

17. A programmable logic controller system, i.e., a PLC system, comprising: Programmable logic controllers; A setting device, used to set the programmable logic controller; as well as a display device for displaying the execution result of the data utilization program executed by the programmable logic controller on the dashboard; Wherein, the programmable logic controller includes: a first execution unit configured to execute a control program; a storage unit, which is a storage area or a variable accessed by the first execution unit according to the control program; a collecting unit configured to collect data designated as a collection target from the storage unit; a second execution unit configured to execute predetermined data processing on the time series data respectively collected from the storage unit at different timings according to a data utilization program; a generating unit configured to generate display data of a dashboard for displaying an execution result of the data utilization program; and a providing section configured to provide the display data to the display device, and the setting device includes: a storage unit configured to store a plurality of templates for display data of the dashboard and a plurality of templates for data utilization programs; a first receiving unit configured to receive a selection of one of the plurality of dashboards; a second receiving unit configured to receive a designation of collection target data by the collecting unit; a creation unit configured to create setting data including a set of a template of the selected dashboard and a template of a data utilization program linked to the selected dashboard, so as to display display target data calculated by performing the predetermined data processing on the collection target data according to the data utilization program using the selected dashboard; and a transmitting unit configured to transmit the setting data to the programmable logic controller, the second executing unit performing the predetermined data processing on the collection target data based on the setting data to generate the display target data, and The display object data is linked to a graphic display component included in a template of display data of the selected dashboard, The setting device further includes a display unit configured to display a setting screen for receiving a selection of one of the plurality of dashboards and a designation of collection target data by the collection unit. The first receiving unit receives a designation of the dashboard through the setting screen, and the second receiving unit receives a designation of the collection target data through the setting screen.

18. A programmable logic controller system, i.e., a PLC system, comprising: Programmable logic controllers; A setting device, used to set the programmable logic controller; as well as a display device for displaying the execution result of the data utilization program executed by the programmable logic controller on the dashboard; Wherein, the programmable logic controller includes: a first execution unit configured to execute a control program; a storage unit, which is a storage area or a variable accessed by the first execution unit according to the control program; a collecting unit configured to collect data designated as a collection target from the storage unit; a second execution unit configured to execute predetermined data processing on the time series data respectively collected from the storage unit at different timings according to a data utilization program; a generating unit configured to generate display data of a dashboard for displaying an execution result of the data utilization program; and a providing section configured to provide the display data to the display device, and the setting device includes: a storage unit configured to store a plurality of templates for display data of the dashboard and a plurality of templates for data utilization programs; a first receiving unit configured to receive a selection of one of the plurality of dashboards; a second receiving unit configured to receive a designation of collection target data by the collecting unit; a creation unit configured to create setting data including a set of a template of the selected dashboard and a template of a data utilization program linked to the selected dashboard, so as to display display target data calculated by performing the predetermined data processing on the collection target data according to the data utilization program using the selected dashboard; and a transmitting unit configured to transmit the setting data to the programmable logic controller, the second executing unit performing the predetermined data processing on the collection target data based on the setting data to generate the display target data, and The display object data is linked to a graphic display component included in a template of display data of the selected dashboard, wherein the plurality of dashboards are respectively associated with different data processing applications, and The first receiving unit receives a selection of one of the plurality of data processing applications as a selection of a dashboard corresponding to the one data processing application.

19. A programmable logic controller system, i.e., a PLC system, comprising: Programmable logic controllers; A setting device, used to set the programmable logic controller; as well as a display device for displaying the execution result of the data utilization program executed by the programmable logic controller on the dashboard; Wherein, the programmable logic controller includes: a first execution unit configured to execute a control program; a storage unit, which is a storage area or a variable accessed by the first execution unit according to the control program; a collecting unit configured to collect data designated as a collection target from the storage unit; a second execution unit configured to execute predetermined data processing on the time series data respectively collected from the storage unit at different timings according to a data utilization program; a generating unit configured to generate display data of a dashboard for displaying an execution result of the data utilization program; and a providing section configured to provide the display data to the display device, and the setting device includes: a storage unit configured to store a plurality of templates for display data of the dashboard and a plurality of templates for data utilization programs; a first receiving unit configured to receive a selection of one of the plurality of dashboards; a second receiving unit configured to receive a designation of collection target data by the collecting unit; a creation unit configured to create setting data including a set of a template of the selected dashboard and a template of a data utilization program linked to the selected dashboard, so as to display display target data calculated by performing the predetermined data processing on the collection target data according to the data utilization program using the selected dashboard; and a transmitting unit configured to transmit the setting data to the programmable logic controller, the second executing unit performing the predetermined data processing on the collection target data based on the setting data to generate the display target data, and The display object data is linked to a graphic display component included in a template of display data of the selected dashboard, The creation unit selects a data utilization program template corresponding to the selection of the dashboard and the designation of the collection target data from among the plurality of data utilization program templates, and completes the data utilization program based on the selected data utilization program template.

Citation Information

Patent Citations

  • Index table

    JP1981061222A

  • Control device, control program and control method

    JP2018097662A

  • Controller and recording medium with its program recorded

    JP2002189508A