Scada web hmi system
By introducing a browser-based HMI system into the SCADA system, combined with three-stage filtering and reference counting management, the problem of high processing load of HMI server equipment in large-scale systems is solved, and low-cost real-time monitoring and data processing are achieved.
Patent Information
- Application Number
- CN202180047318.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-10
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2041-06-10
AI Technical Summary
In large-scale systems, existing HMI server devices need to process a large number of signals, which leads to the demand for high-performance processors and large-capacity memory, increasing costs. In addition, existing technologies make it difficult to effectively reduce the processing load of input and output signals.
A browser-based SCADA web HMI system is adopted. By implementing three-stage filtering and reference counting management in the HMI server device, only the input and output signals related to the current display screen are processed, and online data collection equipment is used to store historical data, reducing the transmission and processing of unnecessary data.
This effectively reduces the processing load of HMI server equipment, reduces data transmission volume, reduces system costs, and does not affect existing devices, achieving low-cost real-time monitoring functions.
Smart Images

Figure CN115812184B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a SCADA web HMI system, and more particularly, to a technique for reducing processing load in a large-scale system. BACKGROUND
[0002] SCADA (Supervisory Control And Data Acquisition) is known as a mechanism for monitoring and controlling a social infrastructure system. The social infrastructure system is a steel rolling system, an electric power transmission and distribution system, a sewerage treatment system, a building management system, a road system, and the like.
[0003] SCADA is one of industrial control systems, and performs computer-based system monitoring, process control, and data collection. In SCADA, adaptability (real-time performance) that matches the processing performance of the system is required.
[0004] SCADA is generally configured of the following subsystems.
[0005] (1) HMI (Human Machine Interface)
[0006] The HMI is a mechanism that presents data of a monitored device to an operator, and the operator can monitor and control the monitored device.
[0007] (2) Monitoring and Control System
[0008] The monitoring and control system is configured of a Programmable Logic Controller (PLC) or the like. The monitoring and control system collects data of a monitored device, and transmits a control command to the monitored device.
[0009] (3) Remote Input Output Device (RIO)
[0010] The remote input output device is connected to a sensor provided in a monitored device, converts a signal of the sensor into digital data, and transmits the digital data to the monitoring and control system.
[0011] (4) Communication Infrastructure
[0012] The communication infrastructure connects the monitoring and control system and the remote input output device.
[0013] As an example of the SCADA HMI subsystem, a system having an HMI client device and an HMI server device is disclosed in Patent Literature 1. In the existing SCADA as in Patent Literature 1, the HMI server device transmits data (input / output signals, alarm signals) received from the PLC to the HMI client device, and accumulates all the collected data as history data. The input / output signals are signals related to the monitoring target devices (a field device group constituting an industrial complete equipment), and include actuator control signals and sensor detection signals.
[0014] Prior Art Documents
[0015] Patent Literature
[0016] Patent Literature 1: Japanese Patent Application Publication No. 2017-27211 SUMMARY
[0017] PROBLEMS TO BE SOLVED BY THE INVENTION
[0018] Technical problems in the development of the HMI subsystem, which is one of the above-described subsystems, will be described.
[0019] In a large-scale system, there is a case where the HMI subsystem combines a plurality of signals of 200,000 points or more with the PLC. In the existing HMI server device that assumes both monitoring control and data collection, in order to process many signals in real time, a high-performance processor and a large-capacity memory are required. Therefore, it is desirable to be able to realize an HMI subsystem that can be applied to a large-scale system at low cost.
[0020] In order to realize low cost of the SCADA HMI subsystem, the present inventors have developed a browser-based SCADA HMI subsystem. Thereby, it is possible to realize an HMI screen as a web application that operates on a web browser.
[0021] As one of the advantages of realizing an HMI screen on a web browser, it can be cited that it is possible to easily acquire data from different web servers by switching the URL (including the port number). That is, the data of the history screen can be acquired from an online data gathering device (ODG: Online Data Gathering) that collects and accumulates all PLC data, and the data of the monitoring screen that requires real-time performance can be acquired from the HMI server device. By separating the function related to the history, which is a part of the SCADA function, and handing it over to the online data gathering device, the HMI server device can be dedicated to the real-time monitoring function. In order to process many signals in the low-cost HMI server device, it is desirable to reduce the processing load of the input / output signals (including actuator control signals and sensor detection signals).
[0022] The present application has been made to solve the technical problem as described above, and has an object to provide a SCADA web HMI system capable of reducing a processing load of input / output signals in a large-scale system.
[0023] Means for solving the technical problem
[0024] The first viewpoint is associated with a SCADA web HMI system.
[0025] The SCADA web HMI system has a programmable logic controller (hereinafter referred to as a PLC), an HMI client device, and an HMI server device connected via a computer network.
[0026] The PLC periodically transmits block data containing a set of input / output signals related to a group of field devices constituting an industrial plant to the computer network.
[0027] The HMI client device has:
[0028] a monitor displaying a web browser; and
[0029] a client-side processor configured to execute the web browser that displays a screen on which a display component is arranged.
[0030] The web browser changes a display state of the display component in accordance with the input / output signals received from the HMI server device, in a case where the screen currently displayed on the web browser is a monitor screen.
[0031] The HMI server device has a server-side processor configured to execute a reception process, a first filter process, a second filter process, a third filter process, and a transmission process.
[0032] The reception process periodically receives the block data transmitted from the PLC.
[0033] The first filter process extracts the set of input / output signals from the received block data, in a case where the received block data corresponds to the screen currently displayed on the web browser.
[0034] The second filter process extracts the input / output signals having a value changed from a previous value from the set of input / output signals extracted by the first filter process.
[0035] The third filter process extracts the input / output signals corresponding to the display component arranged on the screen currently displayed on the web browser from the input / output signals extracted by the second filter process.
[0036] The sending process sends the input / output signals extracted by the third filtering process to the web browser displayed on the monitor.
[0037] The second viewpoint is based on the first viewpoint and further has the following features.
[0038] The HMI server device is further provided with a server memory storing static information and dynamic information. The static information includes information that determines a correspondence between screen names of the screens and block numbers of the block data. The dynamic information includes information that determines a correspondence between the block numbers and reference counts.
[0039] The server processor is further configured to perform a reference count update process.
[0040] The reference count update process receives a changed display state of the screen from the HMI client device and retrieves the block number corresponding to the screen from the static information.
[0041] In the case where the display state is open, the reference count update process increases the reference count corresponding to the retrieved block number. In the case where the display state is closed, the reference count update process decreases the reference count corresponding to the block number.
[0042] The first filtering process determines, based on the dynamic information, whether the reference count corresponding to the block number of the received block data is greater than 0. In the case where the reference count is greater than 0, the first filtering process extracts the set of input / output signals from the received block data. In the case where the reference count is 0 or less, the first filtering process discards the received block data.
[0043] The third viewpoint is based on the first viewpoint or the second viewpoint and further has the following features.
[0044] The block data is periodically transmitted from the PLC by multicast or broadcast.
[0045] The fourth viewpoint is based on any of the viewpoints of the third viewpoint and further has the following features.
[0046] The SCADA web HMI system is further provided with an online data collection device.
[0047] The online data collection device periodically receives the program block data from the PLC and accumulates history data of all signals included in the block data.
[0048] The online data collection device sends the history data according to a request from the web browser.
[0049] The web browser requests the history data from the online data collection device when a history screen is currently displayed on the screen of the web browser.
[0050] The web browser displays the history data received from the online data collection device on the history screen.
[0051] Inventive Effects
[0052] According to the first viewpoint, by discarding unnecessary data (data irrelevant to the currently displayed screen) through the 3-stage filtering, the processing load is reduced, and the amount of data sent to the web browser can be minimized.
[0053] According to the second viewpoint, by managing the reference count, the first filtering process can be performed at high speed.
[0054] According to the third viewpoint, the existing devices are not affected, and the devices added to the computer network can receive the block data.
[0055] According to the fourth viewpoint, the history data of all signals can be accumulated by the online data collection device, and the web browser of the HMI client device can acquire the history data from the online data collection device. Therefore, the HMI server device can process only the data required for real-time monitoring, and thus the processing load of the HMI server device can be reduced. BRIEF DESCRIPTION OF DRAWINGS
[0056] Figure 1 FIG. 1 is a diagram for explaining the configuration of a SCADA web HMI system according to an embodiment of the present application.
[0057] Figure 2 FIG. 2 is a block diagram illustrating an outline of the functions of an HMI server device according to an embodiment of the present application.
[0058] Figure 3 FIG. 3 is a block diagram illustrating an outline of the functions of an HMI server device according to an embodiment of the present application.
[0059] Figure 4 FIG. 4 is a flowchart for explaining a reference count update process according to an embodiment of the present application.
[0060] Figure 5 FIG. 5 is a flowchart for explaining a first filtering process and a second filtering process according to an embodiment of the present application.
[0061] Figure 6It is a diagram for explaining a specific example of the first filtering process and the second filtering process according to the embodiment of the present invention.
[0062] Figure 7 This is a flowchart for explaining the third filtering process according to the embodiment of the present invention.
[0063] Figure 8 It is a diagram for explaining a specific example of the third filtering process according to the embodiment of the present invention.
[0064] Figure 9 This is a block diagram showing an example of the hardware configuration of an HMI server device, an HMI client device, and an online data collection device. DETAILED DESCRIPTION
[0065] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Components common to the various drawings are denoted by the same reference numerals, and duplicate descriptions thereof will be omitted.
[0066] Implementation Method
[0067] 1.SCADA web HMI system
[0068] Figure 1 This is a diagram for explaining a configuration example of a SCADA web HMI system according to an embodiment. Figure 1 The SCADA web HMI system shown includes a PLC 1, an HMI server device 2, an HMI client device 3, and an online data gathering device 4 (ODG) connected to each other via a computer network 5. The computer network 5 is, for example, Ethernet (registered trademark).
[0069] PLC 1 is connected to a group of field devices (including actuators and sensors) that make up an industrial plant via a control network (not shown). PLC 1 periodically transmits packets containing block data to computer network 5 via multicast or broadcast. Block data is a collection of PLC signals. Each block data contains dozens to hundreds of PLC signals. PLC signals include input and output signals (including actuator control signals and sensor detection signals) and alarm signals.
[0070] Block data is transmitted periodically, regardless of whether the PLC signal value has changed from the previous value. Therefore, even if a packet containing transmitted block data is lost, it is retransmitted in the next transmission cycle, and the latest status is reflected in the HMI server device 2 and the online data collection device 4.
[0071] The HMI client device 3 has the following Figure 9The illustrated processor 71, memory 72, monitor 75. The processor 71 executes a program stored in the memory 72, whereby the processor 71 is configured to execute the web browser 30 that displays the screen 31 on which the display component is configured. The monitor 75 displays the web browser 30.
[0072] The web browser 30 is capable of switching the connection destination (HMI server device 2, online data collection device 4) according to the URL, and acquiring various information on the HTML document of the screen 31 from the web server designated by the URL. The screen 31 includes a monitoring screen 32 for which real-time is required, and a history screen 33 that displays history data.
[0073] In a case where the screen 31 currently displayed on the web browser 30 is the monitoring screen 32, the web browser 30 changes the display state of the display component according to the input / output signal received from the HMI server device 2. The change in the display state is, for example, a change in a numerical value, a character, a color, a shape.
[0074] The web browser 30, in a case where the screen 31 currently displayed on the web browser 30 is the history screen, requests the history data to the online data collection device 4. The web browser 30 displays the history data received from the online data collection device 4 on the history screen 33.
[0075] The online data collection device 4 is provided with a web server process and a history data management process described later. Figure 9 The illustrated processor 81, memory 82. The processor 81 executes a program stored in the memory 82, whereby the processor 81 is configured to execute the web server process and the history data management process.
[0076] The online data collection device 4 periodically receives block data from the PLC 1. In the history data management process of the online data collection device 4, the history data of all signals included in the received block data is stored in the memory 82 (including a database). In the web server process of the online data collection device 4, the history data is transmitted according to a request from the web browser 30.
[0077] 2. Outline of functions of HMI server device
[0078] Figure 2 and Figure 3 is a block diagram that outlines the functions of the HMI server device 2 of the embodiment. The HMI server device 2 is provided with a web server process and a history data management process described later. Figure 9The processor 61 shown processes various processes, and the memory 62 stores various information. The processor 61 executes the program stored in the memory 62, whereby the processor 61 executes the input / output management process 6, the HMI server process 7, the alarm management process 8, and the like. The input / output management process 6 and the HMI server process 7 and the alarm management process 8 can exchange data with each other through inter-process communication. The input / output management process 6 executes the reference count update thread 6a, the multicast reception thread 6b, and the alarm generation thread 6c in parallel.
[0079] Figure 2 The input / output management process 6 shown receives the block data from the PLC 1 periodically, extracts only the input / output signals relating to the screen 31 currently displayed on the web browser 30 from the block data, and sends to the HMI server process 7.
[0080] The input / output management process 6 executes the reference count update process 10, the reception process 16, the first filtering process 17, and the second filtering process 18.
[0081] The reference count update process 10 manages the first filtering information for determining the block data corresponding to the screen 31 currently displayed on the web browser 30. The first filtering information includes the static information 13 and the dynamic information 14, and is stored in the memory 62. The static information 13 (ScreenToBlkNoMap) is information in which the correspondence between the screen name and the block number is decided in advance. The dynamic information 14 (BlkNoRefCountTable) is information in which the relationship between the block number and the reference count is determined.
[0082] The reception process 16 receives the block data sent from the PLC 1 periodically. The period is, for example, several milliseconds to several hundred milliseconds.
[0083] The first filtering process 17 extracts the set of input / output signals from the received block data in the case where the received block data corresponds to the screen 31 currently displayed on the web browser 30.
[0084] The second filtering process 18 extracts the input / output signal whose value has changed with respect to the previous value from the set of input / output signals extracted by the first filtering process 17.
[0085] Figure 3 The HMI server process 7 shown executes the web server process, the browser monitoring process 24, the third filtering process 27, and the transmission process 29.
[0086] The browser monitoring process 24 monitors the state of the web browser 30 executed by the HMI client device 3, and records it in the browser state information 25. The browser state information 25 contains information that determines the correspondence between the name of the web browser 30 and the name of the screen 31 currently displayed on the screen 31 of the web browser 30, and is stored in the storage 62. In addition, the browser monitoring process 24 sends a screen open / close signal to the input / output management process 6, the screen open / close signal containing the screen name and the display state (open or close) of the screen 31 whose display state has been changed on the web browser 30.
[0087] The third filter process 27 extracts the input / output signal corresponding to the display component configured on the screen 31 currently displayed on the web browser 30 from the input / output signal extracted by the second filter process 18.
[0088] The transmission process 29 transmits the input / output signal extracted by the third filter process 27 to the web browser 30 displayed on the monitor 75 Figure 9 ).
[0089] 3. Reference count update process
[0090] Figure 4 is a flowchart for explaining the reference count update process 10 Figure 2 ). Figure 4 The flow illustrated in the figure is repeatedly executed at a certain period.
[0091] As an example, assume that a new screen 31 (screen name "Gl") is displayed in the web browser 30 of the HMI client device 3. At this time, the browser monitoring process 24 sends a screen open / close signal containing the screen name "Gl" and the display state "open" to the input / output management process 6 (reference count update process 10).
[0092] In step S100, the reference count update process 10 receives the screen open / close signal containing the screen name and the display state from the HMI server process 7 (browser monitoring process 24).
[0093] In the example described above, the reference count update process 10 receives the screen name "Gl" and the display state "open".
[0094] In step S110, the reference count update process 10 retrieves the block number corresponding to the screen name from the static information 13 described above.
[0095] For example, assume that the correspondence between the screen name "Gl" and the block number "PLC / BLKl" is determined in advance in the static information 13. In this case, the reference count update process 10 retrieves "PLC / BLKl" as the block number of the block data associated with the screen name "Gl".
[0096] In step S120, the reference count update process 10 determines whether the display state of the screen opening and closing signal is on or off. If the display state is on, the process of step S130 is executed. If the display state is off, the process of step S140 is executed.
[0097] If the display state is on, in step S130 , the reference count update process 10 increments the reference count of the dynamic information 14 corresponding to the retrieved block number.
[0098] In the above example, when the display state of the screen name "G1" is "ON", the reference count corresponding to the block number "PLC / BLK1" is incremented and changes from "0" to "1".
[0099] When the display state is off, in step S140 , the reference count update process 10 obtains the reference count of the dynamic information 14 corresponding to the retrieved block number.
[0100] Furthermore, when the display state of the screen "G1" is "open" in a certain web browser 30, and further when the display state of the screen "G1" is "open" in another web browser 30, the reference count increases from "1" to "2".
[0101] 4. First Filtering Process and Second Filtering Process
[0102] Next, refer to Figure 5 and Figure 6 ,right Figure 2 The first filtering process 17 and the second filtering process 18 shown will be described. Figure 5 This is a flowchart for explaining the first filtering process 17 and the second filtering process 18 . Figure 6 17 and 18 are diagrams for explaining specific examples of the first filtering process 17 and the second filtering process 18 . Figure 5 The shown process is repeatedly executed at regular intervals.
[0103] In step S200 , the reception process 16 periodically receives block data transmitted from the PLC 1 .
[0104] exist Figure 6 In the example shown, the receiving process 16 receives block data (block number "PLC / BLK1") in the first cycle and receives block data (block number "PLC / BLK2") in the second cycle.
[0105] In step S210, the first filter process 17 determines whether the reference count n corresponding to the block number of the received block data is greater than 0 based on the dynamic information 14. Thereby, only the block data of which the reference count n is greater than 0 is extracted. In the case where the reference count n is greater than 0, the process of step S220 is executed on the received block data. On the other hand, in the case where the reference count n is 0 or less, the received block data is discarded, and the present flow ends. In the case where the determination condition of step S210 is not satisfied, the input / output signal included in the block data is not displayed in any of the web browsers 30, so the block data can be discarded, and the processing load in the future can be reduced.
[0106] In Figure 6 the example shown, the reference count n related to the block data (block number "PLC / BLK1") is 1 in the dynamic information 14, and the determination condition of step S210 is satisfied. Therefore, for this block data, the process of step S220 is executed next. On the other hand, the reference count n related to the block data (block number "PLC / BLK2") is 0 in the dynamic information 14, and this block data is discarded, and waits for the reception of the next block data.
[0107] In step S220, the first filter process 17 unpacks the received block data, and extracts the set of input / output signals from the block data. In addition, the type of the value of the input / output signal is a bit type, an integer type, a floating point type (float type), or the like. Figure 2
[0108] In Figure 6 the example shown, the block data (block number "PLC / BLK1") is unpacked, and four input / output signals (P1_1, P1_2, P2_1, P2_2) of the bit type are extracted.
[0109] In step S230, the second filter process 18 extracts only the input / output signal whose value has changed with respect to the previous value from the set of input / output signals extracted by the first filter process 17 based on the second filter information. The second filter information includes the previous value of each input / output signal included in the block data, and is stored in the memory 62. In the case where the previous value of the input / output signal is different from the present value (the latest value), it is necessary to make it reflect the screen 31 currently displayed. Therefore, it is necessary to transmit the input / output signal whose value has changed to the HMI server process 7. On the other hand, in the case where the previous value of the input / output signal is the same as the present value, the display content of the screen 31 currently displayed does not change, so the input / output signal can be discarded, and the processing load in the future can be reduced.
[0110] In Figure 6 In the example shown, two of the four input / output signals (P1_1, P2_1) have changed in value with respect to the previous values. On the other hand, the remaining two input / output signals (P1_2, P2_2) are discarded because the previous values are the same as the current values.
[0111] In step S240, the second filter processing 18 transmits the input / output signals that have changed in value with respect to the previous values to the HMI server process 7.
[0112] In Figure 6 In the example shown, the two input / output signals (P1_1, P2_1) are transmitted to the HMI server process 7.
[0113] 5. Third filter processing
[0114] Next, the third filter processing 27 shown in FIG. 27 will be described with reference to the flowchart of FIG. 28 and the diagram of FIG. 29. Figure 7 and Figure 8 Figure 3 Figure 7 is a flowchart for explaining the third filter processing 27. Figure 8 is a diagram for explaining a specific example of the third filter processing 27. Figure 7 The flow shown in FIG. 28 is repeatedly executed at a certain period.
[0115] In step S300, the HMI server process 7 receives the input / output signals extracted by the second filter processing 18 of the input / output management process 6.
[0116] In Figure 8 In the example shown, the two input / output signals (P1_1, P2_1) are input.
[0117] Next, in step S310, the third filter processing 27 is executed. The third filter information is used in the third filter processing 27. The third filter information includes the browser state information 25 and the screen information 28, and is stored in the memory 62. The browser state information 25 includes information that determines the correspondence between the name of the web browser 30 and the name of the screen 31 currently displayed on the web browser 30. The screen information 28 includes information that, for all screens, associates the screen name of the screen 31, the component name of the display component arranged in the screen 31, and the input / output signal name of the input / output signal that changes the state of the display component. In addition, the display component name and the input / output signal name can be the same.
[0118] Specifically, first, the third filter processing 27 retrieves a display component name and a screen name corresponding to the input / output signal extracted by the second filter processing 18 based on the screen information 28. Further, the third filter processing 27 retrieves a web browser name corresponding to the retrieved screen name based on the browser state information 25. Based on these retrieval results, the third filter processing 27 extracts an input / output signal corresponding to a display component currently displayed on the screen 31 configured by the web browser 30 from the input / output signal extracted by the second filter processing 18.
[0119] In Figure 8 In the example shown, the display component name corresponding to the input / output signal name "P1_1" is "G1_1" and the screen name is "G1". In addition, the display component name corresponding to the input / output signal "P2_1" is "G2_1" and the screen name is "G2". The state in which the screen 31 (screen name "G1") is currently displayed by the web browser 30 (web browser name "A1") is registered in the browser state information 25. Therefore, only the input / output signal (input / output signal name "P1_1") corresponding to the display component (display component name "G1_1") configured on the screen 31 (screen name "G1") is information required for display. On the other hand, the input / output signal (input / output signal name "P2_1") irrelevant to the currently displayed screen 31 (screen name "G1") is not displayed on any web browser 30, so this input / output signal can be discarded and the processing load later can be reduced.
[0120] In step S320, the transmission processing 29 transmits the input / output signal extracted by the third filter processing 27 to the web browser 30 displayed on the monitor 75 Figure 9 ).
[0121] In Figure 8 In the example shown, only the input / output signal (input / output signal name "P1_1") corresponding to the display component (display component name "G1_1") of the currently displayed screen 31 is transmitted to the web browser 30 (web browser name "A1").
[0122] 6. Effects
[0123] As explained above, the HMI server device 2 performs the above-described three filter processes before displaying the input / output signal on the screen 31 of the web browser 30.
[0124] According to the first filter processing, it is possible to extract only the block data relevant to the screen 31 currently displayed by the web browser 30. Since unnecessary block data can be discarded at the reception stage, the effect of reducing the processing load is large, particularly in a large-scale system.
[0125] According to the second filtering process, only the input / output signals that have changed from the previous values can be extracted. According to the third filtering process, only the input / output signals corresponding to the display components currently displayed on the screen 31 of the web browser 30 can be extracted. Thus, unnecessary data (data unrelated to the currently displayed screen) is discarded in each filtering process, reducing the processing load in the future, and the amount of data transmitted to the web browser can be reduced.
[0126] In addition, the history data of all signals can be accumulated by the online data collection device 4, and the web browser 30 of the HMI client device 3 can acquire the history data from the online data collection device 4. Thus, the HMI server device 2 can process only the data required for real-time monitoring, and thus the processing load of the HMI server device can be reduced.
[0127] 7. Hardware configuration example
[0128] Figure 9 is a block diagram showing a hardware configuration example of the HMI server device 2, the HMI client device 3, and the online data collection device 4.
[0129] Each process of the above-described HMI server device 2 is implemented by a processing circuit. The processing circuit is configured by connecting a processor 61, a memory 62, and a network interface 63. The processor 61 implements each function of the HMI server device 2 by executing various programs stored in the memory 62. The memory 62 includes a main storage device and an auxiliary storage device.
[0130] Each process of the above-described HMI client device 3 is implemented by a processing circuit. The processing circuit is configured by connecting a processor 71, a memory 72, a network interface 73, an input interface 74, and at least one monitor 75. The processor 71 implements each function of the HMI client device 3 by executing various programs stored in the memory 72. The memory 72 includes a main storage device and an auxiliary storage device. The input interface 74 is an input device such as a keyboard, a mouse, or a touch panel. Multiple monitors 75 can be provided.
[0131] Each process of the above-described online data collection device 4 is implemented by a processing circuit. The processing circuit is configured by connecting a processor 81, a memory 82, and a network interface 83. The processor 81 implements each function of the online data collection device 4 by executing various programs stored in the memory 82. The memory 82 includes a main storage device and an auxiliary storage device.
[0132] The above describes embodiments of the present application, but the present application is not limited to the above-described embodiments, and can be implemented in various modifications without departing from the gist of the present application. In the above-described embodiments, the number, quantity, amount, range, etc. of each element are mentioned, but the present application is not limited to the mentioned number except for the case where it is specifically mentioned or is clearly determined in principle. Also, the configuration, etc. described in the above-described embodiments is not necessarily essential to the present application except for the case where it is specifically mentioned or is clearly determined in principle.
[0133] Reference Signs List
[0134] 1 programmable logic controller (PLC)
[0135] 2 HMI server device
[0136] 3 HMI client device
[0137] 4 online data collection device
[0138] 5 computer network
[0139] 6 input / output management process
[0140] 6a reference count update thread
[0141] 6b multicast reception thread
[0142] 6c alarm generation thread
[0143] 7 HMI server process
[0144] 8 alarm management process
[0145] 10 reference count update processing
[0146] 13 static information
[0147] 14 dynamic information
[0148] 16 reception processing
[0149] 17 first filtering processing
[0150] 18 second filtering processing
[0151] 24 browser monitoring processing
[0152] 25 browser status information
[0153] 27 third filtering processing
[0154] 28 screen information
[0155] 29 transmission processing
[0156] 30 web browser
[0157] 31 screen
[0158] 32 monitoring screen
[0159] 33 history screen
[0160] 61, 71, 81 processor
[0161] 62, 72, 82 memory
[0162] 63, 73, 83 network interface
[0163] 74 input interface
[0164] 75 monitor
Claims
1. A SCADA web HMI system comprising a programmable logic controller (PLC), an HMI client device, and an HMI server device connected via a computer network, characterized in that: The PLC periodically sends block data to the computer network, the block data including a collection of input and output signals related to a group of field devices constituting an industrial plant. The HMI client device has: A monitor displaying a web browser; and A client processor configured to execute the web browser for displaying on a screen provided with a display unit, When the screen currently displayed on the web browser is a monitor screen, the web browser changes the display state of the display component according to the input / output signal received from the HMI server device. The HMI server device includes a server processor configured to execute reception processing, first filtering processing, second filtering processing, third filtering processing, and transmission processing. In the receiving process, the block data transmitted from the PLC is periodically received; In the first filtering process, if the received block data corresponds to the screen currently displayed on the web browser, extracting the set of input and output signals from the received block data; In the second filtering process, the input / output signals having values changed relative to previous values are extracted from the set of input / output signals extracted by the first filtering process; In the third filtering process, the input / output signal corresponding to the display component configured on the screen currently displayed on the web browser is extracted from the input / output signal extracted by the second filtering process; In the transmission process, the input / output signal extracted by the third filtering process is transmitted to the web browser displayed on the monitor, The HMI server device further includes a server memory storing static information and dynamic information, wherein the static information includes information that predetermines a correspondence between a screen name of the screen and a block number of the block data, and the dynamic information includes information that predetermines a relationship between the block number and a reference count. The server processor is further configured to execute a reference count update process. In the reference count update process, the changed display state of the screen is received from the HMI client device, the block number corresponding to the screen is retrieved from the static information, and when the display state is on, the reference count corresponding to the retrieved block number is incremented by the reference count update process. When the display state is off, the reference count corresponding to the block number is decremented by the reference count update process. In the first filtering process, Based on the dynamic information, determining whether the reference count corresponding to the block number of the received block data is greater than 0; When the reference count is greater than 0, extracting the set of input and output signals from the received block data; When the reference count is equal to or less than 0, the received block data is discarded.
2. The SCADA webpage HMI system according to claim 1, characterized in that: The block data is periodically transmitted from the PLC by multicast or broadcast.
3. The SCADA webpage HMI system according to claim 2, characterized in that: The SCADA web HMI system also has online data collection equipment, said online data collection device, periodically receiving the block data from the PLC; accumulating history data of all signals included in the block data; Sending the history data in response to a request from the web browser, the web browser, In a case where the screen currently displayed on the web browser is a history screen, requesting the history data from the online data collection device; The history data received from the online data collection device is displayed on the history screen.
Citation Information
Patent Citations
Plant control system
JP2017027211A
Scada web HMI server device
CN112639642A