<%@LANGUAGE="VBScript"%> <% Set Connection = Server.CreateObject("ADODB.Connection") Connection.Mode = adModeRead Connection.Open phdb_rd SQLStmt = "select keynumber,logdate,to_char(logdate,'MM/DD/YYYY HH24:MI:SS') ddate,bias,mean_current,sigma_current,comments from sitester.testkey_polysi,sitester.sensor_log where startdate=logdate and sensor_log.batch='"+Request("batch")+"' and sensor_log.sensor="+Request("sensor")+" order by keynumber,logdate,bias" Set RS = Connection.Execute(SQLStmt) %> <% Dim voltage() seed=-(second(now())+60*minute(now())+3600*hour(now())+3600*24*day(now())) %> Polysilicon Selection

Batch <%= Request("batch") %>, Sensor <%= Request("sensor") %>, Polysilicon IV Measurements

<% Dim Color(8) Color(0) = vbRed Color(1) = vbBlue Color(2) = vbYellow Color(3) = vbGreen Color(4)= vbMagenta Color(5)= vbCyan Color(6)= vbWhite Color(7)= vbBlack Do While Not RS.EOF %> <% Loop %>
 

<% '--- Create new filename --- seed = seed + 1 filename="fff" & cstr(int(100000.*rnd(seed))) & ".jpg" filename_full=ph_image_directory & filename Dim Chart rem ********************************************************************** rem * Instantiate the Chart component rem ********************************************************************** Set Chart = Server.CreateObject ("ASPChart.Chart") rem ********************************************************************** rem * Create x Array rem ********************************************************************** Chart.AddSeries 6 Chart.SeriesTitle = "Real Data" Chart.LineWidth = 2 ReDim voltage(0) found = 0 keynumber = CInt(RS("keynumber")) logdate = RS("logdate") ddate=CStr(RS("ddate")) If IsNull(RS("comments")) Then comments="" Else comments = RS("comments") End If num_points = 0 vi_sigma2 = 0.0 one_sigma2 = 0.0 v_sigma2 = 0.0 i_sigma2 = 0.0 v2_sigma2 = 0.0 i2_sigma2 = 0.0 Do While (found = 0) If Not RS.EOF then Select Case Sgn(CInt(RS("keynumber"))-keynumber) case 1 found = 1 case 0 Select Case Sgn(RS("logdate")-logdate) case 1 found = 1 case 0 ReDim Preserve voltage(num_points) voltage(num_points)=CDbl(RS("bias")) Chart.AddXY CDbl(RS("Bias")), CDbl(RS("Mean_Current")), "",Color(1) num_points = num_points + 1 vi_sigma2=vi_sigma2+CDbl(RS("Bias"))*CDbl(RS("Mean_Current"))/(CDbl(RS("Sigma_Current"))^2) one_sigma2=one_sigma2+1.0/(CDbl(RS("Sigma_Current"))^2) v_sigma2=v_sigma2+CDbl(RS("Bias"))/(CDbl(RS("Sigma_Current"))^2) i_sigma2=i_sigma2+CDbl(RS("Mean_Current"))/(CDbl(RS("Sigma_Current"))^2) v2_sigma2=v2_sigma2+(CDbl(RS("Bias"))^2)/(CDbl(RS("Sigma_Current"))^2) i2_sigma2=i2_sigma2+(CDbl(RS("Mean_Current"))^2)/(CDbl(RS("Sigma_Current"))^2) RS.MoveNext case -1 found = 1 End Select case -1 Response.Write "Error" End Select Else found = 1 End If Loop i_over_v=(vi_sigma2*one_sigma2-v_sigma2*i_sigma2)/(v2_sigma2*one_sigma2-v_sigma2*v_sigma2) i_zero=(v2_sigma2*i_sigma2-v_sigma2*vi_sigma2)/(v2_sigma2*one_sigma2-v_sigma2*v_sigma2) resistance_mohms=1000/i_over_v numerator=one_sigma2*i2_sigma2*v2_sigma2-i2_sigma2*v_sigma2*v_sigma2-i_sigma2*i_sigma2*v2_sigma2-one_sigma2*vi_sigma2*vi_sigma2+2*vi_sigma2*i_sigma2*v_sigma2 denomenator=(v2_sigma2*one_sigma2-v_sigma2*v_sigma2)*(v2_sigma2*one_sigma2-v_sigma2*v_sigma2) i_over_v_error=Sqr(one_sigma2*numerator/(denomenator*(num_points-2))) resistance_mohms_error=1000*i_over_v_error/(i_over_v*i_over_v) Chart.AddSeries 5 Chart.SeriesTitle = "Fit Line" Chart.LineWidth = 2 For current_point = 0 To (num_points-1) Chart.AddXY voltage(current_point), (voltage(current_point)*i_over_v + i_zero), "",Color(3) Next Chart.AddSeries 5 Chart.SeriesTitle = "5 1 2 Mohm Limits" volt=0 do while volt<=100 Chart.AddXY volt, 1000*volt/7., "",Color(0) volt=volt+10 loop Chart.AddSeries 5 Chart.SeriesInLegend = False volt=0 do while volt<=100 Chart.AddXY volt, 1000*volt/3., "",Color(0) volt=volt+10 loop Chart.AddSeries 5 Chart.SeriesTitle = "1 Mohm Limit" volt=0 do while volt<=100 Chart.AddXY volt, 1000*volt/1., "",Color(4) volt=volt+10 loop Chart.AddSeries 5 Chart.SeriesTitle = "0.55 Mohm Limit" volt=0 do while volt<=100 Chart.AddXY volt, 1000*volt/0.55, "",Color(5) volt=volt+10 loop rem ********************************************************************** rem * Add and format the title rem ********************************************************************** Chart.ChartTitleAdd ("Batch " & CStr(Request("batch")) & ", Sensor " & CStr(Request("sensor")) & ", Keynumber " & CStr(keynumber)) Chart.ChartTitleFont.Size = 18 Chart.ChartTitleFont.Name = "Times New Roman" Chart.ChartTitleFont.Italic = true Chart.ChartTitleFont.Bold = true Chart.View3D = false rem Chart.LegendVisible = True Chart.LegendStyle = cSeries Chart.AxisGridLines = false Chart.Frame = false rem ********************************************************************** rem * Remove the OuterBevel, add a gradient fill to chart panel rem ********************************************************************** Chart.BevelOuter = 0 rem Chart.GradientVisible = true rem Chart.GradientStartColor = vbWhite rem Chart.GradientEndColor = vbYellow Chart.PanelColor = Color(6) rem ********************************************************************** rem * Set the Width and Height of the image rem ********************************************************************** Chart.Height = 300 Chart.Width = 600 Chart.HorizAxisMax = 100. Chart.HorizAxisMin = 0. Chart.VertAxisMax = 20000. Chart.VertAxisMin = 0. Chart.AddAxisLabel 1 , "Mean Current [nA]" Chart.AddAxisLabel 2 , "Voltage [Volts]" rem ********************************************************************** rem * Set the filename, save the image and write the image tag rem ********************************************************************** Chart.FileName = filename_full Chart.SaveChart line="" Response.Write (line) rem ********************************************************************** rem * Destroy the object rem ********************************************************************** Set Chart = nothing %>

Keynumber Logdate Resistance [MW] Comments
<%= keynumber %> <%= ddate %> <%Response.Write CStr(precision(resistance_mohms,2)) & " 1 " & CStr(precision(resistance_mohms_error,2))%> <%= comments %>

.value = <%= CStr(precision(resistance_mohms,2)) %>;self.opener.document.main_display.poly_error<%= Request("sensor") %>.value = <%= CStr(precision(resistance_mohms_error,2)) %>;self.close()">

 

<% Connection.Close %>