Chip mounter module allocation method and device based on differential iteration and storage medium

Through the differential iterative patch machine module distribution method, the matching and load distribution between modules and nozzles is optimized, and the problems of inefficiency and unbalanced load in dual-module models are solved, achieving load balance and production efficiency improvement between modules.

CN120239257APending Publication Date: 2025-07-01SHENZHEN FAROAD INTELLIGENT EQUIP CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510510242.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-22
Publication Date
2025-07-01

AI Technical Summary

Technical Problem

In the prior art, dual-module chip machines have problems of inefficiency and unbalanced load when allocating tasks, resulting in increased waiting time for modules, limited overall efficiency improvement, and unbalanced work between modules affects production line stability and product quality.

Method used

The differential iterative patch machine module allocation method is adopted. By obtaining the target patch machine module and its suction nozzle number, combining the type and number of PCB board components, the total number of cycles is determined, and differential iterative processing is carried out to optimize the target cycle number of each module to achieve load balance between modules.

Benefits of technology

The efficiency balance between modules is achieved, and some modules are overloaded while others are idle, ensuring that each module works in the best state, improving overall production efficiency and resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120239257A_ABST
    Figure CN120239257A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of electrical engineering, in particular to a chip mounter module allocation method and device based on differential iteration and a storage medium, and the scheme comprises the steps: obtaining at least one module in a target chip mounter and the number of suction nozzles corresponding to the at least one module; according to at least one element type on the target PCB and the element number corresponding to each element type in the at least one element type, obtaining at least one suction nozzle type and the number of each suction nozzle type in the at least one suction nozzle type; according to the number of the suction nozzles corresponding to the at least one module, the at least one suction nozzle type and the number of each suction nozzle type in the at least one suction nozzle type, determining the total cycle times; and performing differential iteration processing on the total number of circulation times to obtain a target number of circulation times corresponding to each module in the at least one module. According to the method, the efficiency balance among the modules can be realized, and the condition that some modules are overloaded and other modules are idle is avoided, so that each module can work in an optimal state.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of electrical engineering, and particularly relates to a method, device, and storage medium for distributing pick-and-place machine modules based on differential iteration. Background Art

[0002] In the field of SMT (Surface Mount Technology) production, dual-module models are widely used because they can simultaneously mount two different types or sizes of components. However, when using dual-module models for mounting operations, the existing technology mainly relies on the traditional alternating allocation method, which has problems of low efficiency and uneven tasks.

[0003] The alternating allocation method often does not fully consider the actual mounting capabilities and current workloads of each module, resulting in unscientific task allocation, increased waiting time for modules, and ineffective improvement of the overall mounting efficiency. At the same time, due to the lack of careful consideration of the differences between modules, it is easy to cause one module to be overloaded while the other module is relatively idle, resulting in uneven work between modules and further affecting the stability of the production line and product quality. And the task allocation is based on a simple rotation mechanism, but does not deeply consider factors such as module characteristics, nozzle resources, and dynamic adjustment, resulting in frequent nozzle replacements and inability to adapt to real-time changing production requirements. Summary of the Invention

[0004] An object of an embodiment of the present invention is to provide a method, device, and storage medium for distributing pick-and-place machine modules based on differential iteration, which are used to solve the technical problems of low efficiency and uneven load during the production operation of a pick-and-place machine in the prior art.

[0005] In a first aspect, an embodiment of the present invention provides a method for distributing pick-and-place machine modules based on differential iteration, the method comprising:

[0006] Obtaining at least one module in a target pick-and-place machine and the number of nozzles corresponding to the at least one module;

[0007] According to at least one component type on a target PCB board and the number of components corresponding to each component type in the at least one component type, obtaining at least one nozzle type and the number of each nozzle type in the at least one nozzle type;

[0008] Determining the total number of circulation trips according to the number of nozzles corresponding to the at least one module, the at least one nozzle type, and the number of each nozzle type in the at least one nozzle type;

[0009] Performing differential iteration processing on the total number of circulation trips to obtain the target number of circulation trips corresponding to each module in the at least one module.

[0010] In a second aspect, an embodiment of the present invention provides a placement machine module allocation device based on differential iteration, and the device includes:

[0011] An acquisition unit, configured to acquire at least one module in a target placement machine and the number of suction nozzles corresponding to the at least one module;

[0012] A determination unit, configured to obtain at least one type of suction nozzle and the number of each type of suction nozzle in the at least one type of suction nozzle according to at least one component type on a target PCB board and the number of components corresponding to each component type in the at least one component type;

[0013] The determination unit is further configured to determine the total number of circulation trips according to the number of suction nozzles corresponding to the at least one module, the at least one type of suction nozzle, and the number of each type of suction nozzle in the at least one type of suction nozzle;

[0014] A processing unit, configured to perform differential iteration processing on the total number of circulation trips to obtain the target number of circulation trips corresponding to each module in the at least one module.

[0015] In a third aspect, an embodiment of the present invention provides a computer device, including:

[0016] At least one processor; and,

[0017] A memory communicatively connected to the at least one processor; wherein,

[0018] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method described in the first aspect.

[0019] In a fourth aspect, a computer-readable storage medium is provided, and the computer-readable storage medium stores a computer program, and the computer program includes program instructions, and when the program instructions are executed by a processor, the processor executes the method described in the first aspect.

[0020] In the solution implemented by the above-mentioned method, device, equipment and storage medium for the placement machine module allocation based on differential iteration, the method first obtains at least one module in the target placement machine and the number of nozzles corresponding to the at least one module. Secondly, according to at least one component type on the target PCB board and the number of components corresponding to each component type in the at least one component type, at least one nozzle type and the number of each nozzle type in the at least one nozzle type are obtained. Then, according to the number of nozzles corresponding to the at least one module, the at least one nozzle type and the number of each nozzle type in the at least one nozzle type, the total number of circulation trips is determined. Finally, differential iteration processing is performed on the total number of circulation trips to obtain the target number of circulation trips corresponding to each module in the at least one module. By obtaining at least one module in the target placement machine and the number of nozzles corresponding thereto, the method realizes the precise matching of the module and the nozzle, ensures that each module can make full use of its nozzle resources during the placement process, and avoids resource waste and low efficiency. Further, by comprehensively considering the number of nozzles corresponding to the module, the nozzle type and the number of each type of nozzle, the total number of circulation trips is determined, which can be more comprehensive and accurate, can better reflect the actual placement requirements, and provides reliable basic data for subsequent differential iteration processing. Finally, differential iteration processing is performed on the total number of circulation trips to obtain the target number of circulation trips corresponding to each module, which can effectively balance the workloads between different modules, achieve efficiency balance, and thus improve the overall production efficiency. Therefore, the method can achieve efficiency balance between modules, avoid the situation where some modules are overloaded while other modules are idle, and thus ensure that each module can work in the best state. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0022] Figure 1 is a flowchart of a method for placing machine module allocation based on differential iteration in an embodiment of the present invention;

[0023] Figure 2 is a flowchart of another method for placing machine module allocation based on differential iteration in an embodiment of the present invention;

[0024] Figure 3 is a structural diagram of a device for placing machine module allocation based on differential iteration in an embodiment of the present invention;

[0025] Figure 4It is a schematic structural diagram of a computer device in an embodiment of the present invention. Detailed implementation manners

[0026] In order to make the objectives, technical solutions and advantages of the present invention clearer and more understandable, the present 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 only used to explain the present invention and are not used to limit the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without making creative efforts belong to the scope of protection of the present invention.

[0027] It should be noted that if there is no conflict, the various features in the embodiments of the present invention can be combined with each other, and all are within the scope of protection of the present invention. In addition, although the 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 can be executed in a different order from the module division in the device or the flowchart. Furthermore, the terms "first", "second", "third", etc. used in the present invention do not limit the data and execution order, but only distinguish the same items or similar items with basically the same functions and effects.

[0028] In view of this, the present application proposes a method for allocating pick-and-place machine modules based on differential iteration to solve the above problems. The following is a specific introduction.

[0029] Please refer to Figure 1 , Figure 1 which is a flowchart of a method for allocating pick-and-place machine modules based on differential iteration provided by an embodiment of the present invention. The method includes the following steps:

[0030] S10. Obtain at least one module in the target pick-and-place machine and the number of suction nozzles corresponding to the at least one module.

[0031] Among them, obtaining means accurately collecting and recording the detailed information of each module in the target pick-and-place machine through system query, manual input, automatic detection, etc., including the number of modules, types, and the number of suction nozzles corresponding to each module.

[0032] Among them, the target pick-and-place machine refers to a specific pick-and-place device used to perform component placement tasks on the SMT production line. This device may include multiple modules, and each module can complete the placement work independently or cooperatively. For example, the target pick-and-place machine can be an SMT dual-module model, which includes two modules.

[0033] Among them, the module refers to an independent working unit in the pick-and-place machine, usually including multiple suction nozzles, placement heads, and control systems. Each module can place different types or sizes of components.

[0034] Among them, the nozzle is a key component in the pick-and-place machine module, used to grasp, move, and mount electronic components. The number and type of nozzles directly affect the production capacity and flexibility of the pick-and-place machine. Specifically, the number of nozzles refers to the total number of nozzles equipped on each module.

[0035] It can be seen that in this embodiment, by accurately obtaining at least one module in the target pick-and-place machine and the corresponding number of nozzles thereof, it provides basic data support for subsequent placement task allocation, efficiency optimization, and resource management.

[0036] S20. According to at least one component type on the target PCB board and the number of components corresponding to each component type in the at least one component type, obtain at least one nozzle type and the number of each nozzle type in the at least one nozzle type.

[0037] Among them, the PCB board (Printed Circuit Board) is a printed circuit board, used for mechanical support and electrical connection of electronic components. The PCB board is usually composed of an insulating board and conductive paths, providing a platform to install various electronic components.

[0038] Among them, the component type refers to the types of electronic components installed on the PCB board, such as resistors, capacitors, diodes, transistors, integrated circuits, etc.

[0039] Among them, the number of components refers to the number of times or quantity of each component type that appears on the PCB board.

[0040] Among them, before according to at least one component type on the target PCB board and the number of components corresponding to each component type in the at least one component type, it is necessary to obtain at least one component type on the target PCB board and the number of components corresponding to each component type in the at least one component type. The obtaining process can be by means of scanning, recognition, or manual input, etc., to collect and record the type and quantity information of the components on the PCB board.

[0041] Specifically, use an automated detection device or software tool to scan the PCB board, identify and classify all component types on the board, specifically involving image recognition technology or electronic design automation (EDA) software. Further, use the detection device or software to count the number of each component type, which can be completed through database query or algorithm calculation.

[0042] Among them, the nozzle type refers to the nozzle types suitable for different electronic components. Common nozzle types include special nozzles for components such as resistors, capacitors, chips, etc.

[0043] Optionally, perform data preprocessing on the at least one component type and the number of components corresponding to each component type, such as format conversion, duplicate removal, and sorting, etc.

[0044] Optionally, according to the size, shape and mounting requirements of each component type, query or match the corresponding nozzle types from the nozzle database, considering the compatibility of the nozzles to ensure that the selected nozzles can adapt to the mounting of multiple similar components; analyze the quantity of each component type, and combine the mounting efficiency and production plan to calculate the quantity of each required nozzle type. Redundancy and spare requirements can be considered, and the number of nozzles can be appropriately increased to cope with unexpected situations in production.

[0045] It can be seen that in this embodiment, by analyzing the component types and quantities, matching the corresponding nozzle types, and calculating the required number of nozzles, the optimal configuration of the nozzles can be achieved, improving the mounting efficiency and quality.

[0046] S30. Determine the total number of cycles according to the number of nozzles corresponding to the at least one module, the at least one nozzle type, and the quantity of each nozzle type in the at least one nozzle type.

[0047] Among them, the total number of cycles refers to the total number of cycles required to complete the mounting of all components on the entire PCB board. Each cycle includes a series of actions from the module picking up the components to completing the mounting.

[0048] Among them, the determination process can use calculations, analysis, or optimization algorithms to obtain the total number of cycles required to complete the mounting task. Optionally, optimization algorithms such as linear programming and genetic algorithms are used to optimize the total number of cycles. The optimization goal is to minimize the total number of cycles while ensuring balanced module load and maximum nozzle utilization.

[0049] It can be seen that in this embodiment, according to the number of nozzles corresponding to the module, the nozzle types, and the quantity of each nozzle, the total number of cycles required to complete the mounting task can be accurately determined, improving production efficiency and flexibility.

[0050] S40. Perform differential iteration processing on the total number of cycles to obtain the target number of cycles corresponding to each module in the at least one module.

[0051] Among them, differential iteration processing is used to gradually approximate and optimize the data. In this scenario, it is used to reasonably allocate the total number of cycles to each module to obtain the target number of cycles corresponding to each module.

[0052] Among them, the target number of cycles is the number of cycles that each module needs to execute during the production process, obtained after differential iteration processing.

[0053] Optionally, the process of differential iteration processing can be to set initial conditions, including the total number of loop iterations T and the initial number of loop iterations of N modules, that is, evenly distribute the total number of loop iterations T to N modules to obtain the initial number of loop iterations of each module Ti = T / N; through the differential iteration algorithm, gradually adjust the number of loop iterations of each module. During the iteration process, consider the capabilities, loads, and efficiencies of each module, that is, set the upper limit of the number of iterations and the convergence condition. In each iteration, calculate the difference between the actual placement time and the ideal placement time of each module, and adjust the number of loop iterations of each module according to the difference. For example, for a module with a longer placement time, increase its number of loop iterations; for a module with a shorter placement time, decrease its number of loop iterations. Repeat the above steps until the convergence condition is met or the maximum number of iterations is reached, and output the target number of loop iterations of each module after differential iteration processing.

[0054] It can be seen that in this embodiment, through the differential iteration processing method, the different capabilities and load conditions of the modules are further processed, the production plan is flexibly adjusted, and the production efficiency and resource utilization rate are improved.

[0055] This method realizes the precise matching of modules and nozzles by obtaining at least one module in the target mounter and the corresponding number of nozzles thereof, ensuring that each module can make full use of its nozzle resources during the placement process, avoiding resource waste and low efficiency; further, by comprehensively considering the number of nozzles corresponding to the module, the types of nozzles, and the number of each type of nozzle, the total number of loop iterations is determined, which can be more comprehensive and accurate, and can better reflect the actual placement requirements, providing reliable basic data for subsequent differential iteration processing; finally, differential iteration processing is performed on the total number of loop iterations to obtain the target number of loop iterations corresponding to each module, which can effectively balance the workloads between different modules, achieve efficiency balance, and thus improve the overall production efficiency. Therefore, this method can achieve efficiency balance between modules, avoid the situation where some modules are overloaded while other modules are idle, and thus ensure that each module can work in the best state.

[0056] In one embodiment, the number of nozzles corresponding to the at least one module includes the first number of nozzles corresponding to the first module and the second number of nozzles corresponding to the second module. The determining the total number of loop iterations according to the number of nozzles corresponding to the at least one module, the at least one type of nozzle, and the number of each type of nozzle in the at least one type of nozzle includes: counting the number of each type of nozzle to obtain the total number of nozzles; obtaining the first target number of nozzles according to the first number of nozzles or the second number of nozzles and the at least one type of nozzle; obtaining the second target number of nozzles according to the first target number of nozzles, the total number of nozzles, and the first number of nozzles; and determining the total number of loop iterations according to the second target number of nozzles.

[0057] Among them, the first module is the first independent working unit in the mounter, which contains a specific number of nozzles for mounting specific types of components. The number of the first nozzles is the total number of nozzles equipped on the first module.

[0058] Among them, the second module is the second independent working unit in the mounter, which also contains a specific number of nozzles. The number of the second nozzles is the total number of nozzles equipped on the second module.

[0059] Among them, the first target nozzle number (L) is the target nozzle number calculated based on the number and types of nozzles of the first module or the second module; the second target nozzle number (R) is another target nozzle number calculated based on the total number of nozzles, the number of the first nozzles and the first target nozzle number.

[0060] Among them, in obtaining the first target nozzle number according to the number of the first nozzles or the second nozzles and the at least one nozzle type, there are two methods: obtaining the first target nozzle number according to the number of the first nozzles and the at least one nozzle type or obtaining the first target nozzle number according to the number of the second nozzles and the at least one nozzle type.

[0061] Specifically, if the first target nozzle number is represented by L, then L = the number of the first nozzles / the number of the second nozzles - the at least one nozzle type.

[0062] Among them, in the process of obtaining the second target nozzle number according to the first target nozzle number, the total number of nozzles and the number of the first nozzles, the second target nozzle number can be represented by R. Specifically, R = the total number of nozzles / the number of the first nozzles * the first target nozzle number.

[0063] Among them, the total number of nozzles refers to the number of all nozzles used in the production process.

[0064] Specifically, add up the numbers of each nozzle type to obtain the total number of nozzles.

[0065] It can be seen that in this embodiment, the total number of cycles can be accurately determined according to the number of nozzles corresponding to the module, the nozzle type and the number of each type of nozzle, so as to optimize the production process and improve the mounting efficiency.

[0066] In one embodiment, determining the total number of circulation trips according to the second target nozzle quantity includes: judging whether the second target nozzle quantity is greater than a preset value; if it is greater than the preset value, rounding up the second target nozzle quantity according to a first preset rule to obtain a third target nozzle quantity; or, if it is less than or equal to the preset value, rounding up the second target nozzle quantity according to a second preset rule to obtain a fourth target nozzle quantity; determining the total number of circulation trips according to the third target nozzle quantity or the fourth target nozzle quantity.

[0067] Wherein, the preset value is a standard value for judgment, which can be any numerical value and can be 0.

[0068] Wherein, the first preset rule can be that when the second target nozzle quantity is greater than the preset value, the second target nozzle quantity is rounded down after adding a preset fixed value. For example, when the preset fixed value can be 0.5, the third target nozzle quantity = (the second target nozzle quantity + 0.5) and then rounded down. The preset fixed value is an adjustment value used in the rounding process for rounding up or down.

[0069] For example, assume that the second target nozzle quantity is 4.3 and the preset fixed value is 0.5, then the third target nozzle quantity = (4.3 + 0.5) rounded down = 4.

[0070] Wherein, the second preset rule can be that when the second target nozzle quantity is less than or equal to the preset value, the second target nozzle quantity is rounded up after subtracting a preset fixed value. For example, when the preset fixed value can be 0.5, the fourth target nozzle quantity = (the second target nozzle quantity - 0.5) and then rounded up.

[0071] For example, assume that the second target nozzle quantity is 0.4 and the preset fixed value is 0.5, then the fourth target nozzle quantity = (0.4 - 0.5) rounded up = 0.

[0072] It can be seen that in this embodiment, the production plan is flexibly adjusted according to different situations of the nozzle quantity, improving the production efficiency and resource utilization rate.

[0073] In one embodiment, determining the total number of circulation trips according to the third target nozzle quantity or the fourth target nozzle quantity includes: judging whether the third target nozzle quantity or the fourth target nozzle quantity is equal to the first target nozzle quantity; if the third target nozzle quantity or the fourth target nozzle quantity is not equal to the first target nozzle quantity, then calculating the total nozzle quantity to obtain the total number of circulation trips; or; if the third target nozzle quantity or the fourth target nozzle quantity is equal to the first target nozzle quantity, then calculating the third target nozzle quantity or the fourth target nozzle quantity to obtain the total number of circulation trips.

[0074] Among them, in the process of calculating the total number of nozzle if the number of the third target nozzles or the number of the fourth target nozzles is not equal to the number of the first target nozzles, and obtaining the total number of circulation trips, the total number of circulation trips = min(total number of nozzles) / ((number of the third nozzles or the number of the fourth target nozzles)+1+1), and the "1" may represent an additional fixed number of circulation times or adjustment coefficient.

[0075] For example, the number of the third target nozzles is 2, the number of the first target nozzles is 3, and the total number of nozzles is 10. Judgment: 2≠3, so the total number of circulation trips = min(10) / (2+1+1)=10 / 4 = 2.5. Rounding may be required in practical applications.

[0076] Among them, in the specific process of calculating the number of the third target nozzles or the number of the fourth target nozzles and obtaining the total number of circulation trips, the total number of circulation trips = max(total number of nozzles) / ((number of the third nozzles or the number of the fourth target nozzles)+1), and the "1" may represent an additional fixed number of circulation times or adjustment coefficient.

[0077] For example, the number of the fourth target nozzles is 3, the number of the first target nozzles is also 3, and the total number of nozzles is 15. Judgment: 3 = 3, then the total number of circulation trips = max(15) / (3+1)=15 / 4 = 3.75. Similarly, rounding may be required in practical applications.

[0078] Therefore, the "min" and "max" functions are used to ensure that the calculated total number of circulation trips can adapt to the differences in the number of nozzles of different modules. The additional "1" in the formula may represent a fixed number of circulation times, adjustment coefficient or safety margin, and the specific meaning needs to be determined according to the actual production requirements.

[0079] It can be seen that in this embodiment, the production plan can be flexibly adjusted according to different situations of the number of nozzles, so as to improve the production efficiency and resource utilization rate. That is, the precise calculation method ensures the optimization and efficient operation of the production process.

[0080] In one embodiment, the differential iteration process of the total number of circulation trips to obtain the target number of circulation trips corresponding to each module in the at least one module includes: arranging the number of elements corresponding to each element type to obtain a target element sequence; according to the target element sequence and the total number of circulation trips, sequentially performing allocation processing on each module in the at least one module to obtain the number of circulation trips corresponding to each module; and obtaining the target number of circulation trips corresponding to each module according to the number of circulation trips corresponding to each module.

[0081] Among them, the target component sequence is a sequence formed by arranging all component types and their corresponding quantities according to certain rules (such as quantity, type priority, etc.).

[0082] For example, if the quantities of component types A, B, and C are 100, 50, and 30 respectively, after arranging them in descending order of quantity, the target component sequence is A - A - A - … - B - B - … - C - C - … (where A appears 100 times, B appears 50 times, and C appears 30 times).

[0083] Among them, the allocation process refers to the process of allocating the placement tasks to each module according to the target component sequence and the total number of loop iterations.

[0084] Among them, the number of loop iterations corresponding to each module is the number of loop times assigned to each module during the allocation process.

[0085] Among them, in the process of sequentially performing the allocation process on each module in the at least one module according to the target component sequence and the total number of loop iterations to obtain the number of loop iterations corresponding to each module, components are allocated to the modules one by one according to the target component sequence. Each time an allocation is made, the current load and remaining capacity of the module are considered. During the allocation process, the allocation strategy is dynamically adjusted according to the actual situation to ensure the load balance of each module; according to the allocation results, the number of loop iterations of each module is preliminarily calculated. When calculating, the efficiency of the module in processing components and the total number of loop iterations are considered.

[0086] For example, assume the target component sequence is A - A - A - B - B - C, indicating that there are 3 component As, 2 component Bs, and 1 component C to be placed. Assume there are two modules, module 1 and module 2, and both are in the initial state of not being assigned any tasks, and the number of loop iterations is 0. First, allocate component A. Check whether the nozzle configurations of module 1 and module 2 are compatible with component A. Assume both are compatible. According to the current number of loop iterations and the module capabilities, decide to allocate component A to module 1, update the status of module 1, record the allocated component A and the corresponding number of loop iterations. Then allocate the remaining component As and Bs, repeat the above process, and according to the current status and compatibility of the modules, allocate the remaining component As and Bs to the appropriate modules to ensure that the number of loop iterations of each module does not exceed the limit of the total number of loop iterations. According to the component types and quantities allocated to each module, calculate the required number of loop iterations. For example, module 1 is allocated 2 component As and 1 component B, and the number of loop iterations calculated according to the placement time and nozzle change time is 3 trips, and module 2 is 2 trips. The above is a case illustration of sequentially performing the allocation process on each module in the at least one module according to the target component sequence and the total number of loop iterations to obtain the number of loop iterations corresponding to each module.

[0087] Among them, the target number of loop iterations refers to the finally determined number of loop iterations for each module after optimization and adjustment, aiming to achieve balanced efficiency and reasonable task allocation.

[0088] It can be seen that in this embodiment, the production plan can be flexibly adjusted according to the number of components and the capabilities of the modules, improving production efficiency and resource utilization rate.

[0089] In one embodiment, the at least one module includes a first module and a second module. Obtaining the target number of loop iterations corresponding to each module according to the number of loop iterations corresponding to each module includes: obtaining a first number of loop iterations corresponding to the first module and a second number of loop iterations corresponding to the second module; subtracting the second number of loop iterations from the first number of loop iterations to obtain a first difference; subtracting the first number of loop iterations from the second number of loop iterations to obtain a second difference; determining whether the first difference is less than the second difference; if the first difference is less than the second difference, then allocating the first module according to a first allocation strategy to obtain a first target number of loop iterations corresponding to the first module; or, if the first difference is greater than or equal to the second difference, then allocating the second module according to a second allocation strategy to obtain a second target number of loop iterations corresponding to the second module.

[0090] Among them, the first number of loop iterations can be represented by C1, and the second number of loop iterations can be represented by C2.

[0091] Among them, subtracting the second number of loop iterations from the first number of loop iterations to obtain a first difference (D12), which is expressed by the formula D12 = |C1 - C2|.

[0092] Among them, subtracting the first number of loop iterations from the second number of loop iterations to obtain a second difference (D21), which is expressed by the formula D21 = |C2 - C1|.

[0093] Among them, the allocation strategy is to select different strategies according to the size of the difference to optimize the workload of the module.

[0094] Among them, the first allocation strategy is that if D12 is less than D21, then select the first allocation strategy to adjust the first module to obtain its target number of loop iterations.

[0095] Among them, the second allocation strategy is that if D12 is greater than or equal to D21, then select the second allocation strategy to adjust the second module to obtain its target number of loop iterations.

[0096] For example, C1 is 6, C2 is 4, D12 = |6 - 4| = 2, D21 = |4 - 6| = 2. Since D12 is equal to D21, the second allocation strategy is selected. After optimization, the number of loop iterations of the second module is adjusted to 5, and the second target number of loop iterations is 5.

[0097] Alternatively, C1 is 7, C2 is 3, D12 = |7 - 3| = 4, D21 = |3 - 7| = 4. Since D12 is equal to D21, the second allocation strategy is selected. After optimization, the number of loops of the second module is adjusted to 6, and the second target number of loop passes is 6.

[0098] It can be seen that in this embodiment, by calculating the target number of loop passes, the balance between production efficiency and product quality is further ensured.

[0099] In one embodiment, obtaining at least one nozzle type and the quantity of each nozzle type in the at least one nozzle type according to the at least one component type and the quantity of components corresponding to each component type includes: using the at least one component type as a query identifier to query in a preset database to obtain the nozzle types of each component type in the at least one component type; determining the quantity corresponding to the nozzle type of each component type according to the quantity of components corresponding to each component type.

[0100] Among them, the query identifier is a keyword or parameter used to identify and retrieve information in the database. In this embodiment, the component type is used as the query identifier to find the corresponding nozzle type in the database.

[0101] Among them, the preset database is an information system storing the correspondence between component types and nozzle types. The preset database contains the detailed specifications of different components and the applicable nozzle types.

[0102] In a specific implementation, using each component type as a query identifier to query in the preset database, the preset database returns the nozzle types corresponding to each component type, matching the queried nozzle types with the component types to ensure that each component type has a corresponding nozzle type, and calculating the quantity of the corresponding nozzle types required according to the quantity of each component type.

[0103] Optionally, calculating the quantity of the corresponding nozzle types required according to the quantity of each component type includes: multiplying the component quantity by the number of nozzles required for each component (usually 1, but some special components may require multiple nozzles).

[0104] It can be seen that in this embodiment, by querying in the preset database with the component type as the query identifier, the nozzle types corresponding to each component type can be obtained quickly and accurately. Then, according to the quantity of each component type, the quantity of the required nozzle types is determined, thereby realizing the precise allocation of nozzles.

[0105] For the specific implementation process of S10 - S40, reference can be made to Figure 2 , Figure 2 which is a flowchart of another method for allocating pick - and - place machine modules based on differential iteration.

[0106] For example, assume there are mounting points P1, P2, P3, P4, and P5 on the PCB. Count the quantity of each mounting point. For example: P1(100), P2(80), P3(60), P4(50), P5(30); Arrange the mounting points in descending order of quantity: P1(100), P2(80), P3(60), P4(50), P5(30). According to the arrangement order, start the allocation: Allocate P1 and P2 to M1. Allocate P3, P4, and P5 to M2. Count the nozzle types and quantities: NzlType1: 2, NzlType2: 3. M1 requires NzlType1: 1, NzlType2: 2. M2 requires NzlType1: 1, NzlType2: 1. For M1: L = 1 - 2 = -1, R = 3 / 1 * (-1) = -3. For M2: L = 1 - 2 = -1, R = 3 / 1 * (-1) = -3. For M1 and M2, since R <= 0, C = min(NzlNum) / ((R + 0.5) + 1) = 2 / (0.5 + 1) = 1 trip. For M1 and M2, L = -1, NzlNum * (R + 0.5) = 3 * 0.5 = 1.5. Since L < 1.5, (R + 0.5) is rounded up. D12 = |C1 - C2| = |1 - 1| = 0. D21 = |C2 - C1| = |1 - 1| = 0. Since D12 = D21 = 0, any allocation can be selected to maintain the current allocation. M1 is responsible for P1 and P2, and M2 is responsible for P3, P4, and P5 to ensure the workload balance between M1 and M2.

[0107] It should be noted that in the above various embodiments, there is not necessarily a certain order between the above steps. Those of ordinary skill in the art can understand according to the description of the embodiments of the present application that in different embodiments, the above steps can have different execution orders, that is, they can be executed in parallel or exchanged, etc.

[0108] As another aspect of the embodiments of the present application, the embodiments of the present application provide a placement machine module allocation device based on differential iteration. Among them, the placement machine module allocation device based on differential iteration can be a software module. The software module includes several instructions, which are stored in a memory. A processor can access the memory and call the instructions for execution to complete the placement machine module allocation method based on differential iteration described in the above various embodiments.

[0109] See Figure 3 , Figure 3 is a schematic structural diagram of a placement machine module allocation device based on differential iteration provided by the embodiments of the present application. As Figure 3 shown, the placement machine module allocation device 300 based on differential iteration includes:

[0110] An acquisition unit 301, configured to acquire at least one module in a target mounter and the number of nozzles corresponding to the at least one module;

[0111] A determination unit 302, configured to obtain at least one nozzle type and the number of each nozzle type in the at least one nozzle type according to at least one component type on a target PCB board and the number of components corresponding to each component type in the at least one component type;

[0112] The determination unit 302 is further configured to determine the total number of cycles according to the number of nozzles corresponding to the at least one module, the at least one nozzle type, and the number of each nozzle type in the at least one nozzle type;

[0113] A processing unit 303, configured to perform differential iteration processing on the total number of cycles to obtain the target number of cycles corresponding to each module in the at least one module.

[0114] This method realizes the precise matching of modules and nozzles by acquiring at least one module in a target mounter and the number of nozzles corresponding thereto, ensuring that each module can make full use of its nozzle resources during the mounting process, avoiding resource waste and low efficiency; further, by comprehensively considering the number of nozzles corresponding to the module, the nozzle type, and the number of each nozzle type, the total number of cycles is determined, which can be more comprehensive and accurate, and can better reflect the actual mounting requirements, providing reliable basic data for subsequent differential iteration processing; finally, by performing differential iteration processing on the total number of cycles, the target number of cycles corresponding to each module is obtained, which can effectively balance the workloads between different modules, achieve efficiency balance, and thus improve the overall production efficiency. Therefore, this method can achieve efficiency balance between modules, avoid the situation where some modules are overloaded while other modules are idle, and thus ensure that each module can work in the best state.

[0115] In an embodiment, the number of nozzles corresponding to the at least one module includes the first number of nozzles corresponding to the first module and the second number of nozzles corresponding to the second module. In the determining the total number of cycles according to the number of nozzles corresponding to the at least one module, the at least one nozzle type, and the number of each nozzle type in the at least one nozzle type, the determination unit 302 is further configured to: count the number of each nozzle type to obtain the total number of nozzles; obtain the first target number of nozzles according to the first number of nozzles or the second number of nozzles and the at least one nozzle type; obtain the second target number of nozzles according to the first target number of nozzles, the total number of nozzles, and the first number of nozzles; and determine the total number of cycles according to the second target number of nozzles.

[0116] In one embodiment, when determining the total number of circulation trips according to the second target nozzle quantity, the determining unit 302 is further configured to: determine whether the second target nozzle quantity is greater than a preset value; if it is greater than the preset value, round up the second target nozzle quantity according to a first preset rule to obtain a third target nozzle quantity; or, if it is less than or equal to the preset value, round up the second target nozzle quantity according to a second preset rule to obtain a fourth target nozzle quantity; determine the total number of circulation trips according to the third target nozzle quantity or the fourth target nozzle quantity.

[0117] In one embodiment, when determining the total number of circulation trips according to the third target nozzle quantity or the fourth target nozzle quantity, the determining unit 302 is further configured to: determine whether the third target nozzle quantity or the fourth target nozzle quantity is equal to the first target nozzle quantity; if the third target nozzle quantity or the fourth target nozzle quantity is not equal to the first target nozzle quantity, calculate the total nozzle quantity to obtain the total number of circulation trips; or, if the third target nozzle quantity or the fourth target nozzle quantity is equal to the first target nozzle quantity, calculate the third target nozzle quantity or the fourth target nozzle quantity to obtain the total number of circulation trips.

[0118] In one embodiment, when performing differential iteration processing on the total number of circulation trips to obtain the target number of circulation trips corresponding to each module in the at least one module, the processing unit 303 is further configured to: arrange the number of components corresponding to each component type to obtain a target component sequence; according to the target component sequence and the total number of circulation trips, sequentially perform distribution processing on each module in the at least one module to obtain the number of circulation trips corresponding to each module; obtain the target number of circulation trips corresponding to each module according to the number of circulation trips corresponding to each module.

[0119] In one embodiment, the at least one module includes a first module and a second module. When obtaining the target number of circulation trips corresponding to each module according to the number of circulation trips corresponding to each module, the processing unit 303 is further configured to: obtain a first number of circulation trips corresponding to the first module and a second number of circulation trips corresponding to the second module; subtract the second number of circulation trips from the first number of circulation trips to obtain a first difference; subtract the first number of circulation trips from the second number of circulation trips to obtain a second difference; determine whether the first difference is less than the second difference; if the first difference is less than the second difference, allocate the first module according to a first allocation strategy to obtain a first target number of circulation trips corresponding to the first module; or, if the first difference is greater than or equal to the second difference, allocate the second module according to a second allocation strategy to obtain a second target number of circulation trips corresponding to the second module.

[0120] In one embodiment, in the process of obtaining at least one nozzle type and the quantity of each nozzle type in the at least one nozzle type according to the at least one component type and the quantity of components corresponding to each component type, the processing unit 303 is further configured to: use the at least one component type as a query identifier to query in a preset database to obtain the nozzle types of each component type in the at least one component type; and determine the quantity corresponding to the nozzle type of each component type according to the quantity of components corresponding to each component type.

[0121] It should be noted that the above-mentioned pick-and-place machine module allocation device based on differential iteration can execute the pick-and-place machine module allocation method based on differential iteration provided by the embodiments of the present application, and has the corresponding functional modules and beneficial effects for executing the method. For the technical details not described in detail in the embodiments of the pick-and-place machine module allocation device based on differential iteration, reference can be made to the pick-and-place machine module allocation method based on differential iteration provided by the embodiments of the present application.

[0122] See Figure 4 , Figure 4 is a schematic structural diagram of a computer device provided by an embodiment of the present application. The computer device includes one or more processors 41 and a memory 42. The memory 42 is connected to one or more processors 41, for example, connected to the processor 41 through a bus.

[0123] The processor 41 is configured to support the computer device to execute the corresponding functions in the method in the above method embodiments. The processor 41 may be a central processing unit (CPU), a network processor (NP), a hardware chip, or any combination thereof. The above hardware chip may be an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The above PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0124] The memory 42 is used to store program codes and the like. The memory 42 may include a volatile memory (VM), such as a random access memory (RAM); the memory 42 may also include a non-volatile memory (NVM), such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid-state drive (SSD); the memory 42 may further include a combination of the above types of memories.

[0125] The memory 42 can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as the program instructions / modules corresponding to the method for allocating pick-and-place machine modules based on differential iteration in the embodiments of the present application. The processor 41 executes various functional applications and data processing of the method for allocating pick-and-place machine modules based on differential iteration and the device for allocating pick-and-place machine modules based on differential iteration by running the non-volatile software programs, instructions, and modules stored in the memory 42, that is, realizes the functions of each module or unit of the method for allocating pick-and-place machine modules based on differential iteration and the device for allocating pick-and-place machine modules based on differential iteration provided in the above method embodiments.

[0126] The memory 42 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system and application programs required for at least one function. The data storage area can store data created according to the use of the device for allocating pick-and-place machine modules based on differential iteration. In some embodiments, the memory 42 may optionally include a memory 42 remotely arranged relative to the processor 41, and these remote memories 42 can be connected to the device for allocating pick-and-place machine modules based on differential iteration through a network. Examples of the above network include but are not limited to the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.

[0127] The one or more modules are stored in the memory 42 and, when executed by the one or more processors 41, execute the method for allocating pick-and-place machine modules based on differential iteration in any of the above method embodiments. For example, execute the method steps described in the above method embodiments to realize the functions of the modules described in the above device embodiments.

[0128] The embodiments of the present application further provide a computer-readable storage medium. The computer-readable storage medium stores a computer program, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer is caused to execute the method as described in the foregoing embodiments.

[0129] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above methods. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM), etc.

[0130] The above-disclosed are only the preferred embodiments of the present application. Of course, the scope of rights of the present application cannot be limited thereby. Therefore, equivalent changes made according to the claims of the present application still fall within the scope covered by the present application.

Claims

1. A chip placement machine module allocation method based on differential iteration, characterized in that: include: Obtain at least one module in a target placement machine and the number of nozzles corresponding to the at least one module; According to at least one component type on the target PCB board and the number of components corresponding to each component type in the at least one component type, at least one nozzle type and the number of each nozzle type in the at least one nozzle type are obtained; Determine the total number of cycles according to the number of nozzles corresponding to the at least one module, the at least one nozzle type, and the number of each nozzle type in the at least one nozzle type; The total number of cycles is subjected to differential iterative processing to obtain a target number of cycles corresponding to each module in the at least one module.

2. The method according to claim 1, characterized in that The number of nozzles corresponding to the at least one module includes the number of first nozzles corresponding to the first module and the number of second nozzles corresponding to the second module, and the total number of cycles is determined according to the number of nozzles corresponding to the at least one module, the at least one nozzle type, and the number of each nozzle type in the at least one nozzle type, including: Counting the number of each type of nozzles to obtain the total number of nozzles; Obtaining a first target number of suction nozzles according to the first number of suction nozzles or the second number of suction nozzles and the at least one type of suction nozzles; Obtaining a second target number of suction nozzles according to the first target number of suction nozzles, the total number of suction nozzles, and the first number of suction nozzles; The total number of cycles is determined according to the second target number of suction nozzles.

3. The method according to claim 2, characterized in that Determining the total number of cycles according to the second target number of nozzles includes: Determine whether the second target nozzle quantity is greater than a preset value; If it is greater than the preset value, the second target number of nozzles is rounded according to the first preset rule to obtain the third target number of nozzles; or If it is less than or equal to the preset value, the second target number of nozzles is rounded according to a second preset rule to obtain a fourth target number of nozzles; The total number of circulation passes is determined according to the third target number of suction nozzles or the fourth target number of suction nozzles.

4. The method according to claim 3, characterized in that The determining of the total number of cycles according to the third target number of suction nozzles or the fourth target number of suction nozzles includes: Determining whether the third target number of suction nozzles or the fourth target number of suction nozzles is equal to the first target number of suction nozzles; If the third target number of suction nozzles or the fourth target number of suction nozzles is not equal to the first target number of suction nozzles, the total number of suction nozzles is calculated to obtain the total number of cycles; or; If the third target number of suction nozzles or the fourth target number of suction nozzles is equal to the first target number of suction nozzles, the third target number of suction nozzles or the fourth target number of suction nozzles is calculated to obtain the total number of circulation times.

5. The method according to claim 1, characterized in that The performing differential iterative processing on the total number of cycles to obtain a target number of cycles corresponding to each module in the at least one module includes: Arrange the number of components corresponding to each component type to obtain a target component sequence; According to the target component sequence and the total number of cycles, sequentially performing allocation processing on each module in the at least one module to obtain the number of cycles corresponding to each module; According to the number of cycles corresponding to each module, the target number of cycles corresponding to each module is obtained.

6. The method according to claim 5, characterized in that The at least one module includes a first module and a second module, and obtaining a target number of cycles corresponding to each module according to the number of cycles corresponding to each module includes: Obtaining a first cycle number corresponding to the first module and a second cycle number corresponding to the second module; Subtract the second number of cycles from the first number of cycles to obtain a first difference; Subtract the first number of loops from the second number of loops to obtain a second difference; Determining whether the first difference is less than the second difference; If the first difference is smaller than the second difference, the first module is allocated according to a first allocation strategy to obtain a first target number of cycles corresponding to the first module; or, If the first difference is greater than or equal to the second difference, the second module is allocated according to a second allocation strategy to obtain a second target number of cycles corresponding to the second module.

7. The method according to claim 1, characterized in that The obtaining, according to the at least one component type and the number of components corresponding to each component type, at least one nozzle type and the number of each nozzle type in the at least one nozzle type comprises: Using the at least one component type as a query identifier, querying in a preset database to obtain the nozzle type of each component type in the at least one component type; According to the number of components corresponding to each component type, the number of nozzle types corresponding to each component type is determined.

8. A chip placement machine module allocation device based on differential iteration, the method comprising: An acquisition unit, used for acquiring at least one module in a target placement machine and the number of nozzles corresponding to the at least one module; A determination unit, configured to obtain at least one nozzle type and the quantity of each nozzle type in the at least one nozzle type according to at least one component type on a target PCB board and the quantity of components corresponding to each component type in the at least one component type; The determining unit is further used to determine the total number of cycles according to the number of nozzles corresponding to the at least one module, the at least one nozzle type, and the number of each nozzle type in the at least one nozzle type; The processing unit is used to perform differential iterative processing on the total number of cycles to obtain a target number of cycles corresponding to each module in the at least one module.

9. A computer device, comprising a memory and a processor, wherein the memory is connected to the processor, and the processor is used to execute one or more computer programs stored in the memory, and when the processor executes the one or more computer programs, the computer device implements the differential iteration-based placement machine module allocation method as described in any one of claims 1-7.

10. A computer-readable storage medium storing a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the processor executes the differential iteration-based placement machine module allocation method as described in any one of claims 1 to 7.

Citation Information

Cited By

  • Chip mounter suction nozzle initial distribution method and system, and storage medium

    CN120974938A