Download presentation
Presentation is loading. Please wait.
Published byMagnus Underwood Modified over 9 years ago
1
IPD Technical Conference February 19 th 2008 Automotive Electronics Shock Absorber Inspection Ohio Office
2
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?
3
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.
4
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)
5
iNspect Tools Used Match Tool detects tab presence Circle Tool calculating Circularity and minimum Radius Count Tool finds the vent hole.
6
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.
7
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.
8
The Installation
9
Screen Shots
12
Variable Assignment Equations 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) 2.) Create Six Status Registers here 1.) Create Plate Counter here 3.) Assign Status Registers to separate outputs here
13
Variable Assignment Equations 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 4.) Create User Function here to reset registers and outputs. (This User Function serves as a subroutine.)
14
Variable Assignment Equations Solution Initialize BatchReset( ) Post Image Process if (plate_counter>= 6) BatchReset( ) 5.) Add the User Function to prepare for the next batch.
15
Variable Assignment Equations 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) Putting it all together
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.