Browse Source

A2报文适配川中

xuy 2 years ago
parent
commit
4b103a5534
2 changed files with 71 additions and 5 deletions
  1. 1 1
      Src/KeySlave485.c
  2. 70 4
      Src/TerminalSlave485_jt808.c

+ 1 - 1
Src/KeySlave485.c

@@ -37,7 +37,7 @@ uint8_t product_code[20] = "JL-SIMS-CJ-V2.1";				 //
 uint8_t product_ID[20] = "20210730001";						 //产品ID
 
 char Version_software[30] = "KZB09A0_20220210_Temp1";
-uint32_t Version_Soft[8] = {2,3,3,12,1,2,2,20230131};
+uint32_t Version_Soft[8] = {2,3,3,12,1,2,2,20230201};
 
 uint8_t flag_exitReset = 0;	 //终止复位命令
 uint8_t flag_Uart4_Busy = 0; //表明打印机占用了总线,暂停语音播报

+ 70 - 4
Src/TerminalSlave485_jt808.c

@@ -92,6 +92,9 @@ int jt808_Build_0x6d_Cang_info(uint8_t *pBuf);
 int jt808_Build_0x70_Sealing(uint8_t *pBuf);
 int jt808_Build_0x71_DumpBox_info(uint8_t *pBuf);
 int jt808_Build_0x72_ManHole_Box_info(uint8_t *pBuf);
+int jt808_Build_0x6C_liquid_level(uint8_t *pBuf);
+int jt808_Build_0x73_liquid_air_high(uint8_t *pBuf);
+
 
 void jt808_update_0x40_data(void);
 int jt808_BuildSealTxCmd(uint8_t *pBuf, uint8_t *pEmergencyflag); // 40命令
@@ -214,11 +217,11 @@ int jt808_Build_Ax_Cmd(uint8_t *pBuf, uint32_t flowID, uint8_t *pEmergencyflag)
 	//64	底阀	开关
 	send_pos += jt808_Build_0x64_HaiDiFa((uint8_t *)pBuf+send_pos);
 
-	//6D	仓状态	
-	send_pos += jt808_Build_0x6d_Cang_info((uint8_t *)pBuf+send_pos);	
+	//73	液位空高	
+	send_pos += jt808_Build_0x73_liquid_air_high((uint8_t *)pBuf+send_pos);	
 	
-	//70	铅封状态
-	send_pos += jt808_Build_0x70_Sealing((uint8_t *)pBuf+send_pos);		
+	//6C	液位
+	send_pos += jt808_Build_0x6C_liquid_level((uint8_t *)pBuf+send_pos);		
 	
 	//71	卸油箱门	开关
 	send_pos += jt808_Build_0x71_DumpBox_info((uint8_t *)pBuf+send_pos);
@@ -262,6 +265,69 @@ void jt808_update_0x40_data(void)
 	return;
 }
 
+/**
+ ***************************************
+ * 构建73	液位空高模拟量
+ * 输入:pBuf-构建数据的存放首地址
+ * 返回: 构建数据的字节总数
+ ***************************************
+ */
+int jt808_Build_0x73_liquid_air_high(uint8_t *pBuf)
+{
+	int idx=0;
+	int j;
+	
+	pBuf[idx++] = 0x73;
+	pBuf[idx++] = 1;
+	for (j = 0; j < StoreNumber; ++j)
+	{
+		uni_float uni_0x93;
+		int k;
+		uni_0x93.flo_Data = ExpansionRatio[j];
+		if(j==0) 
+			uni_0x93.flo_Data -= T2C_ALL_Sensor_Data01.MoniLiang_Data_Every_Cang[0];
+		else if(j==1)
+			uni_0x93.flo_Data -= T2C_ALL_Sensor_Data02.MoniLiang_Data_Every_Cang[0];
+		for (k = 0; k < 4; ++k)
+		{
+			pBuf[idx++] = uni_0x93.array_u8[3 - k];
+		}
+	}
+		
+	return idx;
+}
+
+/**
+ ***************************************
+ * 构建6C	液位模拟量
+ * 输入:pBuf-构建数据的存放首地址
+ * 返回: 构建数据的字节总数
+ ***************************************
+ */
+int jt808_Build_0x6C_liquid_level(uint8_t *pBuf)
+{
+	int idx=0;
+	int j;
+	
+	pBuf[idx++] = 0x6C;
+	pBuf[idx++] = 1;
+	for (j = 0; j < StoreNumber; ++j)
+	{
+		uni_float uni_0x93;
+		int k;
+		if(j==0)
+			uni_0x93.flo_Data = T2C_ALL_Sensor_Data01.MoniLiang_Data_Every_Cang[0];
+		else
+			uni_0x93.flo_Data = T2C_ALL_Sensor_Data02.MoniLiang_Data_Every_Cang[0];
+		for (k = 0; k < 4; ++k)
+		{
+			pBuf[idx++] =  uni_0x93.array_u8[3 - k];
+		}
+	}
+		
+	return idx;
+}
+
 
 /**
  ***************************************