daj pole = Array(80.31, 82.29, 84.27, 8.........citovat
Zaslal/a
27.5.2012 12:49Zdravím, už pár dní se snažím napsat makro pro Excel.
Měřím teplotu odporovým snímačem Pt100 a vyhodnocuji jeho odpor, potřebuji to převést na teplotu. Napsal jsem následující makro.
Ale píše mi chybu už pří názvu funkce, opravdu si už nevím rady.
Poradí někdo, co je na něm špatně?
Function temp(r)
Dim pole(80.31, 82.29, 84.27, 86.25, 88.22, 90.19, 92.16, 94.12, 96.09, 98.04, 100#, 101.95, 103.9, 105.85, 107.79, 109.73, 111.67, 113.61, 115.54, 117.47, 119.4, 121.32, 123.24, 125.16, 127.07, 128.98, 130.89, 132.8, 134.7, 136.6, 138.5, 140.39, 142.29, 157.31, 175.84, 195.84)
t = -50
i = 0
dt = 0
If (r > pole(0)) Then
Do While (250 > t)
If (t < 110) Then
dt = 5
Else
If (t > 110) Then
dt = 50
Else
dt = 40
End If
End If
If (r < pole(i + 1)) Then
c = t + (r - pole(i - 1)) * dt / (pole(i) - pole(i - 1))
temp = c
End If
t = t + dt
Loop
End If
temp = t
End Function
Je to vlastně přepsaný C++ kod odsud
http://en.wikipedia.org/wiki/Resistance_thermometer
Děkuji za jakoukoli radu
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.