229 lines
6.5 KiB
C
Raw Normal View History

2024-07-04 15:22:11 +08:00
#pragma once
#include <string>
#include <list>
#include <vector>
enum READTYPE {
AXISMOVEFUNC = 0, //轴运动函数
VERSIONREQ, //获取版本信息
IOSIGNAL, //io 信号
RESETELEC, //PowerMeterClient
PURIFIERPARAMW, //净化器参数写入
REGISTFUNC, //注册函数集 一次请求,使用请求回复模式
CAMERAFUNC, //相机功能函数调用
CAMERAPARAMUPDATE, //相机参数更新
PURIFIERFUNC, //净化器接口功能
CONFIGFUNC, //config functions
DIRCTROYFUNC, //请求目录信息
JOBCONTROLLERFUNC, //JobController接口功能
SETZEROPOS, //AxisState使用
AXISSTOPALL, //axis 运动急停
/********************配置信息******************/
PARAMLIMITCFG,
EXTCFG,
RUNCFG,
INFRAREDTEMPCFG,
MACHINECFG,
FAVORITECFG,
CAMERACALIBRATIONCFG,
UISHOWCFG,
RECOATCHECKCFG,
POWDERESTIMATECFG,
COMMUNICATIONCFG,
ALARMCFG,
POWDERSET,
SCANERCTRLCFG,
LOADPARAM, //装载参数
SCANCTRLFUNC, //振镜控制函数
REQUEST=100, //获取配置信息 test用
};
enum DATATYPE {
iBOOL = 0,
iSHORT,
iUSHORT,
iINT,
iUINT,
iFLOAT,
iSTRING,
iCHAR,
iUCHAR,
iWORD,
iDOUBLE,
iTIMET,
UNKNOW,
};
enum DATAHANDLE {
UPDATE = 0,
ADD,
DEL,
TOTAL, //发全量信息
};
enum WRITETYPE {
ALARM = 0, //报警
VERSIONRSP, //返回版本信息
IOSIGNALRSP, //io信号返回数据
SYSPARAMDATA, //系统参数
LASERCHILLER, //冷水机参数
UPSPARAM, //ups参数
TEMPCTRLPARAM, //TempCtrl参数
OXYGENPARAM, //测氧参数
LASERPARAM, //激光参数 1-n 每个参数后添加后缀“_i”,i从0开始
SIMPLESUPPLYPARAM_V10, //供应参数v1.0
SIMPLESUPPLYPARAM_V21, //供应参数v2.1
SIMPLESUPPLYPARAM_V22, //供应参数v2.2
PURIFIERPARAM, //净化器参数
POWERMETERPARAM, //电能参数
POWDERSUPPLYSIMPLEPARAM, //PowderSupplySimpleClient 参数 已写但没用到,暂没有发送
SCANNERPOWERPARAM, //ScannerPower 参数
/*************axis相关*************/
AXISMOLD,
AXISMOLDSLAVE,
AXISCLEAN,
AXISCLEANSLAVE,
AXISLOAD,
AXISMARM,
AXISMSUPPLY,
AXISELE,
AXISELESLAVE,
/********************配置信息******************/
PARAMLIMITCFGPARAM, //paramlimit配置参数
EXTCFGPARAM,
RUNCFGPARAM, //runcfg 参数
INFRAREDTEMPCFGPARAM, //InfraredTempCfg 参数
MACHINECFGPARAM, //MachineCfg 参数
FAVORITECFGPARAM, //FavoriteCfg 参数
CAMERACALIBRATIONCFGPARAM, //CameracalibrationCfg 参数
UISHOWCFGPARAM, //UishowCfg参数
RECOATCHECKCFGPARAM, //RecoatCheckCfg 参数
POWDERESTIMATECFGPARAM, //PowderEstimateCfg 参数
COMMUNICATIONCFGPARAM, //CommunicationCfg 参数
STOPALARMCFGPARAM, //AlarmCfgWrapper stop参数
PAUSEALARMCFGPARAM, //AlarmCfgWrapper pause参数
WARNALARMCFGPARAM, //AlarmCfgWrapper warn参数
POWDERSETPARAM, //PowderSet 参数
//SCANNERCONTROLCFGPARAM, //ScannerControlCfg 参数
MOLDCFGPARAM,
LOADCFGPARAM,
ARMCFGPARAM,
SUPPLYCFGPARAM,
CLEANCFGPARAM,
ELECFGPARAM,
LOADPARAMRSP, //装载参数
SCANCTRLSTATE, //BaseCtrl参数
SCANCTRLPARAM, //scanctrl参数
XYSCANSTATE, //XYScanState参数 在参数更新的时候才会发送到客户端
CAMERAPARAM, //相机参数
JOBCONTROLLER, //JobController 参数
DEFAULT = 900, //默认值
TEST = 1000, //test
};
struct Item {
Item() {}
std::string nameKey; //参数key
std::string strValue; //value
DATATYPE valueType; //数据类型
Item(const std::string& nameKey,const std::string& strValue, DATATYPE valueType)
:nameKey(nameKey), strValue(strValue), valueType(valueType) {}
std::string content; //alarmcfgwrapper使用
bool isEnable;
bool isAlarm;
bool isShow;
Item(const std::string& nameKey, const std::string& content, bool isEnable, bool isAlarm, bool isShow)
:nameKey(nameKey), content(content), isEnable(isEnable), isAlarm(isAlarm), isShow(isShow){}
//层供粉量配置使用 struct PowderSet
int start_layer;
int end_layer;
float powder;
Item(int start_layer,int end_layer,float powder) :start_layer(start_layer), end_layer(end_layer), powder(powder){}
};
class ClientInfo;
struct ReadData {
READTYPE dataType;
std::string nameKey; //参数key
std::string strValue; //value
DATATYPE valueType;
DATAHANDLE handleType; //增删改
ClientInfo* clientPtr;
std::list<Item> its; //函数参数列表
};
struct WriteData {
WRITETYPE dataType; //数据类型
bool result; //执行结果
std::list<Item> items;
WriteData() {}
WriteData(WRITETYPE dt,const std::list<Item>& its )
: dataType(dt), result(true), items(its){}
};
/*****************************h3d文件层数据 begin**************************/
//struct Point {
// float xPos; // X 位置 : Float //单位 mm
// float yPos; // Y 位置 : Float //单位 mm
//};
//
//struct ChainDataBlock
//{
// uint32_t dotNum; // 点数:Uint32 //决定有多少个点区
// std::vector<Point> pointVec; // 点区
//};
//
//struct VectorDataBlock {
// float startX; // 始点 X 位置 : Float //单位 mm
// float startY; // 始点 Y 位置 : Float //单位 mm
// float endX; // 终点 X 位置 : Float //单位 mm
// float endY; // 终点 Y 位置 : Float //单位 mm
//};
//
//struct LayerDataBlock
//{
// int elementId; // 零件 ID : Int32
// int elementParamId; // 零件参数 ID : Int32
// //DataBlockSummary dbSummary = 3; //块统计区 : Struct
// UINT blockType; // 块类型: Char //1 代表向量型数据块3 代表链型数据块
// UINT blockNum; // 块数据数: Uint32 //决定有多少个块数据区
// std::vector<VectorDataBlock> vecBlocks; //块数据区 向量型
// std::vector<ChainDataBlock> chainBlocks; //块数据区 链型
//};
//
//struct LayerData {
// float zCooldinate; // Z 坐标 : Float 单位 mm
// float pavePowderNum; // 供粉量: Float 单位 mm
// //LayerSummary layerSummary = 3; // 层统计区() : Struct
// UINT layerBlock; //层块数 决定多少个层块数据库
// std::vector<LayerDataBlock> layerDataBlock; //层块数据区
//};
/*****************************h3d文件层数据 end**************************/