59 lines
1.1 KiB
C
59 lines
1.1 KiB
C
#ifndef _PROTO_CS200_H_
|
|
#define _PROTO_CS200_H_
|
|
|
|
#include "main.h"
|
|
#include "proto_Modbus.h"
|
|
|
|
#define CS200_STATE_Init 0
|
|
#define CS200_STATE_GetCurrentData 1
|
|
#define CS200_STATE_SetFlow_1 2
|
|
#define CS200_STATE_SetFlow_2 3
|
|
|
|
#define CS200_READ_STATE_ID_1 0
|
|
#define CS200_READ_STATE_ID_2 1
|
|
|
|
|
|
typedef struct
|
|
{
|
|
u8 ID;
|
|
u16 BaudRate;
|
|
u16 SetFlow;
|
|
u16 Flow;
|
|
u16 Range_u16;
|
|
u8 ValveCmd;
|
|
float SumFlow; //累计流量
|
|
u8 SumFlow_Mode; //累计流量模式
|
|
u8 Parity; //校验位
|
|
u16 Valve_U; //阀电压
|
|
float Range_Float;
|
|
float SoftStartValue; //软启动值
|
|
|
|
float RealFlow; //实机流量值
|
|
}proto_CS2000_CurrentData_t;
|
|
|
|
typedef struct
|
|
{
|
|
proto_CS2000_CurrentData_t CurrentData[2];
|
|
u16 ErrorFlag;
|
|
u8 SendTime;
|
|
u8 TimeCount;
|
|
|
|
u8 ID_1,ID_2;
|
|
u8 State;
|
|
u8 ReadState;
|
|
u16 SetFlowValue_1;
|
|
u16 SetFlowValue_2;
|
|
|
|
void (*Init)(void);
|
|
void (*Tx_Task)(void);
|
|
void (*Rx_Task)(u8 *,u16);
|
|
void (*SetFlow_1)(float);
|
|
void (*SetFlow_2)(float);
|
|
}proto_CS200_t;
|
|
|
|
|
|
|
|
extern proto_CS200_t CS200;
|
|
|
|
#endif
|