Equipment management method, equipment management system, upper computer and computer readable medium

By periodically reading the lower-level machine structure and updating the data format using a mapping table, the problem of excessive communication load between the upper-level and lower-level machines is solved, achieving efficient and stable data transmission.

CN121143221APending Publication Date: 2025-12-16浙江晟霖益嘉科技有限公司
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202511224606.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-29
Publication Date
2025-12-16

AI Technical Summary

Technical Problem

In the existing technology, when the host computer reads the operating parameters of the slave device, it adopts a dual polling mode of batch reading of structure and independent reading of single-point analog input and digital input, which leads to repeated data acquisition and increases the communication load between the host computer and the slave device.

Method used

By periodically reading the current structure through the thread corresponding to the lower-level machine, the target running parameters are determined, and the data format is converted using a mapping table. The independent reading of analog and digital inputs is canceled, and synchronous updates are only performed when the structure changes.

Benefits of technology

This reduces the communication load between the host computer and the slave computer, avoids redundant data transmission, and improves the stability and efficiency of communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121143221A_ABST
    Figure CN121143221A_ABST
Patent Text Reader

Abstract

The invention discloses an equipment management method, an equipment management system, an upper computer and a computer readable medium, and relates to the technical field of equipment management.The method comprises the steps that current structural bodies of all lower computers are periodically read by calling threads corresponding to all the lower computers; when the current structure is inconsistent with a target structure body, determining a target operation parameter from the current structure body; querying a mapping relation table, and determining target analog input and digital input corresponding to the target operation parameter; converting the data format of the target operation parameter into a data format corresponding to the target analog input and digital input to obtain a new target operation parameter; and using the new target operation parameter to update the operation parameter cached in the target analog input value input address. According to the invention, the communication load of the upper computer and the lower computer can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of equipment management technology, specifically to equipment management methods, equipment management systems, host computers, and computer-readable media. Background Technology

[0002] In the semiconductor manufacturing field, host computer equipment needs to simultaneously monitor and control multiple slave programmable logic controllers (PLCs) that perform specific logical operations, timing control, and data acquisition tasks. Taking a lithography machine as an example, the operation of a lithography machine requires the host computer to uniformly schedule the monitoring vacuum system PLC (maintaining the vacuum level of the lithography environment), the robotic arm PLC (achieving precise transfer of components such as wafers), and the optical adjustment PLC (controlling the parameter calibration and stabilization of optical components such as light sources and lenses) to ensure that each PLC cooperates precisely according to the preset process, guaranteeing the high precision and high stability requirements of semiconductor manufacturing.

[0003] Currently, when the host computer reads the device operating parameters from the slave computer, it uses a dual polling mode of "batch reading of structures + independent reading of single-point analog-to-digital input (AIDI)". This means that a structure containing multiple related data is defined in the slave computer, and the host computer can read the entire set of data with a single request. Simultaneously, the host computer also reads individual data points through independent requests. However, because the structure already contains some duplicate data corresponding to individual AIDIs, data is repeatedly acquired during the host computer's reading process, thus increasing the communication load between the host and slave computers. Summary of the Invention

[0004] This invention aims to address, to a certain extent, one of the technical problems in related technologies. To this end, this invention provides a device management method, a device management system, a host computer, and a computer-readable medium, which have the advantage of reducing the communication load between the host computer and the slave computer.

[0005] To achieve the above objectives, the present invention adopts the following technical solution:

[0006] A device management method is applied to a host computer, which communicates with multiple slave computers.

[0007] The current structure of each lower-level machine is periodically read by calling the thread corresponding to each lower-level machine; wherein, the current structure is a container for storing the running parameters of the lower-level machine.

[0008] When the current structure is inconsistent with the target structure, the target operating parameters are determined from the current structure; wherein, the target structure is the structure of the lower-level machine read by the host computer in the previous cycle, and the target operating parameters are the changed operating parameters;

[0009] Query the mapping table to determine the target analog digital input corresponding to the target operating parameters; wherein, the mapping table includes the correspondence between operating parameters and analog digital inputs;

[0010] The data format of the target operating parameters is converted into a data format corresponding to the target analog digital input to obtain new target operating parameters;

[0011] Using the new target operating parameters, update the operating parameters cached at the target simulated input value input address.

[0012] Optionally, the plurality of lower-level machines include a programmable logic controller for a liquid pump, a programmable logic controller for a robotic arm, and a programmable logic controller for a drying system. The step of periodically reading the current structure of each lower-level machine by calling a thread corresponding to each lower-level machine includes:

[0013] Obtain the configuration files of each of the lower-level machines; wherein the configuration files include Internet Protocol addresses, network port numbers, and communication protocols;

[0014] Based on the Internet Protocol address, network port number, and communication protocol, programmable logic controller (PLC) instances corresponding to each of the lower-level machines are constructed; wherein, the PLC control instances include a liquid pump PLC instance, a robotic arm PLC instance, and a drying system PLC instance;

[0015] The current structure of each lower-level machine is periodically read by calling the corresponding programmable logic controller instance through the thread corresponding to each lower-level machine.

[0016] Optionally, the programmable logic controller instance includes device information of the lower-level machine, which includes lower-level machine identification information, lower-level machine connection status information, and lower-level machine data address information.

[0017] Optionally, when the lower-level machine is a programmable logic controller for a liquid pump, the mapping table includes a mapping relationship between the liquid pump's switch state and the first analog-to-digital input, and a mapping relationship between the liquid flow rate and the second analog-to-digital input. When the lower-level machine is a programmable logic controller for a robotic arm, the mapping table includes a mapping relationship between the robotic arm's position and the third analog-to-digital input, and a mapping relationship between the robotic arm's running speed and the fourth analog-to-digital input. When the lower-level machine is a programmable logic controller for a drying system, the mapping table includes a mapping relationship between the drying system's switch state and the fifth analog-to-digital input, and a mapping relationship between the drying system's airflow speed and the sixth analog-to-digital input.

[0018] Optionally, the period can be in the range of 10ms ≤ T ≤ 50, where T represents the period.

[0019] Optionally, the communication protocols between the host computer and the slave computer include Modbus TCP, Profinet, and Ethernet / IP.

[0020] Optionally, after periodically reading the current structure of each lower-level machine by calling the thread corresponding to each lower-level machine, the method further includes:

[0021] The current structure is synchronized to the front-end device so that the front-end device can display the current structure.

[0022] Secondly, the present invention also provides a device management system, which includes a host computer and multiple slave computers, wherein the host computer and each of the slave computers are communicatively connected.

[0023] The host computer periodically reads the current structure of each lower-level machine through threads corresponding to each lower-level machine. When the current structure is inconsistent with the target structure, the host computer determines the target running parameters from the current structure, queries the mapping table, determines the target analog digital input corresponding to the target running parameters, converts the data format of the target running parameters to the data format corresponding to the target analog digital input, obtains new target running parameters, and uses the new target running parameters to update the running parameters cached at the target analog digital input address. The current structure is a container for storing the lower-level machine running parameters, the target structure is the structure of the lower-level machine read by the host computer in the previous cycle, the target running parameters are the changed running parameters, and the mapping table includes the correspondence between running parameters and analog digital inputs.

[0024] Thirdly, the present invention also provides a host computer, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the device management method described in any of the above claims.

[0025] Fourthly, the present invention also provides a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the device management method described in any of the preceding claims.

[0026] Compared to related technologies where the host computer uses a dual polling mode of "batch reading of structures + independent reading of single-point analog-to-digital input (AIDI)" to read structures from the slave computer, this invention eliminates the fixed polling of "independent AIDI reading," meaning it no longer reads AIDI data separately. By eliminating independent AIDI polling, the number of communications is reduced from the dual count of "structure reading + AIDI reading" to the single count of "structure reading only." Therefore, data is not repeatedly read during data reading, thus avoiding redundant data transmission and reducing the communication load between the host and slave computers.

[0027] In addition, AIDI data is no longer obtained through "independent reading". Instead, it relies on changes in the structure to trigger synchronization. That is, when a certain running parameter in the lower-level machine structure changes, the changed running parameter is automatically "synchronized" to the corresponding AIDI address. This is equivalent to indirectly updating AIDI data through changes in the structure, rather than actively reading it. By processing the synchronization logic only when the structure changes, redundant calculations for "unchanged data" are avoided.

[0028] These features and advantages of the present invention will be disclosed in detail in the following specific embodiments and accompanying drawings. The preferred embodiments or means of the present invention will be shown in detail in conjunction with the accompanying drawings, but are not intended to limit the technical solutions of the present invention. In addition, each of these features, elements and components appearing in the following text and drawings is a plurality of, and different symbols or numbers are used for convenience of representation, but all represent parts with the same or similar construction or function. Attached Figure Description

[0029] The present invention will be further described below with reference to the accompanying drawings:

[0030] Figure 1 A flowchart illustrating one embodiment of the device management method provided by the present invention;

[0031] Figure 2 This invention provides a flowchart illustrating how threads corresponding to each lower-level machine can be used to read the structure of a lower-level machine.

[0032] Figure 3 A schematic diagram illustrating the process of AIDI synchronization triggered by changes in data fields within a structure, as provided by this invention.

[0033] Figure 4 A schematic diagram of the architecture of an equipment management system provided by the present invention;

[0034] Figure 5 This is a schematic diagram of a module of one embodiment of the host computer provided in this application.

[0035] Figure 6 This is a schematic diagram of the computer storage medium module provided in the embodiments of this application.

[0036] Explanation of reference numerals in the attached figures

[0037] 101: Processor; 102: Memory

[0038] 103: I / O interface; 104: Bus. Detailed Implementation

[0039] Embodiments of the present invention are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described are intended to explain the present invention and should not be construed as limiting the invention.

[0040] The terms "an embodiment," "example," or "trademark" used in this specification refer to a particular feature, structure, or characteristic described in connection with the embodiment itself that may be included in at least one embodiment disclosed in this invention. The phrase "in an embodiment" appearing in various places throughout the specification does not necessarily refer to the same embodiment.

[0041] As a first aspect of the present invention, a device management method is provided, such as... Figure 1 As shown, the method includes:

[0042] In step S110, the current structure of each lower-level machine is periodically read by calling the thread corresponding to each lower-level machine.

[0043] The current structure is a container for storing the lower-level machine's operating parameters.

[0044] In this embodiment, the current structure can be a container for storing the operating parameters of the lower-level machine. It can include data fields of multiple operating parameters of the lower-level machine. For example, if the lower-level machine is a programmable logic controller for a liquid pump, the data fields of the programmable logic controller for the liquid pump include the liquid pump switch status field and the liquid flow rate field.

[0045] In this embodiment, taking a semiconductor wafer cleaning equipment scenario as an example, multiple lower-level machines may include a programmable logic controller (PLC) for a chemical pump, a PLC for a robotic arm, and a PLC for a drying system. The period value ranges from 10ms to T to 50, where T represents the period. As a preferred implementation, the thread period is 10ms. The communication protocols used for communication between the upper-level and lower-level machines include Modbus TCP, Profinet, and Ethernet / IP.

[0046] Understandably, in practical applications, multiple lower-level machines can be adapted to specific semiconductor manufacturing scenarios, such as etching scenarios and deposition scenarios. For example, in a lithography machine scenario, the lower-level machine may include a vacuum system programmable logic controller, a robotic arm programmable logic controller, and an optical adjustment programmable logic controller.

[0047] It is worth mentioning that in related technologies, the host computer accesses the slave computer and reads its current structure through single-line polling or simple multi-threaded concurrency. However, reading the slave computer's current structure in the aforementioned way easily leads to thread contention and resource blocking, especially when the number of slave computers exceeds ten, the response latency increases significantly, such as exceeding 50ms, thus failing to meet the high-precision synchronization requirements of semiconductor devices, such as etching processes requiring a synchronization response time of less than 20ms. Therefore, to avoid response latency and meet the high-precision synchronization requirements of semiconductor devices, further, as an optional implementation method, refer to... Figure 2 As shown, Figure 2 The flowchart illustrating the process of reading the lower-level machine structure using threads corresponding to each lower-level machine includes step S110, which specifically includes:

[0048] In step S210, the configuration files of each of the lower-level machines are obtained.

[0049] The configuration file includes Internet Protocol address, network port number, and communication protocol.

[0050] In step S220, a programmable logic controller instance corresponding to each of the lower-level machines is constructed based on the Internet protocol address, network port number, and communication protocol.

[0051] The programmable logic control examples include a programmable logic controller example for a liquid pump, a programmable logic controller example for a robotic arm, and a programmable logic controller example for a drying system.

[0052] In step S230, the current structure of each lower-level machine is periodically read by calling the corresponding programmable logic controller instance through the thread corresponding to each lower-level machine.

[0053] Specifically, the configuration files of each lower-level machine can be stored locally on the host computer, so that when step S210 is executed, the host computer can directly read the configuration files corresponding to the lower-level machines from the local storage. Alternatively, as another optional implementation, when the host computer starts up, the user can import the configuration files of each lower-level machine into the host computer through interaction with the host computer's human-machine interface.

[0054] After obtaining the configuration files of the lower-level machines, PLC instance objects (PLCInstances) corresponding to each lower-level machine can be constructed based on the Internet protocol address, network port, and communication protocol in the configuration files. These PLC instances are then used to create programmable logic controller (PLC) instances. Specifically, in this embodiment, the PLC instances created by the upper-level machine are a liquid pump PLC instance, a robotic arm PLC instance, and a drying system PLC instance. The liquid pump PLC instance is denoted as PLC_id: 01, the robotic arm PLC instance as PLC_id: 02, and the drying system PLC instance as PLC_id: 03. Furthermore, each lower-level machine's PLC instance can store its lower-level machine identification information (PLC-ID), lower-level machine connection status, and data area address, such as DB1.DBW0.

[0055] After constructing programmable logic controller (PLC) instances corresponding to each lower-level machine based on their configuration files, an independent thread can be allocated to each PLC instance through the thread pool executor (ThreadPoolExecutor) in the thread pool. That is, thread 1 is allocated to the liquid pump PLC instance, denoted as Thread-01; thread 2 is allocated to the robotic arm PLC instance, denoted as Thread-02; and thread 3 is allocated to the drying system PLC instance, denoted as Thread-03.

[0056] After constructing programmable logic controller (PLC) instances corresponding to each lower-level machine and allocating an independent thread to each PLC instance, the host computer can periodically read the current structure of each lower-level machine by calling the corresponding PLC instance through the thread corresponding to each lower-level machine. For example, the host computer can call the PLC instance of the liquid pump programmable logic controller through thread 1 to read the current structure of the liquid pump programmable logic controller every 10ms. In addition, the host computer can also independently handle the connection status monitoring and heartbeat detection of the corresponding lower-level machine through the thread corresponding to each lower-level machine.

[0057] In this embodiment, the host computer allocates an independent thread to each slave device through a thread pool. By periodically collecting the current structure of each slave device through the thread corresponding to each slave device, it can not only support the host computer to manage more slave devices at the same time, such as supporting the host computer to manage more than 20 slave devices at the same time, but also improve the management efficiency of the host computer to the slave devices, while avoiding thread competition for access by the slave devices, effectively reducing response latency, and thus improving the stability of communication between the host computer and the slave devices.

[0058] In step S120, when the current structure is inconsistent with the target structure, the target operating parameters are determined from the current structure.

[0059] The target structure is the structure of the lower-level machine read by the host computer in the previous cycle, and the target operating parameters are the operating parameters that have changed.

[0060] It should be noted that when the host computer reads the current structure from the slave device, due to the nature of network transmission and slave device memory storage, the slave device returns a raw byte array to the host computer. This array represents the slave device's status, control signals, etc. Upon receiving the raw byte array, the host computer, being a binary byte stream, cannot know the specific meaning of each byte. Therefore, deserialization can be used to convert the raw byte array into a structure, obtaining the current structure. This means defining a structure (DeviceStatusObj) in the host computer with a layout completely identical to the slave device's structure. Furthermore, the field names, field types, field order, and alignment in the host computer's structure correspond one-to-one with those in the slave device's structure. Field types include Boolean (BOOL), floating-point (REAL), and double-precision integer (DINT). The obtained raw byte array is parsed byte by byte according to the predefined memory layout rules of DeviceStatusObj, and the parsed bytes are filled into the various fields of the DeviceStatusObj instance to obtain the current structure.

[0061] After obtaining the current structure, changes in the structure field values ​​can be monitored through reflection, memory hooks, or hash values ​​to determine whether the current structure is consistent with the target structure. If the current structure is inconsistent with the target structure, the target runtime parameters can be determined from the current structure.

[0062] In step S130, the mapping relationship table is queried to determine the target analog digital input corresponding to the target operating parameters.

[0063] The mapping table includes the correspondence between operating parameters and analog / digital inputs.

[0064] In this embodiment, the mapping relationship can be set according to the structure of the lower-level machine. That is, when the lower-level machine is a programmable logic controller for a liquid pump, the mapping relationship table includes the mapping relationship between the liquid pump switch state and the first analog-to-digital input, and the mapping relationship between the liquid flow rate and the second analog-to-digital input. When the lower-level machine is a programmable logic controller for a robotic arm, the mapping relationship table includes the mapping relationship between the robotic arm position and the third analog-to-digital input, and the mapping relationship between the robotic arm running speed and the fourth analog-to-digital input. When the lower-level machine is a programmable logic controller for a drying system, the mapping relationship table includes the mapping relationship between the drying system switch state and the fifth analog-to-digital input, and the mapping relationship between the drying system airflow speed and the sixth analog-to-digital input.

[0065] Specifically, in the semiconductor wafer cleaning equipment scenario, for the chemical pump programmable logic controller (PLC), the structure field (PumpStatus) of the PLC includes the on / off status of the chemical pump (pump_on) and the chemical flow rate (flow_rate); for the robotic arm PLC, the structure field (ArmStatus) of the robotic arm PLC includes the robotic arm position (arm_pos) and the robotic arm running speed (speed); for the drying system PLC, the structure field includes the drying system on / off status and the drying system airflow speed.

[0066] In step S140, the data format of the target operating parameters is converted into a data format corresponding to the target analog digital input to obtain new target operating parameters.

[0067] In step S150, the operating parameters cached at the target simulated input value input address are updated using the new target operating parameters.

[0068] Specifically, refer to Figure 3 As shown, Figure 3 This is a schematic diagram illustrating the process by which changes to data fields in a structure trigger AIDI synchronization. Figure 3In this process, after the host computer reads the current structure of the slave computer, it completes the reading of the PLC structure and determines whether the current structure is consistent with the target structure, i.e., it monitors for changes. If the current structure is inconsistent with the target structure, a change has occurred. The target operating parameters are determined from the current structure, and the operating parameters cached at the AIDI address are updated using the target operating parameters. The current structure is also used to update the structure stored in the Programmable Logic Controller Input / Output (PLCIO) module, triggering an update of the PLCIO module structure cache and the corresponding AIDI cache. If the current structure is consistent with the target structure, no change has occurred, and no update operation is performed. The host computer then reads the new current structure from the slave computer in the next cycle, i.e., it reads the next PLC structure.

[0069] It's important to note that AIDI is an interface for data interaction with external hardware devices. AIDI can transmit operating parameters from the lower-level machine to external hardware devices or read data from hardware devices. When updating operating parameters cached at the AIDI address using target operating parameters, due to the strict data format requirements of hardware interfaces like AIDI, appropriate format conversion of the target operating parameters is necessary to ensure correct communication with the hardware device. Taking a liquid pump programmable logic controller (PLC) as an example, the PLC includes the pump's on / off state and liquid flow rate. The field type for the pump on / off state is BOOL, and the field type for the liquid flow rate is REAL. Given the target operating parameters as the pump's on / off state and liquid flow rate, if the MemoryMonitor monitors PumpStatusObj.pump-on changing from FALSE to TRUE (indicating the pump is started) and MemoryMonitor monitors PumpStatusObj.flow-rateflow_rate changing from 20.0 to 25.0 (indicating an increase in liquid flow rate),... In this case, for the on / off state of the liquid pump, the Boolean value TRUE is converted to the number 1, and FALSE is converted to 0. For the liquid flow rate, the liquid flow rate will be proportionally converted into the corresponding voltage or current signal.

[0070] After converting the data format of the target operating parameters into a data format corresponding to the target analog input number to obtain the new target operating parameters, the operating parameters cached at the input address of the target analog input value are updated using the new target operating parameters.

[0071] After periodically reading the current structure of each lower-level machine by calling the thread corresponding to each lower-level machine, in order to display the current running status of the lower-level machine to the user in real time, as an optional implementation, the current structure can be synchronized to the front-end device so that the front-end device can display the current structure. That is, after step S110, the method further includes: synchronizing the current structure to the front-end device so that the front-end device can display the current structure.

[0072] In this embodiment, compared to related technologies where the host computer uses a dual polling mode of "batch reading of structures + independent reading of single-point analog input digital input (AIDI)" to read structures from the slave computer, this invention eliminates the fixed polling of "independent AIDI reading," meaning that AIDI data is no longer read separately. After eliminating independent AIDI polling, the number of communications is reduced from the dual number of "structure reading + AIDI reading" to the single number of "structure reading only," thus preventing data from being read repeatedly and avoiding redundant data transmission, thereby reducing the communication load between the host computer and the slave computer.

[0073] In addition, AIDI data is no longer obtained through "independent reading". Instead, it relies on changes in the structure to trigger synchronization. That is, when a certain running parameter in the lower-level machine structure changes, the changed running parameter is automatically "synchronized" to the corresponding AIDI address. This is equivalent to indirectly updating AIDI data through changes in the structure, rather than actively reading it. By handling the synchronization logic only when the structure changes, redundant calculations on "unchanged data" are avoided, thereby reducing the computing load on the upper-level machine.

[0074] Secondly, this embodiment also provides a device management system, which includes a host computer and multiple slave computers, wherein the host computer and each of the slave computers are communicatively connected.

[0075] The host computer periodically reads the current structure of each lower-level machine through threads corresponding to each lower-level machine. When the current structure is inconsistent with the target structure, the host computer determines the target running parameters from the current structure, queries the mapping table, determines the target analog digital input corresponding to the target running parameters, converts the data format of the target running parameters to the data format corresponding to the target analog digital input, obtains new target running parameters, and uses the new target running parameters to update the running parameters cached at the target analog digital input address. The current structure is a container for storing the lower-level machine running parameters, the target structure is the structure of the lower-level machine read by the host computer in the previous cycle, the target running parameters are the changed running parameters, and the mapping table includes the correspondence between running parameters and analog digital inputs.

[0076] In this embodiment, the host computer includes a PLC management module, a thread pool, a data synchronization module, a PLCIO module, and a front-end / back-end interaction module. The PLC management module is connected to the thread pool, the thread pool is connected to the data synchronization module, and the data synchronization module is connected to the PLCIO module. The host computer can manage the programmable logic controller (PLC) instances through the PLC management module. Specifically, after obtaining the configuration files of each slave device, the host computer can construct a PLC instance corresponding to each slave device based on the Internet protocol address, network port number, and communication protocol in the configuration file. An independent thread is allocated to each PLC instance through the thread pool. Furthermore, when adding or removing a new slave device, the addition or deletion of the slave device can be achieved through its configuration file.

[0077] The host computer can predefine the mapping relationship between the running parameters in the structures of each slave device and their corresponding AIDIs through the data synchronization module. When the host computer subsequently reads the current structures of each slave device, it can detect changes in structure values ​​through memory and generate an AIDI synchronization event when a change occurs. This is achieved by monitoring changes in structure field values ​​through a memory monitor (MemoryMonitor), memory hooks, reflection mechanisms, or hash value calculations, and using the running parameters whose structure field values ​​have changed as target running parameters. After determining the target running parameters, the mapping relationship can be found, the AIDI corresponding to the target running parameters can be used as the target AIDI, and the data format of the target running parameters can be converted to the corresponding data format to obtain the new target running parameters. The running parameters cached at the target AIDI address are then updated using the new target running parameters.

[0078] The host computer can uniformly manage read and write commands from both the host and slave computers and maintain data caches through the PLCIO module. The PLCIO module can read the structure of the slave computer by calling the corresponding programmable logic controller instance through a thread based on the read command. Similarly, it can write control parameters to the slave computer by calling the corresponding programmable logic controller instance through a thread based on the write command. For example, taking a liquid pump programmable logic controller as an example, after receiving the liquid pump start command, the host computer sends the liquid pump start command PLCIO.write(plc_id=01,“pump_on”,TRUE) to the PLCIO module through its internal control module. Upon receiving the liquid pump start command, the PLCIO module routes the command to Thread-01 to perform the write operation. That is, the PLCIO module controls thread 1 to call the liquid pump programmable logic controller to write “pump_on”,TRUE to the liquid pump programmable logic controller. The PLCIO module can maintain a data cache, storing the latest data for each lower-level device, such as `plc_idXXX:{"run_status":TRUE,"temperature":30.5}`, meaning that lower-level device XXX is running and its current temperature is 30.5℃. To ensure consistency in subsequent data reads, the PLCIO module can also add a version number, or data identifier, to each data entry, such as `version:1024`. When maintaining the data cache, the PLCIO module can use a ConcurrentHashMap or a similar thread-safe collection to store the latest data for each lower-level device.

[0079] It's worth noting that the host computer consists of multiple functional modules, such as a control module, a monitoring module, a data storage module, and a front-end / back-end interaction module. In an automation system, after reading information from the slave device, the host computer needs to share this information among the control, monitoring, data storage, and front-end / back-end interaction modules. For example, the slave device information can be shared with the control module, allowing it to execute corresponding control commands based on the slave device's status. Alternatively, the information can be shared with the monitoring module, which displays the slave device's current status and control information to the user. However, information sharing between modules occurs by each module independently subscribing to data from the slave device. This leads to inconsistencies in information synchronization. For instance, if the control module changes the slave device's status or parameters, the monitoring and other modules may not update in time, resulting in a discrepancy between the displayed status and the actual status, thus affecting the reliability of the slave device's operation. Based on this, in this embodiment, after the PLCIO module determines the target operating parameters and the target AIDI corresponding to the target operating parameters, the PLCIO module can push the target operating parameters to other control modules that have a subscription relationship with the corresponding lower-level machine through the event bus. For example, the monitoring module subscribes to AIDI_001 and AIDI_002. When the PLCIO module receives that AIDI_001 has changed from FALSE to TRUE, it notifies the monitoring module to update the interface through the event bus to achieve real-time information synchronization. That is, by uniformly managing the data publishing / subscription mechanism through the PLCIO module, it can ensure that the data versions between the control module, the monitoring module and the front-end interface are consistent, thereby reducing the data synchronization delay from the data source to each module.

[0080] After the host computer collects the structure from the slave computer, it can synchronize the structure to the front-end interface, such as a web interface or client, through the front-end and back-end interaction module to support real-time display and remote control.

[0081] Specifically, refer to Figure 4 As shown, Figure 4 This is a schematic diagram of the equipment management system architecture. Figure 4In this process, the front-end communicates with the host computer, meaning the front-end device communicates with the host computer. The host computer also communicates with multiple PLC devices, meaning it communicates with multiple lower-level devices. The PLCIO module in the host computer, through its corresponding thread for each lower-level device, calls the corresponding programmable logic controller instance to periodically read the current structure of each lower-level device via a data query interface. Specifically, PLCIO module control thread 1 calls PLC instance 1 to read the current structure of PLC device 1 via the data query interface; PLCIO module control thread 2 calls PLC instance 2 to read the current structure of PLC device 2 via the data query interface; and PLCIO module control thread 3 calls PLC instance 3 to read the current structure of PLC device 3 via the data query interface.

[0082] After reading the current structure of the lower-level machine, the upper-level machine can use the data synchronization module to determine whether the current structure of the lower-level machine is consistent with the target structure. If the current structure is inconsistent with the target structure, the target running parameters and the corresponding target AIDI are determined. The target running parameters are then format-converted to obtain new target running parameters. These new target running parameters are used to update the running parameters cached at the target AIDI address, which is a monitoring and update cache operation. After the monitoring and update cache operation, the PLCIO module can send the current structure to the backend, i.e., the front-end and back-end interaction module. The front-end and back-end interaction module synchronizes the structure data of the lower-level machine to the front-end interface, such as synchronizing it to the client or web page. At the same time, the PLCIO module can also push the target running parameters to modules with subscription relationships with the corresponding lower-level machines via the event bus, i.e., perform data query subscription operations, such as the monitoring and display module, so that the current status of the lower-level machine can be displayed to the user through the monitoring and display module.

[0083] Correspondingly, when a user inputs new operating parameters through the front-end interactive interface, the front-end can synchronize the new operating parameters to the host computer through the front-end and back-end interaction module. The front-end and back-end interaction module then transmits the new operating parameters to the PLCIO module. Upon receiving the new operating parameters, the PLCIO module controls the thread pool to call the thread corresponding to the lower-level machine. This thread then calls the corresponding programmable logic controller instance to write the new operating parameters to the lower-level machine through the data write interface. In other words, when the user performs a data write operation through the front-end, the front-end synchronizes the user-written data to the host computer through the back-end. The back-end then delegates the data write operation to the user. When the newly written data is the operating parameters for PLC device 1, the PLCIO module controls the thread pool to call thread 1. Thread 1 then calls PLC instance 1 to write the new operating parameters to PLC device 1 through the data write interface. Similarly, when the newly written data is the operating parameters for PLC device 2, the PLCIO module controls the thread pool to call thread 2. Thread 2 then calls PLC instance 2 to write the new operating parameters to PLC device 2 through the data write interface, and so on.

[0084] Thirdly, this embodiment also provides a host computer, wherein, as Figure 5 As shown, the host computer includes:

[0085] One or more processors 101;

[0086] The memory 102 stores one or more computer programs that, when executed by the one or more processors 101, cause the one or more processors 101 to implement the device management method according to the first aspect of the invention.

[0087] The host computer may also include one or more I / O interfaces 103 connected between the processor 101 and the memory 102, configured to enable information interaction between the processor 101 and the memory 102.

[0088] The processor 101 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the first memory is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I / O interface (read-write interface) is connected between the processor and the memory, enabling information exchange between the processor and the memory, including but not limited to a data bus (Bus).

[0089] In some embodiments, the processor 101, memory 102, and I / O interface 103 are interconnected via bus 104, and thus connected to other components of the computing device.

[0090] As a fourth aspect of the present invention, such as Figure 6 As shown, a computer-readable medium is provided having a computer program stored thereon, which, when executed by a processor, implements the device management method provided in the first aspect of this disclosure.

[0091] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. Accordingly, the computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can implement the methods of any of the above embodiments. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0092] The above are merely specific embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Those skilled in the art should understand that the present invention includes, but is not limited to, the contents described in the accompanying drawings and the specific embodiments above. Any modifications that do not depart from the functional and structural principles of the present invention will be included within the scope of the claims.

Claims

1. A method for managing equipment, characterized in that, It is applied to a host computer, which communicates with multiple slave computers. The current structure of each lower-level machine is periodically read by calling the thread corresponding to each lower-level machine; wherein, the current structure is a container for storing the running parameters of the lower-level machine. When the current structure is inconsistent with the target structure, the target operating parameters are determined from the current structure; wherein, the target structure is the structure of the lower-level machine read by the host computer in the previous cycle, and the target operating parameters are the changed operating parameters; Query the mapping table to determine the target analog digital input corresponding to the target operating parameters; wherein, the mapping table includes the correspondence between operating parameters and analog digital inputs; The data format of the target operating parameters is converted into a data format corresponding to the target analog digital input to obtain new target operating parameters; Using the new target operating parameters, update the operating parameters cached at the target simulated input value input address.

2. The equipment management method according to claim 1, characterized in that, The plurality of lower-level machines include a programmable logic controller for a liquid pump, a programmable logic controller for a robotic arm, and a programmable logic controller for a drying system. The step of periodically reading the current structure of each lower-level machine by calling the thread corresponding to each lower-level machine includes: Obtain the configuration files of each of the lower-level machines; wherein the configuration files include Internet Protocol addresses, network port numbers, and communication protocols; Based on the Internet Protocol address, network port number, and communication protocol, programmable logic controller (PLC) instances corresponding to each of the lower-level machines are constructed; wherein, the PLC control instances include a liquid pump PLC instance, a robotic arm PLC instance, and a drying system PLC instance; The current structure of each lower-level machine is periodically read by calling the corresponding programmable logic controller instance through the thread corresponding to each lower-level machine.

3. The equipment management method according to claim 2, characterized in that, The programmable logic controller instance includes the device information of the lower-level machine, which includes lower-level machine identification information, lower-level machine connection status information, and lower-level machine data address information.

4. The equipment management method according to claim 1, characterized in that, When the lower-level machine is a programmable logic controller for a liquid pump, the mapping table includes the mapping relationship between the liquid pump's on / off state and the first analog-to-digital input, and the mapping relationship between the liquid flow rate and the second analog-to-digital input. When the lower-level machine is a programmable logic controller for a robotic arm, the mapping table includes the mapping relationship between the robotic arm's position and the third analog-to-digital input, and the mapping relationship between the robotic arm's running speed and the fourth analog-to-digital input. When the lower-level machine is a programmable logic controller for a drying system, the mapping table includes the mapping relationship between the drying system's on / off state and the fifth analog-to-digital input, and the mapping relationship between the drying system's airflow speed and the sixth analog-to-digital input.

5. The equipment management method according to claim 1, characterized in that, The value range of the period is 10ms≤T≤50, where T represents the period.

6. The equipment management method according to claim 1, characterized in that, The protocols used for communication between the host computer and the slave computer include Modbus TCP, Profinet, and Ethernet / IP.

7. The equipment management method according to claim 1, characterized in that, After periodically reading the current structure of each lower-level machine by calling the thread corresponding to each lower-level machine, the method further includes: The current structure is synchronized to the front-end device so that the front-end device can display the current structure.

8. An equipment management system, characterized in that, The device management system includes a host computer and multiple slave computers, and the host computer communicates with each of the slave computers. The host computer periodically reads the current structure of each lower-level machine through threads corresponding to each lower-level machine. When the current structure is inconsistent with the target structure, the host computer determines the target running parameters from the current structure, queries the mapping table, determines the target analog digital input corresponding to the target running parameters, converts the data format of the target running parameters to the data format corresponding to the target analog digital input, obtains new target running parameters, and uses the new target running parameters to update the running parameters cached at the target analog digital input address. The current structure is a container for storing the lower-level machine running parameters, the target structure is the structure of the lower-level machine read by the host computer in the previous cycle, the target running parameters are the changed running parameters, and the mapping table includes the correspondence between running parameters and analog digital inputs.

9. A host computer, characterized in that, include: One or more processors; A memory having stored one or more computer programs thereon, which, when executed by the one or more processors, cause the one or more processors to implement the device management method according to any one of claims 1 to 7.

10. A computer-readable medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the device management method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for updating cache data of lower computer of measurement and control system

    CN109361736A

  • Protocol implementation method for taking upper computer software as lower computer equipment

    CN111131291A

  • Data transmission method and device, electronic equipment and storage medium

    CN115002048A

  • Data processing method and device based on heterogeneous core architecture, storage medium and electronic equipment

    CN119336693A

  • Data processing method and device, computer equipment, storage medium and program product

    CN119806948A