Scada web hmi system
Patent Information
- Application Number
- TW114113999
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2024-09-12
- Filing Date
- 2025-04-14
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2045-04-13
AI Technical Summary
Existing SCADA Web HMI systems require a complete restart of the SCADA server and monitoring terminal devices to reflect updated application software content, leading to prolonged downtime and decreased productivity due to unnecessary processing times.
A SCADA Web HMI system that employs change levels (0, 1, and 2) to determine the extent of updates, allowing for background processing and selective re-initialization of the SCADA program and web browser without full restarts, thereby reducing processing time and maintaining continuous operation.
The system efficiently reflects updated application software content with reduced downtime and improved productivity by minimizing the need for complete restarts and optimizing processing times, while maintaining accurate monitoring and control.
Smart Images

Figure TWG2TB001910510_001 
Figure TWG2TB001910510_002 
Figure TWG2TB001910510_003
Abstract
Description
[Technical Field]
[0001] This invention relates to a SCADA Web HMI system for monitoring and controlling object processes. [Previous Technology]
[0002] SCADA (Supervisory Control and Data Acquisition) is known as an architecture for monitoring and controlling social infrastructure systems. Social infrastructure systems include, for example, steel rolling systems, power supply and substation systems, water and sewage treatment systems, building management systems, and road systems. SCADA is an industrial control system that performs system monitoring and program control via computers. SCADA systems must possess immediate responsiveness (real-time performance) to match the system's processing capabilities and high reliability to ensure continuous and stable system operation even in the event of malfunctions.
[0003] Generally speaking, SCADA systems, in terms of subsystems, include HMI (Human Machine Interface), monitoring and control systems, and remote input / output devices.
[0004] The HMI system comprises multiple monitoring terminal devices. Each monitoring terminal device displays: a display element for showing the status of the monitored device and an operating element for the operator to send control commands to the monitored device. The monitoring and control system comprises a SCADA server and a PLC (Programmable Logic Controller). The SCADA server is connected to the multiple monitoring terminal devices via a network. The PLC is connected to remote input / output devices via a network. The PLC sends sensor data collected by the remote input / output devices to the HMI and sends control commands received from the HMI to the remote input / output devices. The remote input / output devices convert the signals from the sensors of the monitored device into digital data and send it to the monitoring and control system. They also interpret the control commands received from the monitoring and control system to control the actuators of the monitored device.
[0005] For example, Patent Document 1 discloses a SCADA Web HMI system that includes a monitoring terminal device and a SCADA server connected via a network. The monitoring terminal device displays an HMI screen on a web browser and executes application content. Furthermore, Patent Document 2 discloses a SCADA Web HMI design device with an engineering tool, relating to an application software development machine. The engineering tool in the application software development machine is used to create the HMI screen data required to display the HMI screen on the web browser of the monitoring terminal device and to define the SCADA resource data required 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 software content is updated using the application software development machine, the updated application software content must be reflected on the SCADA server and the monitoring terminal device to confirm the operation. (Prior Art Documents) (Patent Documents)
[0006] Patent Document 1: International Patent Publication No. 2021 / 070315; Patent Document 2: International Patent Publication No. 2022 / 003818 [Summary of the Invention]
[0007] (Problem to be Solved by the Invention) Furthermore, in order to reflect the updated application software content to the SCADA server, the updated application software content is generally downloaded from the application software development machine to the secondary memory device of the SCADA server, and the SCADA server is restarted after downloading. When the SCADA server is restarted, the SCADA program is loaded from the secondary memory device into memory, and the initialization routines contained in the loaded SCADA program are executed. The initialization routines read the updated SCADA resource data from the secondary memory device into memory, and based on this data, generate the control data required for each function within the SCADA program. Furthermore, in order to reflect the updated application software content to the monitoring terminal device, the web browser is generally restarted. When the web browser is restarted, the web browser loads HMI screen data from the web server from the secondary memory device to launch the application program. HMI screen data is divided into common screen data, which contains settings and attributes common to all screens, and screen-specific data, which contains the content of each screen. The common screen data is read when the application starts, and the screen-specific data corresponding to each screen is read when displaying each screen.
[0008] As described above, in the conventional method, in order to reflect the updated application software content to the SCADA server, the SCADA program is restarted and the application software content is loaded from the secondary memory. Furthermore, in order to reflect the updated application software content to the monitoring terminal device, the web browser is restarted and the application software content is loaded from the secondary memory. That is, in order to reflect the updated application software content, a restart is always performed regardless of the changes to the application software content, and all processing accompanying the restart must be executed. Therefore, even if the amount of change to the application software content is small, the processing time cannot be shortened. As a result, when reflecting the updated application software content to the SCADA server and the monitoring terminal device, the operation of the target program must be temporarily stopped, which leads to a decrease in the productivity of the target program.
[0009] This invention was developed in view of the aforementioned problems. The object of this invention is to provide a SCADA Web HMI system capable of reducing the processing time required to reflect updated application software content to the SCADA server and monitoring terminal device. (Means for solving the problems)
[0010] The first aspect of the present invention relates to a SCADA Web HMI system. The SCADA Web HMI system includes: a plurality of monitoring terminal devices, a SCADA server, and an application software development machine. Each monitoring terminal device displays a plurality of HMI screens on a web browser to monitor the operation of an object program through each HMI screen. The SCADA server is connected to the plurality of monitoring terminal devices and runs the web server. The application software development machine has engineering design tools for developing application software content. The application software content includes: SCADA resource data used on the SCADA server; and HMI screen data used on the monitoring terminal devices. The application software development machine is configured to perform: updating the application software content using the engineering design tools; and downloading the updated application software content to a secondary memory device of the SCADA server. The engineering design tools are configured to add a change level indicating the changes to the updated application software content. The change level includes change level 0 (no change), change level 1 (small change), and change level 2 (large change). The additional change levels include: Change level 1 when adding or deleting PLC signals to SCADA resource data; Change level 2 when making changes to SCADA resource data other than adding or deleting PLC signals; Change level 1 when changing the inherent data of a specific HMI screen; and Change level 2 when changing common screen data common to multiple HMI screens. The SCADA server and monitoring terminal device are configured to limit the response processing of the updated application software content based on the change level attached to the updated application software content.
[0011] The second viewpoint, in addition to the features of the first viewpoint, also has the following features. The SCADA server system is configured to perform the following processes: execute a SCADA program with multiple functions; and without restarting the SCADA program, perform a re-initialization process to regenerate the control data required for each function based on the updated SCADA resource data. The SCADA program system is configured to perform the following processes: when the updated SCADA resource data has a change level 1 or change level 2, while continuously running the operation, read the updated SCADA resources into memory in the background; and when change level 1 is attached, without restarting the SCADA program, perform a re-initialization process to regenerate the control data required for some functions of the SCADA program corresponding to the updated SCADA resource data.
[0012] The third viewpoint, in addition to the features of the second viewpoint, also has the following features. The SCADA program is configured to execute as follows: when a change level 2 is attached to the updated SCADA resource data, the operation is temporarily stopped, and after performing a re-initialization process to regenerate the control data required for all functions of the SCADA program corresponding to the updated SCADA resources, the operation will resume.
[0013] The fourth viewpoint, in addition to the features of any one of the views in the first to third views, also has the following features. The monitoring terminal device is configured to cause the application to operate on a web browser. The application is configured to execute: when an HMI screen with an updated HMI screen data having a change level of 1 and the changed screen-specific data is being displayed in the web browser, load the changed screen-specific data from the web server and redisplay the HMI screen; when a change level of 2 is attached, record the data of the HMI screen currently displayed in the web browser to the storage device and reload the web browser; and after reloading, read the screen common data from the web server, load the data of the HMI screen recorded in the storage device from the web server, and redisplay it in the web browser.
[0014] The fifth viewpoint, in addition to the features of the second or third viewpoint, also has the following features. The engineering design tool is configured to further manage the identifiers assigned to PLC signals and alarm signals. The management of identifiers includes: not changing the assigned identifiers, assigning new identifiers to PLC signals added due to application software updates; and setting the identifiers originally assigned to PLC signals deleted due to application software updates to be missing and no longer used.
[0015] The sixth point of view, in addition to the features of the fifth point of view, also has the following features: The plurality of functions include an alarm management function that manages the status of alarm signals. The SCADA server is configured to perform the following: when an update to the application software content does not change the identifier originally assigned to the alarm signal, the value of the control data of the alarm management function, which is regenerated through a re-initialization process, is maintained at the value before regeneration. (Effects of the Invention)
[0016] In a first aspect of the present invention, when application software content is updated using an application software development machine, the updated application software content is downloaded to the secondary memory device of the SCADA server. According to the first aspect, a change level is attached to the downloaded application software content, thereby limiting the processing required to reflect the updated application software content based on the change level. This allows for efficient reflection of the updated application software content to the SCADA server and monitoring terminal device, and reduces the time required for the reflection processing.
[0017] When the development of the application software content is completed and the tuning phase begins, the system configuration of the application software content becomes fixed, and the occurrence of significant changes to the application software content decreases. During the tuning phase, only minor adjustments to the layout of specific HMI screens and the addition of some PLC signals are made. In most cases, a change level 1 is added to the updated application software content. According to the second viewpoint, when a change level 1 is added to the updated SCADA resource data, the SCADA program is not restarted. Instead, based on the updated SCADA resource data, a re-initialization process is performed to regenerate the control data required for some functions of the SCADA program corresponding to that SCADA resource data. Therefore, loading from the secondary memory device is not performed, thus significantly reducing the time required for the response processing of the updated application software content. Furthermore, the loading of the updated SCADA resource data into memory is performed in the background during operation; therefore, combined with the aforementioned reduction in response processing time, the updated application software content can be responded to without stopping operation. As a result, the productivity of object programs can be improved.
[0018] According to the third point of view, when the updated SCADA resource data has a change level of 2, although the operation is temporarily stopped, the SCADA program is not restarted. Instead, after performing a re-initialization process to regenerate the control data of all functions within the SCADA program, the operation will resume. Therefore, the loading process from the secondary memory device is not performed, thus shortening the response processing time. Furthermore, since the loading of the updated SCADA resource data into memory is performed in the background during operation, combined with the aforementioned reduction in response processing time, the time for temporarily stopping the operation can be significantly shortened.
[0019] According to the fourth point of view, when the updated HMI screen data has a change level of 1 and changes the currently displayed HMI screen, the web browser is not restarted; instead, the HMI screen is simply redisplayed. Therefore, there is no need to reload the web browser from the secondary memory device, allowing continuous operation on the HMI screen without stopping the application software. Furthermore, when the updated HMI screen data has a change level of 2, the web browser is also not restarted. Since the web browser is not reloaded from the secondary memory device, the response time can be shortened accordingly.
[0020] Furthermore, when new PLC signals are added to the updated application software, the SCADA program must process and respond to the new PLC signals. Typically, SCADA servers manage multiple PLC signals using identifiers represented by integer values. When the application software is changed, if the identifiers corresponding to previously used PLC signals are changed, the SCADA server must respond to the changed identifiers. Therefore, in the fifth viewpoint, the identifiers assigned to PLC signals are managed using an engineering design tool. In this management, the already assigned identifiers are not changed; instead, new identifiers are assigned to newly added PLC signals. Furthermore, when a PLC signal is deleted, the identifier originally assigned to the deleted PLC signal is set to a missing number and is no longer used by other PLC signals. This eliminates the need for SCADA program responses related to already used PLC signals.
[0021] Furthermore, when control data is regenerated to reflect updated SCADA resource data to the SCADA server, there is a risk that the operation of the target program may not be monitored correctly if the state of the alarm signal changes before the update. For example, if there is an alarm signal that the operator did not acknowledge before the update, and the alarm signal changes from an unacknowledged state to an acknowledged state after the update, the operation cannot be monitored correctly. In the sixth viewpoint, even if the control data of the alarm management function is regenerated through re-initialization processing, the value of the regenerated control data remains the same as the value before regeneration. Therefore, the state of the alarm signal before the application software content is updated remains unchanged after the update, thus enabling accurate monitoring of the operation.
Implementation Method
[0023] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in the embodiments shown below, when numbers such as the number, quantity, amount, range, etc., of each element are mentioned, the present invention is not limited to the mentioned numbers, unless specifically stated or obviously specified from the principle. Furthermore, the structures, etc., described in the embodiments shown below are not essential to the present invention, unless specifically stated or obviously specified from the principle. In addition, common elements in all drawings are given the same element symbols and repeated descriptions are omitted.
[0024] Figure 1 is a diagram showing the configuration of an SCADA Web HMI system 1 in an implementation configuration. The SCADA Web HMI system 1 monitors and controls object programs 10. Object programs 10 may include, for example, steel rolling systems, power supply and substation systems, water supply and sewage treatment systems, building management systems, and road systems.
[0025] The SCADA Web HMI system 1, as a subsystem, includes monitoring terminal devices 2, SCADA servers 3, PLCs 4, and application software development machines 5. Corresponding to the scale of the object program 10, the SCADA Web HMI system 1 can be configured on a large scale. For example, 100 monitoring terminal devices 2, 100 PLCs 4, and 1 application software development machine 5 can be connected to the SCADA server 3 via a network (illustration omitted).
[0026] A remote input / output device 11 is provided in the object program 10. The remote input / output device 11 contains 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 the control network 12.
[0027] The SCADA server 3 collects signals from the sensor 111 (hereinafter also referred to as "sensor signals") via the PLC 4 and controls the actuator 112. The SCADA server 3 is connected to the web browser 21 executed by the monitoring terminal device 2 via the web server 31. The application 22 operating on the web browser 21 receives the sensor signals from the SCADA server 3 and displays the necessary information on the web browser 21 (HMI screen) to the operator. At the same time, the application 22 sends signals for controlling the actuator 112 to the SCADA server 3 according to the operation of the HMI screen performed by the operator.
[0028] To achieve the series of processes described above, the SCADA program 32 operates in the SCADA server 3, and the application 22 operates in the web browser 21 of the monitoring terminal device 2. The SCADA program 32 is a program that is pre-installed on the SCADA server 3 by means of a SCADA installer (illustration omitted). The SCADA program 32 of the SCADA server 3 has an initialization routine 320. The initialization routine 320, as described, reads the SCADA resource data 511 from the secondary memory device 33 into memory, and generates the control data required for each function 321 to 328 of the SCADA program 32 based on the data. The SCADA program 32 series has the following functions: server redundancy function 321, system monitoring function 322, monitoring terminal device management function 323, data accumulation management function 324, PLC management function 325, sensor signal collection function 326, actuator control function 327, and alarm management function 328.
[0029] Application 22 is installed on the monitoring terminal device 2 along with the web browser 21 via a SCADA client installer (illustration omitted). Application 22 is loaded into the web browser 21 of the monitoring terminal device 2 via the web server 31 operating on the SCADA server 3. Application 22 has functions such as communication with the SCADA server 3, screen display, and operator event processing.
[0030] Depending on the object program 10, the types, numbers, addresses of sensors 111 and actuators 112, or the system configuration containing a SCADA server 3, a monitoring terminal device 2, and a PLC 4, or the design of the HMI screen displayed on the web browser 21 of the monitoring terminal device 2, may differ. These are defined by application software content 51 set for each object program 10. The application software content 51 is generated (developed) or updated using the application software development machine 5.
[0031] The application software development machine 5 is configured to execute an engineering design tool 50. The engineering design tool 50 has powerful drawing creation and editing functions, the ability to save drawing data in SVG (Scalable Vector Graphics) format, and extended functions. The drawing editing function and SVG data saving function are implemented, for example, using Microsoft Visio (registered trademark). The engineering design tool 50 is configured to generate and update application software content 51 using these functions. The engineering design tool 50 is configured to download the updated application software content 51 to the SCADA server 3. The engineering design tool 50 is configured to add a change level indicating the changes to the application software content 51 while it is being downloaded (updated), as detailed below. The change level is, for example, three levels, including change level 0 (no change), change level 1 (small change), and change level 2 (large change).
[0032] The application software content 51 includes SCADA resource data 511 used on the SCADA server 3 to enable the functions 321 to 328 of the SCADA program 32, and HMI screen data 512 used on the monitoring terminal device 2. The functions of the SCADA server 3 are as described above, including server redundancy function 321, system monitoring function 322, monitoring terminal device 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 information required by the SCADA program 32 that depends on the application program, including: the type, number, and address of the actuator 112, or information about the system configuration containing the SCADA server 3, monitoring terminal device 2, and PLC 4. HMI screen data 512 is information required by application 22 that depends on the application software, including common screen settings and attributes or layout and design information of each screen.
[0033] When the application software content 51 is updated using the engineering design tool 50, the updated application software content 51 needs to be reflected on the SCADA server 3 and the monitoring terminal device 2. Figure 2 is a diagram illustrating the process of updating application software content.
[0034] As shown in Figure 2, when the application software content 51 is updated, the updated application software content 51 is saved to the secondary memory device 52 of the application software development machine 5. Using the engineering design tool 50, the updated application software content 51 is downloaded to the secondary memory device 33 of the SCADA server 3 (step 1). The downloaded application software content 51 contains the change levels added by the engineering design tool 50.
[0035] Next, the SCADA program 32 operating on the SCADA server 3 is restarted (step 2). This reloads the SCADA program 32, which was previously installed on the secondary memory device 33 of the SCADA server 3, into the memory 34 of the SCADA server 3 (step 3). Next, the SCADA program 32 is initialized. During initialization, the SCADA resource data 511 downloaded to the secondary memory device 33 is read.
[0036] Next, the web browser 21 operating on the monitoring terminal device 2 is restarted, and the application 22 is reloaded (step 4). The web browser 21 and application 22, which have been installed on the secondary memory device 23 of the monitoring terminal device 2, are re-read into the memory 24 of the monitoring terminal device 2. Next, the application 22 is initialized. During the initialization process, the HMI screen data 512 downloaded to the secondary memory device 33 of the SCADA server 3 is read into the application 22 via the web server 31 (step 5).
[0037] Here, in each step 1 to step 5 of the application update, the program and data are read from the secondary memory devices 33 and 23 into the memory devices 34 and 24, thus consuming a corresponding amount of time. Specifically, the SCADA resource data 511 or HMI screen data 512 contained in the application software content 51 increases in size as the application program grows, thus increasing the time required for reading and processing. Furthermore, during the application software update, the application software processing must be stopped, so the longer the reading and processing takes, the longer the application software is stopped. In addition, when the SCADA program 32 and the application program 22 are restarted, the SCADA server 3 resets the alarm status (described later) maintained during the update.
[0038] As will be described later in this invention, in accordance with the updated content of the application software content 51, efforts are made to shorten the time for the updated application software content 51 to be reflected in the SCADA server 3 and the monitoring terminal device 2. Depending on the changes in the application software content 51, the update process can be completed without stopping the application software. Furthermore, the alarm state maintained during the update is also maintained, thereby enabling the online download processing of the target program 10 to be continuously monitored.
[0039] (Reinitialization Process) Referring again to Figure 1, the reinitialization process used to reflect the updated SCADA resource data 511 in the SCADA program 32 will be explained. The SCADA resource data 511 corresponds to the object program 10 and includes information such as the type, number, and address of sensors 111 and actuators 112, or system configuration information including the SCADA server 3, monitoring terminal device 2, and PLC 4. However, this information is so-called definition data, and the functions 321 to 328 in the SCADA program 32 cannot directly read this information into memory for use. In order for each function 321 to 328 to operate, the control data required by each function 321 to 328 must be generated based on the SCADA resource data 511. In addition, in the PLC management function 325, according to the type of PLC signal, it is also necessary to perform processing such as loading the communication driver for communication with the PLC 4. This processing is the initialization process executed by the initialization routine 320 in the SCADA program 32. In conventional techniques, when updating SCADA resource data 511, the initialization routine 320 is executed by restarting the SCADA program 32.
[0040] In contrast, in this embodiment, the SCADA program 32 is not restarted, but the initialization routine 320 of the SCADA program 32 is executed directly. This is referred to as the "reinitialization process" or "reinitialization" of the SCADA program 32.
[0041] During the re-initialization process, while the application is running, the updated SCADA resource data 511 is read into memory 34 in the background. Then, the application software is stopped, the re-initialization process is performed, and the application software process is restarted. Therefore, compared with the conventional method, the application stopping time can be shortened, as can the time corresponding to the restart process of SCADA program 32 and the process of reading the updated SCADA resource data 511 from secondary memory device 33 into memory 34. In addition, based on the changes in the updated application software content 51, a configuration is introduced to limit the response processing of control data during the re-initialization process.
[0042] When the development of the application software content 51 is completed and enters the tuning stage, large-scale changes such as altering the system configuration decrease. More frequent changes are small-scale changes such as adding sensor signals, adding actuator control signals, and adding alarm data. As described later, by using the engineering design tool 50 to assign identifiers to the PLC signal data, changes to the identifiers of PLC signal data already in use can be prevented. By using this assignment method, the generation and processing of control data for adding sensor signals, actuator control signals, and alarm signals can be performed in a short time (on the order of tens of milliseconds). Therefore, without stopping the application software, re-initialization can be completed by using mutual exclusion control for the reception and processing of sensor signals and alarm signals from PLC 4 and the reception and processing of control commands and the generation and processing of control data from the monitoring terminal device 2. This re-initialization process is referred to as change level 1 re-initialization. When the engineering design tool 50 downloads SCADA resource data 511 to the SCADA server 3, it determines the change level based on 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, it is change level 0; if the difference is limited to the addition or deletion of PLC signal processing, it is change level 1; otherwise, it is change level 2.
[0043] Figure 3 illustrates the reinitialization process of SCADA server 3 when changing to level 1. Figure 4 illustrates the reinitialization process of SCADA server 3 when changing to level 2. As shown in Figure 3, when changing to level 1, a reinitialization process is performed to regenerate the control data required by the sensor signal collection function 326, actuator control function 327, and alarm management function 328 among the plurality of functions 321 to 328. As shown in Figure 4, when changing to level 2, a reinitialization process is performed to regenerate the control data required by all functions 321 to 328.
[0044] Figure 5 is a graph comparing the application software shutdown time when the SCADA program 32 is restarted using conventional techniques, when it is reinitialized at change level 1, and when it is reinitialized at change level 2. In the case of restarting using conventional techniques, during the application software shutdown, the SCADA program 32 is reloaded from the secondary memory device 33, and the SCADA resource data 511 is read from the secondary memory device 33 into memory (heap area), thus increasing the shutdown time. As a result, the operation of object program 10 has to be stopped.
[0045] In contrast, in the case of reinitialization for change level 2, although the application software is temporarily stopped, as mentioned above, it is not necessary to reload the SCADA program 32 from the secondary memory device 33. Furthermore, by reading the updated SCADA resource data 511 into the memory 34 in the background before the application software is in operation, the application stopping time can be significantly reduced to, for example, less than a few seconds.
[0046] Furthermore, in the case of reinitialization for change level 1, except for the case of change level 2, the regeneration of control data only involves the addition of PLC signals. Therefore, the reinitialization time can be suppressed to, for example, less than 10 ms. Thus, updates can be performed without stopping the application by using mutual exclusion control on a portion of the processing.
[0047] (Restarting the Web Browser) Figure 6 illustrates the restarting of the Web browser 21. When the HMI screen data 512 is updated, restarting the Web browser 21 will read the Web browser 21 from the secondary memory device 23, which takes time. In view of this, in this embodiment, the reloading function of the Web browser 21 is used instead.
[0048] (Web Browser Reloading) Figure 7 illustrates the reloading process of the Web browser 21 when the HMI screen data change level is 1. Figure 8 illustrates the reloading process of the Web browser 21 when the HMI screen data change level is 2. By reloading the Web browser 21, the process of reading the Web browser 21 from the secondary memory device 23 can be omitted; only the application 22 and the HMI screen data 512 are loaded via the Web server 31. At this time, the unupdated resources contained in the HMI screen data 512 are read from the cache of the Web browser 21 (hereinafter also referred to as the "browser cache"). Therefore, the resources actually loaded via the Web server 31 are only the updated resources contained in the HMI screen data 512.
[0049] Here, the HMI screen data 512 includes: common HMI screen data 512a containing common screen settings and attributes; and screen-specific HMI screen data 512b containing the layout and design of each HMI screen. Common HMI screen data 512a is loaded when the application 22 is initially launched. Then, in order to display the HMI screen displayed before the HMI screen data update, the corresponding screen-specific HMI screen data 512b is loaded. Similar to the SCADA resource data 511, the engineering design tool 50 determines the change level based on 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, it is change level 0; if the difference is only screen-specific HMI screen data 512a, it is change level 1; and when the difference also includes common HMI screen data 512b, it is change level 2.
[0050] As shown in Figure 7, the update process at change level 1 does not require the reloading process of the Web browser 21 as shown in Figure 8. At this time, if the HMI screen corresponding to the updated inherent HMI screen data 512b is currently being displayed, the HMI screen is reloaded and re-displayed. If the HMI screen corresponding to the updated inherent HMI screen data 512b is not currently being displayed, there is no need to update the HMI screen. As described above, 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, thus allowing continued application operation. As shown in Figure 8, the update process at change level 2 requires the reloading process of the Web browser 21.
[0051] Figure 9 is a diagram illustrating the processing during application software content updates in the implementation model. As described above, when application software content 51 is updated and the updated application software content 51 is saved to the secondary memory device 52, the updated application software content 51 is downloaded to the secondary memory device 33 of the SCADA server 3. At this time, the engineering design tool 50 calculates the change level based on the difference between the downloaded SCADA resource data 511 and the updated SCADA resource data 511, and applies the calculated change level to the SCADA resource data 511. In addition, the engineering design tool 50 calculates the change level based on the difference between the downloaded HMI screen data 512 and the updated HMI screen data 512, and applies the calculated change level to the HMI screen data 512. After these processes are completed, the engineering design tool 50 downloads the updated application software content 51 (step 1) and sends an application software content update notification to the SCADA program 32.
[0052] When the SCADA program 32 receives an application software content update notification from the engineering design tool 50, it initiates the response processing of the updated SCADA resource data 511. When the SCADA resource data 511 has a change level of 0, no processing by the SCADA program 32 is required. When 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 a re-initialization process corresponding to the change level (step 2). When step 2 is completed, if the HMI screen data 512 has a change level of 1 or 2, an HMI screen data update notification is sent to the monitoring terminal device 2.
[0053] When the application 22 of the monitoring terminal device 2 receives an HMI screen data update notification from the SCADA server, it reloads the web browser 21 if the HMI screen data 512 has a change level of 2 (step 3). When the HMI screen data 512 has a change level of 1, if the HMI screen corresponding to the updated inherent HMI screen data 512b is currently displayed, the application 22 updates the HMI screen. When the HMI screen data 512 has a change level of 2, the application 22 reads the common HMI screen data 512a after the web browser 21 reloads. If an HMI screen corresponding to the updated inherent HMI screen data 512b is displayed before reloading, the application 22 performs the HMI screen reading process (step 4).
[0054] (Management of Identifiers for Signals) Next, referring to Figure 10, the management of identifiers assigned to sensor signals, operation signals, and alarm signals will be explained. Figure 10 is a diagram showing an example of the use of sensor signal identifiers, operation signal identifiers, and alarm signal identifiers. The SCADA program 32 receives sensor signals from the sensor 111 in the object program 10 via PLC 4 and sends operation signals to the actuator 112. In the application software, these sensor signals and operation signals are identified by PLC address, sensor signal name, or operation signal name. The sensor signal name is, for example, a string such as SIG1, and the operation signal name is, for example, a string such as CTL1. Using strings to identify objects in the SCADA program 32 would reduce efficiency; therefore, the SCADA program 32 assigns unique integer values to these signals as identifiers. Furthermore, a portion of the sensor signals is also used as alarm signals, so these sensor signals are assigned alarm signal names such as ALM1. Each alarm signal is also assigned a unique integer value as an alarm identifier for management.
[0055] Here, if the identifiers assigned to signals already in use are changed when the application software is updated, updating the management data within the SCADA program 32 becomes complicated. Therefore, the assignment of these identifiers is performed by the engineering design tool 50. The engineering design tool 50 does not change the assigned identifiers when the application software is updated.
[0056] Specifically, the identifier "1" originally assigned to the deleted sensor signal "SIG1" is set to a missing number, so that it is no longer used by another sensor signal "SIG111". A new identifier "111" is assigned to the new sensor signal "SIG111" added in the application software. The same applies to operation signals; the identifier "2" originally assigned to the deleted operation signal "CTL2" is set to a missing number, so that it is no longer used by another operation signal "CTL211". A new identifier "211" is assigned to the new operation signal "CTL211". The same applies to alarm signals; the identifier "2" originally assigned to the deleted alarm signal "ALM2" is set to a missing number, so that it is no longer used by another alarm signal "ALM81". A new identifier "81" is assigned to the new alarm signal "ALM81".
[0057] By adopting the management method described above, the processing of updated application software content in the SCADA program 32 is simplified when application software content is updated.
[0058] (Alarm Information) In addition, there may be cases where alarm-related information contained in SCADA resource data 511 is updated. At this time, according to the definition of 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 SCADA server 3 with respect to the control data of alarm management function 328. Figure 11 is a diagram used to illustrate alarm management table Tb1, alarm occurrence / recovery status management table Tb2, and alarm confirmation status management table Tb3.
[0059] Alarm Management Table Tb1 uses alarm signal identifiers as keys and alarm signal names and PLC addresses as values. Alarm Occurrence / Recovery Status Management Table Tb2 uses alarm signal identifiers as keys and alarm occurrence / recovery status as values. When the signal from the corresponding PLC 4 becomes ON, it indicates an alarm occurrence; when the signal becomes OFF, it indicates an alarm recovery. When SCADA program 32 receives an ON signal from PLC 4, it changes the corresponding occurrence status in Alarm Occurrence / Recovery Status Management Table Tb2 to "Occurrence"; when it receives an OFF signal from PLC 4, it changes the corresponding occurrence status in Alarm Occurrence / Recovery Status Management Table Tb2 to "Recovery," and notifies monitoring terminal device 2 accordingly. The initial occurrence status is "Recovery." Alarm Confirmation Status Management Table Tb3 uses alarm signal identifiers as keys and the alarm confirmation status at each monitoring terminal device 2 as values. When the operator confirms an alarm on a monitoring terminal device 2, the SCADA program 32 changes the corresponding alarm signal and the monitoring terminal device's confirmation status in the alarm confirmation status management table Tb3 to "Confirmed". Furthermore, when a new alarm's occurrence status changes to "Occurred", the confirmation status of all monitoring terminal devices 2 corresponding to that alarm signal is changed to "Unconfirmed". The initial confirmation status is "Unconfirmed". The occurrence / recovery status of the alarm and the confirmation status of the alarm are collectively referred to as the alarm status. When the SCADA program 32 is initially started, all alarm signals are in their initial states; however, the alarm status changes gradually during operation.
[0060] When SCADA resource data 511 is changed, the alarm signal identifier corresponding to the existing alarm signal is not changed. Therefore, when the alarm occurrence / recovery status table Tb2 and alarm confirmation status table Tb3 are reinitialized using the reinitialization process of SCADA program 32, the status of the existing alarm signal can be maintained. When a new alarm signal is added, a new entry is added to each table Tb1, Tb2, and Tb3, and the initial value is set respectively. Figure 12 is an example of the reinitialization of the alarm management table Tb1, alarm occurrence / recovery status table Tb2, and alarm confirmation status table Tb3 when the alarm signal "ALM81" is added and the alarm signal "ALM2" is deleted. The entry for the newly added alarm signal "ALM81" is added and the initial value is set, and the entry for the deleted alarm signal "ALM2" is deleted. The notification to the monitoring terminal device 2 regarding the deleted alarm signal "ALM2" clears the display of the alarm status on the monitoring terminal device 2. In this manner, the status of the alarm signal can be maintained even after the SCADA resource data 511 has been updated. Therefore, the operation of the target program 10 can be monitored accurately.
[0061] Figure 13 is a block diagram showing an example of the hardware configuration of the server device 3 and the monitoring terminal device 2. The processing of the server device 3 is implemented by a processing circuit 300. The processing circuit 300 is composed of a processor 301, a memory 302, and a network interface 303 connected together. The processor 301, acting as the server processor, executes various programs stored in the memory 302, which serves as the server memory, thereby implementing the various functions of the SCADA server 3. The memory 302 contains the aforementioned memory 34. The network interface 303 is connected to other devices within the same network via the network 6 in a manner capable of communication.
[0062] The processing systems of the aforementioned monitoring terminal device 2 are implemented 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 executes various programs stored in the memory 202, thereby realizing the various functions of the monitoring terminal device 2. The memory 202 contains the aforementioned memory 24. The network interface 204 is connected to other devices within the same network via the network 6 in a manner that enables communication. The input interface 205 is a set of input devices consisting of a keyboard, a mouse, a touch panel, etc. Through the input interface 205, the operator can operate the components of the HMI screen displayed on the Web browser 21.
[0063] As explained above, according to this embodiment, when the application software content 51 is updated via the application software development machine 5, the updated application software content 51 is downloaded to the secondary memory device 33 of the SCADA server 3. When the SCADA resource data 511 of the application software content 51 is updated, the SCADA resource data 511 before the update is used in parallel, and the downloaded SCADA resource data 511 is read into memory 34 (stacking area) in the background. When the use of SCADA resource data 511 stops, the SCADA server 3 is not restarted, but a reinitialization is performed according to the updated SCADA resource data 511 on memory 34 to regenerate the control data required for functions 321 to 328 of the SCADA program 32. The scope of the control data to be reinitialized is limited by the change level attached to the SCADA resource data 511. That is, the processing that the updated application software content 511 reflects is limited according to the change level. This allows the updated application software content 511 to be efficiently reflected to the SCADA server 3 and the monitoring terminal device 2, thereby reducing the time required for the reflection process.
[0064] When a change level 1 is attached to the updated SCADA resource data 511, the SCADA program 32 is not restarted. Instead, a re-initialization process is performed based on the updated SCADA resource data 511 to regenerate the control data required for some functions of the SCADA program 32 corresponding to the SCADA resource data 511. This avoids loading from the secondary memory device 33, thus significantly reducing the time required for the updated application software content 51 to be reflected. Furthermore, since the loading of the updated SCADA resource data 511 into memory 34 is performed in the background during operation, combined with the aforementioned reduction in reflection time, the updated application software content 51 can be reflected without stopping the operation. As a result, the productivity of the target program can be improved.
[0065] When the HMI screen data 512 of application 51 is updated, the web browser 21 of the monitoring terminal device 2 is not restarted. Instead, the web browser 21 is reloaded or the updated screen data is read according to the change level attached to the HMI screen data 512. This reinitialization and reloading does not access the secondary memory devices 23 and 33, so it can be performed instantaneously. As a result, the updated application software content 51 can be reflected immediately. Therefore, the downtime of the application software can be significantly reduced, and depending on the change level, the application software can be stopped without stopping. Since the downtime of the object program 10 monitored and controlled by the SCADA Web HMI system 1 is reduced or there is no need to stop the operation, the productivity of the object program 10 can be improved.
[0066] The embodiments have been described above, but the present invention is not limited to the above embodiments. Various modifications can be made without departing from the spirit of the present invention. In the above embodiments, the monitoring terminal device 2 and the SCADA server 3 are configured separately, but a portion of the monitoring terminal device 2 and the SCADA server 3 can also be configured as a Web HMI execution device. [Simplified Explanation of the Diagram]
[0022] Figure 1 is a diagram showing the configuration of an implementation of a SCADA Web HMI system. Figure 2 is a diagram illustrating the processing during application software content updates. Figure 3 is a diagram illustrating the SCADA server reinitialization process at change level 1. Figure 4 is a diagram illustrating the SCADA server reinitialization process at change level 2. Figure 5 is a diagram comparing the application software downtime when restarting the SCADA program using conventional techniques, reinitializing at change level 1, and reinitializing at change level 2. Figure 6 is a diagram illustrating the restart of a web browser. Figure 7 is a diagram illustrating the web browser reloading process when the HMI screen data change level is 1. Figure 8 is a diagram illustrating the web browser reloading process when the HMI screen data change level is 2. Figure 9 is a diagram illustrating the processing during application software content updates in the implementation. Figure 10 is a diagram showing an example of the use of sensor signal identifiers, operation signal identifiers, and alarm signal identifiers. Figure 11 illustrates the alarm management table, alarm occurrence / recovery status table, and alarm confirmation status management table. Figure 12 illustrates the alarm management table, alarm occurrence / recovery status table, and alarm confirmation status management table after re-initialization due to application software content updates. Figure 13 is a block diagram showing an example of the hardware configuration of the SCADA server and monitoring terminal device.
Claims
1. A SCADA Web HMI system comprising: a plurality of monitoring terminal devices, each displaying a plurality of HMI screens on a web browser to monitor the operation of an object program; a SCADA server connected to the plurality of monitoring terminal devices and running a web server; and an application software development machine having an engineering design tool for developing application software content; the application software content comprising: SCADA resource data used on the SCADA server and HMI screen data used on the monitoring terminal devices; the application software development machine being configured to perform the following processes: updating the application software content using the engineering design tool; and downloading the updated application software content to a secondary memory device of the SCADA server; the engineering design tool being configured to add a change level to the updated application software content to be downloaded, indicating changes to the application software content, the change level comprising a change level 0 indicating no change, a change level 1 indicating a minor change, and a change level 2 indicating a major change; the addition of the change level includes: When adding or deleting PLC signals to SCADA resource data, a change level 1 is applied; when making changes to the aforementioned SCADA resource data other than adding or deleting PLC signals, a change level 2 is applied; when changing the inherent data of a specific HMI screen, a change level 1 is applied to the aforementioned HMI screen data; and when changing the common screen data common to the aforementioned plurality of HMI screens, a change level 2 is applied to the aforementioned HMI screen data; the aforementioned SCADA server and the aforementioned monitoring terminal device are configured to limit the response processing of the aforementioned updated application software content based on the aforementioned change levels applied to the aforementioned updated application software content.
2. The SCADA Web HMI system as described in request item 1, wherein, The aforementioned SCADA server system is configured to perform the following processes: execute a SCADA program with multiple functions; and without restarting the aforementioned SCADA program, perform a reinitialization process based on the updated SCADA resource data to regenerate the control data required for each function; the aforementioned SCADA program system is configured to perform the following processes: when the updated SCADA resource data has the aforementioned change level 1 or the aforementioned change level 2, while continuing the aforementioned operations, read the aforementioned updated SCADA resources into memory in the background; and when the aforementioned change level 1 is attached, without restarting the aforementioned SCADA program, perform a reinitialization process to regenerate the control data required for some functions of the SCADA program corresponding to the aforementioned updated SCADA resource data.
3. The SCADA Web HMI system as described in claim 2, wherein, The aforementioned SCADA program system is configured to perform the following process: When the aforementioned updated SCADA resource data has the aforementioned change level 2, the aforementioned operation is temporarily stopped, and after performing a re-initialization process to regenerate the control data required for all functions of the SCADA program corresponding to the aforementioned updated SCADA resources, the aforementioned operation is restarted.
4. The SCADA Web HMI system as described in any one of requests 1 to 3, wherein, The aforementioned monitoring terminal device is configured to cause an application to operate on a web browser; the aforementioned application is configured to perform the following processes: when an HMI screen with the aforementioned change level 1 attached to the updated HMI screen data and the changed screen-specific data is being displayed in the aforementioned web browser, the aforementioned changed screen-specific data is loaded from the aforementioned web server, and the aforementioned HMI screen is redisplayed; when a change level 2 is attached, the data of the aforementioned HMI screen currently displayed in the aforementioned web browser is recorded to a storage device, and the aforementioned web browser is reloaded; and after the aforementioned reload, the aforementioned screen common data is read from the aforementioned web server, the data of the aforementioned HMI screen recorded in the aforementioned storage device is loaded from the aforementioned web server, and redisplayed in the aforementioned web browser.
5. The SCADA Web HMI system as described in claim 2 or 3, wherein, The aforementioned engineering design tool system is configured to further manage the identifiers assigned to the aforementioned PLC signals and alarm signals; the management of the aforementioned identifiers system includes: without changing the assigned identifiers, assigning new identifiers to PLC signals added due to updates to the application software content; and setting the identifiers originally assigned to PLC signals deleted due to updates to the application software content to be missing and no longer used.
6. The SCADA Web HMI system as described in claim 5, wherein, The aforementioned plurality of functions include an alarm management function that manages the status of alarm signals; the aforementioned SCADA server is configured to perform the following: when the update of the aforementioned application software content does not change the aforementioned identifier originally assigned to the aforementioned alarm signal, the value of the control data of the aforementioned alarm management function regenerated through the aforementioned reinitialization process will be maintained at the value before regeneration.
Citation Information
Patent Citations
Control schema of molding-system process, amongst other things
TW200813680A
Automation equipment control system, system architecture and operation method thereof
TW202232322A
Method, systems and apparatus for intelligently emulating factory control systems and simulating response data
TW202319848A
Intelligent condition monitoring and fault diagnostic system for preventative maintenance
US20230280740A1