From fa6053f85287163f6e2d5dba690bec05cbc95f4a Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Fri, 07 Jun 2024 17:00:49 +0800
Subject: [PATCH] 增加阀控事件记录及修改阀控命令

---
 Function/STORAGE/system_mem_para.h |  284 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 265 insertions(+), 19 deletions(-)

diff --git a/Function/STORAGE/system_mem_para.h b/Function/STORAGE/system_mem_para.h
index 8e4c551..96c3d4a 100644
--- a/Function/STORAGE/system_mem_para.h
+++ b/Function/STORAGE/system_mem_para.h
@@ -3,18 +3,22 @@
 #include "define_all.h"
 #include "system_general_para.h"
 #include "extern_rtc.h"
+#include "valve_control.h"
+#include "wireless_remote_comm.h"
+#include "sizhu_ctrl_word.h"
+#include "rs485_read_data.h"
 
 #define SOFT_SERIAL_NUMBER1	0x05
 #define SOFT_SERIAL_NUMBER2	0x00
 #define SOFT_SERIAL_NUMBER3	0x05
 #define SOFT_SERIAL_NUMBER4	0x07
 
-#define	EEP_PARA_INIT_ID 	0x24041601          //BCD��ʽYYMMDDXX�����ܳ�����ĸ
+#define	EEP_PARA_INIT_ID 	0x24060605          //BCD��ʽYYMMDDXX�����ܳ�����ĸ
 #define LAST_PATCH_ID			EEP_PARA_PATCH_ID_1    //BCD��ʽYYMMDDXX�����ܳ�����ĸ��ע��˴�ָ�����һ������
 
 /************������ʶ���������������ӣ�BCD��ʽYYMMDDXX�����ܳ�����ĸ************/
 /************ÿ�����Ӻ�LAST_PATCH_IDָ�����һ������***************************/
-#define	EEP_PARA_PATCH_ID_1 	0x24041601     
+#define	EEP_PARA_PATCH_ID_1 	        0x24060605    
 
 /****************************************************/
  
@@ -22,7 +26,7 @@
 
 #define	CRC16_MODBUS_OFFSET  sizeof(uint16_t)
 
-//ϵͳ������ʶ
+//ϵͳ���ò�����ʶ
 typedef struct 
 {
 	uint16_t	CRC16_MODBUS;
@@ -35,21 +39,22 @@
 }SYSTEM_EEP_IDENTIFICATION_T;
 #define   SYSTEM_EEP_IDENTIFICATION_LENGTH        sizeof(SYSTEM_EEP_IDENTIFICATION_T)
 
+//�豸������Ϣ
 typedef struct equipment_basic_inf
 {
 	uint16_t	CRC16_MODBUS;
 	char  specification_model[20];//����ͺ�
-	DEVICE_MODEL		product_type; //��Ʒ����
-	CALIBER_MODEL		caliber_model;//�ھ� 1/2/3/4/5/6/7/8����050/080/100/150/200/025/032/040
+	DEVICE_TYPE		product_type; //��Ʒ����
+	CALIBER_TYPE		caliber_type;//�ھ� 1/2/3/4/5/6/7/8����050/080/100/150/200/025/032/040
 	uint8_t 		serial_number[10];//������ţ�BCDĿǰֻ��ǰ8�ֽڣ�16λ����2�ֽڲ�FFH��
 	uint8_t		manufactuer_code[2];//���Ҵ���,���ã�����ʶ���豸��;���������°����ƣ��򳧼Ҵ����ʾΪ�°£��Ĵ����������λ��ʶ����λ��ʹ����ҲΪ�°£���ɽ��в�����
-	VALVE_MODEL    valve_type;//�����ͺ�0:�޷��ţ�1����ʢ���壻2:���·��壻������Ĭ�Ϲ��·���
-	EQUIPMENT_MODEL		equipment_type;//�豸����,10H��ʾ��һ��ʽ����Զ���ն�
+	VALVE_TYPE    valve_type;//�����ͺ�0:�޷��ţ�1����ʢ���壻2:���·��壻������Ĭ�Ϲ��·���
+	EQUIPMENT_TYPE		equipment_type;//�豸����
 	uint8_t	reserve[32];
 }EQUIPMENT_BASIC_INF_T;
 #define   EQUIPMENT_BASIC_INF_LENGTH        sizeof(EQUIPMENT_BASIC_INF_T)
 
-
+//�豸��Ӳ����Ϣ
 typedef struct main_equipment_hardware_software_inf
 {
 	uint16_t	CRC16_MODBUS;
@@ -63,6 +68,7 @@
 }MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T;
 #define   MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_LENGTH        sizeof(MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T)
 
+//LCD����Ӳ����Ϣ
 typedef struct lcd_equipment_hardware_software_inf
 {
 	uint16_t	CRC16_MODBUS;
@@ -76,6 +82,7 @@
 }LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T;
 #define   LCD_EQUIPM_HARDWARE_SOFTWARE_INF_LENGTH        sizeof(LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T)
 
+//����ͨѶ����Ӳ����Ϣ
 typedef struct wireless_equipment_hardware_software_inf
 {
 	uint16_t	CRC16_MODBUS;
@@ -90,7 +97,7 @@
 #define   WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_LENGTH        sizeof(WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_T)
 
 
-
+//ʵʱ����
 typedef struct{
 	uint16_t	CRC16_MODBUS;
 	sClockBCD record_time_BCD;
@@ -107,9 +114,9 @@
 	{
 		uint8_t price_type_mode_now;  //�Ʒ����ͣ�  ��һ�Ʒѡ����ݼƷѡ���ʱ�Ʒ�
 		uint32_t price_now;       //���ۣ��Ŵ�10000��
-		double use_fee_sum;    //���������
 		double balance_now;
-
+		double use_fee_sum;    //����������Ҫ��˼Ʒ�ͳ����
+		double use_gas_sum;    //������������Ҫ��˼Ʒ�ͳ����
 		double ladder_cumulate_sc;  //������������
 		uint8_t	ladder_now;  //��ǰ����
 		
@@ -117,7 +124,7 @@
 		double	SC_base ; //��������
 		double	balance_base ;//������
 		double	gas_use_base ;//������������
-		double	fee_use__base ;//������������
+		double	fee_use_base ;//������������
 		double	ladder_SC_base ;//��������������
 		
 		double	ladder_first_time_up_flag; //���ݼƷѵ�һ������ʱ�䵽���־
@@ -131,19 +138,243 @@
 
 //ͳ�Ʋ�������ʱ����
 
+//������ز���
 typedef struct 
 {
-	VALVE_STATE_T      valve_state ;
+	uint16_t	CRC16_MODBUS;
+	VALVE_STATUS      valve_status ;
 	VALVE_LOCK_STATE_T		valve_lock_state;  //��������״̬
 	uint16_t		open_times;//��������
 	uint16_t		close_times;//�ط�����	
-	uint16_t		valve_close_ID ;//�ط�ԭ��  ���ڱ���ID
+	uint16_t		valve_close_ID ;//�ط�ԭ�� ���λΪ1����ǿֱ�Թط�������λ���ڱ���ID,���Ŵ�֮�����㡣
 	
 	
 }SAVE_VALVE_PARA_T;
 
+//�����Ʋ���
+typedef struct 
+{
+	uint16_t	CRC16_MODBUS;
+	FLOW_METER_CONN_TYPE	flow_meter_conn_type;
+	uint16_t flow_meter_code;
+	float	pulse_coe;
+	uint16_t	pulse_width;
+	BAUDRATE_CODE	baudrate_code;
+	PARITY_BIT	parity_bit;
+	RS485_PWR_OUTPUT_SELECT output_voltage_code;
+	uint8_t	slave_address;
+	
+	uint8_t	broken_line_multiplex; //���߸���
+	
+	uint8_t sub_machine_num;
+	char flow_meter_serial_number;
+	
+}FLOW_METER_PARA_T;
 
-//��.....
+//��ѹ���ò���
+typedef struct 
+{
+	uint16_t	CRC16_MODBUS;
+	int16_t tem_up_limit;
+	int16_t tem_up_up_limit;
+	int16_t tem_low_limit;
+	int16_t tem_low_low_limit;
+	int16_t	ambient_tem_up_limit;
+	int16_t	ambient_tem_low_limit;
+	float  pre_up_limit;
+	float  pre_up_up_limit;
+	float  pre_low_limit;
+	float  pre_low_low_limit;
+	
+}TEM_PRE_PARA_T;
+
+//�����������
+typedef struct 
+{
+	uint16_t	CRC16_MODBUS;
+	uint16_t freeze_interval;
+	uint8_t daily_freeze_time_BCD[2];
+}MEASURE_FREEZE_PARA_T;
+
+//��ز���
+typedef struct 
+{
+	uint16_t	CRC16_MODBUS;
+	uint8_t lith_bat_low_v;
+	uint8_t lith_bat_under_v;
+	uint8_t alka_bat_low_v;
+	uint8_t alka_bat_under_v;
+	uint32_t lith_bat_max_hour;
+	uint32_t lith_bat_used_hour;
+	uint32_t lith_bat_used_sec;
+	uint8_t  reserve[32];
+}BAT_PARA_T;
+
+//���\APP��������
+typedef struct 
+{
+	uint16_t	CRC16_MODBUS;
+	uint8_t				PC_general_user_password[2];
+	uint8_t				PC_advanced_user_password[2];
+	uint8_t				PC_manage_user_password[2];
+//	uint8_t				APP_general_user_password[2];
+//	uint8_t				APP_advanced_user_password[2];
+//	uint8_t				APP_manage_user_password[2];
+}LOGIN_PASSWORD_T;
+
+//��λ������������Ϣ
+typedef struct 
+{
+	uint16_t	CRC16_MODBUS;
+	uint8_t	slave_address;
+	BAUDRATE_CODE	baudrate_code;
+	PARITY_BIT	parity_bit;
+
+}UP_COMM_PARA_T;
+
+
+//����Զ��ͨѶ���ò���
+typedef struct 
+{
+	uint16_t	CRC16_MODBUS;
+	uint8_t 			ip1[4];
+	uint16_t 		 	ip_port1;
+	LINK_TYPE     ip1_connect_type; //IP����ģʽ 0��TCPֱ��  1�����ӵ���ƽ̨  2�������ƶ�onenetƽ̨
+	uint8_t 			ip2[4];
+	uint16_t 		  ip_port2;
+	LINK_TYPE     ip2_connect_type; //IP����ģʽ 0��TCPֱ��  1�����ӵ���ƽ̨  2�������ƶ�onenetƽ̨
+	uint16_t			bat_power_data_interval; //��ع������ݼ��
+	uint16_t			ext_power_data_interval; // �⹩�����ݼ��
+	
+	WRC_TIME_START_TYPE			time_start_type;  //ʱ�䷢��ģʽ,0���޷���  1�����  :2����ʱ  3�����+��ʱ.  ��ʱֻ֧��1����2
+	uint16_t 		bat_power_send_interval;
+	uint16_t 		ext_power_send_interval;
+	uint8_t			send_first_time_BCD[2];  //�״η���ʱ�䣬�����ڴ�巢�ͣ������״η���ʱ������Ϊ0��15�֣�24���ͷ���һ�Ρ� �Ǿ���ÿ��0��15��ͨѶһ��
+	uint8_t			timing_send_num;  //��ʱ�ϱ�����1-12
+	uint8_t			timing_send_time_BCD[12][2]; //��ʱ����ʱ���1-12
+
+	uint16_t     retransmission_interval;   // �ط����  
+	uint8_t			 retransmission_num;     //�ط�����    
+	uint16_t     comm_timeout_time;         //��ʱʱ�䣬��
+	
+	uint8_t			 KVer_AES_128[9][16];
+	
+}WRC_PARA_SIZHU_T;
+
+typedef struct 
+{
+	uint16_t	CRC16_MODBUS;
+	uint16_t	report_data_save_num;
+	uint16_t	report_data_left_num;
+	
+}WRC_DATA_NUM_CTRL_PARA_SIZHU_T;  //�˲����仯��Ƚ�Ƶ������Ҫ���Ǵ洢���������⣡����
+
+
+//�۸񷽰����ò���
+
+
+//��ֵ���ò���
+
+
+//���/�����ط����ò���
+typedef struct
+{
+	uint16_t	CRC16_MODBUS;
+	VALVE_BILLING_CHANGE_1_T balance_valve_ctrl_byte;
+	VALVE_BILLING_CHANGE_2_T conditional_valve_ctrl_byte;
+  int32_t balance_small_value[5];
+  uint32_t cumulate_flow_threshold;
+  uint8_t no_wrc_days;
+  uint8_t no_use_gas_days;
+  uint8_t reserve[5];
+} BILLING_VALVE_CTRL_PATA_T; // �Ʒѱ���\�������ط����Ʋ���
+
+
+
+/*****************���¼��������־��嶨����sizhu_ctrl_word.h��******************************/
+//���ܿ�����
+typedef struct
+{
+	uint16_t	CRC16_MODBUS;
+	SYSTEM_FUNCTION_CTRL_WORD_T		fun_ctrl_word;
+} SAVE_FUN_CTRL_WORD_T; //�洢���ܿ�����
+
+//ϵͳ����������/ϵͳ�����ϱ�������
+typedef struct
+{
+	uint16_t	CRC16_MODBUS;
+	SYSTEM_ALARM_CTRL_WORD_T	alarm_ctrl_word;
+	SYSTEM_ALARM_CTRL_WORD_T	alarm_report_ctrl_word;
+} SAVE_ALARM_CTRL_WORD_T; //�洢����������
+
+//�ط�������
+typedef struct
+{
+	uint16_t	CRC16_MODBUS;
+	VALVE_CTL_BYTES_UNION_T	valve_ctrl_word;
+} SAVE_VALVE_CTRL_WORD_T; //�洢�ط�������
+/***********************************************/
+
+
+/*****************��־���Ʋ���******************************/
+//��־���Ʋ���
+typedef struct LOG_SIZHU_CTRL_T
+{
+	uint16_t   	log_count;
+  uint32_t  	log_addr_save; //ָ����һ��Ҫд��ĵ�ַ
+//  uint32_t  	log_addr_begin;
+	uint8_t reserve[16];
+	
+}LOG_SIZHU_CTRL_T;  //����ռ22�ֽ�
+
+//������ʷ��¼
+typedef struct 
+{
+	uint16_t	CRC16_MODBUS;
+	LOG_SIZHU_CTRL_T per_month_log;
+	LOG_SIZHU_CTRL_T per_day_log;
+	LOG_SIZHU_CTRL_T per_hour_log;
+	LOG_SIZHU_CTRL_T per_interval_log;
+}LOG_SIZHU_HISTORY_CTRL_T;
+
+//������¼
+typedef struct
+{
+	uint16_t	CRC16_MODBUS;
+	LOG_SIZHU_CTRL_T system_alarm_log;
+	
+}LOG_ALARM_CTRL_T;
+
+//�¼���¼
+typedef struct LOG_EVENT_CTRL_T
+{
+	uint16_t	CRC16_MODBUS;
+	LOG_SIZHU_CTRL_T  valve_operation_log;
+
+	LOG_SIZHU_CTRL_T  factory_reset_log;	
+
+	LOG_SIZHU_CTRL_T  set_time_log;
+	
+}LOG_EVENT_CTRL_T;
+
+//�����޸ļ�¼
+typedef struct
+{
+	uint16_t	CRC16_MODBUS;
+	LOG_SIZHU_CTRL_T basic_info_modify_log;
+	LOG_SIZHU_CTRL_T cumulate_modify_log;
+	LOG_SIZHU_CTRL_T balance_modify_log;
+	LOG_SIZHU_CTRL_T flow_meter_para_modify_log;
+	LOG_SIZHU_CTRL_T conditional_close_valve_para_modify_log;
+	LOG_SIZHU_CTRL_T fun_ctrl_word_modify_log;
+	LOG_SIZHU_CTRL_T alarm_ctrl_word_modify_log;
+	LOG_SIZHU_CTRL_T close_valve_ctrl_word_modify_log;
+	
+}LOG_PARA_MODIFY_CTRL_T;
+
+
+
+
 
 #pragma pack()
 
@@ -153,16 +384,31 @@
 extern MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T        main_equipment_hardware_software_inf_g;
 extern LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T         lcd_equipment_hardware_software_inf_g;
 extern WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_T    wireless_equipment_hardware_software_inf_g;
-extern SAVE_REALTIME_DATA_T					save_realtime_data_g;
+extern __IO SAVE_REALTIME_DATA_T					save_realtime_data_g;
+extern __IO SAVE_VALVE_PARA_T							save_valve_para_g;
+extern FLOW_METER_PARA_T	flow_meter_para_g;
+extern MEASURE_FREEZE_PARA_T measure_freeze_para_g;
+extern BAT_PARA_T bat_para_g;
+extern LOGIN_PASSWORD_T login_passeord_g;
+extern UP_COMM_PARA_T	up_comm_para_g;
+extern WRC_PARA_SIZHU_T wrc_para_sizhu_g;
+extern WRC_DATA_NUM_CTRL_PARA_SIZHU_T	wrc_data_num_ctrl_para_sizhu_g;
+extern BILLING_VALVE_CTRL_PATA_T billing_valve_ctrl_para_g;
 
-
-
-
+extern LOG_SIZHU_HISTORY_CTRL_T		log_sizhu_history_ctrl_g;
+extern LOG_ALARM_CTRL_T log_alarm_ctrl_g;
+extern LOG_EVENT_CTRL_T log_event_ctrl_g;
+extern LOG_PARA_MODIFY_CTRL_T	log_para_modify_ctrl_g;
 
 void allParaDefaultInit(void);
 void allParaReadFromEep(void);
 void allParaPatchPro(void);
 
+
+
+
+ErrorStatus	paraCalcCrcAndWriteEepAB(uint8_t * write_data,uint32_t addrA,uint32_t addrB,uint16_t length);
+
 #endif 
 
 

--
Gitblit v1.9.3