150 likes | 336 Views
Automotive Electronics Shock Absorber Inspection. Ohio Office. Company History. This Ohio based customer molds various silicone rubber parts for the automotive and transportation industry. Their initial vision systems were based upon the original NetSight NS-1000 and the JAI CV-A11 camera.
E N D
Automotive Electronics Shock Absorber Inspection Ohio Office
Company History • This Ohio based customer molds various silicone rubber parts for the automotive and transportation industry. • Their initial vision systems were based upon the original NetSight NS-1000 and the JAI CV-A11 camera. • They have since migrated to the VA-40 with the higher resolution JAI CV-A1 and CV-A2 cameras. How many remember this?
The Application • Inspect an aluminum shock absorber plate that protects the ABS electronics module used in a vehicle. • The plates are shipped to our customer and they mold the silicone rubber pyramids to the plate. • Six plates are molded at one time.
The Application • Verify mounting tab is in the top left corner. • Check silicone pyramids for correct size and shape. • Verify vent hole is present. • Separate output indicating which mold cavity made the faulty part. (Variable Assignment Equations)
iNspect Tools Used • Match Tool detects tab presence • Circle Tool calculating Circularity and minimum Radius • Count Tool finds the vent hole.
Part Presentation A robotic arm loads the mold with six aluminum plates. After molding the robotic arm picks up the six parts and indexes them in front of the camera.
Vision Equipment • VA40E-04 Running iNspect • JAI CV-A2 Megapixel Camera • Kowa 18-108 Macro Zoom lens • Custom blue LED dome light built around Nerlite LALL 22x288 light lines This simple vision application did not require the use of VA40E-04, A2 camera, and zoom lens, but this configuration assures spare parts uniformity with their other vision systems.
Post Image Process plate_counter = plate_counter+ 1 if (plate_counter= 1) plate_1_status = Result.0 if (plate_counter= 2) plate_2_status = Result.0 if (plate_counter= 3) plate_3_status = Result.0 if (plate_counter= 4) plate_4_status = Result.0 if (plate_counter= 5) plate_5_status = Result.0 if (plate_counter= 6) plate_6_status = Result.0 if (plate_1_status= 1) FAIL = 0 if (plate_1_status!= 1) FAIL = 1 if (plate_2_status!= 1) Global.GPO[3] = pulse( 1,0,1000) if (plate_3_status!= 1) Global.GPO[4] = pulse( 1,0,1000) if (plate_4_status!= 1) Global.GPO[5] = pulse( 1,0,1000) if (plate_5_status!= 1) Global.GPO[6] = pulse( 1,0,1000) if (plate_6_status!= 1) Global.GPO[7] = pulse( 1,0,1000) Variable Assignment Equations 1.) Create Plate Counter here 2.) Create Six Status Registers here 3.) Assign Status Registers to separate outputs here
Batch Reset plate_counter = 0 Global.GPO[1] = 0 Global.GPO[3] = 0 Global.GPO[4] = 0 Global.GPO[5] = 0 Global.GPO[6] = 0 Global.GPO[7] = 0 plate_1_status = 1 plate_2_status = 1 plate_3_status = 1 plate_4_status = 1 plate_5_status = 1 plate_6_status = 1 FAIL = 0 PASS = 1 Variable Assignment Equations 4.) Create User Function here to reset registers and outputs. (This User Function serves as a subroutine.)
Solution Initialize BatchReset( ) Post Image Process if (plate_counter>= 6) BatchReset( ) Variable Assignment Equations 5.) Add the User Function to prepare for the next batch.
Solution Initialize BatchReset( ) Post Image Process if (plate_counter>= 6) BatchReset( ) plate_counter = plate_counter+ 1 if (plate_counter= 1) plate_1_status = Result.0 if (plate_counter= 2) plate_2_status = Result.0 if (plate_counter= 3) plate_3_status = Result.0 if (plate_counter= 4) plate_4_status = Result.0 if (plate_counter= 5) plate_5_status = Result.0 if (plate_counter= 6) plate_6_status = Result.0 if (plate_1_status= 1) FAIL = 0 if (plate_1_status!= 1) FAIL = 1 if (plate_2_status!= 1) Global.GPO[3] = pulse( 1,0,1000) if (plate_3_status!= 1) Global.GPO[4] = pulse( 1,0,1000) if (plate_4_status!= 1) Global.GPO[5] = pulse( 1,0,1000) if (plate_5_status!= 1) Global.GPO[6] = pulse( 1,0,1000) if (plate_6_status!= 1) Global.GPO[7] = pulse( 1,0,1000) Variable Assignment Equations Putting it all together