2024-07-05 15:51:30 +08:00

228 lines
6.4 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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 参数
MOLDCFGPARAM,
LOADCFGPARAM,
ARMCFGPARAM,
SUPPLYCFGPARAM,
CLEANCFGPARAM,
ELECFGPARAM,
LOADPARAMRSP, //装载参数
SCANCTRLSTATE, //BaseCtrl参数
SCANCTRLPARAM, //scanctrl参数
XYSCANSTATE, //XYScanState参数 在参数更新的时候才会发送到客户端
CAMERAPARAM, //相机参数
JOBCTRLPARAM, //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**************************/