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 |