Electroplating workshop edge computing collaborative control system
Patent Information
- Application Number
- CN202610927014.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-25
- Publication Date
- 2026-09-25
AI Technical Summary
[0005]本发明旨在至少解决现有技术中存在的技术问题之一;为此,本发明提出了一种电镀车间边缘计算协同控制系统,用于解决现有电镀车间控制系统行车与槽位之间缺乏点对点直接协同,依赖中心调度导致通信建链延迟高、边缘节点固定部署,行车作为移动设备缺乏针对动态接入场景的连接建立与任务迁移机制、健康度查询结果仅用于状态监测,缺乏直接驱动行车执行机构动作的感知-决策-执行闭环链路、行车加减速时吊挂工件在镀液中晃动,缺乏对固液耦合系统动力学特性的在线辨识与主动前馈补偿手段、多台行车各自独立规划路径,缺乏轨道段占用状态的实时共享与协同避让机制以及任务执行数据全量回传云端,缺乏针对弱网环境的数据压缩存储与断点续传手段的技术问题
本发明通过引入边缘侧的 UWB 瞬时触发与工艺分片预推送机制,实现了行车抵近槽位时的毫秒级建链与指令下发,这一机制将工艺参数的获取动作前置,使得底层执行机构的动作响应不再受制于车间骨干网的瞬时拥塞,显著提升了高频跨槽流转工况下的生产节拍稳定性;
Smart Images

Figure CN122809330A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of automated control technology for electroplating production lines, and specifically relates to an edge computing collaborative control system for an electroplating workshop. Background Technology
[0002] Electroplating workshops typically use overhead cranes to move workpieces between different process tanks to complete multiple processes such as degreasing, electroplating, and rinsing. With the development of edge computing technology, some electroplating production lines have begun to deploy edge nodes on the side of the tanks to achieve local control of process parameters and data acquisition.
[0003] Currently, existing technologies have the following main shortcomings: First, communication between the crane and the workstation relies on a central scheduling node. All decisions require unified coordination by the master control node, and global production will halt if the central node or network fails. Second, edge nodes are all deployed in a fixed manner. As a mobile device, the crane lacks a low-latency communication establishment mechanism with the workstation during its movement, making it difficult to complete the transmission and coordination of process parameters within the instantaneous communication window when the crane arrives at the workstation. Third, health status query results are only used as information output and are not directly linked to the control actions of the crane's actuators. After an anomaly is detected in the workstation, further steps are needed. The system suffers from several drawbacks: First, manual intervention or waiting for central instructions results in long fault response times. Second, during acceleration and deceleration, the suspended workpieces sway in the plating solution, and the existing system lacks control over the coupling relationship between the crane's trajectory and the liquid sway, which can easily lead to plating solution splashing or fixture collisions with the tank. Third, the path planning of multiple cranes operating simultaneously is independent, lacking a collaborative avoidance mechanism between the cranes, which can easily cause track congestion or collisions. Fourth, the workshop experiences strong electromagnetic interference and unstable wireless communication, and the existing system's data transmission scheme lacks data compression and breakpoint resumption methods for weak network environments, making it easy to lose task execution data.
[0004] Therefore, an edge computing collaborative control system for electroplating workshops has emerged. Summary of the Invention
[0005] This invention aims to solve at least one of the technical problems existing in the prior art. To this end, this invention proposes an edge computing collaborative control system for electroplating workshops to address the following technical problems in existing electroplating workshop control systems: lack of point-to-point direct collaboration between cranes and tanks; reliance on central scheduling leading to high communication link establishment delays; fixed deployment of edge nodes; lack of connection establishment and task migration mechanisms for cranes as mobile devices in dynamic access scenarios; health query results only used for status monitoring; lack of a perception-decision-execution closed-loop link to directly drive the actions of crane actuators; workpieces swaying in the plating solution during crane acceleration and deceleration; lack of online identification and proactive feedforward compensation methods for the dynamic characteristics of solid-liquid coupling systems; multiple cranes independently planning their paths; lack of real-time sharing and collaborative avoidance mechanisms for track segment occupancy status; and lack of data compression storage and breakpoint resumption methods for weak network environments.
[0006] To address the above problems, this invention provides an edge computing collaborative control system for an electroplating workshop, comprising the following modules: Mobile edge nodes are deployed on overhead cranes; Static edge nodes are deployed in slots; The grouping module is used to group the static edge nodes according to functional equivalence to form a virtual slot pool; A dynamic handshake module, configured on the mobile edge node, is used to establish a connection with the static edge node. When the mobile edge node moves to the target slot according to the scheduling instruction, the dynamic handshake module triggers the cloud to pre-push the process parameter package to the corresponding static edge node. After the mobile edge node arrives, the dynamic handshake module triggers a connection through UWB positioning, obtains the process parameter package, and performs process collaboration. The crane anti-sway module is built into the moving edge node and is used to calculate the compensation acceleration based on the real-time velocity vector and workpiece parameters, and output the acceleration to the crane actuator. The health query module is built into the mobile edge node and is used to obtain the real-time health status from the target static edge node before hoisting. When the real-time health status is less than or equal to the health status threshold, the module initiates a capability query to other static edge nodes in the virtual slot pool. The voting module, configured on the static edge node, is used to select an alternative slot based on the respective task queue and health status after receiving a capability query. The path change module, configured on the mobile edge node, is used to change the path according to the voting results and trigger the dynamic handshake module to establish a connection with the static edge node of the replacement slot and obtain process parameters. A piggyback synchronization module is configured on the mobile edge node and the static edge node to embed the health information of their respective cached neighboring nodes into the handshake signaling for exchange during each dynamic handshake process; The continuous transmission module, configured on the static edge node, is used to compress and cache task execution data, and then transmit it back to the cloud when the network is idle.
[0007] Preferably, the grouping module includes: The collaborative log matrix unit is used to record historical collaborative events between each pair of static edge nodes, and each event includes the switchover time. and the qualified marking of the replacement coating , among which, It is considered qualified at that time. It is considered unqualified at that time; The success rate calculation unit is used to calculate the success rate of two static edge nodes. and Weighted historical collaboration success rate Specifically: ,in, For nodes and The total number of historical collaborative events between them This is the current timestamp. For the first The timing of the secondary collaborative event The preset attenuation coefficient; Dynamic clustering units are used to cluster nodes with static edge nodes as vertices. A weighted undirected graph is constructed based on the edge weights. The Louvain community detection algorithm is used to dynamically segment the weighted undirected graph, and each community in the segmentation result is marked as a virtual slot pool. The trigger update unit is used to trigger the success rate calculation unit and the dynamic clustering unit to recalculate and update the pool division when the change in the health of any node in the virtual slot pool exceeds a preset change threshold.
[0008] Preferably, the dynamic handshake module includes: When the mobile edge node moves to the target slot according to the scheduling instruction, it requests the process parameter package of the target static edge node from the cloud. The cloud divides the process parameter package into multiple data slices according to the execution time axis. Each data slice is attached with a hash check value and the data slice is pushed to the target static edge node in advance. Once the mobile edge node reaches the UWB communication range of the target static edge node, after the connection is triggered by UWB ranging, the mobile edge node sends the hash checksum of the locally cached data fragments to the target static edge node for comparison. The target static edge node only returns the missing fragments whose hash checksums failed. Before all data fragments are received, the mobile edge node parses the received fragments into execution instructions one by one according to the execution timeline and caches them in the instruction queue. After all data fragments are received, the instruction queue is sequentially sent to the crane PLC and the slot rectifier in a pipeline manner.
[0009] Preferably, in the vehicle anti-sway module, calculating the compensation acceleration includes: The system collects real-time speed vectors of the crane and swing angles of the suspension ropes. Using historical speed and swing angle sequences as inputs and the current swing angle as output, it updates the autoregressive model coefficients online using the recursive least squares method. Based on the updated coefficients, it calculates the natural sloshing frequency of the suspension system in the plating solution. Damping ratio The suspension system is a crane-suspension rope-workpiece-plating solution coupling system in which the workpiece is immersed in the plating solution. With the inherent sway frequency Damping ratio As parameters of the state-space equations, solving for the swaying displacement Minimize vehicle acceleration control amount The state-space equation is: , ,in, To determine the horizontal swaying displacement of the suspended workpiece. Let be the rate of change of the swaying displacement. and They are respectively and The derivative with respect to time; When the grouping module triggers the virtual slot pool re-division, the target slot of the train changes, and the train anti-sway module recalculates the compensation acceleration based on the changed target slot position. Vehicle acceleration control amount The differential signal of the original speed command is superimposed on the PLC of the crane to generate a compensated speed command, which is then output to the crane actuator.
[0010] Preferably, the health query module, which obtains real-time health status and initiates a capability query, includes: Real-time health is calculated by weighting the temperature deviation, pH drift, cumulative power-on time, and cumulative processing quantity of the target static edge node. ; Before hoisting, first query the health snapshot of the target static edge node in the local cache. If the timestamp of the snapshot is less than the current time and the preset validity period, then the snapshot is used as the real-time health; otherwise, send a real-time health query frame to the target static edge node. when At the same time, maintain the original scheduling instructions and control the train to proceed along the original path to the target static edge node, wherein, The health threshold; when When the vehicle is in motion, it initiates a capability query to all other static edge nodes in its virtual slot pool and pauses its current movement until it receives the voting results, after which it resumes movement based on the voting results. If no response is received from any candidate node within the preset timeout period, the vehicle will be controlled to decelerate and move toward the original target static edge node, and an alarm for slot abnormality will be issued upon arrival.
[0011] Preferably, the method for adjusting and managing the preset validity period includes: When the grouping module triggers a virtual slot pool repartition, the preset validity period is shortened to 50% of its original value. When the grouping module adds a static edge node to the current virtual slot pool, it marks the local cache health snapshot corresponding to the newly added node as invalid, forces the sending of a real-time health query frame to the newly added node, and decides whether to drive to the node or perform rerouting based on the query result. When the grouping module removes a static edge node from the current virtual slot pool, it deletes the local cache health snapshot corresponding to the removed node. Within a preset time window after the pool is re-divided, the real-time health status of all nodes in the pool is compared with the local cache snapshot. If the difference is less than the preset deviation threshold multiple times in a row, the preset validity period is restored to the original value.
[0012] Preferably, in the voting module, the replacement slot is selected based on the respective task queues and health status, including: After receiving the capability query broadcast frame, each static edge node parses the process requirement vector in the capability query broadcast frame, checks whether its currently available process parameter range covers all process conditions in the process requirement vector and whether its own task queue length is less than the upper limit of the queue capacity, and marks the nodes that meet the conditions as candidate nodes. Each candidate node calculates its own performance index. Specifically: ,in, The current real-time health status of the candidate node. The current task queue length of the candidate node. The spatial distance between the candidate node and the mobile edge node that initiated the query. This is the maximum queue capacity. To preset the maximum allowable detour distance, , and Preset weighting coefficients; Each candidate node will use the aforementioned performance metrics Broadcast to all static edge nodes within the associated virtual slot pool; Performance metrics of each static edge node receiving all candidate nodes Then, select The candidate node with the largest value is used as the replacement slot; if If there are multiple candidate nodes with the highest values, then the health score is selected. The highest-ranking node will return the node ID of the alternative slot to the mobile edge node that initiated the query.
[0013] Preferably, in the path change module, changing the path based on the voting results includes: A workshop topology map is constructed with the intersection of workshop tracks as vertices and track segments as edges; the base weight of each edge is the travel time required for the train to run at standard speed on the track segment; the locking interval information broadcast by other mobile edge nodes in the workshop is obtained through the piggyback synchronization module, and the base weight of the track segment that has been locked or occupied by other trains is multiplied by a preset penalty coefficient; Starting from the real-time location of the current mobile edge node and ending at the location of the replacement slot, search for the path with the minimum cumulative weight in the workshop topology map; The searched path marks the N consecutive track segments that the current mobile edge node is expected to enter within a preset time window as a locked interval, generates a locked interval broadcast frame, the locked interval broadcast frame includes the starting track segment ID, the ending track segment ID and the expected duration, and broadcasts the locked interval broadcast frame to other mobile edge nodes in the workshop through the piggyback synchronization module; After confirming that the path switch is complete, a second handshake trigger signal is sent to the dynamic handshake module, carrying the node ID of the replacement slot.
[0014] Preferably, the method for exchanging health information in the piggyback synchronization module includes: Each mobile edge node and each static edge node maintains a neighborhood status table. The neighborhood status table is indexed by the node ID, and each entry contains a health value, task queue length, and timestamp. When the dynamic handshake module initiates or receives handshake signaling, the piggyback synchronization module selects the K entries with the latest timestamps from the local neighborhood status table, serializes the K entries according to a preset format, and fills them into the reserved extended field of the handshake signaling of the dynamic handshake module. Upon receiving the handshake signaling, the piggyback synchronization module decompresses and deserializes the K entries from the reserved extended field. For each decompressed entry, if there is an entry with the same node ID in the local neighborhood state table, the timestamps are compared and the one with the latest timestamp is retained. If there is no entry with the same node ID in the local neighborhood state table, it is directly inserted. If the K entries after decompression contain the node's own state information, then the entries are discarded and not written to the local neighborhood state table; when the timestamp of any entry in the local neighborhood state table is greater than the current time than the preset aging time threshold, the entry is deleted.
[0015] The beneficial effects of this invention are: This invention introduces a UWB instantaneous triggering and process segmentation pre-push mechanism on the edge side, which realizes millisecond-level link establishment and command issuance when the crane approaches the slot. This mechanism advances the acquisition of process parameters, so that the action response of the underlying actuator is no longer subject to the instantaneous congestion of the workshop backbone network, which significantly improves the stability of production cycle under high-frequency cross-slot flow conditions. This invention divides edge nodes into mobile nodes deployed on overhead cranes and static nodes deployed in slots. Combined with the pre-push mechanism of the dynamic handshake module and the cache back transmission mechanism of the intermittent transmission module, the crane does not need to repeatedly rebuild the complete connection during frequent cross-slot movement. The execution data generated during the movement is first cached locally on the static node and then transmitted back when network conditions permit. This solves the practical difficulty of stable communication of mobile devices in the production site. This invention directly outputs three different control commands after threshold comparison in the health query module: continue driving, pause and hover to wait for voting results, and decelerate to the original target and issue an alarm. This makes the health perception results no longer stay at the monitoring level, but directly act on the driving actuators, forming an autonomous decision-making link that does not require human intervention. Fault response no longer depends on operator confirmation or central node instructions. This invention uses an anti-sway module to collect velocity vectors and rope swing angles online. It uses the recursive least squares method to identify the inherent sway frequency and damping ratio of the hanging system in the plating solution in real time. Then, it uses the state space equation to calculate the compensation acceleration and superimpose it on the original speed command. This actively suppresses the sway amplitude during the acceleration and deceleration of the crane. The crane can run at a higher speed without relying on the operator's experience to decelerate. At the same time, it avoids the quality problems and safety hazards caused by plating solution splashing and hanger collision with the tank. This invention marks the upcoming continuous track segment as a locked section and generates a broadcast frame through the path change module. The occupancy information is shared in real time with other trains in the workshop via the piggyback synchronization module. This allows each train to sense the occupancy status of the surrounding track segments when planning its route and to automatically detour. When multiple trains run in parallel, they no longer operate independently without knowing each other's location. The risk of track segment congestion and collisions is effectively controlled on the production site. This invention uses a continuous transmission module to differentially encode the actual execution data based on a set value, discarding redundant data with deviations less than the dead zone threshold and storing only the deviation value exceeding the dead zone and its timestamp. This greatly compresses the amount of data transmitted back. At the same time, combined with idle judgment of network situation awareness and breakpoint resumption of transmission by byte offset recording, the data can be stably and gradually transmitted back in a workshop environment with strong electromagnetic interference, and no longer lost in whole packets due to network fluctuations. Attached Figure Description
[0016] Figure 1 This is a schematic diagram of the module flow of the present invention. Detailed Implementation
[0017] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0018] Please see Figure 1 As shown, this invention is an edge computing collaborative control system for an electroplating workshop, comprising the following modules: Mobile edge nodes are deployed on overhead cranes; Static edge nodes are deployed in slots; The grouping module is used to group the static edge nodes according to functional equivalence to form a virtual slot pool; A dynamic handshake module, configured on the mobile edge node, is used to establish a connection with the static edge node. When the mobile edge node moves to the target slot according to the scheduling instruction, the dynamic handshake module triggers the cloud to pre-push the process parameter package to the corresponding static edge node. After the mobile edge node arrives, the dynamic handshake module triggers a connection through UWB positioning, obtains the process parameter package, and performs process collaboration. The crane anti-sway module is built into the moving edge node and is used to calculate the compensation acceleration based on the real-time velocity vector and workpiece parameters, and output the acceleration to the crane actuator. The health query module is built into the mobile edge node and is used to obtain the real-time health status from the target static edge node before hoisting. When the real-time health status is less than or equal to the health status threshold, the module initiates a capability query to other static edge nodes in the virtual slot pool. The voting module, configured on the static edge node, is used to select an alternative slot based on the respective task queue and health status after receiving a capability query. The path change module, configured on the mobile edge node, is used to change the path according to the voting results and trigger the dynamic handshake module to establish a connection with the static edge node of the replacement slot and obtain process parameters. A piggyback synchronization module is configured on the mobile edge node and the static edge node to embed the health information of their respective cached neighboring nodes into the handshake signaling for exchange during each dynamic handshake process; The continuous transmission module, configured on the static edge node, is used to compress and cache task execution data, and then transmit it back to the cloud when the network is idle.
[0019] In one embodiment of the present invention, the grouping module includes: The collaborative log matrix unit is used to record historical collaborative events between each pair of static edge nodes, and each event includes the switchover time. and the qualified marking of the replacement coating ,in, It is considered qualified at that time. It is considered unqualified at that time; The success rate calculation unit is used to calculate the success rate of two static edge nodes. and Weighted historical collaboration success rate Specifically: ,in, For nodes and The total number of historical collaborative events between them This is the current timestamp. For the first The timing of the secondary collaborative event The preset attenuation coefficient; Dynamic clustering units are used to cluster nodes with static edge nodes as vertices. A weighted undirected graph is constructed based on the edge weights. The Louvain community detection algorithm is used to dynamically segment the weighted undirected graph, and each community in the segmentation result is marked as a virtual slot pool. The trigger update unit is used to trigger the success rate calculation unit and the dynamic clustering unit to recalculate and update the pool division when the change in the health of any node in the virtual slot pool exceeds a preset change threshold.
[0020] Specifically, during system operation, whenever the voting module selects an alternative slot because the target slot's health is below a threshold, and the mobile edge node actually performs the switching operation, the system records a historical collaboration event. Each event record is a triple: ,in, The original target static edge node ID, The actual execution is performed using a replacement static edge node ID. The time at which this switch is executed (provided by the system clock). This is a coating qualification mark obtained by the workpiece after the switchover is completed and subsequent processes inspect it. If the coating thickness and uniformity meet the process specifications, it is marked as such. Otherwise remember The above records are stored in the local storage of each static edge node in the form of a collaborative log matrix, and are also periodically synchronized to the cloud for backup via a continuous transmission module. Each row of the matrix corresponds to an original node. Each column corresponds to a replacement node. The matrix elements are a list of event records arranged in chronological order; Among them, the weighted historical collaboration success rate In the calculation formula, A preset attenuation coefficient, ranging from 0.01 / day to 0.1 / day, is used to control the rate of attenuation of historical data over time. The larger the value, the higher the weight of recent data; The initial value was determined based on historical workshop data when the system went live. By collecting three consecutive months of historical collaboration records from the workshop, and aiming to minimize the prediction error of the switchover success rate, an optimal value was selected within the range of 0.01 / day to 0.1 / day using a grid search method. After the system was running, The value is received by the cloud adaptive tuning module from the actual switching execution data reported by the discontinuous transmission module, and dynamically adjusted to maximize the long-term average switching success rate of each virtual slot pool as the optimization target. Dynamic clustering units use all static edge nodes as vertices, and... for and Construct a weighted undirected graph based on the edge weights between them. ,in, The set of all static edge nodes. For edges between all pairs of nodes, For the corresponding The Louvain community detection algorithm is used to dynamically partition the weighted undirected graph. The specific steps are as follows: Step 1: Initialize each vertex in the graph as an independent community. At this time, the number of communities is equal to the total number of vertices. Step 2: Traverse each vertex and calculate the modularity gain when moving the vertex to the community of all its neighboring vertices. The formula for calculating the modularity gain is as follows: ,in, The sum of the weights of all edges that are moved into the community. It is the sum of the weights of all edges (including internal and external edges) that are connected to all vertices within the community being moved. As vertex The sum of the weights of all edges that connect (i.e., the degree of that vertex). As vertex The sum of the weights of the edges connecting the vertex to the other vertices within the community. It is half the sum of the weights of all edges in the graph (i.e., the total weight of the graph); this formula is used to evaluate the weight of vertices. After moving to a neighboring community, the quality of graph segmentation (modularity) The change in ), where modularity The definition of is: ,in, The total number of vertices in the graph. As vertex and The edge weights between (i.e.) ), and Vertices and The degree, For indicator functions, when vertex and The value is 1 if the vertex belongs to the same community, and 0 otherwise; move the vertex to make it... Maximum and Neighborhood communities > 0; if all If all values are ≤0, then the vertex remains in its original community. Repeat the traversal of all vertices until no vertex moves into a new community, completing the first stage. Step 3: Shrink each community obtained in the first stage into a new hypervertices. The edge weights between hypervertices are the sum of the weights of all edges between the original communities, and the self-loop weights of the hypervertices are the sum of the weights of all edges within the original community. After constructing the new weighted undirected graph, repeat the iterative optimization process of Step 2. Step 4: When the modularity... The iteration stops when it no longer increases, and the set of original vertices contained in each supervertices is marked as a virtual slot pool. After the graph is partitioned, the static edge nodes in the same virtual slot pool are candidate replacement slots for each other in the subsequent failover. During system operation, the health query module obtains the health status of each static edge node in real time. The trigger update unit continuously monitors the health changes of all nodes in the current virtual slot pool. Specifically, each static edge node updates its current health status after each query. The data is sent to the trigger update unit, which records the health status of each node during the last pool partition recalculation. If the current health of a node satisfy If this occurs, the pool partitioning will be recalculated; where, The preset threshold for change is set to 0.15. This value is derived from actual operational experience in the workshop—according to field engineer records, when the health of a single piece of equipment drops by more than 0.15, the probability of failure for that node increases significantly, requiring a reassessment of its affiliation in the virtual slot pool. After triggering, the trigger update unit sequentially calls the success rate calculation unit to recalculate the success rate of all node pairs. Then call the dynamic clustering unit based on the updated Re-segment the Louvain graph, use the segmentation results as the updated virtual slot pool partition, and record the current health of each node as the new partition. .
[0021] In one embodiment of the present invention, the dynamic handshake module includes: When the mobile edge node moves to the target slot according to the scheduling instruction, it requests the process parameter package of the target static edge node from the cloud. The cloud divides the process parameter package into multiple data slices according to the execution time axis. Each data slice is attached with a hash check value and the data slice is pushed to the target static edge node in advance. Once the mobile edge node reaches the UWB communication range of the target static edge node, after the connection is triggered by UWB ranging, the mobile edge node sends the hash checksum of the locally cached data fragments to the target static edge node for comparison. The target static edge node only returns the missing fragments whose hash checksums failed. Before all data fragments are received, the mobile edge node parses the received fragments into execution instructions one by one according to the execution timeline and caches them in the instruction queue. After all data fragments are received, the instruction queue is sequentially sent to the crane PLC and the slot rectifier in a pipeline manner.
[0022] Specifically, after receiving the scheduling instruction, the mobile edge node requests the process parameter package of the target static edge node from the cloud. This process parameter package is a structured data file describing all the settings required for the mobile edge node to perform the electroplating process at the target tank. It includes current values, voltage values, temperature settings, and corresponding durations for each stage arranged along the execution timeline, in JSON or Protobuf serialized data format. The cloud then divides the continuous process parameter package into M data slices (e.g., one slice per 10-second execution window) based on the instruction sequence arranged along the execution timeline in the process parameter package. Each data slice contains all the process parameter settings for that time period. After the division, the cloud calculates the process parameter settings for each data slice. The hash verification value is obtained by mapping the binary content of the data fragments to a fixed-length 256-bit hash value using the SHA-256 algorithm. The cloud pushes all data fragments and their corresponding hash verification values to the local cache of the target static edge node in advance through the workshop wired backbone network. In the above segmentation method, the process parameter package stores the execution sequence of each stage of the electroplating process. Each stage has a different execution duration. When segmenting, the cloud divides the execution time axis with a uniform fixed time window length. The process stage contained in each time window is an independent fragment. If there is no process action in the execution time window corresponding to a certain fragment (e.g., only a waiting instruction is included), the data volume of the fragment is small, and the system still treats it as an independent fragment for hash calculation and transmission. The mobile edge node is equipped with a UWB ranging module. The target static edge node deploys a corresponding UWB anchor point on the slot side. During its movement, the mobile edge node continuously sends UWB ranging pulse signals. After receiving the signal, the UWB anchor point of the target static edge node returns a response frame. The mobile node calculates the real-time distance between itself and the target static node based on the two-way flight time. ,in, This is the total time elapsed from sending the ranging request to receiving the response frame. The time consumed for processing response frames within a static node. The speed of light; when the calculated real-time distance... ≤Preset distance threshold (The value is 1 meter, derived from the combined settings of the UWB module's ranging accuracy calibration and the workshop crane's positioning accuracy—the UWB module's ranging accuracy is ±10cm, and the crane's positioning accuracy requirement is ±20cm. Triggering the connection at a distance of 1 meter ensures that the link establishment preparation work is completed before the crane reaches the slot.) When the connection is established, the mobile edge node sends a wake-up frame to the target static edge node's wireless transceiver, causing the static node's wireless transceiver, which is in a low-power listening state, to enter full-speed working mode, preparing for subsequent data transmission. After the connection is established, the mobile edge node sends a list of hash checksums of its locally cached data fragments (initially empty) to the target static edge node. The target static edge node then iterates through the hash checksums of all the data fragments it has received locally. The hash list sent by the mobile node is compared item by item. For fragments that already exist in the hash list sent by the mobile node, it means that the fragment has been correctly cached locally by the mobile node and does not need to be transmitted again. For fragments that are missing from the hash list or whose hash values sent by the mobile node are inconsistent with the hash values calculated locally by the target node, the target node marks them as "missing fragments". The target static edge node only sends the data content of these missing fragments to the mobile edge node one by one. Each time the mobile edge node receives a complete fragment, it recalculates the hash value of the fragment and compares it with the hash value sent by the cloud. If they match, the fragment is stored in the local cache. If they do not match, the node requests the target node to retransmit the fragment until all data fragments pass the hash verification. Before all data fragments are received, the mobile edge node, upon receiving a complete fragment and verifying it via hash check, immediately parses the process parameters contained within that fragment into a sequence of execution instructions recognizable by the PLC (including current setpoints, voltage setpoints, temperature setpoints, and corresponding timestamps), sequentially according to the execution timeline. The parsed instructions are then cached in the mobile node's local instruction queue. The mobile node does not wait for subsequent fragments to arrive but continuously executes the pipelined operation of "receive → verify → parse → cache." Once all data fragments have been received and passed hash check, the mobile edge node confirms the process parameter package is complete and error-free. At this point, all execution instructions are cached in the instruction queue. The mobile edge node then sequentially issues these instructions to the crane PLC and the slot rectifier in a pipeline manner, according to the order of the instruction queue. That is, after the first instruction is issued to the execution end, the second instruction is issued immediately without waiting for completion, and so on, maximizing the instruction issuance rate so that the crane can begin electroplating operations according to the complete process parameters in the shortest possible time after arriving at the slot.
[0023] In one embodiment of the present invention, the calculation of compensation acceleration in the vehicle anti-sway module includes: The system collects real-time speed vectors of the crane and swing angles of the suspension ropes. Using historical speed and swing angle sequences as inputs and the current swing angle as output, it updates the autoregressive model coefficients online using the recursive least squares method. Based on the updated coefficients, it calculates the natural sloshing frequency of the suspension system in the plating solution. Damping ratio The suspension system is a crane-suspension rope-workpiece-plating solution coupling system in which the workpiece is immersed in the plating solution. With the inherent sway frequency Damping ratio As parameters of the state-space equations, solving for the swaying displacement Minimize vehicle acceleration control amount The state-space equation is: , ,in, To determine the horizontal swaying displacement of the suspended workpiece. Let be the rate of change of the swaying displacement. and They are respectively and The derivative with respect to time; When the grouping module triggers the virtual slot pool re-division, the target slot of the train changes, and the train anti-sway module recalculates the compensation acceleration based on the changed target slot position. Vehicle acceleration control amount The differential signal of the original speed command is superimposed on the PLC of the crane to generate a compensated speed command, which is then output to the crane actuator.
[0024] Specifically, the crane anti-sway module collects the following two types of data in real time: The first type is crane motion data: by counting pulses deployed on the encoder of the crane drive motor, the real-time velocity vectors in the directions of the crane trolley and the crane carriage are calculated. ,in, The speed of the train along the length of the workshop. The first category is the speed of the crane along the width of the workshop; the second category is the response data of the suspension system: tilt sensors are installed at the connection point between the suspension rope and the crane to measure the deflection angle of the suspension rope in the X and Y directions of the horizontal plane in real time. and The pendulum angle of the suspension rope is obtained by synthesis. The suspension system consists of an overhead crane, suspension ropes, the workpiece, and the plating solution into which the workpiece is immersed. The workpiece is submerged in the plating solution, and its movement within the solution is damped by the liquid. The system exhibits second-order underdamped oscillation characteristics, which can be expressed using its natural oscillation frequency. Damping ratio Two parameters describe its dynamic response characteristics; use An auto-regressive model describes the dynamic relationship between the swing angle of the suspension rope and the vehicle speed. The values were determined based on field data before the system went live. Specifically, 1000 sets of speed and sway angle sequences were collected under the operating conditions of the train's transmission, and attempts were made to... to Establish an autoregressive model and select the model based on minimizing the sum of squared residuals. This value remains fixed during subsequent runs, and the specific model form is as follows: ,in, The current angle of the rope swing. to For the front Historical swing angle sequence at each sampling time to For the front Historical velocity sequence at each sampling time, to and to The model coefficients to be identified are... The model residual (i.e., the error between the model's predicted value and the actual measured value) means that the swing angle at the current moment can be calculated from the previous value. The prediction is based on a linear combination of the swing angle and velocity values at each time step; the online update of the model coefficients uses recursive least squares (RLS); time steps are defined. observation vector for: Define the parameter vector to be identified. for: The model can then be simplified as follows: The recursive update steps of the RLS algorithm are as follows: First, calculate the model prediction error at the current time. The second step is to calculate the gain vector. The third step is to update the parameter vector. Fourth step, update the covariance matrix: ;in, To initialize as a vector of all zeros, The initialization method, where the identity matrix is multiplied by 100, allows for faster convergence in the early stages of the algorithm's operation. As the covariance matrix gradually converges, the parameter estimates tend to stabilize. Each time data from a sampling point is obtained, the aforementioned four recursive steps are executed to achieve real-time online updates of the model coefficients, ensuring the model consistently adapts to the dynamic changes in the current suspension system. The values of and the initial parameters of the RLS algorithm , All calibrations were completed using historical data before the system went live and remained unchanged during operation; the updated model coefficients were obtained using the recursive least squares method. to Then, the characteristic equation of the discrete system is constructed. Solving the characteristic equation yields the dominant conjugate complex poles. The discrete poles are mapped to continuous poles using the bilinear transform method or the pole matching method. Domain, calculating the dominant poles of a continuous system Then, based on the mapping relationship between the poles of the second-order system and the physical parameters, the natural sway frequency of the current suspension system is calculated. Damping ratio : as well as ,in, The sampling interval; Define state variables To determine the horizontal swaying displacement of the suspended workpiece. Let be the rate of change of the swaying displacement. The state-space equation of the system is: , Let the state vector ,in, , The objective is defined as causing the swaying displacement. and shaking speed To converge to zero as quickly as possible, i.e., to minimize the following quadratic cost function: ,in, It is a 2×2 positive semi-definite weight matrix with a value of diag(10, 1), indicating that the weight for suppressing sway displacement is higher than the weight for suppressing sway velocity. The penalty weight for the control quantity is set to 0.01, which represents the constraint on the acceleration control quantity. By testing the diagonal elements of Q in the simulation environment, four sets of values (1, 1), (5, 1), (10, 1), and (20, 1) are selected. The maximum amplitude of the swaying displacement and the peak value of the acceleration are used as evaluation indicators. The value (10, 1) with the best swaying displacement suppression effect and the smoothest acceleration change is selected as the actual running value. The value was also compared through simulation with four sets of values: 0.1, 0.05, 0.01, and 0.005. The value of 0.01, which strikes a balance between suppression effect and energy consumption control, was selected. and The value of remains constant during system operation; by solving the algebraic Riccati equation The positive definite matrix is obtained. Then calculate the state feedback gain matrix. The optimal control quantity is: This control quantity That is, the vehicle acceleration control quantity that minimizes sway displacement. ; When the vehicle anti-sway module is updated online, new and At that time, the system state matrix Synchronous changes occur; the vehicle anti-sway module incorporates a lightweight algebraic Riccati equation solver, with the updated... Using a matrix as input, solve the algebraic Riccati equation online in real time. ,in, For the control matrix, It is a positive definite symmetric matrix. It is a scalar weight matrix. It is a positive semi-definite symmetric matrix. For control matrix Transpose of the matrix; dynamically update the optimal state feedback gain matrix. ,in, The first element of the state feedback gain matrix. It is the second element of the state feedback gain matrix to ensure that the control law always converges and is optimal under time-varying conditions; The calculated acceleration control quantity The signal is converted into an analog voltage signal by a digital-to-analog converter and superimposed on the differential signal input of the crane PLC's original speed command. Specifically, the crane PLC's speed command is a 0~10V analog voltage signal (corresponding to 0~rated speed). This signal, along with the -2V~+2V compensation voltage output by the crane anti-sway module, is superimposed by an adder circuit and input to the frequency converter, causing the crane to generate an additional voltage signal on top of the original speed command. The determined acceleration correction amount is used to counteract the swaying tendency caused by the inertia of the suspension system during vehicle acceleration and deceleration. When the grouping module triggers virtual slot pool re-division, causing a change in the target slot of the vehicle, the endpoint position of the planned vehicle path changes. Due to the change in the target slot position, the vehicle needs to replan its travel path from the current position to the new target slot, and the corresponding velocity curve also changes accordingly. Therefore, the original compensation acceleration control amount... The new driving speed command sequence is no longer applicable; after receiving the slot change signal sent by the grouping module, the driving anti-sway module executes the following recalculation process: First, clear the currently cached historical speed sequence and sway angle historical sequence, and use the current driving speed and sway angle as the new initial state; Second, obtain the updated target slot position and planned path from the path change module, and extract the updated speed command sequence; Third, the speed command sequence currently identified in the previous steps is used... and The state space feedforward calculation is re-executed with the updated velocity sequence, keeping the state unchanged (because the hanging system and the state of the plating solution have not changed abruptly), to generate a compensated acceleration sequence adapted to the new path; in the fourth step, when the trolley starts to travel along the new path, the recalculated compensated acceleration is superimposed on the original velocity command corresponding to the new path.
[0025] In one embodiment of the present invention, the health query module acquires real-time health status and initiates a capability query, including: Real-time health is calculated by weighting the temperature deviation, pH drift, cumulative power-on time, and cumulative processing quantity of the target static edge node. ; Before hoisting, first query the health snapshot of the target static edge node in the local cache. If the timestamp of the snapshot is less than the current time and the preset validity period, then the snapshot is used as the real-time health; otherwise, send a real-time health query frame to the target static edge node. when At the same time, maintain the original scheduling instructions and control the train to proceed along the original path to the target static edge node, wherein, The health threshold; when When the vehicle is in motion, it initiates a capability query to all other static edge nodes in its virtual slot pool and pauses its current movement until it receives the voting results, after which it resumes movement based on the voting results. If no response is received from any candidate node within the preset timeout period, the vehicle will be controlled to decelerate and move toward the original target static edge node, and an alarm for slot abnormality will be issued upon arrival.
[0026] Specifically, the health query module calculates the real-time health status based on the sensor data of the target static edge node. Sensor data includes: temperature deviation The difference between the current measured value of the bath temperature and the process specification setting reflects the degree of deviation of the temperature control system. The temperature sensor is installed below the liquid level on the side wall of the tank and samples every 0.5 seconds, taking the average value of the samples within the most recent minute as the current measured value; pH drift. The difference between the current measured pH value of the bath solution and the set value in the process specification reflects the degree of change in the composition of the solution; cumulative power-on time. The cumulative number of hours the rectifier has been powered on since the last maintenance in this tank reflects the degree of electrode aging and consumption of tank solution additives; the cumulative number of parts processed since maintenance. The number of workpieces processed in this tank since the last maintenance reflects the cumulative load and impurity accumulation in the tank solution; among them, the real-time health status... The calculation formula is: ,in, , , and These are the upper limits for temperature deviation tolerance (5℃, meaning that when the bath temperature deviates from the set value by more than 5℃, the temperature control is considered to be seriously malfunctioning), the upper limit for pH drift tolerance (0.5, meaning that when the pH value deviates from the set value by more than 0.5, the chemical composition is considered to be seriously unbalanced), the upper limit for cumulative energizing time tolerance (200 hours, meaning that after exceeding this time, electrode aging significantly affects the coating quality), and the upper limit for cumulative processed parts tolerance (500 pieces, meaning that after exceeding this number, the accumulation of impurities in the bath significantly affects the coating quality). , , and The pre-defined weighting coefficients are determined based on the analytic hierarchy process (AHP). , , and The values are 0.35, 0.30, 0.20 and 0.15 respectively; the above tolerance upper limits are derived from the process specification documents, which are formulated by the electroplating process engineer according to the type of bath solution and process requirements, and are entered during system initialization. in, The health threshold is determined by collecting health data from all tanks in the workshop over a continuous period of 6 months. The data included the corresponding fault records. The distribution of health values from the last query before the fault occurred was statistically analyzed. The optimal segmentation threshold was determined with the goal of achieving a fault recall rate of no less than 95% and a false alarm rate of no more than 10%. The collected data contained 126 fault events and 1200 normal operation samples. After traversing... Values were taken in increments of 0.05 between 0.1 and 0.9. The fault recall rate and false alarm rate were calculated for each value, and the value with the lowest false alarm rate and a recall rate ≥ 95% was selected. As an operating value, this value remains constant during system operation; The health query module starts a timeout timer after sending a capability query broadcast frame. If no response is received from any candidate node within the preset timeout period, it is determined that there is no available alternative slot in the current virtual slot pool. The hovering state is canceled, and the crane is controlled to decelerate at 30% of its rated speed towards the original target static edge node. Upon arrival, a slot abnormality alarm is issued through the workshop's audible and visual alarm device, prompting the operator to handle it manually. The preset timeout period is 500 milliseconds, which is derived from the following calibration process: Under the actual operating environment of the workshop network, the round-trip time required for the capability query broadcast frame to be sent and for all candidate nodes in the pool to respond is tested. A total of 500 sets of round-trip delay data are collected under different time periods (early shift, afternoon shift, and night shift) and different network load conditions. The 95th percentile is taken as 435 milliseconds. On this basis, a 15% redundancy is added and rounded to 500 milliseconds. If no valid response is received within this value, it is determined that the communication has timed out or there is no available node. This value remains fixed during system operation.
[0027] In one embodiment of the present invention, the method for adjusting the preset validity period and managing the cache includes: When the grouping module triggers a virtual slot pool repartition, the preset validity period is shortened to 50% of its original value. When the grouping module adds a static edge node to the current virtual slot pool, it marks the local cache health snapshot corresponding to the newly added node as invalid, forces the sending of a real-time health query frame to the newly added node, and decides whether to drive to the node or perform rerouting based on the query result. When the grouping module removes a static edge node from the current virtual slot pool, it deletes the local cache health snapshot corresponding to the removed node. Within a preset time window after the pool is re-divided, the real-time health status of all nodes in the pool is compared with the local cache snapshot. If the difference is less than the preset deviation threshold multiple times in a row, the preset validity period is restored to the original value.
[0028] Specifically, after pool repartition, the functional equivalence relationship between nodes within the pool changes. Newly added nodes may not have previously belonged to this pool, reducing the reference value of their health snapshots. Simultaneously, nodes removed from the pool may have historical snapshots stored in the pool's cache. If not updated promptly, these snapshots could mislead subsequent query decisions. Shortening the preset validity period forces moving edge nodes to obtain real-time health data from static nodes at a higher frequency during the initial pool partitioning phase, preventing incorrect judgments based on outdated cache snapshots. Therefore, when the health change of any node in the virtual slot pool exceeds the preset change threshold, the marshalling module triggers the repartitioning of the virtual slot pool. After the update unit completes the new pool partitioning, it sends a pool partitioning change signal to the health query module. Upon receiving this signal, the health query module shortens the preset validity period of its local cache from the original value (60 seconds) to 50% of the original value, i.e., 30 seconds. When the grouping module adds a static edge node to the current virtual slot pool, it sends a node addition notification to the health query module. This notification includes the node ID of the newly added node. Upon receiving this notification, the health query module searches its local cache for the corresponding health snapshot entry for the newly added node. If the entry exists in the local cache, the health value in that entry is set to -1 (indicating invalidity), and the timestamp is set to 0 (indicating the snapshot has expired). If the entry does not exist in the local cache, a new entry is created, with the health value set to -1 and the timestamp set to 0. Immediately after marking or creating the entry, the health query module sends a real-time health query frame to the newly added node to forcibly obtain its current real-time health. , obtain Then, the health query module calculates the health score based on the H value and... The comparison results determine the driving action: if If the node is active, then the node is considered available, and vehicles are allowed to proceed to the node normally; if... If the node is deemed unavailable, the voting module will be triggered to execute a rerouting process (see the voting module implementation example for details of the voting process). When the grouping module removes a static edge node from the current virtual slot pool, the grouping module sends a node removal notification to the health query module. The notification contains the node ID of the removed node. After receiving the notification, the health query module looks up the health snapshot entry corresponding to the removed node in its local cache. If the entry for the node exists in the local cache, the entire entry is deleted to release storage space; otherwise, no action is taken. Within a preset time window W (valued at 300 seconds, or 5 minutes) after the grouping module completes pool repartitioning, the health query module performs the following difference comparison operation on the access process of each node in the pool: Each time, the health query module sends a real-time health query frame to a static node in the pool and obtains the real-time health status. Then, query the health snapshot corresponding to that node in the local cache. (If it exists), calculate the difference. The health status query module records consecutive queries occurring on each node, organized by node. The number of times; among them, To preset the deviation threshold, 800 sets of difference data were collected between the real-time query values and cache snapshot values of all nodes over 7 consecutive days under normal workshop conditions after pool refactoring, and the average value of the difference was calculated. and standard deviation Normal fluctuation range falls within The differences within the range are all less than 0.05, therefore 0.05 is used as the deviation threshold for determining whether the two are consistent; when the continuous differences of a certain node are less than When the number of queries reaches 3 (this number is derived from the fact that 3 consecutive consistent queries can eliminate the impact of single network fluctuations or accidental sensor jumps, while also avoiding excessively long waiting times), the health query module determines that the health of the node has stabilized, and the impact of pool refactoring on the query validity of this node has been eliminated; when the consecutive differences among all nodes in the pool are less than When the number of queries reaches 3 times, the health query module will restore the preset validity period of the local cache from the shortened 30 seconds to the original value of 60 seconds. This restoration operation indicates that the uncertainty of cached data caused by pool repartition has been eliminated, and the system has returned to normal query mode.
[0029] In one embodiment of the present invention, the voting module selects an alternative slot based on the respective task queues and health status, including: After receiving the capability query broadcast frame, each static edge node parses the process requirement vector in the capability query broadcast frame, checks whether its currently available process parameter range covers all process conditions in the process requirement vector and whether its own task queue length is less than the upper limit of the queue capacity, and marks the nodes that meet the conditions as candidate nodes. Each candidate node calculates its own performance index. Specifically: ,in, The current real-time health status of the candidate node. The current task queue length of the candidate node. The spatial distance between the candidate node and the mobile edge node that initiated the query. This is the maximum queue capacity. To preset the maximum allowable detour distance, , and Preset weighting coefficients; Each candidate node will use the aforementioned performance metrics Broadcast to all static edge nodes within the associated virtual slot pool; Performance metrics of each static edge node receiving all candidate nodes Then, select The candidate node with the largest value is used as the replacement slot; if If there are multiple candidate nodes with the highest values, then the health score is selected. The highest-ranking node will return the node ID of the alternative slot to the mobile edge node that initiated the query.
[0030] Specifically, the process requirement vector includes the component type identifier, the required process type number, the temperature requirement range for each process stage, the pH value requirement range, and the estimated processing time. The criteria for determining the process parameter range are: the deviation between the current sensor measured value and the process specification setting value of the node does not exceed the upper limit of the tolerance allowed by the process specification (temperature tolerance is ±2℃, pH tolerance is ±0.2). If the current measured value exceeds this tolerance range, it is determined that the process condition is not met. If a static edge node does not meet any of the above process coverage conditions, the node directly exits the voting process and does not participate in subsequent calculations and voting. If a static edge node meets all process coverage conditions, its own task queue length is further checked. Is it less than the queue capacity limit? Simultaneously satisfying full coverage of process conditions and Static edge nodes that meet both conditions are marked as candidate nodes and enter the subsequent performance index calculation stage; in, The queue capacity limit is set at 5. The average processing time across all slots in the workshop is 3 minutes, and the overhead crane arrives at one slot every 2 minutes on average. This limit ensures the queue won't overflow under normal production cycles, while also preventing excessive waiting times caused by a single node handling too many tasks. To predetermine the maximum permissible detour distance, the furthest path between any two slots within the workshop is approximately 50 meters. If the additional travel distance to the alternative slot exceeds 30 meters, the time loss from the detour will exceed the time spent waiting for the original slot to be repaired. In this case, switching to the alternative slot no longer yields guaranteed benefits. , and The preset weighting coefficients are set to 0.5, 0.3, and 0.2 respectively, and the weighting is based on the experience and judgment of the field engineers. Each candidate node completes performance indicators After the calculation, The value and its own node ID are encapsulated into a vote frame and broadcast to all static edge nodes in the virtual slot pool. The broadcast uses the UDP protocol, and the port number is configured uniformly during system initialization. While sending its own vote frame, each static edge node continuously listens for vote frames from other candidate nodes in the pool. Since all candidate nodes in the pool initiate broadcasts simultaneously, short-term communication conflicts may occur in the network. Each time a static edge node receives a vote frame from a candidate node, it immediately encapsulates that node's node ID and... The value is recorded in the local vote collection; each static edge node continuously listens for a preset duration. (The value is 200 milliseconds. This value is derived from the fact that the number of candidate nodes in the pool is usually 3 to 8, and the total time for each node to broadcast sequentially does not exceed 150 milliseconds. 200 milliseconds is taken as 1.3 times the redundancy of this duration to ensure that all votes can be received completely.) After completion, each static edge node confirms that it has received vote frames from all candidate nodes in the pool; each static edge node then... After completion, the candidate node with the largest P-value is selected from the local vote collection as the replacement slot. If there is only one candidate node with the largest value, then that node is directly designated as the replacement slot; if If multiple candidate nodes have the highest P-values (i.e., two or more candidate nodes have the same P-value and are all the highest), then a tie-breaking decision is made: the health of these candidate nodes is compared. Select The slot with the highest value is used as the replacement slot. This decision is based on health. Reflecting the actual operating status of the equipment is the most critical factor determining electroplating quality. When overall performance indicators are the same, prioritizing nodes with better equipment status maximizes the quality of the replaced product. After determining the replacement slot, each static edge node encapsulates the node ID of the replacement slot into a voting result frame and returns it to the mobile edge node that initiated the query via unicast. Since all static nodes return consistent voting results, the mobile edge node only needs to confirm receipt of a result frame from any node to execute subsequent path change operations.
[0031] In one embodiment of the present invention, the path changing module, which changes the path according to the voting results, includes: A workshop topology map is constructed with the intersection of workshop tracks as vertices and track segments as edges; the base weight of each edge is the travel time required for the train to run at standard speed on the track segment; the locking interval information broadcast by other mobile edge nodes in the workshop is obtained through the piggyback synchronization module, and the base weight of the track segment that has been locked or occupied by other trains is multiplied by a preset penalty coefficient; Starting from the real-time location of the current mobile edge node and ending at the location of the replacement slot, search for the path with the minimum cumulative weight in the workshop topology map; The searched path marks the N consecutive track segments that the current mobile edge node is expected to enter within a preset time window as a locked interval, generates a locked interval broadcast frame, the locked interval broadcast frame includes the starting track segment ID, the ending track segment ID and the expected duration, and broadcasts the locked interval broadcast frame to other mobile edge nodes in the workshop through the piggyback synchronization module; After confirming that the path switch is complete, a second handshake trigger signal is sent to the dynamic handshake module, carrying the node ID of the replacement slot.
[0032] Specifically, the path change module constructs a topology map based on the workshop track layout, defining all intersections of tracks within the workshop (including track intersections, branching points, and slot entrances) as vertices. The track segment connecting two adjacent intersection points is defined as an edge. The baseline weight of each edge is the length of the track segment divided by the standard operating speed of the train. The standard operating speed is 70% of the rated speed of the train, i.e., 1.4 m / s (the rated speed is 2 m / s). This value comes from the compromise between the rated speed of the train and the safe operating speed. 70% of the rated speed can take into account transportation efficiency while ensuring safety. Before planning a route, the route change module first obtains locked interval broadcast frames from other mobile edge nodes within the workshop via a piggyback synchronization module. Each locked interval broadcast frame contains the starting track segment ID, the ending track segment ID, and the estimated occupancy time. Based on the received locked interval information, the route change module multiplies the baseline weight of track segments locked or occupied by other vehicles in the workshop topology map by a preset penalty coefficient. The preset penalty coefficient is calculated by collecting 200 sets of waiting time data for vehicles due to occupied track segments during normal workshop operation. The average waiting time is 8 seconds, and the average extra travel time for detouring is 2 seconds. If the penalty coefficient is 5.0, the equivalent weight of the occupied track is the baseline travel time × 5. When the baseline travel time is 2 seconds, the equivalent weight is 10 seconds, slightly greater than the average waiting time of 8 seconds, making vehicles more inclined to choose detouring. Instead of waiting; values that are too large may cause vehicles to frequently detour, increasing the total travel distance, while values that are too small may cause vehicles to tend to wait, resulting in congestion; the path change module takes the track segment where the current moving edge node is located as the starting point (if the vehicle is exactly at the track intersection point, then the intersection point is taken as the starting point; if the vehicle is in the middle of a track segment, then the intersection point at both ends of the track segment that is closer to the vehicle is taken as the starting point), and takes the track segment where the replacement slot is located as the ending point (the track intersection point closest to the slot entrance is taken as the ending point), and uses the A* algorithm to search for the path with the minimum cumulative weight in the dynamically weighted workshop topology graph; the specific execution method of the A* algorithm is as follows: starting from the starting point, maintain an open list and a closed list. The open list stores vertices to be evaluated, and the closed list stores vertices that have been evaluated; for the vertex currently being evaluated, calculate the estimated cost of all its neighboring vertices. ,in, This is the actual cumulative weight from the starting point to the current vertex (i.e., the sum of the current weights of each track segment that has been traversed). The heuristic estimate of the distance from the current vertex to the destination is obtained by dividing the Euclidean distance between the current vertex and the destination by the standard driving speed (1.4 m / s). The calculation method is selected from the open list. The vertex with the smallest value is selected as the next vertex to be evaluated, and this process continues until the endpoint is added to the closed list. At this point, the path from the starting point to the endpoint is the path with the smallest cumulative weight. Since the workshop topology map is limited in size (usually no more than 200 vertices and no more than 400 edges), the A* algorithm's computation time is in the millisecond range, meeting the response time requirements for real-time path planning. After the path search is completed, the path change module obtains the complete path from the starting point to the endpoint (a sequence of continuous track segments) from the search results. The path change module then identifies the expected travel time within a preset time window on this path. The upcoming orbital segment, including the preset time window. The shortest reaction time required for a train to travel from issuing a lockout broadcast to actually arriving at the track segment is calculated. The train's normal speed is 1.4 m / s, so 5 seconds corresponds to a travel distance of 7 meters, approximately equal to the total length of two consecutive track segments. Simultaneously, the average calculation time for path replanning after an adjacent train receives a lockout broadcast is 200 milliseconds, far less than 5 seconds. Therefore, the 5-second time window provides sufficient response time for other trains to determine their routes. The specific method for identifying the track segment to be entered is as follows: based on the current position and speed of the train, calculate the estimated time to reach each track segment segment in sequence according to the path, and then select the segments with estimated arrival times less than a certain value. N consecutive track segments are marked as a locked interval. The value of N is dynamically calculated based on the specific path and train speed, but it must be at least one track segment. The path change module generates a locked interval broadcast frame, which contains the following fields: starting track segment ID, ending track segment ID, and estimated occupancy time (the value is 1.2 times the time required for the path to travel from the starting point to the ending point, i.e., adding 20% redundancy to avoid premature release of the lock due to the actual operating speed being slightly lower than the standard speed, resulting in the lock being mistakenly occupied by other trains). The locked interval broadcast frame is broadcast to other moving edge nodes in the workshop via the reserved extended fields of the synchronization module. After the change module confirms that the crane has left the original path and entered the new path (the determination method is: the path direction between the real-time position of the crane and the position of the replacement slot is consistent with the replanned path, and the first fork point between the original path and the replanned path has been passed), it sends a secondary handshake trigger signal to the dynamic handshake module. The secondary handshake trigger signal contains the following information: the node ID of the replacement slot, the current coordinates of the crane position, and the estimated time to reach the replacement slot (calculated based on the current speed and the remaining path length). After receiving the trigger signal, the dynamic handshake module starts the communication connection process with the static edge node of the replacement slot and obtains the process parameter package.
[0033] In one embodiment of the present invention, the method of exchanging health information in the piggyback synchronization module includes: Each mobile edge node and each static edge node maintains a neighborhood status table. The neighborhood status table is indexed by the node ID, and each entry contains a health value, task queue length, and timestamp. When the dynamic handshake module initiates or receives handshake signaling, the piggyback synchronization module selects the K entries with the latest timestamps from the local neighborhood status table, serializes the K entries according to a preset format, and fills them into the reserved extended field of the handshake signaling of the dynamic handshake module. Upon receiving the handshake signaling, the piggyback synchronization module decompresses and deserializes the K entries from the reserved extended field. For each decompressed entry, if there is an entry with the same node ID in the local neighborhood state table, the timestamps are compared and the one with the latest timestamp is retained. If there is no entry with the same node ID in the local neighborhood state table, it is directly inserted. If the K entries after decompression contain the node's own state information, then the entries are discarded and not written to the local neighborhood state table; when the timestamp of any entry in the local neighborhood state table is greater than the current time than the preset aging time threshold, the entry is deleted.
[0034] Specifically, each mobile edge node and each static edge node maintains a neighborhood status table, which is a hash table indexed by the node ID. Each entry contains the following three fields: health value. Task queue length timestamp (Records the time of the most recent update of this entry, provided by the system clock). The maximum capacity of the neighborhood state table is M entries. M is dynamically set according to the total number of nodes in the virtual slot pool where the node is located. The initial state of each node's neighborhood state table is empty, and it is gradually filled as the dynamic handshake proceeds. When the dynamic handshake module initiates or receives a handshake signal (i.e., during the process of establishing a communication connection between the vehicle and the slot), the dynamic handshake module sends a piggyback trigger signal to the piggyback synchronization module. The piggyback synchronization module selects the K entries with the latest timestamps from the local neighborhood status table. K is a preset value, which is 3, determined through a balance analysis of communication overhead and information volume. The piggyback synchronization module serializes the selected K entries into a binary data stream according to a preset format. The serialization format is as follows: the first byte is the number of entries K, followed by the entries arranged in order. Each entry is arranged in the order of [node ID (8 bytes)] + [health H (4-byte floating-point number)] + [task queue length L (1 byte)] + [timestamp T (8 bytes)]. The serialized data is filled into the reserved extended field of the handshake signal of the dynamic handshake module. Upon receiving the handshake signaling, the dynamic handshake module, after completing the standard handshake process stipulated in the protocol, uses a piggyback synchronization module to extract serialized data from the reserved extended fields of the handshake signaling. This serialized data is then decompressed and deserialized into K entries according to the aforementioned serialization format. For each decompressed entry, the piggyback synchronization module executes the following update logic: First, it checks if the node ID of the entry is the same as the local node's own ID. If they are the same, the entry is discarded and not written to the local neighborhood state table (this mechanism prevents the node's own information from being transmitted back and spread in the workshop network, avoiding circular propagation and redundant data). Second, if the node ID is different from the local node's ID, the piggyback synchronization module queries the local neighborhood state table using the node ID as an index. If an entry with the same node ID already exists in the local neighborhood state table, the timestamps are compared: the timestamp is retained. New entries (i.e., the newer one is retained compared to the timestamp of the decompressed entry and the local entry) are overwritten. If no entry with the same node ID exists in the local neighborhood state table, the decompressed entry is directly inserted into the local neighborhood state table. The piggyback synchronization module traverses the entire table after each update of the local neighborhood state table, checking the timestamp of each entry. If the difference between the current time and the entry's timestamp exceeds a preset aging time threshold, the entry is deleted from the neighborhood state table. The preset aging time threshold is based on the fact that the cumulative power-on time of the plating tank health and the cumulative processing quantity after maintenance change slowly in the electroplating workshop. The change in health within 300 seconds is usually no more than 0.05. After 300 seconds, the reference value of cached information has significantly decreased. At the same time, timely deletion of outdated entries can free up storage space for new information, so its value is determined to be 300 seconds.
[0035] The above embodiments are only used to illustrate the technical methods of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical methods of the present invention without departing from the spirit and scope of the technical methods of the present invention.
Claims
1. An edge computing collaborative control system for an electroplating workshop, characterized in that, Includes the following modules: Mobile edge nodes are deployed on overhead cranes; Static edge nodes are deployed in slots; The grouping module is used to group the static edge nodes according to functional equivalence to form a virtual slot pool; A dynamic handshake module, configured on the mobile edge node, is used to establish a connection with the static edge node; when the mobile edge node moves to the target slot according to the scheduling instruction, the dynamic handshake module triggers the cloud to push the process parameter package to the corresponding static edge node in advance. The dynamic handshake module triggers a connection via UWB positioning after the mobile edge node arrives, obtains the process parameter package, and performs process coordination. The crane anti-sway module is built into the moving edge node and is used to calculate the compensation acceleration based on the real-time velocity vector and workpiece parameters, and output the acceleration to the crane actuator. The health query module is built into the mobile edge node and is used to obtain the real-time health status from the target static edge node before hoisting. When the real-time health status is less than or equal to the health status threshold, the module initiates a capability query to other static edge nodes in the virtual slot pool. The voting module, configured on the static edge node, is used to select an alternative slot based on the respective task queue and health status after receiving a capability query. The path change module, configured on the mobile edge node, is used to change the path according to the voting results and trigger the dynamic handshake module to establish a connection with the static edge node of the replacement slot and obtain process parameters. A piggyback synchronization module is configured on the mobile edge node and the static edge node to embed the health information of their respective cached neighboring nodes into the handshake signaling for exchange during each dynamic handshake process; The continuous transmission module, configured on the static edge node, is used to compress and cache task execution data, and then transmit it back to the cloud when the network is idle.
2. The edge computing collaborative control system for an electroplating workshop according to claim 1, characterized in that, The grouping module includes: The collaborative log matrix unit is used to record historical collaborative events between each pair of static edge nodes, and each event includes the switchover time. and the qualified marking of the replacement coating ,in, It is considered qualified at that time. It is considered unqualified at that time; The success rate calculation unit is used to calculate the success rate of two static edge nodes. and Weighted historical collaboration success rate Specifically: ,in, For nodes and The total number of historical collaborative events between them This is the current timestamp. For the first The timing of the secondary collaborative event The preset attenuation coefficient; Dynamic clustering units are used to cluster nodes with static edge nodes as vertices. A weighted undirected graph is constructed based on the edge weights. The Louvain community detection algorithm is used to dynamically segment the weighted undirected graph, and each community in the segmentation result is marked as a virtual slot pool. The trigger update unit is used to trigger the success rate calculation unit and the dynamic clustering unit to recalculate and update the pool division when the change in the health of any node in the virtual slot pool exceeds a preset change threshold.
3. The edge computing collaborative control system for an electroplating workshop according to claim 1, characterized in that, The dynamic handshake module includes: When the mobile edge node moves to the target slot according to the scheduling instruction, it requests the process parameter package of the target static edge node from the cloud. The cloud divides the process parameter package into multiple data slices according to the execution time axis. Each data slice is attached with a hash check value and the data slice is pushed to the target static edge node in advance. Once the mobile edge node reaches the UWB communication range of the target static edge node, after the connection is triggered by UWB ranging, the mobile edge node sends the hash checksum of the locally cached data fragments to the target static edge node for comparison. The target static edge node only returns the missing fragments whose hash checksums failed. Before all data fragments are received, the mobile edge node parses the received fragments into execution instructions one by one according to the execution timeline and caches them in the instruction queue. After all data fragments are received, the instruction queue is sequentially sent to the crane PLC and the slot rectifier in a pipeline manner.
4. The edge computing collaborative control system for an electroplating workshop according to claim 1, characterized in that, The vehicle anti-sway module calculates the compensation acceleration, including: The system collects real-time speed vectors of the crane and swing angles of the suspension ropes. Using historical speed and swing angle sequences as inputs and the current swing angle as output, it updates the autoregressive model coefficients online using the recursive least squares method. Based on the updated coefficients, it calculates the natural sloshing frequency of the suspension system in the plating solution. Damping ratio The suspension system is a crane-suspension rope-workpiece-plating solution coupling system in which the workpiece is immersed in the plating solution. With the inherent sway frequency Damping ratio As parameters of the state-space equations, solving for the swaying displacement Minimize vehicle acceleration control amount The state-space equation is: , ,in, To determine the horizontal swaying displacement of the suspended workpiece. Let be the rate of change of the swaying displacement. and They are respectively and The derivative with respect to time; When the grouping module triggers the virtual slot pool re-division, the target slot of the train changes, and the train anti-sway module recalculates the compensation acceleration based on the changed target slot position. Vehicle acceleration control amount The differential signal of the original speed command is superimposed on the PLC of the crane to generate a compensated speed command, which is then output to the crane actuator.
5. The edge computing collaborative control system for an electroplating workshop according to claim 1, characterized in that, The health status query module obtains real-time health status and initiates capability queries, including: Real-time health is calculated by weighting the temperature deviation, pH drift, cumulative power-on time, and cumulative processing quantity of the target static edge node. ; Before hoisting, first query the health snapshot of the target static edge node in the local cache. If the timestamp of the snapshot is less than the current time and the preset validity period, then the snapshot is used as the real-time health; otherwise, send a real-time health query frame to the target static edge node. when At the same time, maintain the original scheduling instructions and control the train to proceed along the original path to the target static edge node, wherein, The health threshold; when When the vehicle is in motion, it initiates a capability query to all other static edge nodes in its virtual slot pool and pauses its current movement until it receives the voting results, after which it resumes movement based on the voting results. If no response is received from any candidate node within the preset timeout period, the vehicle will be controlled to decelerate and move toward the original target static edge node, and an alarm for slot abnormality will be issued upon arrival.
6. The edge computing collaborative control system for an electroplating workshop according to claim 5, characterized in that, The preset validity period adjustment and cache management methods include: When the grouping module triggers a virtual slot pool repartition, the preset validity period is shortened to 50% of its original value. When the grouping module adds a static edge node to the current virtual slot pool, it marks the local cache health snapshot corresponding to the newly added node as invalid, forces the sending of a real-time health query frame to the newly added node, and decides whether to drive to the node or perform rerouting based on the query result. When the grouping module removes a static edge node from the current virtual slot pool, it deletes the local cache health snapshot corresponding to the removed node. Within a preset time window after the pool is re-divided, the real-time health status of all nodes in the pool is compared with the local cache snapshot. If the difference is less than the preset deviation threshold multiple times in a row, the preset validity period is restored to the original value.
7. The edge computing collaborative control system for an electroplating workshop according to claim 1, characterized in that, In the voting module, alternative slots are selected based on the respective task queues and health status, including: After receiving the capability query broadcast frame, each static edge node parses the process requirement vector in the capability query broadcast frame, checks whether its currently available process parameter range covers all process conditions in the process requirement vector and whether its own task queue length is less than the upper limit of the queue capacity, and marks the nodes that meet the conditions as candidate nodes. Each candidate node calculates its own performance index. Specifically: ,in, The current real-time health status of the candidate node. The current task queue length of the candidate node. The spatial distance between the candidate node and the mobile edge node that initiated the query. This is the maximum queue capacity. To preset the maximum allowable detour distance, , and Preset weighting coefficients; Each candidate node will use the aforementioned performance metrics Broadcast to all static edge nodes within the associated virtual slot pool; Performance metrics of each static edge node receiving all candidate nodes Then, select The candidate node with the largest value is used as the replacement slot; if If there are multiple candidate nodes with the highest values, then the health score is selected. The highest-ranking node will return the node ID of the alternative slot to the mobile edge node that initiated the query.
8. The edge computing collaborative control system for an electroplating workshop according to claim 1, characterized in that, The path change module, which changes the path based on the voting results, includes: A workshop topology map is constructed with the intersection of workshop tracks as vertices and track segments as edges; the base weight of each edge is the travel time required for the train to run at standard speed on the track segment; the locking interval information broadcast by other mobile edge nodes in the workshop is obtained through the piggyback synchronization module, and the base weight of the track segment that has been locked or occupied by other trains is multiplied by a preset penalty coefficient; Starting from the real-time location of the current mobile edge node and ending at the location of the replacement slot, search for the path with the minimum cumulative weight in the workshop topology map; The searched path marks the N consecutive track segments that the current mobile edge node is expected to enter within a preset time window as a locked interval, generates a locked interval broadcast frame, the locked interval broadcast frame includes the starting track segment ID, the ending track segment ID and the expected duration, and broadcasts the locked interval broadcast frame to other mobile edge nodes in the workshop through the piggyback synchronization module; After confirming that the path switch is complete, a second handshake trigger signal is sent to the dynamic handshake module, carrying the node ID of the replacement slot.
9. The edge computing collaborative control system for an electroplating workshop according to claim 1, characterized in that, The methods for exchanging health information in the piggyback synchronization module include: Each mobile edge node and each static edge node maintains a neighborhood status table. The neighborhood status table is indexed by the node ID, and each entry contains a health value, task queue length, and timestamp. When the dynamic handshake module initiates or receives handshake signaling, the piggyback synchronization module selects the K entries with the latest timestamps from the local neighborhood status table, serializes the K entries according to a preset format, and fills them into the reserved extended field of the handshake signaling of the dynamic handshake module. Upon receiving the handshake signaling, the piggyback synchronization module decompresses and deserializes the K entries from the reserved extended field. For each decompressed entry, if there is an entry with the same node ID in the local neighborhood state table, the timestamps are compared and the one with the latest timestamp is retained. If there is no entry with the same node ID in the local neighborhood state table, it is directly inserted. If the K entries after decompression contain the node's own state information, then the entries are discarded and not written to the local neighborhood state table; when the timestamp of any entry in the local neighborhood state table is greater than the current time than the preset aging time threshold, the entry is deleted.