forked from sirjackal/brink-modbus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbrink.py
86 lines (61 loc) · 3.19 KB
/
brink.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/usr/bin/env python3
import minimalmodbus
import math
instrument = minimalmodbus.Instrument('/dev/ttyUSB0', 20) # port name, slave address (in decimal)
instrument.serial.baudrate = 19200 # Baud
instrument.serial.bytesize = 8
instrument.serial.parity = minimalmodbus.serial.PARITY_EVEN
instrument.serial.stopbits = 1
instrument.serial.timeout = 0.5 # seconds
instrument.mode = minimalmodbus.MODE_RTU # rtu or ascii mode
instrument.clear_buffers_before_each_transaction = True
value = instrument.read_register(8001, 0, 3, False) # Registernumber, number of decimals, function code
switchPositionEnum = { 0: 'nepritomnost', 1: 'nizky', 2: 'stredni', 3: 'vysoky' }
print('Stupen vykonu:', value, '(' + switchPositionEnum[value] + ')')
value = instrument.read_register(4036, 0, 4, True)
print('Privodni teplota:', value / 10, 'C')
value = instrument.read_register(4046, 0, 4, True)
print('Odvodni teplota:', value / 10, 'C')
value = instrument.read_register(4023, 0, 4, False)
print('Vstupni tlak:', value / 10, 'Pa')
value = instrument.read_register(4024, 0, 4, False)
print('Vystupni tlak:', value / 10, 'Pa')
value = instrument.read_register(4031, 0, 4, False)
print('Nastaveny vstupni objem vzduchu:', value, 'm3')
value = instrument.read_register(4032, 0, 4, False)
print('Aktualni vstupni objem vzduchu:', value, 'm3')
value = instrument.read_register(4041, 0, 4, False)
print('Nastaveny vystupni objem vzduchu:', value, 'm3')
value = instrument.read_register(4042, 0, 4, False)
print('Aktualni vystupni objem vzduchu:', value, 'm3')
value = instrument.read_register(6100, 0, 3, False)
bypassModeEnum = { 0: 'automaticky', 1: 'uzavreny', 2: 'otevreny' }
print('Rezim bypassu:', bypassModeEnum[value])
value = instrument.read_register(4050, 0, 4, False)
bypassStateEnum = { 0: 'inicializovat', 1: 'otevreny', 2: 'zavreny', 3: 'otevreny', 4: 'zavreny', 255: 'chyba' }
print('Stav bypassu:', bypassStateEnum[value])
value = instrument.read_register(4100, 0, 4, False)
filterStateEnum = { 0: 'cisty', 1: 'spinavy' }
print('Stav filtru:', filterStateEnum[value])
value = instrument.read_register(4060, 0, 4, False)
preheaterStateEnum = { 0: 'inicializovat', 1: 'neaktivni', 2: 'aktivni', 3: 'testovaci rezim' }
print('Stav predehrivace:', preheaterStateEnum[value])
value = instrument.read_register(4061, 0, 4, False)
print('Vykon predehrivace:', value, '%')
value = instrument.read_register(6033, 0, 3, False)
imbalanceEnum = { 0: 'nepovolena', 1: 'povolena' }
print('Nevyvazenost:', imbalanceEnum[value])
value = instrument.read_register(6035, 0, 3, False)
print('Odchylka nevyvazenosti privodu:', value, '%')
value = instrument.read_register(6036, 0, 3, False)
print('Odchylka nevyvazenosti odvodu:', value, '%')
value = instrument.read_register(6000, 0, 3, False)
print('Prutok pro stupen 0 (nepritomnost):', value, 'm3')
value = instrument.read_register(6001, 0, 3, False)
print('Prutok pro stupen 1 (nizky):', value, 'm3')
value = instrument.read_register(6002, 0, 3, False)
print('Prutok pro stupen 2 (stredni):', value, 'm3')
value = instrument.read_register(6003, 0, 3, False)
print('Prutok pro stupen 3 (vysoky):', value, 'm3')
value = instrument.read_register(4115, 0, 4, False)
print('Pouziti filtru:', math.floor(value / 24), 'dni')