IPD Technical Conference February 19th 2008 Application: Juice Box Web Slitting Application – Monitor and Verify Crease to Knife Cut Edge Position. Distributor: CPU Automation Engineer: Mike Bray Machine Web slitter used to cut and wind multiple rolls of juice boxes from one large roll. Knife Positioning Rotary knives will be re-positioned on the fly as the vision system reports the cut position to back the system. Inspection Requirement Measure the position of farthest crease away from knife # 1 This point will have the largest error as the material shrinks or expands. Calculate the distance variance from a known good reference point and send this value out via Modbus to the PLC . Average the data over a user selectable number of reads to avoid sudden variances caused by insufficient crease edges. A remote slide unit will move the camera and lights for product positioning. Max web speed is 1000 m/min (3280 ft/min). A strobe light system will be required for clear images. A Visual Basic HMI with recipes is required. Camera setup Working Distance: Approximately 16 inches. Field of View: 4.00 inches x 3.00 inches 1 pixel = Approximately .004 inches Product Presentation Camera and lights are mounted in line to the web on a movable slide bracket. The bracket can slide left or right so as to align to the crease to be measured. One light is mounted on a motorized swivel mechanism so that light can be made to reflect off of the crease at the proper angle. The second light is fixed and used primarily for calibration. The max web speed is 1000 m/min (3280 ft/min). Hardware System: IPD vision appliance - VA41 Camera: 1 Sony XC-HR70 – 1024 x 768 Lens: 1 Fujinon lenses - 16mm Lighting: 2 Advanced Illumination high intensity line lights. AI 6000 Strobe controller Measurement Computing USB-4301 Counter/Timer module CTC PHM-17 monitor with touch screen – 17” Camera and Lighting Web Vision Side Software Sherlock 7.1.3.0 Visual Basic 6.0 Application Specific Problems -1 Speed of the web 3280 ft/min requires high speed strobe. The strobe duration needs to be in the range of 20 to 30 micro seconds. This limits the amount of light available. The creases are not a straight line. Some segments of the crease point up or down at various angles. For true readings, only the linear sections of the crease can be read. A filtering / sorting method for points found had to be created an implemented for each acquired crease image. When the slide first moves the camera into a previously saved position I cannot guarantee that the crease will be at the same location that it previously was when that position was saved into a recipe. Before the vision can run the new crease position needs to be found and the rake Roi’s moved and centered over the crease. Application Specific Problems -2 All of the functions needed to control, save/recall recipes, and control the camera slide mechanism need to be able to be manipulated remotely from the machine’s main control station which is 50 feet away from the vision control system and HMI. Modbus data and I/O needs to be read from the main control system when Sherlock is not in the run mode. Visual Basic in this application has to function not only as an HMI to Sherlock but as full control program that can initiate many functions within Sherlock. Sherlock Application Sequence - 1 1. Read Modbus if called from remote system. 2. Find the new crease position if called from main control system. 3. Wait for remote start from the main control (via Visual Basic). 4. Begin monitoring crease position. 5. Measure the point to point distance of the two rake tools positioned across the crease. 6. Build two new arrays of only the points that fall within the min/max crease width tolerance. 7. Calculate the point to point distance of the two new point arrays. 8. Calculate and create an array of the center points of the distance results. Sherlock Application Sequence - 2 9. Draw a Best Fit Line using the center point array 10. Calculate the crease distance from the points along the stationary reference plate located at the bottom of the image window, to the “Y” value of the best fit line. 11. Take the average of a number of readings and send the average to the main PLC. Sherlock Calibration – Four Points in Reference fixture Sherlock 7 Benefits for this Application Sherlock’s powerful logic capability helps in applications where such as this where handshaking with existing control systems is required. The new enhanced edge tools in 7.1.2.0 helped with stability and consistency in this application. Scripting was also necessary in this application. Sherlock’s scripting ability helped make this application much easier to implement. Sherlock’s preprocessors are able to help correct for lighting deficiencies. The ability to re-locate Roi’s on the fly was also necessary for this application. Sherlock can now generate events for VB. Sherlock Improvements needed The Modbus driver does not handle booleans well. Currently you cannot enter a value into a variable field while in the run mode. This makes de-bugging difficult. You cannot move a variable into the watch window. I find this somewhat short sighted. I would like to be able to set up debugging scenarios in the watch window that include variables as well as algorithm outputs. Java scripting lacks some functionality. Simple math functions i.e. rounding anything other than integers are not available. Array manipulation lacks functionality. More Sherlock functions need to be exposed for Visual Basic and Visual C. Some of these include: Turning image logging on/off, enabling/disabling preprocessors, I/O commands other than just read/write basic I/O and the ability to run the new grid style calibration automatically. Visual Basic Interface Requirements Ability to select all camera views and image windows as needed. Control all modes of vision operation from user and password protected supervisor screens. Ability to call Sherlock functions remotely through VB A password protected Setup screen where limits and tolerances can be entered via an on screen numeric touch pad. Recipes and settings can be saved to an “ini” file located in the application’s VB folder. Settings in the “ini” file are load when the application is launched or when a recipe is called. Calibration can be run from the setup screen. A live camera screen for camera adjustment. Main VB Screen VB Setup