Programmable Logic Controller
The PLC system addresses the limitations of existing PLCs by integrating data collection and display functions, enabling real-time monitoring and efficient data management within the PLC system.
Patent Information
- Application Number
- JP2021062986
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-04-01
- Publication Date
- 2025-06-20
- Estimated Expiration
- 2041-04-01
AI Technical Summary
Existing programmable logic controllers (PLCs) lack the capability to collect only necessary data and provide it to peripheral devices, limiting their data collection and display functionalities.
A PLC system equipped with a data collection function and a data display screen generation function, featuring a communication unit, storage means, execution means, collection means, determination means, and generation means to collect, process, and display data in real-time on a WEB browser.
Enables real-time monitoring and data display on a WEB browser, allowing for efficient data collection and display, and improving the PLC's ability to provide information to peripheral devices.
Smart Images

Figure 0007696224000001 
Figure 0007696224000002 
Figure 0007696224000003
Abstract
Description
Technical Field
[0001] The present invention relates to a programmable logic controller.
Background Art
[0002] A programmable logic controller (PLC) is a controller that controls industrial machines such as manufacturing equipment, conveying devices, and inspection devices in factory automation. The PLC controls various expansion units and controlled devices by executing a user program such as a ladder program created by a programmer. In order to monitor the operation of the PLC, it has been proposed to collect the data held by the PLC and monitor the data on a computer (PC) or HMI (human interface: display device) connected to the outside of the PLC (Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] By the way, in the invention of Patent Document 1, information is collected in an IPC (industrial personal computer) provided outside the PLC, and it is not possible to collect only the necessary information by the PLC and provide information to peripheral devices. Therefore, an object of the present invention is to provide a PLC having a data collection function and a data display screen generation function.
Means for Solving the Problems
[0005] The present invention is, for example, An application program for monitoring a monitoring target in real time and by a dashboard selected by the user Displaying the monitoring result on a WEB browser and the setting data of the dashboardA communication unit for receiving from an external tool, the application program and the setting data of the dashboard a storage means for storing an execution means for executing the application program, and has the execution means a collection means for collecting a plurality of symbol values stored in a symbol which is a device or variable to be collected according to the application program, a determination means for detecting a situation different from usual for a plurality of the monitoring objects by respectively determining whether each monitoring object based on each symbol value collected by the collection means according to the application program satisfies a normal condition set for the application program, in accordance with the setting data of the dashboard a list display including each determination result of the determination means and information indicating the value of each monitoring object, each detailed display regarding each monitoring object, and a setting display for setting the normal condition of the dashboard a generation means for generating display data for causing the list display, the detailed displays, and the setting display to be displayed on a WEB browser according to a user instruction, providing the display data generated by the generation means to a WEB browser, and by the dashboard a WEB server that accepts the setting of the normal condition via the WEB browser on which the setting display is performed, has and The setting data of the dashboard includes a dashboard template prepared for each application and parameters specified by the user to set the display components of the template A programmable logic controller is provided, characterized in that.
Advantages of the Invention
[0006] According to the present invention, a PLC having a data collection function and a data display screen generation function is provided.
Brief Description of the Drawings
[0007]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Figure 29
Figure 30
Figure 31
Figure 32
Figure 33
Figure 34
Figure 35
Figure 36
Figure 37
Figure 38
Figure 39
Figure 40
Mode for Carrying Out the Invention
[0008] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. It should be noted that the following embodiments do not limit the invention according to the claims, and not all combinations of the features described in the embodiments are essential for the invention. Two or more of the features described in the embodiments may be arbitrarily combined. Also, the same or similar configurations are assigned the same reference numerals, and duplicate explanations are omitted. Small letters may be added to the end of the reference signs indicating the same or similar elements. When matters common to a plurality of elements are described, the small letters are omitted.
[0009] <System Configuration> First, to make the programmable logic controller (PLC, which may also be simply called a programmable controller) better understood by those skilled in the art, the configuration and operation of a general PLC will be described.
[0010] FIG. 1 is a conceptual diagram showing a configuration example of a programmable logic controller system according to an embodiment of the present invention. As shown in FIG. 1, this system includes a PC 2a for editing a user program such as a ladder program, 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. The user program may be created using a graphical programming language such as a motion program in a flowchart format such as a ladder language or SFC (sequential function chart), or may be created using a high-level programming language such as the C language. Hereinafter, for convenience of explanation, the user program executed in the basic unit 3 is assumed to be a ladder program. The PLC 1 includes a basic unit 3 with a built-in CPU and one or more expansion units 4. One or more expansion units 4 are detachable from the basic unit 3.
[0011] The basic unit 3 is provided with a display unit 5 and an operation unit 6. The display unit 5 can display the operation status of each expansion unit 4 attached to the basic unit 3. According to the operation content of the operation unit 6, the display unit 5 switches the display content. The display unit 5 usually displays the current value (device value) of the devices in the PLC 1, error information generated in the PLC 1, etc. A device is a name referring to an area on the memory provided for storing a device value (device data), and may be called a device memory. A device value is information indicating the input state from an input device, the output state to an output device, and the states of internal relays (auxiliary relays), timers, counters, data memories, etc. set in the user program. The types of device values are bit type and word type. 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 value indicated by a symbol is called a symbol value.
[0012] The expansion unit 4 is prepared to expand the functions of the PLC 1. A field device (controlled device) 10 corresponding to the function of each expansion unit 4 may be connected to each expansion unit 4, and thereby each field device 10 is 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. Also, a plurality of 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. The counter unit counts signals from an encoder (field device 10) such as a manual pulsar.
[0014] The expansion unit 4a is a data collection unit that collects data to be collected from the basic unit 3 and the expansion unit 4b by executing a flow, performs data processing on the data to be collected to create display target data, and creates display data for displaying the dashboard on the display unit 7 or the PC 2. The basic unit 3 may also be called a CPU unit. Note that the system including the PLC 1 and the PC 2 may be called a programmable logic controller system.
[0015] The PC 2a is a computer mainly operated by a programmer. On the other hand, the PC 2b is a computer operated by a field staff member. The PC 2b may be a programmable display set by the user. In this case, the screen for displaying the analysis result or the like may be set by the user. The programmable display may be equipped with a web browser function in advance, and the analysis result or the like may be displayed by the web browser function. The PC 2a may be called a program creation support device (setting device). The PC 2 is, for example, a portable notebook type, tablet type personal computer or smartphone, and is an external computer having a display unit 7 and an operation unit 8. The external computer is a computer outside the PLC 1. An example of a user program for controlling the PLC 1, a ladder program, is created using the PC 2a. The created ladder program is converted into a mnemonic code in the PC 2a. The PC 2 is connected to the basic unit 3 of the PLC 1 via a communication cable 9 such as a USB (Universal Serial Bus) cable. For example, the PC 2a sends the ladder program converted into a mnemonic code to the basic unit 3. The basic unit 3 converts the ladder program into a machine code and stores it in the memory provided in the basic unit 3. Here, the mnemonic code is sent to the basic unit 3, but the present invention is not limited to this. For example, the PC 2a may convert the mnemonic code into an intermediate code and send the intermediate code to the basic unit 3.
[0016] Although not shown in FIG. 1, the operation unit 8 of the PC2 may include a pointing device such as a mouse connected to the PC2. Further, the PC2 may be configured to be detachably connected to the basic unit 3 of the PLC1 via another communication cable 9 other than the USB cable. Further, the PC2 may be connected to the basic unit 3 of the PLC1 by wireless communication without passing through the communication cable 9.
[0017] The HMI (Human Machine Interface) 16 is a display device that reads and displays information stored in the devices or buffers of the PLC1. The HMI 16 may have, for example, a touch panel type input device.
[0018] <Program Creation Support Device> FIG. 2 is a block diagram for explaining the electrical configuration of the PC2. As shown in FIG. 2, the PC2 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 the CPU 11. The storage device 12 includes a RAM, a ROM, an HDD, an SSD, and may further include a detachable memory card. The CPU is an abbreviation for a central processing unit. The ROM is an abbreviation for a read only memory. The RAM is an abbreviation for a random access memory. The HDD is an abbreviation for a hard disk drive. The SSD is an abbreviation for a solid state drive.
[0019] The user of PC2a causes the CPU11 to execute the project editing program 14a stored in the storage device 12, and edits project data through the operation unit 8. That is, PC2a 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 of the basic unit 3 and the expansion unit 4, drawing data of the WebHMI, and setting information of specific functions provided in the basic unit 3 and the expansion unit 4. The configuration information includes the connection positions of a plurality of expansion units 4 to the basic unit 3, information indicating functions provided in the basic unit 3 (e.g., data collection function, communication function, positioning function), and information indicating functions of the expansion unit 4 (e.g., communication function, positioning function, imaging function). The drawing data is a group of display components for realizing the WebHMI. The drawing data is realized by markup data (e.g., HTML data) describing the structure of the front end, style data (e.g., CSS data) describing decoration, and code (e.g., JavaScript (registered trademark) code) describing dynamic processing. Note that the front end refers to the part directly visible to the user in a web page, web service, and web application. The style data for describing decoration may be provided, for example, in a file format. In this case, the style data may be called by a description for calling an external style data file within the markup data for describing the structure. The code for describing dynamic processing may be provided, for example, in a file format. In this case, the code for describing dynamic processing may be called by a description for calling an external code file within the markup data for describing the structure. A front end in a form that can call an external style data file or an external code file and use them has high reusability and maintainability, and for example, general-purpose front-end components can be used. By adopting such a general-purpose and highly reusable web drawing technology, components can be reused in the development of WebHMI, etc., and the maintainability of WebHMI, etc., is also improved. Hereinafter, the drawing data is referred to as display components.The data utilization program includes programs for collecting control data (such as device values) in PLC1, processing data, and creating data to be passed to WebHMI. The setting information for specific functions includes setting information regarding the functions provided in the basic unit 3 (e.g., data collection function, communication function, positioning function). For example, in the case of the data collection function, it includes setting information for data collection conditions and data collection targets. Setting information regarding the functions of the expansion unit 4 (e.g., communication function, positioning function, data utilization function, imaging function) may also be included. Here, the editing of project data includes the creation and change (re - editing) of project data. The user can read out the project data stored in the storage device 12 as needed and change the project data using the project editing program 14a. The communication unit 13 communicates with the basic unit 3 via the communication cable 9a. The CPU11 transfers project data to the basic unit 3 via the communication unit 13. The communication unit 13 communicates with the expansion unit 4a via the communication cable 9b.
[0020] By executing the flow - dashboard editing program 14b, the CPU11 may create flow (data utilization program) and dashboard setting data. The flow - dashboard editing program 14b may be a part of the project editing program 14a.
[0021] By executing the web browser program 14d, the CPU11 may function as the web browser 61 shown in FIG. 4. The web browser 61 may also be a part of the project editing program 14a. The web browser 61 displays the display screen (dashboard) provided by the PLC1 on the display unit 7. Note that the project editing program 14a or the flow - dashboard editing program 14b may incorporate the function of displaying the display screen (dashboard) provided by the PLC1 on the display unit 7. The CPU11 transfers the flow and dashboard setting data to the expansion unit 4a via the communication unit 13.
[0022] <plc> FIG. 3 is a block diagram for explaining 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 a RAM, a ROM, a memory card, and the like. The storage device 32 has a plurality of storage areas such as a device unit 34 and a project storage unit 35. The device unit 34 has bit devices, word devices, and the like, and each device stores a device value. The project storage unit 35 stores the 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 kind of expansion bus. Note that the communication function related to the unit internal bus 19 is implemented in the CPU 31, but may be implemented as a part of the communication unit 33. The communication unit 33 may have a network communication circuit. The CPU 31 receives project data from the PC 2a via the communication unit 33.
[0023] Here, a supplementary explanation will be given 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 of updating device values between the basic unit 3 and the expansion unit 4. Input / output refresh is executed every time the ladder program is executed once (that is, every 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 according to an instruction (device value) from the basic unit 3 stored in the device. Further, the CPU 41b stores the control result of the field device 10 in a device called a buffer memory. The control result stored in the device is transferred to the basic unit 3 by input / output refresh. Also, the control result stored in the device is transferred to the basic unit 3 according to a read instruction from the basic unit 3 even at a timing different from the input / output refresh. The memory 42 includes a RAM, a ROM, etc. In particular, a storage area used as a buffer memory is secured in the RAM. The memory 42 may have a buffer for temporarily holding data (e.g., still image data or moving image data) acquired by the field device 10.
[0025] The CPU 41a of the extended unit 4a that 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 executes network communication. When the driving record analysis application is set as the data utilization application, the CPU 41a analyzes the device values collected in the basic unit 3 to create an analysis report including the analysis results. For example, the CPU 41a analyzes the symbol values included in the driving record data to identify the abnormal symbol and the time when the symbol became abnormal, and creates an analysis report including the analysis result in which the abnormal symbol is associated with the time when the symbol became abnormal. The driving record data includes information for reproducing the situation around the time when the driving record saving event occurred. Therefore, the driving record data may be managed in association with the analysis report. Also, the driving record data includes the symbol values of many symbols for reproducing the situation around the time when the driving record saving event occurred. Therefore, the data size of the driving record data tends to be large. For example, the CPU 41a may read out the data necessary for the analysis report from the driving record data and additionally save it in the driving record data as the data for the analysis report. Here, the additional saving means, for example, reading out and copying the data necessary for the analysis report from the driving record data, and additionally saving the data for the analysis report created by tagging the copied data in the driving record data. By applying data processing such as tagging the data in this way, it becomes 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 more precisely understand the situation around the time when the driving record saving event occurred. The analysis report may include a UI (user interface) for playing back the camera images. Since the camera images are large in data size, only the necessary camera image data may be partially downloaded when click or scroll operations are received in the UI for playing back the camera images. For example, when creating the analysis report, the CPU 41a may process the camera images corresponding to 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. Thereby, the CPU 41a may download the camera images corresponding to the display time (the time of the internal clock for playback) quickly and partially.
[0027] The analysis report, in a narrow sense, means the analysis result itself, but in a broad sense, it may mean a web application that displays the analysis result or its user interface. The CPU 41a determines, for example, whether the device value is within the normal range or whether the timing at which the device value changes is within the normal range. Whether the timing at which the device value changes is within the normal range may be, for example, whether the length of the period during which the device value is "1" (on) is within the normal range. Also, it may be determined whether the number of changes in the device value in a certain process or cycle is within the normal range. If the device value collected from a certain device does not meet the normal conditions, since that device behaves differently from usual, it may be called an abnormal device. The CPU 41a may create an analysis report in web format and provide the analysis report to the web browser of the PC 2b via the communication unit 43 and the communication cable 9b.
[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 control data and processes data, and a dashboard that displays the execution results of the data utilization program. Here, a flow is adopted as an example of the data utilization program, but it may also be a user program in other languages. The flow may have an arithmetic block that collects data, an arithmetic block that executes data processing, and an arithmetic block that creates display data. The dashboard has graph display components, numerical display components, etc. The analysis report may also have graph display components, numerical display components, etc. 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. The flow template is prepared in advance for each application and has one or more arithmetic blocks to which parameters specified by the user are set. The dashboard is also realized by a template. The dashboard template has one or more display components to which parameters specified by the user are set. The parameters are various kinds of information such as, for example, the name of the dashboard, the device name, numerical values, unit variable names, etc. The unit variable is a variable for the extended unit 4a to hold the execution result of the flow.
[0029] The CPU 41a stores the setting data of the flow and the dashboard received from the PC 2a in the memory 42a. The CPU 41a executes the flow according to the setting data, collects device values, and creates display data for display 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 of the dashboard to the PC 2b. Thereby, the PC 2b displays a 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 the 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] FIG. 4 is a diagram for explaining functions realized by the CPU 11 of the PC 2a. The project creation unit 50 is a function realized when the CPU 11 executes 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 a user program such as a ladder program according to a user instruction 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 according to a user instruction input through the operation unit 8. The control program 155 is stored in the storage device 12 as a part of the project data 70.
[0033] The flow dashboard creation unit 51 is a function realized by the CPU 11 executing the flow dashboard editing program 14b. The flow dashboard creation unit 51 includes an application selection unit 55 and a setting data creation unit 56. The application selection unit 55 displays, on the display unit 7, a selection screen that assists the user in selecting one application from a plurality of applications (data utilization programs), and accepts the selection of an application by the user. As the application, there may be a real-time monitoring application that monitors devices and variables to be monitored in real time, an operation record analysis application that analyzes an operation record for reproducing the operation state of the PLC 1 and generates an analysis report, and the like. Further, as the application, there may be a calculation application that calculates KPIs (Key Performance Indicators) such as a motility rate, a yield rate, or a cycle time.
[0034] The setting data creation unit 56 creates application setting data 74b including parameters related to the application (data utilization program) selected by the user and parameters related to the display settings of the dashboard according to the user's instructions. Examples of such parameters include the device or variable to be monitored, the name of the monitoring item (e.g., the name of the process), the monitoring conditions for each monitoring target, the file to be analyzed, the device to be analyzed, the analysis target period, the display target, the name of the display component, the unit, etc. The setting data creation unit 56 may provide the PLC 1 with the information necessary to create the application setting data 74b 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, the dashboard template 71a is extracted from the dashboard template 71 and stored 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 of the data utilization program that executes the data processing necessary to display data on the dashboard selected by the user. For example, the utilization program template 72a is extracted from the utilization program template 72 and stored in the setting data 73. The utilization program template 72 has arithmetic components (program modules) for executing data processing. The setting data creation unit 56 creates setting data 73 including the template of the dashboard, the template of the data utilization program, and the application setting data 74b set in these templates, and stores it in the storage device 12. Note that the setting data creation unit 56 may create collection setting data 74a including the device or variable to be collected, the collection conditions, etc.
[0035] The setting data creation unit 56 may create another application that refers to the measurement results of the monitoring target calculated in 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 sets other applications or applications newly created by the user so as to refer to the variable indicating the measurement result. The measurement results of the monitoring target calculated in the real-time monitoring application may include, for example, time results such as the processing time of each process, the time between the preceding process and the subsequent process, and the time indicating the length of the entire process, feature amounts of time-series data (waveform data), feature amounts of camera images, and the like. The setting data creation unit 56 may set a dashboard created by the user so as to refer to the variable indicating the measurement result. Note that the measurement results of the monitoring target calculated in the real-time monitoring application may be stored in a database. This may be realized by linking the real-time monitoring application and the database function.
[0036] The collection setting unit 57 defines the collection operations of devices and variables according to user instructions. Further, the collection setting unit 57 creates collection setting data 74a including the devices or variables to be collected, collection conditions, and the like. 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 or transfers the setting data 73 to the expansion 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 extension unit 4a. Some or all of the functions of the extension unit 4a described below may be implemented in the basic 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 set what device values should be collected for the basic unit 3 according to the setting data 73. The setting data 73 includes a dashboard template 71a, an activation 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 extension unit 4a with the dashboard template 71a and the activation program template 72a substituted, or may be passed from the PC 2a to the extension unit 4a in a state separated from the dashboard template 71a and the activation program template 72a. The flow execution unit 81 is a function realized by the CPU 41a executing the flow in the activation program template 72a according to the collection setting data 74a. The collection unit 82 collects the device values specified by the collection setting data 74a from the basic unit 3 or the extension unit 4b, creates the collected data 75, and stores it in the memory 42a. The data processing unit 83 applies the data processing specified by the collection setting data 74a to the collected data 75, creates the analyzed data 76, and stores it in the memory 42a. The display processing unit 84 creates the display data 77 of the dashboard (e.g., HTML data, image data, CSS (Cascading Style Sheets), 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 display data 77 of the dashboard to a web browser 61 such as the PC 2b.
[0039] FIG. 6 is a diagram for explaining another function realized by the CPU 41a of the extension unit 4a. Some or all of the functions of the extension unit 4a described below may be implemented in the basic unit 3. Here, the extension unit 4a provides a setting editing function such as a dashboard for the PC 2b by web-based technology. Note that the setting editing function may be called and executed from the dashboard. Also, the setting editing function may be provided in the PC 2a which is a program creation support device. Note that the same reference numerals are given to functions similar to those already described, and the description of such functions is omitted.
[0040] The setting unit 80 has the above-described flow dashboard creation unit 51. 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 the web server 85 to provide a display screen and receive input. The application selection unit 55 displays, on the display unit 7b of the PC 2b through the web server 85, a selection screen that assists the user in selecting one dashboard from a plurality of dashboards (real-time monitoring applications), and receives the selection of the dashboard by the user. The setting data creation unit 56 receives, through the web server 85, user specifications regarding parameters related to the flow associated with the dashboard selected by the user and parameters related to the display settings of the dashboard. These parameters include devices to be collected, devices to be analyzed, analysis target period, display target, name of display components, units, etc. The setting data creation unit 56 extracts a dashboard template 71a for displaying the dashboard selected by the user from the dashboard templates 71. The dashboard template 71 has various display components (graph modules) for realizing the dashboard. The setting data creation unit 56 extracts an application program template 72a for executing data processing necessary for displaying data on the dashboard selected by the user from the application program templates 72. The application program template 72 has arithmetic components (program modules) for executing data processing. The flow dashboard creation unit 51 may also create the above-described collection setting data 74a and application setting data 74b according to a user instruction input from the web browser 61. The setting data creation unit 56 creates setting data 73 including the dashboard template 71a, the application program template 72a, the collection setting data 74a, and the application setting data 74b, and stores it in the memory 42a.
[0041] Figure 7 shows additional functions implemented in the extension unit 4a.
[0042] The reporting unit 90 is a function that issues a notification to peripheral devices based on the determination result of the flow execution unit 81 (analysis unit 54). Peripheral devices include the HMI 16, PCs 2a, 2b, etc. The application notification unit 91 is a function that notifies peripheral devices that the monitoring state of the real-time monitoring application has changed from a normal state to a caution state or an alarm state. The real-time monitoring application is an application that displays device values on the display screen when the user program (ladder program) is being executed in the PLC 1. The real-time monitoring application is distinguished from an application that only displays past device values stored in a memory card or the like. The real-time monitoring application may also include a function to display these past device values.
[0043] The event registration unit 92 is a function that registers, as an event, the fact that the monitoring state of the monitoring application has changed from a normal state to a caution state or an alarm state in the basic unit 3. The CPU 31 of the basic unit 3 has a function to store error and event histories. The event registration unit 92 requests the CPU 31 of the basic unit 3 to register an event by transmitting 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 every scan time of the ladder program. The CPU 41a of the expansion unit 4a acquires and analyzes this device value, and determines whether the storage conditions are satisfied. When 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 stores the device values stored in the ring buffer as operation records according to the storage request. The flow execution unit 81 (analysis unit 54) may obtain the analysis result by reading and analyzing the operation record from the basic unit 3, and store the analysis result in the analyzed data 76.
[0045] Here, the operation record may be one that records the operation state of the PLC 1 at the scan time level. For example, the operation record may be to record the symbol values of all symbols related to the operation of the PLC 1 and their collection times in time series for each scan. All symbols related to the operation may be, for example, all symbols used in a user program such as a ladder program, or all symbols included in a program unit or unit unit selected by the user. In this case, the symbols to be the operation record target may be collectively selected in a significant unit such as a program unit or a unit unit. The symbols to be the operation record target may be individually added or removed (added or deleted). For example, at the time of trouble occurrence, an operation record may be generated that records the symbol values of all symbols related to the operation of the PLC 1 around the time of trouble occurrence and their collection times in time series for each scan. The user will be able to accurately grasp what happened at the time of trouble occurrence even later based on the operation record. The operation record may contain a lot of information to reproduce the situation at that time. If there is a lot of information, the data capacity of the operation record will increase, making it difficult to handle the operation record (data processing, etc.) or imposing a load on the collection of the operation record. Therefore, the symbols to be the collection target can be selected by the user in program units or unit units.
[0046] In addition, the operation record may include time-series camera images together with their imaging times in addition to symbols. As a result, the user will be able to accurately grasp what happened in the past by tracing back to the vicinity of the trouble occurrence time, for example, when a trouble occurs. In particular, the inclusion of camera images showing changes in the appearance of the equipment in the operation record will be helpful for understanding the situation. Therefore, the camera images may be recorded in conjunction with the time series of the execution of the user program. The write history from external devices such as an HMI (Human Machine Interface) or a PC and the write history from a PLC may be included in the operation record as change point events. As a result, the user can check in chronological order what change point events occurred before and after a trouble, for example. Furthermore, the operation record may include project data. By including the project data at the time when the operation record data was generated in the operation record, even if there are multiple versions of the project data, the situation can be reproduced based on the project data actually used when the operation record data was generated. The operation record may include an analysis report. By including an analysis report containing the analysis results obtained by analyzing the operation record data in the operation record, it becomes possible to link the analysis results with the operation record data.
[0047] The history storage unit 94 has a function of storing the device values, display data (charts and graphs) for the dashboard, and threshold values, which are acquired when an attention state or an alarm state occurs, as history. These histories are useful for reproducing on the display screen the operations that occurred in the past and were different from usual.
[0048] The data processing unit 83 may have a function of performing 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 selects a statistical value (maximum value, average value, or minimum value) for each specified number of device values included in the collected data 75, and associates and stores the selected statistical value with time information indicating the time when this statistical value was collected. Since one measurement value is selected and saved from the specified number of measurement values, a data compression effect can be obtained. By increasing the specified number, the amount of data to be saved is reduced, and data indicating a longer-term trend can be obtained.
[0049] The histogram creation unit 53b creates a distribution of a specified number of device values included in the collected data 75. For example, a distribution for several hundred measurement values collected most recently can be obtained.
[0050] The analysis unit 54 analyzes whether the symbol value collected by the collection means according to the application program satisfies the normal conditions set for the application program. Thereby, the analysis unit 54 detects a situation different from the usual regarding the symbol value. The normal conditions include, for example, thresholds used to detect a caution state or an alarm state.
[0051] The flow dashboard creation unit 51 may have a threshold setting unit 58 and a bank switching unit 59. The threshold setting unit 58 is a function that assists the user regarding the setting of thresholds used to detect a caution state or an alarm state. For example, the threshold setting unit 58 may perform learning based on the device values collected in the past and propose a threshold to the user based on the learning result. The bank switching unit 59 prepares a set of thresholds (bank) in advance according to the type of product manufactured under the control of the PLC 1, and switches the set of thresholds 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 has the function of temporarily stopping the monitoring application or resuming the operation of the monitoring application. The monitoring application may save various data by accessing the memory card. If the memory card is removed while the monitoring application is accessing it, the data may be damaged. Therefore, when the memory card is removed, the monitoring application should be stopped. Also, the operation of the actuator may not be stable until a certain period of time has elapsed since the power is turned on. During such a period, the monitoring application should not be allowed to monitor the actuator. Therefore, when the stop / resume unit 86 receives a stop request for the monitoring application from the PC 2a, PC 2b, etc., it temporarily stops the operation of the monitoring application. When the stop / resume unit 86 receives a resume request for the monitoring application from the PC 2a, PC 2b, etc., it resumes the operation of the monitoring application. The application error detection unit 87 detects an error in the monitoring application itself and notifies the occurrence of the error to the peripheral devices. For example, when the specification of the device or variable to be monitored is incorrect or the free capacity of the memory card for storing the monitoring results is insufficient, the application error detection unit 87 issues a notification to the peripheral devices. The application error detection unit 87 may be included in the reporting unit 90.
[0053] ● Real-time monitoring application The following describes a plurality of real-time monitoring applications that provide dashboards. Such applications monitor devices and variables to be monitored in real time. The following may exist as real-time monitoring applications. (I) Process Monitoring (Cycle Chart): Cycle operation means repeatedly executing a plurality of processes for each cycle. In cycle monitoring, bit devices indicating the start timing and end timing of each of the plurality of processes constituting the cycle operation are set as the monitored devices. The time interval from the start to the end of the overall cycle operation and the time interval from the start to the end of each process within one cycle are monitored. The overall cycle operation refers to the entire one cycle. For example, it may be monitored whether the time (process time) from the start trigger to the end trigger is within the specified range. When the monitoring results of a plurality of processes are displayed simultaneously, the process that becomes the bottleneck among the plurality of processes becomes easier for the user to confirm. When an abnormality occurs in a certain process, not only the monitoring results (charts) of that process but also the monitoring results (charts) of other processes executed before and after that process are saved. (II) Timing Monitoring: The ON and / or OFF timing of the bit device to be monitored is monitored. For example, it is monitored whether the time from the start trigger to the end trigger is within the specified range. In timing monitoring, when an abnormality occurs in a certain process, only the monitoring results (charts) of that process are saved. (III) Waveform Upper and Lower Limit Monitoring: It is monitored whether a waveform (monitored waveform) composed of time-series device values (or analog values stored in variables) is within the range from the preset upper limit value to the lower limit value. (IV) Waveform Guard Band Monitoring: It is monitored in time series whether a waveform (monitored waveform) composed of time-series device values (or analog values stored in variables) is within a preset guard band. The guard band is a band-shaped range surrounded by two threshold waveforms. The guard band may be defined by an upper limit value or a lower limit value that changes with the passage of time. That is, the guard band may be defined by a time-series upper limit value and a time-series lower limit value. (V) Camera monitoring: It is monitored whether the feature amount data (e.g., luminance, blue color difference, red color difference, etc.) of the camera image to be monitored satisfies the preset detection conditions. When the field device 10 is a camera, the camera monitoring application is executed.
[0054] The real-time monitoring application is an application for continuous monitoring based on the symbol values of the symbols of PLC1. For example, according to the settings of the real-time monitoring application, the symbol values of one or more symbols are continuously collected at the scan time level, and the information based on the collected symbol values is continuously displayed while being updated in real time. One or more symbols to be continuously monitored are set by the user in advance. The real-time monitoring application has, for example, a web server function and can be set from a general-purpose browser via the communication unit 43. Since it can be set from a general-purpose browser, it is possible to set or monitor from a PC, smartphone, or tablet without using a dedicated tool such as a program creation support device. In addition, the real-time monitoring application automatically sets a threshold value corresponding to the symbol based on the symbol values of a plurality of cycles in the normal state for one or more symbols to be continuously monitored. For example, the real-time monitoring application receives a user instruction and automatically sets a threshold value for monitoring the state of the symbol collectively based on the variation of the symbol values of a plurality of cycles in the normal state for a plurality of symbols to be continuously monitored. The threshold value is set to monitor a state different from the normal state, that is, an abnormal state. When the symbol value of the symbol to be monitored exceeds the threshold value, the real-time monitoring application issues an alarm. In this way, for example, PLC1 can detect signs before the equipment stops. PLC1 may use the alarm when the symbol value of the symbol to be monitored exceeds the threshold value as a storage condition for the operation record as a result of the sign monitoring by the real-time monitoring application. PLC1 stores the operation record data before and after the trigger using the occurrence of the alarm by the real-time monitoring application as an event trigger. PLC1 turns on the save completion device when the storage of the operation record data is completed. The operation record analysis application may automatically analyze the operation record data after receiving the completion of the storage of the operation record data. For example, the operation record analysis application may analyze the operation record data in response to turning on the save completion device.The driving record analysis application analyzes the symbol values of the symbols to be analyzed (e.g., the device values of all-bit devices) and extracts the symbols that are candidates for the causes of the alerts. In this way, the driving record analysis application automatically analyzes the driving record data saved due to the generation of the alerts for the causes of the generation of the alerts by the real-time monitoring application, and extracts the symbols that are different from usual from the driving record data. As a result, the CPU 41a constantly monitors the state of the equipment by the symptom monitoring function of the real-time monitoring application, and issues an alert for the change factor. Further, the CPU 41a automatically analyzes the alert cause and extracts the symbols that are different from usual. That is, the PLC 1 monitors the symptom of the equipment to be controlled by constantly monitoring the symbol value, notifies the symptom before the equipment to be controlled stops due to the alert, and automatically analyzes the cause of the symptom.
[0055] [Details of the process monitoring application] FIG. 8 shows a dashboard 100 of a process monitoring application displayed on PC2b. The dashboard 100 is displayed by a web browser 61 according to, for example, display data 77. The dashboard 100 may be displayed on a display device by software different from a web browser such as PC2a or HMI16. 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 operating or stopped. The switching button 102 is a button that instructs the stop / resume unit 86 to switch the operation state of the process monitoring application between operating and stopped. The switching button 102 may switch not only the operation / non-operation of the application but also the on / off of the test operation mode. The test operation mode is a mode in which the determination of the alarm state and the caution state is executed and the determination result is displayed, but the determination result is not recorded as a history. The history button 103 is a button for instructing the history storage unit 94 to store the currently displayed information (measurement values, charts, etc.) as a 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 measurement values (time from start trigger to end trigger) of each process as a ratio for each process. Thus, the display data 77 includes display components that realize control objects such as buttons.
[0056] The status display area 106a indicates whether the measured 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 measured value display area 106c displays the measured value of the time from the start trigger to the end trigger. The chart display area 106d displays the measured value with a bar-shaped object 107a. The chart display area 106d may display the upper and lower limit values for determining whether the measured value is in an alarm state and the upper and lower limit values for determining whether the measured value is in a caution state with vertical line objects 107c. Further, the chart display area 106d may display the learning result or the master data of the measured value specified by the user with a bar-shaped object 107b. The object 107b of the master data may be visually differentiated from the object 107a of the measured value, for example, by being given hatching. The detail button 108 is a button that instructs to display the details of the measured value (e.g., trend graph, histogram).
[0057] In FIG. 8, the chart display area 106d displays the measured value in the synchronous mode (cut-out mode). The synchronous mode is a mode in which the measured values of each process are displayed starting from the timing of the start trigger in the overall cycle operation. In the synchronous mode, the chart display area 106d displays the measured value and the master data for each overall cycle. The measured value is updated in real time. Therefore, the object 107a indicating the measured value of the overall cycle gradually extends from left to right over time. When the start trigger occurs for each process, the object 107a indicating the measured value of that process gradually extends from left to right over time. When the end trigger occurs, the extension of the object 107b stops. Note that the object 107b of the master data continues to be displayed as an object of a constant length at all times.
[0058] In this way, the display data 77 has display components for realizing a plurality of display areas 106. Also, 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 a dashboard 100 of a process monitoring application in an asynchronous mode. Among the measured values of the duration of each process in the asynchronous mode, the latest measured value is displayed as a bar-shaped object 107d that moves from right to left. The past measured values are displayed as bar-shaped objects 107e with broken lines. 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 determined, so the extension of the object 107d stops. After that, the object 107d maintains a certain length corresponding to the measurement value, and the object 107d moves to the left as time passes. Note that when the object 107d reaches the left end of the chart display area 106d, it cannot move further to the left, so the object 107d is displayed as shrinking as time passes.
[0060] The chart display area 106d may display measurement values for a plurality of consecutive overall cycles. For example, for a certain process, the shorter the distance from the right end of the object 107e indicating the past measurement value to the left end of the object 107d indicating the next measurement value, the less time margin there is for that process, and it can be visually understood that the process is a bottleneck in the overall cycle.
[0061] The colors of the objects 107a, 107b, 107d, and 107e may be different according to the normal state, the caution state, and the alarm state. For example, the normal state may be visually differentiated as green, the caution state as yellow, the alarm state as red, etc.
[0062] FIG. 10 shows a ratio display mode called by the ratio button 105. In the ratio display mode, for example, the larger of the upper limit value of the warning state and the upper limit value of the caution state is normalized and displayed such that it becomes 70% of the total length of the chart display area 106d for the objects 107a, 107b. Alternatively, it may be a mode in which the smaller of the lower limit value of the warning state and the lower limit value of the caution state is normalized and displayed such that it becomes 30% of the total length of the chart display area 106d for the objects 107a, 107b. Alternatively, it may be a mode in which the objects 107a, 107b are normalized and displayed such that the master data becomes 50% of the total length of the chart display area 106d. Alternatively, it may be a mode in which the objects 107a, 107b are normalized and displayed with a predetermined maximum monitoring time set as 100%. The specific numerical values defining the ratio are merely illustrative. The display settings related to the ratio display mode (parameters indicating the ratio, etc.) may also be selected or specified by the user in the setting wizard described later.
[0063] In FIG. 10, a notification display area 109 indicating that an application error has occurred is provided. If no application error has occurred, the notification display area 109 may display that it is normal or may not display anything. 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) together with an 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 designating one bank out of a plurality of banks for the bank switching unit 59. When no bank has been created by the user yet and the bank switching button 191 is pressed, the bank switching unit 59 displays a new bank creation screen on the display unit 7 and may accept, for example, the designation of bank identification information (e.g., bank number or bank name). In this way, the memory 42a stores a plurality of banks. The plurality of banks may be part of the setting data 73.
[0065] To each bank, a threshold setting for the attention state, a threshold setting for the alarm state, and display settings for charts (e.g., settings for creating and displaying a trend graph and settings for creating and displaying a histogram) are associated. Therefore, by switching the bank, these settings can also be switched all at once.
[0066] FIG. 11 shows a detailed screen 110 that is displayed by pressing the detailed button 108. When the display processing unit 84 receives information indicating that the detailed button 108 has been pressed through the Web server 85, it transmits display data for displaying the detailed screen 110 to the Web browser 61 through the Web server 85. Note that the display data for displaying the detailed 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 detailed 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 to return from the detailed screen 110 to the dashboard 100. The details of the status of the process selected by the detailed 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] When the button 116a is pressed, the detailed display area 114 displays a histogram, and when the button 116b is pressed, it displays a trend graph. The histogram display area 115 is capable of displaying a comparison between the histogram of the most recent data and the histogram of the master data. The histogram display area 115 may display the threshold values (upper limit value, lower limit value) for the warning state and the caution state as vertical lines. The statistical value display area 117a displays the statistical values (number of data, maximum value, minimum value, and average value) of the most recent data. The statistical value display area 117b displays the statistical values (number of data, maximum value, minimum value, and average value) 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 serving as the start trigger, and the bit device serving as the end trigger. The edit button 120a is a button for instructing the editing of the setting of the monitoring item. 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 an edit screen for the setting on the PC 2b.
[0070] The threshold setting display area 119 displays the threshold values (upper limit value, lower limit value) for the warning state and the caution state. The edit button 120b is a button for instructing the 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 the threshold setting on the PC 2b. The threshold automatic setting button 121 is a button for instructing the CPU 41a (threshold setting unit 58) of the expansion unit 4a to automatically set the threshold value.
[0071] FIG. 12 shows a detailed screen 110 that is displayed by pressing the detailed button 108. Here, since the button 116b has been pressed, the detailed display area 114 is displaying a trend graph in the trend graph display area 123. The trend graph display area 123 may display a broken line indicating the trend of the maximum value, a broken line indicating the trend of the average value, and a broken line indicating the trend of the minimum value. Further, the threshold values (upper limit value, lower limit value) for the warning state and the caution state may be displayed by a horizontal line.
[0072] ● Setup Wizard FIG. 13 shows a selection screen 130 displayed on the display unit 7 of the PC2 when setting these real-time monitoring applications. Substantially the same selection screen 130 is displayed on the PC2a and the PC2b. The selection screen 130 may be displayed on either the PC2a or the PC2b. When the flow dashboard creation unit 51 detects the depression of the button 131a, it displays a setup wizard for setting the process monitoring application on the display unit 7. When the flow dashboard creation unit 51 detects the depression of the button 131b, it displays a setup wizard for setting the timing monitoring application on the display unit 7. When the flow dashboard creation unit 51 detects the depression of the button 131c, it displays a setup wizard for setting the waveform upper and lower limit monitoring application on the display unit 7. When the flow dashboard creation unit 51 detects the depression of the button 131d, it displays a setup wizard for setting the waveform guard band monitoring application on the display unit 7. When the flow dashboard creation unit 51 detects the depression of the button 131e, it displays a setup wizard for setting the camera monitoring application on the display unit 7. The buttons 131a to 131e are operated by the pointer 132.
[0073] FIG. 14 shows a setup wizard 140 for setting the process monitoring application. The application name setting unit 141 receives the designation of the identification information and name of the real-time monitoring application to be set. The application name setting unit 141 may receive the application name for each application ID (= 0, 1, 2,...), for example. Further, the application name setting unit 141 may receive the input of the application name for each of a plurality of languages.
[0074] The maximum monitoring time input unit 142 accepts the input of the time during which device values and the like are continuously monitored by the real-time monitoring application. The display mode selection menu 143 is a menu that accepts the selection of 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 the setting of the monitoring method for each process. Among the monitoring methods, the start specification means a monitoring method in which the period from the input of a certain start trigger to the input of the next start trigger is set as the monitoring period. The start / end specification means a monitoring method in which the period from the input of the start trigger to the input of the end trigger is set as the monitoring period. The item name setting unit 145b accepts the input of the name of the process. The start trigger setting unit 145c accepts the specification of the bit device serving as the start trigger. The end trigger setting unit 145d accepts the specification of the bit device serving as the end trigger. When the monitoring method is "start specification", the setting of the end trigger is unnecessary. The monitoring activation unit 145e accepts the specification of whether to activate or deactivate the monitoring of the process. The attention state threshold setting unit 145f accepts the specification of the upper limit value and the lower limit value of the attention state. The alarm state threshold setting unit 145g accepts the specification of the upper limit value and the lower limit value of the attention state. Although not shown in FIG. 14, a master data setting unit and a detailed setting unit (e.g., a threshold automatic setting button, an input unit for the number of data used to create a trend graph) 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 and the setter of the real-time monitoring application may be different. In this case, the setter of the real-time monitoring application may not understand the user program. Therefore, the bit device serving as the start trigger and the bit device serving as the end trigger may be inputtable in a file format. The start trigger and end trigger for the entire process, and the start trigger and end trigger for individual processes may be input in a file format including structured data such as CSV. Also, parameters related to a plurality of applications may be input in a file format including structured data collectively. The plurality of applications may include an operation record analysis application and a real-time monitoring application, or among the real-time monitoring applications, a process monitoring application and a timing monitoring application may be included. The parameters may include an item name, the type of trigger (whether to use only the start trigger or both the start trigger and the end trigger), the device name of the start trigger and its trigger establishment condition (which of the device's rising and falling is determined as the trigger establishment), and the device name of the end trigger and its trigger establishment condition.
[0076] When the synchronous mode is selected as the display mode, further, a reception unit for receiving the designation of the item name serving as the reference for synchronous display or the number of that item may be displayed.
[0077] The language setting button 146 is a button for setting which set among a plurality of comment sets to assign. For example, a language setting is executed such that Japanese is assigned to the first comment set and English is assigned to the second comment set. Note that the application name is also input in association with the language setting. For example, when the first comment set is set to Japanese, the application name set to the first comment set is described in Japanese.
[0078] The translation button 147 is a button that requests the CPU 41a to translate words described in a certain language in a certain comment set into words in another selected language in another comment set. When the language before translation, the language after translation, and the number of the comment set that will be the output destination of the translation result are specified by the user, the CPU 41a executes the translation and creates a comment set. The CPU 41a may accept from the user the specification of the dictionary data to be used for the translation.
[0079] The setting save button 148 is a button that instructs the CPU 41a to assign a file name to the setting data input through the setting wizard 140 and save it. The setting read button 149 is a button that instructs the CPU 41a to read the previously 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 all at once according to a previously provided setting rule (operation rule). Here, automatic setting means eliminating the need for the user to manually input at least some of all the thresholds that need to be set. The threshold setting unit 58 may accept the input of the conditions required for the automatic setting operation. Here, the conditions may include the specification of the measurement data used for the threshold calculation and the specification of the threshold calculation method (operation rule). As the measurement data, the measurement data accumulated for displaying the histogram may be specified, or new measurement data may be specified. In the latter case, when the threshold setting unit 58 detects the pressing of an execution button (not shown), it starts measuring the data, acquires new measurement data, and uses it for the threshold calculation.
[0081] FIG. 15 shows a condition setting screen 150 that the threshold setting unit 58 displays on the display unit 7 of the PC 2b. In this example, a selection menu for the calculation method is provided for each threshold value. In this example, it is selected that the upper limit value (e.g., +σ) and the lower limit value (e.g., -σ) of the caution state are set using the standard deviation σ of the measurement data. When using the standard deviation σ, it is easy to set an appropriate threshold value under stable conditions with few long-term offsets such as drift. On the other hand, considering the long-term offset, the upper limit value and the lower limit value may be set using the maximum value and the minimum value of the measurement data. For example, the threshold setting unit 58 may set the upper limit value and the lower limit value by multiplying the maximum value and the minimum value by coefficients such as 1.1 or 0.9, respectively. Also, regarding the warning state, it is selected that the upper limit value (e.g., +3σ) and the lower limit value (e.g., -3σ) of the caution state are set using the standard deviation σ of the measurement data. Regarding the warning state as well, similar to the caution state, a setting method using the maximum value and the minimum value may be prepared. For the master value, the average value of the measurement data is adopted. In this way, a plurality of calculation methods are proposed by the selection menu, and one calculation method selected by the user is used for the automatic setting of the threshold value. Note that when the user specifies the threshold value, the check is removed from the check box.
[0082] ● Monitoring item setting FIG. 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 for instructing whether to enable or disable monitoring is provided. The manual setting unit 202 accepts from the user the specification of the monitoring method, item name (process name), start trigger, and end trigger. The setting unit 80 stores the information input through the manual setting screen 200 in the setting data 73.
[0083] ● Manual threshold setting FIG. 17 shows a manual setting screen 210 for the threshold value that is displayed when the edit button 120b is pressed. The threshold input unit 211 accepts manual input for the threshold value (upper limit value and lower limit value) regarding the caution state and the warning state, as well as for the master value. The setting unit 80 stores the information input through the manual setting screen 210 in the setting data 73.
[0084] ● System Settings Figure 18 shows the system settings tab 160 included in the setup wizard 140. The driving record settings section 161 has a checkbox for specifying whether to save the driving record and a section for specifying the driving record ID. When this checkbox is checked, the driving record storage section 93 is enabled. The details button 165a is a button for accepting detailed settings regarding the driving record. For example, a setting screen for the storage conditions of the driving record may be displayed. On this setting screen, as the storage conditions, whether to save the driving record only when a caution state occurs, only when an alarm state occurs, or when either a caution state or an alarm state occurs, can be selected.
[0085] The event registration settings section 162 has a checkbox for accepting a setting on whether to register a caution state or an alarm state in the CPU event / error history of the basic unit 3. When the checkbox is checked, the above-described event registration section 92 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 registration conditions of the event / error history is displayed, and as the registration conditions, whether to execute registration only when a caution state occurs, only when an alarm state occurs, or when either a caution state or an alarm state occurs, can be selected.
[0086] Regarding data settings, the memory card settings section 163 has a checkbox for specifying whether to use the memory card as a storage destination for the driving record and a menu for specifying which unit the memory card is attached to and used for.
[0087] The history data setting unit 164 includes a specifying unit that accepts a specification of the amount of chart data to be stored by the history storage unit 94 after an attention state or an alarm state occurs, a specifying unit for the maximum number of history storage items, and a check box for specifying whether to hold data for displaying a trend graph.
[0088] The advanced setting unit 166 accepts specifications such as the upper limit of the number of monitoring items (the number of processes to be monitored), the upper limit value of the length of the item name string, and the upper limit value of the length of the variable name specified by the start trigger / end trigger. The information input through the system setting tab 160 is stored as setting data 73 by the setting unit 80.
[0089] ● Other examples of dashboards FIG. 19 shows another example of the dashboard 100. The same reference numerals are assigned to the display components already described, and their descriptions are omitted. The dashboard 100 shown in FIG. 19 includes a threshold display area 106e for displaying the threshold values (upper limit value, lower limit value) of the attention state and a threshold display area 106f for displaying the threshold values (upper limit value, lower limit value) of the alarm state. These display the upper limit value and the lower limit value as numerical values. Also in the dashboard 100 shown in FIG. 19, when the threshold automatic setting button 121 is pressed, the condition setting screen 150 shown in FIG. 15 is displayed, and the thresholds of all items are automatically set according to the specified conditions. Other buttons and displays are as described in relation to FIG. 10.
[0090] ● Screen for switching application operations FIG. 20 shows a screen 220 for switching the operation of the 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 / resume unit 86. The switch 221 is a switch that instructs the stop / resume unit 86 to switch the operation state of the application between running and stopped. The switch 221 is a switch that instructs the stop / resume unit 86 to switch the test operation mode between enabled and disabled.
[0091] ● Relationship between measurement data and master data in the chart Figure 21 shows a chart in the synchronous mode. The hatched bar-shaped object indicates the master data. The blank bar-shaped object indicates the duration (measurement result) of each process. In this example, the start trigger of the entire cycle is on at time t0. The transfer process in the master data starts at time t1. On the other hand, the transfer process in the measurement data starts at time t2 with a delay. Time t3 corresponds to the lower limit value of the alarm state based on time t2. Time t4 corresponds to the lower limit value of the caution state based on time t2. Time t5 is the time when the transfer process in the master data ends and is the start time of the processing process. Time t6 corresponds to the upper limit value of the caution state for the transfer process based on time t2. Time t7 corresponds to the upper limit value of the caution state for the transfer process based on time t2. Actually, times such as t1 to t7 are managed as the length of time. For example, the lower limit value of the alarm state for the transfer process is pre-stored as the time length T1 from time t2 to time t3. The lower limit value of the caution state for the transfer process is pre-stored as the time length T2 from time t2 to time t4. The upper limit of the caution state for the transfer process is pre-stored as the time length T3 from time t2 to time t6. The upper limit value of the alarm state for the transfer process is pre-stored as the time length T4 from time t2 to time t7. Since time t2 changes each time, when time t2 is determined, the time lengths T1 to T4 are added to time t2, and the display positions of the respective threshold values are determined.
[0092] The bar-shaped object indicating the temporal length (measured value) of each process may be colored according to the state. Similarly, the vertical lines indicating the threshold values of each state may also be colored according to the state. For example, the normal state may be colored green, the caution state may be colored yellow, and the alarm state may be colored red.
[0093] The display range is set to either (1) the maximum monitoring time of the entire cycle, or (2) the maximum value among the threshold value, the master value (master data), and the measured value (measurement data) of the previous entire cycle. (1) is the case where neither the threshold value nor the master value is set. (2) is the case where either the threshold value or the master value is set.
[0094] [Details of the Timing Monitoring Application] The timing monitoring application is a reduced-function version of the above-described process monitoring application. For example, the process monitoring application has a synchronous mode, an asynchronous mode, and a ratio display mode, while the timing monitoring application has only the ratio display mode. Also, in the process monitoring application, when a history saving event occurs, the charts of all processes are saved as history, while in the timing monitoring application, only the chart of the process that caused the history saving event is saved. The timing monitoring application is mainly used to monitor the operation of actuators (e.g., air cylinders). That is, the timing monitoring application is provided independently of the process monitoring application in order to make it easier for the user to understand the difference in the uses of the process monitoring application and the timing monitoring application. Therefore, the monitoring methods that can be executed in the timing monitoring application can also be executed in the process monitoring application. Since the functions are reduced in the timing monitoring application, the setup wizard is also simplified. This will improve usability.
[0095] FIG. 22 shows the setting wizard 140 of the timing monitoring application. The setting wizard 140 of the timing monitoring application is also substantially common to the setting wizard 140 of the process monitoring application. Since the display mode is fixed to the percentage display mode, the selection menu for the display mode is omitted. On the other hand, a setting unit 145h for accepting the setting of the maximum monitoring time for each process is provided. The maximum monitoring time in the timing monitoring application is the timeout time of 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 and lower limit monitoring FIG. 23 is a diagram for explaining the monitoring method (upper and lower limit monitoring) in the waveform upper and lower limit monitoring application. The horizontal axis represents time. The vertical axis represents the magnitude of the measured value. The upper and lower limit monitoring is a method of monitoring whether all the time-series measured values measured within a certain measurement time are both below the upper limit value and above the lower limit value. Here, the upper limit value and the lower limit value may be two threshold values set in the alarm state or two threshold values set in the caution state. In FIG. 23, the normal range is the range that is below the upper limit value and above the lower limit value. When the measured value exceeds the upper limit value in the alarm state, the CPU 41a determines that an upper limit NG has occurred and issues an alarm notification. NG means defective (abnormal). When the measured value is below the lower limit value in the alarm state, the CPU 41a determines that a lower limit NG has occurred and issues an alarm notification. Note that the same determination process and notification process are also executed for the caution state.
[0097] ● Peak (bottom) upper and lower limit monitoring FIG. 24 is a diagram for explaining 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 the measured value. Peak (bottom) upper and lower limit monitoring is a method of monitoring whether the peak value (or bottom value) among the time-series measured values measured within a certain measurement time is less than or equal to the upper limit value and greater than or equal to the lower limit value. Here, the upper limit value and the lower limit value may be two threshold values set in the alarm state, or may be two threshold values set in the caution state. In FIG. 24, the normal range is the range that is less than or equal to the upper limit value and greater than or equal to the lower limit value. When the peak value (or bottom value) is not within the normal range, the CPU 41a (analysis unit 54, application notification unit 91) determines that an NG has occurred in the peak value (or bottom value) and issues an alarm notification. Note that the same determination process and notification process are also executed for the caution state. The measurement time is specified in advance by the user. The measurement time is, for example, timed from the rise (fall) of the start trigger. In FIG. 24, since the peak value measured at the measurement time does not reach the normal range, the analysis unit 54 determines that an NG has occurred in the peak value, and the application notification unit 91 issues a notification. In the case of FIG. 24, the timing at which the analysis unit 54 determines NG is the end of the measurement time.
[0098] FIG. 25 shows another example regarding peak (bottom) upper and lower limit monitoring. In FIG. 25, the measured value deviates from the normal range in the middle of 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 value at the timing when the measured value exceeds the upper limit value. Thus, when performing peak value upper and lower limit monitoring, a notification informing of NG is issued at the timing when the measured value exceeds the upper limit value.
[0099] Note that when performing bottom value upper and lower limit monitoring, if the bottom value does not fall within the range less than or equal to the upper limit value and greater than or equal to the lower limit value at the measurement time, the CPU 41a notifies of NG. The determination timing in this case is the end timing of the measurement time. On the other hand, when the measured value falls below the lower limit value during the measurement time, the CPU 41a immediately issues an NG notification.
[0100] ● Timing upper and lower limit monitoring FIG. 26 is a diagram for explaining timing upper and lower limit monitoring. Timing upper and lower limit monitoring means monitoring the change timing of the measured value. The change timing 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 when the measured value exceeds the threshold value (trigger level) is within the normal range. That is, if the timing when the measured value exceeds the trigger level is equal to or higher than the lower limit value and equal to or lower than the upper limit value, the CPU 41a determines that it is normal. In FIG. 26, since the timing when the measured value exceeds the trigger level exceeds the upper limit value, the CPU 41a (application notification unit 91) issues a notification to notify NG. The determination timing in this case is the timing corresponding to the upper limit value.
[0102] FIG. 27 shows a case where the measured value did not exceed the trigger level within the normal range. Since the measured value did not reach the trigger level within the normal range, the CPU 41a (analysis unit 54, application notification unit 91) issues a notification to notify NG. The determination timing in this case is the timing corresponding to the upper limit value.
[0103] FIG. 28 shows the UI of the detailed 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 detailed display area 114 of the UI shown in FIG. 12. Buttons 116a to 116c may be implemented as tabs.
[0104] When button 116c is pressed, the CPU 41a (display processing unit 84) displays a waveform, which is time-series data of 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 value and the minimum value in the past measurement values. That is, the scale of the vertical axis is set so that the maximum value and the minimum value in the past measurement values do not exceed the display range. The CPU 41a may display the threshold values of the alarm state and the caution state in the waveform display area 305. The CPU 41a may display the cursor 306 in the waveform display area 305. The cursor 306 is movable in the horizontal axis direction according to the user operation and specifies the collection time (collection timing) of the measurement values displayed in the tool tip 307. The tool tip 307 displays the current measurement value and the 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 the update of the display in the waveform display area 305. The display control 303 may include a control object that instructs the CPU 41a to expand or contract the horizontal axis (time axis) of the waveform display area 305. The CPU 41a may accept a movement operation of the expanded display range and move the display range of the waveform according to the movement operation.
[0105] In FIG. 28, a plurality of waveforms are displayed in the synchronous mode, but waveforms may be displayed in the asynchronous mode. For example, when the waveform clipping method is not set, the CPU 41a displays the latest measurement value at the right end of the waveform display area 305. When the latest measurement value is updated, the CPU 41a displays the latest measurement value at the right end of the waveform display area 305 and displays the past measurement values on the left side thereof. Thereby, the waveform is displayed so that the waveform moves from the right end to the left end of the waveform display area 305. Also in this case, 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 value and the minimum value in the plurality of measurement values acquired so far.
[0106] The CPU 41a (display processing unit 84) may display the threshold values of each state in the waveform display area 305. In this case, the CPU 41a may set the display colors of the current measurement value, the past measurement value, and the threshold value of each state to different colors, respectively.
[0107] ● Monitoring method FIG. 29 shows the relationship between the monitoring method (waveform clipping method) and the determination method in the waveform upper and lower limit monitoring application. "Only start trigger" is a monitoring method in which the time from a certain start trigger to the next start trigger is set 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 set as the measurement time (monitoring time). "Start trigger / monitoring time" is a monitoring method in which a predetermined time starting from the start trigger is set as the monitoring time. "Continuous monitoring" is a method of continuously monitoring. "Sample trigger" is a method of monitoring the value only at the moment when a certain sample trigger is input.
[0108] As shown in FIG. 29, there are five waveform display patterns according to the combination of the monitoring method and the state determination method. In the first pattern, the waveform does not move, and the left end of the waveform display area 305 corresponds to the generation time of the start trigger. The position of the right end of the waveform display area 305 corresponds to the maximum range among the waveform clipping ranges (monitoring times) applied to the waveforms acquired in the past. When the generation timings of the respective triggers are aperiodic, variations occur in the waveform clipping range (monitoring time). Therefore, the position of the right end 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. Further, the threshold values corresponding to the respective states may be displayed as horizontal bars.
[0109] The second pattern is a method in which the waveform continues to be displayed so as to move 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. The threshold values corresponding to the respective states are displayed as horizontal bars.
[0110] The third pattern is a method in which the waveform continues to be displayed so as to move 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 by the user in advance. The threshold value corresponding to each state is displayed as a horizontal bar.
[0111] The fourth pattern is that the waveform does not move, and the left end of the waveform display area 305 corresponds to the generation time of the start trigger. The position of the right end of the waveform display area 305 is the position of the end of the waveform cutout range (monitoring time). In addition to the latest waveform, one or more past waveforms may be displayed in the waveform display area 305. Also, the threshold value corresponding to each state is displayed as a horizontal bar.
[0112] The fifth pattern is that the waveform does not move, and the left end of the waveform display area 305 corresponds to the generation time of the start trigger. The position of the right end of the waveform display area 305 is the position of the end of the waveform cutout range (monitoring time). In addition to the latest waveform, one or more past waveforms may be displayed in the waveform display area 305. Also, the threshold value corresponding to each state is displayed as a vertical bar. Further, a horizontal bar indicating the trigger level used for determination at the change timing is also displayed.
[0113] FIG. 30 shows a setting wizard 140 for a waveform upper and lower limit monitoring application. The same reference numerals are given to the parts already described.
[0114] The determination method setting unit 310a accepts the setting of any of the above-described waveform determination methods. The monitoring target setting unit 310c accepts the setting of the unit, device (or variable), data type, etc. to be monitored. The collection period setting unit 310d accepts the setting of the collection period (e.g., fixed period or scan time) for the monitoring target. When a fixed period is selected, settings such as the specific period length (e.g., 50 milliseconds) are also accepted. The monitoring method setting unit 310e selects any of the above-described monitoring methods (e.g., start trigger only, start trigger / end trigger, etc.). The specified condition setting unit 310f accepts the setting of the device serving as a trigger, 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 conditions for the trigger level when the determination method is the change timing (timing upper and lower limit monitoring). The conditions for the trigger level mean, for example, comparing the time (measurement time) required for the measured value to exceed (or fall below) the trigger level with the upper limit value or lower limit value of each state. As the conditions for the trigger level, for example, "exceed" or "fall below" may be selected.
[0115] Although omitted in FIG. 30, a monitoring activation unit 145e that accepts the specification of whether to activate or deactivate the monitoring for each item may be provided. Also, a detailed setting button or the like may be provided. When the detailed setting button is pressed, for example, the setting of the number of digits after the decimal point of the numerical value displayed on the dashboard may be accepted.
[0116] [Waveform Guard Band Monitoring Application] Waveform guard band monitoring refers to monitoring whether a waveform consisting of measurement values 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 be referred to as guard band waveforms (threshold waveforms). Note that the waveform guard band monitoring application and the waveform upper and lower limit monitoring application are substantially common applications. However, their thresholds in the determination method are different. 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, in the waveform guard band monitoring application, only the start trigger / measurement time is used as the monitoring method. This is because in order to compare the measurement waveform with the threshold waveform, the time lengths of the measurement waveform and the threshold waveform must match. In the waveform upper and lower limit monitoring application, any one of the five patterns shown in FIG. 29 is used.
[0117] FIG. 31 shows the waveforms displayed in the waveform display area 305 of the waveform guard band monitoring application. The CPU 41a synchronizes the threshold waveform and the measurement waveform based on the start trigger, and compares the measurement values acquired over time with the threshold waveform. In this example, the normal range is the band-shaped range (guard band) between the upper limit waveform and the lower limit waveform. In FIG. 31, since the measurement value exceeds the upper limit waveform at a certain timing, 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, since the measurement value is below the lower limit waveform at yet another timing, the CPU 41a determines that a lower limit NG has occurred and issues a notification.
[0118] ● Method for setting the threshold waveform Figure 32 shows a method (operation rule) for setting a threshold waveform. The vertical axis represents values, and the horizontal axis represents time. The CPU 41a (threshold setting unit 58) determines an upper limit value waveform and a lower limit value waveform based on past measurement data and a value tolerance width mv specified in advance by the user. The past measurement data may be measurement data for one time or average value data of measurement data for a plurality of times. In this example, the upper limit value waveform Uth(t) is calculated by adding the value tolerance width mv to the past measured value M(t). Similarly, the lower limit value waveform Lth(t) is calculated by subtracting the value tolerance width mv from the past measured value M(t).
[0119] Figure 33 shows another method (operation rule) for setting a threshold waveform. In this example, the upper limit value waveform Uth(t) and the lower limit value waveform Lth(t) obtained using the value tolerance width mv are deformed using a time tolerance width mt. For example, when the time tolerance width mt is 2, the new upper limit value waveform Uth'(t) is obtained 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 obtained. When t = 3, Uth_max(3) is 7. Therefore, Uth'(3) is determined to be 7.
[0120] The new lower limit value waveform Lth'(t) is obtained as follows. When the time tolerance 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 obtained. 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 among the mt + 1 measurement values (Uth when the value tolerance width mv is used) obtained 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 among the mt + 1 measurement values (Lth when the value tolerance width mv is used) obtained between time t - mt and time t + mt.
[0122] FIG. 34 shows yet another setting method for the threshold waveform. The CPU 41a (threshold setting unit 58) may determine, based on the locus of the pointer 132 that is linked to the operation of the operation unit 8 of the PC 2b, a free curve or the like drawn thereby, as the upper limit value Uth(t) and the lower limit value Lth(t). For example, the CPU 41a may save the coordinate data of the locus (free curve) of the pointer 132 as a file in CSV format. The CPU 41a creates a file path by combining the application ID and the number of the monitoring item, and saves the CSV format file with that file path. Thereby, a CSV format file including the upper limit value and the lower limit value is saved for each combination of the monitoring application and the monitoring item.
[0123] FIG. 35 shows the UI of the detailed display area 114 in the waveform guard band monitoring application. The difference between FIG. 35 and FIG. 28 is that the threshold values for each state are set as waveforms. Other display methods in the waveform guard band monitoring application are the same as 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 together.
[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, occasionally, the monitoring method may not be set by the user. In this case, the CPU 41a (display processing unit 84) updates the display over time so that the latest measured value in the measurement waveform is displayed at the right end of the waveform display area 305. That is, similar to the asynchronous mode, the waveform moves from the right end to the left end of the waveform display area 305. The CPU 41a may display the threshold waveform for each state together with the measurement waveform with reference to the start trigger. Note that the display range of the horizontal axis of the waveform display area 305 is set to the maximum monitoring time determined in advance by the user.
[0125] FIG. 36 shows a setup wizard 140 for a waveform guard band monitoring application. The same reference numerals are given to the parts already described. The setting unit 80 causes the setup wizard 140 to be displayed on the PC 2b and accepts various settings. The start trigger setting unit 320a accepts settings such as the device that serves as the start trigger. The measurement time setting unit 320b accepts the setting of the measurement time (monitoring time) based on the start trigger. The threshold specifying method setting unit 320c accepts the setting of the threshold specifying method. As described above, either a method of specifying the tolerance (value tolerance and time tolerance) and past measurement data or a method of specifying the threshold waveform by a free curve may be selected by the user. If other methods are implemented, those other methods may also be options. The tolerance setting unit 320d accepts the setting of the value tolerance mv and the time tolerance mt regarding the caution state. The tolerance setting unit 320e accepts the setting of the value tolerance mv and the time tolerance mt regarding the alarm state. The tolerance setting unit 320d and the tolerance setting unit 320e accept the common value tolerance mv and time tolerance mt for the upper threshold waveform and the lower threshold waveform, but this is just an example. The value tolerance mv and time tolerance mt for the upper threshold waveform and the value tolerance mv and time tolerance mt for the lower threshold waveform may be accepted individually.
[0126] [Flowchart] ● Process monitoring application and timing monitoring application FIG. 37 is a flowchart showing the monitoring process executed by the CPU 41a of the expansion unit 4a. As described above, since the timing monitoring application is a reduced-function version (subset) of the process monitoring application, the processes applied to both applications will be described below. Also, the monitoring application 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 the devices or variables corresponding to the start trigger and the end trigger according to the setting data 73. The setting data 73 holds the name of the device or variable used as the start trigger and the predetermined value stored in the device or variable. The timing when the value of the device or variable changes to the predetermined value may be the start timing, or the change of the device or variable being a rising edge or a falling edge may be set as the start condition. The same applies to the end trigger. The CPU 41a (collection unit 82) collects the device values of the collection targets specified by the setting data 73 by executing the data utilization program based on the setting data 73, and stores them in the memory 42a as the collected data 76. Here, the collected data 76 may be time-series data collected at different times. Separately from the data utilization program, a collection program that executes a collection operation according to the collection setting data 74a in the setting data 73 may be provided.
[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 the time information from the timing that satisfies the start trigger condition to the timing that satisfies the end trigger condition based on the collected data 75 (device value). The CPU 41a (data processing unit 83) monitors whether the devices and variables set as the monitoring targets satisfy conditions such as a rising edge. Here, the timing that satisfies the condition, that is, the timing that satisfies the start trigger condition, is monitored. The CPU 41a (data processing unit 83) monitors whether the devices and variables set as the monitoring targets satisfy conditions such as a rising edge. Here, the timing that satisfies the condition, that is, the timing that satisfies the end trigger condition, is monitored. The time information determined by the CPU 41a (data processing unit 83) may be the time width (measurement time) from the timing that satisfies the start trigger condition to the timing that satisfies the end trigger condition.
[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 value set according to the setting data 73. The CPU 41a (data processing unit 83) executes this determination by executing a data utilization program. Upper and lower limit values for the attention 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 the measured value, exceeds the upper limit value. Also, the CPU 41a (data processing unit 83) determines whether the determined time information is below the lower limit value. The states of the monitoring target may include a normal state, an attention state, and an alarm state. The attention state and the alarm state are distinguished based on the degree of deviation of the measured value from the normal state. The difference between the measured value (normal value) in the normal state and the measured value (alarm value) in the alarm state is larger than the difference between the measured value (normal value) in the normal state and the measured value (attention value) in the attention state. Therefore, a value more deviated from the normal value than the threshold value of the attention state is set as the threshold value of the alarm state. The threshold value of the attention state and the threshold value of the alarm state may be set as upper limit values, respectively. In this case, when the determined time information is equal to or less than the threshold value of the attention state, the CPU 41a (data processing unit 83) determines that the state of the monitoring target is the "normal state". When the determined time information exceeds the threshold value of the attention state and is equal to or less than the threshold value of the alarm state, the CPU 41a (data processing unit 83) determines that the state of the monitoring target is the "attention state". When the determined time information exceeds the threshold value of the alarm state, the CPU 41a (data processing unit 83) determines that the state of the monitoring target is the "alarm state". As a result, the analyzed data 76 is created and stored in the memory 42a.
[0130] There are cases where the threshold value of the caution state and the threshold value of the alarm state are set as lower limit values respectively. In this case, when the determined time information is equal to or greater than the threshold value of the caution state, the CPU 41a (data processing unit 83) determines that the state of the monitoring target is the "normal state". When the determined time information is less than the threshold value of the caution state and equal to or greater than the threshold value of the alarm state, the CPU 41a (data processing unit 83) determines that the state of the monitoring target is the "caution state". When the determined time information is less than the threshold value of the alarm state, the CPU 41a (data processing unit 83) determines that the state of the monitoring target is the "alarm state". Thereby, the analyzed data 76 is created and stored in the memory 42a.
[0131] There are cases where the threshold value of the caution state and the threshold value of the alarm state are set by an upper limit value and a lower limit value respectively. In this case, when the determined time information is equal to or greater than the lower limit value of the caution state and equal to or less than the upper limit value of the threshold value of the caution state, the CPU 41a (data processing unit 83) determines that the state of the monitoring target is the "normal state". When the determined time information is less than the upper limit value of the alarm state and equal to or greater than the upper limit threshold value of the caution state, the CPU 41a (data processing unit 83) determines that the state of the monitoring target is the "caution state". Similarly, when the determined time information is less than the lower limit value of the caution state and equal to or greater than the lower limit value of the alarm state, the CPU 41a (data processing unit 83) determines that the state of the monitoring target is the "caution state". When the determined time information is less than the lower threshold value of the alarm state or the determined time information exceeds the upper threshold value of the alarm state, the CPU 41a (data processing unit 83) determines that the state of the monitoring target is the "alarm state". Thereby, the analyzed data 76 is created and stored in the memory 42a.
[0132] In S4, the CPU 41a (display processing unit 84) generates dashboard display data 77 including the time information determined in S42, the determination threshold value, and the state of the monitoring target determined in S3. The CPU 41a (display processing unit 84) reflects the time information determined based on the dashboard template 71 and the setting data 73, the determination threshold value, and the determined state of the monitoring target in the variables assigned to the dashboard template 71. For example, the CPU 41a creates the display data 77 so that a measured value indicating the time width from the timing satisfying the start trigger condition to the timing satisfying the end trigger condition is 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. At this time, the time from the timing satisfying the start trigger condition to the timing satisfying the end trigger condition may be displayed in a band shape. Thereby, a dashboard is displayed that shows not only the time width but also at which timing each monitoring target is operating within the cycle in the control of the cycle operation. The CPU 41a may create the display data 77 by periodically updating the display target data. The CPU 41a creates the display data 77 using the display target data such as the collected data 75 and / or the 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 in 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 related to the waveform monitoring application. In FIG. 38, the same reference numerals are given to the processes common to FIG. 37, and the description thereof is omitted. After S1 described above, the CPU 41a proceeds to S12.
[0135] In S12, the CPU 41a (data processing unit 83) obtains the feature amount of the waveform cut out during the monitoring period from the timing when the condition of the start trigger is satisfied to the timing when the condition of the end trigger is satisfied based on the data 75 (device value) collected according to the setting data 73. The feature amount of the upper and lower limit monitoring application is the measured value itself. The feature amount of the peak upper and lower limit monitoring is the maximum value (peak value) among all the measured values measured during the monitoring period. The feature amount of the bottom upper and lower limit monitoring is the minimum value (bottom value) among all the measured values measured during the monitoring period. The feature amount of the change timing monitoring is the time from when the start trigger is turned on to the measurement time when the measured 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 value. The determination threshold value differs according to the determination method. For example, in the waveform guard band monitoring application, the determination threshold value is provided as waveform data (such as a file in CSV format). By comparing the feature amount with the determination threshold value (the upper limit value and the lower limit value which are the threshold values for each state) as described in S3, the state of the monitoring target item is classified into 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 determination threshold value, the waveform (measured value or feature amount), and the determined information (determination result) on the dashboard. In S5, the display data 77 of the dashboard 100 is provided to the PC 2a, the PC 2b, or the HMI 16.
[0138] [Details of the KPI calculation application] FIG. 40 shows a dashboard 400 of a KPI calculation application displayed on the PC2b. The KPI calculation application may calculate, for example, KPIs for the production preparation period. The dashboard 400 of the KPI calculation application displays the calculated KPIs. Here, the KPIs include the KPIs for a certain period. For example, they may include the production volume per hour, the operation rate, the yield rate, the cycle time, etc. The KPI calculation application may, in addition to the KPIs, calculate the achievement rate with respect to the KPI targets and display the achievement rate. The KPIs for a certain period may be the KPIs in the measurement period from when the measurement start button 401 is pressed until the measurement end button 402 is pressed, which are displayed on the dashboard 400 of the KPI calculation application. In this way, the KPIs in the measurement period specified by user input may be calculated. Alternatively, a device for defining the measurement period may be set. In this case, the KPIs in the 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 production volume measurement, items related to average CT (cycle time), items related to good product rate, and items related to operation rate. The measurement result display section 420 displays the raw data (measurement results) used for calculating the KPI. The measurement results may include the measurement start time, measurement end time, elapsed time, operation time, cycle time, number of cycle time measurements, number of production product discharges, number of good products, number of defective products, and the like. The dashboard 400 of the KPI calculation application displays the KPI calculated based on the measurement values from the start of measurement to the current time from the start of measurement until before the end of measurement. After the measurement is completed, the dashboard 400 displays the KPI 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 the display column for the start time. The dashboard 400 displays the measurement end time based on user input or device input in the display column for the end time. The dashboard 400 displays the time elapsed from the start of measurement to the current time in the display column for the elapsed time. The display column for the end time may display that the measurement is in progress if the measurement has not been completed yet.
[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, the designation of a device corresponding to each of an operation signal indicating that the production equipment is operating, a discharge signal indicating that a production product has been discharged in the production equipment, the number of picks per cycle, and the number of defective products per cycle. As the operation signal, a bit device that turns on during operation may be designated. As the discharge signal, a bit device that turns on each time a production product is discharged may be designated. As the number of picks per cycle, a constant indicating the number of picks or a word device storing the constant may be designated. As the number of defective products per cycle, a device storing the number of defective products per cycle may be designated.
[0141] As the cycle time, the time of the entire cycle (measured value) measured in the process monitoring application may be specified. The KPI calculation application acquires the values measured by other applications, that is, the cycle time and the number of measurements of the cycle time. The KPI calculation application may automatically acquire the measured value of the entire cycle and the number of measurements of the cycle time from the process monitoring application. The number of measurements of the cycle time is the count with one measurement from the start to the end of the entire cycle. Therefore, the number of measurements of the cycle time indicates the number of repetitions of the entire cycle.
[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 column. The dashboard 400 displays the current cycle time automatically acquired from the process monitoring application in the current CT display column, and displays the number of measurements of the cycle time in the CT count display column. The dashboard 400 displays the number of ONs of the bit device that turns ON each time a product is discharged in the display column of the discharge signal ON. The dashboard 400 displays the number of good products in the good product number display column and the number of defective products in the defective product number display column. The number of good products is the cumulative number obtained by adding the number obtained by subtracting the number of defective products per cycle from the number of products taken 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 input by the user, each item of the KPI calculated based on the measurement results, and the achievement rate corresponding to each item together with a graph of the achievement rate. The achievement rate for each item indicates the actual value (calculated KPI) with respect to each target of the item of each KPI. The output quantity corresponds to the number of good products. The average CT is the cumulative value of the measured values of the overall cycle divided by the number of cycle time measurements. The good product rate is the number of good products divided by the total production quantity. The total production quantity is the cumulative number obtained by adding the number of picks per cycle each time the discharge signal goes ON. In the example of FIG. 40, the number of times the discharge signal is ON is 163 times. The number of picks is 12. The number of good products is 1917. Therefore, the good product rate is calculated as 1917 / (163×12). The operation rate is the operation time divided by the elapsed time. Note that the dashboard 400 of the KPI calculation application may 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 for displaying past history in addition to the real-time screen described above.
[0144] <Summary> [Viewpoint 1] The storage device 32, the memories 42a and 42b may be used as storage means for storing application programs. The CPUs 31, 41a, and 41b may function as execution means for executing application programs.
[0145] The collection unit 82 is an example of collection means for collecting symbol values stored in symbols that are devices or variables to be collected according to an application program. The flow execution unit 81 (analysis unit 54) functions as determination means or analysis means for detecting a situation different from normal regarding symbol values by determining or analyzing whether the symbol values collected by the collection means according to the application program satisfy the normal conditions set for the application program. The display processing unit 84 functions as generation means for generating a display screen (e.g., dashboard 100) including the determination result or analysis result and information indicating the symbol values collected by the collection means according to the application program. The dashboard 100 may be displayed on any of the PC2a which is a program creation support device, the PC2b having a web browser, or the HMI16. The display data 77 required for displaying the display screen may be an image or a video, or may be realized as a web application. Also, the symbol values may be collected and displayed in real time. That is, while the display screen is being displayed, the symbol values may be updated and displayed in real time.
[0146] [Viewpoint 2] The determination means or analysis means (e.g., flow execution unit 81) may determine or analyze whether the duration of the process executed by the PLC1 (e.g., the time from the start trigger to the end trigger) satisfies the normal conditions. Note that the duration may also be called the monitoring time or the measurement time.
[0147] [Viewpoint 3] Symbol values (e.g., values stored in device values or variables) may include the device value of a start device indicating the start of a process and the device value of an end device indicating the end of the process. The duration may be the time from the timing when the device value of the start device changes to the timing when the device value of the end device changes. The duration may be the time from a first start trigger to a second start trigger. The second start trigger is the next start trigger after the first start trigger. Also, the duration may be a predetermined time starting from the first start trigger.
[0148] [Aspect 4] The collection means (e.g., collection unit 82) may collect symbol values for obtaining the duration for each of a plurality of processes (e.g., overall cycle, conveyance process, processing process, inspection process, discharge process, etc.) constituting one operation cycle. The generation means (e.g., display processing unit 84) may be configured to generate a display screen for displaying the duration for each of the plurality of processes.
[0149] [Aspect 5] The display screen may be configured to display a graphical object (e.g., a bar-shaped object) suggesting the duration for each of the plurality of processes and a graphical object suggesting master data to be compared with the duration for each of the plurality of processes. Since the master data indicates a state similar to usual, the user will be able to easily recognize in which process an event different from usual is occurring.
[0150] [Aspect 6] As described with respect to the asynchronous mode, the graphical object may be displayed so as to move in one direction on the display screen as time elapses. As described with respect to the synchronous mode, the graphical object may be displayed so as to extend in one direction starting from a predetermined position on the display screen.
[0151] [Aspect 7] The display screen may be configured to display graphical objects (e.g., vertical lines, horizontal lines, waveforms, bands) indicating normal conditions, together with graphical objects.
[0152] [Viewpoint 8] When the symbol value satisfies the notification condition set by the user, the transmitting unit 90 may function as a notification means for issuing a notification.
[0153] [Viewpoint 9] The notification means may be configured to send a notification to a peripheral device that displays a display screen. As illustrated in FIG. 19, for example, the application notification unit 91 may display the notification on the dashboard 100. As illustrated in FIG. 39, the application notification unit 91 may display the dialog 331 superimposed on the dashboard 330. The dialog 331 may include a message indicating that the monitoring state of the application has changed from the normal state to the caution state or the alarm state. When a plurality of notifications occur at intervals, the application notification unit 91 may display only the latest one notification for each monitoring application in the dialog 331. The dialog 331 may be provided with a clear button 332. When the application notification unit 91 detects that the clear button 332 has been pressed by the user, the application notification unit 91 may erase the dialog 331. The application notification unit 91 may hold a notification for each monitoring target device. When the clear button 332 is pressed, the application notification unit 91 may delete all the notifications regarding the monitoring target device associated with the dialog 331 including the clear button 332. Note that when a notification regarding the monitoring target device occurs, the dashboards 100 and 330 may not be displayed on the PC2b or the like. In this case, when the dashboards 100 and 330 are displayed on the PC2b, the application notification unit 91 may display the dialog 331 indicating the notifications held so far on the PC2b. Note that the CPUs 11 and HMIs 16 of the PC2a and 2b may execute polling on the application notification unit 91 to acquire a notification and display the dialog 331. The display link 333 is a link for calling the dashboards 100 and 330 of the monitoring application that monitors the device notified by the dialog 331. When it is detected that the display link 333 has been pressed, the display processing unit 84 transmits the display data 77 of the dashboards 100 and 330 associated with the display link 333 to the PC2b via the Web server 85. Thereby, a chart indicating the device value when the notification occurred is displayed on the dashboards 100 and 330.
[0154] [Viewpoint 10] The event registration unit 92 may function as a registration means for registering the history of errors or events occurring in the PLC 1. The event registration unit 92 may be configured to register in the history when the symbol value satisfies the registration condition (e.g., caution state or 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 registration in the history from the CPU 31 via the internal bus 19.
[0155] [Viewpoint 11] The operation record storage unit 93 functions as an operation record storage means for storing the symbol value as an operation record when the symbol value satisfies the storage condition (e.g., caution state or alarm state). In this case, the CPU 41a (flow execution unit 81) may analyze the operation record, create an analysis report indicating the analysis result, and display it on the peripheral device.
[0156] [Viewpoint 12] When a symbol value deviating from the normal condition is detected, the history storage unit 94 functions as a history storage means for storing the symbol value, the normal condition, and the display screen as history. For example, when a symbol value deviating from the normal condition is detected, not only the symbol value but also the display data 77 related to the symbol value may be stored.
[0157] [Viewpoints 13, 14] As shown in FIG. 12, the display screen may include a symbol value or a trend graph showing the trend of time obtained from the symbol value. As shown in FIG. 11, the display screen may include a symbol value or a histogram of time obtained from the symbol value.
[0158] [Viewpoints 15, 16] The setting unit 80, the setting wizard 140, etc. function as setting means for setting normal conditions. As described with reference to FIGS. 32 and 33, the setting means (threshold setting unit 58) may be configured to create normal conditions by applying a predetermined calculation rule to the symbol values acquired in advance. For example, the threshold setting unit 58 may use a calculation rule specified by the user as a predetermined calculation rule.
[0159] [Viewpoint 17] The memory 42a may function as condition storage means for storing a plurality of condition sets having different normal conditions. The bank switching unit 59 may function as selection means for selecting one of the plurality of condition sets stored in the condition storage means in response to a user instruction. This will make it possible to easily change the normal conditions. The plurality of condition sets may be prepared, for example, for each product type manufactured on the production line controlled by the PLC1.
[0160] [Viewpoint 18] The stop / resume unit 86 and the switch button 102 are an example of input means for inputting an instruction regarding the execution stop or execution resume of the application program. When an instruction regarding the execution stop of the application program is input, the stop / resume unit 86 stops the execution of the application program. When an instruction regarding the execution resume of the application program is input, the stop / resume unit 86 resumes the execution of the application program. This enables the user to easily instruct the stop and resume of the application program.
[0161] [Viewpoint 19] The application error detection unit 87 may be configured to detect an event that hinders the normal execution of the application program and report the event. Such events include, for example, a device not used in a ladder program or the like being specified as a monitored device. Also, it may be detected as a kind of error that a variable specified as a monitoring target is not described in the user program. Further, it may be detected as a kind of error that the free capacity of the memory card designated as the storage destination of the collected data 75 or the analyzed data 76 is insufficient. All of these errors hinder the normal execution of the application program.
[0162] [Viewpoint 20] As shown in FIG. 23, FIG. 28, etc., the generation means (display processing unit 84) may generate a display screen so as to display a plurality of symbol values collected as time-series data by the collection means as a waveform.
[0163] [Viewpoint 21] As shown in FIG. 28, the generation means (display processing unit 84) may display a first waveform (thick line) indicating a plurality of symbol values collected as time-series data by the collection means during a first collection period and a second waveform (thin line) indicating a plurality of symbol values collected as time-series data by the collection means during a second collection period prior to the first collection period, superimposed. When the user performs a latch operation during the display of the first waveform, the first waveform may be latched and used as the second waveform. This will make it easier for the user to compare the current waveform with some past waveforms.
[0164] [Viewpoint 22] The generation means (display processing unit 84) may generate a display screen so as to display a line indicating a threshold value (e.g., an upper limit value or a lower limit value in a caution state or an alarm state) for regulating the peak value or the bottom value of the waveform, which is included in the normal conditions, together with the waveform. This will make it easier for the user to visually understand, for example, how much margin the peak value and the bottom value have with respect to the threshold value.
[0165] [Aspect 23] As shown in FIGS. 26 and 27, the generation means (display processing unit 84) may generate a display screen so as to display, together with a waveform, a line indicating a threshold value that is a threshold value for restricting the timing at which the symbol value exceeds a predetermined value (e.g., trigger level) and is included in normal conditions.
[0166] [Aspect 24] As described with reference to FIGS. 32 and 33, the threshold setting unit 58 may function as a threshold determination means for determining a threshold waveform that is a set of threshold values based on a measurement waveform based on a symbol value and a user input. The user input may include, for example, a coefficient (e.g., value tolerance mv) added to or subtracted from the measurement waveform. The user input may include designation information designating a waveform section (e.g., time tolerance mt) that is a waveform section considered for determining the threshold value at the timing of interest in the threshold waveform among a plurality of symbol values constituting the measurement waveform and that is a waveform section before and after the timing of interest. Thereby, it becomes possible to easily set the threshold value.
[0167] [Aspect 27] As shown in FIG. 34, the threshold setting unit 58 may function as a threshold determination means for determining a threshold waveform that is a set of threshold values based on a free curve drawn by the user. [Viewpoint 28] The generation means may be configured to generate a display screen so as to display a plurality of symbol values collected as time series data by the collection means as a waveform The generation means may be configured to superimpose and display a first waveform indicating a plurality of symbol values collected as time series data by the collection means during a first collection period and a second waveform indicating a plurality of symbol values collected as time series data by the collection means during a second collection period that is earlier than the first collection period The generation means may be configured to generate a display screen so as to display a line indicating a threshold value for regulating the peak value or bottom value of the waveform, which is a threshold value included in normal conditions, together with the waveform The generation means may be configured to generate a display screen so as to display a line indicating a threshold value for regulating the timing at which the symbol value exceeds a predetermined value, which is a threshold value included in normal conditions, together with the waveform There may further be threshold value determination means for determining a threshold value waveform, which is a set of threshold values, based on the measurement waveform based on the symbol value and the user input The user input may include a coefficient to be added to or subtracted from the measurement waveform The user input may include designation information that is a waveform section considered for determining the threshold value at the target timing in the threshold value waveform among the plurality of symbol values constituting the measurement waveform, and designates the waveform sections before and after the target timing It may further include threshold determination means for determining a threshold waveform, which is a set of thresholds, based on a free curve drawn by a user.
[0168] The invention is not limited to the above-described embodiments, and various modifications and changes 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 result on a web browser by a dashboard selected by a user, and a communication unit for receiving, from an external tool, the application program and setting data of the dashboard, Storage means for storing the application program and the setting data of the dashboard, Execution means for executing the application program, and having, The execution means includes: Collection means for collecting a plurality of symbol values stored in a symbol that is a device or variable to be collected according to the application program, Determination means for detecting a situation different from usual for a plurality of the monitoring targets by respectively determining whether each monitoring target based on each symbol value collected by the collection means according to the application program satisfies a normal condition set for the application program, Generation means for generating display data for displaying, in response to a user instruction, on a web browser the dashboard including a list display including each determination result of the determination means and information indicating the value of each monitoring target according to the setting data of the dashboard, each detailed display regarding each monitoring target, and a setting display for setting the normal condition, A web server that provides the display data generated by the generation means to a web browser and receives the setting of the normal condition via the web browser set by the dashboard, and having, The setting data of the dashboard includes a dashboard template prepared for each application and parameters specified by a user for setting display components of the template, characterized by a programmable logic controller.
2. The determination means determines whether the duration of the process executed by the programmable logic controller satisfies the normal condition, and the programmable logic controller according to claim 1 is characterized in that.
3. The symbol value includes the device value of the start device indicating the start of the process and the device value of the end device indicating the end of the process, and the duration is the time from the timing when the device value of the start device changes to the timing when the device value of the end device changes, and the programmable logic controller according to claim 2 is characterized in that.
4. The collection means collects the symbol value for obtaining the duration for each of a plurality of processes constituting one operation cycle, The generation means is configured to generate a list display for displaying the duration for each of the plurality of processes, and the programmable logic controller according to claim 3 is characterized in that.
5. The list display is configured to display a graphical object suggesting the duration for each of the plurality of processes and a graphical object suggesting master data compared with the duration for each of the plurality of processes, and the programmable logic controller according to claim 4 is characterized in that.
6. The graphical object is displayed so as to move in one direction in the list display or extend in one direction starting from a predetermined position in the list display as time elapses, and the programmable logic controller according to claim 5 is characterized in that.
7. The list display is configured to display a graphical object indicating the normal condition together with the graphical object, and the programmable logic controller according to claim 6 is characterized in that.
8. The programmable logic controller according to any one of claims 1 to 7, further comprising notification means for issuing a notification when the symbol value satisfies a notification condition set by a user.
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. The programmable logic controller further comprises registration means for registering a history of errors or events occurring in the programmable logic controller, The programmable logic controller according to claim 8, wherein the registration means is configured to register an event related to the notification in the history when the notification means issues the notification.
11. The programmable logic controller according to any one of claims 1 to 10, further comprising driving record storage means for storing the symbol value as a driving record when the symbol value satisfies a storage condition.
12. The programmable logic controller according to any one of claims 1 to 11, further comprising history storage means for storing the symbol value, the normal condition, and the display data as a history when the symbol value deviating from the normal condition is detected.
13. The programmable logic controller according to any one of claims 1 to 12, wherein the detailed display includes a trend graph showing the symbol value or a trend of time obtained from the symbol value.
14. The programmable logic controller according to any one of claims 1 to 12, wherein the detailed display includes a histogram of the symbol value or a time obtained from the symbol value.
15. further comprising setting means for setting the normal conditions, The programmable logic controller according to any one of claims 1 to 14, wherein the setting means is configured to create the normal conditions by applying a predetermined operation rule to a symbol value acquired in advance.
16. The programmable logic controller according to claim 15, wherein the setting means uses an operation rule designated by a user as the predetermined operation rule.
17. condition storage means for storing a plurality of condition sets each having a different one of the normal conditions; The programmable logic controller according to any one of claims 1 to 16, further comprising selection means for selecting one of the plurality of condition sets stored in the condition storage means in response to a user instruction.
18. further comprising input means for inputting an instruction regarding suspension or resumption of execution of the application program, The programmable logic controller according to any one of claims 1 to 17, wherein the execution means stops execution of the application program when an instruction regarding suspension of execution of the application program is input, and resumes execution of the application program when an instruction regarding resumption of execution of the application program is input.
19. The programmable logic controller according to any one of claims 1 to 18, wherein the execution means is configured to detect an event that hinders normal execution of the application program and report the event.
Citation Information
Patent Citations
Device and system for alarming
JP2002323909A
Rotational integrated business management system
JP2004030333A
Slave and processing method
JP2006331449A
Programmable display device
JP2011054130A
Monitoring control system, comment information registration method for monitoring control system and comment information registration program for monitoring control system
JP2013073510A