|
@@ -3,11 +3,12 @@ from modbus import Modbus
|
|
|
from log_reader import AnalogInputLogReader
|
|
|
import colorama
|
|
|
from colorama import Fore
|
|
|
-from time import sleep
|
|
|
+from time import sleep, time
|
|
|
from serial import Serial
|
|
|
import matplotlib.pyplot as plt
|
|
|
import matplotlib.animation as animation
|
|
|
from mb_registers import SysReg, AiReg
|
|
|
+import struct
|
|
|
|
|
|
ai_name = {'AIN_1': 0, 'AIN_2': 1, 'AIN_3': 2, 'AIN_4': 3, 'AIN_5': 4,
|
|
|
'AIN_6': 5, 'AIN_7': 6, 'AIN_8': 7, 'AIN_9': 8, 'AIN_10': 9,
|
|
@@ -91,10 +92,16 @@ class IO_AnalogInput(IO_Module):
|
|
|
|
|
|
def get_fil_inputs(self):
|
|
|
'Фильтрованные данные'
|
|
|
- data = []
|
|
|
- for i in range(12):
|
|
|
- data.append(self.modbus.read_float_holding(AiReg.IN_FILTER.value + i*2))
|
|
|
- return data
|
|
|
+ start_time = time()
|
|
|
+ data = self.modbus.read_holding_registers_raw(AiReg.IN_FILTER.value, 24)
|
|
|
+ return struct.unpack('>ffffffffffff', data)
|
|
|
+ # print(f'Request time: {time() - start_time}')
|
|
|
+ # return struct.unpack('>f', self.read_holding_registers_raw(address, 2))[0]
|
|
|
+
|
|
|
+ # data = []
|
|
|
+ # for i in range(12):
|
|
|
+ # data.append(self.modbus.read_float_holding(AiReg.IN_FILTER.value + i*2))
|
|
|
+ # return data
|
|
|
|
|
|
|
|
|
def get_presets_state(self):
|
|
@@ -303,7 +310,7 @@ def main():
|
|
|
# print(ai.sys.get_rtc())
|
|
|
|
|
|
# print(ai.get_inputs_state())
|
|
|
- ai.set_inputs_state(0b1111_1111_1111)
|
|
|
+ # ai.set_inputs_state(0b1111_1111_1111)
|
|
|
# print(ai.sys.get_module_state())
|
|
|
# ai.set_inputs_state(0b0000_0000_0001)
|
|
|
# ai.set_inputs_state(0b1111_1111_1111)
|
|
@@ -326,9 +333,11 @@ def main():
|
|
|
|
|
|
'''Данные каналов'''
|
|
|
while True:
|
|
|
- ai.print_raw_inputs()
|
|
|
- ai.print_filtered_inputs()
|
|
|
- sleep(1)
|
|
|
+ # ai.get_raw_inputs()
|
|
|
+ ai.get_fil_inputs()
|
|
|
+ # ai.print_raw_inputs()
|
|
|
+ # ai.print_filtered_inputs()
|
|
|
+ sleep(0.1)
|
|
|
|
|
|
# ai.get_raw_inputs()
|
|
|
# ai.print_raw_inputs()
|