From 71f8bdb7c63acc381d71105bb950411029f4250f Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Mon, 03 Jun 2024 20:00:58 +0800
Subject: [PATCH] 测试远传
---
Function/STORAGE/system_mem_para.c | 151 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 105 insertions(+), 46 deletions(-)
diff --git a/Function/STORAGE/system_mem_para.c b/Function/STORAGE/system_mem_para.c
index b399d86..82cc18b 100644
--- a/Function/STORAGE/system_mem_para.c
+++ b/Function/STORAGE/system_mem_para.c
@@ -1,30 +1,40 @@
#include "system_mem_para.h"
-#include "mbcrc.h"
+#include "mbcrc1.h"
#include "eeprom.h"
#include "system_eep_mem_manage.h"
#include "rs485_data_analysis_pro.h"
-SYSTEM_EEP_IDENTIFICATION_T system_eep_id_g;
-EQUIPMENT_BASIC_INF_T equipment_basic_inf_g={ .product_type= DM_SCM_SZV103, \
- .caliber_type = DN50_TYPE, \
- .valve_type = VM_HADE, \
- .equipment_type = EM_SIFRCT,};
+SYSTEM_EEP_IDENTIFICATION_T system_eep_id_g = { \
+ .eep_para_init_config_id = EEP_PARA_INIT_ID, \
+ .eep_para_patch_id = LAST_PATCH_ID, \
+};
+EQUIPMENT_BASIC_INF_T equipment_basic_inf_g={
+ .product_type= DM_SCM_SZV103, \
+ .caliber_type = DN50_TYPE, \
+ .serial_number = {0x07,0x10,0x50,0x82,0x40,0x69,0x00,0x01,0xff,0xff}, \
+ .valve_type = VM_HADE, \
+ .equipment_type = EM_SIFRCT,};
+
MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T main_equipment_hardware_software_inf_g;
LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T lcd_equipment_hardware_software_inf_g;
WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_T wireless_equipment_hardware_software_inf_g;
__IO SAVE_REALTIME_DATA_T save_realtime_data_g;
-__IO SAVE_VALVE_PARA_T save_valve_para_g={ .valve_status = VALVE_NONE, \
- .valve_lock_state = VL_UNLOCK,};
+
+__IO SAVE_VALVE_PARA_T save_valve_para_g={ \
+ .valve_status = VALVE_NONE, \
+ .valve_lock_state = VL_UNLOCK,};
-FLOW_METER_PARA_T flow_meter_para_g ={ .flow_meter_conn_type = FLOW_METER_CONN_RS485, \
- .flow_meter_code = SIZHUMODBUSV2_0, \
- .pulse_width = 50, \
- .baudrate_code = BAUDRATE_9600, \
- .parity_bit = PARITY_NONE, \
- .slave_address = 1, };
+FLOW_METER_PARA_T flow_meter_para_g ={ \
+ .flow_meter_conn_type = FLOW_METER_CONN_RS485, \
+ .flow_meter_code = SIZHUMODBUSV2_0, \
+ .pulse_width = 50, \
+ .baudrate_code = BAUDRATE_9600, \
+ .parity_bit = PARITY_NONE, \
+ .output_voltage_code = RS485_V1_5V, \
+ .slave_address = 1, };
-TEM_PRE_PARA_T tem_pre_para_g = {
+TEM_PRE_PARA_T tem_pre_para_g = { \
.tem_up_limit = 70, \
.tem_up_up_limit = 70, \
.tem_low_limit = -20, \
@@ -37,48 +47,67 @@
.pre_low_low_limit = 70, \
};
-MEASURE_FREEZE_PARA_T measure_freeze_para_g = {
+MEASURE_FREEZE_PARA_T measure_freeze_para_g = { \
.freeze_interval = 60, \
.daily_freeze_time_BCD = {0x00,0x00}, \
};
-BAT_PARA_T bat_para_g = {
- .lith_bat_low_v = 55, \
+BAT_PARA_T bat_para_g = { \
+ .lith_bat_low_v = 55, \
.lith_bat_under_v = 50, \
- .alka_bat_low_v = 55, \
+ .alka_bat_low_v = 55, \
.alka_bat_under_v = 50, \
- .lith_bat_max_hour = 26280, \
- .lith_bat_used_hour = 0, \
+ .lith_bat_max_hour = 26280, \
+ .lith_bat_used_hour = 0, \
.lith_bat_used_sec = 0, \
};
-LOGIN_PASSWORD_T login_passeord_g = {
+LOGIN_PASSWORD_T login_passeord_g = { \
.PC_general_user_password = {0x68,0x68}, \
.PC_advanced_user_password = {0x52,0x86}, \
.PC_manage_user_password = {0x75,0x97}, \
};
-WRC_PARA_SIZHU_T wrc_para_sizhu_g = {
-
- .ip1 = {120,77,85,236}, \
- .ip_port1 = 9692, \
- .ip1_connect_type = LINK_TCP, \
- .ip2 = {120,77,85,236}, \
- .ip_port2 = 9692, \
- .ip2_connect_type = LINK_TCP, \
- .bat_power_data_interval = 60, \
- .ext_power_data_interval = 60, \
- .time_start_type = WRC_TIME_START_INTERVAL, \
- .bat_power_send_interval = 1440, \
- .ext_power_send_interval = 60, \
- .send_first_time_BCD ={0x05,0x20} , \
- .timing_send_num = 1, \
- .timing_send_time_BCD = {{0x05,0x20}}, \
- .retransmission_interval = 10, \
- .retransmission_num = 0, \
- .comm_timeout_time =120, \
+UP_COMM_PARA_T up_comm_para_g = { \
+ .slave_address = 1, \
+ .baudrate_code = BAUDRATE_115200, \
+ .parity_bit = PARITY_NONE, \
+};
+
+WRC_PARA_SIZHU_T wrc_para_sizhu_g = { \
+ .ip1 = {39,108,81,105}, \
+ .ip_port1 = 9692, \
+ .ip1_connect_type = LINK_TCP, \
+ .ip2 = {120,77,85,236}, \
+ .ip_port2 = 9692, \
+ .ip2_connect_type = LINK_TCP, \
+ .bat_power_data_interval = 60, \
+ .ext_power_data_interval = 60, \
+ .time_start_type = WRC_TIME_START_INTERVAL, \
+ .bat_power_send_interval = 1440, \
+ .ext_power_send_interval = 60, \
+ .send_first_time_BCD ={0x05,0x20} , \
+ .timing_send_num = 1, \
+ .timing_send_time_BCD = {{0x05,0x20}}, \
+ .retransmission_interval = 10, \
+ .retransmission_num = 0, \
+ .comm_timeout_time =120, \
.KVer_AES_128[0] ={8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0}, \
};
+WRC_DATA_NUM_CTRL_PARA_SIZHU_T wrc_data_num_ctrl_para_sizhu_g={ \
+ .report_data_save_num = 0, \
+ .report_data_left_num = 0, \
+};
+
+BILLING_VALVE_CTRL_PATA_T billing_valve_ctrl_para_g = { \
+ .balance_valve_ctrl_byte = {0}, \
+ .conditional_valve_ctrl_byte = {0}, \
+ .balance_small_value = {500,100,0,0,0}, \
+ .cumulate_flow_threshold = 0, \
+ .no_wrc_days = 15, \
+ .no_use_gas_days = 0, \
+};
+
//EEPROM����д��Ͷ�ȡ���,ֻ֧��1024���ֽڵ�д�����ȡ���
ErrorStatus eepWriteAndReadCheck(uint8_t * write_data,uint32_t addr,uint16_t length)
@@ -119,7 +148,7 @@
}
//EEPROM������ȡ����飬ֻ֧�����1024�ֽڶ�ȡ
-ErrorStatus eepABReadCheck(uint8_t * write_data,uint32_t addrA,uint32_t addrB,uint16_t length)
+ErrorStatus eepABReadCheck(uint8_t * read_data,uint32_t addrA,uint32_t addrB,uint16_t length)
{
ErrorStatus read_flag = FAIL;
uint16_t CRC16_MODBUS;
@@ -145,7 +174,7 @@
if(read_flag == PASS)
{
- arrayA_2_arrayB(buf_l, write_data, length, LITTLE_ENDIAN) ;
+ arrayA_2_arrayB(buf_l, read_data, length, LITTLE_ENDIAN) ;
return PASS;
}else
{
@@ -164,7 +193,7 @@
if(read_flag == PASS)
{
- arrayA_2_arrayB(buf_l, write_data, length, LITTLE_ENDIAN) ;
+ arrayA_2_arrayB(buf_l, read_data, length, LITTLE_ENDIAN) ;
EEPROM_MultipleWrite(buf_l,addrA,length);//A��У�����B����ȷ����B������д��A��
return PASS;
}else
@@ -218,7 +247,30 @@
}
-//���в�����ʼ��ΪĬ��ֵ��д��EEPROM
+
+//�豸������Ϣ��ʼ��д��
+ErrorStatus EquipmentBasicInfoDefaultInit(void)
+{
+ return paraCalcCrcAndWriteEepAB((uint8_t * )&equipment_basic_inf_g,BASIC_INFORMATION_OF_EQUIPMENT_ADDR,BASIC_INFORMATION_OF_EQUIPMENT_ADDR + PARA_EEP_B_OFFSET_ADDR,EQUIPMENT_BASIC_INF_LENGTH);
+}
+
+//�豸������Ϣ��ȡ
+ErrorStatus EquipmentBasicInfoReadFromEep(void)
+{
+ if( eepABReadCheck((uint8_t * )&equipment_basic_inf_g,BASIC_INFORMATION_OF_EQUIPMENT_ADDR,BASIC_INFORMATION_OF_EQUIPMENT_ADDR + PARA_EEP_B_OFFSET_ADDR,EQUIPMENT_BASIC_INF_LENGTH) == FAIL)
+ {
+ EquipmentBasicInfoDefaultInit();
+ return FAIL;
+ }else
+ {
+ return PASS;
+ }
+}
+
+
+
+
+//?���в�����ʼ��ΪĬ��ֵ��д��EEPROM
void allParaDefaultInit(void)
{
ErrorStatus return_flag = PASS;
@@ -227,6 +279,9 @@
//�豸������Ϣ��ʼ��д��
+ if(EquipmentBasicInfoDefaultInit()==FAIL) return_flag = FAIL;
+
+ //?�������䣬����������־�洢�IJ���
//ʵʱ���ݳ�ʼ��д��
@@ -238,7 +293,7 @@
-//���в���ֱ�Ӷ�ȡ
+//?���в���ֱ�Ӷ�ȡ
void allParaReadFromEep(void)
{
ErrorStatus return_flag = PASS;
@@ -246,6 +301,10 @@
if(systemEepIdReadFromEep()==FAIL) return_flag = FAIL;
//�豸������Ϣ��ȡ
+ if(EquipmentBasicInfoReadFromEep()==FAIL) return_flag = FAIL;
+
+
+ //?�������䣬����������־�洢�IJ���
//�����ж�return_flag==FAIL�����洢�쳣�����������������Ļ�
--
Gitblit v1.9.3