Intranet application Visual Inspection
Not every piece of glass is perfect. In quality inspection area complete production is checked whether there is none of about 30 different types of defects. Only when there is not found any defect, product is allowed to be good. Various defect types determine which part of production line is not running in optimal setting and requires adjustment. Timely informed operator means increasing yield.
Quality inspection workplace is equipped with pushbuttons panel and in case of finding defective product worker press appropriate button and the product scraps. Signals from buttons are connected to digital input card in PC, and the PC works as a pulse counter. Digital inputs from buttons are completed by other signals from control systems and from photosensors, which serve for calculation of number of processed products in particular points of production line.
PC which reads digital inputs keeps actual state of counters in the first row of table. After specified interval all rows in table shift down, last row falls out from table and the first row is reseted for next counting cycle. Table includes one row of actual data and 24 rows of historical data. Complete table is saved every minute on intranet server. In fact there are several tables for different scanning interval (10 minutes, 1 hour, 1 shift and 1 day) and for each production line.
There is menu on top line of application page. Here it is possible to pick up production line, data counter interval, type of page and language version (cz, en, de, jp). Browser keeps menu status in cookies. Intranet application reads data file, reformats data to the table or graph and sends html code to the browser. Each production line has diverse background color (names and row cursor).
Described application is the most often used application in our intranet. In times of company full load, this application was runnig on a few tens of PC all the time.
Because the pages are refreshed every one minute, I tried to fill in html table (on the left in screenshot) with help of XMLHttpRequest (Ajax). I was surprised by low speed of filling up that large table. Using Tabular Data Control was better, but far from satisfaction. There was one advantage: vertical scrolling position of page stayed on the same place during refreshing (page is higher then browser height). Standard page refresh method makes page always scroll up, but there is no need for additional scripts. So I went back to conservative solution.