Method for determining point table information of control equipment, equipment and medium

By acquiring and monitoring the data sets of monitoring equipment and control equipment, marking their time synchronization change information, and determining the storage identifier using the correlation discrimination algorithm, the problem of inefficient data reconciliation in industrial control systems in the prior art is solved, and efficient and automated data point table information verification is achieved.

CN120343033APending Publication Date: 2025-07-18JINGXIANG (BEIJING) TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510418443.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-03
Publication Date
2025-07-18

AI Technical Summary

Technical Problem

The prior art is inefficient when checking PLC data collected by SCADA or HMI system in industrial control systems, and the complexity increases sharply as the number of data points increases, making it difficult to achieve efficient and automated data point table information verification.

Method used

By obtaining the data sets of monitoring devices and control devices, monitoring their time synchronization change information, marking the change data, and using the correlation discrimination algorithm to determine the storage identifier corresponding to the display data, non-invasive automatic verification is achieved.

Benefits of technology

Without changing the hardware interface or manual intervention, the efficiency and accuracy of industrial point table information verification is significantly improved, and is suitable for large-scale industrial control systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120343033A_ABST
    Figure CN120343033A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of communication. In particular to a method and equipment for determining point table information of control equipment and a medium. The method comprises the steps of obtaining a first data set and a second data set; monitoring and recording synchronous change information of the first data set and the second data set along with time, and respectively marking display data with synchronous change in the first data set and storage identifiers with changed storage data in the second data set to obtain a first marked data set and a second marked data set; screening and determining a candidate storage identifier corresponding to the display data according to the plurality of first marked data sets and the second marked data set corresponding to each first marked data set; and if the display data corresponds to a plurality of candidate storage identifiers or a plurality of groups of candidate storage identifiers, determining a target storage identifier corresponding to the display data from the candidate storage identifiers corresponding to the display data through a relevance judgment algorithm. The point table information of the control equipment can be automatically and accurately determined, and the working efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technologies, and in particular, to a method, device, and medium for determining point table information of a control device. Background Art

[0002] In the wave of the intelligent transformation of the manufacturing industry, enterprises are actively promoting intelligent upgrading, realizing the intelligence of the system through digital modeling and constructing digital twins to reduce operating costs and improve efficiency. To achieve cost control, enterprises tend to integrate existing equipment rather than purchasing all new equipment. This strategy not only reduces capital investment but also poses higher requirements for data integration. As a key link to achieve centralized data management and in-depth analysis, data cloudification can upload the original collected data to the cloud server to provide basic support for intelligent decision-making. However, in actual operation, the point table provided by the project side may deviate due to reasons such as time span, project engineering upgrade and transformation, technology update, or personnel change, resulting in extremely complex data verification work.

[0003] Currently, data verification mainly relies on professional technical personnel to ensure accuracy by manually comparing the data collected by the PLC with the data displayed in the SCADA (Supervisory Control And Data Acquisition) or HMI (Industrial automatic control system) system. This method has limited efficiency, and as the number of data points increases, the complexity of the verification work rises sharply. For example, for a system with more than 1000 variables, it may take technicians up to a month to complete the data comparison, with extremely low efficiency. In addition, operations such as data smoothing performed by the SCADA or HMI system to maintain system stability when processing key parameter data (such as temperature, pressure, flow rate, liquid level, vibration, etc.) also pose additional challenges to data verification. Therefore, the existing technology faces problems such as low efficiency, high cost, and high complexity in practical applications, and there is an urgent need for a more efficient and automated solution to verify and determine the point table information of the control device to address these challenges. Summary of the Invention

[0004] To solve the above problems, this application provides a method, device, and medium for determining point table information of a control device.

[0005] According to one aspect of this application, a method for determining point table information of a control device is provided. The method includes: Obtain a first data set and a second data set, where the first data set includes display data in a monitoring device, and the second data set includes storage identifiers in a control device and storage data corresponding to each storage identifier; Monitor and record the synchronous change information of the first data set and the second data set over time, and respectively mark the display data that changes synchronously in the first data set and the storage identifier that changes in the stored data in the second data set to obtain a first marked data set and a second marked data set; Screen and determine the candidate storage identifiers corresponding to the display data according to multiple first marked data sets and the second marked data sets corresponding to each first marked data set; If there are multiple candidate storage identifiers or multiple groups of candidate storage identifiers corresponding to the display data, determine the target storage identifier corresponding to the display data from the candidate storage identifiers corresponding to the display data through an association discrimination algorithm.

[0006] According to one aspect of the present application, there is provided a computer device, which includes: A processor; and A memory arranged to store computer-executable instructions, and the executable instructions, when executed, cause the processor to perform the operations of any of the above methods.

[0007] According to one aspect of the present application, there is provided a computer-readable medium storing instructions, and the instructions, when executed, cause the system to perform the operations of any of the above methods.

[0008] Compared with the prior art, the present application obtains the first data set of the monitoring device and the second data set of the control device, monitors and records the synchronous change information of the first data set and the second data set over time, and respectively marks the display data that changes synchronously in the first data set and the second data set to obtain a first marked data set and a second marked data set, and screens and determines the candidate storage identifiers corresponding to the display data according to the first marked data set and the second marked data set corresponding to the first marked data set. Thus, the purpose of determining the candidate storage identifiers corresponding to the display data according to the change information of the data is achieved. When there are multiple candidate storage identifiers or multiple groups of candidate storage identifiers corresponding to the display data, the target storage identifier is determined from the candidate storage identifiers through an association discrimination algorithm. Without changing the original hardware interface or manual intervention, the purpose of automatically and accurately determining the point table information of the control device is achieved by means of non-intrusive data acquisition. Through the automated data extraction and intelligent verification mechanism, the data verification process that relies on manual experience is upgraded to computer-driven precision processing, significantly improving the efficiency and accuracy of industrial point table information verification. It can be applied to large-scale industrial control systems (such as complex scenarios with more than 1000 points), and quickly and accurately determine the target storage identifier corresponding to the display data from a large amount of data. Description of the Drawings

[0009] Other features, objects, and advantages of the present application will become more apparent from the following detailed description of non-limiting embodiments read in conjunction with the accompanying drawings: Figure 1 A flowchart of a method for determining point table information of a control device according to an embodiment of the present application is shown; Figure 2 The synchronous change information of a first data set and a second data set according to an embodiment of the present application is shown; Figure 3 A schematic diagram of a target data block according to an embodiment of the present application is shown; Figure 4 A schematic diagram of the structure of a device for determining point table information of a control device according to an embodiment of the present application is shown; Figure 5 An exemplary system that can be used to implement the various embodiments described in the present application is shown.

[0010] Reference numerals: 1. Target second marker data set; 2. Target data block obtained by the first segmentation; 3. Target data block obtained by the third segmentation. Detailed implementation manners

[0011] The present application will be further described in detail below with reference to the accompanying drawings.

[0012] In a typical configuration of the present application, the terminal, the devices of the service network, and the trusted party all include one or more processors (e.g., a central processing unit (CPU)), an input / output interface, a network interface, and a memory.

[0013] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of, for example, read only memory (ROM) or flash memory. The memory is an example of a computer-readable medium.

[0014] Computer-readable media includes both permanent and non-permanent, removable and non-removable media implemented by any method or technology for information storage. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, Phase-Change Memory (PCM), Programmable Random Access Memory (PRAM), Static Random-Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read-Only Memory (ROM), Electrically-Erasable Programmable Read-Only Memory (EEPROM), flash memory or other memory technologies, Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information accessible by a computing device.

[0015] The devices referred to in this application include, but are not limited to, terminals, network devices, or devices formed by integrating a terminal and a network device through a network. The terminal includes, but is not limited to, any mobile electronic product that can perform human-computer interaction with users (such as human-computer interaction through a touchpad), such as a smart phone, a tablet computer, etc. The mobile electronic product can adopt any operating system, such as the Android operating system, the iOS operating system, etc. Among them, the network device includes an electronic device that can automatically perform numerical calculations and information processing according to pre-set or stored instructions. Its hardware includes, but is not limited to, a microprocessor, an Application Specific Integrated Circuit (ASIC), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), an embedded device, etc. The network device includes, but is not limited to, a computer, a network host, a single network server, a set of multiple network servers, or a cloud composed of multiple servers; here, the cloud is composed of a large number of computers or network servers based on Cloud Computing, where Cloud Computing is a type of distributed computing and consists of a virtual supercomputer formed by a group of loosely coupled computers. The network includes, but is not limited to, the Internet, a wide area network, a metropolitan area network, a local area network, a VPN network, a wireless ad hoc network (Ad Hoc network), etc. Preferably, the device can also be a program running on the terminal, the network device, or a device formed by integrating a terminal and a network device, a network device, a touch terminal, or a network device and a touch terminal through a network.

[0016] Of course, those skilled in the art should understand that the above devices are only examples, and other existing or future devices that can be applied to this application should also be included within the protection scope of this application and are hereby incorporated by reference.

[0017] In the description of this application, the meaning of "a plurality of" is two or more, unless otherwise specifically defined.

[0018] Figure 1The figure shows a flowchart of a method for determining point table information of a control device according to an embodiment of the present application. The method includes steps S11, S12, S13, and S14. In step S11, a first data set and a second data set are obtained. The first data set includes display data in a monitoring device, and the second data set includes storage identifiers in the control device and storage data corresponding to each storage identifier. In step S12, the synchronous change information of the first data set and the second data set over time is monitored and recorded, and the display data that changes synchronously in the first data set and the storage identifiers whose storage data changes in the second data set are respectively marked to obtain a first marked data set and a second marked data set. In step S13, candidate storage identifiers corresponding to the display data are determined by screening according to a plurality of first marked data sets and the second marked data sets corresponding to each first marked data set. In step S14, if there are multiple candidate storage identifiers or multiple groups of candidate storage identifiers corresponding to the display data, the target storage identifier corresponding to the display data is determined from the candidate storage identifiers corresponding to the display data through a correlation discrimination algorithm. In some embodiments, the monitoring device includes, but is not limited to, SCADA (Supervisory Control And Data Acquisition) or HMI (Industrial automatic control system). The control device includes, but is not limited to, PLC (Programmable Logic Controller), DCS (Distributed Control System), PAC (Programmable Automation Controller), IPC (Industrial Personal Computer), and industrial instruments. The control device and the monitoring device can be communicatively connected through a communication protocol. For ease of explanation, the following mainly uses PLC (for example, the control device includes PLC) and SCADA (for example, the monitoring device includes SCADA) to illustrate the present solution.

[0019] Specifically, in step S11, a first data set and a second data set are obtained. The first data set includes display data in a monitoring device, and the second data set includes storage identifiers in a control device and storage data corresponding to each storage identifier. In some embodiments, the first data set can be obtained from the monitoring device through a data query interface provided by the monitoring device, or the first data set of the monitoring device can be obtained by means of interface scraping. For example, the first data set in SCADA is obtained through a data query interface (such as OPC UA, MODBUS, RESTful interface, etc.) provided by SCADA (for example, the monitoring device includes SCADA). In some embodiments, the display data includes, but is not limited to, temperature values, humidity values, pressure values, flow values, etc. For example, the monitoring device presents the display data through a screen. In some embodiments, the second data set can be obtained from a PLC (for example, the control device includes a PLC) by means of scanning, or the second data set can be obtained from the PLC by means of listening. When the second data set is obtained by means of scanning, the second data set includes variable names and variable values corresponding to each variable name. When the second data set is obtained by means of listening, the second data set includes storage addresses and data stored in each storage address. When the second data set includes variable names and variable values corresponding to each variable name, the variable names can be used as storage identifiers and the variable values can be used as storage data. When the second data set includes storage addresses and data stored in each storage address, the storage addresses can be used as storage identifiers and the data stored in each storage address can be used as storage data. For specific descriptions of the second data set, please refer to the corresponding embodiments below and will not be elaborated here. In this embodiment, different acquisition methods, communication protocols, and different second data sets are taken into account. There is no need to change the original hardware interface of the device or perform manual intervention. By means of non-intrusive data acquisition, the method of this solution can be applied to multiple PLCs, with more usage scenarios and a wider application range.

[0020] In step S12, the synchronous change information of the first data set and the second data set over time is monitored and recorded, and the display data whose synchronization changes in the first data set and the storage identifiers of the storage data whose changes occur in the second data set are respectively marked to obtain a first marked data set and a second marked data set. For example, the system monitors and records the first data set and the second data set in real time. Here, those skilled in the art can understand that the display data in the monitoring device is determined by the corresponding storage data in the control device, and the change of the storage data in the control device will cause the synchronous change of the corresponding display data in the monitoring device. In some embodiments, each obtained data packet has a timestamp, and the system determines the second data set corresponding to the first data set obtained each time according to the timestamp, so as to determine the second marked data set corresponding to the first marked data set, and determines the candidate storage identifier corresponding to the display data based on one or more groups of corresponding first marked data sets and second marked data sets. In some embodiments, the first data set and the second data set obtained at the same time point are used as the corresponding first data set and second data set. In other embodiments, within the safe time region before the time point when the first data set is obtained, the data packets obtained from the control device are used as the second data set corresponding to the first data set. In some embodiments, the safe time region includes a time interval (for example, ΔT). For example, at time point T3, the first data set obtained from the monitoring device includes (1, 2, 3, 4, 5), at time point T1, data packet 1 is obtained from the control device, and at time point T2, data packet 2 is obtained from the control device, where T1 and T2 are both before T3. If T3 - T2 ≤ ΔT, then T2 is within the safe time region of T3. If T3 - T1 > ΔT, then T1 is outside the safe time region of T3, and the data packet obtained at T2 is used as the second data set corresponding to the first data set obtained at time point T3. The second data set corresponding to the first data set obtained at a certain time point can be determined through the timestamp. Then, by comparing the first data set obtained at the current time point with the first data set obtained at the previous time point, the display data that has changed at the current time point is determined, and the display data that has changed is marked in the first data set obtained at the current time point to obtain the first marked data set at the current time point. Similarly, the second data set corresponding to the first data set at the current time point is compared with the second data set corresponding to the first data set at the previous time point to determine the storage identifier corresponding to the storage data that has changed in the second data set, and the storage identifier of the storage data that has changed is marked to obtain the second marked data set at the current time point. As Figure 2 shown in the schematic diagram, the data with changes (for example, the display data with changes, the storage identifier of the storage data with changes) are marked with "√", and both ends of the same arrow represent the corresponding first marked data set and second marked data set. Here, in order to accommodate different second data sets and illustrate the present solution more clearly, Figure 2The figure shows a schematic diagram. For example, Figure 2 In the SCADA in Figure 2 , 1 can represent display data such as temperature value or humidity value, and "√" indicates that the display data has changed. In the PLC, one, two, etc. represent variable names or storage addresses, and "√" indicates marking the variable name whose variable value has changed (for example, the second data set includes variable names and the variable values corresponding to each variable name), or indicates marking the storage address whose address data has changed (for example, the second data set includes storage addresses and the data stored in each storage address). In some embodiments, when the second data set includes variable names and the variable values corresponding to each variable name, there is a corresponding variable name in the PLC for the display data in the SCADA. When the second data set includes storage addresses and the address data corresponding to each storage address, the display data in the SCADA corresponds to one or more consecutive storage addresses in the PLC. This solution aims to determine the target storage identifier (such as the target variable name or target storage address) corresponding to the display data based on the first marked data set and the second marked data set.

[0021] In step S13, according to multiple first marked data sets and the second marked data set corresponding to each first marked data set, the candidate storage identifier corresponding to the display data is screened and determined. For example, continue to refer to Figure 2, a plurality of corresponding first marker data sets and second marker data sets obtained by monitoring records are used to determine candidate storage identifiers corresponding to the display data. In this embodiment, by the display data and storage identifiers whose markers have changed, based on the changed and unchanged display data and storage identifiers, the candidate storage identifiers corresponding to the display data are determined, greatly reducing the calculation range of the correlation discrimination algorithm. In some embodiments, if there is only one or a group of candidate storage identifiers for a certain display data, the candidate storage identifier or the group of candidate storage identifiers can be directly used as the target storage identifier of the display data. In some embodiments, if the storage identifier includes a storage address and the stored data includes the data stored in the storage address, the data stored in the storage address can be called address data. In addition, those skilled in the art can understand that since the display data in the monitoring device comes from the control device. For example, the display data in SCADA comes from PLC, so there is a strong correlation between the display data in SCADA and the stored data in PLC (for example, variable values or address data in PLC). When the display data changes, it is because the stored data associated with the display data has changed. In other words, when the stored data changes, the display data associated with the stored data also changes. In some embodiments, the display data may be directly obtained from the PLC, or may be obtained after simply processing the data obtained from the PLC (for example, filtering, averaging, linear compensation, etc.). The purpose of this solution is to solve the problem of how to determine the target storage identifier corresponding to the display data and thus determine the point table information of the PLC when the display data is directly obtained from the PLC or simply processed. In some embodiments, based on the different acquisition methods of the second data set, or rather, based on the different second data sets, the specific methods for determining the candidate storage identifiers corresponding to the display data are also different. For the specific description of this part, please refer to the corresponding embodiments below and will not be elaborated here. In this embodiment, according to a plurality of first marker data sets and the second marker data sets corresponding to each first marker data set, the candidate storage identifiers corresponding to the display data can be quickly and accurately found, and even the target storage identifier can be found, reducing the calculation pressure of the correlation discrimination algorithm.

[0022] In step S14, if there are multiple candidate storage identifiers or multiple groups of candidate storage identifiers corresponding to the display data, the target storage identifier corresponding to the display data is determined from the candidate storage identifiers corresponding to the display data through a relevance discrimination algorithm. For example, if through comprehensive analysis of multiple corresponding first marker data sets and second marker data sets, it is determined that a certain display data corresponds to only one candidate storage identifier or one group of candidate storage identifiers, then this storage identifier or this group of candidate storage identifiers can be used as the target storage identifier of this display data. If the display data corresponds to multiple candidate storage identifiers or multiple groups of candidate storage identifiers, the target storage identifier is determined from the multiple candidate storage identifiers or multiple groups of candidate storage identifiers through a relevance discrimination algorithm. In some embodiments, the relevance discrimination algorithm includes, but is not limited to, the Spearman rank coefficient method and the mutual information analysis method (Mutual Information). In some embodiments, when the display data in the monitoring device is directly obtained from the PLC or is obtained by simply processing the data in the PLC, the relationship between the display data and the corresponding data in the PLC is monotonically correlated. For example, when a certain display data increases, the data corresponding to this display data in the PLC is monotonically increasing or decreasing. In this embodiment, the target storage identifier corresponding to the display data is determined from the candidate storage identifiers corresponding to the display data through a relevance discrimination algorithm, so that when there are multiple or multiple groups of candidate storage identifiers, the storage identifier in the PLC can be automatically associated with the display data in the monitoring device quickly and accurately. When the data point table has deviations due to various reasons, it is automatically checked and determined, greatly saving manpower.

[0023] In some embodiments, step S13 includes step S131 (not shown), step S132 (not shown), and step S133 (not shown). In step S131, the marked storage identifier in the second marker data set is determined as the associated storage identifier of the marked display data in the corresponding first marker data set; in step S132, if there are non-associated storage identifiers among the associated storage identifiers corresponding to the display data, the non-associated storage identifiers are deleted from the associated storage identifiers corresponding to the display data, where the non-associated storage identifiers include the marked associated storage identifiers in the second marker data set corresponding to the first marker data set that do not mark this display data; in step S133, the candidate storage identifier corresponding to the display data is determined according to the associated storage identifier corresponding to the display data. As described in the above embodiment, the second marker data set corresponding to the first marker data set includes, but is not limited to, the second data set obtained within the safe time region before the time point of obtaining the first data set. The first marker data set is obtained by marking the changed display data in the first data set, and the second marker data set corresponding to the first data set is obtained by marking the storage identifiers whose stored data has changed in the second data set corresponding to the first data set. For example, continuing to refer to Figure 2, in the first and second labeled data sets corresponding to the leftmost first group, the storage identifiers three, eight, and thirteen in the PLC are used as the associated storage identifiers for the display data 1, 3, or 5 in the SCADA. In other words, the associated storage identifiers for display data 1 include three, eight, and thirteen; the associated storage identifiers for display data 3 include three, eight, and thirteen; the associated storage identifiers for display data 5 include three, eight, and thirteen. Further, determine the second labeled data set corresponding to the first labeled data set that does not label the display data. For example, the first labeled data sets that do not label display data 1 include the second and fourth groups from the left. Among them, the labeled storage identifiers in the second labeled data set of the second group from the left include five, ten, and thirteen. Since the storage identifier thirteen is the associated storage identifier for display data 1, and the storage identifier thirteen exists in the second labeled data set corresponding to the first labeled data set that does not label the display data 1, it can be determined that there is a non-associated storage identifier thirteen in the associated storage identifiers for display data 1, and then the associated storage identifier thirteen is deleted from the associated storage identifiers for display data 1 to obtain the associated storage identifiers three and eight for display data 1. The labeled storage identifiers in the second labeled data set of the fourth group from the left include five and ten, and five and ten do not exist in the associated storage identifiers three and eight for display data 1, so there are no non-associated storage identifiers in the associated storage identifiers three and eight for display data 1. Use the same method to detect the associated storage identifiers of the remaining display data. Of course, those skilled in the art can understand that Figure 2 is only a schematic diagram for illustrating this solution. In actual applications, the recorded labels are the storage identifiers in the PLC (for example, variable names or storage addresses). Figure 2For example, in actual applications, there are multiple sets of corresponding first labeled data sets and second labeled data sets. When determining the candidate storage identifier corresponding to a certain display data, the system traverses all the second labeled data sets corresponding to the first labeled data sets that have not labeled the display data to retrieve whether there is a non-associated storage identifier among the associated storage identifiers of the display data. In some embodiments, in order to further reduce the analysis scope, if a certain display data is labeled in multiple first labeled data sets, the first labeled data set that labels the display data and has the fewest labeled display data can be selected to determine the associated storage identifier of the display data, so as to reduce the calculation amount. For example, if display data 1 is labeled in both the first and the third first labeled data sets from the left, the number of labeled display data in the first labeled data set in the first group from the left is three, and the number of labeled display data in the third group from the left is two, then the storage identifier labeled in the second labeled data set in the third group from the left can be used as the associated storage identifier of display data 1. In some embodiments, the system can generate identification information for the corresponding first labeled data sets and second labeled data sets to distinguish different groups of first labeled data sets and second labeled data sets (for example, the identification information of the first group from the left is Ⅰ, the identification information of the second group from the left is Ⅱ...). In this embodiment, by detecting whether there is a non-associated storage identifier among the associated storage identifiers of the display data. If there is a non-associated storage identifier among the associated storage identifiers of the display data, the non-associated storage identifier is deleted from the associated storage identifiers of the display data, so as to accurately determine the associated storage identifier corresponding to the display data and delete the storage identifier that must not be the target storage identifier of the display data.

[0024] In some embodiments, the second data set is obtained through a first communication protocol. The storage identifier includes a variable name, and the stored data includes a variable value. Step S131 includes: if there is display data that is marked in at least two first marked data sets, then take the intersection of the variable names marked in the corresponding at least two second marked data sets, and use the variable names included in the intersection as the associated variable names of the display data; Step S133 includes: determining the associated variable names corresponding to the display data as the candidate variable names corresponding to the display data. In some embodiments, the first communication protocol includes, but is not limited to, OPC (OLE for Process Control), EtherNet / IP (Ethernet Industrial Protocol), and S7 PLUS protocol. For example, PLC devices compliant with OPC, S7 Plus, and Ethernet / IP protocols support variable name scanning. All variable names in the PLC can be obtained through scanning, and the variable values can be obtained based on the variable names. The method of obtaining the second data set through the first communication protocol can be roughly divided into two steps: First step, obtain all variable names in the PLC by using the variable name scanning method. Second step, based on the variable names obtained by scanning, further read the variable values corresponding to each variable name through the first communication protocol, so as to achieve a comprehensive acquisition of all variable data in the PLC. The specific process of obtaining the second data set through the first communication protocol will not be elaborated here. When the second data set is obtained through the first communication protocol, the second data set includes all variable names in the PLC and the variable values corresponding to each variable name. When the second data set is obtained by scanning, there will be a variable name in the PLC corresponding to the display data in the SCADA. If the display data in the SCADA changes, the variable value of the corresponding variable name in the PLC will change. If the display data in the SCADA does not change, the variable value of the corresponding variable name in the PLC will not change. Therefore, the analysis scope can be further reduced by taking the intersection to accurately determine the candidate storage identifier or the target storage identifier of the display data. For example, continue to refer to Figure 2, the associated storage identifiers (e.g., associated variable names) corresponding to data 1 displayed in the first group from the left include three, eight, and thirteen, and the associated storage identifiers (e.g., associated variable names) corresponding to data 1 displayed in the third group from the left include three and eight. Then, the intersection three, eight can be taken and used as the associated storage identifier (e.g., associated variable name) for displaying data 1. Further, it is detected whether there are non-associated storage identifiers (e.g., non-associated variable names) in the associated storage identifiers for displaying data 1 through the second marker dataset corresponding to the first marker dataset without marking data 1. If there are non-associated storage identifiers (e.g., non-associated variable names), the non-associated storage identifiers (e.g., non-associated variable names) are deleted from the associated storage identifiers (e.g., associated variable names) for displaying data 1. Further, the filtered associated storage identifiers (e.g., associated variable names) are directly used as the candidate storage identifiers (e.g., candidate variable names) for displaying data 1. In this embodiment, all variable names in the PLC are obtained through the first communication protocol, and these variable names may be more than the data displayed in the SCADA. Based on the characteristic that there is a corresponding variable name in the PLC for the data displayed in the SCADA, the intersection can be taken to further narrow the range of the associated storage identifiers (e.g., associated variable names) for the displayed data. Thus, the candidate variable names are refined.

[0025] In some embodiments, the second data set is obtained through a second communication protocol. The storage identifier includes a storage address, the stored data includes address data, and the address data includes the data stored in the storage address. Step S133 includes step S1331 (not shown) and step S1332 (not shown). In step S1331, for each display data, a deletion mark is made for the invalid storage address of the display data in the target second marked data set corresponding to the display data. Among them, the invalid storage address includes the marked storage addresses in the second marked data sets corresponding to all the first marked data sets that do not mark the display data. In step S1332, according to the position information of the associated storage address of the display data in the target second marked data set, the position information of the invalid storage address marked for deletion, and the target data type, one or more groups of candidate storage addresses corresponding to the display data are determined. In some embodiments, the second communication protocol includes but is not limited to S7, Modbus, PROFINET, and EtherCAT protocols. For example, a plurality of sequentially arranged storage addresses associated with the first data set (for example, the storage identifier includes a storage address) and the data stored in each storage address (for example, the stored data includes address data) are obtained by means of listening. The specific process of obtaining the storage address and the address data by listening through the second communication protocol will not be elaborated here. For example, when the second data set includes a plurality of sequentially arranged storage addresses and the data stored in each storage address, for the user, the storage address corresponding to the display data is unknown, and the number of corresponding storage addresses is also unknown. Therefore, it is necessary to perform an extended combination of candidate storage addresses centered on the determined associated storage address to obtain a combination of multiple candidate storage addresses (for example, multiple groups of candidate storage identifiers) so as to subsequently determine the target storage address from multiple groups of candidate storage addresses through a relevance discrimination algorithm. In some embodiments, the data type includes but is not limited to byte (byte), short (short integer), long (long integer), and float (single-precision floating-point type). Different data types correspond to different numbers of storage addresses. For example, the data type byte corresponds to one storage address, and the data type short corresponds to 2 storage addresses. The target data type includes the data types supported by the second communication protocol. For example, a communication protocol can support multiple data types. For example, by pre-associating the association relationship between different second communication protocols and the data types supported by the second communication protocol, the system can determine one or more target data types based on the second communication protocol. In some embodiments, the target second marked data set of the display data can be determined, and address combination is performed in the target second marked data set. In some embodiments, the target second marked data set can be any second marked data set recorded by the system monitoring.For example, it can be the second marked data set corresponding to the first marked data set that marks the display data for which the candidate storage address is to be determined, or it can be the second marked data set corresponding to the first marked data set that does not mark the display data. In some embodiments, the target second marked data set can be determined when N groups of the first marked data set and the second marked data set are monitored and recorded. For example, 15 groups of the first marked data set and the second marked data set are monitored and recorded, and the target second marked data set is determined from these 15 second marked data sets, and the target storage address of the display data is further analyzed and determined based on the target second marked data set. In some embodiments, the target second marked data set of the display data can also be copied, and deletion marks are made in the copied target second marked data set, as well as operations such as subsequent data block splitting and deletion of invalid data blocks, so as to avoid affecting the determination of the candidate storage identifier or the target storage identifier of other display data due to reduction or destruction of multiple groups of corresponding first marked data sets and second marked data sets obtained by monitoring records. In some embodiments, when the target storage address is determined by the correlation discrimination algorithm subsequently, the data in the recorded first marked data set and second marked data set can also be directly used as the display change value and the candidate storage change value respectively. In some embodiments, if the target second marked data set includes the second marked data set corresponding to the first marked data set that does not mark the display data, since the storage addresses marked in this second marked data set are already invalid storage addresses of this display data, the operation steps of deleting marks will be more simplified. Therefore, it is preferred that the target second marked data set includes the second marked data set corresponding to the first marked data set that does not mark the display data. In some embodiments, the target storage identifier that has been determined for a certain display data will also be marked for deletion to reduce the computational pressure. For example, continue to refer to... Figure 2 , for display data 1, the first marked data sets in the second group and the fourth group from the left do not mark display data 1, because the second marked data sets of these two groups are the target second marked data sets of this display data 1. In some embodiments, a second marked data set can be randomly determined from the second marked data sets corresponding to the first marked data sets that do not mark this display data 1 as the target second marked data set. In other embodiments, in order to further narrow the range of the storage address combination, the first marked data set corresponding to the target second marked data set does not mark this display data, and is the first marked data set with the most marked display data. For example, in... Figure 2Among them, in the first marked data set that does not mark the display data 1, the first marked data set with the most marked display data is the second one from the left. Therefore, the second marked data set corresponding to the second first marked data set from the left can be used as the target second marked data set. In the target second marked data set, a deletion mark is made on the invalid storage address of the display data 1. In some embodiments, the invalid storage address of the display data includes the marked storage addresses in the second marked data sets corresponding to all the first marked data sets that do not mark the display data. For example, in Figure 2 Among them, the invalid storage addresses of the display data 1 include five, ten, and thirteen. Deletion marks are made on five, ten, and thirteen in the target second marked data set. Further, according to the position information of the associated storage address of the display data in the target second marked data set, the position information of the invalid storage address on which the deletion mark is made, and the target data type, one or more groups of candidate storage addresses corresponding to the display data are determined. For the specific description of this part, please refer to the corresponding embodiments below and will not be elaborated here. In this embodiment, when the second data set is obtained by means of the second communication protocol, the second data set includes a plurality of consecutive storage addresses and the data (such as address data) stored in each storage address. The second data set obtained in this way is different from the second data set obtained by the first communication protocol described above. When the second data set includes variable names and the variable values corresponding to each variable name, for the display data in SCADA, there is a corresponding variable name in the PLC. At this time, by marking the display data in multiple first marked data sets and taking the intersection of the marked variable names in the corresponding multiple second marked data sets, the range of the associated variable names of the display data can be effectively narrowed. However, when the second data set includes a plurality of storage addresses and the address data corresponding to each storage address, one display data in SCADA may correspond to 2, 4, or other different numbers of storage addresses in the PLC. Therefore, the range of the associated storage addresses of the display data cannot be narrowed simply by taking the intersection. In this embodiment, by making a deletion mark on the invalid storage address of the display data in the target second marked data set and performing address combination in the target second marked data set, one or more groups of candidate storage addresses corresponding to the display data are determined. Here, those skilled in the art can understand that Figure 2 The schematic examples are only for illustrating the present solution. In practical applications, storage addresses are usually represented in the form of "00", "01".

[0026] In some embodiments, the display data is not marked in the first marked dataset corresponding to the target second marked dataset. Step S1332 includes: determining all storage address combinations that conform to the target data type, do not include the marked storage addresses in the target second marked dataset, and include associated storage addresses as one or more sets of candidate storage addresses for the display data, where multiple storage addresses in the same storage address combination are consecutive in the target second marked dataset. In some embodiments, the marked storage addresses in the target second marked dataset include, but are not limited to, the storage addresses that have changed in the target second marked dataset, and the invalid storage addresses marked for deletion. For example, continue to refer to Figure 2, for display data 4, first, based on the second marker dataset corresponding to the first marker dataset that marks the display data 4 (for example, the second group of the first marker dataset and the second marker dataset from the left), determine the associated storage address of the display data 4 (for example, five, ten, thirteen). The first marker datasets that do not mark the display data 4 include the first group and the third group from the left. The marked storage addresses in the second marker dataset of the first group from the left include three, eight, and thirteen, and the marked storage addresses in the second marker dataset of the third group from the left include three and eight. Therefore, the storage addresses three, eight, and thirteen are determined as the invalid storage addresses of the display data 4. And the storage address thirteen is also the associated storage address of the display data 4. Therefore, the storage address thirteen is the non-associated storage address of the display data 4, and the non-associated storage address thirteen is deleted from the associated storage addresses of the display data 4. The associated storage addresses of the display data 4 include the storage addresses five and ten. Further, the first group from the left is determined as the target second marker dataset, and the invalid storage addresses three, eight, and thirteen are marked for deletion in the target second marker dataset. In this embodiment, the invalid storage address happens to be marked for change in the target second marker dataset itself. In some embodiments, in the target second marker dataset, the invalid storage address is not necessarily the storage address marked for change. Therefore, to ensure accuracy, it is necessary to determine the wireless storage address of the display data and then mark the invalid storage address for deletion. Further, all storage address combinations that meet the target data type, do not include the marked storage addresses in the target second marker dataset, and include the associated storage addresses are used as one or more groups of candidate storage addresses for the display data, where multiple storage addresses in the same storage address combination are consecutive in the target second marker dataset. For example, the target data types include short (corresponding to 2 storage addresses), long (corresponding to 4 storage addresses), and double (corresponding to 8 storage addresses). In the target second marker dataset of the display data 4, the address combinations that meet the target data type of short, include the associated storage addresses, and do not include the marked storage addresses include (four, five), (five, six), (nine, ten), (ten, eleven). The address combinations that meet the target data type of long, include the associated storage addresses, and do not include the marked storage addresses include (four, five, six, seven), (nine, ten, eleven, twelve). The address combination that meets the target data type of double, includes the associated storage addresses, and does not include the marked storage addresses is zero. In some embodiments, the second dataset may include multiple data packets obtained within the secure time region. For each data packet, all storage address combinations that meet the target data type, do not include the marked storage addresses in the target second marker dataset, and include the associated storage addresses are used as one or more groups of candidate storage addresses for the display data through the above method. In other words, address combination cannot be performed across data packets.

[0027] In some embodiments, the method further includes step S15 (not shown). In step S15, in the target second marked data set, taking the marked storage addresses in the target second marked data set as split points, the target second marked data set is split into a plurality of data blocks, where the data blocks do not include the storage addresses serving as split points; if there are invalid data blocks among the plurality of data blocks, the invalid data blocks are deleted from the target second marked data set, and the remaining data blocks are used as the target data blocks of the display data, where the invalid data blocks include data blocks that do not contain the associated storage addresses of the display data; step S1332 includes: in each target data block, determining all storage address combinations that conform to the target data type and include the associated storage addresses as one or more groups of candidate storage addresses of the display data, where the multiple storage addresses in the same storage address combination are consecutive in the target data block. In some embodiments, in order to further improve the efficiency of determining the target storage address of the display data, in this embodiment, the target second marked data set is split to obtain a plurality of data blocks corresponding to the display data, and it is detected whether there are invalid data blocks among the plurality of data blocks. If there are invalid data blocks, the invalid data blocks are directly deleted from the plurality of data blocks corresponding to the display data to obtain the target data blocks corresponding to the display data. In some embodiments, the marked storage addresses in the target second marked data set of the display data include but are not limited to the storage addresses in the target second marked data set that are marked due to changes in the address data, and the invalid storage addresses marked for deletion. Among them, the invalid storage addresses marked for deletion include but are not limited to the storage addresses that have been determined as the target storage identifiers of a certain display data, and the marked storage addresses in all second marked data sets corresponding to the first marked data set that do not mark the display data. As Figure 3 shown Figure 3 is the target second marked data set for a certain display data. In Figure 3Among them, √ represents the associated storage address of the display data, and X represents the marked storage addresses in the target second marked data set (for example, including storage addresses two, seven, ten, eleven, thirteen). Then, taking the marked storage addresses as the segmentation points, the target second marked data set is segmented into data blocks (one), (three, four, five, six), (eight, nine), (twelve), (fourteen, fifteen, sixteen). Among them, data blocks (one) and (twelve) do not include the associated storage address of the display data. These data blocks are determined as the wireless data blocks of the display data, and the invalid data blocks are deleted to obtain the target data blocks (three, four, five, six), (eight, nine), (fourteen, fifteen, sixteen) of the display data. Further, address combinations are performed in each target data block. For example, the target data types include short and long. In the target data block (three, four, five, six), the combinations that meet the target data type short and include the associated storage address four are (three, four) and (four, five); the combinations that meet the target data type long and include the associated storage address four are (three, four, five, six). In the target data block (eight, nine), the combination that meets the target data type short and includes the associated storage address nine is (eight, nine); there is no combination that meets the target data type long. In the target data block (fourteen, fifteen, sixteen), the combinations that meet the target data type short and include the associated storage address fifteen are (fourteen, fifteen) and (fifteen, sixteen); there is no combination that meets the target data type long. Therefore, multiple groups of candidate storage addresses for the display data include (three, four), (four, five), (three, four, five, six), (eight, nine), (fourteen, fifteen), (fifteen, sixteen). In some embodiments, combinations cannot be made between storage addresses across data blocks. For example, twelve and fourteen cannot be combined.

[0028] In some embodiments, the method further includes step S16 (not shown), in which the synchronization change information of the target data block with the display data is monitored and recorded to update the target data block of the display data. Wherein, the step of updating the target data block of the display data includes: if there is a storage address with changed address data in the target data block when the display data has not changed, continue to use the changed storage address as the splitting point to split the target data block into multiple data blocks. If there are invalid data blocks among the multiple data blocks, delete the invalid data blocks from the target data block, and use the remaining data blocks as the updated target data block; if the display data changes and there is a target data block where all storage addresses have not changed, delete the target data block as an invalid data block, and use the remaining data blocks as the updated target data block; repeat the above operation of updating the target data block of the display data, and stop updating the target data block of the display data when the target data block of the display data meets the stop update condition. For example, after determining the target data block of the display data, in order to further narrow the range of the address combination, for the display data, only the synchronization change information of the display data with the corresponding target data block of the display data may be monitored. When the display data has not changed, but there is a changed storage address in the target data block, continue to split the target data block with the storage address as the splitting point. For example, continue to refer to Figure 3 , after obtaining the target data blocks (three, four, five, six), (eight, nine), (fourteen, fifteen, sixteen) of the display data, continue to monitor and record. If there is a storage address four, and this storage address four has changed when the display data has not changed, then use this storage address as the splitting point to split the target data block (three, four, five, six), obtaining data blocks (three, four), (six), where the data block (six) does not include the associated storage address of the display data and is an invalid data block. Delete the data block (six) from the data blocks of the display data, and use the remaining data blocks (three, four), (eight, nine), (fourteen, fifteen, sixteen) as the target data blocks of the display data. In some other embodiments, if the display data changes, but there is a target data block where all storage addresses have not changed, determine the target data block as an invalid data block of the display data, and delete the invalid data block from the target data blocks of the display data. For example, continue to refer to Figure 3, if the displayed data changes during a certain change, but the storage addresses 14, 15, and 16 in the target data blocks (14, 15, 16) of the displayed data remain unchanged, then the target data block is determined as the invalid data block of the displayed data, and the target data block is deleted from the target data blocks of the displayed data. Repeat the above steps. In some embodiments, the stop update conditions include but are not limited to at least one of the following: 1) When the update process reaches the target time threshold. For example, the system presets a target time threshold (e.g., 30 seconds, 1 minute, etc.), starts timing from the first time the target data block of the displayed data is segmented, and when the target time threshold is reached, stops updating the target data block of the displayed data, and performs address combination on the target data block of the displayed data when the target time threshold is reached. 2) When the change of the displayed data reaches the target change cycle. For example, a change cycle includes two states: the displayed data changes and does not change. In other words, within a change cycle, there are two states, change and non-change, and there is at least one change or at least one non-change. For example, if the target change cycle includes 3 change cycles, then starting from the first time the target data block of the displayed data is segmented, after the displayed data reaches 3 change cycles, stop monitoring the update of the target data block of the displayed data. 3) When the number of times the displayed data does not change reaches the target number. For example, the system presets a target number. After obtaining the data stored in each storage address of the target number of the displayed data and the corresponding target data blocks, stop monitoring and updating the target data block of the displayed data. 4) When the target number of target data blocks is obtained. For example, the target number includes 1. During the process of updating the target data block of the displayed data, when there is only one target data block left for the displayed data, determine to stop monitoring and updating the target data block of the displayed data. 5) When the target number of target data blocks is obtained, and the number of storage addresses included in each target data block is the minimum number corresponding to the target data type. For example, the target number is 1. During the process of updating the target data block of the displayed data, when there is only one target data block left for the displayed data, and the number of storage addresses included in the target data block is the minimum number corresponding to the target data type. For example, the target data types include short and long, where short is the target data type with the least number of included storage addresses. Then, when a certain displayed data only obtains one target data block through update, and the target data block only includes two storage addresses, it is determined that the storage addresses included in the target data block are the target storage addresses of the displayed data, and there is no need to monitor and update the target data block of the displayed data anymore. Of course, those skilled in the art can understand that the above-mentioned stop update conditions are only examples, and other existing or future possible stop update conditions that can be applied to this application are also within the protection scope of this application and are incorporated herein by reference.

[0029] In some embodiments, the relevance determination algorithm includes the Spearman rank correlation coefficient method, and step S13 includes: for each display data, record the display change value of the display data at multiple time points; if there are multiple candidate storage identifiers corresponding to the display data, for each candidate storage identifier, record the corresponding candidate storage change value of the candidate storage identifier at the multiple time points; if there are multiple groups of candidate storage identifiers corresponding to the display data, for each group of candidate storage identifiers, calculate the corresponding candidate storage change value of the group of candidate storage identifiers at the multiple time points; determine the group of candidate storage change values most relevant to the group of display change values according to the Spearman rank correlation coefficient between each group of display change values and the corresponding group of candidate storage change values, so as to use the candidate storage identifier corresponding to the group of candidate storage change values as the target storage identifier corresponding to the display data. In some embodiments, the candidate storage change values corresponding to the candidate storage identifier at multiple time points include, but are not limited to, the candidate storage change values of the candidate storage identifier at the multiple time points, or the candidate storage change values obtained within the safe time region of each time point among the multiple time points. For example, the display change value of display data A at time point T3 is A3, and the candidate storage change value B3 of the candidate storage identifier B of the display data A is obtained within the safe time region of the time point T3, not necessarily obtained at T3. For the specific description of the safe time region, please refer to the corresponding embodiments above and will not be elaborated here. For example, the display change values of display data A obtained at 15 time points include A1, A2, A3... A15, where A1, A2, A3... A15 are sorted in ascending or descending order. In some embodiments, the situation where there are multiple candidate storage identifiers corresponding to the display data includes the case where the second data set includes variable names and the variable values corresponding to each variable name. For example, there are multiple candidate storage identifiers corresponding to the display data, and the candidate storage identifiers include variable names. For example, display data A corresponds to candidate variable names B and candidate variable name C. Record the candidate storage change values corresponding to candidate variable name B at the 15 time points, including B1, B2, B3... B5, which is consistent with the sorting of the above display change values, and B1, B2, B3... B5 are also sorted in ascending or descending order. Similarly, obtain the candidate storage change values C1, C2, C3... C5 corresponding to candidate variable name C at the above time points. Determine the group of candidate storage change values most relevant to the group of display change values according to the Spearman rank correlation coefficient between each group of display change values and the corresponding group of candidate storage change values. For example, calculate the Spearman rank correlation coefficient between (A1, A2, A3... A5) and (B1, B2, B3... B5) respectively (for example, ), and the Spearman rank correlation coefficient between (A1, A2, A3... A5) and (C1, C2, C3... C5) (for example, (e.g., the set of candidate stored change values with the Spearman rank correlation coefficient closest to 1 (in other words, the smallest difference between the Spearman rank correlation coefficient and 1) can be used as the set of candidate stored change values most relevant to the set of display change values. As another example, it can also be a set of candidate stored change values with a Spearman rank correlation coefficient of 1 that is determined as the most relevant set of candidate stored change values. As yet another example, it can also be a set of candidate stored change values with the difference between the Spearman rank correlation coefficient and 1 equal to or less than a target threshold as the most relevant set of candidate stored change values. In some embodiments, the case where the display data corresponds to multiple sets of candidate storage identifiers includes the case where the second data set includes storage addresses and address data corresponding to each storage address. For example, the display data corresponds to multiple sets of candidate storage addresses, and each set of candidate storage addresses includes one or more candidate storage addresses (e.g., the candidate storage identifier includes the candidate storage address), and the candidate address data on each candidate storage address can be read. Here, those skilled in the art can determine that the system can read the address data of each storage address, and multiple consecutive address data can be parsed to obtain a value (e.g., the candidate stored change value corresponding to each set of candidate storage addresses). For each set of candidate storage addresses, the corresponding candidate stored change values at multiple time points are also recorded, and the multiple candidate stored change values are sorted in ascending or descending order. In some embodiments, the sorting of the candidate stored change values is the same as the sorting of the display change values. For example, if the display change values are sorted in ascending order, then the candidate stored change values are also sorted in ascending order. When the display data corresponds to multiple sets of candidate storage identifiers, the method for determining the set of candidate stored change values most relevant to the display change values is the same as or similar to the above when the display data corresponds to multiple candidate storage identifiers, and will not be elaborated here. The differences between the two include that when the display data corresponds to multiple candidate storage identifiers, a variable name will have one candidate stored change value at one time point. When the display data corresponds to multiple sets of candidate storage identifiers, due to the uncertainty of the data storage mode, a set of candidate storage identifiers may have multiple candidate stored change values at one time point. Here, those skilled in the art can understand that the data storage mode is related to the currently used second communication protocol. For example, some second communication protocols support a certain determined data storage mode, and some second communication protocols support multiple data storage modes. In some embodiments, similar to the above target data type, the second communication protocol can be pre-associated with the data storage mode so as to determine the possible data storage modes based on the current second communication protocol. Here, those skilled in the art can understand that the Spearman's Rank Correlation Coefficient is a non-parametric statistical method for measuring the monotonic relationship between two variables.)Here, those skilled in the art can determine that the Spearman rank correlation coefficient method includes: sorting two sets of data respectively; assigning ranks to each data; calculating the rank differences; and calculating the Spearman rank correlation coefficient using the Spearman rank correlation coefficient method calculation formula ( ). Regarding the specific calculation process, it will not be elaborated here.

[0030] In some embodiments, for each group of candidate storage identifiers, calculating the corresponding candidate storage change values of the group of candidate storage identifiers at the multiple time points includes: for each group of candidate storage addresses, reading the address data corresponding to each storage address in the group of candidate storage addresses at the multiple time points; based on each data storage mode in one or more data storage modes, parsing the address data corresponding to the group of candidate storage addresses at each time point to obtain the candidate storage change values corresponding to the group of candidate storage addresses at each time point and in each data storage mode, so as to obtain the candidate storage change values of each group of candidate storage addresses at multiple time points and multiple data storage modes. In some embodiments, the data storage modes include but are not limited to big-endian mode (e.g., the mode of ABCD), little-endian mode (e.g., the mode of BADC), big-endian byte swap mode (e.g., the mode of ABDC), and little-endian byte swap mode (e.g., the mode of CDAB). For example, one display data corresponds to one or more groups of candidate storage addresses, each group of candidate storage addresses includes one or more storage addresses, and each storage address corresponds to address data. For the same group of candidate storage addresses, the results parsed by different data storage modes are also different. In this embodiment, for each time point, each group of candidate storage addresses is parsed based on different data storage modes. For example, Table 1 shows the results of parsing a group of candidate storage address combinations X corresponding to display data A through different data storage modes. For example, the candidate storage address combination X includes storage addresses 00, 01, 02, 03, and X11…X115 includes the address data of storage address 00 in the candidate storage address combination X at 15 time points. X21…X215 includes the address data of storage address 01 in the candidate storage address combination X at 15 time points… The results are parsed for the candidate storage address combinations obtained for each time point through different data storage modes. For example, the address data at time point T1 includes X11, X21, X31, X41, the structure parsed through the big-endian mode is S1, and the result parsed through the little-endian mode is H1. Thus, the candidate storage change values of each group of candidate storage addresses at different data storage modes and at multiple time points are obtained. In some embodiments, if the parsed value is garbled or no value can be parsed, the system will automatically delete the value. For example, if the values S1…S15 read through the big-endian mode are garbled, then the group of candidate storage change values S1…S15 is deleted, and the group of candidate storage change values S1…S15 does not participate in the subsequent calculation of the Spearman rank correlation coefficient method. In this embodiment, considering all possible data storage modes supported by the current second communication protocol, multiple groups of candidate storage change values corresponding to an address combination are obtained, considering all possibilities to improve the accuracy of determination.

[0031] Table 1 Parsing Results of Candidate Storage Address Combination X at 15 Time Points Time point Address data at storage address 00 Address data at storage address 01 Address data at storage address 02 Address data at storage address 03 Big-endian mode Little-endian mode T1 X11 X21 X31 X41 S1 H1 T2 X12 X22 X32 X42 S2 H2 T3 X13 X23 X33 X43 S3 H3 ... ... ... ... ... ... ... T15 X115 X215 X315 X415 S15 H15 Figure 4 The figure shows a schematic structural diagram of a device for determining control device point table information according to an embodiment of the present application. The device includes a module 11, a module 12, a module 13, and a module 14. The module 11 is configured to obtain a first data set and a second data set. Among them, the first data set includes display data in a monitoring device, and the second data set includes storage identifiers in a control device and storage data corresponding to each storage identifier; the module 12 is configured to monitor and record the synchronous change information of the first data set and the second data set over time, and respectively mark the display data whose synchronous change occurs in the first data set and the storage identifiers whose storage data changes in the second data set to obtain a first marked data set and a second marked data set; the module 13 is configured to screen and determine candidate storage identifiers corresponding to the display data according to a plurality of first marked data sets and the second marked data set corresponding to each first marked data set; the module 14 is configured to, if there are multiple candidate storage identifiers or multiple groups of candidate storage identifiers corresponding to the display data, determine the target storage identifier corresponding to the display data from the candidate storage identifiers corresponding to the display data through a correlation discrimination algorithm.

[0032] Here, the specific implementation manners of the module 11, the module 12, the module 13, and the module 14 are the same as or similar to the specific embodiments of step S11, step S12, step S13, and step S14, and thus will not be elaborated herein and are included herein by reference.

[0033] In addition to the methods and devices described in the above embodiments, the present application further provides a computer-readable storage medium storing computer code, and when the computer code is executed, the method described in any one of the preceding items is executed.

[0034] The present application further provides a computer program product, and when the computer program product is executed by a computer device, the method described in any one of the preceding items is executed.

[0035] The present application further provides a computer device, which includes: One or more processors; A memory for storing one or more computer programs; When the one or more computer programs are executed by the one or more processors, the one or more processors are caused to implement the method described in any one of the preceding items.

[0036] Figure 5 The figure shows an exemplary system that can be used to implement the various embodiments described in the present application; Such as Figure 5In some embodiments, system 300 can be any one of the devices in each of the embodiments. In some embodiments, system 300 may include one or more computer-readable media having instructions (e.g., system memory or NVM / storage device 320) and one or more processors (e.g., (one or more) processors 305) coupled to the one or more computer-readable media and configured to execute the instructions to implement modules to perform the actions described in this application.

[0037] For one embodiment, system control module 310 may include any suitable interface controller to provide any suitable interface to at least one of (one or more) processors 305 and / or any suitable device or component communicating with system control module 310.

[0038] System control module 310 may include a memory controller module 330 to provide an interface to system memory 315. Memory controller module 330 may be a hardware module, a software module, and / or a firmware module.

[0039] System memory 315 may be used to load and store data and / or instructions for system 300, for example. For one embodiment, system memory 315 may include any suitable volatile memory, e.g., suitable DRAM. In some embodiments, system memory 315 may include double data rate type four synchronous dynamic random access memory (DDR4 SDRAM).

[0040] For one embodiment, system control module 310 may include one or more input / output (I / O) controllers to provide an interface to NVM / storage device 320 and (one or more) communication interfaces 325.

[0041] For example, NVM / storage device 320 may be used to store data and / or instructions. NVM / storage device 320 may include any suitable non-volatile memory (e.g., flash memory) and / or may include any suitable (one or more) non-volatile storage devices (e.g., one or more hard disk drives (HDDs), one or more optical discs (CD) drives, and / or one or more digital versatile discs (DVD) drives).

[0042] NVM / storage device 320 may include storage resources that are physically part of the device on which system 300 is installed, or it may be accessible by the device without being part of the device. For example, NVM / storage device 320 may be accessed via (one or more) communication interfaces 325 over a network.

[0043] (One or more) communication interfaces 325 may provide an interface for system 300 to communicate over one or more networks and / or with any other suitable devices. System 300 may wirelessly communicate with one or more components of a wireless network according to any of one or more wireless network standards and / or protocols.

[0044] For one embodiment, at least one of (one or more) processors 305 may be logically encapsulated with one or more controllers of system control module 310 (e.g., memory controller module 330). For one embodiment, at least one of (one or more) processors 305 may be logically encapsulated with one or more controllers of system control module 310 to form a system-in-package (SiP). For one embodiment, at least one of (one or more) processors 305 may be logically integrated with one or more controllers of system control module 310 on the same die. For one embodiment, at least one of (one or more) processors 305 may be logically integrated with one or more controllers of system control module 310 on the same die to form a system-on-chip (SoC).

[0045] In various embodiments, system 300 may be, but is not limited to: a server, a workstation, a desktop computing device, or a mobile computing device (e.g., a laptop computing device, a handheld computing device, a tablet computer, a netbook, etc.). In various embodiments, system 300 may have more or fewer components and / or a different architecture. For example, in some embodiments, system 300 includes one or more cameras, a keyboard, a liquid crystal display (LCD) screen (including a touch screen display), a non-volatile memory port, multiple antennas, a graphics chip, an application specific integrated circuit (ASIC), and speakers.

[0046] Note that the present application may be implemented in software and / or a combination of software and hardware. For example, it may be implemented using an application specific integrated circuit (ASIC), a general purpose computer, or any other similar hardware device. In one embodiment, the software program of the present application may be executed by a processor to implement the steps or functions described above. Similarly, the software program of the present application (including related data structures) may be stored in a computer-readable recording medium, such as a RAM memory, a magnetic or optical drive, or a floppy disk and the like. Additionally, some steps or functions of the present application may be implemented using hardware, for example, as a circuit that cooperates with a processor to execute each step or function.

[0047] In addition, a part of this application can be applied as a computer program product, such as computer program instructions. When executed by a computer, through the operations of this computer, the methods and / or technical solutions according to this application can be invoked or provided. Those skilled in the art should understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.

[0048] The communication medium includes a medium through which communication signals containing, for example, computer-readable instructions, data structures, program modules, or other data are transmitted from one system to another. The communication medium can include guided transmission media (such as cables and wires (e.g., optical fibers, coaxial cables, etc.)) and wireless (unguided) media that can propagate energy waves, such as sound, electromagnetic, RF, microwave, and infrared. The computer-readable instructions, data structures, program modules, or other data can be embodied as, for example, a modulated data signal in a wireless medium (such as a carrier wave or a similar mechanism embodied as part of spread spectrum technology). The term "modulated data signal" refers to a signal whose one or more characteristics are changed or set in a manner that encodes information in the signal. Modulation can be analog, digital, or a hybrid modulation technique.

[0049] By way of example, and not limitation, the computer-readable storage medium can include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. For example, the computer-readable storage medium includes, but is not limited to, volatile memory such as random access memory (RAM, DRAM, SRAM); and non-volatile memory such as flash memory, various read-only memories (ROM, PROM, EPROM, EEPROM), magnetic and ferromagnetic / ferroelectric memories (MRAM, FeRAM); and magnetic and optical storage devices (hard disks, tapes, CDs, DVDs); or other media known now or developed in the future that can store computer-readable information / data for use by a computer system.

[0050] Here, an embodiment according to the present application includes a device, the device includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the device is triggered to run the method and / or technical solution based on the foregoing multiple embodiments according to the present application.

[0051] For those skilled in the art, it is obvious that the present application is not limited to the details of the above exemplary embodiments, and the present application can be implemented in other specific forms without departing from the spirit or basic characteristics of the present application.

Claims

1. A method for determining the point table information of a control device, characterized in that The method includes: Obtaining a first data set and a second data set, where the first data set includes display data in a monitoring device, and the second data set includes storage identifiers in a control device and storage data corresponding to each storage identifier; Monitoring and recording the synchronous change information of the first data set and the second data set over time, and respectively marking the display data that changes synchronously in the first data set and the storage identifiers whose storage data changes in the second data set to obtain a first marked data set and a second marked data set; Screening and determining candidate storage identifiers corresponding to the display data according to a plurality of the first marked data sets and the second marked data sets corresponding to each of the first marked data sets; If there are multiple candidate storage identifiers or multiple groups of candidate storage identifiers corresponding to the display data, determining the target storage identifier corresponding to the display data from the candidate storage identifiers corresponding to the display data through a correlation discrimination algorithm.

2. The method according to claim 1, wherein The screening and determining candidate storage identifiers corresponding to the display data according to a plurality of the first marked data sets and the second marked data sets corresponding to each of the first marked data sets includes: Determining the marked storage identifiers in the second marked data set as the associated storage identifiers of the marked display data in the corresponding first marked data set; If there are non-associated storage identifiers among the associated storage identifiers corresponding to the display data, deleting the non-associated storage identifiers from the associated storage identifiers of the display data, where the non-associated storage identifiers include the marked associated storage identifiers in the second marked data set corresponding to the first marked data set that do not mark the display data; Determining candidate storage identifiers corresponding to the display data according to the associated storage identifiers corresponding to the display data.

3. The method according to claim 2, characterized in that, The second data set is obtained through a first communication protocol, the storage identifier includes a variable name, and the storage data includes a variable value. The determining the marked storage identifiers in the second marked data set as the associated storage identifiers of the marked display data in the corresponding first marked data set includes: If there is display data that is marked in at least two first marked data sets, taking the intersection of the marked variable names in the corresponding at least two second marked data sets, and using the variable names included in the intersection as the associated variable names of the display data; The determining candidate storage identifiers corresponding to the display data according to the associated storage identifiers corresponding to the display data includes: Determining the associated variable names corresponding to the display data as the candidate variable names corresponding to the display data.

4. The method according to claim 2, wherein The second data set is obtained through a second communication protocol, the storage identifier includes a storage address, the storage data includes address data, and the address data includes the data stored in the storage address. The determining candidate storage identifiers corresponding to the display data according to the associated storage identifiers corresponding to the display data includes: For each display data, a deletion mark is made for the invalid storage address of the display data in the target second mark data set corresponding to the display data, where the invalid storage address includes the marked storage addresses in the second mark data sets corresponding to all the first mark data sets that do not mark the display data; According to the position information of the associated storage address of the display data in the target second mark data set, the position information of the invalid storage address marked for deletion, and the target data type, one or more groups of candidate storage addresses corresponding to the display data are determined.

5. The method according to claim 4, wherein The first mark data set corresponding to the target second mark data set does not mark the display data, and is the first mark data set with the most marked display data.

6. The method according to claim 4, wherein The first mark data set corresponding to the target second mark data set does not mark the display data. The step of determining one or more groups of candidate storage addresses corresponding to the display data according to the position information of the associated storage address of the display data in the target second mark data set, the position information of the invalid storage address marked for deletion, and the target data type includes: Determine all storage address combinations that meet the target data type, do not include the marked storage addresses in the target second mark data set, and include the associated storage address as one or more groups of candidate storage addresses corresponding to the display data, where multiple storage addresses in the same storage address combination are consecutive in the target second mark data set.

7. The method according to claim 6, wherein The method further includes: In the target second mark data set, using the marked storage addresses in the target second mark data set as splitting points, the target second mark data set is split into multiple data blocks, where the data blocks do not include the storage addresses serving as splitting points; If there are invalid data blocks among the multiple data blocks, delete the invalid data blocks from the target second mark data set, and use the remaining data blocks as the target data blocks for the display data, where the invalid data blocks include data blocks that do not contain the associated storage address of the display data; The step of determining all storage address combinations that meet the target data type, do not include the marked storage addresses in the target second mark data set, and include the associated storage address as one or more groups of candidate storage addresses corresponding to the display data includes: In each of the target data blocks, determine all storage address combinations that meet the target data type and include the associated storage address as one or more groups of candidate storage addresses corresponding to the display data, where multiple storage addresses in the same storage address combination are consecutive in the target data block.

8. The method according to claim 7, wherein The method further includes: Monitor and record the synchronization change information of the target data block with the display data to update the target data block of the display data. Among them, the steps of updating the target data block of the display data include: when the display data has not changed, if there is a storage address in the target data block where the address data has changed, continue to use the changed storage address as the segmentation point to segment the target data block into multiple data blocks. If there are invalid data blocks among the multiple data blocks, delete the invalid data blocks from the target data block, and use the remaining data blocks as the updated target data block; when the display data has changed, if there is a target data block where all storage addresses have not changed, delete the target data block as an invalid data block, and use the remaining data blocks as the updated target data block. Repeat the operation of updating the target data block of the display data above. When the target data block of the display data meets the stop update condition, stop updating the target data block of the display data.

9. The method according to claim 1, wherein The correlation discrimination algorithm includes the Spearman rank correlation coefficient method. If the display data corresponds to multiple candidate storage identifiers or multiple groups of candidate storage identifiers, determining the target storage identifier corresponding to the display data from the candidate storage identifiers corresponding to the display data through the correlation discrimination algorithm includes: For each display data, record the display change values of the display data at multiple time points. If the display data corresponds to multiple candidate storage identifiers, for each candidate storage identifier, record the candidate storage change values corresponding to the candidate storage identifier at the multiple time points; if the display data corresponds to multiple groups of candidate storage identifiers, for each group of candidate storage identifiers, calculate the candidate storage change values corresponding to the group of candidate storage identifiers at the multiple time points. Determine the group of candidate storage change values most relevant to the group of display change values according to the Spearman rank correlation coefficient between each group of display change values and the corresponding group of candidate storage change values, and use the candidate storage identifier corresponding to the group of candidate storage change values as the target storage identifier corresponding to the display data.

10. The method according to claim 7, characterized in that The calculating the candidate storage change values corresponding to each group of candidate storage identifiers at the multiple time points includes: For each group of candidate storage addresses, read the address data corresponding to each storage address in the group of candidate storage addresses at multiple time points. Based on each data storage mode in one or more data storage modes, parse the address data corresponding to the group of candidate storage addresses at each time point to obtain the candidate storage change values corresponding to the group of candidate storage addresses at each data storage mode and each time point, so as to obtain the candidate storage change values of each group of candidate storage addresses at multiple time points and multiple data storage modes.

11. A computer device for determining the point table information of a control device, including a memory, a processor, and a computer program stored on the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 10.

12. A computer-readable storage medium having computer programs / instructions stored thereon, characterized in that, When the computer program / instructions are executed by the processor, the steps of the method according to any one of claims 1 to 10 are implemented.