%@LANGUAGE="VBScript"%> <% Set Connection = Server.CreateObject("ADODB.Connection") Connection.Mode = adModeRead Connection.Open phdb_rd one_keynumber=-1 If Request("keynumber_x")="" Then SQLStmt = "select distinct keynumber,tp.batch bat,tp.sensor sen,sl.rowid rowid_key from sitester.testkey_polysi tp,sitester.sensor_log sl where startdate=logdate" SQLStmt = SQLStmt & " and sl.rowid='" & Request("rowid_x") & "'" Set RS = Connection.Execute(SQLStmt) keys_tested=0 Do While Not RS.EOF keys_tested=keys_tested+1 RS.MoveNext Loop If Not RS.BOF Then RS.MoveFirst End If If keys_tested=1 Then keynumber_x=RS("keynumber") one_keynumber=1 End If If keys_tested>1 Then one_keynumber=0 End If Else keynumber_x=Request("keynumber_x") one_keynumber=1 End If If Not IsEmpty(Request("ymax")) Then ymax = CDbl(Request("ymax")) End If %>
| Measurement Date | <%= RS("Logdate") %> |
| Measurement Type | Polysilicon Current |
| Operator | <%= RS("Operator") %> |
| Operator's Comments | <%= RS("Comments") %> |
| Keynumber | <%= RS("keynumber") %> |
| Temperature (°C) | <%= RS("Temperature") %> |
| Humidity | <%= RS("Humidity") %> |
<% Dim Chart 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 rem ********************************************************************** rem * Instantiate the Chart component rem ********************************************************************** Set Chart = Server.CreateObject ("ASPChart.Chart") rem ********************************************************************** rem * Create x Array rem ********************************************************************** 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 not RS.Eof num_points = num_points + 1 If CDbl(RS("Sigma_Current")) > 0 Then 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) End If RS.MoveNext loop If num_points > 2 Then 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) Else i_over_v=0 i_zero=0 resistance_mohms=0 resistance_mohms_error=0 End If Chart.AddSeries 6 Chart.SeriesTitle = "Real Data" Chart.LineWidth = 2 RS.MoveFirst do while not RS.Eof Chart.AddXY CDbl(RS("Bias")), CDbl(RS("Mean_Current")), "",Color(1) RS.MoveNext loop Chart.AddSeries 5 Chart.SeriesTitle = "Fit Line" Chart.LineWidth = 2 RS.MoveFirst do while not RS.Eof Chart.AddXY CDbl(RS("Bias")), (CDbl(RS("Bias"))*i_over_v + i_zero), "",Color(3) RS.MoveNext loop Chart.AddSeries 5 Chart.SeriesTitle = "5 ± 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 ********************************************************************** res= Cstr(precision(resistance_mohms,2)) & "±" & Cstr(precision(resistance_mohms_error,2)) & " Mohms." Chart.ChartTitleAdd (Cstr(batch) & "/" & Cstr(sensor) & " " & "Rp=" & res) 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. If IsEmpty(ymax) Then Chart.VertAxisMax = 20000. Else Chart.VertAxisMax = ymax End If 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="
The resistance is <%= precision(resistance_mohms,2) %> ± <%= precision(resistance_mohms_error,2) %> Mohms.
Fit Line Equation: Current[nA] = <%= precision(i_over_v,2) %>[nA/Volt] × Voltage[Volts] <% If (i_zero >= 0.0) Then %>+ <% Else %>- <%End If %> <%= precision(Abs(i_zero),2)%>[nA]
| Voltage[V] | Mean Current[nA] | Sigma Current[nA] |
| <%= RS("Bias") %> | <%= RS("Mean_Current") %> | <%= RS("Sigma_Current") %> |
| Key Number | Measurement |
| <%= RS("keynumber") %> | &keynumber_x=<%= RS("keynumber") %>">IV |
No data for this measurement <% End Select %>
<% Connection.Close %>