Scheduling and process collaborative optimization method and optimization system for precise electronic surface mounting

By employing a high-precision component allocation heuristic algorithm and a scheduling and process co-optimization evolution algorithm, the problem of insufficient precision perception in existing surface mount methods has been solved, resulting in reduced circuit board assembly time and improved process quality, thus meeting the quality and efficiency requirements of precision electronic surface mounting.

CN120975488AInactive Publication Date: 2025-11-18HARBIN INST OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511104250.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-07
Publication Date
2025-11-18
Estimated Expiration
Not applicable · inactive patent

Smart Images

  • Figure CN120975488A_ABST
    Figure CN120975488A_ABST
Patent Text Reader

Abstract

The invention discloses a scheduling and process collaborative optimization method and system for precise electronic surface mounting, relates to a surface mounting optimization method and system, and belongs to the technical field of electronic assembly process optimization. The objective of the invention is to solve the problems that an existing surface mounting optimization method only takes production efficiency maximization as a single target, does not consider the difference of rod suction process capability, does not realize task allocation under precision perception, cannot realize collaborative optimization of scheduling and process, is lack of an iterative optimization mechanism based on process capability monitoring, and is low in efficiency. And the surface mounting production requirement approaching the upper limit of equipment precision is difficult to meet. According to the method, an initial component allocation scheme is generated based on a high-precision component allocation heuristic algorithm by considering the precision requirement of surface mounting and the monitoring information of the process capability; according to the invention, a scheduling and process collaborative optimization evolutionary algorithm is provided, online iterative optimization of element allocation results is realized, and the scheduling efficiency and the process quality are synergistically improved in two optimization modes of quality priority and quality-efficiency balance.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to a surface-mounted scheduling and process coordination optimization method and optimization system, belonging to the technical field of electronic assembly process optimization. BACKGROUND

[0002] With the miniaturization of electronic components, precision electronic surface soldering faces higher precision and efficiency requirements. To meet this challenge, the surface soldering production line introduces new generation information technology such as physical information system, conducts real-time sensing, accurate modeling and dynamic optimization and control on the manufacturing process, and promotes the continuous evolution of the production line towards intelligentization and networking.

[0003] The intelligent surface soldering production line builds an information-physical system based on industrial Internet of Things, integrates production equipment such as solder paste printing machine, placement machine and reflow soldering furnace with online detection systems such as tin printing detection, pre-furnace detection and post-furnace detection, so as to complete the full automation assembly of circuit boards.

[0004] Figure 2 The crossbeam placement machine shown in the figure has become the mainstream solution in the industry due to its high versatility and productivity. The device is based on an XYZ three-axis motion platform, and the placement carrier moves along the crossbeam guide rail driven by the X-axis motor, and is positioned on the workbench in two-dimensional plane by the Y-axis motor. A plurality of suction rods are equidistantly assembled inside the placement carrier, each of which can move up and down under the drive of the Z-axis motor, and rotate around the shaft by the R-axis motor to adapt to different placement angles. The suction rod has suction and blowing functions, which are used for picking up and placing components respectively. During work, the integrated placement head cyclically executes the picking up and placing actions according to the assembly program (hereinafter referred to as "pick and place"): in the picking up stage, the suction rod picks up components from the feeder through the vacuum suction nozzle; in the placing stage, the components are positioned on the pads of the circuit board with micron-level precision. The mechatronic system alternately executes the above actions at high speed, taking into account the placement accuracy and efficiency, and meets the needs of precision circuit board assembly.

[0005] The placement accuracy of micro components has a decisive influence on the welding quality. Typical welding defects caused by placement deviation include: (1) offset defect: when the overlap area of the component terminal and the target pad is insufficient, the welding point is not complete, which leads to the decrease of welding mechanical strength, and easy occurrence of virtual welding or functional failure; (2) cold welding defect: placement position deviation destroys the thermal coupling between the terminal and the pad, which inhibits the formation of intermetallic compounds, forming discontinuous or low-strength welding points; (3) monument defect: as shown in the figure, when the placement deviates to one terminal, the imbalance of wetting force during reflow soldering stage easily leads to the single-end lifting of the component, which is manifested as "monument" phenomenon. This defect is extremely sensitive to placement error, for example, in 01005 and other ultra-micro components, the placement deviation needs to be controlled within ±25m. Figure 3

[0006] ​Currently mainstream pick-and-place machines usually provide a placement accuracy of ±40 pm, which can meet the assembly requirements of 0402 and other packaged components; while high-end models can achieve ±25 pm or higher accuracy, which is crucial for the assembly of 0201, 01005 and other miniature components, but the cost is often 3 times that of ordinary models. For conventional applications, mainstream models are more cost-effective, while high-reliability electronic products require high-end equipment. The overall accuracy of the pick-and-place machine is subject to the lowest accuracy of the placement head. As shown in FIG. 4 a 、4 b The same system can achieve higher accuracy (such as ±20 pm or even ±10 pm) with some placement heads. By identifying and selectively assigning high-precision placement heads, the device level restriction can be broken, and the surface soldering task that originally requires a high-end model can be completed. SUMMARY

[0007] The purpose of the present application is to solve the problem that the existing surface mount optimization method only takes maximizing production efficiency as the single target, does not consider the difference in process capability of the suction rod, has not realized task allocation under precision awareness, cannot realize the collaborative optimization of scheduling and process, lacks iterative optimization mechanism based on process capability monitoring, and is difficult to meet the placement production requirements approaching the upper limit of device accuracy. A scheduling and process collaborative optimization method and optimization system for precise electronic surface mounting are proposed.

[0008] The specific process of the scheduling and process collaborative optimization method for precise electronic surface mounting is as follows: Step one, production data initialization; Step two, dividing each type of component into high-precision components and conventional-precision components; Step three, obtaining high-precision component allocation results for high-precision components; The high-precision component allocation result is to allocate high-precision components to the placement suction rod; Step four, obtaining conventional-precision component allocation results for conventional-precision components; The conventional-precision component allocation result is to allocate conventional-precision components to the placement suction rod; Step five, completing placement according to the allocation results, obtaining the positional offset of the components placed on the circuit board by the pre-furnace optical detection equipment, calculating the detection offset corresponding to each placement point, the average placement offset of each suction rod, and the placement offset standard deviation of each suction rod; obtaining the detection offset corresponding to each placement point, and calculating the placement accuracy of each suction rod; The placement accuracy of each suction rod is the average placement offset of each suction rod and the placement offset standard deviation of each suction rod; Step six, based on the placement accuracy of each suction rod calculated in step five, iteratively optimizing the component allocation results online, and collaboratively optimizing the scheduling efficiency index and the process quality index; Step seven, the step five and step six are executed cyclically until the surface mounting production of all circuit boards is completed.

[0009] The scheduling and process collaborative optimization system for precision electronic surface mounting is used to execute the scheduling and process collaborative optimization method for precision electronic surface mounting.

[0010] The present application has the following beneficial effects: The present application discloses a scheduling and process collaborative optimization method for precision electronic surface mounting, aiming to solve the quality and efficiency contradiction problem faced when the processing precision of a chip mounter approaches the limit. The present application comprehensively considers the precision requirement of surface mounting and the monitoring information of process capacity, constructs a high-precision component distribution heuristic algorithm, and can generate an initial component distribution scheme in near real time. Further, a scheduling and process collaborative optimization evolutionary algorithm is proposed to realize online iterative optimization of the component distribution result. In the quality priority and quality-efficiency balance two optimization modes, the scheduling efficiency and process quality are collaboratively improved. Experimental results show that the present application can break through the precision bottleneck of the chip mounter and realize the collaborative optimization of three key indicators of circuit board assembly time, process compliance rate and aggregate process capacity margin, providing a scheduling and process collaborative optimization scheme for precision electronic surface mounting.

[0011] Specifically, the present application has the following two innovations: (1) A high-precision component distribution heuristic algorithm (step three) is proposed, which comprehensively considers the precision requirement of surface mounting and the monitoring information of process capacity (step five) to generate an initial distribution scheme, realizes a 5.7-fold improvement in process capacity margin, and avoids the problem of process capacity not meeting the standard; (2) A scheduling and process collaborative optimization evolutionary algorithm (step six) is proposed to support dual-mode optimization of quality priority and quality-efficiency balance. In the quality priority mode, the process capacity margin is improved by 35.5%; in the quality-efficiency balance mode, the assembly efficiency is improved by 16.5% on the premise of ensuring reliable mounting of high-precision components. BRIEF DESCRIPTION OF DRAWINGS

[0012] Figure 1 The flowchart of the present application; Figure 2 The schematic diagram of a chip mounter equipped with a beam-type chip carrier; Figure 3 The schematic diagram of a monument defect caused by insufficient mounting precision; Fig. 4 a The process capacity index diagram of the first mounting head in the same chip mounter; Fig. 4 b The process capacity index diagram of another mounting head in the same chip mounter; Figure 5 The comparison diagram of scheduling and process multi-objective optimization results. DETAILED DESCRIPTION

[0013] Specific implementation method one: the specific process of the scheduling and process coordination optimization method for precise electronic surface mounting is: Step one, production data initialization; Step two, divide each type of component into high-precision components and conventional-precision components; Step three, obtain a high-precision component distribution result for high-precision components; The high-precision component distribution result is to distribute high-precision components to high-precision mounting suction rods; Step four, obtain a conventional-precision component distribution result for conventional-precision components; The conventional-precision component distribution result is to distribute conventional-precision components to non-high-precision mounting suction rods; The specific process is to distribute conventional-precision components to non-high-precision mounting suction rods by using steps one to eight in the patent No. 201810829630.8 entitled "Suction rod task distribution method of single-arm parallel paster head paster".

[0014] Step five, complete mounting according to the distribution result, and obtain the position offset of the components mounted to the circuit board by the furnace front optical detection equipment, calculate the detection offset corresponding to each mounting point, the average mounting offset of each suction rod, and the mounting offset standard deviation of each suction rod; obtain the detection offset corresponding to each mounting point, and calculate the mounting precision of each suction rod; The mounting precision of each suction rod is the average mounting offset of each suction rod and the mounting offset standard deviation of each suction rod; Step six, based on the mounting precision of each suction rod calculated in step five, iteratively optimize the component distribution result online, and coordinate and optimize the scheduling efficiency index (shorten the circuit board assembly time T) and the process quality index (reduce the number of process capacity not meeting the standard NotFeasible, and improve the aggregate process capacity margin PMargin); Step seven, cyclically execute steps five and six until the surface mounting production of all circuit boards is completed.

[0015] Specific implementation method two: the difference between this implementation method and specific implementation method one is that the production data initialization in step one is: Step one, obtain the parameters of the paster; Step two, obtain the circuit board production data.

[0016] The other steps and parameters are the same as those in specific implementation method one.

[0017] Specific implementation method three: the difference between this implementation method and specific implementation method one or two is that the parameters of the paster are obtained in step one, and the specific process is: The patch machine parameters include a nominal precision IM of the patch machine (the precision of the current mainstream patch machine is 40 ), a total number H of suction rods, and index numbers of the suction rods ; The average value and the standard deviation of the mounting position deviation of each suction rod are stored in arrays with a row number of 1 and a column number of H and ; The average value of the mounting position deviation of the suction rod h is , and the standard deviation of the mounting position deviation of the suction rod h is . ; The quality-efficiency trade-off flag flagQE is set. If flagQE = 1 is set, the quality is optimized, and if flagQE = 0 is set, the quality and efficiency are considered, and the efficiency is optimized on the basis of meeting the process precision requirement.

[0018] The other steps and parameters are the same as those in the first or second embodiment.

[0019] The fourth embodiment is different from the first to third embodiments in that the circuit board production data is obtained in the first and second steps, and the specific process is as follows: The circuit board production data includes a total number of mounting points , a total number of component types , required mounting precision thresholds of each component type, and the number of mounting points corresponding to each component type. The serial number of each mounting point is , and the index number of each component type is . The required mounting precision thresholds of each component type are stored in an array I with a row number of 1 and a column number of C. The mounting precision threshold of the component type is . The number of mounting points corresponding to each component type is stored in an array numPinC with a row number of 1 and a column number of C. The number of mounting points corresponding to the component type is numPinC( ).

[0020] The other steps and parameters are the same as those in the first to third embodiments.

[0021] The fifth embodiment is different from the first to fourth embodiments in that the component types are divided into high-precision components and conventional-precision components in the second step, and the specific process is as follows: The component types are divided into high-precision components and conventional-precision components. Step 2.1: Sort the required mounting accuracy thresholds I for each component type in ascending order: i 0 = sort(I, 'ascend'); The `sort(·,'ascend')` function sorts the elements in the array in ascending order and returns the index of each element in the original array after sorting; `ascend` means sorting in ascending order. Note: This example illustrates the result of sort(·,'ascend'). If the original array before sorting is... The result of sorting the array from smallest to largest is: Then the order of the elements in o2 in o1 is: That is, o2=o1(o3) always holds true; 3 represents the third component type, 1 represents the first component type, and 2 represents the second component type; 25 represents the required placement accuracy threshold I(3) for the third component type, 30 represents the required placement accuracy threshold I(1) for the first component type, and 50 represents the required placement accuracy threshold I(2) for the second component type; Step 22: Obtain Component Type The precision threshold is sorted among the precision thresholds of all component types, and stored in a row 1 and column 123 ... array i In 1, among which The index numbers for various components are: ; in, This function retrieves the index of the element in the array enclosed in parentheses that satisfies the condition within the parentheses. If no element is found, it returns an empty array. ; Indicate component type In the sorted array Ranking in; This represents a conditional statement, indicating that in the array... The lookup value is equal to The element position; Steps 2 and 3: Initialize the number of rows. An array with 1 column This is used to store the maximum process capability margin when the pick-and-place machine is mounting various component types; array elements in Represents the component type of the pick-and-place machine Maximum process capability margin during mounting; Initialize the number of rows to The number of columns is array This is used to store the process capability margin when each component type is mounted by each suction bar; array elements in Representative component type In the The process capability margin on each suction rod; Initialize the component type count variable ; Step 24: Determine if the conditions are met. ; If so, proceed to step 29; If not, initialize the lever counter variable. ; Perform step two five; Step 25: Determine if the condition is met. ; If so, update the counter variable. Return to steps two and four; If not, proceed to step two six; Step 26, Calculate the first Each suction rod is classified into component types. Surface mount process capability index ; in, This means taking the smallest value in the array within the parentheses; Step 27: Component Type Accuracy determination: If component type Precision threshold or Assignment ; Otherwise, calculate ; Step 28, Update Update the counter variable Return to step two five; in, It is a one-dimensional array representing the component type. Process capability margins on all suction bars (h=1 to H); It is a numerical value indicating the type of component being placed by the pick-and-place machine. Maximum process capability margin during mounting; max(·) means to retrieve the largest value in the array within the parentheses; "1:1:H" means that an array will be obtained from the starting quantity 1 to the increment 1 to the termination quantity H, that is, [1, …, H]; since the way of retrieval by increment (increment 1) is often used, 1:1:H can be abbreviated as 1:H, and when indexing the array, if the starting quantity is 1 and the termination quantity is exactly the number of elements in the dimension, it can be further abbreviated, for example, λ( c 1,1: H) can be abbreviated as λ( c 1,). Step two, high-precision component type index array idxHCs= ; Conventional precision component type index array idxLCs= .

[0022] Note: The high-precision component types in idxHCs will be assigned components in step one three; the conventional precision component types in idxLCs will be assigned components in step one four.

[0023] The other steps and parameters are the same as one of the first four embodiments.

[0024] Embodiment six: The difference between this embodiment and one of the first five embodiments is that: in the step three, the high-precision component assignment result is obtained for the high-precision component; The high-precision component assignment result is: the high-precision component is assigned to the high-precision pick-and-place suction rod; The specific process is: Step three one, calculate the minimum pick-and-place cycle number ; Wherein, Indicates the upward rounding of the internal value; Indicates the pick-and-place cycle number; Step three two, sort each high-precision component type in descending order of process capability margin : , Wherein, Indicates the sorting result index of each high-precision component type in idxHCs after sorting in descending order of process capability margin; Indicates the process capability margin of each high-precision component type; Indicates sorting in descending order; Wherein Sort the elements in the array in descending order and return the index of each element in the original array after sorting; Note: For example The result is that if the original array before sorting is The result of sorting the array from smallest to largest is: Then the order of the elements in o2 in o1 is: That is, o2 = o1(o3) always holds true; Step 3: Update the serial number of each high-precision component type idxHCs = idxHCs (in descending order of process capability margin). i 2) The number of high-precision component types is numHCs = numel(id x HCs); Initialize a suction rod workload array numPinH with 1 row and H columns, where all elements are zero, to store the number of assigned mounting points on each suction rod; A high-precision component allocation result array CPgP with 1 row and H columns, initialized with all elements set to zero, is used to store the component types allocated to each suction rod. KinCPgP, a high-precision component allocation workload array with 1 row and H columns, is initialized with all elements set to zero. It is used to store the number of mounting points corresponding to each suction rod. Initialize an array numCinH with 1 row and H columns, where all elements are zero, to store the number of element types already assigned to each suction rod; Initialize the component type counter variable cntHCs = 1; Among them, idxHCs( i 2) indicates that the index array is used to represent the index. The new array is generated by reordering the high-precision component type index array idxHCs, that is, rearranging the high-precision component types in descending order of process capability margin; numel(idxHCs) represents the number of high-precision component types; Steps 3 and 4: Determine whether cntHCs > numHCs; If so, proceed to step four; If not, proceed to step three five; Step 35: Obtain Component Type =idxHCs(cntHCs); According to component type The suction rods are sorted in descending order of process capability margin. ; Found component type that cannot be satisfied The placement accuracy requirement for the suction bar is idx0=find(λ( c 2, i 3)==0), eliminate these suction rods that cannot meet the requirements. ; obtain the component type that meets the requirements The number of suction rods required for mounting precision numi = numel( i 3) ; Initialize the high-precision suction rod count variable cnti = 1; idxHCs(cntHCs) represents the element type number corresponding to the cntHCs-th element taken from the high-precision element type array idxHCs; idxHCs(cntHCs) represents the element type number corresponding to the cntHCs-th element taken from the high-precision element type array idxHCs; The process capability margin on each suction rod After descending sorting, the suction rod index array is obtained, indicating the order of the suction rods from high to low; idxHCs(cntHCs) represents the element type number corresponding to the cntHCs-th element taken from the high-precision element type array idxHCs; The process capability margin of all suction rods in the array idxHCs(cntHCs) represents the element type number corresponding to the cntHCs-th element taken from the high-precision element type array idxHCs; The process capability margin value set on each suction rod; idx0 represents the position of the suction rod with a process capability margin of 0 in the sorted suction rod index array , i.e. the suction rod that does not meet the mounting precision; λ( c 2, i 3) represents the element type corresponding to the suction rod process capability margin array after rearrangement according to the sorted suction rod index array , i.e. the process capability margin value sequence arranged in descending order; i 3(idx0) represents the suction rod number with a process capability margin of 0 filtered from the sorted suction rod index array according to the index array idx0, i.e. the excluded suction rod number set; numel( i 3) represents the number of elements in the sorted suction rod index array , i.e. the number of available suction rods after excluding the suction rods that do not meet the mounting precision; The index number of each type of element is ; Step three six, determine whether cnti > numi is satisfied; If yes, update the count variable cntHCs = cntHCs + 1 and return to step three four; If not, execute step three seven; Step three seven, get the suction rod number h= i 3(cnti), and determine whether numPinH(h) < minK is satisfied; If yes, it means that allocation can be performed, and step three eight is executed; If not, update the counter variable cnti = cnti + 1, and return to step three six; in, i 3(cnti) represents the array of suction rod indices sorted in descending order of process capability margin. The cnti-th element, which is the number of the cnti-th suction rod that is currently being considered for allocation; numPinH(h) represents the array of suction rod workloads; Step 38 Update the high-precision component allocation result: numCinH(h) = numCinH(h) + 1; Update high-precision component allocation result CPgP(numCinH(h),h)= ; Update component allocation workload KinCPgP(numCinH(h),h)=numPinC( ); Update the suction rod workload array numPinH(h) = numPinH(h) + numPinC(h) ); Update cnti=numi+1, then return to step three or six; in, numCinH(h) represents the number of component groups assigned to the suction rod h; numPinC( ) indicates component type The number of mounting points; KinCPgP(numCinH(h),h) represents the number of mounting points corresponding to the numCinH(h)-th high-precision component type on the suction rod h; CPgP(numCinH(h),h) represents the numCinH(h)th high-precision component type number on the suction rod h.

[0025] The other steps and parameters are the same as those in any of the specific implementation methods one to five.

[0026] Specific Implementation Method Seven: This implementation method differs from Specific Implementation Methods One to Six in that: in step five, the mounting is completed according to the allocation result, the pre-furnace optical inspection equipment obtains the positional offset of the components mounted on the circuit board, calculates the detection offset corresponding to each mounting point, the average mounting offset of each suction rod, and the standard deviation of the mounting offset of each suction rod; obtains the detection offset corresponding to each mounting point, and calculates the mounting accuracy of each suction rod. The mounting accuracy of each suction bar is the average mounting offset of each suction bar and the standard deviation of the mounting offset of each suction bar; The specific process is as follows: Step five one, the patch machine according to the component allocation results of step three and step four installs each type of component to the designated position of the circuit board; Step five two, the furnace front automatic optical detection equipment obtains the position offset of the component installed to the circuit board, and the position offset of each installation point is stored in an array with a row number of 1 and a column number of ; is the index of all installation points on the circuit board, and the value range is ; Step five three, according to the component allocation result, the detection offset corresponding to each installation point is calculated, and the installation precision of each suction rod is calculated. The installation precision of each suction rod is the average installation offset of each suction rod and the installation offset standard deviation of each suction rod.

[0027] The other steps and parameters are the same as those in the first to sixth embodiments.

[0028] Embodiment eight: different from one of the first to seventh embodiments, in step five three, according to the component allocation result, the detection offset corresponding to each installation point is calculated, and the installation precision of each suction rod is calculated. The installation precision of each suction rod is the average installation offset of each suction rod and the installation offset standard deviation of each suction rod. The specific process is: Step five three one, according to the component allocation result, the installation point set corresponding to each suction rod is obtained as , and the detection offset corresponding to each installation point in the set is (indicating the difference between the actual installation position and the target position); For example, there are H=3 suction rods, =10 installation points, , , ; refers to the index of the installation point installed by the suction rod , and the value range is in the array , wherein the corresponding to each suction rod is determined by component allocation; Step five three two, update the average installation offset of each suction rod :

[0029] Note:​ The stability or dispersion degree of the suction rod during the mounting process. Step five, update the mounting offset standard deviation of each suction rod . : .

[0030] Note: represent the stability or dispersion degree of the suction rod during the mounting process.

[0031] The other steps and parameters are the same as those in embodiments one to seven.

[0032] Embodiment nine: this embodiment is different from one of embodiments one to eight in that: the mounting accuracy of each suction rod calculated in step five is used to iteratively optimize the component allocation result online, and the scheduling efficiency index (shorten the circuit board assembly time T) and the process quality index (reduce the number of process capacity failures NotFeasible, and improve the overall process capacity margin PMargin) are optimized cooperatively. The specific process is: Step six one: divide the mounting workload of each type of component into component groups, and the index number of each component group is . Each component group contains two component information. The first component information is the component type number CCT( ), which is initialized as , . The second component information is the number of mounting points corresponding to the component type number CCN( ), which is initialized as CCN( )=numPinC( ); and the index number of each type of component is . Among them, numPinC( ) represents the number of mounting points corresponding to the component type . Step six two: initialize the chromosome population. The specific process is: Step six two one: initialize the chromosome population array . The number of chromosomes contained in the chromosome population array is , and the chromosome index is . Each chromosome is 1 to A random permutation of all integers between these two arrays, i.e., an array It is OK A two-dimensional array of columns; Initialize the number of rows to 1 and the number of columns to 1. one-dimensional array This is used to store the circuit board assembly time corresponding to the component allocation results obtained after decoding each chromosome, for example, the time taken for the first chromosome. The time required to assemble the circuit board corresponding to each chromosome ; Initialize the number of rows to 1 and the number of columns to 1. one-dimensional array This is used to store the circuit board assembly time corresponding to the component allocation results obtained after decoding each chromosome, for example, the time taken for the first chromosome. The time required to assemble the circuit board corresponding to each chromosome ; Initialize the number of rows to 1 and the number of columns to 1. one-dimensional array This is used to store the circuit board assembly time corresponding to the component allocation results obtained after decoding each chromosome, for example, the time taken for the first chromosome. The time required to assemble the circuit board corresponding to each chromosome ; Step 622 (1) Initialize the chromosome index ; (2) Initialize the number of optimization targets ; (3) Initialize the number of rows to An array with nObj columns ,in Used to store the Three optimization target values ​​for each chromosome. ; (4) Initialize the number of rows with all elements equal to zero to 1 and the number of columns to [number missing]. array This is used to store the historical best values ​​of the optimization objective; (5) Obtain the weight vector matrix The Middle Row weight vector The process is as follows: 1) Initialize the weight vector matrix The Middle Row weight vector ; in, This indicates that a uniformly distributed random number is generated within the interval (0,1) according to the dimension enclosed in parentheses. 2) For the initialized weight vector matrix The Middle The row weight vectors are normalized to obtain the weight vector matrix. The Middle Row weight vector ; indicates as:

[0033] in, Indicates the magnitude of the orientation quantity; (6) Calculate the Euclidean distance between any two weight vectors (after normalization). :

[0034] in, Indicates the first Row weight vector ; Indicates the first Row weight vector ; (7) Each chromosome For each subproblem, select the chromosome that corresponds to the current chromosome. Corresponding weight vector Minimum Euclidean distance The issue of height. ; in, Represents a chromosome population array The Middle chromosome; (8) The index numbers of the sub-problems constitute the current chromosome. neighborhood set This is used for neighborhood-based information interaction and search operations in subsequent steps four and six. Note: In the decomposition-based multi-objective evolutionary algorithm (MOEA / D), the multi-objective optimization problem is decomposed into multiple single-objective subproblems. Each subproblem is addressed by a weight vector ( The definition represents a preference for the original multi-objective problem (such as a greater focus on time consumption, margin, or process compliance). Each chromosome This corresponds to a subproblem whose goal is to minimize the weighted fitness using the Tchebycheff method: In the phrase "select the T=6 subproblems with the smallest Euclidean distance," "its" refers to the weight vector corresponding to the current chromosome. The operation logic is as follows: calculate the current chromosome. weight vector Euclidean distance between the current chromosome weight vector and all other chromosome weight vectors ( ) in the chromosome population array , select the 6 nearest weight vectors corresponding to the 6 nearest sub-problems (i.e. 6 chromosome indexes ). The purpose is that the weight vectors of these sub-problems (chromosomes) are similar to the current sub-problem, and the information of their solutions (such as component assignment scheme) has higher reference value for the optimization of the current sub-problem; The "it" in "constitute its neighborhood set with the corresponding sub-problem index number" refers to the current chromosome ; the meaning of neighborhood set : for the chromosome , is the index set of the T=6 nearest sub-problems to its weight vector. The role is that in the subsequent genetic operation (step four six), the chromosome only selects the parent from its neighborhood for crossover or mutation, ensuring that the optimization process is in the similar preference direction (i.e. similar weight vector), maintaining population diversity and accelerating convergence.

[0035] Step six two three, judge whether , if yes, execute step six six, otherwise, execute step six three; Step six three: decode the th chromosome in the chromosome population array to get the corresponding component assignment result; The specific process is: Step six three one, initialize the element of the suction rod workload array with row number 1 and column number H all zero, which is used to store the number of mounting points allocated on each suction rod; initialize the element of the component assignment result array with row number 1 and column number H all zero, which is used to store the type of component allocated on each suction rod; initialize the element of the component assignment workload array with row number 1 and column number H all zero, which is used to store the number of mounting points corresponding to each suction rod; initialize the element of the array with row number 1 and column number H all zero, which is used to store the number of component groups already allocated on each suction rod; initialize the component group count variable ; Step six three two, judge whether ; if yes, execute step six four; If not, proceed to step 633; Step 633: Obtain the component group number Get component type Proceed to step six, three, four; in, Represents a chromosome population array The Middle The first chromosome Values ​​at each gene locus; Indicates the first Component type number for each component group; Step 634: Obtain the high-precision component type identifier ; judge Is it an empty array? ; If so, it means For standard precision component types, proceed to step six three five; Otherwise, it means For high-precision component types, proceed to step six three six; in, Indicates searching for a set of component types Does it contain a component type number? If it exists, return The index position; returns null if it does not exist. Step 635: Select the suction bar with the least workload for the current placement process. As the suction rod to be assigned; the selection process is as follows: , ; in, This indicates the number of mounting points assigned to each suction rod; Indicates in Take the value with the smallest number of assigned placement points among all the suction cups, which is the placement workload with the lightest load among all suction cups; Indicates in Find the first equal to The position index of the suction rod, that is, the number of the first suction rod with the smallest current load; Perform step 639; Note: find(·, 1) means to retrieve the index of the first element in the array that satisfies the condition in the parentheses; Step 636: Determine whether the quality and efficiency trade-off criteria are met. ; If so, allocate resources based on the goal of achieving the best mounting quality, and proceed to steps six, three, and seven. Otherwise, while ensuring that the process accuracy requirements are met, allocate resources with the goal of maximizing efficiency, and proceed to step 638. Step 637: Component Type Sort by process capability margin from largest to smallest for each suction cup during mounting: ; exist Select one that meets the requirement that the placement workload does not exceed The first suction rod As a suction rod to be assigned: ; Perform step 639; in, Indicate component type The set of process capability margin values ​​for all suction rods; Indicates to The values ​​in the array are sorted in descending order to obtain a sorted index array. ; This represents the array of original suction rod workloads. Indexed by suction bar order The array obtained after rearranging; This means finding the first element in the sorted sequence of suction rods that satisfies the current placement workload being less than [a certain value]. Plug index ; Step 638: Obtain the weighted sum of quality and efficiency ; Choose the suction rod with the lowest weighted average performance. As a suction rod to be assigned: , ; Perform step 639; The dot notation . / indicates element-wise division. When a scalar (single value) is divided by an array, it is equivalent to dividing the scalar by each element in the array, and the result is a new array of the same size as the original array. This represents the minimum quality-efficiency weighted value calculated among all suction rods, which is the index value corresponding to the suction rod with the best overall quality and efficiency. This represents a weighted sum array of quality and efficiency, used to comprehensively evaluate the "quality + efficiency" performance of each suction stick; Indicates in array In the middle, find the first value that equals the minimum quality and efficiency weighted value. suction rod This will be the suction rod to be assigned this time; and Both arrays have 1 row and H columns, so they can be added together; For high-precision component types If the suction rod h cannot meet the mounting accuracy threshold requirement, then the corresponding array =0, If the value is at its maximum, it will inevitably be unable to be selected as the suction rod to be assigned, thus ensuring that the efficiency is optimal while meeting the process accuracy requirements; Step 639: Update the component allocation results; the specific process is as follows: renew ; Update component allocation results ; Update component allocation workload ; Update the suction rod workload array ; renew ; Return to step 632; in, Indicates suction rod The number of component groups already assigned; Indicates suction rod Upper The component type number corresponding to each assigned position; Indicates suction rod Upper The number of mounting points corresponding to each assigned position; Indicate component type The number of mounting points; Indicates suction rod Current total placement workload; Step 64, regarding the result obtained in Step 63... chromosome The corresponding component allocation results are used to calculate three indicators: circuit board assembly time, number of times process capability fails to meet standards, and lumped process capability margin. The specific process is as follows: Step 641: Calculate the circuit board assembly time corresponding to the current component allocation result obtained in Step 639, and store the circuit board assembly time corresponding to the current component allocation result in... ; The specific process is as follows: Using the method for obtaining the fitness function values ​​of each chromosome in step three of the patent (patent number 202011174397.8) entitled "A Multifunctional Chip Mounter Component Allocation Method Based on Iterative Binary Genetic Algorithm"), the circuit board assembly time corresponding to the current component allocation result is calculated, and the circuit board assembly time corresponding to the current component allocation result is stored in... ; Step 642: Initialize lumped process capacity margin This represents the total margin by which the overall process capability of the current component allocation scheme exceeds the minimum requirement; Number of times initial process capability fails to meet standards This indicates the number of placements marked as infeasible due to insufficient accuracy; Initialize the index variable of the suction bar ; Step 643: Determine if the condition is met. ; If so, proceed to step six-five; If not, initialize the component group index variable. Proceed to step six for four; Step 644: Determine if the condition is met. ; If so, update the counter variable. Return to step six four three; If not, proceed to step six, four, and five; in, Indicates the current suction rod The number of components that have been allocated; Steps 6, 4, and 5 Get Component Type ; Obtain high-precision component type identification ,judge Is it an empty array? ; If so, it means For standard precision component types, update the count variable. Return to step 644; Otherwise, it means For high-precision component types, proceed to step six forty-six; in, Indicates assignment to suction rod The Component type number for each component group; Indicates the search for component type Does it belong to a high-precision component collection? In the middle, if it belongs to the return index position, if it does not belong to the return empty array ; Step 646, calculate the process capability index:

[0036] Determine whether to meet ; If yes, update the number of times the process capability is not up to standard:

[0037] Otherwise, update the lumped process capability margin:

[0038] Where the element precision threshold value is sorted array i 1 is weighted to ensure that elements with higher precision requirements have higher priority; Update the count variable , return to step 644; Where, Indicates the process precision requirement threshold of the element type ; Indicates the offset amount when the suction rod mounts the element, which measures the degree of offset in the suction rod mounting process; Indicates the standard deviation of the mounting precision of the suction rod , representing the stability or dispersion degree of the suction rod in the mounting process; Indicates the mounting point number corresponding to the first element mounted by the suction rod ; Indicates the ranking of the element type in the precision requirement ranking (the sorting is obtained in step 222, and the smaller the value, the higher the precision requirement); Step 645, according to the three optimization target values (circuit board assembly time T, process capability not feasible NotFeasible, updated lumped process capability margin PMargin), based on the Tchebycheff method to calculate the fitness value of the first chromosome ; The specific process is as follows: Step 6451, update the three optimization target values of the first chromosome ; Step 652: Update and optimize the historical best value of the target. ; Step 653: Calculate the first step based on the Tchebycheff method. Fitness value of each chromosome : ; in, This indicates that each element is multiplied one by one; Indicates taking the absolute value; Note: For two vectors of the same size... The operation represents multiplying each element one by one; Step 654: Update the chromosome index Return to step six two three; Step 66: Based on steps 62 to 65, generate the next generation chromosome population and update the optimal chromosome and optimal element allocation results; The specific process is as follows: Step 661: Calculate the number of genes in the chromosome (NG=) ; Initialize the crossover probability of the genetic algorithm Probability of mutation ; Calculate the upper limit of the number of cross operations Maximum number of mutation operations No improvement to the search limit ; Initialize no improved search count variable ; Step 662, if If the number of searches without improvement has reached its limit, proceed to step five; otherwise, initialize the crossover operation count. Proceed to step 663; Step 663, if If the number of crossover operations has reached the limit, initialize the mutation operation count im=1 and proceed to step 665; otherwise, proceed to step 664. Step 664: Select the original chromosomes from the chromosomes initialized in Step 62, and perform a neighborhood search on the selected original chromosomes to find the new chromosomes; the process is as follows: adopt the "selection" and "crossover" operations in Step 5.1 of the patent with patent number 202011174397.8 entitled "A Multifunctional Patch Machine Component Allocation Method Based on Iterative Binary Genetic Algorithm"; Step 63 is performed on the new chromosome to obtain the element allocation results; Based on the component allocation results corresponding to the new chromosome, execute step six four to calculate three indicators: circuit board assembly time, number of times process capability fails to meet standards, and lumped process capability margin. Step six five is performed based on the three indicators to calculate the fitness value of the new chromosome; If the fitness value of the new chromosome is less than the fitness value of the original chromosome, then the new chromosome will overwrite the original chromosome. Update the counter ic = ic + 1, then return to step 663; Step 665: If im > IM, it means that the number of mutation operations has reached the limit, proceed to step 667; otherwise, proceed to step 666. Step 666: Select the original chromosomes from the chromosomes initialized in Step 62, and perform a neighborhood search on the selected original chromosomes to find the new chromosomes; the process is as follows: adopt the "selection" and "mutation" operations in Step 5.2 of the patent with patent number 202011174397.8 entitled "A Multifunctional Patch Machine Component Allocation Method Based on Iterative Binary Genetic Algorithm"; Step 63 is performed on the new chromosome to obtain the element allocation results; Based on the component allocation results corresponding to the new chromosome, execute step six four to calculate three indicators: circuit board assembly time, number of times process capability fails to meet standards, and lumped process capability margin. Step six five is performed based on the three indicators to calculate the fitness value of the new chromosome; If the fitness value of the new chromosome is less than the fitness value of the original chromosome, then the new chromosome overwrites the original chromosome; update the count im = im + 1, and return to step six six five; Steps 6 and 7: Determine the dominance relationships in the updated chromosome population; The specific process is as follows: Initialize elite solution set ; During the judgment process, if the first The first chromosome is non-inferior to the second chromosome in all optimization objectives. One chromosome (i.e., meeting the time requirement for circuit board assembly) Number of times the process capability is not up to standard Process capability margin ), Update Elite Solution Collection ; Otherwise, the elite solution set will not be updated; Execute step six six eight; Step 668, in the elite solution set In the process, the chromosome individual so with a fitness value θ(so) better than the historical best value is identified; The element allocation scheme corresponding to the chromosome individual that is better than the historical best value is taken as the current iteration's optimal element allocation result CPgO; Apply the current iteration optimal component placement result CPgO to the subsequent batch production of the chip mounter; update the count it = it + 1.

[0039] The other steps and parameters are the same as one of the first to eighth embodiments.

[0040] The tenth embodiment is a scheduling and process collaborative optimization system for precision electronic surface mounting, which is used to execute a scheduling and process collaborative optimization method for precision electronic surface mounting.

[0041] The beneficial effects of the present application are verified by the following examples: Example 1: The scheduling and process collaborative optimization method for precision electronic surface mounting is prepared according to the following steps: The scheduling and process collaborative optimization process of a six-suction-rod beam-type chip mounter is considered in the calculation example.

[0042] The pick-and-place path is optimized using commercial software without considering process precision, the circuit board assembly time corresponding to the component placement optimization result is T1 = 14.8 seconds, the number of times of not meeting the process precision requirement is NotFeasible1 = 8, and the aggregate process capacity margin is PMargin1 = 0.6. NotFeasible1 = 8 indicates that the corresponding optimization result cannot meet the process precision requirement, and the process capacity is poor.

[0043] The high-precision component placement heuristic algorithm of the present application is used for optimization, the circuit board assembly time corresponding to the component placement optimization result is T2 = 16.3 seconds, the number of times of not meeting the process precision requirement is NotFeasible2 = 0, and the aggregate process capacity margin is PMargin2 = 4.0. It is shown that the optimization result of the high-precision component placement heuristic algorithm of the present application can meet the process precision requirement, and the aggregate process capacity margin is improved by ΔPMargin 12 = (PMargin2-PMargin1) / PMargin1 = 5.7 times. Although this improvement is at the cost of slight production efficiency reduction, it ensures reliable mounting of high-precision components. The high-precision component placement heuristic algorithm of the present application only needs 20 milliseconds to complete optimization, and can respond to changes in production line state in real time.

[0044] Using the scheduling and process collaborative optimization evolutionary algorithm of the present application, if the decoding rule in step four three is not used, but the traditional decoding rule is used, the component allocation optimization result corresponding to the circuit board assembly time T3=12.1 seconds, the process capacity not meeting the standard times NotFeasible3=0.7, the aggregate process capacity margin PMargin3=3.1. NotFeasible3=0.7 indicates that the optimized component allocation result will still occur process capacity not meeting the standard situation.

[0045] Using the scheduling and process collaborative optimization evolutionary algorithm of the present application, if the decoding rule in step four three is used, and the quality-efficiency trade-off flag flagQE=0 is set during production data initialization in step one, i.e. on the premise of ensuring to meet the process precision requirements, the efficiency optimization is taken as the target for distribution, the component allocation optimization result corresponding to the circuit board assembly time T4=10.1 seconds, the process capacity not meeting the standard times NotFeasible4=0, the aggregate process capacity margin PMargin4=3.6. Compared with the evolutionary algorithm using the traditional decoding rule, the collaborative optimization of each target is realized, the efficiency improvement ratio is ΔT 34 =(T3-T4) / T3=16.5%, the aggregate process capacity margin is improved by ΔPMargin 34 =(PMargin4-PMargin3) / PMargin3=16.1%. The average calculation time is 43.4 seconds, although the running time is relatively long, but still can guarantee to continuously optimize the solution in the production process, and will not cause interruption to the manufacturing process.

[0046] Using the scheduling and process collaborative optimization evolutionary algorithm of the present application, if the decoding rule in step four three is used, and the quality-efficiency trade-off flag flagQE=1 is set during production data initialization in step one, i.e. the mounting quality optimization is taken as the target for distribution, the component allocation optimization result corresponding to the circuit board assembly time T5=14.7 seconds, the process capacity not meeting the standard times NotFeasible5=0, the aggregate process capacity margin PMargin5=4.2. Compared with the evolutionary algorithm using the traditional decoding rule, the further improvement of the aggregate process capacity margin is realized, the improvement ratio reaches ΔPMargin 35 =(PMargin5-PMargin3) / PMargin3=35.5%. The average calculation time is 42.0 seconds, although the running time is relatively long, but still can guarantee to continuously optimize the solution in the production process, and will not cause interruption to the manufacturing process.

[0047] Figure 5Further, the results of the scheduling and process multi-objective optimization of the above algorithms are compared. The horizontal coordinate is the circuit board assembly time T, the vertical coordinate is the aggregate process capacity margin PMargin, and the hollow circle point represents an infeasible solution, i.e., the element distribution result with the process capacity not meeting the standard NotFeasible>0. It can be seen from the figure that the solution set generated by using the scheduling and process collaborative optimization evolutionary algorithm of the application and adopting the decoding rule in step four three can closely approach the Pareto front.

[0048] The application also has other various embodiments. Those skilled in the art can make various corresponding changes and modifications according to the application without departing from the spirit and essence of the application. However, the corresponding changes and modifications should belong to the protection scope of the claims attached to the application.

Claims

1. A scheduling and process co-optimization method for precision electronic surface mount technology, characterized by: The specific process of the method is as follows: Step 1: Initialize production data; Step 2: Divide the components into high-precision components and conventional-precision components; Step 3: Obtain the high-precision component allocation results for high-precision components; The high-precision component allocation result is: the high-precision components are allocated to the placement suction rod; Step 4: Obtain the allocation results for conventional precision components; The result of the standard precision component allocation is: standard precision components are allocated to the placement suction bar; Step 5: Complete the placement according to the allocation results. The pre-reflow optical inspection equipment obtains the positional offset of the components placed on the circuit board, calculates the detection offset corresponding to each placement point, the average placement offset of each suction rod, and the standard deviation of the placement offset of each suction rod; obtains the detection offset corresponding to each placement point and calculates the placement accuracy of each suction rod. The mounting accuracy of each suction bar is the average mounting offset of each suction bar and the standard deviation of the mounting offset of each suction bar; Step 6: Based on the mounting accuracy of each suction rod calculated in Step 5, iteratively optimize the component allocation results online, and collaboratively optimize the scheduling efficiency index and process quality index. Step 7: Repeat steps 5 and 6 until the surface soldering production of all circuit boards is completed.

2. The scheduling and process co-optimization method for precision electronic surface mounting according to claim 1, characterized in that: The production data initialization process in step one is as follows: Step 11: Obtain the parameters of the pick-and-place machine; Steps 1 and 2: Obtain circuit board production data.

3. The scheduling and process co-optimization method for precision electronic surface mounting according to claim 2, characterized in that: In step one, the parameters of the placement machine are obtained; The specific process is as follows: The parameters of the pick-and-place machine include the nominal accuracy (IM), the total number of pick-and-place bars (H), and the index number of each pick-and-place bar. ; The average and standard deviation of the mounting position deviation of each suction cup are stored in arrays with 1 row and H columns. and ; Among them, the average value of the mounting position deviation of the suction rod h is suction rod The standard deviation of the mounting position deviation is ; Set a quality-efficiency tradeoff flag (flagQE). If flagQE=1, the goal is to achieve the best quality; if flagQE=0, the goal is to achieve a balance between quality and efficiency.

4. The scheduling and process co-optimization method for precision electronic surface mounting according to claim 3, characterized in that: In steps one and two, circuit board production data is obtained; The specific process is as follows: Circuit board production data includes the total number of mounting points. Total number of component types The required placement accuracy thresholds for various components and the corresponding number of placement points for each component; The serial numbers of each decoration point are: The index numbers of various components are as follows: ; The required mounting accuracy thresholds for various components are stored in array I, which has 1 row and C columns. Among them, component types The placement accuracy threshold is ; The number of mounting points for each type of component is stored in an array numPinC with 1 row and C columns; Among them, component types The corresponding number of mounting points is numPinC( ).

5. The scheduling and process co-optimization method for precision electronic surface mounting according to claim 4, characterized in that: In step two, the various types of components are divided into high-precision components and conventional precision components. The specific process is as follows: Components are classified into high-precision components and conventional-precision components. Step 2.1: Sort the required mounting accuracy thresholds I for each component type in ascending order: i 0 = sort(I, 'ascend'); The `sort(·,'ascend')` function sorts the elements in the array in ascending order and returns the index of each element in the original array after sorting; `ascend` means sorting in ascending order. Step 22: Obtain Component Type The precision threshold is sorted among the precision thresholds of all component types, and stored in a row 1 and column 123 ... array i In 1, among which The index numbers for various components are: ; in, This function retrieves the index of the element in the array enclosed in parentheses that satisfies the condition within the parentheses. If no element is found, it returns an empty array. ; Indicate component type In the sorted array Ranking in; This represents a conditional statement, indicating that in the array... The lookup value is equal to The element position; Steps 2 and 3: Initialize the number of rows. An array with 1 column This is used to store the maximum process capability margin when the pick-and-place machine is mounting various component types; array elements in Represents the component type of the pick-and-place machine Maximum process capability margin during mounting; Initialize the number of rows to The number of columns is array This is used to store the process capability margin when each component type is mounted by each suction bar; array elements in Representative component type In the The process capability margin on each suction rod; Initialize the component type count variable ; Step 24: Determine if the conditions are met. ; If so, proceed to step 29; If not, initialize the lever counter variable. ; Perform step two five; Step 25: Determine if the condition is met. ; If so, update the counter variable. Return to steps two and four; If not, proceed to step two six; Step 26, Calculate the first Each suction rod is classified into component types. Surface mount technology capability index ; in, This means taking the smallest value in the array within the parentheses; Step 27: Component Type Accuracy determination: If component type Precision threshold or Assignment ; Otherwise, calculate ; Step 28, Update Update the counter variable Return to step two five; in, It is a one-dimensional array representing the component type. Process capability margins on all suction rods; It is a numerical value indicating the type of component being placed by the pick-and-place machine. Maximum process capability margin during mounting; max(·) means to retrieve the largest value in the array within the parentheses; Step 29: High-precision component type index array idxHCs= ; Standard precision component type index array idxLCs= .

6. The scheduling and process co-optimization method for precision electronic surface mounting according to claim 5, characterized in that: In step three, the high-precision component allocation result is obtained for the high-precision components. The high-precision component allocation result is: the high-precision components are allocated to the placement suction rod; The specific process is as follows: Step 31: Calculate the minimum number of pickup cycles. ; in, This indicates that the internal value is rounded up; Indicates the number of pickup / patch cycles; Step 3.2: Classify each type of high-precision component according to its process capability margin. Sort in descending order: , in, This represents the index of the sorted results in idxHCs after high-precision component types are sorted in descending order according to process capability margin. Indicates the process capability margin for each type of high-precision component; This indicates that the data is sorted in descending order. Step 3: Update the serial number of each high-precision component type idxHCs = idxHCs (in descending order of process capability margin). i 2) The number of high-precision component types is numHCs = numel(id x HCs); Initialize a suction rod workload array numPinH with 1 row and H columns, where all elements are zero, to store the number of assigned mounting points on each suction rod; A high-precision component allocation result array CPgP with 1 row and H columns, initialized with all elements set to zero, is used to store the component types allocated to each suction rod. KinCPgP, a high-precision component allocation workload array with 1 row and H columns, is initialized with all elements set to zero. It is used to store the number of mounting points corresponding to each suction rod. Initialize an array numCinH with 1 row and H columns, where all elements are zero, to store the number of element types already assigned to each suction rod; Initialize the component type counter variable cntHCs = 1; Among them, idxHCs( i 2) indicates that the index array is used to represent the index array. The new array is generated by reordering the high-precision component type index array idxHCs, that is, rearranging the high-precision component types in descending order of process capability margin; numel(idxHCs) represents the number of high-precision component types; Steps 3 and 4: Determine whether cntHCs > numHCs; If so, proceed to step four; If not, proceed to step three five; Step 35: Obtain Component Type =idxHCs(cntHCs); According to component type The suction rods are sorted in descending order of process capability margin. ; Found component type that cannot be satisfied The placement accuracy requirement for the suction bar is idx0=find(λ( c 2, i 3)==0), eliminate these suction rods that cannot meet the requirements. ; obtain the component type that meets the requirements The number of suction rods required for mounting accuracy is numi = numel( i 3); Initialize the high-precision suction rod counting variable cnti=1; Wherein, idxHCs(cntHCs) represents the number of the component type corresponding to the cntHCs-th element retrieved from the high-precision component type array idxHCs; Indicated by component type Process capability margin on each suction rod After sorting in descending order, the resulting array of indexes for the suction bars represents the order in which the suction bars are sorted from highest to lowest. Represents array The Middle The process capability margins corresponding to all suction rods; idx0 represents the array of indexes of the suckers after sorting. In the middle, the suction rod position with a process capability margin of 0 is the suction rod that does not meet the mounting accuracy requirement; λ( c 2, i 3) Represents the array of indexes of the suction rods after sorting. After rearranging, component types The corresponding suction rod process capability margin array; i 3(idx0) indicates that, based on the index array idx0, the index array is retrieved from the sorted index array. The suction rod numbers with a process capability margin of 0 are selected from the data, which is the set of suction rod numbers that are excluded. numel( i 3) Represents the array of indexes for the sorted indexes. The number of elements in the middle, that is, the number of available suction rods after excluding those that do not meet the mounting accuracy requirements; The index numbers of various components are as follows: ; Step 36: Determine if cnti > numi; If so, update the counter variable cntHCs = cntHCs + 1, and return to steps three and four; If not, proceed to step three seven; Step 37: Obtain the suction rod number h= i 3(cnti), determine whether numPinH(h) is satisfied. <minK; If so, it means that allocation can be carried out, and step three eight should be executed; If not, update the counter variable cnti = cnti + 1, and return to step three six; in, i 3(cnti) represents the array of suction rod indices sorted in descending order of process capability margin. The cnti-th element; numPinH(h) represents the array of suction rod workloads; Step 38 Update the high-precision component allocation result: numCinH(h) = numCinH(h) + 1; Update high-precision component allocation result CPgP(numCinH(h),h)= ; Update component allocation workload KinCPgP(numCinH(h),h)=numPinC( ); Update the suction rod workload array numPinH(h) = numPinH(h) + numPinC(h) ); Update cnti=numi+1, then return to step three or six; in, numCinH(h) represents the number of component groups assigned to the suction rod h; numPinC( ) indicates component type The number of mounting points; KinCPgP(numCinH(h),h) represents the number of mounting points corresponding to the numCinH(h)-th high-precision component type on the suction rod h; CPgP(numCinH(h),h) represents the numCinH(h)th high-precision component type number on the suction rod h.

7. The scheduling and process co-optimization method for precision electronic surface mounting according to claim 6, characterized in that: In step five, the mounting is completed according to the allocation results. The pre-furnace optical inspection equipment obtains the positional offset of the components mounted on the circuit board, calculates the detection offset corresponding to each mounting point, the average mounting offset of each suction rod, and the standard deviation of the mounting offset of each suction rod; obtains the detection offset corresponding to each mounting point, and calculates the mounting accuracy of each suction rod. The mounting accuracy of each suction bar is the average mounting offset of each suction bar and the standard deviation of the mounting offset of each suction bar; The specific process is as follows: Step 51: The pick-and-place machine places various components onto the designated positions on the circuit board according to the component allocation results in Steps 3 and 4. Step 5.2: The pre-reflow automated optical inspection equipment acquires the positional offset of components mounted on the circuit board at each mounting point. The position offset is stored in a row with 1 column and a column with 1 column. array ; Step 53: Based on the component allocation results, calculate the detection offset corresponding to each placement point, and calculate the placement accuracy of each suction rod; The mounting accuracy of each suction cup is the average mounting offset of each suction cup and the standard deviation of the mounting offset of each suction cup.

8. The scheduling and process co-optimization method for precision electronic surface mounting according to claim 7, characterized in that: In step five three, the detection offset corresponding to each mounting point is calculated based on the component allocation result, and the mounting accuracy of each suction rod is calculated. The mounting accuracy of each suction bar is the average mounting offset of each suction bar and the standard deviation of the mounting offset of each suction bar; The specific process is as follows: Step 531: Based on the component allocation results, obtain each suction rod. The corresponding set of mounting points is ,gather Each mounting point inside The corresponding detection offset is ; Step 532: Update all suction rods Average placement offset : Note: The suction rod was measured The degree of offset during the mounting process; Step 533: Update all suction rods Standard deviation of mounting offset : 。 9. The scheduling and process co-optimization method for precision electronic surface mounting according to claim 8, characterized in that: In step six, based on the mounting accuracy of each suction rod calculated in step five, the component allocation results are iteratively optimized online, and the scheduling efficiency index and process quality index are collaboratively optimized. The specific process is as follows: Step 61: Divide the workload of mounting various components into... There are several component groups, and the index number of each component group is: ; Each component group contains information on two components; The first component information is the component type number CCT ( ), initialized to , ; The second component information is the number of mounting points corresponding to the component type number (CCN). ), initialized to CCN ( )=numPinC( The index numbers for various components are: ; Among them, numPinC( ) indicates component type The corresponding number of mounting points; Step 62: Initialize the chromosome population; The specific process is as follows: Step 621: Initialize chromosome population array ; Chromosome population array The number of chromosomes contained is Chromosome index is ; Each chromosome has 1 to A random permutation of all integers between these two arrays, i.e., an array It is OK A two-dimensional array of columns; Initialize the number of rows to 1 and the number of columns to 1. one-dimensional array This is used to store the circuit board assembly time corresponding to the component allocation results obtained after decoding each chromosome, for example, the time taken for the first chromosome. The time required to assemble the circuit board corresponding to each chromosome ; Initialize the number of rows to 1 and the number of columns to 1. one-dimensional array This is used to store the circuit board assembly time corresponding to the component allocation results obtained after decoding each chromosome, for example, the time taken for the first chromosome. The time required to assemble the circuit board corresponding to each chromosome ; Initialize the number of rows to 1 and the number of columns to 1. one-dimensional array This is used to store the circuit board assembly time corresponding to the component allocation results obtained after decoding each chromosome, for example, the time taken for the first chromosome. The time required to assemble the circuit board corresponding to each chromosome ; Step 622 (1) Initialize the chromosome index ; (2) Initialize the number of optimization targets ; (3) Initialize the number of rows to An array with nObj columns ,in Used to store the Three optimization target values ​​for each chromosome. ; (4) Initialize the number of rows with all elements equal to zero to 1 and the number of columns to [number missing]. array This is used to store the historical best values ​​of the optimization objective; (5) Obtain the weight vector matrix The Middle Row weight vector The process is as follows: 1) Initialize the weight vector matrix The Middle Row weight vector ; in, This indicates that a uniformly distributed random number is generated within the interval (0,1) according to the dimension enclosed in parentheses. 2) For the initialized weight vector matrix The Middle The row weight vectors are normalized to obtain the weight vector matrix. The Middle Row weight vector ; indicates as: in, Indicates the magnitude of the orientation quantity; (6) Calculate the Euclidean distance between any two weight vectors. : in, Indicates the first Row weight vector ; Indicates the first Row weight vector ; (7) Each chromosome For each subproblem, select the chromosome that corresponds to the current chromosome. Corresponding weight vector Minimum Euclidean distance The issue of height. ; in, Represents a chromosome population array The Middle chromosome; (8) The index numbers of the sub-problems constitute the current chromosome. neighborhood set ; Step 623: Determine if the condition is met. If yes, proceed to step 66; otherwise, proceed to step 63. Step 63: Analyze the chromosome population array The Middle chromosome Decode the data to obtain the corresponding component allocation results; The specific process is as follows: Step 631 Initialize a bar workload array with 1 row and H columns, all elements of which are zero. It is used to store the number of mounting points assigned to each suction rod; Initialize a component allocation result array with 1 row and H columns, all elements of which are zero. This is used to store the component types assigned to each suction rod; Initialize a component allocation workload array with 1 row and H columns, all elements of which are zero. This is used to store the number of mounting points corresponding to each suction rod; Initialize an array with 1 row and H columns, where all elements are zero. It is used to store the number of component groups that have been assigned to each suction rod; Initialize the component group count variable ; Step 632: Determine if the condition is met. ; If so, proceed to step six four; If not, proceed to step 633; Step 633: Obtain the component group number Get component type Proceed to step six, three, four; in, Represents a chromosome population array The Middle The first chromosome Values ​​at each gene locus; Indicates the first Component type number for each component group; Step 634: Obtain the high-precision component type identifier ; judge Is it an empty array? ; If so, it means For standard precision component types, proceed to step six three five; Otherwise, it means For high-precision component types, proceed to step six three six; in, Indicates searching for a set of component types Does it contain a component type number? If it exists, return The index position; returns null if it does not exist. Step 635: Select the suction bar with the least workload for the current placement process. As the suction rod to be assigned; the selection process is as follows: , ; in, This indicates the number of mounting points assigned to each suction rod; Indicates in Extract the value with the smallest number of assigned mounting points among all current suction rods; Indicates in Find the first equal to The position index of the suction rod; Perform step 639; Step 636: Determine whether the quality and efficiency trade-off criteria are met. ; If so, allocate resources based on the goal of achieving the best mounting quality, and proceed to steps six, three, and seven. Otherwise, proceed to step 638; Step 637: Component Type Sort by process capability margin from largest to smallest for each suction cup during mounting: ; exist Select one that meets the requirement that the placement workload does not exceed The first suction rod As a suction rod to be assigned: ; Perform step 639; in, Indicate component type The set of process capability margin values ​​for all suction rods; Indicates to The values ​​in the array are sorted in descending order to obtain a sorted index array. ; This represents the array of original suction rod workloads. Indexed by suction bar order The array obtained after rearranging; This means finding the first element in the sorted sequence of suction rods that satisfies the current placement workload being less than [a certain value]. Plug index ; Step 638: Obtain the weighted sum of quality and efficiency ; Choose the suction rod with the lowest weighted average performance. As a suction rod to be assigned: , ; Perform step 639; Where . / represents element-wise dot division; This represents the minimum weighted value of quality efficiency calculated among all suction rods; Represents a quality-efficiency weighted sum array; Indicates in array In the middle, find the first value equal to the minimum quality and efficiency weighted value. suction rod ; and Both are arrays with 1 row and H columns; Step 639: Update the component allocation results; the specific process is as follows: renew ; Update component allocation results ; Update component allocation workload ; Update the suction rod workload array ; renew ; Return to step 632; in, Indicates suction rod The number of component groups already assigned; Indicates suction rod Upper The component type number corresponding to each assigned position; Indicates suction rod Upper The number of mounting points corresponding to each assigned position; Indicate component type The number of mounting points; Indicates suction rod Current total placement workload; Step 64, regarding the result obtained in Step 63... chromosome The corresponding component allocation results are used to calculate three indicators: circuit board assembly time, number of times process capability fails to meet standards, and lumped process capability margin. The specific process is as follows: Step 641: Calculate the circuit board assembly time corresponding to the current component allocation result obtained in Step 639, and store the circuit board assembly time corresponding to the current component allocation result in... ; Step 642: Initialize lumped process capacity margin ; Number of times initial process capability fails to meet standards ; Initialize the index variable of the suction bar ; Step 643: Determine if the condition is met. ; If so, proceed to step six-five; If not, initialize the component group index variable. Proceed to step six for four; Step 644: Determine if the condition is met. ; If so, update the counter variable. Return to step six four three; If not, proceed to step six, four, and five; in, Indicates the current suction rod The number of components that have been allocated; Steps 6, 4, and 5 Get Component Type ; Obtain high-precision component type identification ,judge Is it an empty array? ; If so, it means For standard precision component types, update the count variable. Return to step 644; Otherwise, it means For high-precision component types, proceed to step six forty-six; in, Indicates assignment to suction rod The Component type number for each component group; Indicates the search for component type Does it belong to a high-precision component collection? If it belongs to the return If the index position is not specified, return an empty array. ; Step 646: Calculate the process capability index: Determine if it satisfies ; If so, the number of times the updated process capability fails to meet the standards: Otherwise, update the lumped process capacity margin: Update the count variable Return to step 644; in, Indicate component type The threshold for process accuracy requirements; Indicates suction rod Offset during component placement; Indicates suction rod Standard deviation of mounting accuracy; Indicates suction rod The first mounting The number of mounting points corresponding to each component; Indicate component type Rank in the accuracy requirement sorting; Step 65: Based on the three optimization objective values, calculate the first... Fitness value of each chromosome ; The specific process is as follows: Step 651, Update the first Three optimization target values ​​for each chromosome: ; Step 652: Update and optimize the historical best value of the target. ; Step 653: Calculate the first step based on the Tchebycheff method. Fitness value of each chromosome : ; in, This indicates that each element is multiplied one by one; Indicates taking the absolute value; Step 654: Update the chromosome index Return to step six two three; Step 66: Based on steps 62 to 65, generate the next generation chromosome population and update the optimal chromosome and optimal element allocation results; The specific process is as follows: Step 661: Calculate the number of genes in the chromosome (NG=) ; Initialize the crossover probability of the genetic algorithm Probability of mutation ; Calculate the upper limit of the number of cross operations Maximum number of mutation operations No improvement to the search limit ; Initialize no improved search count variable ; Step 662, if If the number of searches without improvement has reached its limit, proceed to step five; otherwise, initialize the crossover operation count. Proceed to step 663; Step 663, if If the number of crossover operations has reached the limit, initialize the mutation operation count im=1 and proceed to step 665; otherwise, proceed to step 664. Step 664: Select the original chromosomes from the chromosomes initialized in Step 62, perform a neighborhood search on the selected original chromosomes, and find the new chromosomes. Step 63 is performed on the new chromosome to obtain the element allocation results; Based on the component allocation results corresponding to the new chromosome, execute step six four to calculate three indicators: circuit board assembly time, number of times process capability fails to meet standards, and lumped process capability margin. Step six five is performed based on the three indicators to calculate the fitness value of the new chromosome; If the fitness value of the new chromosome is less than the fitness value of the original chromosome, then the new chromosome will overwrite the original chromosome. Update the counter ic = ic + 1, then return to step 663; Step 665: If im > IM, it means that the number of mutation operations has reached the limit, proceed to step 667; otherwise, proceed to step 666. Step 666: Select the original chromosomes from the chromosomes initialized in Step 62, perform a neighborhood search on the selected original chromosomes, and find the new chromosomes; Step 63 is performed on the new chromosome to obtain the element allocation results; Based on the component allocation results corresponding to the new chromosome, execute step six four to calculate three indicators: circuit board assembly time, number of times process capability fails to meet standards, and lumped process capability margin. Step six five is performed based on the three indicators to calculate the fitness value of the new chromosome; If the fitness value of the new chromosome is less than the fitness value of the original chromosome, then the new chromosome overwrites the original chromosome; update the count im = im + 1, and return to step six six five; Steps 6 and 7: Determine the dominance relationships in the updated chromosome population; The specific process is as follows: Initialize elite solution set ; During the determination process, if the first The first chromosome is non-inferior to the second chromosome in all optimization objectives. One chromosome (i.e., meeting the time requirement for circuit board assembly) Number of times the process capability is not up to standard Process capability margin ), Update Elite Solution Collection ; Otherwise, the elite solution set will not be updated; Execute step six six eight; Step 668, in the elite solution set In the process, the chromosome individual so with a fitness value θ(so) better than the historical best value is identified; The element allocation scheme corresponding to the chromosome individual that is better than the historical best value is taken as the current iteration's optimal element allocation result CPgO; Apply the current iteration's optimal component allocation result CPgO to subsequent batches of the pick-and-place machine; update the count it = it + 1.

10. A scheduling and process co-optimization system for precision electronic surface mount technology, characterized in that: The scheduling and process co-optimization system for precision electronic surface mount is used to execute the scheduling and process co-optimization method for precision electronic surface mount.

Citation Information

Patent Citations

  • A method for assigning suction bar tasks in a single-arm parallel-type pick-and-place machine

    CN108925126B

  • A Component Allocation Method for a Multifunctional Chip Mounter Based on Iterative Binary Genetic Algorithm

    CN112105253B