Process parameter issuing method, system, device and storage medium

By combining control handles and image recognition technology, the automated positioning and injection of process parameters are realized, solving the stability and efficiency problems of existing methods. It achieves non-intrusive data automation across applications, improves production efficiency and data accuracy, and is suitable for the distribution of process parameters in the field of computer technology.

CN122132610APending Publication Date: 2026-06-02SHENZHEN SIPTORY TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN SIPTORY TECH CO LTD
Filing Date
2026-02-11
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing methods for issuing process parameters are unstable and inefficient, making it difficult to achieve automated data integration. They are prone to errors, especially in closed systems and manual operations, leading to low production efficiency and increased risks.

Method used

By combining control handle positioning and image recognition technology, the target control is accurately located, simulating manual operation logic, and realizing non-intrusive automatic writing and execution of recipe data across applications. The control handle is used for positioning on the standard interface, and OCR image recognition is used for positioning on the non-standard interface, ensuring operational stability and accuracy.

Benefits of technology

It improves the stability and robustness of automated operation for issuing process parameters, increases production efficiency, reduces the risk of human error, achieves non-intrusive compatibility with closed systems, breaks down data silos, and ensures the accuracy and consistency of process formula data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122132610A_ABST
    Figure CN122132610A_ABST
Patent Text Reader

Abstract

The application discloses a process parameter issuing method, system, device and storage medium. The method comprises the following steps: acquiring a process parameter. A target window is determined. The node position of a target control in the target window is located according to a control handle. It is judged whether the target control is located. The coordinate position of the target control in the target window is located through image recognition. According to the mapping relationship between the process parameter and the target control, the process parameter is injected into the target control corresponding to the node position or the coordinate position. Through the combination of the accuracy of the underlying control information and the universality of the image recognition, the artificial operation logic is simulated, and the cross-application, non-intrusive formula data automatic writing and execution are realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to methods, systems, devices and storage media for distributing process parameters. Background Technology

[0002] With the rapid development of industrial and intelligent manufacturing technologies, automated production lines are placing higher demands on the efficiency and accuracy of equipment control. In manufacturing fields such as semiconductors, new energy, and precision electronics, production equipment typically needs to frequently switch process parameters (i.e., "recipes") according to different product models. These recipes are usually entered, modified, and distributed by engineers using accompanying PC-based host computer software.

[0003] The existing methods for issuing process parameters have the following drawbacks: 1. Many existing production equipment, especially those purchased earlier or those with control software from certain vendors, are often closed systems. This software does not provide open application programming interfaces (APIs), SDKs, or database access. Furthermore, some software vendors may have ceased technical support or updates for the software, preventing factories from achieving automation integration through conventional code integration methods (such as HTTP requests, DLL calls, etc.), thus creating "data silos."

[0004] 2. Currently, the most common method for issuing process parameters is manual operation. Operators need to manually enter values ​​on the PC software interface and click buttons. This method is not only inefficient and wastes valuable human resources, but more seriously, it is prone to human input errors (such as entering an extra zero in the parameter), which may lead to serious product scrapping or equipment failure risks.

[0005] 3. A few devices use scripts with fixed coordinates (such as AutoHotkey) to issue process parameters. This technology simulates operations by recording the screen coordinates (X, Y) of mouse clicks. It is extremely dependent on the fixed screen resolution and window position. Once the software window moves or the pop-up window position shifts, the script will click in the wrong position, causing the process to fail or even result in misoperation, exhibiting extremely poor robustness (stability). Summary of the Invention

[0006] The main purpose of this application is to solve the technical problems of poor stability, low efficiency, and difficulty in achieving automated data integration in existing process parameter distribution methods.

[0007] A method for issuing process parameters includes the following steps S1-S6: S1. Obtain process parameters.

[0008] S2. Determine the target window.

[0009] S3. Locate the node position of the target control in the target window based on the control handle.

[0010] S4. Determine whether the target control has been located; if yes, proceed to step S5; if no, proceed to step S6.

[0011] S5. Locate the coordinates of the target control within the target window using image recognition.

[0012] S6. Based on the mapping relationship between process parameters and target controls, inject the process parameters into the target controls at the corresponding node positions or coordinate positions.

[0013] Optionally, step S2 includes the following steps S21-S22: S21. Obtain the list of top-level window handles to form the initial window list.

[0014] S22. Based on the handle of the top-level window, obtain the window features of each top-level window in the initial window list; match the window features with the desired window features to obtain the target window.

[0015] Window characteristics include window title, window process name, and window class name.

[0016] Optionally, step S22 includes the following steps S221-S23: S221. Obtain the actual title of each top-level window in the initial window list through the handle of the top-level window; perform fuzzy matching between the actual title of each top-level window and the expected title, filter to obtain several initial selected windows, and form an initial selected window list.

[0017] S222. Obtain the actual process name used to create each initial window in the initial window list by using the handle of the initial window; perform a precise string comparison between the actual process name corresponding to each initial window and the expected process name, filter out several candidate windows, and form a candidate window list.

[0018] S223. Obtain the actual window class name of each candidate window in the candidate window list through the handle of the candidate window; perform a precise string comparison between the actual window class name of each candidate window and the expected window class name to filter and obtain the target window.

[0019] Optionally, step S3 includes the following steps S31-S34: S31. Create a stack.

[0020] S32. Push the handle of the target window onto the stack as the starting node.

[0021] S33. Pop the current node from the top of the stack.

[0022] S34. Match the first control feature of the current node with the expected feature of the first control; if the first control feature of the current node matches the expected feature of the first control, then designate the control corresponding to the node as the target control.

[0023] Optionally, step S34 includes the following steps S341 to S346: S341. Obtain the complete handle path from the target window to the parent window of the current node.

[0024] S342. Match the complete handle path with the expected parent window handle path level by level. If the number of window handles in the two paths is the same and the handles at each corresponding position are consistent, then obtain the control corresponding to the current node as the initial control selection. Repeat steps S341 and S342 to finally obtain the initial control selection set.

[0025] S343. Read the class name property of the first initial selection control; the first initial selection control is any initial selection control in the initial selection control set.

[0026] S344. Perform a fuzzy match between the class name attribute of the first initially selected control and the expected class name attribute; if the match is successful, then use the first initially selected control as the first candidate control; finally, a set of candidate controls is obtained; the set of candidate controls contains several candidate controls. S345. Read the control identifier of the first candidate control; the first candidate control is any candidate control in the candidate control set.

[0027] S346. Perform a fuzzy match between the control identifier of the first candidate control and the desired control identifier; if the match is successful, take the first candidate control as the first target control and record the corresponding node position; finally, obtain the node position of each target control.

[0028] Optionally, step S5 includes the following steps S51 to S54: S51. Take a screenshot of the target window.

[0029] S52. Perform image preprocessing on the screenshot.

[0030] S53. Locate the logical coordinates of the target control in the screenshot by using the second control feature of the target control.

[0031] S54. Convert the logical coordinates to physical screen coordinates according to the screen scaling ratio of the target window.

[0032] Optionally, image preprocessing includes Gaussian noise reduction, grayscale conversion, adaptive threshold binarization, and text contour enhancement.

[0033] Based on the same technical concept, the present invention also provides a process parameter distribution system, comprising: The transceiver module is used to acquire process parameters.

[0034] The processing module is used to determine the target window; locate the node position of the target control in the target window based on the control handle; determine whether the target control has been located; locate the coordinate position of the target control in the target window through image recognition; and inject the process parameters into the target control at the corresponding node position or coordinate position according to the mapping relationship between process parameters and target controls.

[0035] Based on the same technical concept, the present invention also provides a computer device, including a transceiver, a memory and a processor, wherein the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor performs the steps in the process parameter distribution method described above.

[0036] Based on the same technical concept, the present invention also provides a storage medium storing computer-readable instructions, which, when executed by one or more processors, cause the one or more processors to perform the steps in the process parameter distribution method described above.

[0037] The beneficial effects of this application are as follows: By combining the accuracy of the underlying control information with the versatility of OCR image recognition, they complement each other, simulate the logic of manual operation, realize cross-application, non-intrusive automated writing and execution of formula data, improve the stability and robustness of automated operation of process parameter issuance, and enhance production efficiency and data accuracy. Attached Figure Description

[0038] Figure 1 This is a flowchart illustrating the process parameter distribution method in the embodiments of this application.

[0039] Figure 2 This is a schematic diagram of the process parameter distribution system in an embodiment of this application.

[0040] Figure 3 This is a schematic diagram of the structure of the computer device in the embodiments of this application. Detailed Implementation

[0041] It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of this application.

[0042] Those skilled in the art will understand that, unless specifically stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the word “comprising” as used in the specification of this application means the presence of the stated features, procedures, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, procedures, steps, operations, elements, components, and / or groups thereof.

[0043] Figure 1 This is a flowchart of a process parameter distribution method in some embodiments of this application, including the following steps S1-S6: S1. Parameter Acquisition: Acquire process parameters.

[0044] In some implementations, the data source for process parameters is a local file. File formats include Excel (.xlsx / .xls), JSON, XML, and CSV. Parsing tools include POI and Jackson.

[0045] After parsing, local file data is output as standardized process parameters and passed to subsequent business processes. The parsed process parameters can be directly accessed precisely based on object attributes, calculated numerically, validated according to rules, persistently stored, or visualized, without needing to concern themselves with the storage format and parsing details of the original file.

[0046] In some embodiments, the data source for process parameters is remote data. This remote data is obtained from the MES system via HTTP / HTTPS interfaces or queried from a cloud database (MySQL / Oracle) via JDBC, and supports subscription to real-time data streams (Kafka).

[0047] In some embodiments, the parsed process parameters are verified based on the data type (integer / floating-point / string) and numerical range (e.g., temperature 0-300℃) in the interface mapping configuration file. Unqualified process parameters are marked as "to be confirmed" and a pop-up window is displayed to prompt the user.

[0048] S2, Window Selection: Select the target window.

[0049] In some implementations, step S2 includes the following steps S21-S22: S21. Obtain the list of top-level window handles to form the initial window list.

[0050] A window handle is a unique identifier for a window. By calling the system-provided window enumeration API (such as the Windows EnumWindows function), a set of window handles for all top-level windows in the current system can be obtained, forming an initial window list.

[0051] S22. Based on the handle of the top-level window, obtain the window features of each top-level window in the initial window list; match the window features with the desired window features to obtain the target window.

[0052] Window characteristics include window title, window process name, or window class name.

[0053] In some implementations, step S22 includes the following steps S221-S23: S221. Obtain the actual title of each top-level window in the initial window list through the handle of the top-level window; perform fuzzy matching between the actual title of each top-level window and the expected title, filter to obtain several initial selected windows, and form an initial selected window list.

[0054] The API for obtaining the window title is called through the window handle. The actual window title is then fuzzily matched with the expected title pattern, and the top-level windows that successfully match are recorded in the initial window list.

[0055] Fuzzy matching algorithms include substring matching, regular expression matching, or similarity calculation.

[0056] S222. Obtain the actual process name used to create each initial window in the initial window list by using the handle of the initial window; perform a precise string comparison between the actual process name corresponding to each initial window and the expected process name, filter out several candidate windows, and form a candidate window list.

[0057] Using only fuzzy matching of window titles may find multiple similar windows. The system may simultaneously have a "Settings" window for Windows system settings, a "Settings" window for a certain domestic software, and a "Settings" window for a browser. All three have "Settings" in their titles and cannot be distinguished. In this case, exact matching of process names can accurately locate the target program.

[0058] Obtain the process identifier (ID) of the process by selecting the window handle, obtain the complete executable file path of the process by the process identifier, extract the process name from the file path, perform an exact string comparison between the extracted process name and the expected process name, and record the windows that meet the exact process name match to the candidate window list.

[0059] S223. Obtain the actual window class name of each candidate window in the candidate window list through the handle of the candidate window; perform a precise string comparison between the actual window class name of each candidate window and the expected window class name to filter and obtain the target window.

[0060] The window class name is obtained by using the candidate window handles and compared with the expected class name. If the target class name is explicitly specified, an exact match verification is performed; if no class name is specified, this step is skipped or simply recorded. Finally, windows that meet all the above matching conditions are selected from the initial window list, which are the target windows.

[0061] The above implementation method, through a three-level progressive matching mechanism, improves fault tolerance while ensuring accuracy. Fuzzy matching of the title addresses dynamic changes in the interface text, precise matching of the process name ensures the accuracy of the target application, and auxiliary matching of the window class name further eliminates interference from similar windows, forming a robust target window positioning scheme.

[0062] In some implementations, conflict detection is performed on the target window. When an obstruction of the target window is detected, conflict handling is performed. First, the type of obstructing window is determined, such as a system notification, third-party software, or a critical pop-up. If it is a system notification, it is automatically closed; if it is third-party software, it is minimized; if it is a critical pop-up (such as a device alarm pop-up), the process is paused and the user is prompted to handle it.

[0063] In some implementations, in a remote desktop environment, the remote screen coordinates are mapped to local logical coordinates by obtaining the remote desktop window handle, ensuring accurate positioning of the target window.

[0064] S3. Node Positioning: Within a preset time, locate the node position of the target control in the target window based on the control handle.

[0065] A stack data structure is used to perform a non-recursive depth-first traversal of the control tree in the target window. The target window is used as the root window, and the root window handle is used as the starting node and pushed onto the stack. The start time is recorded for timeout control. Then, based on the first control characteristics of the predefined target control, the control tree in the target window is traversed in a loop to determine the node position of the target control.

[0066] In some implementations, the first control characteristics of the target control include the parent window handle path, the control class name property, and the control identifier (Automation ID).

[0067] In some implementations, step S3 includes steps S31 to S34: S31. Create a stack.

[0068] A stack is a linear list with restricted operations, allowing insertion and deletion only at one end of the list (the top of the stack), and following the Last-In-First-Out (LIFO) principle.

[0069] S32. Push the handle of the target window onto the stack as the starting node.

[0070] S33. Pop the current node from the top of the stack.

[0071] Pop a window handle from the top of the stack as the current node.

[0072] S34. Match the first control feature of the current node with the expected feature of the first control; if the first control feature of the current node matches the expected feature of the first control, then designate the control corresponding to the node as the target control.

[0073] In some implementations, step S34 includes steps S341 to S346: S341. Obtain the complete handle path from the target window to the parent window of the current node.

[0074] Starting from the target window (root window), record the path upwards level by level until the direct parent window of the current control, forming a handle chain to obtain the actual path of the current control.

[0075] S342. Match the complete handle path with the expected parent window handle path level by level. If the number of window handles in the two paths is the same, and the handles at each corresponding position are consistent, then obtain the control corresponding to the current node as the initial selection control. Repeat steps S341 and S342 to finally obtain the initial selection control set.

[0076] If the complete handle path matches the expected parent window handle path at each level, the current control passes the "position verification" and is confirmed to be located in the expected window container level. If the current control's position does not meet expectations, subsequent verification of that control is immediately terminated, and the process continues to traverse the next standard control until the initial set of controls is obtained.

[0077] S343. Read the class name property of the first initial selection control. The first initial selection control is any initial selection control in the initial selection control set.

[0078] Call the system API to read the "class name" attribute value of the first initial control currently being validated, and obtain a string representing the type of the first initial control.

[0079] S344. Perform a fuzzy match between the class name attribute of the first initially selected control and the expected class name attribute; if a match is successful, then the first initially selected control is designated as the first candidate control. This results in a final set of candidate controls. The candidate control set contains several candidate controls.

[0080] The obtained class name string is compared with the preset matching rules. This "fuzzy matching" refers to imprecise, pattern-based matching. If the type attribute of the current preliminary control does not meet expectations, the subsequent validation of the preliminary control is immediately terminated, and the process continues to traverse the next preliminary control until all candidate controls are filtered out, resulting in a candidate control set.

[0081] Optionally, the fuzzy matching of the initial selection control includes substring inclusion matching, regular expression matching, prefix or suffix matching, etc.

[0082] The substring contains a match by checking if the control class name string contains a specific keyword, such as "Edit", which is considered an input box.

[0083] Regular expression matching uses regular expression patterns to match control class names; for example, matching ".Button." can identify various types of buttons.

[0084] Prefix / suffix matching checks whether the control class name begins or ends with a specific character.

[0085] S345. Read the control identifier of the first candidate control. The first candidate control is any candidate control in the candidate control set.

[0086] Call the UI automation interface to read the "AutomationID" attribute value of the first candidate control currently being validated, and obtain the string identifier of the first candidate control.

[0087] S346. Perform a fuzzy match between the control identifier of the first candidate control and the identifier of the desired control; if a match is successful, use the first candidate control as the first target control and record the corresponding node position. This results in a final set of target controls and the node position of each target control. The target control set contains several target controls.

[0088] The obtained Automation ID string is precisely compared with the preset target Automation ID. This includes matching of character information such as uppercase and lowercase letters, special characters, and spaces, without any fuzzy processing such as substring matching or regular expression matching. If the preset target Automation ID is empty, a match is only made if the candidate control Automation ID is also empty.

[0089] Repeat steps S31-S34 until the stack is empty or the preset time is exceeded, and finally obtain the node positions of all target controls.

[0090] The above implementation method applies to situations where the target window is a standard interface. A standard interface is an interface developed based on the system's native UI framework, with controls provided by the system (such as View in Android, UIView in iOS, and UIA controls in Windows), which can be directly identified and located by automation tools. Standard controls have system-defined window handles and class names, and can be directly accessed and controlled through system APIs. Using standard control handles enables 100% accurate positioning, unaffected by the target window's position.

[0091] S4. Positioning Judgment: Determine whether the target control has been located; if yes, proceed to step S5; if no, proceed to step S6.

[0092] In this application, the target window can be a standard interface or a non-standard interface. Non-standard interfaces are independent of the system's native framework and are custom-drawn / implemented by the application or a third-party UI framework. They lack standard system control properties and interfaces, and tools cannot directly recognize them through the system. Custom-drawn interfaces are a typical example (such as game UIs, custom visualization dashboards, and self-developed client interfaces). When the target window is a non-standard interface, the target control cannot be located because it cannot be directly recognized by tools using standard system control properties and interfaces.

[0093] S5. Coordinate Positioning: Locates the coordinate position of the target control within the target window using image recognition.

[0094] When the target window is a custom non-standard interface, the controls on the interface are also custom-drawn controls. Image recognition is used to locate the pixel coordinates of the target control, thereby determining the position of the target control.

[0095] In some implementations, step S5 includes steps S51 to S54: S51. Take a screenshot of the target window.

[0096] Screenshots can be taken automatically by calling the system's built-in native API, and by default, the client area of ​​the target window is captured, providing raw image input for OCR recognition of non-standard interfaces.

[0097] S52. Perform image preprocessing on the screenshot.

[0098] The screenshot of the target window is processed with Gaussian noise reduction, grayscale conversion, adaptive threshold binarization, and text outline enhancement to improve the image's anti-reflective properties.

[0099] S53. Locate the logical coordinates of the target control in the screenshot by using the second control feature of the target control.

[0100] The second set of control features includes the control's graphic, pattern, and text features. Graphic features include outline and shape features. Text recognition supports multilingual recognition, loading multilingual dictionaries such as Chinese, English, Japanese, and Korean, and supports synonym keyword matching, such as "pressure" and "Pressure". To ensure the accuracy of target control selection in the screenshot, after calculating the estimated coordinates of the target control, a rectangular area (80-200 pixels wide, 20-40 pixels high) is searched within a 50-pixel radius of the target control. If no other text is found within the area and the edges are clear, the target control is determined to be a valid target control, and its logical coordinates in the screenshot are output.

[0101] S54. Convert the logical coordinates to physical screen coordinates according to the screen scaling ratio of the target window.

[0102] To address the positioning inaccuracy issue on high-DPI screens, the logical coordinates for positioning are corrected. The screen scaling ratio is obtained, for example, through the GetDpiForWindow function in Windows. The logical coordinates (based on 100% scaling) are then multiplied by a scaling factor to convert them into physical screen coordinates.

[0103] S6. Parameter Injection: Based on the mapping relationship between process parameters and target controls, inject process parameters into the target controls at the corresponding node positions or coordinate positions.

[0104] Process parameters are injected into controls using a pre-trained data injection model. The model simulates human-machine interface interaction, moving the cursor to the coordinates of the target control and then inputting the retrieved process parameters. The input method is selected based on the type of process parameter. For numerical process parameters, keyboard input is simulated; for dropdown menus, parameters are selected using simulated mouse clicks and arrow keys. String-type process parameters support the input of special characters (such as "-" and ".").

[0105] In some implementations, step S6 includes steps S61 to S63: S61. Using a pre-trained data injection model, the cursor is moved to the target control based on the node position or coordinate position of the target control.

[0106] The model moves the cursor on the screen to the target control, performs a click operation, and waits for a response time of 100ms-1s, which is dynamically adjusted according to the software response speed. It determines the target control by detecting whether it has gained focus. If not, it clicks again to ensure that the target control is in a state that can receive input.

[0107] S62. Clear the original data in the target control by injecting pre-trained data into the model.

[0108] Clear the existing content of the target control to ensure that the new data can be injected accurately. First, try calling the system's control clear API (such as Windows SendMessage WM_SETTEXT). If that fails, press Ctrl+A+Delete. If that still fails, delete characters one by one using Backspace.

[0109] S63. The process parameters are injected into the operation interface of the corresponding standard control or the coordinates of the target control through a pre-trained data injection model.

[0110] For input box controls, directly simulate keyboard character and number input, automatically handling special symbols such as decimal points and minus signs. For drop-down selection controls, simulate clicking the drop-down arrow, sending the arrow keys to navigate to the target option, and pressing Enter to confirm; if text input is supported, directly enter the option text and then simulate pressing Enter. For checkboxes / radio buttons, simulate clicking the mouse to toggle the selection state, or sending the spacebar to toggle the state.

[0111] The initial training process of the data injection model mainly includes data collection and annotation, and model training. Training sample collection includes recorded videos of manual operations (screen recording + operation event logging), collecting operation samples from multiple software and control types, and recording environmental context information (software version, system status). Data annotation includes operation feature annotation and environmental state annotation. Operation feature annotation includes annotating the start and end times of each operation step, operation type (click, input, wait), and operation result (success / failure / partial success). Environmental state annotation includes annotating the control state before the operation, the result state after the operation, abnormal situations, and handling methods. The training sample set is input into the data injection model to be trained. The data injection model simulates manual operations, training itself to recognize control positions and perform operations such as writing and deleting, until the model converges.

[0112] In some implementations, after the process parameters are input into the target control, a closed-loop visual verification is performed to confirm that the data input operation was successful and the system status is normal. An automated feedback verification mechanism automatically determines the data injection operation result by capturing key areas of the software interface in real time, performing OCR text recognition, and matching it with a preset keyword library. Based on the result, it triggers subsequent operations or tiered alarms.

[0113] The system uses multi-region screenshots to capture key areas of the software interface in real time. Simultaneously, it captures the status bar (20 pixels from the bottom of the screen), the pop-up window area (300×200 pixels from the center of the screen), and the operation log area (within a custom coordinate range), and performs OCR recognition on each area separately.

[0114] Keyword matching uses regular expressions to match a keyword library (such as "success", "Success", "complete", "error", "Error", "illegal"). As long as the keyword "success" is identified in any area, the operation is considered successful.

[0115] If the initial recognition fails, adjust the OCR preprocessing parameters (such as increasing contrast) and retry twice. If it still fails, trigger a tiered alarm: Level 1 alarm (local pop-up), Level 2 alarm (send email to the administrator), and Level 3 alarm (report to the MES system via API and suspend the production process).

[0116] In some implementations, system execution status is logged for querying operation details. During system initialization, a log file is created (naming format: device number_date.log), log fields are defined (timestamp, operation type, parameter name, value, status, remarks), and a log writing thread is started. Each step, such as window positioning, control positioning, parameter input, and input validation, is written to the log, including a timestamp (accurate to milliseconds), device model, recipe number, parameter name, original value, input value, operation result (success / failure), and remarks (e.g., "OCR positioning successful," "Control positioning failed, switch to OCR"). Log export and query support fuzzy queries by date, device model, recipe number, and operation result, and can be exported to Excel or PDF format. The distributed results (recipe number, distribution time, status, operator) are synchronized to the MES system via an HTTP POST request, and the MES system updates the equipment production ledger and recipe execution records.

[0117] In addition, during system initialization, system APIs (such as Windows GetVersionEx and Linuxuname) are called to obtain the operating system type and version, and the corresponding control recognition interface library is loaded (Windows loads User32.dll, and Linux loads libatspi.so).

[0118] In the above embodiments, by combining the accuracy of underlying control information with the versatility of OCR image recognition, they complement each other, simulating manual operation logic to achieve cross-application, non-intrusive automated writing and execution of formula data. First, this improves the stability and robustness of automated operations. When the software interface uses standard controls, 100% accurate positioning is achieved using control handles, unaffected by window position. When encountering non-standard (custom-drawn) interfaces where control information cannot be obtained, it automatically and seamlessly switches to OCR image recognition mode, locating the input box by recognizing text labels. This dynamic complementary mechanism solves the problem of single-technology methods being incompatible with complex industrial environments, ensuring the stable operation of the formula distribution process under various abnormal interferences. Second, it achieves non-intrusive compatibility with closed systems. By simulating human vision (OCR) and manual operation (mouse / keyboard events), automated data interaction is achieved at the user interface (UI) level. This allows factories to connect older equipment to modern MES / CIM systems at low cost, breaking down "data silos." Third, it improves production efficiency and data accuracy. Reducing the time for a single formula changeover from minutes to seconds improves equipment uptime (OEE), eliminates the human risk of over- or under-input parameters due to operator fatigue or negligence, and ensures the absolute consistency and accuracy of process formula data.

[0119] Based on the same technical concept, the present invention also provides a process parameter distribution system, such as... Figure 2 As shown, the system includes a transceiver module 1 and a processing module 2. The processing module 2 is used to control the transceiver operations of the transceiver module 1.

[0120] The transceiver module 1 is used to acquire process parameters.

[0121] The processing module 2 is used to determine the target window; within a preset time, locate the node position of the target control in the target window according to the control handle; determine whether the target control has been located; locate the coordinate position of the target control in the target window through image recognition; and inject the process parameters into the target control at the corresponding node position or coordinate position according to the mapping relationship between the process parameters and the target control.

[0122] In some implementations, the processing module 2 is specifically used to obtain a list of top-level window handles to form an initial window list; obtain the window features of each top-level window in the initial window list based on the handle of the top-level window; match the window features with the desired window features to obtain the target window; the window features include the window title, window process name, or window class name.

[0123] In some implementations, the processing module 2 is specifically used to obtain the actual title of each top-level window in the initial window list through the handle of the top-level window; perform fuzzy matching between the actual title of each top-level window and the expected title to filter and obtain several preliminary windows, forming a preliminary window list; obtain the actual process name used to create each preliminary window in the preliminary window list through the handle of the preliminary window; perform precise string comparison between the actual process name corresponding to each preliminary window and the expected process name to filter and obtain several candidate windows, forming a candidate window list; obtain the actual window class name of each candidate window in the candidate window list through the handle of the candidate window; perform precise string comparison between the actual window class name of each candidate window and the expected window class name to filter and obtain the target window.

[0124] In some implementations, the processing module 2 is specifically used to establish a stack; push the handle of the target window as the starting node onto the stack; pop the current node from the top of the stack; match the first control feature of the current node with the expected feature of the first control; if the first control feature of the current node matches the expected feature of the first control, then the control corresponding to the node is designated as the target control.

[0125] In some implementations, the processing module 2 is specifically used to: obtain the complete handle path from the target window to the parent window of the current node; perform step-by-step matching between the complete handle path and the expected parent window handle path; if the number of window handles in the two paths is the same, and the handles at each corresponding position are consistent, then obtain the control corresponding to the current node as a preliminary control; finally obtain a set of preliminary controls; read the class name attribute of the first preliminary control; the first preliminary control is any preliminary control in the set of preliminary controls; perform fuzzy matching between the class name attribute of the first preliminary control and the expected class name attribute; if the match is successful, then use the first preliminary control as the first candidate control; finally obtain a set of candidate controls; the set of candidate controls contains several candidate controls; read the control identifier of the first candidate control; the first candidate control is any candidate control in the set of candidate controls; perform fuzzy matching between the control identifier of the first candidate control and the expected control identifier; if the match is successful, then use the first candidate control as the first target control and record the corresponding node position; finally obtain the node position of each target control.

[0126] In some implementations, the processing module 2 is specifically used to acquire a screenshot of the target window; perform image preprocessing on the screenshot; locate the logical coordinates of the target control in the screenshot using the second control feature of the target control; and convert the logical coordinates into physical screen coordinates according to the screen scaling ratio of the target window.

[0127] In some implementations, image preprocessing includes Gaussian noise reduction, grayscale conversion, adaptive threshold binarization, and text contour enhancement.

[0128] In some implementations, the processing module 2 is specifically used to move the cursor to the target control according to the node position or coordinate position of the target control using a pre-trained data injection model; clear the original data in the target control using a pre-trained data injection model; and inject process parameters into the operation interface of the corresponding standard control or the coordinate position of the target control using a pre-trained data injection model.

[0129] In the above embodiments, by combining the accuracy of underlying control information with the versatility of OCR image recognition, they complement each other, simulating manual operation logic to achieve cross-application, non-intrusive automated writing and execution of formula data. First, this improves the stability and robustness of automated operations. When the software interface uses standard controls, 100% accurate positioning is achieved using control handles, unaffected by window position. When encountering non-standard (custom-drawn) interfaces where control information cannot be obtained, it automatically and seamlessly switches to OCR image recognition mode, locating the input box by recognizing text labels. This dynamic complementary mechanism solves the problem of single-technology methods being incompatible with complex industrial environments, ensuring the stable operation of the formula distribution process under various abnormal interferences. Second, it achieves non-intrusive compatibility with closed systems. By simulating human vision (OCR) and manual operation (mouse / keyboard events), automated data interaction is achieved at the user interface (UI) level. This allows factories to connect older equipment to modern MES / CIM systems at low cost, breaking down "data silos." Third, it improves production efficiency and data accuracy. Reducing the time for a single formula changeover from minutes to seconds improves equipment uptime (OEE), eliminates the human risk of over- or under-input parameters due to operator fatigue or negligence, and ensures the absolute consistency and accuracy of process formula data.

[0130] Based on the same technical concept, the present invention also provides a computer device, such as... Figure 3 As shown, the computer device includes a transceiver 901, a processor 902, and a memory 903. The memory 903 stores computer-readable instructions. When the computer-readable instructions are executed by the processor 902, the processor performs the steps of the process parameter distribution method described in the above embodiments.

[0131] Figure 2 The physical device corresponding to transceiver module 1 shown is Figure 3 The transceiver 901 shown can perform some or all of the functions of the transceiver module 1, or perform the same or similar functions as the transceiver module 1.

[0132] Figure 2 The physical device corresponding to processing module 2 shown is Figure 3 The processor 902 shown is capable of implementing some or all of the functions of the processing module 2, or implementing the same or similar functions as the processing module 2.

[0133] Based on the same technical concept, the present invention also provides a storage medium storing computer-readable instructions, which, when executed by one or more processors, cause one or more processors to perform the steps of the process parameter distribution method described in the above embodiments.

[0134] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0135] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many forms under the guidance of this application without departing from the spirit and scope of protection of the claims. All equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are within the protection scope of this application.

Claims

1. A method for issuing process parameters, characterized in that, Includes the following steps S1-S6: S1. Obtain process parameters; S2. Determine the target window; S3. Locate the node position of the target control in the target window based on the control handle; S4. Determine if the target control has been located; If yes, proceed to step S5; if no, proceed to step S6. S5. Locate the coordinates of the target control within the target window using image recognition; S6. Based on the mapping relationship between process parameters and target controls, inject the process parameters into the target controls at the corresponding node positions or coordinate positions.

2. The method for issuing process parameters according to claim 1, characterized in that, Step S2 includes the following steps S21-S22: S21. Obtain the list of top-level window handles and form an initial window list; S22. Based on the handle of the top-level window, obtain the window characteristics of each top-level window in the initial window list; The target window is obtained by matching the window features with the desired window features. Window characteristics include window title, window process name, and window class name.

3. The method for issuing process parameters according to claim 2, characterized in that, Step S22 includes the following steps S221-S23: S221. Obtain the actual title of each top-level window in the initial window list through the handle of the top-level window; perform fuzzy matching between the actual title of each top-level window and the expected title to filter and obtain several initial windows, forming an initial window list; S222. Obtain the actual process name used to create each initial window in the initial window list by using the handle of the initial window; perform a precise string comparison between the actual process name corresponding to each initial window and the expected process name, filter out several candidate windows, and form a candidate window list. S223. Obtain the actual window class name of each candidate window in the candidate window list through the handle of the candidate window; perform a precise string comparison between the actual window class name of each candidate window and the expected window class name to filter and obtain the target window.

4. The method for issuing process parameters according to claim 1, characterized in that, Step S3 includes the following steps S31-S34: S31. Create a stack; S32. Push the handle of the target window onto the stack as the starting node; S33. Pop the current node from the top of the stack; S34. Match the first control feature of the current node with the expected feature of the first control; if the first control feature of the current node matches the expected feature of the first control, then designate the control corresponding to the node as the target control.

5. The method for issuing process parameters according to claim 4, characterized in that, Step S34 includes the following steps S341 to S346: S341. Obtain the complete handle path from the target window to the parent window of the current node; S342. Match the complete handle path with the expected parent window handle path level by level. If the number of window handles in the two paths is the same and the handles at each corresponding position are consistent, then obtain the control corresponding to the current node as the initial control selection. Repeat steps S341 and S342 to finally obtain the initial control selection set. S343. Read the class name property of the first initial selection control; the first initial selection control is any initial selection control in the initial selection control set; S344. Perform a fuzzy match between the class name attribute of the first initially selected control and the expected class name attribute; if the match is successful, then use the first initially selected control as the first candidate control; finally, a set of candidate controls is obtained; the set of candidate controls contains several candidate controls. S345. Read the control identifier of the first candidate control; the first candidate control is any candidate control in the candidate control set; S346. Perform a fuzzy match between the control identifier of the first candidate control and the desired control identifier; If a match is successful, the first candidate control is taken as the first target control, and the corresponding node position is recorded; finally, the node position of each target control is obtained.

6. The method for issuing process parameters according to claim 1, characterized in that, Step S5 includes the following steps S51 to S54: S51. Take a screenshot of the target window; S52. Perform image preprocessing on the screenshot; S53. Locate the logical coordinates of the target control in the screenshot by using the second control feature of the target control; S54. Convert the logical coordinates to physical screen coordinates according to the screen scaling ratio of the target window.

7. The method for issuing process parameters according to claim 6, characterized in that, Image preprocessing includes Gaussian noise reduction, grayscale conversion, adaptive threshold binarization, and text contour enhancement.

8. A process parameter distribution system, characterized in that, include: The transceiver module is used to acquire process parameters; The processing module is used to determine the target window; Locate the node position of the target control within the target window based on the control handle; Determine if the target control has been located; The target control's coordinate position within the target window is located using image recognition. Based on the mapping relationship between process parameters and target controls, the process parameters are injected into the target controls at the corresponding node positions or coordinate positions.

9. A computer device, characterized in that, It includes a transceiver, a memory, and a processor, wherein the memory stores computer-readable instructions that, when executed by the processor, cause the processor to perform the steps in the process parameter distribution method as described in any one of claims 1 to 7.

10. A storage medium storing computer-readable instructions, characterized in that, When the computer-readable instructions are executed by one or more processors, the one or more processors perform the steps in the process parameter distribution method as described in any one of claims 1 to 7.