Programmable logic controller
The PLC is enhanced with data collection and display functions to independently monitor and detect abnormalities, addressing the limitations of external reliance for data collection and display.
Patent Information
- Application Number
- JP2025095582
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-06-09
- Publication Date
- 2025-08-15
AI Technical Summary
Existing programmable logic controllers (PLCs) lack the capability to collect necessary data and generate data display screens independently, relying on external industrial computers for information collection and monitoring.
A PLC equipped with an application program for real-time monitoring, a communication unit, storage means, execution means, collection means, determination means, and a generation means to generate a data display screen on a web browser, including a dashboard with setting data and normal condition detection.
Enables the PLC to collect and display data independently, facilitating real-time monitoring and detection of abnormal situations, enhancing its operational monitoring capabilities.
Smart Images

Figure 2025120341000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a programmable logic controller. [Background technology]
[0002] A programmable logic controller (PLC) is a controller used in factory automation to control industrial machinery such as manufacturing equipment, conveying equipment, and inspection equipment. PLCs control various expansion units and controlled devices by executing user programs, such as ladder programs created by programmers. To monitor the operation of a PLC, it has been proposed to collect data held by the PLC and monitor the data on a computer (PC) or HMI (human interface: display device) connected externally to the PLC (Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2019-016325 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the invention of Patent Document 1, information is collected by an IPC (industrial computer) installed outside the PLC, and the PLC alone cannot collect the necessary information and provide it to peripheral devices. Therefore, an object of the present invention is to provide a PLC that has the function of collecting data and the function of generating a data display screen. [Means for solving the problem]
[0005] The present invention is, for example, an application program for monitoring a monitoring target in real time and displaying the monitoring results on a web browser using a dashboard selected by a user, and a communication unit for receiving setting data for the dashboard from an external tool; a storage means for storing setting data of the application program and the dashboard; an execution means for executing the application program; The execution means a collection means for collecting a plurality of symbol values stored in symbols that are devices or variables to be collected in accordance with an application program; a determination means for determining whether each of the monitoring targets based on each symbol value collected by the collection means in accordance with the application program satisfies a normal condition set for the application program, thereby detecting an abnormal situation with respect to the plurality of monitoring targets; a generating means for generating display data for displaying the dashboard on a web browser in response to a user instruction, the dashboard including a list display including information indicating each determination result of the determining means and values of each of the monitored objects in accordance with setting data of the dashboard, a detailed display of each of the monitored objects, and a setting display for setting the normal conditions; a web server that provides a web browser with the display data generated by the generation means and accepts settings of the normal conditions via the web browser that has been set and displayed by the dashboard; and The dashboard setting data includes a dashboard template prepared for each application and parameters designated by a user for setting display components of the template. [Effects of the Invention]
[0006] According to the present invention, a PLC is provided that has a function of collecting data and a function of generating a data display screen. [Brief explanation of the drawings]
[0007] [Figure 1] Diagram showing a PLC system [Figure 2] Diagram explaining a PC [Figure 3] Diagram explaining PLC [Figure 4] Functions realized by the CPU of the programming support device [Figure 5] Functions realized by the CPU of the expansion unit (data utilization unit) [Figure 6] Functions realized by the CPU of the expansion unit (data utilization unit) [Figure 7] Functions realized by the CPU of the expansion unit (data utilization unit) [Figure 8] Diagram explaining the display screen [Figure 9] Diagram explaining the display screen [Figure 10] Diagram explaining the display screen [Figure 11] Diagram explaining the display screen [Figure 12] Diagram explaining the display screen [Figure 13] Figure explaining the application selection screen [Figure 14] Diagram explaining the configuration wizard [Figure 15] Diagram explaining automatic threshold setting [Figure 16] Figure explaining the monitor item setting screen [Figure 17] A diagram explaining the threshold setting screen [Figure 18] Diagram explaining the configuration wizard [Figure 19] Diagram explaining the display screen [Figure 20] A diagram explaining the screen for accepting application operation switching [Figure 21] Diagram explaining the chart [Figure 22] Diagram explaining the configuration wizard [Figure 23]Diagram explaining the waveform upper and lower limit monitoring application [Figure 24] Diagram explaining the waveform upper and lower limit monitoring application [Figure 25] Diagram explaining the waveform upper and lower limit monitoring application [Figure 26] Diagram explaining the waveform upper and lower limit monitoring application [Figure 27] Diagram explaining the waveform upper and lower limit monitoring application [Figure 28] Diagram explaining the waveform upper and lower limit monitoring application [Figure 29] Diagram explaining the combination of monitoring and status determination methods [Figure 30] Diagram explaining the configuration wizard [Figure 31] Diagram illustrating waveform guardband monitoring application [Figure 32] Diagram explaining the method for determining the threshold waveform [Figure 33] Diagram explaining the method for determining the threshold waveform [Figure 34] Diagram explaining the method for determining the threshold waveform [Figure 35] Diagram explaining the display screen [Figure 36] Diagram explaining the configuration wizard [Figure 37] Flowchart showing process and timing monitoring [Figure 38] Flowchart showing waveform monitoring [Figure 39] Diagram explaining the notification dialog [Figure 40] Diagram explaining the dashboard of the KPI calculation application DETAILED DESCRIPTION OF THE INVENTION
[0008] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the invention according to the claims, and not all combinations of features described in the embodiments are necessarily essential to the invention. Two or more of the features described in the embodiments may be arbitrarily combined. Furthermore, the same reference numerals are used for identical or similar configurations, and redundant explanations are omitted. A lowercase letter may be added to the end of a reference numeral indicating an identical or similar element. When matters common to multiple elements are described, the lowercase letter is omitted.
[0009] <System configuration> First, to enable those skilled in the art to better understand programmable logic controllers (PLCs, which may also be simply called programmable controllers), the configuration and operation of a typical PLC will be described.
[0010] FIG. 1 is a conceptual diagram showing an example of the configuration of a programmable logic controller system according to an embodiment of the present invention. As shown in FIG. 1, this system includes a PC 2a for editing user programs such as ladder programs, and a PLC (Programmable Logic Controller) 1 for comprehensively controlling various control devices installed in a factory or the like. PC is an abbreviation for personal computer. User programs may be created using a graphical programming language such as a ladder language or a flowchart-style motion program such as SFC (Sequential Function Chart), or may be created using a high-level programming language such as C. For ease of explanation, the user program executed by the base unit 3 will be referred to as a ladder program below. The PLC 1 includes a base unit 3 with a built-in CPU and one or more expansion units 4. One or more expansion units 4 are detachable from the base unit 3.
[0011] The base unit 3 is equipped with a display unit 5 and an operation unit 6. The display unit 5 can display the operating status of each expansion unit 4 attached to the base unit 3. The display unit 5 changes its display content depending on the operation of the operation unit 6. The display unit 5 typically displays the current values (device values) of devices within the PLC 1 and error information occurring within the PLC 1. A device is a memory area provided for storing device values (device data) and may also be called device memory. A device value is information indicating the input status from input devices, the output status to output devices, and the status of internal relays (auxiliary relays), timers, counters, data memory, etc. set in a user program. Device values are classified into bit and word types. A bit device stores a 1-bit device value. A word device stores a 1-word device value. The PLC 1 may be configured to handle variables in addition to devices. Devices and variables are called symbols, and the values represented by symbols are called symbol values.
[0012] The expansion units 4 are provided to expand the functions of the PLC 1. A field device (controlled device) 10 corresponding to the function of the expansion unit 4 may be connected to each expansion unit 4, and each field device 10 is thereby connected to the basic unit 3 via the expansion unit 4. The field device 10 may be an input device such as a sensor or a camera, or an output device such as an actuator. Furthermore, multiple field devices may be connected to one expansion unit 4.
[0013] For example, the expansion unit 4b may be a positioning unit that drives a motor (field device 10) to position a workpiece, or may be a counter unit that counts signals from an encoder (field device 10) such as a manual pulser.
[0014] The expansion unit 4a is a data collection unit that executes a flow to collect data to be collected from the basic unit 3 and the expansion unit 4b, processes the collected data to create data to be displayed, and creates display data for displaying a dashboard on the display unit 7 or the PC 2. The basic unit 3 is also called a CPU unit. Note that a system including the PLC 1 and the PC 2 may also be called a programmable logic controller system.
[0015] PC2a is a computer primarily operated by a programmer. Meanwhile, PC2b is a computer operated by a field technician. PC2b may be a programmable display whose screen can be configured by a user. In this case, the screen displaying the analysis results, etc., may be configured by the user. The programmable display may be equipped with a web browser function, and the analysis results, etc., may be displayed using the web browser function. PC2a may also be called a programming support device (setting device). PC2 is, for example, a portable notebook or tablet personal computer or a smartphone, and is an external computer equipped with a display unit 7 and an operation unit 8. The external computer is a computer external to PLC1. A ladder program, which is an example of a user program for controlling PLC1, is created using PC2a. The created ladder program is converted into mnemonic code within PC2a. PC2 is connected to the base unit 3 of PLC1 via a communication cable 9, such as a Universal Serial Bus (USB) cable. For example, PC2a sends the converted ladder program to the base unit 3. The basic unit 3 converts the ladder program into machine code and stores it in a memory provided in the basic unit 3. Note that, although a mnemonic code is transmitted to the basic unit 3 here, the present invention is not limited to this. For example, the PC 2a may convert the mnemonic code into an intermediate code and transmit the intermediate code to the basic unit 3.
[0016] 1, the operation unit 8 of the PC 2 may include a pointing device such as a mouse connected to the PC 2. The PC 2 may also be configured to be detachably connected to the base unit 3 of the PLC 1 via a communication cable 9 other than a USB cable. The PC 2 may also be connected to the base unit 3 of the PLC 1 via wireless communication without using the communication cable 9.
[0017] The HMI (human interface) 16 is a display device that reads and displays information stored in a device or buffer of the PLC 1. The HMI 16 may have, for example, a touch panel input device.
[0018] <Programming support device> FIG. 2 is a block diagram for explaining the electrical configuration of PC 2. As shown in FIG. 2, PC 2 includes a CPU 11, a display unit 7, an operation unit 8, a storage device 12, and a communication unit 13. The display unit 7, the operation unit 8, the storage device 12, and the communication unit 13 are each electrically connected to CPU 11. The storage device 12 includes RAM, ROM, HDD, and SSD, and may further include a removable memory card. CPU is an abbreviation for central processing unit. ROM is an abbreviation for read-only memory. RAM is an abbreviation for random access memory. HDD is an abbreviation for hard disk drive. SSD is an abbreviation for solid state drive.
[0019] A user of the PC 2a causes the CPU 11 to execute the project editing program 14a stored in the storage device 12, and edits project data through the operation unit 8. In other words, the PC 2a is an engineering tool and functions as a program creation support device. The project data includes one or more user programs (e.g., ladder program, control program, motion program, data utilization program), configuration information for the base unit 3 and expansion units 4, drawing data for the WebHMI, and setting information for specific functions provided in the base unit 3 and expansion units 4. The configuration information includes information indicating the connection positions of multiple expansion units 4 relative to the base unit 3, functions provided in the base unit 3 (e.g., data collection function, communication function, positioning function), and functions of the expansion units 4 (e.g., communication function, positioning function, photography function). The drawing data is a group of display components used to realize the WebHMI. The drawing data is realized by markup data (e.g., HTML data) describing the front-end structure, style data (e.g., CSS data) describing decorations, and code (e.g., JavaScript (registered trademark) code) describing dynamic processing. The term "front end" refers to the portion of a web page, web service, or web application that is directly visible to the user. The style data describing the decoration may be provided, for example, in file format. In this case, the style data may be called by a statement calling an external style data file within the markup data describing the structure. The code describing the dynamic processing may be provided, for example, in file format. In this case, the code describing the dynamic processing may be called by a statement calling an external code file within the markup data describing the structure. Front ends that can be used by calling external style data files or external code files are highly reusable and maintainable, and can utilize, for example, general-purpose front-end components. Adopting such general-purpose, highly reusable web rendering technology enables the reuse of components in the development of WebHMIs and other applications, improving their maintainability. Hereinafter, rendering data will be referred to as display components.The data utilization program includes a program for collecting control data (such as device values) in the PLC 1, processing the data, and creating data to be passed to the WebHMI. The setting information for a specific function includes setting information for functions (e.g., data collection function, communication function, positioning function) provided in the base unit 3. For example, for a data collection function, setting information for data collection conditions and data collection targets is included. Setting information for functions (e.g., communication function, positioning function, data utilization function, and photography function) of the expansion unit 4 may also be included. Here, editing project data includes creating and modifying (re-editing) project data. The user can read project data stored in the storage device 12 as needed and modify the project data using the project editing program 14a. The communication unit 13 communicates with the base unit 3 via the communication cable 9a. The CPU 11 transfers project data to the base unit 3 via the communication unit 13. The communication unit 13 communicates with the expansion unit 4a via the communication cable 9b.
[0020] The CPU 11 may create setting data for a flow (data utilization program) or a dashboard by executing the flow / dashboard editing program 14b. The flow / dashboard editing program 14b may be a part of the project editing program 14a.
[0021] 4 by executing the web browser program 14d. The web browser 61 may also be part of the project editing program 14a. The web browser 61 displays a display screen (dashboard) provided by the PLC 1 on the display unit 7. Note that the project editing program 14a or the flow / dashboard editing program 14b may have a built-in function for displaying a display screen (dashboard) provided by the PLC 1 on the display unit 7. The CPU 11 transfers setting data for the flow and dashboard to the extension unit 4a via the communication unit 13.
[0022] <plc> FIG. 3 is a block diagram illustrating the electrical configuration of the PLC 1. As shown in FIG. 3, the basic unit 3 includes a CPU 31, a display unit 5, an operation unit 6, a storage device 32, and a communication unit 33. The display unit 5, the operation unit 6, the storage device 32, and the communication unit 33 are each electrically connected to the CPU 31. The storage device 32 may include RAM, ROM, a memory card, etc. The storage device 32 has multiple storage areas, such as a device unit 34 and a project storage unit 35. The device unit 34 includes bit devices and word devices, and each device stores a device value. The project storage unit 35 stores project data input from the PC 2a. The storage device 32 also stores a control program for the basic unit 3. As shown in FIG. 3, the basic unit 3 and the expansion unit 4 are connected via a unit internal bus 19, which is a type of expansion bus. Note that the communication function related to the unit internal bus 19 is implemented in the CPU 31, but may also 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.
[0023] Here, we will provide additional information about the unit internal bus 19. This unit internal bus 19 is a communication bus used for input / output refresh. Input / output refresh is a process for updating device values between the basic unit 3 and the expansion unit 4. Input / output refresh is performed each time a ladder program is executed (i.e., each scan).
[0024] The expansion unit 4 includes a CPU 41 and a memory 42. The CPU 41b of the expansion unit 4b controls the field device 10 in accordance with instructions (device values) from the basic unit 3 stored in the device. The CPU 41b also stores the control results of the field device 10 in a device called a buffer memory. The control results stored in the device are transferred to the basic unit 3 by input / output refresh. The control results stored in the device are also transferred to the basic unit 3 in accordance with a read command from the basic unit 3, even at a timing different from the input / output refresh. The memory 42 includes RAM, ROM, etc. In particular, the RAM has a storage area reserved for use as a buffer memory. The memory 42 may have a buffer that temporarily stores data (e.g., still image data or video data) acquired by the field device 10.
[0025] The CPU 41a of the expansion unit 4a, which functions as a data utilization unit (analysis unit), communicates with the PC 2a via the communication unit 43 and the cable 9b. The communication unit 43 includes a communication circuit that performs network communication. When a driving record analysis application is set as the data utilization application, the CPU 41a analyzes device values collected in the base unit 3 to create an analysis report including the analysis results. For example, the CPU 41a analyzes symbol values included in the driving record data to identify abnormal symbols and the time when the symbols became abnormal, and creates an analysis report including the analysis results that associate the abnormal symbols with the time when the symbols became abnormal. The driving record data includes information for recreating the situation around the time when a driving record storage event occurred. Therefore, the driving record data may be managed in association with the analysis report. Furthermore, the driving record data includes symbol values of many symbols for recreating the situation around the time when a driving record storage event occurred. Therefore, the data size of the driving record data is likely to be large. For example, the CPU 41a may read data necessary for the analysis report from the driving record data and add it to the driving record data as data for the analysis report. Here, additional storage refers to, for example, reading and copying data required for an analysis report from driving record data, tagging the copied data, and then additionally saving the data for the analysis report to the driving record data. Applying data processing such as tagging the data in this way makes it easier to create an analysis report.
[0026] The driving record data may include camera images. In this case, by playing back the camera images, the user can understand in more detail the circumstances surrounding the time when a driving record storage event occurred. The analysis report may also include a UI (user interface) for playing back camera images. Camera images have a large data size. Therefore, only necessary camera image data may be partially downloaded when, for example, a click or scroll operation is received in the UI for playing back camera images. For example, when creating an analysis report, the CPU 41a may process the camera images in accordance with the display order in the analysis report, or generate index information indicating the correspondence between the time and the storage location of the camera images. This allows the CPU 41a to quickly and partially download camera images corresponding to the display time (the time of the internal clock for playback).
[0027] In a narrow sense, an analysis report refers to the analysis results themselves, but in a broad sense, it can refer to a web application or its user interface that displays the analysis results. The CPU 41a determines, for example, whether a device value is within a normal range or whether the timing at which the device value changes is within a normal range. Whether the timing at which a device value changes is within a normal range may be determined, for example, by determining whether the length of time during which the device value is "1" (ON) is within a normal range. It may also be determined whether the number of times the device value changes in a certain process or cycle is within a normal range. If the device values collected from a certain device do not satisfy the normal conditions, the device may be behaving abnormally and may be called an abnormal device. The CPU 41a may create a web-format analysis report and provide it to a web browser on the PC 2b via the communication unit 43 and communication cable 9b.
[0028] The data utilization unit is an extension unit that executes a data utilization application. The data utilization application includes a data utilization program (e.g., a flow) that collects and processes control data, and a dashboard that displays the execution results of the data utilization program. Here, a flow is used as an example of a data utilization program, but it may be a user program written in another language. The flow may include an operation block that collects data, an operation block that performs data processing, and an operation block that creates display data. The dashboard may include a graph display component and a numeric display component. The analysis report may include a graph display component and a numeric display component. These display components may be realized by markup data that describes the front-end structure, style data that describes decoration, and code that describes dynamic processing. In this embodiment, the flow is realized by a flow template. A flow template is prepared in advance for each application and includes one or more operation blocks to which parameters specified by the user are set. The dashboard is also realized by a template. The dashboard template includes one or more display components to which parameters specified by the user are set. Parameters include a wide variety of information, such as the dashboard name, device name, numerical value, and unit variable name. The unit variables are variables that the extension unit 4a uses to hold the execution results of the flow.
[0029] The CPU 41a stores the setting data for the flow and dashboard received from the PC 2a in the memory 42a. The CPU 41a executes the flow in accordance with the setting data, collects device values, and creates display data to be displayed on the dashboard. The CPU 41a communicates with the PC 2b via the communication unit 43 and the cable 9b. The CPU 41a transmits the display data for the dashboard to the PC 2b. As a result, the PC 2b displays the dashboard including various data related to the PLC 1.
[0030] The HMI 16 may also be connected to the communication unit 43 and communicate with the CPU 41a via the communication unit 43. The CPU 41a stores display data in a predetermined buffer or device. The HMI 16 reads the display data from the predetermined buffer or device and displays the display data.
[0031] 4 is a diagram illustrating functions realized by the CPU 11 of the PC 2a. The project creation unit 50 is a function realized by the CPU 11 executing the project editing program 14a. The project creation unit 50 includes a control program creation unit 52, 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 in accordance with user instructions input through the operation unit 8.
[0032] The control program creation unit 52 creates a control program 155, such as a ladder program, to be executed by the CPU 31, in accordance with user instructions input through the operation unit 8. The control program 155 is stored in the storage device 12 as part of the project data 70.
[0033] The flow dashboard creation unit 51 is a function realized when the CPU 11 executes the flow dashboard editing program 14b. The flow dashboard creation unit 51 includes an application selection unit 55 and a setting data creation unit 56. The application selection unit 55 displays a selection screen on the display unit 7 to help the user select one application from multiple applications (data utilization programs) and accepts the user's selection of the application. Examples of applications include a real-time monitoring application that monitors target devices and variables in real time, and an operation record analysis application that analyzes operation records to reproduce the operating status of the PLC 1 and generates an analysis report. Examples of applications include a calculation application that calculates KPIs (Key Performance Indicators) such as availability, non-defective product rate, or cycle time.
[0034] The setting data creation unit 56 creates application setting data 74b in accordance with user instructions, including parameters related to an application (data utilization program) selected by the user and parameters related to dashboard display settings. These parameters include, for example, devices or variables to be monitored, names of monitoring items (e.g., process names), monitoring conditions for each monitoring object, files to be analyzed, devices to be analyzed, periods to be analyzed, display objects, names of display components, and units. The setting data creation unit 56 may provide information required to create the application setting data 74b to the PLC 1 in a file format such as CSV. The setting unit 78 may read the provided file such as CSV and create the application setting data 74b. The setting data creation unit 56 extracts a template for displaying the dashboard selected by the user. For example, a dashboard template 71a is extracted from the dashboard template 71 and saved in the setting data 73. The dashboard template 71 has various display components (graph modules) for realizing the dashboard. The setting data creation unit 56 extracts a template for a data utilization program that executes data processing required to display data on the dashboard selected by the user. For example, a utilization program template 72a is extracted from the utilization program template 72 and saved in the setting data 73. The utilization program template 72 has an arithmetic component (program module) for executing data processing. The setting data creation unit 56 creates setting data 73 including a dashboard template, a data utilization program template, and application setting data 74b set in these templates, and stores the data in the storage device 12. The setting data creation unit 56 may also create collection setting data 74a including devices or variables to be collected, collection conditions, etc.
[0035] The setting data creation unit 56 may create other applications that reference the measurement results of the monitoring target calculated by the real-time monitoring application. The measurement results of the monitoring target calculated by the real-time monitoring application are output to a predetermined variable for each measurement result. The setting data creation unit 56 configures other applications or applications newly created by the user to reference variables indicating the measurement results. The measurement results of the monitoring target calculated by the real-time monitoring application may include, for example, time results such as the processing time of each process, the time between a preceding process and a subsequent process, and the length of the entire process, as well as feature quantities of time-series data (waveform data), feature quantities of camera images, and the like. The setting data creation unit 56 may configure a dashboard created by the user to reference variables indicating the measurement results. The measurement results of the monitoring target calculated by the real-time monitoring application may be stored in a database. This may be achieved by linking the real-time monitoring application with a database function.
[0036] The collection setting unit 57 defines the collection operation of devices and variables in accordance with user instructions. Furthermore, the collection setting unit 57 creates collection setting data 74a including the devices or variables to be collected, collection conditions, etc. The collection setting data 74a may be included in the setting data 73. The collection setting unit 57 and the setting data creation unit 56 may be integrated into one.
[0037] The transfer unit 60 transfers the project data 70 to the basic unit 3 and the setting data 73 to the extension unit 4a. The web browser 61 is realized by the CPU 11 executing the web browser program 14d.
[0038] FIG. 5 shows the functions realized by the CPU 41a of the expansion unit 4a. Some or all of the functions of the expansion unit 4a described below may be implemented in the base unit 3. The setting unit 80 stores the setting data 73 received from the PC 2a in the memory 42a. The setting unit 80 may configure the base unit 3 to collect device values according to the setting data 73. The setting data 73 includes a dashboard template 71a, a utilization program template 72a, collection setting data 74a, and application setting data 74b. The collection setting data 74a may be passed from the PC 2a to the expansion unit 4a after being assigned to the dashboard template 71a and the utilization program template 72a, or may be passed from the PC 2a to the expansion unit 4a after being separated from the dashboard template 71a and the utilization program template 72a. The flow execution unit 81 is a function realized by the CPU 41a executing the flow in the utilization program template 72a according to the collection setting data 74a. The collection unit 82 collects device values specified by the collection setting data 74a from the base unit 3 and expansion unit 4b, creates collected data 75, and stores it in memory 42a. The data processing unit 83 applies data processing specified by the collection setting data 74a to the collected data 75, creates analyzed data 76, and stores it in memory 42a. The display processing unit 84 creates dashboard display data 77 (e.g., HTML data, image data, CSS (Cascading Style Sheets), and JavaScript (registered trademark) code) based on the dashboard template 71a specified by the application setting data 74b and the data to be displayed. The web server 85 provides the dashboard display data 77 to web browsers 61 on PCs 2b and other devices.
[0039] FIG. 6 is a diagram illustrating other functions realized by the CPU 41a of the expansion unit 4a. Some or all of the functions of the expansion unit 4a described below may be implemented in the basic unit 3. Here, the expansion unit 4a provides setting and editing functions such as a dashboard to the PC 2b using web-based technology. The setting and editing functions may be called and executed from the dashboard. The setting and editing functions may also be provided in the PC 2a, which is a program creation support device. Functions similar to those already described are given the same reference numerals, and descriptions of such functions will be omitted.
[0040] The setting unit 80 includes the flow dashboard creation unit 51 described above. The flow dashboard creation unit 51 is a function realized by the CPU 41a executing the flow dashboard editing program 14b. The flow dashboard editing program 14b may cause the CPU 41a to function as a Web processing unit that communicates with a so-called Web browser 61 via a Web server 85 to provide a display screen and accept input. The application selection unit 55 displays a selection screen on the display unit 7b of the PC 2b via the Web server 85 to help the user select one dashboard from multiple dashboards (real-time monitoring applications) and accepts the user's dashboard selection. The setting data creation unit 56 accepts user specifications, via the Web server 85, for flow-related parameters associated with the dashboard selected by the user and parameters related to dashboard display settings. These parameters include the device to be collected, the device to be analyzed, the period to be analyzed, the display target, the names and units of the display components, etc. The setting data creation unit 56 extracts a dashboard template 71a for displaying the dashboard selected by the user from the dashboard template 71. The dashboard template 71 has various display components (graph modules) for realizing a dashboard. The setting data creation unit 56 extracts, from the utilization program template 72, an utilization program template 72a that executes data processing required to display data on the dashboard selected by the user. The utilization program template 72 has calculation components (program modules) for executing data processing. The flow dashboard creation unit 51 may also create the collection setting data 74a and application setting data 74b described above in accordance with user instructions input from the Web browser 61. The setting data creation unit 56 creates setting data 73 including the dashboard template 71a, the utilization program template 72a, the collection setting data 74a, and the application setting data 74b, and stores the data in the memory 42a.
[0041] FIG. 7 shows additional functions implemented in the expansion unit 4a.
[0042] The alarm issuing unit 90 is a function that issues a notification to a peripheral device based on the determination result of the flow executing unit 81 (analysis unit 54). Peripheral devices include the HMI 16, PCs 2a and 2b, etc. The application notification unit 91 is a function that notifies a peripheral device that the monitoring status of the real-time monitoring application has changed from a normal state to a caution state or an alarm state. A real-time monitoring application is an application that displays device values on a display screen while a user program (ladder program) is being executed in the PLC 1. A real-time monitoring application is distinguished from an application that displays only past device values stored on a memory card, etc. The real-time monitoring application may also include a function that displays these past device values.
[0043] The event registration unit 92 has a function of registering, as an event, in the basic unit 3, when the monitoring status of the monitoring application changes from a normal state to a caution state or an alarm state. The CPU 31 of the basic unit 3 has a function of saving a history of errors and events. The event registration unit 92 requests the CPU 31 of the basic unit 3 to register an event by sending a communication command via the internal bus 19.
[0044] The operation record storage unit 93 is a function that requests the CPU 31 of the basic unit 3 to store the collected device values (operation records). The CPU 31 stores the device values in a ring buffer or the like for each scan time of the ladder program. The CPU 41a of the expansion unit 4a acquires and analyzes these device values to determine whether the storage conditions are met. If the storage conditions are met, the operation record storage unit 93 sends a storage request to the CPU 31 via the internal bus 19. The CPU 31 saves the device values stored in the ring buffer as operation records in accordance with the storage request. The flow execution unit 81 (analysis unit 54) may acquire the analysis results by reading and analyzing the operation records from the basic unit 3, and save the analysis results in the analyzed data 76.
[0045] Here, the operation record may be a scan-time record of the operating status of PLC1. For example, the operation record may be a chronological record of the symbol values and collection times of all symbols related to the operation of PLC1 for each scan. All operation-related symbols may be all symbols used in a user program, such as a ladder program, or all symbols included in a program or unit selected by the user. In this case, the symbols to be recorded may be selected collectively in meaningful units, such as programs or units. Symbols to be recorded may also be added or deleted individually. For example, when a problem occurs, an operation record may be generated that records the symbol values and collection times of all symbols related to the operation of PLC1 around the time of the problem in chronological order for each scan. Based on the operation record, users will be able to accurately understand what happened at the time of the problem, even later. The operation record may contain a large amount of information required to reconstruct the situation at the time. The larger the amount of information, the larger the data volume of the operation record, making it difficult to handle (data processing, etc.) and placing a burden on collecting the operation record. Therefore, the symbols to be collected can be selected by the user on a program or unit basis.
[0046] In addition to symbols, operation records may also include chronological camera images along with the capture times. This allows users to accurately understand what happened around the time of a problem, for example, by tracing back the time of the problem. In particular, including camera images showing changes in the appearance of equipment in operation records is useful for understanding the situation. For this reason, camera images may be recorded in conjunction with the chronological execution of user programs. Write history from external devices such as HMIs (human-machine interfaces) and PCs, as well as write history from PLCs, may also be included in operation records as change-point events. This allows users to chronologically check, for example, what change-point events occurred before and after a problem occurred. Furthermore, operation records may also include project data. By including project data from the time the operation record data was generated in the operation record, even if multiple versions of the project data exist, the situation can be reproduced using the project data actually used when the operation record data was generated. Operation records may also include analysis reports. By including analysis reports containing analysis results obtained from the operation record data in the operation record, the analysis results can be linked to the operation record data.
[0047] The history storage unit 94 has a function to store device values, dashboard display data (charts and graphs), and thresholds acquired when a caution or alarm state occurs as history. This history is useful for reproducing unusual behavior that occurred in the past on the display screen.
[0048] The data processing unit 83 may have a function to perform statistical processing on the collected data 75 (such as device values). The trend graph creation unit 53a creates a trend graph from the collected data 75. For example, the trend graph creation unit 53a has a function to select a statistical value (maximum, average, or minimum value) for each specified number of device values included in the collected data 75, and associate and store the selected statistical value with time information indicating the time when this statistical value was collected. Because one measured value is selected and saved from the specified number of measured values, a data compression effect is achieved. By increasing the specified number, the amount of data saved is reduced, and data showing trends over a longer period of time can be obtained.
[0049] The histogram creation unit 53b creates a distribution of a specified number of device values contained in the collected data 75. For example, a distribution of several hundred recently collected measurement values is obtained.
[0050] The analysis unit 54 analyzes whether the symbol values collected by the collection means in accordance with the application program satisfy normal conditions set for the application program, thereby detecting any unusual situations regarding the symbol values. The normal conditions include, for example, thresholds used to detect caution or alarm conditions.
[0051] The flow dashboard creation unit 51 may include a threshold setting unit 58 and a bank switching unit 59. The threshold setting unit 58 is a function that assists the user in setting thresholds used to detect caution and alarm states. For example, the threshold setting unit 58 may perform learning based on previously collected device values and suggest thresholds to the user based on the learning results. The bank switching unit 59 prepares threshold sets (banks) in advance according to the type of product manufactured under the control of the PLC 1, and switches the threshold sets when the type of product is changed.
[0052] The flow execution unit 81 may include a stop / resume unit 86 and an application error detection unit 87. The stop / resume unit 86 temporarily stops the monitoring application and resumes its operation. The monitoring application may store various data by accessing a memory card. If the memory card is removed while the monitoring application is accessing the memory card, the data may be damaged. Therefore, the monitoring application should be stopped when the memory card is removed. Also, the operation of the actuator may not stabilize until a certain time has elapsed after power-on. During such a period, the monitoring application should not monitor the actuator. Therefore, upon receiving a request to stop the monitoring application from PC2a, PC2b, etc., the stop / resume unit 86 temporarily stops the operation of the monitoring application. Upon receiving a request to resume the monitoring application from PC2a, PC2b, etc., the stop / resume unit 86 resumes the operation of the monitoring application. The application error detection unit 87 detects an error in the monitoring application itself and notifies peripheral devices of the occurrence of the error. For example, the application error detection unit 87 issues a notification to the peripheral device if the device or variable to be monitored is incorrectly specified or if the memory card for saving the monitoring results runs out of free space. The application error detection unit 87 may be included in the alarm issuing unit 90.
[0053] ● Real-time monitoring application Described below are several real-time monitoring applications that provide dashboards to monitor monitored devices and variables in real time. Real-time monitoring applications may include: (I) Process monitoring (cycle chart): Cyclic operation refers to the repeated execution of multiple processes in one cycle. In cycle monitoring, bit devices indicating the start timing and end timing of each of the multiple processes that make up the cyclic operation are set as monitored devices. The time interval from the start to the end of the entire cyclic operation and the time interval from the start to the end of each process within one cycle are monitored. The entire cyclic operation refers to one cycle as a whole. For example, it may be monitored whether the time from the start trigger to the end trigger (process time) is within a specified range. When the monitoring results of multiple processes are displayed simultaneously, it becomes easier for the user to identify which process among the multiple processes is the bottleneck. When an abnormality occurs in a certain process, the monitoring results (chart) are saved not only for that process but also for other processes executed before and after that process. (II) Timing monitoring: The ON and / or OFF timing of the bit device being monitored is monitored. For example, it monitors whether the time from the start trigger to the end trigger is within a specified range. In timing monitoring, if an abnormality occurs in a certain process, only the monitoring results (chart) of that process are saved. (III) Waveform upper and lower limit monitoring: The waveform (monitored waveform) consisting of a time series of device values (or analog values stored in variables) is monitored to see if it is within a range between a pre-set upper limit and lower limit. (IV) Waveform guard band monitoring: A waveform (monitored waveform) consisting of a time series of device values (or analog values stored in variables) is monitored in time series to see if it falls within a predetermined guard band. A guard band is a band-shaped range surrounded by two threshold waveforms. The guard band may be defined by an upper or lower limit value that changes over time. In other words, the guard band may be defined by an upper limit value of the time series and a lower limit value of the time series. (V) Camera Monitoring: It is monitored whether the feature data (e.g., brightness, color difference blue, color difference red, etc.) of the camera image of the monitoring target satisfies a preset detection condition. When the field device 10 is a camera, a camera monitoring application is executed.
[0054] The real-time monitoring application is an application for continuous monitoring based on the symbol values of symbols in PLC 1. For example, the real-time monitoring application continuously collects the symbol values of one or more symbols at the scan time level according to the settings of the real-time monitoring application, and continuously displays information based on the collected symbol values while updating it in real time. The one or more symbols to be continuously monitored are set in advance by the user. The real-time monitoring application has, for example, a web server function and can be configured from a general-purpose browser via the communication unit 43. Because the application can be configured from a general-purpose browser, it can be configured or monitored from a PC, smartphone, or tablet without using a dedicated tool such as a programming support device. Furthermore, the real-time monitoring application automatically sets thresholds corresponding to one or more symbols to be continuously monitored based on the symbol values over multiple cycles under normal conditions. For example, the real-time monitoring application accepts user instructions and automatically sets thresholds for monitoring the status of multiple symbols to be continuously monitored based on the variation in the symbol values over multiple cycles under normal conditions. The threshold is set to monitor for unusual conditions, i.e., abnormal conditions, and the real-time monitoring application issues an alarm if the symbol value of the monitored symbol exceeds the threshold. In this way, for example, PLC1 can detect signs before equipment stops. PLC1 may use an alarm issued when the symbol value of the monitored symbol exceeds the threshold as a condition for saving driving records as a result of sign monitoring by the real-time monitoring application. PLC1 uses the occurrence of an alarm by the real-time monitoring application as an event trigger and saves driving record data before and after the trigger. PLC1 turns on the save completion device when saving of the driving record data is completed. The driving record analysis application may automatically analyze the driving record data when saving of the driving record data is completed. For example, the driving record analysis application may analyze the driving record data in response to turning on the save completion device.The operation record analysis application analyzes the symbol values of the symbols being analyzed (e.g., device values of all bit devices) and extracts symbols that are candidate factors for the alert. In this way, the operation record analysis application automatically analyzes the operation record data saved when an alarm occurs to identify the cause of the alarm generated by the real-time monitoring application, and extracts any unusual symbols from the operation record data. As a result, the CPU 41a constantly monitors the equipment status using the symptom monitoring function of the real-time monitoring application and issues an alert in response to a change in the status. Furthermore, the CPU 41a automatically analyzes the alert cause and extracts any unusual symbols. In other words, the PLC 1 constantly monitors the symbol values to monitor the symptoms of the controlled equipment, notifies the operator of the symptoms before the controlled equipment stops due to an alarm, and automatically analyzes the causes of the symptoms.
[0055] [Details of the Process Monitoring Application] FIG. 8 shows a dashboard 100 of the process monitoring application displayed on PC 2b. For example, the dashboard 100 is displayed by a web browser 61 in accordance with display data 77. The dashboard 100 may also be displayed on a display device by software other than a web browser, such as PC 2a or HMI 16. The dashboard 100 is a display screen (user interface) that displays monitoring results in real time. The operation display unit 101 displays whether the process monitoring application is running or stopped. The switch button 102 is a button that instructs the stop / resume unit 86 to switch the operation status of the process monitoring application between running and stopped. The switch button 102 may also be used to switch the application running / not running, as well as to switch the trial run mode on / off. The trial run mode is a mode in which a determination of whether an alarm state or a caution state exists is made and the determination result is displayed, but the determination result is not recorded as history. The history button 103 is a button that instructs the history storage unit 94 to save the currently displayed information (measurements, charts, etc.) as history. The setting button 104 is a button for calling up a setting wizard for the process monitoring application. The ratio button 105 is a button for requesting the display processing unit 84 to display the measured value of each process (the time from the start trigger to the end trigger) as a ratio for each process. In this way, the display data 77 includes display components that realize control objects such as buttons.
[0056] The status display area 106a indicates whether the measurement value is in a normal state, a caution state, or an alarm state. The item name display area 106b displays the name of each process. The measurement value display area 106c displays the measurement value for the time from the start trigger to the end trigger. The chart display area 106d displays the measurement value using a bar-shaped object 107a. The chart display area 106d may display upper and lower limit values for determining whether the measurement value is in an alarm state and upper and lower limit values for determining whether the measurement value is in a caution state using a vertical line object 107c. Furthermore, the chart display area 106d may display master data of measurement values specified by the learning results or the user using a bar-shaped object 107b. The master data object 107b may be visually differentiated from the measurement value object 107a, for example, by adding hatching. The details button 108 is a button for instructing the display of measurement value details (e.g., trend graph, histogram).
[0057] In FIG. 8, the chart display area 106d displays the measured values in synchronous mode (cutout mode). Synchronous mode is a mode in which the measured values of each process are displayed starting from the timing of a start trigger in the overall cycle operation. In synchronous mode, the chart display area 106d displays the measured values and master data for each overall cycle. The measured values are updated in real time. Therefore, the object 107a indicating the measured values of the overall cycle gradually extends from left to right over time. When a start trigger is generated for each process, the object 107a indicating the measured values for that process gradually extends from left to right over time. When an end trigger is generated, the extension of the object 107b stops. Note that the master data object 107b is always displayed as an object of a constant length.
[0058] In this way, the display data 77 has display components for realizing multiple display areas 106. Furthermore, since the display processing unit 84 updates the display data 77 over time, the information displayed on the dashboard 100 is also updated.
[0059] FIG. 9 shows the dashboard 100 of the process monitoring application in asynchronous mode. In asynchronous mode, the latest measurement value of the duration of each process is displayed as a bar-shaped object 107d moving from right to left. Previous measurement values are displayed as dashed bar-shaped objects 107e. That is, when a start trigger is detected for a certain process, the object 107d extends from the right end to the left end of the chart display area 106d. When an end trigger is detected for that process, the measurement value is finalized and the extension of the object 107d stops. Thereafter, the object 107d moves to the left over time while maintaining a constant length corresponding to the measurement value. Note that once the object 107d reaches the left end of the chart display area 106d, it cannot move any further to the left, so the object 107d appears to shrink over time.
[0060] The chart display area 106d may display measurement values for multiple consecutive overall cycles. For example, for a certain process, the shorter the distance from the right end of the object 107e showing the previous measurement value to the left end of the object 107d showing the next measurement value, the less time there is for that process, which visually indicates that it is a bottleneck in the overall cycle.
[0061] The colors of the objects 107a, 107b, 107d, and 107e may differ depending on the normal state, the caution state, and the alarm state, for example, the normal state may be visually differentiated by green, the caution state by yellow, and the alarm state by red.
[0062] FIG. 10 shows the percentage display mode called up by the percentage button 105. In the percentage display mode, for example, the objects 107a and 107b are normalized and displayed so that the larger of the upper limit value for the alarm state and the upper limit value for the caution state occupies 70% of the entire length of the chart display area 106d. Alternatively, the objects 107a and 107b may be normalized and displayed so that the smaller of the lower limit value for the alarm state and the lower limit value for the caution state occupies 30% of the entire length of the chart display area 106d. Alternatively, the objects 107a and 107b may be normalized and displayed so that the master data occupies 50% of the entire length of the chart display area 106d. Alternatively, the objects 107a and 107b may be normalized and displayed so that a predetermined maximum monitoring time is set to 100%. Specific numerical values defining the percentages are merely examples. Display settings related to the percentage display mode (such as parameters indicating the percentages) may also be selected or specified by the user in a setting wizard described below.
[0063] In FIG. 10, a notification display area 109 is provided to indicate that an application error has occurred. If no application error has occurred, the notification display area 109 may display that the application is normal, or may display nothing. When the application error detection unit 87 detects an application error, a notification is issued. Based on this notification, the notification display area 109 displays an error message (notification content) along with the error code, the date and time of occurrence, etc.
[0064] In FIG. 10, a bank switching button 191 is provided. The bank switching button 191 is a button for specifying one of the multiple banks to the bank switching unit 59. If the user has not yet created a bank, pressing the bank switching button 191 causes the bank switching unit 59 to display a new bank creation screen on the display unit 7, and may accept, for example, specification of bank identification information (e.g., bank number or bank name). In this way, multiple banks are stored in the memory 42a. The multiple banks may be part of the setting data 73.
[0065] Each bank is associated with the threshold settings for caution states, threshold settings for alarm states, and chart display settings (e.g., settings for creating and displaying trend graphs and settings for creating and displaying histograms). Therefore, by switching banks, these settings can be switched all at once.
[0066] 11 shows a details screen 110 that is displayed when the details button 108 is pressed. When the display processing unit 84 receives information indicating that the details button 108 has been pressed via the Web server 85, the display processing unit 84 transmits display data for displaying the details screen 110 to the Web browser 61 via the Web server 85. Note that the display data for displaying the details screen 110 may be part of the display data 77.
[0067] The status display area 111 shows the status of the process selected by the details button 108. The date and time display area 112 shows the date and time when the status shown in the status display area 111 occurred. The back button 113 is a button for instructing the user to return to the dashboard 100 from the details screen 110. Details of the status of the process selected by the details button 108 are shown in the display areas 106a to 106d. The ratio button 105 may be provided in the chart display area 106d.
[0068] The detailed display area 114 displays a histogram when button 116a is pressed, and a trend graph when button 116b is pressed. The histogram display area 115 displays a histogram of the most recent data and a histogram of the master data so that they can be compared. The histogram display area 115 may also display thresholds (upper and lower limits) for warning and caution states as vertical lines. The statistical value display area 117a displays statistical values (number of data, maximum, minimum, and average) of the most recent data. The statistical value display area 117b displays statistical values (number of data, maximum, minimum, and average) of the master data.
[0069] The monitoring item setting display area 118 displays the item name (process name) set as the monitoring item, the monitoring method, the bit device that serves as the start trigger, and the bit device that serves as the end trigger. The edit button 120a is a button that instructs editing of the monitoring item settings. When the edit button 120a is pressed, the CPU 41a (display processing unit 84 and setting unit 80) of the expansion unit 4a may display a setting edit screen on the PC 2b.
[0070] The threshold setting display area 119 displays the thresholds (upper limit and lower limit) for the alarm state and the caution state. The edit button 120b is a button that instructs editing of the threshold setting. When the edit button 120b is pressed, the CPU 41a of the expansion unit 4a may display an edit screen for threshold setting on the PC 2b. The automatic threshold setting button 121 is a button that instructs the CPU 41a (threshold setting unit 58) of the expansion unit 4a to automatically set the threshold.
[0071] 12 shows a details screen 110 that is displayed when the details button 108 is pressed. Here, because button 116b has been pressed, the details display area 114 displays a trend graph in the trend graph display area 123. The trend graph display area 123 may display a line indicating the trend of maximum values, a line indicating the trend of average values, and a line indicating the trend of minimum values. Furthermore, the thresholds (upper limit and lower limit values) for the warning state and the caution state may be displayed by horizontal lines.
[0072] ●Settings Wizard FIG. 13 shows a selection screen 130 displayed on the display unit 7 of PC2 when setting up these real-time monitoring applications. Almost the same selection screen 130 is displayed on PC2a and PC2b. The selection screen 130 may be displayed on either PC2a or PC2b. When the flow dashboard creation unit 51 detects that button 131a is pressed, it displays a configuration wizard for setting up the process monitoring application on the display unit 7. When the flow dashboard creation unit 51 detects that button 131b is pressed, it displays a configuration wizard for setting up the timing monitoring application on the display unit 7. When the flow dashboard creation unit 51 detects that button 131c is pressed, it displays a configuration wizard for setting up the waveform upper and lower limit monitoring application on the display unit 7. When the flow dashboard creation unit 51 detects that button 131d is pressed, it displays a configuration wizard for setting up the waveform guard band monitoring application on the display unit 7. When the flow dashboard creation unit 51 detects that button 131e is pressed, it displays a configuration wizard for setting up the camera monitoring application on the display unit 7. The buttons 131a to 131e are operated by a pointer 132.
[0073] 14 shows a setting wizard 140 for setting up a process monitoring application. An application name setting unit 141 accepts the specification of identification information and a name of the real-time monitoring application to be set up. For example, the application name setting unit 141 may accept an application name for each application ID (=0, 1, 2, etc.). Furthermore, the application name setting unit 141 may accept input of application names for each of multiple languages.
[0074] The maximum monitoring time input unit 142 accepts input of the time for which device values, etc. are continuously monitored by the real-time monitoring application. The display mode selection menu 143 is a menu for selecting the display mode of the chart in the chart display area 106d. Here, either the synchronous mode or the asynchronous mode described above is selected. The monitoring method setting unit 145a accepts setting of the monitoring method for each process. Among the monitoring methods, "start specification" refers to a monitoring method in which the monitoring period is the period from the input of a start trigger to the input of the next start trigger. "start / end specification" refers to a monitoring method in which the monitoring period is the period from the input of a start trigger to the input of an end trigger. The item name setting unit 145b accepts input of the name of the process. The start trigger setting unit 145c accepts specification of the bit device that will serve as the start trigger. The end trigger setting unit 145d accepts specification of the bit device that will serve as the end trigger. If the monitoring method is "start specification," setting of the end trigger is not necessary. The monitoring enablement unit 145e accepts specification of whether to enable or disable process monitoring. The caution state threshold setting unit 145f accepts specification of the upper and lower limit values of the caution state. The alarm state threshold setting unit 145g accepts specification of the upper and lower limit values of the caution state. Although not shown in FIG. 14, a master data setting unit and a detailed setting unit (e.g., an automatic threshold setting button, an input unit for the number of data used to create a trend graph), etc. may be added.
[0075] Among the setting information accepted by the setting wizard 140, the setting information accepted by the start trigger setting unit 145c, the end trigger setting unit 145d, etc. is appropriately selected by understanding the user program executed by the basic unit 3. However, the creator of the user program may be different from the person configuring the real-time monitoring application. In this case, the person configuring the real-time monitoring application may not understand the user program. Therefore, bit devices serving as start triggers and bit devices serving as end triggers may be input in file format. Start triggers and end triggers for the overall process and start triggers and end triggers for individual processes may be input in a file format containing structured data such as CSV. Furthermore, parameters related to multiple applications may be input collectively in a file format containing structured data. The multiple applications may include a driving record analysis application and a real-time monitoring application, or the real-time monitoring application may include a process monitoring application and a timing monitoring application. The parameters may include the item name, the type of trigger (whether to use only a start trigger or both a start trigger and an end trigger), the device name of the start trigger and the trigger establishment condition (whether the trigger is determined to be established when the device rises or falls), and the device name of the end trigger and the trigger establishment condition.
[0076] When the synchronous mode is selected as the display mode, a reception section may be displayed that receives the designation of the item name or the item number that will be the basis for the synchronous display.
[0077] The language setting button 146 is a button for setting which of a plurality of comment sets a comment is to be assigned to. For example, language setting is performed such that Japanese is assigned to comment set No. 1 and English is assigned to comment set No. 2. The application name is also entered in association with the language setting. For example, if comment set No. 1 is set to Japanese, the application name set to comment set No. 1 will be written in Japanese.
[0078] The translation button 147 is a button for requesting the CPU 41a to translate words written in a certain language in a certain comment set into words in another selected language in another comment set. When the user specifies the language before translation, the language after translation, and the number of the comment set to which the translation result is to be output, the CPU 41a executes the translation and creates the comment set. The CPU 41a may also receive from the user specification of dictionary data to be used for translation.
[0079] The save settings button 148 is a button that commands the CPU 41a to assign a file name to and save the setting data input through the setting wizard 140. The read settings button 149 is a button that commands the CPU 41a to read out pre-saved setting data and reflect it in the setting wizard 140.
[0080] ●Automatic threshold setting When the threshold setting unit 58 detects that the automatic threshold setting button 121 shown in FIG. 12 has been pressed, it automatically sets the thresholds for the caution state and the alarm state collectively in accordance with a setting rule (calculation rule) established in advance. Here, automatic setting refers to eliminating the need for a user to manually input at least some of the thresholds that need to be set. The threshold setting unit 58 may accept input of conditions required for the automatic setting calculation. Here, the conditions may include designation of measurement data to be used in threshold calculation and designation of a threshold calculation method (calculation rule). Measurement data accumulated for displaying a histogram may be designated as the measurement data, or new measurement data may be designated. In the latter case, when the threshold setting unit 58 detects pressing of the execute button (not shown), it starts measuring data, acquires new measurement data, and uses it for threshold calculation.
[0081] FIG. 15 shows a condition setting screen 150 displayed by the threshold setting unit 58 on the display unit 7 of the PC 2b. In this example, a menu for selecting a calculation method is provided for each threshold. In this example, it is selected that the upper limit (e.g., +σ) and lower limit (e.g., −σ) for the caution state are set using the standard deviation σ of the measurement data. When the standard deviation σ is used, it is easy to set appropriate thresholds under stable conditions with little long-term offset, such as drift. On the other hand, it is also possible to set the upper limit and lower limit using the maximum and minimum values of the measurement data, taking long-term offsets into consideration. For example, the threshold setting unit 58 may set the upper limit and lower limit by multiplying the maximum and minimum values by a coefficient such as 1.1 or 0.9, respectively. Furthermore, for the alarm state, it is selected that the upper limit (e.g., +3σ) and lower limit (e.g., −3σ) for the caution state are set using the standard deviation σ of the measurement data. As with the caution state, a setting method using the maximum and minimum values may also be provided for the alarm state. The average value of the measurement data is used as the master value. In this way, multiple calculation methods are proposed by the selection menu, and the one selected by the user is used to automatically set the threshold. Note that when the user specifies a threshold, the check box is unchecked.
[0082] ●Monitoring item settings 16 shows a manual setting screen 200 for monitoring items that is displayed when the edit button 120a is pressed. In this example, a toggle switch 201 is provided to indicate whether monitoring is enabled or disabled. A manual setting unit 202 accepts designations of the monitoring method, item name (process name), start trigger, and end trigger from the user. The setting unit 80 saves the information entered through the manual setting screen 200 in the setting data 73.
[0083] Manual threshold setting 17 shows a manual threshold setting screen 210 that is displayed when the edit button 120b is pressed. The threshold input unit 211 accepts manual input of the master value as well as the thresholds (upper and lower limits) related to the caution state and the alarm state. The setting unit 80 saves the information input through the manual setting screen 210 in the setting data 73.
[0084] ●System settings FIG. 18 shows the system settings tab 160 included in the setting wizard 140. The driving record setting section 161 has a check box for specifying whether to save the driving record and a section for specifying a driving record ID. When this check box is checked, the driving record saving section 93 is enabled. The details button 165a is a button for accepting detailed settings related to the driving record. For example, a setting screen for setting the driving record saving conditions may be displayed. On this setting screen, the saving conditions may be selected as whether to save the driving record only when a caution state occurs, to save the driving record only when an alarm state occurs, or to save the driving record when either a caution state or an alarm state occurs.
[0085] The event registration setting unit 162 has a check box that accepts a setting as to whether a caution state or an alarm state is to be registered in the CPU event / error history of the basic unit 3. When the check box is checked, the event registration unit 92 described above is enabled. The Details button 165b is a button for accepting detailed settings regarding the event / error history. When the Details button 165b is pressed, a setting screen for the event / error history registration conditions is displayed, and the user can select the registration conditions as to whether to perform registration only when a caution state occurs, to perform registration only when an alarm state occurs, or to perform registration when either a caution state or an alarm state occurs.
[0086] Regarding data settings, the memory card setting unit 163 has a check box for specifying whether or not to use a memory card as a storage location for driving records, and a menu for specifying which unit the memory card attached to should be used.
[0087] The history data setting unit 164 has a specification section that accepts specification of the amount of chart data to be saved by the history saving unit 94 after a caution or alarm state occurs, a specification section for the maximum number of history items to be saved, and a check box that specifies whether or not to retain data for displaying a trend graph.
[0088] The advanced setting unit 166 accepts settings such as the upper limit of the number of monitoring items (the number of processes to be monitored), the upper limit of the length of the character string of the item name, and the upper limit of the length of the variable name specified by the start trigger / end trigger. The information entered through the system setting tab 160 is saved in the setting data 73 by the setting unit 80.
[0089] ●Other examples of dashboards FIG. 19 shows another example of the dashboard 100. Display components already described are assigned the same reference numerals, and their description will be omitted. The dashboard 100 shown in FIG. 19 includes a threshold display area 106e that displays the thresholds (upper and lower limits) for a caution state, and a threshold display area 106f that displays the thresholds (upper and lower limits) for an alarm state. These display the upper and lower limits as numerical values. When the automatic threshold setting button 121 is pressed in the dashboard 100 shown in FIG. 19, the condition setting screen 150 shown in FIG. 15 is displayed, and thresholds for all items are automatically set according to the specified conditions. Other buttons and displays are as described in relation to FIG. 10.
[0090] ●Application operation switching screen 20 shows a screen 220 for switching the operation of an application. When the switching button 102 is pressed, the screen 220 is displayed on the display unit 7 of the PC 2b by the stop / restart unit 86. The switch 221 is a switch that instructs the stop / restart unit 86 to switch the operation state of the application between running and stopped. The switch 221 is a switch that instructs the stop / restart unit 86 to switch the test run mode between enabled and disabled.
[0091] Relationship between measurement data and master data in charts FIG. 21 shows a chart in synchronous mode. Hatched bar objects represent master data. Blank bar objects represent the duration (measurement results) of each process. In this example, the start trigger for the entire cycle is turned on at time t0. The transfer process in the master data starts at time t1. Meanwhile, the transfer process in the measurement data starts later at time t2. Time t3 corresponds to the lower limit of the warning state based on time t2. Time t4 corresponds to the lower limit of the caution state based on time t2. Time t5 is the time when the transfer process in the master data ends and the start time of the processing process. Time t6 corresponds to the upper limit of the caution state for the transfer process based on time t2. Time t7 corresponds to the upper limit of the caution state for the transfer process based on time t2. In reality, times t1 to t7 are managed as lengths of time. For example, the lower limit of the warning state for the transfer process is pre-stored as the time length T1 from time t2 to time t3. The lower limit of the caution state for the transport process is pre-stored as the time length T2 from time t2 to time t4. The upper limit of the caution state for the transport process is pre-stored as the time length T3 from time t2 to time t6. The upper limit of the warning state for the transport process is pre-stored as the time length T4 from time t2 to time t7. Because time t2 changes each time, once time t2 is determined, the time lengths T1 to T4 are added to time t2 to determine the display position of each threshold value.
[0092] The bar-shaped objects showing the time length (measurement value) of each process may be colored according to the state. Similarly, the vertical lines showing the thresholds for each state may also be colored according to the state. For example, a normal state may be colored green, a caution state may be colored yellow, and an alarm state may be colored red.
[0093] The display range is set to either (1) the maximum monitoring time for the entire cycle, or (2) the maximum value among the threshold, master value (master data), and measurement value (measurement data) for the previous entire cycle. (1) is the case where neither the threshold nor the master value is set. (2) is the case where either the threshold or the master value is set.
[0094] [Timing Monitoring Application Details] The timing monitoring application is a reduced-function version of the process monitoring application described above. For example, the process monitoring application has synchronous mode, asynchronous mode, and percentage display mode, while the timing monitoring application only has percentage display mode. Also, in the process monitoring application, when a history save event occurs, all process charts are saved as history, but in the timing monitoring application, only the chart for the process that caused the history save event is saved. The timing monitoring application is primarily used to monitor the operation of actuators (e.g., air cylinders). In other words, to make it easier for users to understand the difference between the uses of the process monitoring application and the timing monitoring application, the timing monitoring application is provided separately from the process monitoring application. Therefore, monitoring techniques that can be performed in the timing monitoring application can also be performed in the process monitoring application. Because the timing monitoring application has reduced functionality, the configuration wizard is also simplified, which should improve usability.
[0095] FIG. 22 shows the setting wizard 140 for the timing monitoring application. The setting wizard 140 for the timing monitoring application is almost the same as the setting wizard 140 for the process monitoring application. The display mode is fixed to the percentage display mode, so the display mode selection menu is omitted. On the other hand, a setting section 145h is provided that accepts the setting of the maximum monitoring time for each process. The maximum monitoring time in the timing monitoring application is the timeout time for the end trigger. In the process monitoring application, one maximum monitoring time is set for the entire cycle, but in the timing monitoring application, the maximum monitoring time is set for each process.
[0096] [Waveform upper and lower limit monitoring application] ●Upper / lower limit monitoring FIG. 23 is a diagram illustrating a monitoring method (upper and lower limit monitoring) in a waveform upper and lower limit monitoring application. The horizontal axis represents time. The vertical axis represents the magnitude of the measured value. Upper and lower limit monitoring is a method of monitoring whether all time-series measured values measured within a certain measurement time are below an upper limit value and above a lower limit value. Here, the upper and lower limit values may be two thresholds set for an alarm state, or may be two thresholds set for a caution state. In FIG. 23, the normal range is a range below an upper limit value and above a lower limit value. If the measured value exceeds the upper limit value for an alarm state, the CPU 41a determines that an upper limit NG has occurred and issues a warning notification. NG means bad (abnormal). If the measured value falls below the lower limit value for an alarm state, the CPU 41a determines that a lower limit NG has occurred and issues a warning notification. Note that similar determination and notification processes are also performed for a caution state.
[0097] ● Peak (bottom) upper and lower limit monitoring FIG. 24 is a diagram illustrating a monitoring method (peak (bottom) upper and lower limit monitoring) in a waveform upper and lower limit monitoring application. The horizontal axis represents time. The vertical axis represents measurement values. Peak (bottom) upper and lower limit monitoring is a method of monitoring whether the peak value (or bottom value) of a time-series measurement value measured within a certain measurement time is equal to or less than the upper limit value and equal to or greater than the lower limit value. Here, the upper and lower limits may be two thresholds set for an alarm state, or two thresholds set for a caution state. In FIG. 24, the normal range is a range that is equal to or less than the upper limit value and equal to or greater than the lower limit value. If the peak value (or bottom value) is not within the normal range, the CPU 41a (analysis unit 54, application notification unit 91) determines that a peak value (or bottom value) NG has occurred and issues a warning notification. Note that similar determination and notification processes are also performed for the caution state. The measurement time is specified in advance by the user. The measurement time is measured, for example, from the rising (falling) edge of the start trigger. 24, the peak value measured during the measurement time does not fall within the normal range, so the analysis unit 54 determines that the peak value is NG, and the application notification unit 91 issues a notification. In the case of FIG. 24, the timing at which the analysis unit 54 determines that the peak value is NG is the end of the measurement time.
[0098] FIG. 25 shows another example of peak (bottom) upper and lower limit monitoring. In FIG. 25, the measurement value deviates from the normal range midway through the measurement time. In this case, the CPU 41a (analysis unit 54, application notification unit 91) issues a notification indicating that the peak value has exceeded the upper limit when the measurement value exceeds the upper limit. In this way, when peak value upper and lower limit monitoring is being performed, a notification indicating NG is issued when the measurement value exceeds the upper limit.
[0099] When monitoring the upper and lower limits of the bottom value, if the bottom value is below the upper limit and does not fall above the lower limit during the measurement time, the CPU 41a issues a NG notice. The timing of this determination is the end of the measurement time. On the other hand, if the measured value falls below the lower limit during the measurement time, the CPU 41a immediately issues a NG notice.
[0100] ●Timing upper and lower limit monitoring 26 is a diagram illustrating timing upper and lower limit monitoring. Timing upper and lower limit monitoring refers to monitoring the timing of changes in measured values. The timing of changes is, for example, the timing when the measured value exceeds a threshold value (trigger level).
[0101] The CPU 41a (analysis unit 54) determines whether the timing at which the measurement value exceeds the threshold value (trigger level) is within a normal range. In other words, if the timing at which the measurement value exceeds the trigger level is equal to or greater than the lower limit and equal to or less than the upper limit, the CPU 41a determines that the measurement value is normal. In FIG. 26, the timing at which the measurement value exceeds the trigger level exceeds the upper limit, so the CPU 41a (application notification unit 91) issues a notification indicating NG. The determination timing in this case is the timing corresponding to the upper limit.
[0102] 27 shows a case where the measurement value does not exceed the trigger level within the normal range. The CPU 41a (analysis unit 54, application notification unit 91) issues a notification indicating NG because the measurement value does not reach the trigger level within the normal range. The determination timing in this case is the timing corresponding to the upper limit value.
[0103] Fig. 28 shows the UI of the detail display area 114 in the waveform upper and lower limit monitoring application. In the waveform upper and lower limit monitoring application, a button 116c for instructing waveform display is provided in the detail display area 114 of the UI shown in Fig. 12. Buttons 116a to 116c may be implemented as tabs.
[0104] When the button 116c is pressed, the CPU 41a (display processing unit 84) displays a waveform, which is time-series data of the measurement values, in the waveform display area 305. In this example, the length of the horizontal axis (display range) of the waveform display area 305 corresponds to one measurement time. The CPU 41a determines the vertical axis (display range) of the waveform display area 305 based on the maximum and minimum values of past measurement values. In other words, the vertical axis scale is set so that the maximum and minimum values of past measurement values do not exceed the display range. The CPU 41a may display thresholds for the alarm state and the caution state in the waveform display area 305. The CPU 41a may display a cursor 306 in the waveform display area 305. The cursor 306 can be moved in the horizontal direction in response to a user operation and specifies the collection time (collection timing) of the measurement values displayed in the tooltip 307. The tooltip 307 displays the current measurement value and past measurement values at the same elapsed time based on the start trigger. The display control 303 may include a control object that instructs the CPU 41a to stop or resume updating the display of the waveform display area 305. The display control 303 may include a control object that instructs the CPU 41a to enlarge or reduce the horizontal axis (time axis) of the waveform display area 305. The CPU 41a may accept an operation to move the enlarged display range, and move the display range of the waveform in accordance with the movement operation.
[0105] Although multiple waveforms are displayed in synchronous mode in FIG. 28, waveforms may also be displayed in asynchronous mode. For example, if the waveform extraction method is not set, the CPU 41a displays the most recent measurement value at the right end of the waveform display area 305. When the most recent measurement value is updated, the CPU 41a displays the most recent measurement value at the right end of the waveform display area 305, and displays previous measurement values to the left of it. This causes the waveform to be displayed so that it moves from the right end to the left end of the waveform display area 305. In this case, too, the display range of the horizontal axis of the waveform display area 305 may be set according to the maximum monitoring time. The CPU 41a (display processing unit 84, setting unit 80) may adjust the display range of the vertical axis according to the maximum and minimum values of the multiple measurement values obtained so far.
[0106] The CPU 41a (display processing unit 84) may display the threshold value for each state in the waveform display area 305. In this case, the CPU 41a may set different colors for displaying the current measurement value, the past measurement value, and the threshold value for each state.
[0107] ●Monitoring method Figure 29 shows the relationship between the monitoring method (waveform extraction method) and the judgment method in a waveform upper and lower limit monitoring application. "Start trigger only" is a monitoring method in which the time from one start trigger to the next start trigger is used as the measurement time (monitoring time). "Start trigger / end trigger" is a monitoring method in which the time from the start trigger to the end trigger is used as the measurement time (monitoring time). "Start trigger / monitoring time" is a monitoring method in which the monitoring time is a specified time starting from the start trigger. "Continuous monitoring" is a method in which monitoring is constant. "Sample trigger" is a method in which the value is monitored only at the moment a sample trigger is received.
[0108] As shown in FIG. 29, there are five waveform display patterns depending on the combination of the monitoring method and the state determination method. In the first pattern, the waveform does not move, and the left edge of the waveform display area 305 corresponds to the time when the start trigger occurs. The right edge of the waveform display area 305 corresponds to the maximum range of the waveform extraction range (monitoring time) applied to previously acquired waveforms. If the timing of each trigger occurrence is aperiodic, variations occur in the waveform extraction range (monitoring time). Therefore, the right edge of the waveform display area 305 may be set according to this variation. In addition to the latest waveform, one or more past waveforms may be displayed in the waveform display area 305. Furthermore, thresholds corresponding to each state may be displayed as horizontal bars.
[0109] The second pattern is a method in which the waveform continues to be displayed moving from the right end to the left end in the waveform display area 305. The display range of the horizontal axis of the waveform display area 305 is the maximum measurement time set in advance by the user. Thresholds corresponding to each state are displayed as horizontal bars.
[0110] The third pattern is a method in which the waveform continues to be displayed moving from the right end to the left end in the waveform display area 305. The display range of the horizontal axis of the waveform display area 305 is the maximum measurement time set in advance by the user. Thresholds corresponding to each state are displayed as horizontal bars.
[0111] In the fourth pattern, the waveform does not move, and the left edge of the waveform display area 305 corresponds to the time when the start trigger occurs. The right edge of the waveform display area 305 is the end position of the waveform extraction range (monitoring time). In addition to the latest waveform, the waveform display area 305 may display one or more past waveforms. Furthermore, thresholds corresponding to each state are displayed as horizontal bars.
[0112] In the fifth pattern, the waveform does not move, and the left edge of the waveform display area 305 corresponds to the time when the start trigger occurs. The right edge of the waveform display area 305 is the end position of the waveform extraction range (monitoring time). In addition to the latest waveform, the waveform display area 305 may display one or more past waveforms. Furthermore, thresholds corresponding to each state are displayed as vertical bars. Furthermore, horizontal bars indicating the trigger levels used to determine the timing of a change are also displayed.
[0113] 30 shows a configuration wizard 140 for the waveform limit monitoring application, with parts already described being given the same reference numerals.
[0114] The determination method setting unit 310a accepts the setting of one of the waveform determination methods described above. The monitoring target setting unit 310c accepts the setting of the unit, device (or variable), data type, etc. to be monitored. The collection cycle setting unit 310d accepts the setting of the collection cycle for the monitoring target (e.g., fixed cycle or scan time). If fixed cycle is selected, the setting of the specific cycle length (e.g., 50 milliseconds) etc. is also accepted. The monitoring method setting unit 310e selects one of the monitoring methods described above (e.g., start trigger only, start trigger / end trigger, etc.). The specified condition setting unit 310f accepts the setting of the trigger device, the timing of the trigger signal (falling edge, rising edge), the monitoring time, etc. The change timing setting unit 310g accepts the trigger level and the condition for the trigger level when the determination method is change timing (upper and lower limit timing monitoring). The condition for the trigger level means, for example, comparing the time (measurement time) required for the measured value to exceed (or fall below) the trigger level with the upper or lower limit value for each state. The condition for the trigger level may be selected to be, for example, "above" or "below."
[0115] Although omitted in Fig. 30, a monitoring enablement unit 145e may be provided that accepts designation of whether to enable or disable monitoring for each item. Also, an advanced settings button or the like may be provided. When the advanced settings button is pressed, for example, a setting of the number of decimal places of the numerical values displayed on the dashboard may be accepted.
[0116] [Waveform guard band monitoring application] Waveform guard band monitoring monitors whether a waveform consisting of a measurement value falls within a normal range (guard band) defined by an upper limit waveform and a lower limit waveform. The upper limit waveform and the lower limit waveform may also be called guard band waveforms (threshold waveforms). The waveform guard band monitoring application and the waveform upper and lower limit monitoring application are almost identical. However, they differ in the thresholds used in their judgment methods. In the waveform upper and lower limit monitoring application, the threshold is specified as a constant value. On the other hand, in the waveform guard band monitoring application, the threshold is specified as a waveform. Furthermore, the waveform guard band monitoring application only uses the start trigger / measurement time as its monitoring method. This is because, in order to compare the measured waveform with the threshold waveform, the time length of the measured waveform and the time length of the threshold waveform must match. The waveform upper and lower limit monitoring application uses one of the five patterns shown in Figure 29.
[0117] FIG. 31 shows a waveform displayed in the waveform display area 305 of the waveform guard band monitoring application. The CPU 41a synchronizes the threshold waveform with the measurement waveform using a start trigger as a reference, and compares the measurement values acquired over time with the threshold waveform. In this example, the normal range is a band-shaped range (guard band) between the upper limit waveform and the lower limit waveform. In FIG. 31, the measurement value exceeds the upper limit waveform at a certain timing, so the CPU 41a (analysis unit 54, application notification unit 91) determines that an upper limit NG has occurred and issues a notification. In FIG. 31, the measurement value falls below the lower limit waveform at yet another timing, so the CPU 41a determines that a lower limit NG has occurred and issues a notification.
[0118] ●How to set the threshold waveform FIG. 32 shows a method (computation rules) for setting threshold waveforms. The vertical axis represents value, and the horizontal axis represents time. The CPU 41a (threshold setting unit 58) determines the upper limit waveform and the lower limit waveform based on past measurement data and a value tolerance range mv previously specified by the user. The past measurement data may be data from a single measurement, or may be average data of data measured multiple times. In this example, the upper limit waveform Uth(t) is calculated by adding the value tolerance range mv to the past measurement value M(t). Similarly, the lower limit waveform Lth(t) is calculated by subtracting the value tolerance range mv from the past measurement value M(t).
[0119] Figure 33 shows another method (computation rule) for setting the threshold waveform. In this example, the upper limit waveform Uth(t) and the lower limit waveform Lth(t) calculated using the value tolerance mv are transformed using the time tolerance mt. For example, if the time tolerance mt is 2, the new upper limit waveform Uth'(t) is calculated as follows: First, the maximum value Uth_max(t) among Uth(t-2), Uth(t-1), Uth(t), Uth(t+1), and Uth(t+2) is calculated. When t=3, Uth_max(3) is 7. Therefore, Uth'(3) is determined to be 7.
[0120] The new lower limit waveform Lth'(t) is calculated as follows: When the time allowable width mt is 2, the minimum value Lth_min(t) among Lth(t-2), Lth(t-1), Lth(t), Lth(t+1), and Lth(t+2) is calculated. When t=3, Lth_min(3) is -1. Therefore, Lth'(3) is determined to be -1.
[0121] In this way, the upper limit value Uth'(t) at a certain time t is determined to be the maximum value of the mt+1 measured values (Uth if the value tolerance range mv is used) acquired between time t-mt and time t+mt. Similarly, the lower limit value Lth'(t) at a certain time t is determined to be the minimum value of the mt+1 measured values (Lth if the value tolerance range mv is used) acquired between time t-mt and time t+mt.
[0122] 34 shows yet another method for setting the threshold waveform. The CPU 41a (threshold setting unit 58) may determine the upper limit Uth(t) and lower limit Lth(t) for a free curve drawn based on the trajectory of the pointer 132 linked to the operation of the operation unit 8 of the PC 2b. For example, the CPU 41a may save the coordinate data of the trajectory (free curve) of the pointer 132 as a CSV file. The CPU 41a creates a file path by combining the application ID and the number of the monitoring item, and saves the CSV file of that file path. This saves a CSV file containing the upper limit and lower limit for each combination of monitoring application and monitoring item.
[0123] Figure 35 shows the UI of the detail display area 114 in the waveform guard band monitoring application. The difference between Figure 35 and Figure 28 is that the thresholds for each state are set as waveforms. Other display methods in the waveform guard band monitoring application are similar to those in the waveform upper and lower limit monitoring application. For example, in addition to the current waveform, three waveforms measured in the past may also be displayed.
[0124] As described above, the monitoring method of the waveform guard band monitoring application is defined by the start trigger and the measurement time. However, in rare cases, the user may not have set the monitoring method. In this case, the CPU 41a (display processing unit 84) updates the display over time so that the most recent measurement value of the measured waveform is displayed at the right end of the waveform display area 305. In other words, as in the asynchronous mode, the waveform moves from the right end to the left end of the waveform display area 305. The CPU 41a may also display threshold waveforms for each state based on the start trigger, along with the measured waveform. The display range of the horizontal axis of the waveform display area 305 is set to the maximum monitoring time previously determined by the user.
[0125] FIG. 36 shows a configuration wizard 140 for a waveform guard band monitoring application. Portions already described are assigned the same reference numerals. The configuration unit 80 displays the configuration wizard 140 on the PC 2b and accepts various settings. The start trigger configuration unit 320a accepts configuration of the device that will be the start trigger, etc. The measurement time configuration unit 320b accepts configuration of the measurement time (monitoring time) based on the start trigger. The threshold specification method configuration unit 320c accepts configuration of the threshold specification method. As described above, the user may select either the method of specifying the tolerance range (value tolerance range and time tolerance range) and past measurement data, or the method of specifying a threshold waveform using a free curve. If other methods are implemented, the other methods are also available as options. The tolerance range configuration unit 320d accepts configuration of the value tolerance range mv and time tolerance range mt for the caution state. The tolerance range configuration unit 320e accepts configuration of the value tolerance range mv and time tolerance range mt for the alarm state. Although the tolerance range setting units 320d and 320e accept the same value tolerance range mv and time tolerance range mt for the upper threshold waveform and the lower threshold waveform, this is merely an example. The value tolerance range mv and time tolerance range mt for the upper threshold waveform and the value tolerance range mv and time tolerance range mt for the lower threshold waveform may be accepted separately.
[0126] [flowchart] Process monitoring application and timing monitoring application 37 is a flowchart showing the monitoring process executed by the CPU 41a of the expansion unit 4a. As described above, the timing monitoring application is a reduced-function version (subset) of the process monitoring application, so the following describes the process applied to both applications. The monitoring application also includes a data utilization program executed by the expansion unit 4a and a web application executed by the web browser of the PC 2b.
[0127] In S41, the CPU 41a (collection unit 82) monitors devices or variables corresponding to start triggers and end triggers in accordance with the setting data 73. The setting data 73 holds the name of the device or variable used as the start trigger and a predetermined value stored in the device or variable. The start timing may be set to the timing when the value of the device or variable changes to a predetermined value, or the start condition may be set to a rising edge or falling edge of the change in the device or variable. The same applies to the end trigger. The CPU 41a (collection unit 82) executes a data utilization program based on the setting data 73 to collect device values to be collected as specified by the setting data 73 and store them in the memory 42a as collected data 76. Here, the collected data 76 may be time-series data collected at different times. A collection program that executes a collection operation in accordance with the collection setting data 74a in the setting data 73 may be provided separately from the data utilization program.
[0128] In S2, the CPU 41a (data processing unit 83) executes the data utilization program specified by the utilization program template 72. By executing the data utilization program, the CPU 41a (data processing unit 83) determines time information from the timing at which the start trigger condition is satisfied to the timing at which the end trigger condition is satisfied based on the collected data 75 (device values). The CPU 41a (data processing unit 83) monitors whether devices and variables set as monitoring targets satisfy conditions such as a rising edge. Here, the timing at which the condition is satisfied, i.e., the timing at which the start trigger condition is satisfied, is monitored. The CPU 41a (data processing unit 83) monitors whether devices and variables set as monitoring targets satisfy conditions such as a rising edge. Here, the timing at which the condition is satisfied, i.e., the timing at which the end trigger condition is satisfied, is monitored. The time information determined by the CPU 41a (data processing unit 83) may be the time width (measurement time) from the timing at which the start trigger condition is satisfied to the timing at which the end trigger condition is satisfied.
[0129] In S3, the CPU 41a (data processing unit 83) determines the state based on the time information determined in S2 and the determination threshold set in accordance with the setting data 73. The CPU 41a (data processing unit 83) makes this determination by executing a data utilization program. Upper and lower limit values for the caution state and the alarm state may be set as the determination threshold values. In this case, the CPU 41a (data processing unit 83) determines whether the determined time information, which is a measurement value, exceeds the upper limit value. The CPU 41a (data processing unit 83) also determines whether the determined time information is below the lower limit value. The state to be monitored may include a normal state, a caution state, and an alarm state. The caution state and the alarm state are distinguished based on the degree of deviation of the measurement value from the normal state. The difference between the measurement value in the normal state (normal value) and the measurement value in the alarm state (alarm value) is greater than the difference between the measurement value in the normal state and the measurement value in the caution state (alarm value). Therefore, the threshold for the alarm state is set to a value that deviates from the normal value more than the threshold for the caution state. The threshold for the caution state and the threshold for the alarm state may each be set as an upper limit value. In this case, the CPU 41a (data processing unit 83) determines the state of the monitored object to be a "normal state" when the determined time information is equal to or less than the threshold for the caution state. The CPU 41a (data processing unit 83) determines the state of the monitored object to be a "caution state" when the determined time information exceeds the threshold for the caution state and is equal to or less than the threshold for the alarm state. The CPU 41a (data processing unit 83) determines the state of the monitored object to be a "alarm state" when the determined time information exceeds the threshold for the alarm state. As a result, analyzed data 76 is created and stored in the memory 42a.
[0130] The threshold for the caution state and the threshold for the alarm state may be set as lower limit values. In this case, the CPU 41a (data processing unit 83) determines the state of the monitored object to be a "normal state" when the determined time information is equal to or greater than the threshold for the caution state. The CPU 41a (data processing unit 83) determines the state of the monitored object to be a "caution state" when the determined time information is less than the threshold for the caution state and equal to or greater than the threshold for the alarm state. The CPU 41a (data processing unit 83) determines the state of the monitored object to be a "alarm state" when the determined time information is less than the threshold for the alarm state. As a result, analyzed data 76 is created and stored in the memory 42a.
[0131] The threshold for the caution state and the threshold for the alarm state may be set by upper and lower limits, respectively. In this case, the CPU 41a (data processing unit 83) determines the state of the monitored object to be a "normal state" when the determined time information is equal to or greater than the lower limit for the caution state and equal to or less than the upper threshold for the caution state. The CPU 41a (data processing unit 83) determines the state of the monitored object to be a "caution state" when the determined time information is less than the upper limit for the alarm state and equal to or greater than the upper threshold for the caution state. Similarly, the CPU 41a (data processing unit 83) determines the state of the monitored object to be a "caution state" when the determined time information is less than the lower limit for the caution state and equal to or greater than the lower limit for the alarm state. The CPU 41a (data processing unit 83) determines the state of the monitored object to be a "caution state" when the determined time information is less than the lower limit for the alarm state or exceeds the upper threshold for the alarm state. This creates analyzed data 76 and stores it in the memory 42a.
[0132] In S4, the CPU 41a (display processing unit 84) generates dashboard display data 77, including the time information and judgment threshold determined in S42, and the state of the monitored object determined in S3. The CPU 41a (display processing unit 84) reflects the time information, judgment threshold, and the determined state of the monitored object determined based on the dashboard template 71 and the setting data 73 in variables assigned to the dashboard template 71. For example, the CPU 41a creates the display data 77 so that measured values indicating the time width from the time when the start trigger condition is satisfied to the time when the end trigger condition is satisfied are displayed in the form of a bar graph in the chart display area 106d. The display data 77 may be created as part of a Web application. This time and the time from the time when the start trigger condition is satisfied to the time when the end trigger condition is satisfied may be displayed as a band. This displays a dashboard that not only shows the time width but also shows the timing within the cycle at which each monitored object is operating in the control of cyclic operation. The CPU 41a may create the display data 77 by periodically updating the display object data. The CPU 41a creates display data 77 using data to be displayed, such as collected data 75 and / or analyzed data 76.
[0133] In S5, the CPU 41a (Web server 85) provides the display data 77 to the PC 2b. The CPU 41a may display the display data 77 on the display (HMI 16) of the PLC 1. The display of the PLC 1 may be built into the PLC 1, or may be connected to the PLC 1 by wire or wirelessly.
[0134] Waveform upper and lower limit monitoring application and waveform guard band monitoring application Fig. 38 is a flowchart showing the monitoring process for the waveform monitoring application. In Fig. 38, the same processes as in Fig. 37 are given the same reference numerals, and the description thereof will be omitted. After S1 described above, the CPU 41a proceeds to S12.
[0135] In S12, the CPU 41a (data processing unit 83) calculates the feature quantity of the waveform extracted during the monitoring period from the timing when the start trigger condition is satisfied to the timing when the end trigger condition is satisfied, based on the data 75 (device values) collected according to the setting data 73. The feature quantity of the upper and lower limit monitoring application is the measurement value itself. The feature quantity of the peak upper and lower limit monitoring is the maximum value (peak value) of all the measurement values measured during the monitoring period. The feature quantity of the bottom upper and lower limit monitoring is the minimum value (bottom value) of all the measurement values measured during the monitoring period. The feature quantity of the change timing monitoring is the time from when the start trigger is turned on to the measurement time when the measurement value first exceeds the trigger level.
[0136] In S13, the CPU 41a (data processing unit 83) determines the state based on the feature amount and the determination threshold. The determination threshold varies depending on the determination method. For example, in a waveform guard band monitoring application, the determination threshold is provided as waveform data (e.g., a CSV file). As explained in S3, by comparing the feature amount with the determination threshold (the upper limit and lower limit values that are the thresholds for each state), the state of the monitored item is classified as a normal state, a caution state, or an alarm state.
[0137] In S14, the CPU 41a (display processing unit 84) generates display data 77 for displaying the judgment threshold, waveform (measured value or feature amount), and judgment information (judgment result) on the dashboard. In S5, the display data 77 of the dashboard 100 is provided to the PC 2a, PC 2b, or HMI 16.
[0138] [KPI calculation application details] FIG. 40 shows a dashboard 400 of a KPI calculation application displayed on a PC 2b. The KPI calculation application may calculate a KPI for, for example, a production preparation period. The dashboard 400 of the KPI calculation application displays the calculated KPI. Here, the KPI includes a KPI for a certain period. For example, the KPI may include an hourly output, an operational availability rate, a non-defective product rate, and a cycle time. In addition to the KPI, the KPI calculation application may calculate an achievement rate for the KPI target and display the achievement rate. The KPI for a certain period may be a KPI displayed on the dashboard 400 of the KPI calculation application for a measurement period from when a measurement start button 401 is pressed to when a measurement end button 402 is pressed. In this way, a KPI for a measurement period specified by a user input may be calculated. Alternatively, a device that specifies the measurement period may be set. In this case, a KPI for a measurement period determined according to the device value of the set device will be calculated.
[0139] The dashboard 400 of the KPI calculation application has a KPI item display section 410 and a measurement result display section 420. The item display section 410 displays, as KPI items, items related to output measurement, items related to average CT (cycle time), items related to the non-defective product rate, and items related to the availability rate. The measurement result display section 420 displays raw data (measurement results) used to calculate the KPIs. The measurement results may include the measurement start time, measurement end time, elapsed time, operating time, cycle time, number of cycle time measurements, number of discarded products, number of non-defective products, and number of defective products. The dashboard 400 of the KPI calculation application displays KPIs calculated based on the measurement values from the start of measurement to the current time from the start of measurement until the end of measurement. After the end of measurement, the dashboard 400 displays KPIs calculated based on the measurement values from the start of measurement to the end of measurement. The dashboard 400 displays the measurement start time based on user input or device input in a start time display field. The dashboard 400 displays the measurement end time based on user input or device input in an end time display field. Dashboard 400 displays the time from the start of measurement to the current time in the elapsed time display field. If the measurement has not yet finished, the end time display field may display that measurement is still in progress.
[0140] The KPI calculation application (flow dashboard creation unit 51) accepts parameter settings for calculating each KPI item. The flow dashboard creation unit 51 accepts, for example, specification of devices corresponding to an operation signal indicating that the production equipment is operating, a discharge signal indicating that a product has been discharged from the production equipment, the number of pieces taken per cycle, and the number of defects per cycle. The operation signal may be specified as a bit device that turns ON during operation. The discharge signal may be specified as a bit device that turns ON each time a product is discharged. The number of pieces taken per cycle may be specified as a constant indicating the number of pieces taken or a word device that stores a constant. The number of defects per cycle may be specified as a device that stores the number of defects per cycle.
[0141] The cycle time may be specified as the total cycle time (measured value) measured in the process monitoring application. The KPI calculation application acquires values measured by other applications, that is, the cycle time and the number of cycle time measurements. The KPI calculation application may automatically acquire the total cycle measurement value and the number of cycle time measurements from the process monitoring application. The number of cycle time measurements is counted as one measurement from the start to the end of the total cycle. Therefore, the number of cycle time measurements indicates the number of times the total cycle is repeated.
[0142] The dashboard 400 displays the operating time measured based on the ON time of the bit device that turns ON during operation in the operating time display field. The dashboard 400 displays the current cycle time automatically acquired from the process monitoring application in the current CT display field, and displays the number of cycle time measurements in the CT count display field. The dashboard 400 displays the number of times the bit device that turns ON each time a product is discharged in the discharge signal ON display field. The dashboard 400 displays the number of good products in the number of good products display field, and the number of defective products in the number of defective products display field. The number of good products is the cumulative number obtained by adding the number of products taken per cycle minus the number of defective products per cycle each time the discharge signal turns ON. The number of defective products is the cumulative number obtained by adding the number of defective products per cycle each time the discharge signal turns ON.
[0143] The item display section 410 of the dashboard 400 may display each target value entered by the user, each KPI item calculated based on the measurement results, and the achievement rate corresponding to each item, along with a graph of the achievement rate. The achievement rate for each item indicates the actual value (calculated KPI) for each target of each KPI item. The output corresponds to the number of non-defective products. The average CT is the cumulative value of the measured values for the entire cycle divided by the number of cycle time measurements. The non-defective product rate is the number of non-defective products divided by the total production number. The total production number is the cumulative number obtained by adding the number of products taken per cycle each time the discharge signal is turned ON. In the example of Figure 40, the number of times the discharge signal is turned ON is 163. The number of products taken is 12. The number of non-defective products is 1917. Therefore, the non-defective product rate is calculated as 1917 / (163 x 12). The availability rate is the operating time divided by the elapsed time. In addition to the real-time screen described above, the dashboard 400 of the KPI calculation application may also have a setting button 404 for displaying a setting screen for setting the KPI calculation application, and a history display button 403 for displaying a history screen that displays past history.
[0144] <Summary> [Point 1] The storage device 32 and memories 42a and 42b may be used as storage means for storing application programs, and the CPUs 31, 41a and 41b may function as execution means for executing application programs.
[0145] The collection unit 82 is an example of a collection means that collects symbol values stored in symbols, which are devices or variables to be collected in accordance with an application program. The flow execution unit 81 (analysis unit 54) may function as a determination means or analysis means that detects unusual situations regarding symbol values by determining or analyzing whether the symbol values collected by the collection means in accordance with the application program satisfy normal conditions set for the application program. The display processing unit 84 functions as a generation means that generates a display screen (e.g., dashboard 100) including the determination or analysis results and information indicating the symbol values collected by the collection means in accordance with the application program. The dashboard 100 may be displayed on any of the PC 2a, which is a programming support device, the PC 2b having a web browser, or the HMI 16. The display data 77 required to display the display screen may be an image or video, or may be realized as a web application. Furthermore, the symbol values may be collected and displayed in real time. In other words, the symbol values may be updated and displayed in real time while the display screen is displayed.
[0146] [Point 2] The determination means or analysis means (e.g., flow execution unit 81) may determine or analyze whether the duration of a process executed by PLC 1 (e.g., the time from the start trigger to the end trigger) satisfies the normal condition. The duration may also be called a monitoring time or a measurement time.
[0147] [Point 3] The symbol values (e.g., device values or values stored in variables) may include a device value of a starting device indicating the start of a process and a device value of an ending device indicating the end of the process. The duration may be the time from when the device value of the starting device changes to when the device value of the ending device changes. The duration may be the time from a first start trigger to a second start trigger. The second start trigger is the start trigger following the first start trigger. The duration may also be a predetermined time starting from the first start trigger.
[0148] [Point 4] The collecting means (e.g., collecting unit 82) may collect symbol values for determining the duration of each of a plurality of processes (e.g., overall cycle, transport process, processing process, inspection process, discharge process, etc.) that make up one operation cycle. The generating means (e.g., display processing unit 84) may be configured to generate a display screen for displaying the duration of each of the plurality of processes.
[0149] [Point 5] The display screen may be configured to display a graphical object (e.g., a bar-shaped object) indicating the duration of each of the plurality of processes and a graphical object indicating master data compared to the duration of each of the plurality of processes. Because the master data is data indicating the usual state, the user will be able to easily recognize in which process an unusual event is occurring.
[0150] [Point 6] As described with respect to the asynchronous mode, the graphical object may be displayed as moving in one direction on the display screen over time, or as described with respect to the synchronous mode, the graphical object may be displayed as extending in one direction from a predetermined position on the display screen.
[0151] [Point 7] The display screen may be configured to display a graphical object that indicates a normal condition (e.g., a vertical line, a horizontal line, a waveform, a band) along with the graphical object.
[0152] [Point 8] The alarm issuing unit 90 may function as a notification unit that issues a notification when the symbol value satisfies a notification condition set by the user.
[0153] [Point 9] The notification unit may be configured to send a notification to a peripheral device displaying a display screen. As illustrated in FIG. 19 and other figures, the application notification unit 91 may display a notification on the dashboard 100. As illustrated in FIG. 39, the application notification unit 91 may display a dialog 331 overlaid on the dashboard 330. The dialog 331 may include a message indicating that the monitoring status of the application has changed from a normal state to a caution state or an alarm state. When multiple notifications occur over time, the application notification unit 91 may display only the most recent notification for each monitoring application in the dialog 331. The dialog 331 may be provided with a clear button 332. The application notification unit 91 may clear the dialog 331 when it detects that the clear button 332 has been pressed by the user. The application notification unit 91 may store notifications for each monitored device. When the clear button 332 is pressed, the application notification unit 91 may delete all notifications for the monitored device associated with the dialog 331 including the clear button 332. Note that when a notification regarding a monitored device occurs, the dashboard 100, 330 may not be displayed on the PC 2b or the like. In this case, when the dashboard 100, 330 is displayed on the PC 2b, the application notification unit 91 may display a dialog box 331 indicating the notification that has been stored up to that point on the PC 2b. Note that the CPU 11 or the HMI 16 of the PCs 2a, 2b may poll the application notification unit 91 to acquire the notification and display the dialog box 331. The display link 333 is a link for calling up the dashboard 100, 330 of the monitoring application that is monitoring the device notified by the dialog box 331. When the display link 333 is detected to have been pressed, the display processing unit 84 transmits the display data 77 of the dashboard 100, 330 linked to the display link 333 to the PC 2b via the Web server 85. As a result, a chart indicating the device value at the time the notification occurred is displayed on the dashboard 100, 330.
[0154] [Point 10] The event registration unit 92 may function as a registration means for registering a history of errors or events that occur in the PLC 1. The event registration unit 92 may be configured to register an event in the history when the symbol value satisfies a registration condition (e.g., a caution state or an alarm state). For example, this history may be held by the CPU 31 of the basic unit 3. The event registration unit 92 may request the CPU 31 to register the event in the history via the internal bus 19.
[0155] [Point 11] The driving record storage unit 93 functions as a driving record storage means that stores a symbol value as a driving record when the symbol value satisfies a storage condition (e.g., a caution state or an alarm state). In this case, the CPU 41a (flow execution unit 81) may analyze the driving record, create an analysis report showing the analysis results, and display the report on a peripheral device.
[0156] [Point 12] When a symbol value that deviates from the normal conditions is detected, the history storage unit 94 functions as a history storage means that stores the symbol value, the normal conditions, and the display screen as history. For example, when a symbol value that deviates from the normal conditions is detected, not only the symbol value but also the display data 77 related to the symbol value may be stored.
[0157] [Points 13 and 14] The display screen may include a trend graph showing the trend of the symbol values or the time derived from the symbol values, as shown in Figure 12. The display screen may include a histogram of the symbol values or the time derived from the symbol values, as shown in Figure 11.
[0158] [Points 15, 16] The setting unit 80, the setting wizard 140, etc. function as setting means for setting normal conditions. As described with reference to Figures 32 and 33, the setting means (threshold setting unit 58) may be configured to create normal conditions by applying a predetermined calculation rule to a symbol value acquired in advance. For example, the threshold setting unit 58 may use a calculation rule designated by the user as the predetermined calculation rule.
[0159] [Point 17] The memory 42a may function as a condition storage means for storing a plurality of condition sets, each having a different normal condition. The bank switching unit 59 may function as a selection means for selecting one of the plurality of condition sets stored in the condition storage means in response to a user instruction. This would make it possible to easily change the normal condition. For example, a plurality of condition sets may be prepared for each type of product manufactured on a production line controlled by the PLC 1.
[0160] [Point 18] The stop / resume unit 86 and the switching button 102 are an example of an input means for inputting an instruction to stop or resume the execution of an application program. When an instruction to stop the execution of the application program is input, the stop / resume unit 86 stops the execution of the application program. When an instruction to resume the execution of the application program is input, the stop / resume unit 86 resumes the execution of the application program. This allows the user to easily instruct the application program to stop and resume.
[0161] [Point 19] The application error detection unit 87 may be configured to detect an event that prevents the normal execution of an application program and report the event. An example of such an event is when a device not used in a ladder program or the like is designated as a monitoring target device. Also, a variable designated as a monitoring target that is not described in the user program may be detected as a type of error. Another example of an error that may be detected is when there is insufficient free space on a memory card designated as a storage destination for collected data 75 and analyzed data 76. This is because all of these errors prevent the normal execution of an application program.
[0162] [Point of View 20] As shown in FIG. 23, FIG. 28, etc., the generating means (display processing unit 84) may generate a display screen so as to display, as a waveform, a plurality of symbol values collected as time-series data by the collecting means.
[0163] [Point of View 21] 28, the generating means (display processing unit 84) may superimpose a first waveform (thick line) showing a plurality of symbol values collected as time-series data by the collecting means during a first collection period and a second waveform (thin line) showing a plurality of symbol values collected as time-series data by the collecting means during a second collection period that precedes the first collection period. While the first waveform is displayed, the user may latch the first waveform, and the latched waveform may be used as the second waveform. This may make it easier for the user to compare the current waveform with several past waveforms.
[0164] [Point of View 22] The generating means (display processing unit 84) may generate a display screen that displays, together with the waveform, a line indicating a threshold value for restricting the peak or bottom value of the waveform (e.g., an upper or lower limit value for a caution or alarm state) that is included in the normal condition. This will make it easier for the user to visually understand how much margin the peak or bottom value has against the threshold value.
[0165] [Point of View 23] As shown in Figures 26 and 27, the generation means (display processing unit 84) may generate a display screen that displays, together with the waveform, a line indicating a threshold value for regulating the timing at which the symbol value exceeds a predetermined value (e.g., a trigger level) and which is included in the normal condition.
[0166] [Point of View 24] As described with reference to FIGS. 32 and 33, the threshold setting unit 58 may function as a threshold determination unit that determines a threshold waveform, which is a set of thresholds, based on a measured waveform based on symbol values and user input. The user input may include, for example, a coefficient (e.g., a value tolerance range mv) to be added to or subtracted from the measured waveform. The user input may also include designation information that specifies a waveform section (e.g., a time tolerance range mt) that is taken into account to determine a threshold for a timing of interest in the threshold waveform among the multiple symbol values that make up the measured waveform, and that designates a waveform section before and after the timing of interest. This makes it possible to easily set a threshold.
[0167] [Point of View 27] As shown in FIG. 34, the threshold setting unit 58 may function as a threshold determining means for determining a threshold waveform, which is a set of thresholds, based on a free curve drawn by the user.
[0168] The invention is not limited to the above-described embodiment, and various modifications and variations are possible within the scope of the gist of the invention.< / plc>
Claims
1. an application program for monitoring a monitoring target in real time and displaying the monitoring results on a web browser using a dashboard selected by a user, and a communication unit for receiving setting data for the dashboard from an external tool; a storage means for storing setting data of the application program and the dashboard; an execution means for executing the application program; The execution means a collection means for collecting a plurality of symbol values stored in symbols that are devices or variables to be collected in accordance with an application program; a determination means for determining whether each of the monitoring targets based on each symbol value collected by the collection means in accordance with the application program satisfies a normal condition set for the application program, thereby detecting an abnormal situation with respect to the plurality of monitoring targets; a generating means for generating display data for displaying the dashboard on a web browser in response to a user instruction, the dashboard including a list display including information indicating each determination result of the determining means and values of each of the monitored objects in accordance with the setting data of the dashboard, a detailed display of each of the monitored objects, and a setting display for setting the normal conditions; a web server that provides the display data generated by the generation means to a web browser and accepts the setting of the normal conditions via the web browser that has been set and displayed by the dashboard; and A programmable logic controller characterized in that the dashboard setting data includes a dashboard template prepared for each application and parameters specified by a user for setting display components of the template.
2. 2. The programmable logic controller according to claim 1, wherein said determining means determines whether the duration of the process executed by said programmable logic controller satisfies said normal condition.
3. 3. The programmable logic controller according to claim 2, wherein the symbol value includes a device value of a start device indicating the start of the process and a device value of an end device indicating the end of the process, and the duration is the time from the time when the device value of the start device changes to the time when the device value of the end device changes.
4. the collecting means collects the symbol values for determining the duration for each of a plurality of steps constituting one operation cycle; 4. The programmable logic controller of claim 3, wherein said generating means is configured to generate a list display for displaying said duration for each of said plurality of steps.
5. 5. The programmable logic controller of claim 4, wherein the list display is configured to display a graphical object indicating the duration for each of the plurality of processes and a graphical object indicating master data compared to the duration for each of the plurality of processes.
6. 6. The programmable logic controller according to claim 5, wherein the graphical object is displayed so as to move in one direction in the list display over time, or to extend in one direction from a predetermined position in the list display as a starting point.
7. 7. The programmable logic controller of claim 6, wherein the summary display is configured to display, along with the graphical object, a graphical object that indicates the normal condition.
8. 8. The programmable logic controller according to claim 1, further comprising a notification unit that issues a notification when the symbol value satisfies a notification condition set by a user.
9. 9. The programmable logic controller according to claim 8, wherein the notification means is configured to transmit the notification to a peripheral device that provides the display data.
10. further comprising a registering means for registering a history of errors or events occurring in the programmable logic controller; 9. The programmable logic controller according to claim 8, wherein the registering means is configured to register an event relating to the notification in the history when the notifying means issues the notification.
11. 11. The programmable logic controller according to claim 1, further comprising an operation record storage means for storing the symbol value as an operation record when the symbol value satisfies a storage condition.
12. 12. The programmable logic controller according to claim 1, further comprising a history storage means for storing, when a symbol value that deviates from the normal condition is detected, the symbol value, the normal condition, and the display data as history.
13. 13. The programmable logic controller according to claim 1, wherein the detailed display includes a trend graph showing the symbol values or a time trend determined from the symbol values.
14. 13. A programmable logic controller according to claim 1, wherein the detailed display includes a histogram of the symbol values or of the time determined from the symbol values.
15. further comprising a setting means for setting the normal condition; 15. The programmable logic controller according to claim 1, wherein the setting means is configured to create the normal condition by applying a predetermined calculation rule to a symbol value obtained in advance.
16. 16. The programmable logic controller according to claim 15, wherein said setting means uses an operation rule designated by a user as said predetermined operation rule.
17. a condition storage means for storing a plurality of condition sets each having a different normal condition; 17. The programmable logic controller according to claim 1, further comprising a selection means for selecting one of a plurality of condition sets stored in the condition storage means in response to a user instruction.
18. further comprising an input means for inputting an instruction for stopping or restarting the execution of the application program; 18. The programmable logic controller according to claim 1, wherein the execution means stops execution of the application program when an instruction to stop execution of the application program is input, and resumes execution of the application program when an instruction to resume execution of the application program is input.
19. 19. A programmable logic controller according to claim 1, wherein the execution means is configured to detect an event that interferes with normal execution of the application program and to report the event.
Citation Information
Patent Citations
Programmable logic controller and data collection device
JP2019016325A