Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to...

24
JOINT MVC © MVT ____________________________________________________________________________ ____________________________________________________________________________ Page 172 Doc 5000-0087 Chapter 7 7.0 Joint MVC Chapter Contents 7.1 Overview .............................................................................. 173 7.2 Using Joint MVC ................................................................ 173 7.3 Setting Up Joint MVC ........................................................ 174 7.4 Training a Component using Joint MVC ......................... 177 Summary This chapter describes what Joint MVC is, how it is set up and how it is used Joint MVC

Transcript of Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to...

Page 1: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 172 Doc 5000-0087

Chapter

7

7.0 Joint MVC

Chapter Contents

7.1 Overview..............................................................................173 7.2 Using Joint MVC ................................................................173 7.3 Setting Up Joint MVC ........................................................174 7.4 Training a Component using Joint MVC .........................177

Summary This chapter describes what Joint MVC is, how it is set up and how it is used

Joint MVC

Page 2: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 173

7.1 Overview Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between different classes of bad solder joints. It uses an advanced statistical analysis algorithm, operating multi-dimensionally to analyse the solder joints.

7.2 Using Joint MVC Here is a step by step guide to using Joint MVC. It is described in more detail in subsequent sections:

1. Ensure the following line is in the config.txt file to enable the Joint MVC functionality:

jointMVC 1 1 0 2. Enable Joint MVC in Tools menu (as illustrated in Figure

7.1)

Figure 7.1 MVC Tools

3. Run an inspection

Page 3: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 174 Doc 5000-0087

4. The board name mvc_<boardname> will be created. This folder will be located at the following location and will contain the file mvc_<boardname>_status.txt:

C:\cpi\data\Mv 5. Edit the Joint MVC parameters in the Component Editor. 6. Right click on a component and train the component using

Joint MVC. 7. Open the Joint MVC menu 8. Switch on Joint MVC by clicking the button in the bottom

left corner of the menu 9. Inspect Good boards until each type of component with Joint

MVC enabled, has been able to analyse 500 joints.

7.3 Setting Up Joint MVC Joint MVC is set up both globally and locally.

Setting up Joint MVC Globally When you set up Joint MVC globally, you are enabling the Joint MVC feature both for all boards initially and then on a per-board basis. This is done using the config.txt file and the MVC Tools menu respectively. To enable Joint MVC enter the following line in the config.txt file:

jointMVC 1 1 0 • The 1st number indicates whether Joint MVC is enabled. 0

indicates that it is disabled. To enable, enter 1 or any other number other than 0.

• The 2nd number indicates training of the new components is enabled. This should always be enabled. The buffer will automatically disable training when all the components have been fully trained.

Page 4: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 175

• The 3rd number indicates the version of the Joint MVC regarding the feature. When training a component, this number is saved into the database. When inspecting a component, the algorithm uses this number to access the correct features to classify a solder joint. This improves the features strength without imposing new training on an already trained component

Setting Up Joint MVC Locally When you set up Joint MVC locally you are setting up the Joint MVC algorithm on a per-component type basis. Do this by editing the Joint Inspection parameters in the Component Editor menu.

• Set the parameter Joint Inspect Mode to a value greater than 132 (bits) to enable Advanced Joint Analysis (AJA) as well

• Set the parameter Joint Threshold to 161 This is illustrated in Figure 7.2:

Page 5: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 176 Doc 5000-0087

Figure 7.2 Joint MVC Parameters

Page 6: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 177

7.4 Training a Component using Joint MVC A minimum of 2500 solder joints on any device must be inspected. For this reason many-leaded components are trained faster than those with only a few leads. During the training process, files are built of all good joints. You can check the training process for each device type by checking the file mvc_devicetype _g.txt, which is located in C:\cpi\data\Mv\mvc_<boardname>. For training to be complete (more than 2500 solder joints inspected).

Joint MVC Status Modes There are four possible Joint MVC status modes and they are enabled at different stages in the Joint MVC training lifecycle. They are:

• Training Indicates if the component is being trained. The data related to the Solder Joints are saved. This is enabled by the setting the value 1 in the config.txt file as described above.

• Autotraining Indicates whether a component is partially or fully trained, and the analysis of the solder joints is done using Joint MVC

• Inspecting Indicates inspection of components with Joint MVC turned on that are fully trained, and their joints are being inspected using Joint MVC

• OFF Indicates that Joint MVC is disabled. The Inspection system is using the classical joint inspection algorithm to provide the user with a solder joint discrimination system.

Page 7: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 178 Doc 5000-0087

Joint MVC Menu The Joint MVC Menu is accessible by right clicking on the component you wish to analyse with Joint MVC as illustrated in Figure 7.3.

Figure 7.3 Accessing the Joint MVC Menu

When you click Joint MVC, the following menu as illustrated in Figure 7.4 is displayed:

Page 8: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 179

Figure 7.4 Joint MVC Menu prior to Optimisation

This menu illustrates the Joint MVC menu before optimization. After optimization (or pruning), and setting the features mask in the Viewport Setup, a list of features is diplayed as illustrated as illustrated in Figure 7.5:

Page 9: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 180 Doc 5000-0087

Figure 7.5 Joint MVC Menu After Optimization

Page 10: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 181

The Joint MVC menu contains the following standard parameters: Menu Option Function When to Alter or

use Inspect Inspect component Any time. View Combined

View Combined Classification : view each solder joint of the current component, together with the good database, three dimensions at a time. Colours correspond to the result of the classification done by joint MVC.

Use if the system needs optimisation.

View Independant

View Independant Classification: View each solder joint of the current component, together with the good database, three dimensions at a time. Colours correspond to the result of the classic inspection using convexity, fillet and distance values.

Use if the system needs optimisation.

View Directory Combined

Views all the solder joints of the components contained in one directory, according to their result in joint MVC.

Use if the system needs optimisation.

View Good

Displays the good database three dimensions at a time. You will be asked to give the three dimensions he wants to visualize.

Use if the system needs optimisation.

Page 11: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 182 Doc 5000-0087

View Good-Bad

Displays the good and bad database three dimensions at a time. The user will be asked to give the three dimensions he wants to visualize.

Use if the system needs optimisation.

Load Data From Component

Saves component joint data to the mvc_<type>_g.txt file in the mvc_<board> file. This operation inspects the current joints, and saves all the joint characteristics of passing joints to the file. You can use this when trying to build a database from saved images.

Use only if the database is being created from saved images (in an offline situation). Use option ‘create’ after this option to build the classifier.

Load Data From Directory

Saves component joint data to the mvc_<type>_g.txt file in the mvc_<board> file. This is similar to the option Load Data from component, but inspects all the components of current type in the current folder, and saves all the joint data of passing solder joints to the file.

Same as above. Use option ‘create’ after this option to build the database.

Create Build the current type Joint MVC database and classifier.

Use after saving solder joint data from saved images.

Main Features

Manually set feature mask. After observing the various features, you

Use after using the display function (View), if a certain

Page 12: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 183

can create a mask that will turn them on or off for all subsequent calculations.

number of features do not provide a proper discriminatory power (for example if one features is completely condensed on one value), this function can be used.

Load Data From Equivalent Database

Load equivalent type database. This function allows you to load the databases from another component and apply it to the current component.

This option should never be used, except for a family of boards inspected by the same machine.

Optimise Optimisation of the database. It fills evenly the hyper-space and rebuilds the classifier. This improves dramatically the false call numbers.

This is normally done automatically. It can be done manually if a database has been acquired using saved images. It takes a few seconds, and creates a file called mmvc_<type>.txt in the cpi/data/Mv/mvc_<type>/ directory.

Accept If a joint is falsely failed, use this function to alter the database and avoid a similar joint to be false failed again. Right click on the joint with the mouse and select the Accept option.

Whenever you have time, any good joints falsely failed by the algorithm, but subsequently accepted by the user will improve the classifying power of

Page 13: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 184 Doc 5000-0087

the joint MVC. Fail If a solder joint is falsely

accepted, use this function to alter the database and avoid a similar solder joint to be falsely accepted again. Right click on the solder joint with the mouse and choose the ‘fail’ option. This option can take a few seconds if no solder joints have been manually ‘failed’ before.

One can easily pollute the database by failing solder joints. The algorithm might not always perform the action, as some security has been put in place to protect the database.

Threshold Set threshold factor. This function allows you to modify the threshold used for accepting or rejecting a solder joint. Default is 1.

If this threshold is to be strict (<1), decrease it by 1 step (0.1) at a time. Setting this threshold towards ‘lax’ implies the system will be more forgiving, letting potential false failure and false acceptance to occur.

Reset Remove database. Removes the database, resets the whole system for the current type of components.

If some bad solder joints have slipped into the training, or if the solder joints of one type of component have been modified.

Table 7.1 Joint MVC Parameters

Page 14: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 185

O p t i m i s a t i o n P a r ame t e r s

Inspect - this option inspects the simple -inspect function. It will inspect the component.

Load Data allows the training of a component type from saved images. It offers three modes

Figure 7.6 Load data

The from component option allows you to use a saved image to load the Joint MVC database. This is illustrated in Figure 7.7:

Page 15: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 186 Doc 5000-0087

Figure 7.8 Browse for folder

1. Select a directory containing the images of the component of choice.

2. Make sure that the images have been saved with enough margins to allow a proper joint inspection.

3. Use the option from component to save all the joint data of passing joints into the mvc_<type>_g.txt (where type refers to the name given to the particular device type) file of the component currently being inspected. Use the from component option only once by component. When containing enough joint data, the option from component will automatically stop saving data, and only an inspection will be performed.

4. Assess the training status of the joint MVC for the current type by using either option in the Joint Properties menu. In both cases if the number of points in the good file is superior to 2500, the database can be built using the build option.

Page 16: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 187

from directory: allows to use all the saved images of the current type in the current folder to load the Joint MVC database. This is done using the following steps:

1. Select a menu containing the images of the component of choice.

2. Make sure that the images have been saved with enough margins to allow a proper joint inspection.

3. Use the option from directory to save all the joint data of passing joints into the mvc_<type>_g.txt file. Use the option from directory only once by directory. When containing enough joint data, the option ‘from directory’ will automatically stop saving data, and only inspections will be performed.

4. Assess the training status of the joint MVC for the current type by using either option in the Joint Properties menu. In both cases if the number of points in the good file is superior to 2500, the database can be built using the Build option.

from equivalent database - If a family of boards is inspected on one machine, the database obtained from one component on one member of the family of boards can be used for an (exactly) equivalent component for an other member of the family of boards. The component should be identical (exact same size, exact same pad size, exact same paste deposit and reflow processes). The option from equivalent database will ask you for the name of the board for which a component has been trained for Joint MVC. It will also ask you for the name of the equivalent component. Finally, it will notify you if the transfer has occurred.

Page 17: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 188 Doc 5000-0087

Figure 7.9 Browse for Equivalent Database

Note: Transfer will not occur if a joint MVC database already exists for the current (target) component. Use option Reset to allow for the transfer of the database.

Page 18: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 189

Create will build the classifier from the database for the current type of component. This function is used automatically in a normal online situation. However, when using saved images to train the database, theoption Create

needs to be used after the options load data from component and load data from directory. Its function is to transfer the database into memory, making it available for joint inspection. The database can be visually inspected using the option View Good. The option Create can be followed, if the number of points in the good database is equal to 2500, by an optimisation of the database, using the option Optimise.

Optimise performs an optimisation of the database. The current number of reference points in the database is 1200. The number of points stored in the good database is 2500. The pruning function takes each of the 1300

remaining points from the good database not used in the loaded database, tests it for point and volume density, and eventually replaces an over represented point by the currently tested point. While the optimisation is being computed, and the display is switched on, the points removed from the database should appear in red, while the points added to the database should appear in green.

Reset allows you to reset the Joint MVC database for one type of component. The mvc_<type>.mvc file is deleted. The reference database in memory is emptied. Finally, the mvc_<type>_g.txt file is also emptied, but not deleted from

the mvc_board folder. This option can be used if the training of the component was not done properly, and should be restarted from scratch. View is a pull down menu giving you the choice between five representations of the classifier.

Page 19: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 190 Doc 5000-0087

Figure 7.10 View Setup

Good will display the positive database used by the Joint MVC for the current component type. This database contains all the positive examples, and all the previously accepted joints. All points should appear in cyan. Here, as all other View options, the database is displayed three feature axis at a time. Good & Bad will display the positive and the negative databases used by the joint MVC for the current component type. This display contains all the positive examples, and all the previously accepted joints. All the positive points should appear in cyan. The display also shows the negative examples, i.e. each time a joint has been manually failed in the database. These points appear in red. Here the database is displayed three feature axis at a time. Combined displays together the database (in cyan) and all the joints of the current component inspected with Joint MVC, in either green if they are good, or red if they fail. Here the database is displayed three feature axis at a time.

Page 20: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 191

Independent displays together the database (in cyan) and all the joints of the current component inspected with the classical joint inspection system, in either green if they are good, or red if they fail. Here the database is displayed three feature axis at a time. Directory combined displays all the joints of the current type of component from the Saved Image directory system, in either green if they are good, or red if they fail. Here the database is displayed three feature axis at a time. This is only valid if you have images saved.

Figure 7.11 Browsing Images Directory

Page 21: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 192 Doc 5000-0087

Threshold : the option Threshold allows you to modify the hyper-threshold factor. In effect, you can modify your classifier to make it stricter or more lax. Making the classifier stricter will decrease the number of false acceptances. However, it will also increase significantly the number of joint false failures. Making the classifier more lax will decrease the number of solder joint false failure, but might therefore increase the probability of having false acceptance.

The default value is 1, 0 is Normal. If you decide to change this factor, you should only do it gradually, i.e. one step at a time. In general, if the number of false failures on solder joints with joint MVC turned on is very low, it becomes possible to move the threshold to a stricter position, thereby increasing the accuracy of the joint discrimination while staying at an acceptable false failure level. On the contrary, if the number of false failure is above the acceptable level, but the level of false acceptance is very low, it is possible to move the threshold to a more lax position.

Page 22: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 193

Joint Properties allows you to have an overview of the training status of either the current type being inspected or all the component with the Joint MVC individually turned on. This is illustrated in Figure 7.9

Figure 7.12 Joint Properties

Below is a list of the settings: No. of good joints shows the number of seeds in the mvc_current_type_g.txt file. If this number is superior to 2500, this means that some solder joint have been manually accepted. No. of bad joints shows the number of joints that have been manually failed. No. of joints in matrix shows the number of solder joints currently used in the classifier. This should have a maximum of 1200.

Page 23: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

JOINT MVC © MVT ____________________________________________________________________________

____________________________________________________________________________ Page 194 Doc 5000-0087

No. of components of current type shows the number of components of that type on the board. Be ware that for multi-panel boards, this number only refers to the number of component of that type per panel.

C u r r e n t j o i n t o n l y

Only the solder joint MVC data attached to the type of the current component being inspected will be shown. This is enabled by checking the box.

A l l j o i n t s

This option is identical to Current Joints Only, but it shows the status of the training for all the components with joint MVC turned on the current board. Accept can be used to correct a false fail event during inspection. If a solder joint has been false failed during inspection, you can teach the joint MVC algorithm to recognise the joint as being a good joint. The Accept menu option is accessible by right clicking on the solder joint, and selecting the Accept item. The joint will then be inserted in the Joint MVC reference database, replacing a redundant solder joint. The Accepted joint number should be red prior to the Accept action. After accepting the solder joint, an inspection is automatically performed, and the solder joint number will appear in green. Reject allows you to correct a false failure occurrence during the inspection process. It is a highly controlled function, because of the inherent risk attached to the function. If a solder joint has been accepted by the inspection system, but later noticed as being bad, you can teach the database to stop recognising this solder joint as bad. Currently, Reject works as follows: the algorithm tests the joint that has been false accepted against all the seeds of the database. If only one seed of the database recognises the joint, and if the distance between the seed and the joint is half of the applied hyper threshold, that seed will be removed.

Page 24: Chapter Joint MVC 7 - Keysight€¦ · Joint MVC is a statistical analytical algorithm used to analyse solder joints. It discriminates between good and bad solder joints, and between

© MVT JOINT MVC _______________________________________________________

____________________________________________________________________________ Doc 5000-0087 Page 195

The seed is then replaced by a seed of low density found either amongst the extra seed of the good database file, or amongst the seed previously replaced by a previous Accept action. Reject is accessed by right clicking on a passing solder joint and selecting the Reject menu item. If the Reject function is successful, the joint, previously green, should appear in red.