Selaa lähdekoodia

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

unknown 9 kuukautta sitten
vanhempi
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++)
     for (int i = 0; i < AI_COMMON_NUMBER; i++)
     {      
     {      
         adc_com_data[i] = i + 1;
         adc_com_data[i] = i + 1;
     }
     }
           
           
     preset_process(adc_com_data);
     preset_process(adc_com_data);
-      
+*/      
     
     
     
     
-#if 1    
+#if 0    
     printf("end\r\n");
     printf("end\r\n");
     adc_print_data();
     adc_print_data();
     //adc_print_data_extend();
     //adc_print_data_extend();

BIN
output/fw.bin


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 366 - 362
project/ewarm/iap/iap.dep


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 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>AT_START_F403A_V1</state>
                     <state>PRINTF_STDLIB</state>
                     <state>PRINTF_STDLIB</state>
                     <state>DEBUG</state>
                     <state>DEBUG</state>
-                    <state>MDIO_88</state>
+                    <state>MAI_12</state>
                 </option>
                 </option>
                 <option>
                 <option>
                     <name>CCPreprocFile</name>
                     <name>CCPreprocFile</name>

+ 18 - 9
tools/analog_in.py

@@ -3,11 +3,12 @@ from modbus import Modbus
 from log_reader import AnalogInputLogReader
 from log_reader import AnalogInputLogReader
 import colorama
 import colorama
 from colorama import Fore
 from colorama import Fore
-from time import sleep
+from time import sleep, time
 from serial import Serial
 from serial import Serial
 import matplotlib.pyplot as plt 
 import matplotlib.pyplot as plt 
 import matplotlib.animation as animation 
 import matplotlib.animation as animation 
 from mb_registers import SysReg, AiReg
 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, 
 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, 
            '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):
     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):
     def get_presets_state(self):
@@ -303,7 +310,7 @@ def main():
     # print(ai.sys.get_rtc())     
     # print(ai.sys.get_rtc())     
     
     
     # print(ai.get_inputs_state())
     # 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())
     # print(ai.sys.get_module_state())
     # ai.set_inputs_state(0b0000_0000_0001)
     # ai.set_inputs_state(0b0000_0000_0001)
     # ai.set_inputs_state(0b1111_1111_1111)
     # ai.set_inputs_state(0b1111_1111_1111)
@@ -326,9 +333,11 @@ def main():
 
 
     '''Данные каналов'''
     '''Данные каналов'''
     while True:
     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.get_raw_inputs()
     # ai.print_raw_inputs()
     # ai.print_raw_inputs()

BIN
tools/fw.bin


+ 0 - 0
tools/tester_ai.py


Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä