A selective wave soldering path planning method, system and storage medium
By grouping solder joints and generating initial paths based on constraints and load balancing, and then using decision variables and optimization objectives for iterative optimization, the problems of low path generation efficiency and poor rationality in selective wave soldering are solved, and efficient and reasonable path planning is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN JIALICHUANG TECH DEV CO LTD
- Filing Date
- 2026-02-02
- Publication Date
- 2026-04-28
AI Technical Summary
In selective wave soldering, path generation efficiency is low and path rationality is poor, relying heavily on manual generation, which leads to low efficiency.
Solder joints are divided into solder joint groups by preset grouping rules, and an initial path is generated based on constraints and load balancing. The initial path is then iteratively optimized using decision variables and optimization objectives to generate the target path.
It improves the efficiency and rationality of path generation, and the generated paths are more in line with load balance requirements, thereby improving welding efficiency.
Smart Images

Figure CN121635366B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to, but is not limited to, the field of data processing technology, and particularly to a path planning method, system, and storage medium for selective wave soldering. Background Technology
[0002] In the machine operation process of selective wave soldering, path planning is required to generate the soldering path for the wave soldering machine (soldering furnace).
[0003] However, in actual production of selective wave soldering, the path sequence is often generated manually, which results in low path generation efficiency and poor path rationality. Summary of the Invention
[0004] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.
[0005] The main objective of this invention is to propose a path planning method, system, and storage medium for selective wave soldering, which can improve the path generation efficiency and path rationality of selective wave soldering.
[0006] In a first aspect, embodiments of the present invention provide a path planning method for selective wave soldering, comprising:
[0007] According to the preset grouping rules, all solder joints are divided into a first number of solder joint groups, and each solder joint group includes at least two consecutive solder joints.
[0008] After assigning each solder joint group to the corresponding solder pot based on constraints and load balancing, an initial path is generated. The constraints include continuous traversal within the solder joint group, traversal of each solder joint once, fixed starting point, and solder pot assignment. The load balancing indicates that the initial path corresponding to each solder pot has a path length difference within a preset fluctuation range. The solder pot assignment indicates that a solder pot is pre-assigned to the forced group. The forced group indicates that the solder joint group with the pre-assigned solder pot is a solder joint group.
[0009] The initial path is iteratively optimized based on preset decision variables and optimization objectives to obtain the target path. The optimization objectives include minimizing the path length and maximizing load balancing.
[0010] In some optional embodiments, before generating the initial path after assigning each solder joint group to the corresponding solder pot based on constraints and load balancing, the method further includes:
[0011] Obtain information on all solder pots, including the number of solder pots, solder pot number, soldering speed, and no-load speed.
[0012] The soldering time for each solder group to be soldered in each solder pot is calculated based on the solder pot information. The free group represents a group of solder joints that are not assigned by the solder pot.
[0013] In some optional embodiments, the process of generating an initial path after assigning each solder joint group to its corresponding solder pot based on constraints and load balancing includes:
[0014] The forced group is inserted into the target position of the specified solder pot according to the cheapest insertion method, and the target orientation of the forced group is adjusted so that the first path of the specified solder pot traversing the forced group is minimized. The target orientation represents the direction of traversing the solder joints within the forced group.
[0015] After inserting the free group into all the solder pots in sequence, determine the second path of each solder pot traversing the free group, and configure the solder pot with the smallest second path as the soldering solder pot of the free group;
[0016] The initial path of each tin furnace is obtained by superimposing the first path and the second path corresponding to each tin furnace.
[0017] In some optional embodiments, calculating the soldering time corresponding to the soldering of the free group in each solder pot based on the solder pot information includes:
[0018] Obtain the second path of the free group in each tin furnace;
[0019] The welding time for each tin furnace to traverse the second path is determined based on the tin furnace welding speed and the tin furnace idle speed.
[0020] In some optional embodiments, the decision variables include:
[0021] The first variable is used to adjust the position of the solder joint group inserted into the solder pot;
[0022] The second variable is used to adjust the occupancy status of various positions on the solder pot;
[0023] The third variable is used to adjust the direction of traversing solder joints within the solder joint group;
[0024] The fourth variable is used to adjust the solder joint groups at adjacent positions on the solder pot;
[0025] The fifth variable is used to adjust the direction in which the two solder joint groups traverse the solder joints at adjacent positions in the solder pot;
[0026] The sixth variable is used to adjust the first solder joint group visited after the starting point.
[0027] In some optional embodiments, the step of iteratively optimizing the initial path based on preset decision variables and optimization objectives to obtain the target path includes:
[0028] Based on minimizing the path length, the decision variables are adjusted to perform intra-path optimization on the initial path to obtain the first optimized path;
[0029] Based on the principle of maximizing load balance, the decision variables are adjusted to perform inter-path optimization on the first optimized path to obtain the target path.
[0030] In some optional embodiments, the step of adjusting the decision variables based on the minimized path length to perform intra-path optimization on the initial path to obtain a first optimized path includes:
[0031] The first optimized path is obtained by adjusting the decision variables based on the minimized path length and performing 2-opt optimization on the group boundaries of each solder joint group of the initial path:
[0032] Using the group boundary as the cutting point, the initial path corresponding to each solder joint group is divided into a second number of path segments.
[0033] The updated path is obtained by reversing and reconnecting two adjacent path segments.
[0034] If the updated path is less than the initial path, the updated path is configured as the first optimized path;
[0035] If the updated path is greater than or equal to the initial path, the initial path is configured as the first optimized path.
[0036] In some optional embodiments, the step of adjusting the decision variables based on the maximization of load balance to perform inter-path optimization on the first optimized path to obtain the target path includes:
[0037] The decision variables are adjusted to allow the free group to move between two different tin furnaces, and the first equilibrium before the free group moves and the second equilibrium after the move are calculated.
[0038] When the second balance is greater than the first balance, the path after the free group moves is configured as the second optimized path;
[0039] If the second balance is less than or equal to the first balance, the first optimized path before the free group moves is configured as the second optimized path;
[0040] By adjusting the decision variables, the free groups are exchanged between two different tin furnaces, and the third equilibrium before the free group exchange and the fourth equilibrium after the exchange are calculated.
[0041] If the fourth balance is greater than the third balance, the path after the free group swap is configured as the target path;
[0042] If the fourth balance is less than or equal to the third balance, the second optimized path before the free group exchange is configured as the target path.
[0043] In a second aspect, embodiments of the present invention provide a controller, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the selective wave soldering path planning method described in the first aspect.
[0044] Thirdly, embodiments of the present invention provide a path planning system for selective wave soldering, including the controller mentioned in the second aspect above.
[0045] Fourthly, a computer storage medium stores computer-executable instructions for executing the selective wave soldering path planning method described in the first aspect.
[0046] The beneficial effects of this invention include: dividing all solder joints into a first number of solder joint groups according to preset grouping rules, with each solder joint group including at least two consecutive solder joints; generating initial paths by assigning each solder joint group to its corresponding solder pot based on constraints and load balancing, wherein the constraints include continuous traversal within the solder joint group, each solder joint being traversed once, a fixed starting point, and solder pot assignment; the load balancing indicates that the initial paths corresponding to each solder pot have a path length difference within a preset fluctuation range; the solder pot assignment indicates that a solder pot is pre-assigned to a forced group, and the forced group indicates that the solder joint group of the pre-assigned solder pot is a solder joint group; and obtaining a target path by iteratively optimizing the initial paths according to preset decision variables and optimization objectives, wherein the optimization objectives include minimizing the path length and maximizing the load balancing. By setting constraints and load balancing, the initial paths for each solder pot are automatically generated, and the initial paths are optimized through decision variables and optimization objectives, thereby obtaining the target path for selective wave soldering of the solder pot, resulting in high generation efficiency and high rationality of the optimized path.
[0047] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention may be realized and obtained by means of the structures particularly pointed out in the description, claims, and drawings. Attached Figure Description
[0048] Figure 1 This is a flowchart of the steps of a selective wave soldering path planning method provided in an embodiment of the present invention;
[0049] Figure 2 This is a schematic diagram of the paths of each tin furnace provided in the embodiments of the present invention;
[0050] Figure 3 This is a schematic diagram of a controller provided in one embodiment of the present invention.
[0051] Reference numerals: Controller 1000, Processor 1100, Memory 1200. Detailed Implementation
[0052] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0053] It should be noted that although functional modules are divided in the device schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than the module division in the device or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, or the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0054] This application provides a path planning method, system, and storage medium for selective wave soldering, which will be described in detail in the following embodiments.
[0055] like Figure 1 As shown, this embodiment of the invention provides a path planning method for selective wave soldering, including steps S100, S200, and S300:
[0056] Step S100: Divide all solder joints into a first number of solder joint groups according to the preset grouping rules. Each solder joint group includes at least two consecutive solder joints.
[0057] Specifically, the first number of solder joint groups can be set according to process requirements, the number of solder pots, and the number of solder joints; the specific number of solder joint groups is not limited here. Each solder joint group must contain at least two consecutive solder joints; "consecutive" is defined according to actual needs, but the direction is not determined. All solder joints must be assigned to a specific solder joint group without omission; each solder joint belongs to only one solder joint group, with no duplicates. After grouping, label the forced groups (solder joint groups with pre-specified solder pots) and the free groups (solder joint groups without specified solder pots).
[0058] Grouping example: If there are 10 solder joints (numbered 1-10), and the preset grouping quantity is 3, then the grouping result is: Group 0 (forced group): Solder joints 1 and 2 (continuous solder joints, specified solder pot A); Group 1 (free group): Solder joints 3, 4, and 5 (continuous solder joints); Group 2 (free group): Solder joints 6, 7, 8, 9, and 10 (continuous solder joints).
[0059] Step S200: After allocating each solder joint group to the corresponding solder pot based on constraints and load balancing, an initial path is generated. The constraints include continuous traversal within the solder joint group, traversal of each solder joint once, fixed starting point, and solder pot assignment. The load balancing indicates that the initial path corresponding to each solder pot has a path length difference within a preset fluctuation range. The solder pot assignment indicates that a solder pot is pre-assigned to the forced group. The forced group indicates the solder joint group with the pre-assigned solder pot.
[0060] Specifically, the constraints include continuous traversal within a solder joint group, traversal of each solder joint only once, a fixed starting point, and solder pot assignment. Continuous traversal within a solder joint group means that all solder joints within the same group must appear consecutively in the solder pot path; they cannot be split or inserted into solder joints from other groups. Traversal of each solder joint only once means that each solder joint is traversed only once, without repetition or omission. A fixed starting point means that the starting point of all solder pot paths is the same fixed point (such as the equipment origin), and the path must start from the starting point and traverse the solder joints sequentially. Solder pot assignment means that groups must be assigned to pre-specified solder pots and cannot be assigned to other solder pots.
[0061] Load balancing refers to the difference in the initial path length of each tin pot, which needs to be controlled within a preset fluctuation range (e.g., difference ≤ 10%).
[0062] The process of generating the initial path is as follows: First, initialize the basic data, defining parameters such as solder joint coordinates, number of solder pots, and idle / soldering speed; construct a cost matrix and calculate the movement cost (distance cost or time cost) between any two solder joints (including the starting point). Then, prioritize the allocation of forced groups, locking the unique target solder pot for each forced group based on the solder pot assignment constraints; traverse all group boundary positions in the current path of the target solder pot (ensuring group integrity), and enumerate the two orientations of the group (e.g., group [1,2] can be inserted in ascending order [1,2] or in reverse order [2,1]); for each insertion scheme, calculate the increment of the path length after insertion (increment = length after insertion - length before insertion); select the insertion scheme with the smallest increment and update the path and length of the target solder pot. Then, a balanced allocation of free groups is performed: traversing all available solder pots, for each solder pot, traversing all group boundary positions and two orientations of its current path, generating all feasible insertion schemes; for each insertion scheme, calculating the path length of all solder pots, verifying whether the length difference is within the preset fluctuation range; prioritizing the scheme with the "smallest length difference"; if the differences are the same, selecting the scheme with the "smallest global total path length", updating the path and length of the corresponding solder pot. After all solder joint groups are allocated, the path set of each solder pot is the initial path of each solder pot. This initial path satisfies all constraints, and the load balance index meets the preset requirements.
[0063] In a soldering furnace path, a group boundary is the position where two consecutive nodes belong to different groups. Intra-group nodes: If two consecutive nodes belong to the same group, there is no group boundary between them. Inter-group nodes: If two consecutive nodes belong to different groups, there is a group boundary between them. Assume the path is [0,6,7,8,9,5], and the groups are defined as [6,7], [8,9], and [5]. Then the group boundaries are: between 0 and 6 (0 does not belong to any group), between 7 and 8 (group [6,7] ends, group [8,9] begins), and between 9 and 5 (group [8,9] ends, group [5] begins).
[0064] In some optional embodiments, before generating the initial path after assigning each solder joint group to the corresponding solder pot based on constraints and load balancing, the method further includes: obtaining solder pot information corresponding to all solder pots, the solder pot information including the number of solder pots, solder pot number, solder pot welding speed and solder pot idle speed; calculating the welding time corresponding to the free group welding in each solder pot according to the solder pot information, the free group representing the solder joint group without the assigned solder pot.
[0065] Specifically, the number of solder pots refers to the total number of solder pots involved in the soldering operation, which helps determine the allocation range of solder joint groups. The solder pot number is a unique identifier for each solder pot. The soldering speed is the moving speed of the solder pot during soldering operations. The idle speed is the moving speed of the solder pot when no soldering operations are being performed.
[0066] Solder joint groups assigned to specific solder pots in a tin furnace can be allocated to any solder furnace. The total working time of a free group in a given solder furnace equals the idle time plus the soldering time. It is necessary to pre-calculate the Euclidean distances (distances between nodes within the group), the distance from the starting point to the first node, and the distance from the last node to subsequent nodes within the group. The intra-group movement time is the time it takes for the solder furnace to move within the free group and complete continuous soldering; it is only related to the distance between nodes within the group and the soldering speed of the solder furnace. The idle time is the time it takes for the solder furnace to move from a fixed starting point to the first node and from the last node to the next work point; it is negatively correlated with the idle speed. Adding the idle time to the intra-group movement time yields the corresponding soldering time.
[0067] In some optional embodiments, an initial path is generated after assigning each solder joint group to its corresponding solder pot based on constraints and load balancing, including:
[0068] S210. Insert the forced group into the target position of the specified solder pot according to the cheapest insertion method, and adjust the target orientation of the forced group so that the first path of the specified solder pot traversing the forced group is minimized, wherein the target orientation represents the direction of traversing the solder joints within the forced group.
[0069] Specifically, taking a forced group G0=[1,2] and specifying solder pot A as an example: According to the solder pot assignment constraints, the only target solder pot of forced group G0 is A, and other solder pots do not need to participate in the allocation of this group. The initial path of solder pot A only contains a fixed starting point, and the initial path cost is 0. The insertion position must be the group boundary of the path. The group boundary of the initial path [0] is only after the starting point 0 (0 does not belong to any group and must form a boundary with the inserted group). If there are other forced group paths for the target solder pot, it is necessary to enumerate all group boundaries of the current path (such as the boundary of the path [0,3,4] is "between 0 and 3" and "after 4"). Each forced group has 2 feasible orientations, corresponding to 2 solder joint traversal orders: Orientation 1 (forward order): G0=[1,2], traversal direction is 1→2; Orientation 2 (reverse order): G0=[2,1], traversal direction is 2→1.
[0070] Calculate the path cost for different insertion positions and orientations, and select the scheme with the minimum path cost: select the insertion position with the minimum cost as the target position, and the orientation with the minimum cost as the target orientation. The corresponding path is the first path of the forced group in the tin furnace A.
[0071] S220. After inserting the free group into all the solder pots in sequence, determine the second path of each solder pot traversing the free group, and configure the solder pot with the smallest second path as the soldering solder pot of the free group.
[0072] Specifically, for each free group, calculate its path cost (i.e., the second path) across all available solder pots, and select the solder pot with the lowest cost as the solder pot.
[0073] S230. The initial path of each tin furnace is obtained by superimposing the first path and the second path corresponding to each tin furnace.
[0074] Specifically, the first path (forced group path) and the second path (free group path) of each solder pot are superimposed to obtain the complete initial path of each solder pot. For example, if the first path of solder pot A is the path length of the forced group [1,2] and the second path is the path length of the free group [3,4], then the initial path length of solder pot A is the path length corresponding to [0,1,2,3,4]. For example, refer to... Figure 2 The initial path of tin furnace A is [0,9,8,6,7], the initial path of tin furnace B is [0,1,5,2,4], and the initial path of tin furnace C is [0,3,10].
[0075] In some optional embodiments, the step of calculating the welding time corresponding to the free group's welding in each solder pot based on the solder pot information includes: obtaining the second path of the free group in each solder pot; and determining the welding time for each solder pot to traverse the second path based on the solder pot welding speed and the solder pot idle speed.
[0076] Specifically, the second path is the optimal path for the free group within a single solder pot. The soldering time for the free group in a solder pot = idle time + intra-group movement time. The idle time can be calculated based on the idle speed of the corresponding solder pot and the idle distance of the corresponding solder pot within the free group; similarly, the intra-group movement time can be calculated based on the soldering distance and soldering speed of the corresponding solder pot within the free group.
[0077] Step S300: The initial path is iteratively optimized according to the preset decision variables and optimization objectives to obtain the target path. The optimization objectives include minimizing the path length and maximizing load balancing.
[0078] Specifically, the decision variables are the adjustment objects of iterative optimization, covering various adjustable dimensions of the path (the orientation of the solder joint group in the path; the insertion position of the solder joint group in the solder pot path; the movement and exchange state of the free group between different solder pots).
[0079] The optimization objectives must satisfy two dimensions simultaneously, and the priority can be adjusted according to process requirements; Objective 1: Minimize the total path length: Minimize the sum of the path lengths of all tin furnaces to reduce the overall operation time; Objective 2: Maximize the load balance: Minimize the difference in path lengths among tin furnaces to maximize the load balance among tin furnaces.
[0080] Iterative optimization employs a strategy of local optimization and cyclic iteration, with the following specific steps:
[0081] Step 1, Intra-path Optimization (Single-furnace Path Shortening): For the initial path of each solder furnace, perform a constrained 2-opt (two-element optimization) optimal transformation. Specifically, first identify group boundaries and mark the boundary positions of all solder joint groups in the path to ensure that optimization does not destroy the integrity of the groups; then perform boundary segment inversion, cutting the path at the group boundary and inverting the solder joint group sequence between the two boundaries; then calculate the change in path length after inversion, and if the length is shortened, retain the optimization scheme; when a single optimization cannot shorten the path length further, stop the intra-path optimization for that solder furnace.
[0082] Step 2, Inter-path Optimization (Cross-furnace Load Balancing): For all tin furnace paths, perform group movement / exchange optimization and adjust free groups. Group Movement Optimization: Move a free group from the current tin furnace to another tin furnace, evaluate the load balance index after the movement, and retain the solution if the balance is improved. Group Exchange Optimization: Exchange one free group between two tin furnaces, evaluate the balance index of four orientation combinations (forward / reverse order for each group), and select the optimal solution. When group movement / exchange can no longer improve the load balance, stop inter-path optimization.
[0083] Step 3, Iteration and Termination: After completing one round of "intra-path optimization + inter-path optimization", check the achievement of the optimization goal; if the preset goal is not achieved (e.g., the total length can still be shortened, or the difference is not optimal), repeat the above optimization steps; when the optimization goal is achieved, or the number of iterations reaches the upper limit and there is no optimization benefit, stop the iteration.
[0084] Step 4: Generate target path: The final set of paths that satisfy all optimization objectives obtained through iteration is the target path, which can be used to guide multi-soldering collaborative welding operations.
[0085] In some optional embodiments, the decision variables include:
[0086] S310, First variable, used to adjust the position of the solder joint group inserted into the solder pot;
[0087] Specifically, this variable characterizes the insertion boundary position of a solder joint group within a solder pot path, and its value range is the set of all group boundary positions in the current solder pot path. The group boundary position is the position where two consecutive nodes in the path belong to different groups, or the position between the starting point and the first solder joint group (e.g., the group boundary of path [0,1,2] is between 0 and 1, and after 2). By changing the insertion position of the solder joint group, the path length of a single solder pot is optimized, reducing the operation time cost of that pot.
[0088] The first variable can be represented as: That is, the solder joint group Is it located in a tin furnace? The There are 100 locations, among which... Indicates solder joint group Not in One location, Indicates solder joint group In the One position.
[0089] S320, the second variable, is used to adjust the occupancy status of various positions on the tin furnace;
[0090] Specifically, this variable characterizes whether each node position in the solder pot path is occupied by a solder joint group, taking two states: "occupied" and "idle" (1 represents occupied, 0 represents idle). Node positions include the fixed starting point and the path positions corresponding to all solder joints. The same node position cannot be occupied repeatedly by multiple solder joint groups, so the occupancy status can be used to determine the positions that can be inserted and adjusted. After a solder joint group is moved out of the source solder pot, its original position is released as "idle"; after being inserted into the target solder pot, it occupies the new position as "occupied". Specifically, it can be adjusted for: optimized group movement operations between paths, where the source solder pot releases the group position and the target solder pot occupies the new position; and optimized group exchange operations between paths, where two solder pots mutually release their original group positions and occupy each other's group positions.
[0091] The second variable can be represented as: That is, a tin furnace The Whether each position is occupied, among which... Indicates tin furnace The The slots are not occupied. Indicates tin furnace The One position is occupied.
[0092] S330, the third variable, is used to adjust the direction of traversing solder joints within the solder joint group;
[0093] Specifically, this variable is used to characterize the traversal order of solder joints within a solder joint group, taking two values: "forward" and "reverse," corresponding to two arrangement methods of solder joints within the group. Forward: Traversing according to the original node order of the group (e.g., solder joint group [3,4] → traversal direction 3→4); Reverse: Traversing in reverse order of the original node order of the group (e.g., solder joint group [3,4] → traversal direction 4→3).
[0094] The third variable can be represented as: That is, the solder joint group The orientation of, among which, Indicates solder joint group Reverse / Reverse order, Indicates solder joint group Forward / ascending order.
[0095] S340, the fourth variable, is used to adjust the solder joint group at adjacent positions on the solder pot;
[0096] Specifically, this variable is used to characterize the arrangement order of two adjacent solder joint groups in the solder pot path, and the value is the position of the two adjacent groups (such as solder joint group A before solder joint group B; solder joint group A after solder joint group B, etc.).
[0097] The fourth variable can be represented as: That is, the solder joint group and solder joint group Is it located in the tin furnace? The The position and the first There are 100 locations, among which... Indicates solder joint group and solder joint group Cannot meet the requirement of being located in the tin furnace respectively The The position and the first One location, Indicates solder joint group and solder joint group Satisfying the needs of the tin furnace The The position and the first One position.
[0098] S350, the fifth variable, is used to adjust the direction in which the two solder joint groups traverse solder joints at adjacent positions in the solder pot;
[0099] Specifically, this variable characterizes the arrangement order of two adjacent solder joint groups in the solder pot path, and its value is the orientation combination of the two adjacent groups (e.g., solder joint group A facing forward, solder joint group B facing backward; solder joint group A facing forward, solder joint group B facing forward, etc.). By enumerating the combination schemes for two adjacent solder joint groups, it is convenient to calculate the total path cost of each combination (cost within solder joint group A + cost of inter-group connection + cost within solder joint group B), and then select the combination scheme with the minimum total cost.
[0100] The fifth variable can be represented as: That is, the solder joint group and solder joint group The orientation, where, when and , hour ,otherwise ; .
[0101] S360, the sixth variable, is used to adjust the first solder joint group visited after the starting point.
[0102] Specifically, this variable characterizes the first solder joint group visited after the solder pot has a fixed starting point, and its value is the set of all solder joint groups currently assigned to the solder pot. The selection of the first group after the starting point directly affects the connection cost of subsequent paths. By adjusting the first group, the cost of the initial segment of the path can be optimized, thereby reducing the total path length of a single solder pot. The initial segment cost (idle travel time from the starting point to the first node of the group) and the connection cost of subsequent solder joint groups are calculated for each candidate group as the first group; the group with the lowest cost is selected as the first group visited after the starting point.
[0103] The sixth variable can be represented as: That is, a tin furnace solder joint group Is it the first solder joint group visited? Where, when and hour , indicating tin furnace solder joint group For the first solder joint group visited; otherwise , indicating tin furnace solder joint group Not the first solder joint group visited; .
[0104] In some optional embodiments, the step of iteratively optimizing the initial path based on preset decision variables and optimization objectives to obtain the target path includes:
[0105] S370. Based on the minimized path length, adjust the decision variables to perform intra-path optimization on the initial path to obtain the first optimized path;
[0106] S380. Based on the maximization of load balance, the decision variables are adjusted to perform inter-path optimization on the first optimized path to obtain the target path.
[0107] Specifically, the first optimized path is obtained by minimizing the path length of a single tin furnace through intra-path optimization; then, the target path is obtained by maximizing the load balance of multiple tin furnaces through inter-path optimization.
[0108] In some optional embodiments, the step of adjusting the decision variables based on the minimized path length to perform intra-path optimization on the initial path to obtain a first optimized path includes: adjusting the decision variables based on the minimized path length to perform 2-opt optimization on the group boundaries of each solder joint group of the initial path to obtain the first optimized path.
[0109] S371. Using the group boundary as the cutting point, the initial path corresponding to each solder joint group is divided into a second number of path segments.
[0110] Specifically, identify all group boundaries in the initial path of a single solder pot. Using these group boundaries as cutting points, divide the initial path into several path segments; the number of segments is the second quantity. Each segmented path is complete, with no broken solder joint groups, thus ensuring that the adjacency constraints within solder joint groups are not violated.
[0111] S372. Reverse two adjacent path segments and reconnect them to obtain the updated path;
[0112] Specifically, from all the segmented path segments, two adjacent path segments are selected, their order is reversed, and then they are reassembled into a new path according to the order of "starting segment + adjusted segment sequence + subsequent segments". This new path is the updated path. During the generation of the updated path, the cost needs to be further optimized by adjusting decision variables: for example, adjusting the traversal direction within the solder joint group (the third variable) to select the order with the lowest cost within the group; fine-tuning the insertion position of the solder joint group (the first variable) to reduce the connection cost between segments, ensuring a better structure for the updated path.
[0113] S373. If the updated path is less than the initial path, configure the updated path as the first optimized path;
[0114] S374. If the updated path is greater than or equal to the initial path, configure the initial path as the first optimized path.
[0115] Specifically, calculate the total cost of the initial path and the updated path separately, ensuring a consistent cost calculation standard; either distance cost or time cost can be used. After cost calculation, compare the costs: if the total cost of the updated path is less than the total cost of the initial path, it means the reversal operation has shortened the path length, satisfying the optimization objective of "minimizing path length," and the updated path is then configured as the first optimized path; if the total cost of the updated path is greater than or equal to the total cost of the initial path, it means the reversal operation has no optimization benefit, and the initial path is directly configured as the first optimized path.
[0116] In some optional embodiments, the step of adjusting the decision variables based on the maximization of load balance to perform inter-path optimization on the first optimized path to obtain the target path includes:
[0117] S381. By adjusting the decision variables, the free group is moved between two different tin furnaces, and the first balance of the free group before the move and the second balance after the move are calculated.
[0118] Specifically, all movable free groups in the first optimization path are selected, and for each free group, the corresponding decision variables are adjusted to complete the cross-furnace movement.
[0119] Adjust the second variable (solder pot location occupancy status): Remove the free group from the current source solder pot path, and the source solder pot releases the node position of the group (marked as free); at the same time, pre-occupy a new position in the target solder pot path (marked as occupied).
[0120] Adjust the first variable (insertion position) and the third variable (traversal direction within the group): Insert the free group into the optimal group boundary position of the target tin furnace path, and select the traversal direction with the minimum cost within the group to ensure that the single furnace path length of the target tin furnace remains optimal. After completing the variable adjustment, the temporary path after the free group is moved is obtained.
[0121] Based on the first optimized path before the free group moves, the path cost of all tin furnaces is statistically analyzed, and the difference between the maximum and minimum cost is calculated to quantify the first balance, which serves as the balance index before the move.
[0122] Based on the temporary paths after the free group moves, the second balance is represented by the same calculation standard as the first balance, which is calculated by statistically analyzing the path cost difference of all tin furnaces. This second balance is used as the balance index after the move.
[0123] S382. When the second balance is greater than the first balance, the path after the free group moves is configured as the second optimized path;
[0124] S383. When the second balance is less than or equal to the first balance, the first optimized path before the free group moves is configured as the second optimized path.
[0125] Specifically, if the second balance is greater than the first balance (i.e., the cost difference after the move is smaller and the load is more balanced), then the temporary path after the free group is moved will be configured as the second optimized path; if the second balance is less than or equal to the first balance (i.e., the load balance does not improve or even decreases after the move), then no move operation will be performed, and the first optimized path before the free group is moved will be directly configured as the second optimized path.
[0126] S384. By adjusting the decision variables, the free groups are exchanged between two different tin furnaces, and the third equilibrium before the free group exchange and the fourth equilibrium after the exchange are calculated.
[0127] Specifically, two tin furnaces with significantly different loads are selected from the second optimization path, and one free group that can be exchanged is selected from each. The corresponding decision variables are then adjusted to complete the group exchange.
[0128] Adjust the second variable (soldering furnace position occupancy status): the two soldering furnaces release each other's selected free group positions (marked as idle), while simultaneously occupying each other's free group positions (marked as occupied).
[0129] Adjust the fifth variable (the combination of traversal directions for the two groups): Enumerate the four direction combinations for the two free groups, select the scheme with the minimum path connection cost after combination, and ensure that the single-furnace path length for both tin furnaces remains optimal. After completing the variable adjustment, the temporary path after the free groups are swapped is obtained.
[0130] Based on the second optimized path before the free group exchange, the path cost difference of all tin furnaces is statistically analyzed to quantify the third balance, which serves as a balance index before the exchange.
[0131] Based on the temporary paths after the free group exchange, the path cost difference of all tin furnaces is statistically analyzed to quantify the fourth balance, which serves as an indicator of balance after the exchange.
[0132] S385. If the fourth balance is greater than the third balance, configure the path after the free group exchange as the target path.
[0133] S386. If the fourth balance is less than or equal to the third balance, configure the second optimized path before the free group exchange as the target path.
[0134] Specifically, if the fourth balance is greater than the third balance (i.e., the load balancing after the swap is better), then the temporary path after the free group swap is configured as the target path; if the fourth balance is less than or equal to the third balance (i.e., the load balancing after the swap does not improve or even decreases), then the swap operation is not performed, and the second optimized path before the free group swap is directly configured as the target path.
[0135] If there are multiple free groups that can be moved or exchanged, the above steps can be repeated until there is no improvement in balance in continuous iterations, ensuring that the optimal load balancing scheme is obtained.
[0136] The beneficial effects of this invention include: dividing all solder joints into a first number of solder joint groups according to preset grouping rules, with each solder joint group including at least two consecutive solder joints; generating initial paths by assigning each solder joint group to its corresponding solder pot based on constraints and load balancing, wherein the constraints include continuous traversal within the solder joint group, each solder joint being traversed once, a fixed starting point, and solder pot assignment; the load balancing indicates that the initial paths corresponding to each solder pot have a path length difference within a preset fluctuation range; the solder pot assignment indicates that a solder pot is pre-assigned to a forced group, and the forced group indicates that the solder joint group of the pre-assigned solder pot is a solder joint group; and obtaining a target path by iteratively optimizing the initial paths according to preset decision variables and optimization objectives, wherein the optimization objectives include minimizing the path length and maximizing the load balancing. By setting constraints and load balancing, the initial paths for each solder pot are automatically generated, and the initial paths are optimized through decision variables and optimization objectives, thereby obtaining the target path for selective wave soldering of the solder pot, resulting in high generation efficiency and high rationality of the optimized path.
[0137] like Figure 3 As shown, Figure 3 A structural block diagram of a controller 1000 according to an embodiment of this application is shown. The components of the controller 1000 include, but are not limited to, a memory 1200 and a processor 1100. The processor 1100 is connected to the memory 1200 via a bus, and the memory 1200 is used to store data.
[0138] The controller 1000 also includes an access device that enables the controller 1000 to communicate via one or more networks. Examples of such networks include a Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the Internet. The access device may include one or more of any type of wired or wireless network interface (e.g., a Network Interface Card (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) interface, a Wi-MAX interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface, and so on.
[0139] The controller 1000 can be any type of stationary or mobile electronic device, including mobile computers or mobile electronic devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable electronic devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary electronic devices such as desktop computers or PCs. The controller 1000 can also be a mobile or stationary server.
[0140] The processor 1100 is a computer-executable instruction for executing a path planning method for selective wave soldering.
[0141] The above is a schematic representation of a controller according to this embodiment. It should be noted that the technical solution of this controller belongs to the same concept as the technical solution of the selective wave soldering path planning method described above. For details not described in detail in the technical solution of the controller, please refer to the description of the technical solution of the selective wave soldering path planning method described above.
[0142] According to an embodiment of this application, a selective wave soldering path planning system is also provided. The selective wave soldering path planning system includes a controller 1000, which automatically completes the selective wave soldering path planning. It should be noted that the technical solution of this selective wave soldering path planning system belongs to the same concept as the technical solution of the selective wave soldering path planning method described above. Details not described in detail in the technical solution of the computing device can be found in the description of the technical solution of the selective wave soldering path planning method described above.
[0143] This application embodiment also provides a storage medium, which is a computer-readable storage medium, storing a computer program that, when executed by a processor, implements the above-described selective wave soldering path planning method.
[0144] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof. The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separate, and may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0145] It will be understood by those skilled in the art that all or some of the steps and systems in the methods disclosed above can be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components can be implemented as processors, such as central processing units, digital signal processors, or microprocessors executing software, or as hardware, or as integrated circuits, such as application-specific integrated circuits. Such software can be distributed on a computer-readable medium, which can include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, as is known to those skilled in the art, communication media typically include computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
[0146] The above provides a detailed description of the preferred embodiments of this application. However, this application is not limited to the above-described embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this application. All such equivalent modifications or substitutions are included within the scope defined by the claims of this application.
Claims
1. A path planning method for selective wave soldering, characterized in that, include: According to the preset grouping rules, all solder joints are divided into a first number of solder joint groups, and each solder joint group includes at least two consecutive solder joints. Obtain information on all solder pots, including the number of solder pots, solder pot number, soldering speed, and no-load speed. The welding time corresponding to the free group's welding in each solder pot is calculated based on the solder pot information. The free group represents the solder joint group that is not assigned by the solder pot. After assigning each solder joint group to the corresponding solder pot based on constraints and load balancing, an initial path is generated. The constraints include continuous traversal within the solder joint group, traversal of each solder joint once, fixed starting point, and solder pot assignment. The load balancing indicates that the initial path corresponding to each solder pot has a path length difference within a preset fluctuation range. The solder pot assignment indicates that a solder pot is pre-assigned to the forced group. The forced group indicates that the solder joint group with the pre-assigned solder pot is a solder joint group. The process of assigning each solder joint group to its corresponding solder pot based on constraints and load balancing to generate an initial path includes: inserting the forced group into the target position of the specified solder pot according to the cheapest insertion method, and adjusting the target orientation of the forced group to minimize the first path of the specified solder pot traversing the forced group, where the target orientation represents the direction of traversing the solder joints within the forced group; inserting the free group into all solder pots in sequence to determine the second path of each solder pot traversing the free group, and configuring the solder pot with the smallest second path as the solder pot of the free group; and superimposing the first path and the second path corresponding to each solder pot to obtain the initial path of each solder pot. The initial path is iteratively optimized based on preset decision variables and optimization objectives to obtain the target path. The optimization objectives include minimizing the path length and maximizing load balancing.
2. The path planning method for selective wave soldering according to claim 1, characterized in that, The calculation of the soldering time corresponding to the soldering of the free group in each solder pot based on the solder pot information includes: Obtain the second path of the free group in each tin furnace; The welding time for each tin furnace to traverse the second path is determined based on the tin furnace welding speed and the tin furnace idle speed.
3. The path planning method for selective wave soldering according to claim 1, characterized in that, The decision variables include: The first variable is used to adjust the position of the solder joint group inserted into the solder pot; The second variable is used to adjust the occupancy status of various positions on the solder pot; The third variable is used to adjust the direction of traversing solder joints within the solder joint group; The fourth variable is used to adjust the solder joint groups at adjacent positions on the solder pot; The fifth variable is used to adjust the direction in which the two solder joint groups traverse the solder joints at adjacent positions in the solder pot; The sixth variable is used to adjust the first solder joint group visited after the starting point.
4. The path planning method for selective wave soldering according to claim 1, characterized in that, The step of iteratively optimizing the initial path based on preset decision variables and optimization objectives to obtain the target path includes: Based on minimizing the path length, the decision variables are adjusted to perform intra-path optimization on the initial path to obtain the first optimized path; Based on the principle of maximizing load balance, the decision variables are adjusted to perform inter-path optimization on the first optimized path to obtain the target path.
5. The path planning method for selective wave soldering according to claim 4, characterized in that, The step of adjusting the decision variables based on minimizing the path length to perform intra-path optimization on the initial path to obtain the first optimized path includes: The first optimized path is obtained by adjusting the decision variables based on the minimized path length and performing 2-opt optimization on the group boundaries of each solder joint group of the initial path: Using the group boundary as the cutting point, the initial path corresponding to each solder joint group is divided into a second number of path segments. The updated path is obtained by reversing and reconnecting two adjacent path segments. If the updated path is less than the initial path, the updated path is configured as the first optimized path; If the updated path is greater than or equal to the initial path, the initial path is configured as the first optimized path.
6. The path planning method for selective wave soldering according to claim 4, characterized in that, The step of adjusting the decision variables based on maximizing load balance to perform inter-path optimization on the first optimized path to obtain the target path includes: The decision variables are adjusted to allow the free group to move between two different tin furnaces, and the first equilibrium before the free group moves and the second equilibrium after the move are calculated. When the second balance is greater than the first balance, the path after the free group moves is configured as the second optimized path; If the second balance is less than or equal to the first balance, the first optimized path before the free group moves is configured as the second optimized path; By adjusting the decision variables, the free groups are exchanged between two different tin furnaces, and the third equilibrium before the free group exchange and the fourth equilibrium after the exchange are calculated. If the fourth balance is greater than the third balance, the path after the free group swap is configured as the target path; If the fourth balance is less than or equal to the third balance, the second optimized path before the free group exchange is configured as the target path.
7. A path planning system for selective wave soldering, characterized in that, The system includes a controller, which comprises a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the selective wave soldering path planning method according to any one of claims 1-6.
8. A computer storage medium, characterized in that, The computer storage medium stores computer-executable instructions for executing the selective wave soldering path planning method according to any one of claims 1-6.
Citation Information
Patent Citations
Wave soldering repair equipment, wave soldering system and control method and control device of wave soldering system
CN114473109A
Soldering iron with automatic soldering connection validation
US20160031044A1