2025-04-24 11:37:10 +08:00
|
|
|
|
#ifndef __DATAPROCESS_H
|
|
|
|
|
|
#define __DATAPROCESS_H
|
|
|
|
|
|
|
|
|
|
|
|
#include "main.h"
|
|
|
|
|
|
#include "system.h"
|
|
|
|
|
|
//#include "stm32f30x_tim.h"
|
|
|
|
|
|
|
|
|
|
|
|
#define OVER_VALUE_TIMES 4 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define COLLECT_SPEC_TIME 1 //<2F>ɼ<EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
#define STORE_DATA_SIZE 600 //<2F>洢<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>
|
|
|
|
|
|
#define SECTOR_DATA_SIZE 512 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
#define ALLOW_GETDATA_TIMES 30 //ָ<><D6B8><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ȴ<EFBFBD>30s<30><73><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>ɼ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
#define SECTOR_DATA_SIZE 512 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
|
|
|
|
|
#define SECTOR_VIBRATION_GROUPS 64 //<2F><EFBFBD><F1B6AFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
|
|
|
|
|
#define SECTOR_SPEED_GROUPS 128 //ת<>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
#define VIBRATION_SECTOR_START 10 //<2F>洢<F1B6AFB4><E6B4A2>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define VIBRATION_SECTOR_END 59000000 //<2F>洢<F1B6AFB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>洢<F1B6AFB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 10-59000000 0x0A
|
|
|
|
|
|
|
|
|
|
|
|
#define SPEED_SECTOR_START 59000100 //ת<><D7AA><EFBFBD>¶ȴ洢<C8B4><E6B4A2>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|
|
|
|
|
#define SPEED_SECTOR_END 61600000 //ת<><D7AA><EFBFBD>¶ȴ洢<C8B4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ת<><D7AA><EFBFBD>¶ȴ洢<C8B4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ 59000100-61600000 0x3844524
|
|
|
|
|
|
|
|
|
|
|
|
#define DATA_BIT0 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>λ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct Get_Collect_Data
|
|
|
|
|
|
{
|
|
|
|
|
|
unsigned char Store_Get_Data[STORE_DATA_SIZE]; //<2F>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
// unsigned char Collect_Spec_Time; //<2F><>С<EFBFBD><D0A1>ʱʱ<CAB1><CAB1>
|
|
|
|
|
|
uint16_t Store_Data_Count; //<2F>洢<EFBFBD><E6B4A2><EFBFBD>ݼ<EFBFBD>¼
|
|
|
|
|
|
uint16_t GET_Data_times; //<2F>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
uint16_t Sampling_Wite_times; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
uint16_t get_tpd; //<2F><>ѹ<EFBFBD><D1B9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
uint8_t get_tps; //<2F><EFBFBD>Ƶֵ
|
|
|
|
|
|
// u8 Store_Data_Cound; //<2F>洢<EFBFBD><E6B4A2><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>
|
|
|
|
|
|
}GET_COLLECT_DATA;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
typedef struct VibrateData
|
|
|
|
|
|
{
|
|
|
|
|
|
float ViaX_Data; //x<><78>
|
|
|
|
|
|
float ViaY_Data; //y<><79>
|
|
|
|
|
|
float ViaZ_Data; //z<><7A>
|
|
|
|
|
|
}VIBRA_DATA;
|
|
|
|
|
|
//typedef struct VibrateData
|
|
|
|
|
|
//{
|
|
|
|
|
|
// int ViaX_Data; //x<><78>
|
|
|
|
|
|
// int ViaY_Data; //y<><79>
|
|
|
|
|
|
// int ViaZ_Data; //z<><7A>
|
|
|
|
|
|
//}VIBRA_DATA;
|
|
|
|
|
|
|
2025-04-24 17:46:19 +08:00
|
|
|
|
//#define DATALENG 15 // ?? DATALENG ???25
|
|
|
|
|
|
#define DATALENG 26 // ?? DATALENG ???25
|
2025-04-24 11:37:10 +08:00
|
|
|
|
#define ROWS 15
|
|
|
|
|
|
#define COLS_NORMAL 5
|
|
|
|
|
|
#define COLS_ABNORMAL 1
|
|
|
|
|
|
|
|
|
|
|
|
typedef union tuGetDataValue
|
|
|
|
|
|
{
|
|
|
|
|
|
float DataValue[DATALENG];
|
|
|
|
|
|
unsigned char ucDataValueBuf[DATALENG*4];
|
|
|
|
|
|
struct{
|
2025-04-24 17:46:19 +08:00
|
|
|
|
float Different_Press; //????
|
|
|
|
|
|
float Mean_InPress; //?????
|
|
|
|
|
|
float Mean_OutPress; //?????
|
|
|
|
|
|
float Energy_InPress; //?????
|
|
|
|
|
|
float Energy_OutPress; //?????
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float Mean_WOB; //?????
|
|
|
|
|
|
float Amplitude_WOB; //?????
|
|
|
|
|
|
float Variance_WOB; //????
|
|
|
|
|
|
|
|
|
|
|
|
float Mean_Torque; //?????
|
|
|
|
|
|
float Amplitude_Torque; //?????
|
|
|
|
|
|
float Variance_Torque; //????
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float Mean_RPM; //?????
|
|
|
|
|
|
float Amplitude_RPM; //?????
|
|
|
|
|
|
float Variance_RPM; //????
|
|
|
|
|
|
float Min_RPM; //?????
|
|
|
|
|
|
float Max_RPM; //?????
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float Variance_Vibration; //??????
|
|
|
|
|
|
float Vibration_AxisX; //X??????
|
|
|
|
|
|
float Vibration_AxisY; //Y??????
|
|
|
|
|
|
float Vibration_AxisZ; //Z??????
|
|
|
|
|
|
|
|
|
|
|
|
int count_greater_than_10; // Z?????10g???
|
|
|
|
|
|
float Mean_InTemprature; //???????
|
|
|
|
|
|
float Mean_OutTemprature; //???????
|
|
|
|
|
|
|
|
|
|
|
|
float Variance_AxisX; //X?????
|
|
|
|
|
|
float Variance_AxisY; //Y?????
|
|
|
|
|
|
float Variance_AxisZ; //Z?????
|
2025-04-24 11:37:10 +08:00
|
|
|
|
};
|
|
|
|
|
|
}GetDataValue;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
|
// <20>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>غͱ<D8BA><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
float weights_normal[ROWS][COLS_NORMAL]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
|
|
|
|
|
|
float std_scores_normal[COLS_NORMAL]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><D7BC><EFBFBD>÷<EFBFBD>
|
|
|
|
|
|
float range_values[COLS_NORMAL]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>Χֵ
|
|
|
|
|
|
|
|
|
|
|
|
// <20>洢<EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>غͱ<D8BA><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
float weights_abnormal[ROWS][COLS_ABNORMAL]; // <20>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8>
|
|
|
|
|
|
float std_scores_abnormal[COLS_ABNORMAL]; // <20>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><D7BC><EFBFBD>÷<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
// <20>洢ÿ<E6B4A2>е<EFBFBD><D0B5><EFBFBD>Сֵ<D0A1><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
float min_values[ROWS]; // ÿ<>е<EFBFBD><D0B5><EFBFBD>Сֵ
|
|
|
|
|
|
float max_values[ROWS]; // ÿ<>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
}GetFeatureValue;
|
|
|
|
|
|
|
|
|
|
|
|
extern GetDataValue MeasurementData_Nearbit; //<2F><><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>ֵ
|
|
|
|
|
|
extern GetDataValue MeasurementData_Farbit; //Զ<>˲<EFBFBD><CBB2><EFBFBD>ֵ
|
|
|
|
|
|
|
|
|
|
|
|
extern GET_COLLECT_DATA GET_Vibration_Data; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲɼ<DDB2>
|
|
|
|
|
|
extern GET_COLLECT_DATA GET_Speed_Data; //ת<><D7AA><EFBFBD><EFBFBD><EFBFBD>ݲɼ<DDB2>
|
|
|
|
|
|
extern GET_COLLECT_DATA GET_WobTor_Data; //<2F><>ѹŤ<D1B9><C5A4><EFBFBD><EFBFBD><EFBFBD>ݲɼ<DDB2>
|
|
|
|
|
|
extern VIBRA_DATA Vibrate_Data_Value; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
|
|
|
|
|
|
extern unsigned char Get_MeasureData(GetDataValue DataValeNear);
|
|
|
|
|
|
|
|
|
|
|
|
extern void Get_Data_Process(void); //<2F><><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
extern void DataCompute(void); //<2F><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>
|
|
|
|
|
|
//extern void Data_Process(void); //<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
|
|
|
|
|
|
extern void Store_Vibration_Speed_Time(void); //ʱ<><CAB1><EFBFBD>洢
|
|
|
|
|
|
extern void updatetime (void); //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
extern void Data_Cllect(void);
|
|
|
|
|
|
extern void Store_Time_Once(void); //<2F>洢һ<E6B4A2><D2BB>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
extern void Store_CollVibrateTime_Once(void); //
|
|
|
|
|
|
extern void Store_CollSpeedTime_Once(void); //
|
|
|
|
|
|
//extern int Get_Mid_Data(int data1,int data2,int data3);
|
|
|
|
|
|
//extern int Get_Mid_Data(unsigned int data1,unsigned int data2,unsigned int data3);
|
|
|
|
|
|
//extern void Store_Time_Once(void);
|
|
|
|
|
|
//extern void GET_MaxData(void); //<2F><>ȡƵ<C8A1>㼰<EFBFBD><E3BCB0>ֵ
|
|
|
|
|
|
//extern void GET_SpotData(void); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
//extern void GET_MaxData_Gate(void); //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
|
|
|
|
|
|
//extern void GET_Sort(long *DatTab,unsigned int length,unsigned int *DatOrder);
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|