Scada web HMI system

WO2026058366A1PCT designated stage Publication Date: 2026-03-19TMEIC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2026-03-19

AI Technical Summary

Technical Problem

Existing technologies require frequent restarts of the SCADA server and browser when updating the application content of the SCADA Web HMI system, causing the target process to temporarily stop and reducing production efficiency.

Method used

The concept of change level is introduced to limit the response process based on the degree of change in application content. Instead of completely restarting the SCADA program, updated SCADA resource data is loaded in the background and reinitialized. For browser updates, only the necessary screen-specific data is loaded without restarting the browser.

Benefits of technology

It reduces the time required for application content updates, avoids temporary downtime of target processes, and improves production efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024032649_19032026_PF_FP_ABST
    Figure JP2024032649_19032026_PF_FP_ABST
Patent Text Reader

Abstract

In the present invention, an engineering tool included in an application development machine is configured to add, to updated application content, a change level that indicates the content of the change to the application content. Adding the change level includes: adding change level 1 when a PLC signal is added to or deleted from SCADA resource data; adding change level 2 when a change other than addition or deletion of a PLC signal is made; adding change level 1 to HMI screen data when screen-specific data is changed; and adding change level 2 to HMI screen data when screen-common data is changed. A SCADA server and a monitoring terminal are configured to limit reflection processing for reflecting the updated application content according to the change level added to the updated application content.
Need to check novelty before this filing date? Find Prior Art

Description

SCADA Web HMI System

[0001] The present invention relates to a SCADA Web HMI system for monitoring and controlling a target process.

[0002] SCADA (Supervisory Control And Data Acquisition) is known as a mechanism for monitoring and controlling social infrastructure systems. Social infrastructure systems include, for example, steel rolling systems, power transmission and transformation systems, water and sewage treatment systems, building management systems, and road systems. SCADA is a type of industrial control system that performs system monitoring and process control by computer. In SCADA, responsiveness (real-time performance) according to the processing performance of the system and high reliability that allows the system to continue operating stably even when a failure occurs are required.

[0003] Generally, SCADA includes, as subsystems, an HMI (Human Machine Interface), a monitoring and control system, and a remote input / output device.

[0004] [[ID=第十二条]] The HMI includes a plurality of monitoring terminals, and display components for indicating the state of the monitored device and operation components for the operator to send control commands to the monitored device are displayed on the screen of each monitoring terminal. The monitoring and control system includes a SCADA server and a PLC (Programmable Logic Controller). The SCADA server is connected to a plurality of monitoring terminals via a network. The PLC is connected to the remote input / output device via a network. The PLC transmits the sensor data collected by the remote input / output device to the HMI and transmits the control commands received from the HMI to the remote input / output device. The remote input / output device converts the signals of the sensors of the monitored device into digital data and transmits it to the monitoring and control system, and interprets the control commands received from the monitoring and control system to control the actuators of the monitored device.

[0005] For example, the SCADA web HMI system disclosed in Patent Document 1 below comprises a monitoring terminal connected via a network, which displays an HMI screen on a web browser and executes application content, and a SCADA server. Furthermore, Patent Document 2 below discloses a SCADA web HMI design device equipped with engineering tools as an application development machine. The application development machine uses engineering tools to create HMI screen data necessary for displaying the HMI screen on the monitoring terminal's web browser, and to define SCADA resource data necessary for the SCADA server to process monitoring and control data. Hereinafter, the HMI screen data and SCADA resource data are collectively referred to as "application content." When the application content is updated on the application development machine, it is necessary to reflect the updated application content on the SCADA server and monitoring terminal in order to verify its operation.

[0006] International Publication No. 2021 / 070315, International Publication No. 2022 / 003818

[0007] Incidentally, in order to reflect the updated application content on the SCADA server, it is common practice to download the updated application content from the application development machine to the SCADA server's secondary storage device, and then restart the SCADA server after the download. When the SCADA server is restarted, the SCADA program is loaded from the secondary storage device into memory, and the initialization routine included in the loaded SCADA program is executed. The initialization routine reads the updated SCADA resource data from the secondary storage device into memory and generates the control data required by each function in the SCADA program based on that data. Furthermore, in order to reflect the updated application content on the monitoring terminal, it is common practice to restart the web browser. When the web browser is restarted, the web browser is loaded from the secondary storage device, and HMI screen data is read from the web server in order to start the application program. HMI screen data is divided into screen common data, which includes settings and attributes common to all screens, and screen specific data, which includes the content of each individual screen. When the application program starts, the screen common data is read, and when displaying individual screens, the screen specific data corresponding to each screen is read.

[0008] Thus, in the conventional method, in order to reflect updated application content on the SCADA server, the SCADA program was restarted and the application content was loaded from secondary storage. Similarly, in order to reflect the updated application content on the monitoring terminal, the web browser was restarted and the application content was loaded from secondary storage. In other words, in order to reflect updated application content, a restart was always performed regardless of the changes in the application content, and all processing associated with the restart had to be executed. Therefore, even if the amount of change in the application content was small, it was not possible to shorten the processing time. As a result, when reflecting updated application content on the SCADA server or monitoring terminal, it was necessary to temporarily stop the operation of the target process, which led to a decrease in the productivity of the target process.

[0009] This disclosure is made in view of the issues described above. The purpose of this disclosure is to provide a SCADA web HMI system that can reduce the time required to reflect updated application content to SCADA servers and monitoring terminals.

[0010] The first aspect of this disclosure relates to a SCADA web HMI system. The SCADA web HMI system comprises a plurality of monitoring terminals, a SCADA server, and an application development machine. Each monitoring terminal displays a plurality of HMI screens on a web browser and monitors the operation of a target process on each HMI screen. The SCADA server is connected to the plurality of monitoring terminals and runs a web server. The application development machine has an engineering tool for developing application content. The application content includes SCADA resource data used by the SCADA server and HMI screen data used by the monitoring terminals. The application development machine is configured to update the application content using the engineering tool and to download the updated application content to the secondary storage device of the SCADA server. The engineering tool is configured to add a change level to the updated application content that represents the changes to the application content. The change levels include change level 0, which represents no change; change level 1, which represents a relatively small change; and change level 2, which represents a relatively large change. Adding a change level includes adding change level 1 when PLC signals are added to or deleted from SCADA resource data, adding change level 2 when changes other than the addition or deletion of PLC signals are made to SCADA resource data, adding change level 1 to HMI screen data when screen-specific data for a specific HMI screen is changed, and adding change level 2 to HMI screen data when screen common data common to multiple HMI screens is changed. The SCADA server and monitoring terminal are configured to limit the reflection process that reflects the updated application content according to the change level added to the updated application content.

[0011] The second perspective, in addition to the first perspective, has the following further characteristics: The SCADA server is configured to execute a SCADA program having multiple functions, and to perform a reinitialization process that regenerates the control data required by each function based on the updated SCADA resource data without restarting the SCADA program. The SCADA program is configured to, when the updated SCADA resource data has a change level of 1 or change level 2 attached, to load the updated SCADA resources into memory in the background while continuing operation, and when change level 1 is attached, to perform a reinitialization process that regenerates the control data required by some functions of the SCADA program corresponding to the updated SCADA resource data without restarting the SCADA program.

[0012] The third aspect, in addition to the second aspect, further has the following characteristics: The SCADA program is configured to temporarily suspend operations when a change level 2 is assigned to updated SCADA resource data, perform a reinitialization process to regenerate the control data required by all functions of the SCADA program corresponding to the updated SCADA resource, and then resume operations.

[0013] The fourth perspective has the following additional characteristics in addition to any one of the first to third perspectives: The monitoring terminal is configured to run an application program on a web browser. The application program is configured to load the changed screen-specific data from the web server and redisplay the HMI screen when a change level 1 is added to the updated HMI screen data and the HMI screen with the changed screen-specific data is being displayed in the web browser; to record the data of the HMI screen currently displayed in the web browser to storage and reload the web browser when a change level 2 is added; and after the reload, to read the common screen data from the web server, load the HMI screen data recorded in storage from the web server, and redisplay it in the web browser.

[0014] The fifth aspect, in addition to the second or third aspect, further has the following characteristics: The engineering tool is configured to further perform the management of identifiers assigned to PLC signals and alarm signals. Managing identifiers includes not changing identifiers that have already been assigned, assigning new identifiers to PLC signals added by application content updates, and leaving identifiers assigned to PLC signals deleted by application content updates as vacant numbers without reusing them.

[0015] The sixth perspective, in addition to the fifth perspective, further has the following characteristics: Multiple functions include an alarm management function that manages the state of alarm signals. The SCADA server is further configured to maintain the values ​​of the control data of the alarm management function, which is regenerated by the reinitialization process, at their pre-regeneration values ​​if the identifier assigned to the alarm signal has not changed due to an update of the application content.

[0016] In the first aspect of this disclosure, when application content is updated by the application development machine, the updated application content is downloaded to the secondary storage device of the SCADA server. According to the first aspect, by adding a change level to the downloaded application content, the processing to reflect the updated application content is limited according to the change level. This allows the updated application content to be efficiently reflected in the SCADA server and monitoring terminals, and the time required for the reflection process can be reduced.

[0017] Once application content development is complete and the tuning phase begins, the system configuration of the application content becomes fixed, and significant changes to the application content become less frequent. During the tuning phase, changes are limited to minor adjustments such as fine-tuning the layout of specific HMI screens or adding a few PLC signals, and in most cases, the updated application content is marked with Change Level 1. From a second perspective, if the updated SCADA resource data is marked with Change Level 1, a reinitialization process is performed to regenerate the control data required by some functions of the corresponding SCADA program based on the updated SCADA resource data, without restarting the SCADA program. As a result, since no loading process from secondary storage is performed, the time required to reflect the updated application content can be significantly reduced. Moreover, since the loading of the updated SCADA resource data into memory is performed in the background during operation, combined with the reduction in the reflection processing time mentioned above, it becomes possible to reflect the updated application content without stopping operations. As a result, the productivity of the target process can be improved.

[0018] From a third perspective, if the updated SCADA resource data has a change level of 2, operations are temporarily stopped, but without restarting the SCADA program, a reinitialization process is performed to regenerate the control data for all functions within the SCADA program, and then operations are resumed. This reduces the processing time for the update because no loading process from the secondary storage device is performed. Moreover, since the updated SCADA resource data is loaded into memory in the background while operations are running, this, combined with the reduction in the processing time mentioned above, significantly reduces the time that operations need to be temporarily stopped.

[0019] From a fourth perspective, if the updated HMI screen data has a change level of 1 and the currently displayed HMI screen has been changed, it is sufficient to simply redisplay the HMI screen without restarting the web browser. Therefore, there is no need to reload the web browser from secondary storage, and operations on the HMI screen can be continued without stopping the application. Furthermore, even if the updated HMI screen data has a change level of 2, the web browser does not need to be restarted, so the processing time for the changes can be shortened by the fact that the web browser does not need to be reloaded from secondary storage.

[0020] By the way, if PLC signals are added to updated application content, the SCADA program needs to be adapted to process the added PLC signals. Typically, a SCADA server manages multiple PLC signals using identifiers, for example, integer values. When application content is changed, if the identifiers corresponding to conventionally used PLC signals change, the SCADA server needs to adapt to the changed identifiers. Therefore, from a fifth perspective, the identifiers assigned to PLC signals are managed using engineering tools. In this management, already assigned identifiers are not changed, and new identifiers are assigned to newly added PLC signals. Also, if any PLC signals are deleted, the identifiers assigned to the deleted PLC signals are not reused for other PLC signals, but are left unused. This eliminates the need for the SCADA program to adapt to PLC signals that are already in use.

[0021] Furthermore, when regenerating control data to reflect updated SCADA resource data in the SCADA server, if the state of the alarm signal before the update changes, there is a risk that the operation of the target process will not be properly monitored. For example, if there was an alarm signal that the operator had not acknowledged before the update, and this alarm signal changes from an unacknowledged state to an acknowledged state after the update, it will not be possible to properly monitor the operation. From a sixth perspective, even if the control data of the alarm management function is regenerated by the reinitialization process, the value of the regenerated control data is maintained at the value before regeneration. As a result, the state of the alarm signal before the application content was updated is retained after the update, so the operation can be properly monitored.

[0022] This figure shows the configuration of the SCADA web HMI system according to the embodiment. This figure illustrates the processing when application content is updated. This figure illustrates the reinitialization process of the SCADA server in the case of change level 1. This figure illustrates the reinitialization process of the SCADA server in the case of change level 2. This figure compares the application downtime when the SCADA program is restarted as in the conventional method, when it is reinitialized at change level 1, and when it is reinitialized at change level 2. This figure illustrates the restart of the web browser. This figure illustrates the reload process of the web browser when the change level of the HMI screen data is 1. This figure illustrates the reload process of the web browser when the change level of the HMI screen data is 2. This figure illustrates the processing when application content is updated in the embodiment. This figure shows examples of the use of sensor signal identifiers, operation signal identifiers, and alarm signal identifiers. This figure illustrates the alarm management table, alarm occurrence / recovery status table, and alarm confirmation status management table. This figure illustrates the alarm management table, alarm occurrence / recovery status table, and alarm confirmation status management table after reinitialization due to application content update. This is a block diagram showing an example of the hardware configuration of the SCADA server and monitoring terminal.

[0023] Embodiments of this disclosure will be described in detail below with reference to the drawings. However, when the number of elements, quantities, amounts, ranges, etc., are mentioned in the embodiments described below, the invention is not limited to the number mentioned unless it is specifically stated or clearly defined in principle. Furthermore, the structures, etc., described in the embodiments described below are not necessarily essential to the invention unless they are specifically stated or clearly defined in principle. In addition, elements common to each figure are denoted by the same reference numeral, and redundant explanations are omitted.

[0024] Figure 1 shows the configuration of the SCADA web HMI system 1 according to an embodiment. The SCADA web HMI system 1 monitors and controls the target process 10. The target process 10 includes, for example, a steel rolling system, a power transmission and distribution system, a water and wastewater treatment system, a building management system, and a road system.

[0025] The SCADA web HMI system 1 comprises a monitoring terminal 2, a SCADA server 3, a PLC 4, and an application development machine 5 as subsystems. Depending on the scale of the target process 10, the SCADA web HMI system 1 can be configured on a large scale. For example, 100 monitoring terminals 2, 100 PLCs 4, and one application development machine 5 are connected to the SCADA server 3 via a network (not shown).

[0026] A remote input / output device 11 is installed in the target process 10. The remote input / output device 11 includes a plurality of sensors 111 and a plurality of actuators 112. The sensors 111 and actuators 112 of the remote input / output device 11 are connected to the PLC 4 via a control network 12.

[0027] The SCADA server 3 collects signals from the sensor 111 (hereinafter also referred to as "sensor signals") and controls the actuator 112 via the PLC 4. The SCADA server 3 is connected to a web browser 21 executed by the monitoring terminal 2 via a web server 31. An application program 22 running on the web browser 21 receives sensor signals from the SCADA server 3 and displays the necessary information on the web browser 21 (HMI screen) for the operator. At the same time, the application program 22 sends signals to the SCADA server 3 to control the actuator 112 according to the operator's operation of the HMI screen.

[0028] To realize this series of processes, the SCADA server 3 runs the SCADA program 32, and the web browser 21 of the monitoring terminal 2 runs the application program 22. The SCADA program 32 is a program that has been pre-installed on the SCADA server 3 by the SCADA installer (not shown). The SCADA program 32 on the SCADA server 3 has an initialization routine 320. As described above, the initialization routine 320 reads SCADA resource data 511 from the secondary storage device 33 into memory, and generates control data required by each of the functions 321 to 328 of the SCADA program 32 based on that data. The SCADA program 32 has functions such as server redundancy function 321, system monitoring function 322, monitoring terminal management function 323, data storage management function 324, PLC management function 325, sensor signal acquisition function 326, actuator control function 327, and alarm management function 328.

[0029] Application program 22 is a program installed on the monitoring terminal 2 along with the web browser 21 by the SCADA client installer (not shown). Application program 22 is loaded into the web browser 21 of the monitoring terminal 2 via the web server 31 running on the SCADA server 3. Application program 22 has functions such as communication with the SCADA server 3, screen display function, and operator operation event processing function.

[0030] Depending on the target process 10, the type, number, and address of sensors 111 and actuators 112, or the system configuration including the SCADA server 3, monitoring terminal 2, and PLC 4, or the design of the HMI screen displayed on the web browser 21 of the monitoring terminal 2 will differ. These are defined in the application content 51 for each target process 10. The application content 51 is generated (developed) or updated by the application development machine 5.

[0031] The application development machine 5 is configured to run the engineering tool 50. The engineering tool 50 has advanced drawing creation and editing functions, the ability to save drawing data in SVG (Scalatable Vector Graphics) format, and extended functions. The drawing editing function and SVG data saving function are implemented, for example, using Microsoft Visio®. The engineering tool 50 is configured to generate and update application content 51 using these functions. The engineering tool 50 is configured to download the updated application content 51 to the SCADA server 3. As will be described in detail later, the engineering tool 50 is configured to add a change level to the downloaded (updated) application content 51, indicating the changes made to the application content 51. The change level may be, for example, three levels, including change level 0, which indicates no change; change level 1, which indicates a relatively small change; and change level 2, which indicates a relatively large change.

[0032] The application content 51 includes SCADA resource data 511 used by the SCADA server 3 to enable the functions 321 to 328 of the SCADA program 32, and HMI screen data 512 used by the monitoring terminal 2. The functions of the SCADA server 3 include, as described above, server redundancy function 321, system monitoring function 322, monitoring terminal management function 323, data storage management function 324, PLC management function 325, sensor signal collection function 326, actuator control function 327, alarm management function 328, etc. The SCADA resource data 511 is application-dependent information required by the SCADA program 32, and includes information such as the type, number, and address of the actuators 112, or the system configuration including the SCADA server 3, monitoring terminal 2, and PLC 4. The HMI screen data 512 is application-dependent information required by the application program 22, and includes information such as screen settings and attributes common to the application, or the layout and design of each screen.

[0033] When the application content 51 is updated by the engineering tool 50, the updated application content 51 needs to be reflected in the SCADA server 3 and the monitoring terminal 2. Figure 2 is a diagram illustrating the process when the application content is updated.

[0034] As shown in Figure 2, when the application content 51 is updated, the updated application content 51 is saved to the secondary storage device 52 of the application development machine 5. The engineering tool 50 downloads the updated application content 51 to the secondary storage device 33 of the SCADA server 3 (Step 1). The downloaded application content 51 includes the change levels added by the engineering tool 50.

[0035] Next, the SCADA program 32 running on the SCADA server 3 is restarted (step 2). This causes the SCADA program 32, which is pre-installed in the secondary storage device 33 on the SCADA server 3, to be reloaded into the memory 34 of the SCADA server 3 (step 3). Next, the SCADA program 32 is initialized. During the initialization process, the SCADA resource data 511 downloaded to the secondary storage device 33 is read.

[0036] Next, the web browser 21 running on the monitoring terminal 2 is restarted, and the application program 22 is reloaded (step 4). The web browser 21 and application program 22 installed on the secondary storage device 23 on the monitoring terminal 2 are reloaded into the memory 24 of the monitoring terminal 2. Next, the application program 22 is initialized. During the initialization process, the HMI screen data 512 downloaded to the secondary storage device 33 of the SCADA server 3 is loaded into the application program 22 via the web server 31 (step 5).

[0037] In each of the steps 1 to 5 during the application update, the process of reading programs and data from secondary storage devices 33 and 23 to memory 34 and 24 takes a considerable amount of time. In particular, the SCADA resource data 511 or HMI screen data 512 included in the application content 51 increases in size as the application grows, and the time required for reading increases. Moreover, since the application must be stopped during the application update, the longer the reading process, the longer the application downtime. Furthermore, when the SCADA program 32 or application program 22 is restarted, the alarm state (described later) that the SCADA server 3 maintains during the update is reset.

[0038] As described later, this disclosure provides an online download process that minimizes the time required for the update process to reflect the updated application content 51 to the SCADA server 3 and monitoring terminal 2, and, depending on the changes to the application content 51, enables the update process to be completed without stopping the application. Furthermore, it maintains the alarm state held during the update, thereby enabling continuous monitoring of the target process 10.

[0039] (Reinitialization Process) Using Figure 1 again, the reinitialization process for reflecting the updated SCADA resource data 511 in the SCADA program 32 will be explained. The SCADA resource data 511 includes information such as the type, number, and address of sensors 111 and actuators 112, or the system configuration including the SCADA server 3, monitoring terminal 2, and PLC 4, depending on the target process 10. However, this information is so-called definition data, and each function 321 to 328 in the SCADA program 32 cannot simply read this information into memory and use it as is. In order to operate each function 321 to 328, it is necessary to generate the control data required by each function 321 to 328 based on the SCADA resource data 511. In addition, the PLC management function 325 also needs to perform processing such as loading a communication driver to communicate with the PLC 4 depending on the type of PLC signal. This is the initialization process executed by the initialization routine 320 in the SCADA program 32. In the conventional method, when the SCADA resource data 511 is updated, the initialization routine 320 is executed by restarting the SCADA program 32.

[0040] In contrast, this embodiment employs a method of directly executing the initialization routine 320 of the SCADA program 32 without restarting the SCADA program 32. This is called the "reinitialization process" or "reinitialization" of the SCADA program 32.

[0041] During the reinitialization process, the updated SCADA resource data 511 is read into memory 34 in the background while the application is running. Then, the application is stopped, the reinitialization process is executed, and the application processing is resumed. Therefore, compared to the conventional method, the application downtime can be shortened by the time required for restarting the SCADA program 32 and reading the updated SCADA resource data 511 from the secondary storage device 33 into memory 34. In addition, a configuration is introduced that limits the processing of reflecting control data during the reinitialization process according to the changes in the updated application content 51.

[0042] Once the development of the application content 51 is complete and the tuning phase begins, large-scale changes that alter the system configuration decrease, and in most cases, small-scale changes such as adding sensor signals, actuator control signals, and alarm data become more frequent. As will be described later, by adopting a method in which identifiers to be attached to PLC signal data are attached using the engineering tool 50, it is possible to prevent changes to identifiers of PLC signal data that are already in use. By adopting this attachment method, the generation process of control data for adding sensor signals, actuator control signals, and alarm signals can be performed in a short time (approximately tens of milliseconds). Therefore, the reinitialization process can be completed without stopping the application by mutually controlling the reception process of sensor signals and alarm signals from PLC 4, and the reception process of control commands from monitoring terminal 2 and the generation process of control data. This reinitialization process is called reinitialization of change level 1. When the engineering tool 50 downloads SCADA resource data 511 to the SCADA server 3, it determines the change level from the difference between the previously downloaded SCADA resource data 511 and the updated SCADA resource data 511, and assigns the change level to the SCADA resource data 511. If there is no difference, the change level is 0; if the difference is limited to the addition or deletion of PLC signal processing, the change level is 1; and in all other cases, the change level is 2.

[0043] FIG. 3 is a diagram for explaining the re-initialization process of the SCADA server 3 in the case of change level 1. FIG. 4 is a diagram for explaining the re-initialization process of the SCADA server 3 in the case of change level 2. As shown in FIG. 3, in the case of change level 1, among the plurality of functions 321 to 328, a re-initialization process for regenerating the control data required by the sensor signal collection function 326, the actuator control function 327, and the alarm management function 328 is executed. As shown in FIG. 4, in the case of change level 2, a re-initialization process for regenerating the control data required by all functions 321 to 328 is executed.

[0044] FIG. 5 is a diagram comparing the application stop times when the SCADA program 32 is restarted in the conventional manner, when re-initialized at change level 1, and when re-initialized at change level 2. In the case of restarting in the conventional manner, during the stop of the application, reloading from the secondary storage device 33 of the SCADA program 32 and reading of the SCADA resource data 511 from the secondary storage device 33 to the memory (heap area) are executed, so the stop time becomes long. As a result, the operation of the target process 10 has to be stopped.

[0045] On the other hand, in the case of re-initialization at change level 2, although the application is stopped once, as described above, there is no need to reload the SCADA program 32 from the secondary storage device 33. Moreover, in combination with reading the updated SCADA resource data 51 from the memory 34 in the background in advance during the operation of the application, the stop time of the application can be significantly shortened to, for example, several seconds or less.

[0046] Also, in the case of re-initialization at change level , in addition to the situation of change level 2, since the regeneration of the control data is only the addition of the PLC signal, the re-initialization time can be suppressed to, for example, several tens of msec or less. Therefore, it is possible to perform the update without stopping the operation of the application by only performing exclusive control on a part of the processing.

[0047] (Restart of Web Browser) FIG. 6 is a diagram for explaining the restart of the web browser 21. When the HMI screen data 512 is updated and the web browser 21 is restarted, it takes time because the web browser 21 is read from the secondary storage device 23. Therefore, in the present embodiment, it is improved to use the reload function of the web browser 21.

[0048] (Reload of Web Browser) FIG. 7 is a diagram for explaining the reload process of the web browser 21 when the change level of the HMI screen data is 1. FIG. 8 is a diagram for explaining the reload process of the web browser 21 when the change level of the HMI screen data is 2. By reloading the web browser 21, the process of reading the web browser 21 from the secondary storage device 23 can be omitted, and only the application program 22 and the HMI screen data 512 are loaded via the web server 31. At this time, the unupdated resources included in the HMI screen data 512 are read from the cache of the web browser 21 (hereinafter also referred to as "browser cache"). Therefore, the actually loaded resources via the web server 31 are only the updated resources included in the HMI screen data 512.

[0049] Here, the HMI screen data 512 includes screen common HMI screen data 512a including screen common settings and attributes, and screen specific HMI screen data 512b including the layout and design of each HMI screen. When the application program 22 is started for the first time, the screen common HMI screen data 512a is loaded. Subsequently, the corresponding screen specific HMI screen data 512b is loaded to display the HMI screen that was displayed before the HMI screen data was updated. Similar to the case of the SCADA resource data 511, the engineering tool 50 determines the change level from the difference between the previously downloaded HMI screen data 512 and the updated HMI screen data 512, and assigns the change level to the HMI screen data 512. If there is no difference, the change level is 0. If the difference is only the screen specific HMI screen data 512a, the change level is 1. If the difference includes the screen common HMI screen data 512b as well, the change level is 2.

[0050] As shown in Figure 7, in the case of change level 1, the update process does not require a reload of the web browser 21, as shown in Figure 8. In this case, if the HMI screen corresponding to the updated screen-specific HMI screen data 512b is currently displayed, that HMI screen is reloaded and displayed again. If the HMI screen corresponding to the updated screen-specific HMI screen data 512b is not currently displayed, there is no need to update the HMI screen. Thus, even if the HMI screen data 512b is updated, if the change level is 1, there is no need to reload the web browser 21, so it is possible to continue operating the application. As shown in Figure 8, in the case of change level 2, the update process requires a reload of the web browser 21.

[0051] Figure 9 is a diagram illustrating the process when application content is updated in the embodiment. As described above, when the application content 51 is updated and the updated application content 51 is saved to the secondary storage device 52, the updated application content 51 is downloaded to the secondary storage device 33 of the SCADA server 3. At this time, the engineering tool 50 calculates the change level from the difference between the already downloaded SCADA resource data 511 and the updated SCADA resource data 511, and adds the calculated change level to the SCADA resource data 511. The engineering tool 50 also calculates the change level from the difference between the already downloaded HMI screen data 512 and the updated HMI screen data 512, and adds the calculated change level to the HMI screen data 512. After these processes are completed, the engineering tool 50 downloads the updated application content 51 (step 1) and sends an application content update notification to the SCADA program 32.

[0052] When the SCADA program 32 receives an application content update notification from the engineering tool 50, it starts processing the updated SCADA resource data 511. If the SCADA resource data 511 has a change level of 0, no processing is required by the SCADA program 32. If the SCADA resource data 511 has a change level of 1 or 2, the SCADA program 32 reads the downloaded SCADA resource data 511 into memory 34 in the background and performs reinitialization processing according to the change level (step 2). Once the processing in step 2 is complete, if the HMI screen data 512 has a change level of 1 or 2, it sends an HMI screen data update notification to the monitoring terminal 2.

[0053] When the application program 22 of the monitoring terminal 2 receives an HMI screen data update notification from the SCADA server, if the HMI screen data 512 has a change level of 2, it reloads the web browser 21 (step 3). If the HMI screen data 512 has a change level of 1, the application program 22 updates the HMI screen corresponding to the updated screen-specific HMI screen data 512b if that HMI screen is currently displayed. If the HMI screen data 512 has a change level of 2, the application program 22 reads the screen-common HMI screen data 512a after reloading the web browser 21, and if the HMI screen corresponding to the updated screen-specific HMI screen data 512b was displayed before the reload, it reads that HMI screen (step 4).

[0054] (Identifier Management for Signals) Next, with reference to Figure 10, the management of identifiers assigned to sensor signals, operation signals, and alarm signals will be explained. Figure 10 shows examples of the use of sensor signal identifiers, operation signal identifiers, and alarm signal identifiers. The SCADA program 32 receives a sensor signal from the sensor 111 in the target process 10 via the PLC 4 and sends an operation signal to the actuator 112. Within the application, these sensor signals and operation signals are identified by the PLC address and the sensor signal name or operation signal name. The sensor signal name is a string such as SIG1, and the operation signal name is a string such as CTL1. Using strings to identify objects within the SCADA program 32 would lead to a decrease in efficiency, so within the SCADA program 32, unique integer values ​​are assigned to these signals as identifiers. In addition, some sensor signals are also used as alarm signals, so these sensor signals are assigned an alarm signal name such as ALM1. Alarm signals are also managed by assigning a unique integer value as an alarm identifier.

[0055] Here, if updating the application changes the identifiers assigned to signals that are already in use, updating the management data in the SCADA program 32 becomes complicated. Therefore, the assignment of these identifiers is performed by the engineering tool 50. The engineering tool 50 ensures that identifiers that have already been assigned are not changed when the application is updated.

[0056] Specifically, the identifier "1" that was assigned to the deleted sensor signal "SIG1" will be left vacant and will not be reused for other sensor signals "SIG111". The newly added sensor signal "SIG111" in the application will be assigned a new identifier "111". Similarly, for operation signals, the identifier "2" that was assigned to the deleted operation signal "CTL2" will be left vacant and will not be reused for other operation signals "CTL211". The newly added operation signal "CTL211" will be assigned a new identifier "211". Similarly, for alarm signals, the identifier "2" that was assigned to the deleted alarm signal "ALM2" will be left vacant and will not be reused for other alarm signals "ALM81". The newly added alarm signal "ALM81" will be assigned a new identifier "81".

[0057] By adopting this management method, the process of reflecting the updated program content in the SCADA program 32 when the program content is updated is simplified.

[0058] (Alarm Information) Incidentally, alarm-related information contained in the SCADA resource data 511 may be updated. In this case, based on the definition of the SCADA resource data 511, an alarm management table, an alarm occurrence / recovery status management table, and an alarm confirmation status management table are generated on the memory 34 of the SCADA server 3 as control data for the alarm management function 328. Figure 11 is a diagram illustrating the alarm management table Tb1, the alarm occurrence / recovery status management table Tb2, and the alarm confirmation status management table Tb3.

[0059] The alarm management table Tb1 is a table that uses the alarm signal identifier as the key and stores the alarm signal name and PLC address as values. The alarm occurrence / recovery status management table Tb2 is a table that uses the alarm signal identifier as the key and stores the alarm occurrence / recovery status as values. When the signal from the corresponding PLC4 turns ON, it means that an alarm has occurred, and when the signal turns OFF, it means that the alarm has recovered. When the SCADA program 32 receives an ON signal from the PLC4, it changes the corresponding occurrence status in the alarm occurrence / recovery status management table Tb2 to "occurred," and when it receives an OFF signal from the PLC4, it changes the corresponding occurrence status in the alarm occurrence / recovery status management table Tb2 to "recovered," and notifies the monitoring terminal 2 accordingly. The initial occurrence status is "recovered." The alarm confirmation status management table Tb3 is a table that uses the alarm signal identifier as the key and stores the alarm confirmation status at each monitoring terminal 2 as values. When the SCADA program 32 is notified that an operator has performed an alarm confirmation operation on a monitoring terminal 2, it changes the corresponding alarm signal and the confirmation status of the monitoring terminal in the alarm confirmation status management table Tb3 to "confirmed". Also, if a new alarm occurs, it changes the confirmation status of all monitoring terminals 2 for the corresponding alarm signal to "unconfirmed". The initial confirmation status is "unconfirmed". The alarm occurrence / recovery status and the alarm confirmation status together are called the alarm status. When the SCADA program 32 is first started, the alarm status of all alarm signals is in its initial state, but the alarm status changes sequentially during operation.

[0060] Even if the SCADA resource data 511 is changed, the alarm signal identifier corresponding to the existing alarm signal remains unchanged. Therefore, when the alarm occurrence / recovery status table Tb2 and the alarm confirmation status table Tb3 are reinitialized during the reinitialization process of the SCADA program 32, the state of the existing alarm signals can be maintained as is. If a new alarm signal is added, a new entry should be added to each of the tables Tb1, Tb2, and Tb3, and initial values ​​should be set accordingly. Figure 12 shows an example of reinitializing the alarm management table Tb1, alarm occurrence / recovery status table Tb2, and alarm confirmation status table Tb3 when alarm signal "ALM81" is added and alarm signal "ALM2" is deleted. An entry for the added alarm signal "ALM81" is added and an initial value is set, while the entry for the deleted alarm signal "ALM2" is deleted. For the deleted alarm signal "ALM2", a notification is sent to the monitoring terminal 2 to clear the alarm status display on the monitoring terminal 2. In this way, it is possible to maintain the state of the alarm signal when the SCADA resource data 511 is updated. Therefore, the operation of the target process 10 can be properly monitored.

[0061] Figure 13 is a block diagram showing an example of the hardware configuration of the server device 3 and the monitoring terminal 2. Each of the processes of the server device 3 described above is realized by the processing circuit 300. The processing circuit 300 is configured by connecting a processor 301, a memory 302, and a network interface 303. The processor 301, acting as a server processor, realizes each function of the SCADA server 3 by executing various programs stored in the memory 302, which acts as server memory. The memory 302 includes the memory 34 mentioned above. The network interface 303 is connected to other devices within the same network via the network 6 so as to be able to communicate with them.

[0062] Each of the processes of the monitoring terminal 2 described above is realized by the processing circuit 200. The processing circuit 200 is composed of a processor 201, a memory 202, a monitor 203, a network interface 204, and an input interface 205 connected together. The processor 201 realizes each function of the monitoring terminal 2 by executing various programs stored in the memory 202. The memory 202 includes the memory 24 mentioned above. The network interface 204 is connected to other devices on the same network via the network 6 so as to be able to communicate with them. The input interface 205 is a set of input devices consisting of a keyboard, mouse, touch panel, etc. The input interface 205 allows the operator to operate items on the HMI screen displayed on the web browser 21.

[0063] As described above, according to this embodiment, when the application content 51 is updated by the application development machine 5, the updated application content 51 is downloaded to the secondary storage device 33 of the SCADA server 3. If the SCADA resource data 511 of the application content 51 is updated, the downloaded SCADA resource data 511 is loaded into the memory 34 in the heap area 323 in the background, in parallel with the operation of the SCADA resource data 511 before the update. Instead of restarting the SCADA server 3 while the operation of the SCADA resource data 511 is stopped, a reinitialization is performed to regenerate the control data required by the functions 321 to 328 of the SCADA program 32 according to the updated SCADA resource data 511 in the memory 34. The range of control data subject to reinitialization is limited by the change level attached to the SCADA resource data 511. That is, the processing to reflect the updated application content 511 is limited according to the change level. This allows the updated application content 511 to be efficiently reflected in the SCADA server 3 and monitoring terminal 2, thereby reducing the time required for the reflection process.

[0064] If the updated SCADA resource data 511 has a change level of 1 assigned to it, a reinitialization process is executed that regenerates the control data required by some functions of the SCADA program 32 based on the updated SCADA resource data 511, without restarting the SCADA program 32. As a result, since no loading process from the secondary storage device 33 is performed, the time required for the update of the application content 51 can be significantly reduced. Moreover, since the loading of the updated SCADA resource data 511 into memory 34 is performed in the background during operation, combined with the reduction in the update processing time mentioned above, it becomes possible to reflect the updated application content 51 without stopping operations. As a result, the productivity of the target process can be improved.

[0065] When the HMI screen data 512 of application 51 is updated, instead of restarting the web browser 21 of the monitoring terminal 2, the web browser 21 is reloaded or the updated screen data is loaded according to the change level attached to the HMI screen data 512. Since these reinitializations and reloads do not access the secondary storage devices 23 and 33, they can be executed instantaneously, and as a result, the updated application content 51 can be reflected immediately. Therefore, the application downtime can be significantly reduced, and depending on the change level, the application may not need to be stopped at all. The downtime of the target process 10 monitored and controlled by the SCADA web HMI system 1 is reduced, or it may not even need to be stopped, thus improving the productivity of the target process 10.

[0066] Although embodiments have been described above, this disclosure is not limited to the embodiments described above, and can be implemented in various modified forms without departing from the spirit of the present invention. In the above embodiments, the monitoring terminal 2 and the SCADA server 3 are configured separately, but some of the monitoring terminals 2 and SCADA servers 3 can be configured as a single web HMI execution device.

[0067] 1...SCADA Web HMI System, 10...Target Process, 11...Remote Input / Output Device, 111...Sensor, 1112...Actuator, 12...Control Network, 2...Monitoring Terminal, 21...Web Browser, 22...SCADA Web Program, 23...Secondary Storage Device, 24...Memory, 200...Processing Circuit, 201...Processor, 202...Memory, 203...Monitor, 204...Network Interface, 205...Input Interface, 3...SCADA Server, 31...Web Server, 32...SCADA Program, 320...Initialization Routine, 321...Server Redundancy Function, 322...System Monitoring Function, 323...Monitoring Terminal Management Function, 324...Data Storage Management function, 325...PLC management function, 326...Sensor signal acquisition function, 327...Actuator control function, 328...Alarm management function, 33...Secondary storage device (Secondary storage device), 300...Processing circuit, 301...Processor, 302...Memory, 4...PLC, 5...Application development machine, 50...Engineering tools, 51...Application content, 511...SCADA resources, 512...SCADA web resources, 512a...Screen common HMI screen data, 512b...Screen specific HMI screen data, 6...Network, Tb1...Alarm management table, Tb2...Alarm occurrence / recovery status table, Tb3...Alarm confirmation status management table

Claims

1. A SCADA web HMI system comprising: multiple monitoring terminals that display multiple HMI screens on a web browser and monitor the operation of a target process on each HMI screen; a SCADA server connected to the multiple monitoring terminals and running a web server; and an application development machine having an engineering tool for developing application content, wherein the application content includes SCADA resource data used by the SCADA server and HMI screen data used by the monitoring terminals; the application development machine is configured to update the application content using the engineering tool and download the updated application content to the secondary storage device of the SCADA server; the engineering tool is configured to add a change level to the downloaded updated application content that represents the changes to the application content, the change level includes a change level 0 representing no change, a change level 1 representing a relatively small change, and a change level 2 representing a relatively large change; and adding the change level includes adding change level 1 when a PLC signal is added to or deleted from the SCADA resource data. A SCADA web HMI system comprising: adding change level 2 when a change other than the addition or deletion of PLC signals is made to the SCADA resource data; adding change level 1 to the HMI screen data when screen-specific data of a particular HMI screen is changed; and adding change level 2 to the HMI screen data when screen common data common to a plurality of HMI screens is changed, wherein the SCADA server and the monitoring terminal are configured to limit the reflection process that reflects the updated application content according to the change level added to the updated application content.

2. The SCADA web HMI system according to claim 1, wherein the SCADA server is configured to execute a SCADA program having multiple functions, and to perform a reinitialization process that regenerates the control data required by each function based on updated SCADA resource data without restarting the SCADA program, and the SCADA program is configured to, when the updated SCADA resource data has the change level 1 or the change level 2 attached, to load the updated SCADA resource into memory in the background while continuing operations, and when the change level 1 is attached, to perform a reinitialization process that regenerates the control data required by some functions of the SCADA program corresponding to the updated SCADA resource data without restarting the SCADA program.

3. The SCADA web HMI system according to claim 2, wherein the SCADA program is configured to further perform the following actions when the updated SCADA resource data has the change level 2 added to it: temporarily suspend the operation, perform a reinitialization process to regenerate the control data required by all functions of the SCADA program corresponding to the updated SCADA resource, and then resume the operation.

4. A SCADA web HMI system according to any one of claims 1 to 3, wherein the monitoring terminal is configured to run an application program on a web browser, and the application program is configured to: load the modified screen-specific data from the web server and redisplay the HMI screen when the modified HMI screen data has been assigned the modification level 1 and the HMI screen of the modified screen-specific data is being displayed in the web browser; record the data of the HMI screen being displayed in the web browser in storage and reload the web browser when the modification level 2 has been assigned; and after the reload, read the common screen data from the web server, load the HMI screen data recorded in storage from the web server and redisplay it in the web browser.

5. The SCADA web HMI system according to claim 2 or claim 3, wherein the engineering tool is configured to further perform the management of identifiers assigned to the PLC signals and alarm signals, the management of identifiers includes: not changing identifiers already assigned, assigning new identifiers to PLC signals added by updating application content, and leaving identifiers assigned to PLC signals deleted by updating application content as vacant numbers without reusing them.

6. The SCADA web HMI system according to claim 5, wherein the plurality of functions include an alarm management function for managing the state of alarm signals, and the SCADA server is configured to further maintain the value of the control data of the alarm management function, which is regenerated by the reinitialization process, at the value before regeneration, when the identifier assigned to the alarm signal has not been changed due to the update of the application content.

Citation Information

Patent Citations

  • Scriptable full-configuration HMI (Human Machine Interface) system driven by real-time data

    CN102360288A

  • Supervisory control and data acquisition system and data engineering method thereof

    US20170277155A1

  • Scada web HMI server device

    WO2021015022A1

  • HMI screen design device and scada web HMI system

    WO2024171267A1