Patent ID: 6023569
Filing Date: 2000-02-08
Classification: H05K

Abstract:
A method for producing an automatic inserting path in an apparatus for automatically inserting electronic components into a printed circuit board comprising the steps of:(i) storing automatic inserting path data and a limit distance between two electronic components to he inserted into the printed circuit board, wherein the automatic inserting path data includes computer aided design data of the printed circuit board and component data, the computer aided design data including component number data of all electronic components to be inserted into the printed circuit board, and x and y coordinates of the printed circuit board, and the component data including cormponent number data of all the electronic components corresponding to the component number data of the computer aided design data, codes of all the electronic components, and component name standards;(ii) displaying the printed circuit board in which all the electronic components are inserted on a screen;(iii) selecting the first and last components from all the electronic components of the printed circuit board displayed in step (ii), wherein the first and last components represent starting and ending components of the automatic inserting path, respectively;(iv) producing an adjacent distance matrix (ADM) (i, j), the ADM(i,j) being a matrix that forms distances between i and j components to be inserted into the printed circuit board in a form of a matrix where i and j represent optional row and column component indices, respectively, wherein step (iv) includes (iv-1) setting count values of optional row and column component indices to zero, (iv-2) adding one to the count values of the optional row component index, (iv-3) judging whether the count value of the optional row component index of step (iv-2) is smaller than or equal to a total number of the electronic components to be inserted into the printed circuit board, (iv-4) adding one to the count value of the optional column component index when the count value of the optional row component index is smaller than or equal to the total number of the electronic components to be inserted into the printed circuit board, (iv-5) judging whether the count value of the optional column component index of step (iv-4) is smaller than or equal to the total number of the electronic components to be inserted into the printed circuit board, (iv-6) comparing a distance between i and j components with the limit distance stored in step (i) when the count value of the optional column component index is smaller than or equal to the total number of the electronic components in order to decide whether the ADM(i,j) is set to the distance between i and j components, (iv-7) firstly deciding whether an i-j path is a revere path and controlling addition of a reverse path penalty to the ADM(i,j) according to the first decision, (iv-8) secondly deciding whether an inserting head number of the j component is equal to an inserting head number of the i component and controlling addition of a head order penalty to the ADM(i,j) according to the second decision, (iv-9) thirdly deciding whether a distribution area of the j component is equal to a distribution area of the i component and controlling addition of a distribution penalty to the ADM(i,j) according to the third decision, and (iv-10) fourthly deciding whether the ADM(i,j) with respect to all i and j components is calculated and controlling whether the calculation of the ADM(i,j) is stopped according to the fourth decision;(v) producing an automatic inserting path based on the the ADM(i,j) obtained in step (iv), wherein step (v) includes (v-1) reading indices of the first and last components selected in step (iii) from the ADM(i,j) obtained in step (iv), (v-2) setting an optional row component index as the first component index, (v-3) setting a reference distance, an optional column component index, and a next inserting component to a predetermined number, one, and -1, respectively, (v-4) judging whether the optional column component index is different from the last component index, a component index that is already selected in the automatic path, and the optional row component index, (v-5) setting a distance between two selected component as the ADM(i,j) when the optional column component index is different from the last component index, the already selected index in the automatic path, and the optional row component index, (v-6) judging whether the reference distance set in step (v-3) is greater than the distance between two selected components, (v-7) setting the reference distance to the distance between two selected components and setting a component corresponding to the optional column component index as a next inserting component when the set reference distance is equal to or greater than the distance between two selected components, (v-8) judging whether the optional column component index is smaller than or equal to the total number of components to be inserted into the printed circuit board, (v-9) adding one to the count value of the optional column component index and executing step (v-4) when the count value of the optional column component index is smaller than the total number of electronic components, and connecting the next inserting component to the first component corresponding to the first component index set in step (v-2) in the automatic inserting path when the count value of the optional column component index is equal to or greater than the total number of electronic components, (v-10) judging whether all paths of the automatic inserting path are constituted, (v-11) finishing a total operation when all the paths of the automatic inserting path are constituted, and setting an index of the next inserting component as the optional row component index and executing step (v-3) when at least one path of the automatic inserting path is unconnected.