📄 ffpublicdefinefty.h.bak
字号:
//FFPublicDefine.h
#ifndef __FF_PUBLIC_DEFINE_FTY_H__
#define __FF_PUBLIC_DEFINE_FTY_H__
//////// 协议中所有状态号定义,具体仪器要进行取舍 /////////
#define STATUS_COLD (unsigned char)'C'
#define STATUS_WARM_UP (unsigned char)'H'
#define STATUS_WAIT_CMD (unsigned char)'S'
#define STATUS_INIT (unsigned char)'I'
#define STATUS_STAND_BY (unsigned char)'W'
#define STATUS_TESTING (unsigned char)'T'
#define STATUS_DATA_READY (unsigned char)'D'
#define STATUS_FINISH_TEST (unsigned char)'U'
#define STATUS_CALIBRATE (unsigned char)'A'
#define STATUS_SELF_TEST (unsigned char)'V'
#define STATUS_TEST_FAIL (unsigned char)'F'
#define STATUS_ERROR (unsigned char)'E'
//////// 协议中规定响应上位机状态的指令 /////////
#define RESPONSE_INIT_DONE (unsigned char)'I'
#define RESPONSE_SELF_TEST_DONE (unsigned char)'V'
#define RESPONSE_TEST_DONE (unsigned char)'T'
#define RESPONSE_UNINIT_DONE (unsigned char)'U'
#define RESPONSE_DATA (unsigned char)'D'
#define RESPONSE_RTDATA (unsigned char)'G'
#define RESPONSE_ACKNOWLEDGE (unsigned char)'A'
#define RESPONSE_DO_NOTHING (unsigned char)'X'
#define RESPONSE_FRAME_ERROR (unsigned char)'Z'
#define RESPONSE_STATUS (unsigned char)'S'
#define RESPONSE_MESSAGE (unsigned char)'M'
//////// 子状态号定义 /////////
#define SUB_STATUS_0 (unsigned char)0
#define SUB_STATUS_1 (unsigned char)0
#define SUB_STATUS_2 (unsigned char)0
#define SUB_STATUS_3 (unsigned char)0
//////// 上位机命令号定义 /////////
#define CMD_PC_GET_STATUS (unsigned char)'S'
#define CMD_PC_SELF_TEST (unsigned char)'V'
#define CMD_PC_RESET (unsigned char)'R'
#define CMD_PC_INIT (unsigned char)'I'
#define CMD_PC_START_TEST (unsigned char)'T'
#define CMD_PC_GET_DATA (unsigned char)'D'
#define CMD_PC_GET_RTDATA (unsigned char)'G'
#define CMD_PC_FINISH_TEST (unsigned char)'U'
//////// 判断数值有效时,CO2的限值 ////////
#define STEAD_CO2_MIN 70// CO2 的值只有大于 8.0%才可能认为数据有效
#define SPEED_SPAN 400
////////数据帧头,帧尾定义/////////////////
#define FRAME_FRONT_BYTE (unsigned char)0x02
#define FRAME_END_BYTE (unsigned char)0x03
/////// FTY-100 命令定义 ////////////////
#define ERROR_CODE 0xff //无效命令
#define GET_STATUS 0x01 //取状态
#define GET_TEST_DATA 0x02 //取测量值
#define GET_SAFE_DATA 0x03 //取稳态值
#define GET_SPEEDUP_DATA 0x04 //取加速值
#define REVISE 0x05 //请求线性修正
#define CHANGE_TO_TEST_PAGE 0x06 //请求转换到测量屏
#define CHANGE_TO_SAFE_PAGE 0x07 //请求转换到稳态屏
#define CHANGE_TO_SPEEDUP_PAGE 0x08 //请求转换到加速屏
#define BEGIN_STOP_SAFE_TEST 0x09 //请求开始或停止稳态测量
#define SPEEDUP_TOUCH_OFF 0x0b //请求进行一次加速触发(手动方式)
#define CLEAR_SPEEDUP_DATA 0x0c //请求清除加速数据
#define CHANGE_SPEEDUP_MODE 0x0d //请求切换加速方式(手动方式与自动方式间切换)
#define GET_LAST_MAIN_SPEEDUP_DATA 0x0e //请求取最后一次加速主要数据
#define GET_LAST_SPEEDUP_LINE 0x0f //请求取最近一次加速曲线数据
#define FBY_NOTFINISHED 0 //现在不能完成操作,请等待一段时间后再试
#define FBY_FAIL -1 //操作失败
#define ERR_CMD_TIMEOUT -2 //命令应答超时
#define ERR_ADDR_TIMEOUT -3 //地址应答超时
#define ERR_NOT_OPENED -4 //端口没有打开
#define ERR_ADDR_RESPONSION -5 //地址应答错误
#define ERR_CMD_RESPONSION -8 //命令应答错误
#define ERR_REF_ERR -10 //错误的参数
#define ERR_ADDUP -16 //累加和校验错误
#define ERR_CMD_ERR -20 //无效的命令
#define FBY_SUCCESS 1 //成功
#define ERR_NO_SPEEDUP_DATA -18 //没有加速值
#define ERR_PROCESS_OF_SPEEDUP -19 //正在加速
//////// 状态码 1 描述 /////////////////
#define DEV_IN_STATIC_PAGE (unsigned char)0x01
#define DEV_IN_WARM_UP_PAGE (unsigned char)0x02
#define DEV_IN_TEST_PAGE (unsigned char)0x04
#define DEV_IN_ACCELE_PAGE (unsigned char)0x08
//////// 本系统用到的 FTY-100 通讯指令 ////////
enum EnuFTYCmdCode
{
enuFTYCmd_GetStatus =1,
enuFTYCmd_GetTestData,//=2
enuFTYCmd_GetAcceleData =4,
enuFTYCmd_LinearCalibrate,
enuFTYCmd_TurnToTest ,
enuFTYCmd_TurnToAccele =8,
enuFTYCmd_ClearAccele =12,
enuFTYCmd_LastAcceleData=14
};
enum EnuMsgCode
{
enuMsg_ReadyForCalibrate='1',
enuMsg_Calibrating, //'2'
enuMsg_InsertAndKeepIdle, //'3'
enuMsg_Accelebrate, //'4'
enuMsg_OneTestDone //'5'
};
enum EnuReplyHostCode
{
enuReplyHost_None,
enuReplyHost_DoNothing, //1
enuReplyHost_CanDo, //2
enuReplyHost_FrameError,//3
enuReplyHost_InitDone, //4
enuReplyHost_UninitDone,//5
enuReplyHost_Status,
enuReplyHost_Data,
enuReplyHost_RTData,
enuReplyHost_Msg,
enuReplyHost_Unkown
};
//const unsigned char DerectReplyCode[6]={0,'X','A','Z','I','U'};
enum EnuUpHostCmd
{
enuUpHostCmd_NoCmd,
enuUpHostCmd_Init,
enuUpHostCmd_Test,
enuUpHostCmd_FinishTest,
enuUpHostCmd_Reset,
enuUpHostCmd_SelfTest
// enuUpHostCmd_Data,
// enuUpHostCmd_SelfTest
};
//系统的错误代码
enum EnumMyErrorCode
{
enuMyError_NoError,
enuMyError_ConnetMac, //仪器通讯错误
enuMyError_GetTestError, //取测量值出错
enuMyError_GetAcceleError, //取加速值出错
enuMyError_GetStatusError,
enuMyError_5
};
//上位机控制系统指令信息
typedef struct tagUpHostCmdInfo
{
unsigned char ucCmdCode; //指令代码
unsigned char ucRawCmdPara; //指令参数
unsigned int nRecTime; //接收到指令的时间
}_UP_HOST_CMD_INFO;
//上位机规定的仪器数据格式
typedef struct tagDevFTY100Data
{
short wN; //
short wK; //
unsigned char ucAcceleNum;
unsigned char ucTube_T;
}_DEV_FTY100_DATA;
//怠速数据结构
//半字与字节联合体
typedef union BYTE_WORD{
unsigned char Bdata[2];
unsigned short i;
}_union_BYTE_WORD;
//#include "config.h"
#include "StdAfx.h"
#include "FFSerialExport.h"
#include "PortObj.h"
#include "FTY100Manage.h"
#include "UpHostComm.h"
#endif //__FF_PUBLIC_DEFINE_FTY_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -