< návrat zpět

MS Excel


Téma: Makro pro převed odporu na teplotu Pt100 (debug) rss

Zaslal/a 27.5.2012 12:49

Zdraví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

stop Uzamčeno - nelze přidávat nové příspěvky.

#008627
avatar
namiesto Dim pole(80.31, 82.29, 84.27, 8 ......

daj pole = Array(80.31, 82.29, 84.27, 8.........citovat
#008633
avatar
Pole nejprve deklarovat až potom naplnit.
"i" definovano porad 0 tzn. že Pole(i-1) je pole(-1) => chyba!
Proč makro?
V Excelu naplň hodnoty do sloupců a pak funkce VYHLEDAT.
Nebo přímo vzorec:
Hodnota Odporu > R1C1 = Vstup
Teplota > R1C2 "=ZAOKROUHLIT((R1C1-80,31)^1,0094;0)*2,5-50"citovat
#008639
avatar
Díky za rady, je videt ze to neni jen tak,
nakonec to pocitam z toho vzorce druheho řadu(Z WIKI) a taky je to presny i pro kladne i pro zaporne teploty, tak ze jsem to vlasne tak nejak obesel,
ten vzore od kp57 opravdu funguje, parada, je to snažší než makro
ale aspon jsem zjistil něco o makrechcitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse