|
@@ -395,28 +395,47 @@ uint16_t Read_ZhencheSensorData1(uint8_t* pTx)
|
|
|
}Hex_to_float;
|
|
|
Hex_to_float hex_to_float;
|
|
|
|
|
|
-
|
|
|
+ //倾角
|
|
|
uint8_t i = 0;
|
|
|
- hex_to_float.float_temp = (float)pangle->Angle_DataX[0]*Angle_cs;
|
|
|
- pTx[16] = hex_to_float.arr[0]; //读取高位温度传感器数据
|
|
|
+ hex_to_float.float_temp = (float)pangle->Angle_DataX[0]*Angle_cs; //倾角 x
|
|
|
+ pTx[16] = hex_to_float.arr[0];
|
|
|
pTx[17] = hex_to_float.arr[1];
|
|
|
pTx[18] = hex_to_float.arr[2];
|
|
|
pTx[19] = hex_to_float.arr[3];
|
|
|
- hex_to_float.float_temp = (float)pangle->Angle_DataY[0]*Angle_cs;
|
|
|
- pTx[20] = hex_to_float.arr[0]; //读取高位温度传感器数据
|
|
|
+ hex_to_float.float_temp = (float)pangle->Angle_DataY[0]*Angle_cs; //倾角 y
|
|
|
+ pTx[20] = hex_to_float.arr[0];
|
|
|
pTx[21] = hex_to_float.arr[1];
|
|
|
pTx[22] = hex_to_float.arr[2];
|
|
|
pTx[23] = hex_to_float.arr[3];
|
|
|
- hex_to_float.float_temp = (float)pangle->Angle_DataZ[0]*Angle_cs;
|
|
|
- pTx[24] = hex_to_float.arr[0]; //读取高位温度传感器数据
|
|
|
+ hex_to_float.float_temp = (float)pangle->Angle_DataZ[0]*Angle_cs; //倾角 z
|
|
|
+ pTx[24] = hex_to_float.arr[0];
|
|
|
pTx[25] = hex_to_float.arr[1];
|
|
|
pTx[26] = hex_to_float.arr[2];
|
|
|
- pTx[27] = hex_to_float.arr[3];
|
|
|
+ pTx[27] = hex_to_float.arr[3];
|
|
|
+
|
|
|
+
|
|
|
|
|
|
- for(i = 0;i < 228;i++) //铅封
|
|
|
- {
|
|
|
- pTx[28+i] = 0xa5;
|
|
|
- }
|
|
|
+ for(i = 0;i < 16;i++) // 备电开关、备电电量、油气回收开关、油气回收卸尽
|
|
|
+ {
|
|
|
+ pTx[28+i] = 0xa5;
|
|
|
+ }
|
|
|
+
|
|
|
+ //门磁
|
|
|
+ pTx[44] = 0x00;
|
|
|
+ pTx[45] = 0x00;
|
|
|
+ pTx[46] = 0x00;
|
|
|
+ pTx[47] = tank_inf.Door_Status;
|
|
|
+
|
|
|
+ //授权
|
|
|
+ pTx[48] = 0x00;
|
|
|
+ pTx[49] = 0x00;
|
|
|
+ pTx[50] = 0x00;
|
|
|
+ pTx[51] = tank_inf.Facial_Auth;
|
|
|
+
|
|
|
+ //其它
|
|
|
+ for(i = 0;i < 28;i++){
|
|
|
+ pTx[52+i] = 0xa5;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
return 1;
|
|
@@ -2734,7 +2753,7 @@ uint16_t Read_CangSensorData_V2(uint8_t* pTx, uint8_t Cang_Num) // add by guoqia
|
|
|
{
|
|
|
//传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
|
|
|
// Angle_Inf* pangle = &angle_inf;
|
|
|
- TEM_Inf* ptem = tem_inf;
|
|
|
+ Tem_Inf* ptem = tem_inf;
|
|
|
// KZQ_Inf* pkzq = &kzq_inf;
|
|
|
Level_Inf* plevel = level_inf;
|
|
|
HDF_Inf* phdf = hdf_inf;
|
|
@@ -2878,10 +2897,10 @@ uint16_t Read_CangSensorData_V2(uint8_t* pTx, uint8_t Cang_Num) // add by guoqia
|
|
|
/*********************液位传感器数据**********************************/
|
|
|
if(plevel[Cang_Num-1].Error)
|
|
|
{
|
|
|
- pTx[95+9] = 0;
|
|
|
- pTx[96+9] = 0;
|
|
|
- pTx[97+9] = 0;
|
|
|
- pTx[98+9] = 0;
|
|
|
+ pTx[95+9] = 0xAA;
|
|
|
+ pTx[96+9] = 0xAA;
|
|
|
+ pTx[97+9] = 0xAA;
|
|
|
+ pTx[98+9] = 0xAA;
|
|
|
|
|
|
}
|
|
|
else
|
|
@@ -2895,17 +2914,17 @@ uint16_t Read_CangSensorData_V2(uint8_t* pTx, uint8_t Cang_Num) // add by guoqia
|
|
|
}
|
|
|
|
|
|
/**********************平均温度传感器数据**********************************/
|
|
|
- if(ptem[Cang_Num].TEM_Error)
|
|
|
+ if(ptem[Cang_Num-1].Error)
|
|
|
{
|
|
|
- pTx[99+9] = 0;
|
|
|
- pTx[100+9] = 0;
|
|
|
- pTx[101+9] = 0;
|
|
|
- pTx[102+9] = 0;
|
|
|
+ pTx[99+9] = 0xAB;
|
|
|
+ pTx[100+9] = 0xAB;
|
|
|
+ pTx[101+9] = 0xAB;
|
|
|
+ pTx[102+9] = 0xAB;
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_MData[1]*(0.1f));
|
|
|
+ hex_to_float.float_temp = ptem[Cang_Num-1].temperature1;
|
|
|
pTx[99+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
|
|
|
pTx[100+9] = hex_to_float.arr[1];
|
|
|
pTx[101+9] = hex_to_float.arr[2];
|
|
@@ -2913,7 +2932,7 @@ uint16_t Read_CangSensorData_V2(uint8_t* pTx, uint8_t Cang_Num) // add by guoqia
|
|
|
|
|
|
}
|
|
|
/**********************高温度传感器数据**********************************/
|
|
|
- if(ptem[Cang_Num].TEM_Error)
|
|
|
+ if(ptem[Cang_Num].Error)
|
|
|
{
|
|
|
pTx[103+9] = 0;
|
|
|
pTx[104+9] = 0;
|
|
@@ -2923,7 +2942,7 @@ uint16_t Read_CangSensorData_V2(uint8_t* pTx, uint8_t Cang_Num) // add by guoqia
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_HData[1]*(0.1f));
|
|
|
+ hex_to_float.float_temp = ptem[Cang_Num-1].temperature1;
|
|
|
pTx[103+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
|
|
|
pTx[104+9] = hex_to_float.arr[1];
|
|
|
pTx[105+9] = hex_to_float.arr[2];
|
|
@@ -2931,7 +2950,7 @@ uint16_t Read_CangSensorData_V2(uint8_t* pTx, uint8_t Cang_Num) // add by guoqia
|
|
|
|
|
|
}
|
|
|
/*********************中温度传感器数据**********************************/
|
|
|
- if(ptem[Cang_Num].TEM_Error)
|
|
|
+ if(ptem[Cang_Num].Error)
|
|
|
{
|
|
|
pTx[107+9] = 0;
|
|
|
pTx[108+9] = 0;
|
|
@@ -2941,7 +2960,7 @@ uint16_t Read_CangSensorData_V2(uint8_t* pTx, uint8_t Cang_Num) // add by guoqia
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_MData[1]*(0.1f));
|
|
|
+ hex_to_float.float_temp = ptem[Cang_Num-1].temperature2;
|
|
|
pTx[107+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
|
|
|
pTx[108+9] = hex_to_float.arr[1];
|
|
|
pTx[109+9] = hex_to_float.arr[2];
|
|
@@ -2949,7 +2968,7 @@ uint16_t Read_CangSensorData_V2(uint8_t* pTx, uint8_t Cang_Num) // add by guoqia
|
|
|
|
|
|
}
|
|
|
/**********************低温度传感器数据**********************************/
|
|
|
- if(ptem[Cang_Num].TEM_Error)
|
|
|
+ if(ptem[Cang_Num].Error)
|
|
|
{
|
|
|
pTx[111+9] = 0;
|
|
|
pTx[112+9] = 0;
|
|
@@ -2959,7 +2978,7 @@ uint16_t Read_CangSensorData_V2(uint8_t* pTx, uint8_t Cang_Num) // add by guoqia
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_LData[1]*(0.1f));
|
|
|
+ hex_to_float.float_temp = ptem[Cang_Num-1].temperature3;
|
|
|
pTx[111+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
|
|
|
pTx[112+9] = hex_to_float.arr[1];
|
|
|
pTx[113+9] = hex_to_float.arr[2];
|
|
@@ -2994,10 +3013,10 @@ uint16_t Read_CangSensorData_V2(uint8_t* pTx, uint8_t Cang_Num) // add by guoqia
|
|
|
/**************************压力*********************************/
|
|
|
if(ppressure[Cang_Num-1].Error)
|
|
|
{
|
|
|
- pTx[119+9] = 0;
|
|
|
- pTx[120+9] = 0;
|
|
|
- pTx[121+9] = 0;
|
|
|
- pTx[122+9] = 0;
|
|
|
+ pTx[119+9] = 0xAC;
|
|
|
+ pTx[120+9] = 0xAC;
|
|
|
+ pTx[121+9] = 0xAC;
|
|
|
+ pTx[122+9] = 0xAC;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -3041,9 +3060,6 @@ uint16_t Read_CangSensorData_V2(uint8_t* pTx, uint8_t Cang_Num) // add by guoqia
|
|
|
}
|
|
|
|
|
|
|
|
|
-// memcpy(ptxCang01Temp,&pTx[0],150);
|
|
|
-
|
|
|
-
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
@@ -3283,11 +3299,11 @@ uint16_t Get_CangData(uint8_t* buffer, uint16_t buffer_size, uint8_t CangNo) //
|
|
|
XYF_Inf* pxyf = xyf_inf;
|
|
|
Level_Inf* plevel = level_inf;
|
|
|
Pressure_Inf* ppressure = pressure_inf;
|
|
|
- TEM_Inf* ptem = tem_inf;
|
|
|
+ Tem_Inf* ptem = tem_inf;
|
|
|
RKG_Inf* prkg = rkg_inf;
|
|
|
|
|
|
typedef union{
|
|
|
- float float_temp; //青鸟贵和磁致伸缩液位温度一体传感器
|
|
|
+ float float_temp;
|
|
|
uint8_t arr[4];
|
|
|
}Hex_to_float;
|
|
|
Hex_to_float hex_to_float;
|
|
@@ -3401,7 +3417,7 @@ uint16_t Get_CangData(uint8_t* buffer, uint16_t buffer_size, uint8_t CangNo) //
|
|
|
|
|
|
//level
|
|
|
if(0 != pcang->Level){
|
|
|
- if((1 == pcang->Level) || (2 == pcang->Level)){
|
|
|
+ if((LEVEL_CZSS == pcang->Level) || (LEVEL_LDYW == pcang->Level)){
|
|
|
|
|
|
if((offset + ANALOG_VALUE_SIZE) <= buffer_size){
|
|
|
|
|
@@ -3451,15 +3467,15 @@ uint16_t Get_CangData(uint8_t* buffer, uint16_t buffer_size, uint8_t CangNo) //
|
|
|
|
|
|
//temperture
|
|
|
if(0 != pcang->Temperture){
|
|
|
- if(1 == pcang->Temperture || 3 == pcang->Temperture){
|
|
|
+ if(Tem_FST100_611 == pcang->Temperture ){
|
|
|
|
|
|
if((offset + ANALOG_VALUE_SIZE) <= buffer_size){
|
|
|
buffer[offset] = SENSOR_TYPE_TEMPERATURE1;
|
|
|
buffer[offset+1] = 0;
|
|
|
buffer[offset+2] = 0x01; //analog type
|
|
|
- buffer[offset+3] = ptem[CangNo].TEM_Error? State_Error:0x00;
|
|
|
+ buffer[offset+3] = ptem[CangNo-1].Error? State_Error:0x00;
|
|
|
|
|
|
- hex_to_float.float_temp = ((float)ptem[CangNo].TEM_HData[1]*(0.1f));
|
|
|
+ hex_to_float.float_temp = ptem[CangNo-1].temperature1;
|
|
|
buffer[offset+4] = hex_to_float.arr[0];
|
|
|
buffer[offset+5] = hex_to_float.arr[1];
|
|
|
buffer[offset+6] = hex_to_float.arr[2];
|
|
@@ -3470,7 +3486,7 @@ uint16_t Get_CangData(uint8_t* buffer, uint16_t buffer_size, uint8_t CangNo) //
|
|
|
return offset;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+#if 0
|
|
|
if(3 == pcang->Temperture){
|
|
|
|
|
|
if((offset + ANALOG_VALUE_SIZE) <= buffer_size){
|
|
@@ -3507,7 +3523,7 @@ uint16_t Get_CangData(uint8_t* buffer, uint16_t buffer_size, uint8_t CangNo) //
|
|
|
return offset;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
|
|
@@ -3598,11 +3614,18 @@ uint16_t Read_CangSensorData(uint8_t* pTx)
|
|
|
{
|
|
|
//传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
|
|
|
Angle_Inf* pangle = &angle_inf;
|
|
|
- TEM_Inf* ptem = tem_inf;
|
|
|
+ Tem_Inf* ptem = tem_inf;
|
|
|
KZQ_Inf* pkzq = &kzq_inf;
|
|
|
Level_Inf* plevel = level_inf;
|
|
|
|
|
|
uint8_t Cang_Num = 0;
|
|
|
+
|
|
|
+ typedef union{
|
|
|
+ float float_temp;
|
|
|
+ uint8_t arr[4];
|
|
|
+ }Hex_to_float;
|
|
|
+ Hex_to_float hex_to_float;
|
|
|
+
|
|
|
|
|
|
Cang_Num = pkzq->data_buf[17]; //读取第几仓传感器数据
|
|
|
if(Cang_Num < 1 ||Cang_Num > 8)
|
|
@@ -3610,7 +3633,7 @@ uint16_t Read_CangSensorData(uint8_t* pTx)
|
|
|
pTx[11] = 32; //数据长度
|
|
|
pTx[17] = pkzq->data_buf[17];
|
|
|
/**********************温度传感器数据**********************************/
|
|
|
- if(ptem[Cang_Num].TEM_Error)
|
|
|
+ if(ptem[Cang_Num-1].Error)
|
|
|
{
|
|
|
pTx[18] = 0x47;
|
|
|
pTx[19] = 0x7F;
|
|
@@ -3629,20 +3652,23 @@ uint16_t Read_CangSensorData(uint8_t* pTx)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- pTx[18] = ptem[Cang_Num].TEM_HData[0]>>24&0xFF; //读取高位温度传感器数据
|
|
|
- pTx[19] = ptem[Cang_Num].TEM_HData[0]>>16&0xFF;
|
|
|
- pTx[20] = ptem[Cang_Num].TEM_HData[0]>>8&0xFF;
|
|
|
- pTx[21] = ptem[Cang_Num].TEM_HData[0]&0xFF;
|
|
|
+ hex_to_float.float_temp = ptem[Cang_Num-1].temperature1; //读取高位温度传感器数据
|
|
|
+ pTx[18] = hex_to_float.arr[0];
|
|
|
+ pTx[19] = hex_to_float.arr[1];
|
|
|
+ pTx[20] = hex_to_float.arr[2];
|
|
|
+ pTx[21] = hex_to_float.arr[3];
|
|
|
|
|
|
- pTx[22] = ptem[Cang_Num].TEM_MData[0]>>24&0xFF; //读取中位温度传感器数据
|
|
|
- pTx[23] = ptem[Cang_Num].TEM_MData[0]>>16&0xFF;
|
|
|
- pTx[24] = ptem[Cang_Num].TEM_MData[0]>>8&0xFF;
|
|
|
- pTx[25] = ptem[Cang_Num].TEM_MData[0]&0xFF;
|
|
|
+ hex_to_float.float_temp = ptem[Cang_Num-1].temperature2; //读取中位温度传感器数据
|
|
|
+ pTx[22] = hex_to_float.arr[0];
|
|
|
+ pTx[23] = hex_to_float.arr[1];
|
|
|
+ pTx[24] = hex_to_float.arr[2];
|
|
|
+ pTx[25] = hex_to_float.arr[3];
|
|
|
|
|
|
- pTx[26] = ptem[Cang_Num].TEM_LData[0]>>24&0xFF; //读取低位温度传感器数据
|
|
|
- pTx[27] = ptem[Cang_Num].TEM_LData[0]>>16&0xFF;
|
|
|
- pTx[28] = ptem[Cang_Num].TEM_LData[0]>>8&0xFF;
|
|
|
- pTx[29] = ptem[Cang_Num].TEM_LData[0]&0xFF;
|
|
|
+ hex_to_float.float_temp = ptem[Cang_Num-1].temperature3; //读取低位温度传感器数据
|
|
|
+ pTx[26] = hex_to_float.arr[0];
|
|
|
+ pTx[27] = hex_to_float.arr[1];
|
|
|
+ pTx[28] = hex_to_float.arr[2];
|
|
|
+ pTx[29] = hex_to_float.arr[3];
|
|
|
}
|
|
|
|
|
|
/**********************读取角度传感器数据**********************************/
|
|
@@ -4158,7 +4184,7 @@ uint16_t Sensor_SetJudgefNum(uint8_t* pTx)
|
|
|
uint16_t Read_Sensor(uint8_t* pTx)
|
|
|
{
|
|
|
Angle_Inf* pangle = &angle_inf;
|
|
|
- TEM_Inf* ptem = tem_inf;
|
|
|
+ Tem_Inf* ptem = tem_inf;
|
|
|
Level_Inf* plevel = level_inf;
|
|
|
KZQ_Inf* pkzq = &kzq_inf;
|
|
|
|
|
@@ -4181,7 +4207,7 @@ uint16_t Read_Sensor(uint8_t* pTx)
|
|
|
}
|
|
|
else if(pkzq->data_buf[17] > 0x60 && pkzq->data_buf[17] < 0x6F) //温度传感器
|
|
|
{
|
|
|
- if(ptem[pTx[17] - 0x60].TEM_Error)
|
|
|
+ //if(ptem[pTx[17] - 0x61].Error)
|
|
|
{
|
|
|
pTx[18] = 0x47;
|
|
|
pTx[19] = 0x7F;
|
|
@@ -4199,20 +4225,7 @@ uint16_t Read_Sensor(uint8_t* pTx)
|
|
|
pTx[29] = 0x00;
|
|
|
|
|
|
}
|
|
|
- pTx[18] = ptem[pTx[17] - 0x60].TEM_HData[0]>>24&0xff;
|
|
|
- pTx[19] = ptem[pTx[17] - 0x60].TEM_HData[0]>>16&0xff;
|
|
|
- pTx[20] = ptem[pTx[17] - 0x60].TEM_HData[0]>>8&0xff;
|
|
|
- pTx[21] = ptem[pTx[17] - 0x60].TEM_HData[0]&0xff;
|
|
|
-
|
|
|
- pTx[22] = ptem[pTx[17] - 0x60].TEM_MData[0]>>24&0xff;
|
|
|
- pTx[23] = ptem[pTx[17] - 0x60].TEM_MData[0]>>16&0xff;
|
|
|
- pTx[24] = ptem[pTx[17] - 0x60].TEM_MData[0]>>8&0xff;
|
|
|
- pTx[25] = ptem[pTx[17] - 0x60].TEM_MData[0]&0xff;
|
|
|
-
|
|
|
- pTx[26] = ptem[pTx[17] - 0x60].TEM_LData[0]>>24&0xff;
|
|
|
- pTx[27] = ptem[pTx[17] - 0x60].TEM_LData[0]>>16&0xff;
|
|
|
- pTx[28] = ptem[pTx[17] - 0x60].TEM_LData[0]>>8&0xff;
|
|
|
- pTx[29] = ptem[pTx[17] - 0x60].TEM_LData[0]&0xff;
|
|
|
+
|
|
|
}
|
|
|
else if(pkzq->data_buf[17] > 0x70 && pkzq->data_buf[17] < 0x7F) //压力传感器
|
|
|
{
|
|
@@ -4576,7 +4589,7 @@ uint16_t Tem_SetType(uint8_t* pTx)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-uint32_t Version_Soft[8] = {2, 2, 3, 13, 1, 1, 0, 20221125};
|
|
|
+uint32_t Version_Soft[8] = {2, 2, 3, 13, 1, 1, 0, 20230526};
|
|
|
uint16_t Read_SoftVersion(uint8_t *pTx)
|
|
|
{
|
|
|
int i;
|