Prechádzať zdrojové kódy

Баг в modbus, скрипты.

unknown 7 mesiacov pred
rodič
commit
d8439082af

+ 3 - 2
fw/modules/io/analog_input.c

@@ -248,16 +248,17 @@ void ai_processing(void)
     }
     
     // Работа с уставками
+/*    
     for (int i = 0; i < AI_COMMON_NUMBER; i++)
     {      
         adc_com_data[i] = i + 1;
     }
           
     preset_process(adc_com_data);
-      
+*/      
     
     
-#if 1    
+#if 0    
     printf("end\r\n");
     adc_print_data();
     //adc_print_data_extend();

BIN
output/fw.bin


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 366 - 362
project/ewarm/iap/iap.dep


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 675 - 676
project/ewarm/module_universal_io.dep


+ 1 - 1
project/ewarm/module_universal_io.ewp

@@ -225,7 +225,7 @@
                     <state>AT_START_F403A_V1</state>
                     <state>PRINTF_STDLIB</state>
                     <state>DEBUG</state>
-                    <state>MDIO_88</state>
+                    <state>MAI_12</state>
                 </option>
                 <option>
                     <name>CCPreprocFile</name>

+ 18 - 9
tools/analog_in.py

@@ -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()

BIN
tools/fw.bin


+ 0 - 0
tools/tester_ai.py


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov