Commit 77603816e36da2f31d1a2508018ea51d91953743
1 parent
9058343c56
Exists in
master
add TEMPERATURE_AIR_K
Showing 1 changed file with 6 additions and 3 deletions Inline Diff
instruments/T7Pro.py
from abstract_instrument import abstract_instrument | 1 | 1 | from abstract_instrument import abstract_instrument | |
from labjack import ljm | 2 | 2 | from labjack import ljm | |
import numpy | 3 | 3 | import numpy | |
4 | 4 | |||
#============================================================================== | 5 | 5 | #============================================================================== | |
6 | 6 | |||
ALL_VAL_TYPE = ['RES', 'TEMP PT100 K', 'TEMP PT100 C'] | 7 | 7 | ALL_VAL_TYPE = ['RES', 'TEMP PT100 K', 'TEMP PT100 C', 'TEMP AIR K'] | |
ALL_CHANNELS = ['1', '2', '3', '4'] | 8 | 8 | ALL_CHANNELS = ['1', '2', '3', '4', 'TEMP AIR K'] | |
9 | 9 | |||
ADDRESS = "192.168.0.25" | 10 | 10 | ADDRESS = "192.168.0.25" | |
CONF_CHANNELS = [["AIN0", "AIN10"], ["AIN2", "AIN11"], ["AIN4", "AIN12"], ["AIN6", "AIN13"]] | 11 | 11 | CONF_CHANNELS = [["AIN0", "AIN10"], ["AIN2", "AIN11"], ["AIN4", "AIN12"], ["AIN6", "AIN13"], ["TEMPERATURE_AIR_K"]] | |
VISHAY_CHANNELS = [1000., 1000., 1079., 10000.] | 12 | 12 | VISHAY_CHANNELS = [1000., 1000., 1079., 10000.] | |
13 | 13 | |||
#============================================================================== | 14 | 14 | #============================================================================== | |
15 | 15 | |||
class T7Pro(abstract_instrument): | 16 | 16 | class T7Pro(abstract_instrument): | |
def __init__(self, channels, vtypes, address): | 17 | 17 | def __init__(self, channels, vtypes, address): | |
self.address = address | 18 | 18 | self.address = address | |
self.channels = channels | 19 | 19 | self.channels = channels | |
self.vtypes = vtypes | 20 | 20 | self.vtypes = vtypes | |
21 | 21 | |||
def model(self): | 22 | 22 | def model(self): | |
return 'T7Pro' | 23 | 23 | return 'T7Pro' | |
24 | 24 | |||
def connect(self): | 25 | 25 | def connect(self): | |
print('Connecting to device @%s...' %(self.address)) | 26 | 26 | print('Connecting to device @%s...' %(self.address)) | |
self.handle = ljm.openS("T7", "ETHERNET", self.address) | 27 | 27 | self.handle = ljm.openS("T7", "ETHERNET", self.address) | |
print(' --> Ok') | 28 | 28 | print(' --> Ok') | |
print(self.model()) | 29 | 29 | print(self.model()) | |
self.configure() | 30 | 30 | self.configure() | |
31 | 31 | |||
def configure(self): | 32 | 32 | def configure(self): | |
names = ["AIN0_NEGATIVE_CH", "AIN0_RANGE", "AIN0_RESOLUTION_INDEX", | 33 | 33 | names = ["AIN0_NEGATIVE_CH", "AIN0_RANGE", "AIN0_RESOLUTION_INDEX", | |
"AIN1_NEGATIVE_CH", "AIN1_RANGE", "AIN1_RESOLUTION_INDEX", | 34 | 34 | "AIN1_NEGATIVE_CH", "AIN1_RANGE", "AIN1_RESOLUTION_INDEX", | |
"AIN2_NEGATIVE_CH", "AIN2_RANGE", "AIN2_RESOLUTION_INDEX", | 35 | 35 | "AIN2_NEGATIVE_CH", "AIN2_RANGE", "AIN2_RESOLUTION_INDEX", | |
"AIN3_NEGATIVE_CH", "AIN3_RANGE", "AIN3_RESOLUTION_INDEX", | 36 | 36 | "AIN3_NEGATIVE_CH", "AIN3_RANGE", "AIN3_RESOLUTION_INDEX", | |
"AIN4_NEGATIVE_CH", "AIN4_RANGE", "AIN4_RESOLUTION_INDEX", | 37 | 37 | "AIN4_NEGATIVE_CH", "AIN4_RANGE", "AIN4_RESOLUTION_INDEX", | |
"AIN5_NEGATIVE_CH", "AIN5_RANGE", "AIN5_RESOLUTION_INDEX", | 38 | 38 | "AIN5_NEGATIVE_CH", "AIN5_RANGE", "AIN5_RESOLUTION_INDEX", | |
"AIN6_NEGATIVE_CH", "AIN6_RANGE", "AIN6_RESOLUTION_INDEX", | 39 | 39 | "AIN6_NEGATIVE_CH", "AIN6_RANGE", "AIN6_RESOLUTION_INDEX", | |
"AIN7_NEGATIVE_CH", "AIN7_RANGE", "AIN7_RESOLUTION_INDEX", | 40 | 40 | "AIN7_NEGATIVE_CH", "AIN7_RANGE", "AIN7_RESOLUTION_INDEX", | |
#"AIN8_NEGATIVE_CH", "AIN8_RANGE", "AIN8_RESOLUTION_INDEX", | 41 | 41 | #"AIN8_NEGATIVE_CH", "AIN8_RANGE", "AIN8_RESOLUTION_INDEX", | |
#"AIN9_NEGATIVE_CH", "AIN9_RANGE", "AIN9_RESOLUTION_INDEX", | 42 | 42 | #"AIN9_NEGATIVE_CH", "AIN9_RANGE", "AIN9_RESOLUTION_INDEX", | |
"AIN10_NEGATIVE_CH", "AIN10_RANGE", "AIN10_RESOLUTION_INDEX", | 43 | 43 | "AIN10_NEGATIVE_CH", "AIN10_RANGE", "AIN10_RESOLUTION_INDEX", | |
"AIN11_NEGATIVE_CH", "AIN11_RANGE", "AIN11_RESOLUTION_INDEX", | 44 | 44 | "AIN11_NEGATIVE_CH", "AIN11_RANGE", "AIN11_RESOLUTION_INDEX", | |
"AIN12_NEGATIVE_CH", "AIN12_RANGE", "AIN12_RESOLUTION_INDEX", | 45 | 45 | "AIN12_NEGATIVE_CH", "AIN12_RANGE", "AIN12_RESOLUTION_INDEX", | |
"AIN13_NEGATIVE_CH", "AIN13_RANGE", "AIN13_RESOLUTION_INDEX" | 46 | 46 | "AIN13_NEGATIVE_CH", "AIN13_RANGE", "AIN13_RESOLUTION_INDEX" | |
] | 47 | 47 | ] | |
l_names = len(names) | 48 | 48 | l_names = len(names) | |
aValues = [1, 1, 12,#0 | 49 | 49 | aValues = [1, 1, 12,#0 | |
199, 1, 12,#1 | 50 | 50 | 199, 1, 12,#1 | |
3, 1, 12,#2 | 51 | 51 | 3, 1, 12,#2 | |
199, 1, 12,#3 | 52 | 52 | 199, 1, 12,#3 | |
5, 1, 12,#4 | 53 | 53 | 5, 1, 12,#4 | |
199, 1, 12,#5 | 54 | 54 | 199, 1, 12,#5 | |
7, 1, 12,#6 | 55 | 55 | 7, 1, 12,#6 | |
199, 1, 12,#7 | 56 | 56 | 199, 1, 12,#7 | |
#199, 1, 12,#8 | 57 | 57 | #199, 1, 12,#8 | |
#199, 1, 12,#9 | 58 | 58 | #199, 1, 12,#9 | |
199, 1, 12,#10 | 59 | 59 | 199, 1, 12,#10 | |
199, 1, 12,#11 | 60 | 60 | 199, 1, 12,#11 | |
199, 1, 12,#12 | 61 | 61 | 199, 1, 12,#12 | |
199, 1, 12#13 | 62 | 62 | 199, 1, 12#13 | |
] | 63 | 63 | ] | |
64 | 64 | |||
ljm.eWriteNames(self.handle, l_names, names, aValues) | 65 | 65 | ljm.eWriteNames(self.handle, l_names, names, aValues) | |
66 | 66 | |||
def getValue(self): | 67 | 67 | def getValue(self): | |
strMes = '' | 68 | 68 | strMes = '' | |
for ch in self.channels: | 69 | 69 | for ch in self.channels: | |
if self.vtypes[self.channels.index(ch)] == 'RES': | 70 | 70 | if self.vtypes[self.channels.index(ch)] == 'RES': | |
raw = self.read(CONF_CHANNELS[ALL_CHANNELS.index(ch)]) | 71 | 71 | raw = self.read(CONF_CHANNELS[ALL_CHANNELS.index(ch)]) | |
strMes = strMes + str(VISHAY_CHANNELS[ALL_CHANNELS.index(ch)]*raw[0]/raw[1]) + ';' | 72 | 72 | strMes = strMes + str(VISHAY_CHANNELS[ALL_CHANNELS.index(ch)]*raw[0]/raw[1]) + ';' | |
elif self.vtypes[self.channels.index(ch)] == 'TEMP PT100 K': | 73 | 73 | elif self.vtypes[self.channels.index(ch)] == 'TEMP PT100 K': | |
raw = self.read(CONF_CHANNELS[ALL_CHANNELS.index(ch)]) | 74 | 74 | raw = self.read(CONF_CHANNELS[ALL_CHANNELS.index(ch)]) | |
strMes = strMes + str(((VISHAY_CHANNELS[ALL_CHANNELS.index(ch)]*raw[0]/raw[1])/100.-1)/0.003850+273.15) + ';' | 75 | 75 | strMes = strMes + str(((VISHAY_CHANNELS[ALL_CHANNELS.index(ch)]*raw[0]/raw[1])/100.-1)/0.003850+273.15) + ';' | |
elif self.vtypes[self.channels.index(ch)] == 'TEMP PT100 C': | 76 | 76 | elif self.vtypes[self.channels.index(ch)] == 'TEMP PT100 C': | |
raw = self.read(CONF_CHANNELS[ALL_CHANNELS.index(ch)]) | 77 | 77 | raw = self.read(CONF_CHANNELS[ALL_CHANNELS.index(ch)]) | |
strMes = strMes + str(((VISHAY_CHANNELS[ALL_CHANNELS.index(ch)]*raw[0]/raw[1])/100.-1)/0.003850) + ';' | 78 | 78 | strMes = strMes + str(((VISHAY_CHANNELS[ALL_CHANNELS.index(ch)]*raw[0]/raw[1])/100.-1)/0.003850) + ';' | |
79 | elif self.vtypes[self.channels.index(ch)] == 'TEMP AIR K': | |||
80 | raw = self.read(CONF_CHANNELS[ALL_CHANNELS.index(ch)]) | |||
81 | strMes = strMes + str(raw[0]) + ';' | |||
79 | 82 |