#pragma once #include #include #include enum READTYPE { AXISMOVEFUNC=0, //轴运动函数 VERSIONREQ, //获取版本信息 IOSIGNAL, //io 信号 RESETELEC, //PowerMeterClient PURIFIERPARAMW, //净化器参数写入 LAYERDATAREQ, //layer数据请求 REGISTFUNC, //注册函数集 一次请求,使用请求回复模式 CAMERAFUNC, //相机功能函数调用 CAMERAPARAMUPDATE, //相机参数更新 PURIFIERFUNC, //净化器接口功能 SETZEROPOS, //AxisState使用 AXISSTOPALL, //axis 运动急停 /********************配置信息******************/ PARAMLIMITCFG, EXTCFG, LOADPARAM, //装载参数 SCANCTRLFUNC, //振镜控制函数 REQUEST, //获取配置信息 test用 }; enum DATATYPE { iBOOL = 0, iSHORT, iUSHORT, iINT, iUINT, iFLOAT, iSTRING, iCHAR, iUCHAR, iWORD, UNKNOW, }; class ClientInfo; struct ReadData { READTYPE dataType; std::string nameKey; //参数key std::string strValue; //value DATATYPE valueType; ClientInfo* clientPtr; }; 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, MOLDCFGPARAM, LOADCFGPARAM, ARMCFGPARAM, SUPPLYCFGPARAM, CLEANCFGPARAM, ELECFGPARAM, LOADPARAMRSP, //装载参数 SCANCTRLSTATE, //BaseCtrl参数 SCANCTRLPARAM, //scanctrl参数 XYSCANSTATE, //XYScanState参数 在参数更新的时候才会发送到客户端 CAMERAPARAM, //相机参数 TEST = 1000, //test }; struct Item { std::string nameKey; //参数key std::string strValue; //value DATATYPE valueType; //数据类型 }; struct WriteData { WRITETYPE dataType; //数据类型 bool result; //执行结果 std::list items; WriteData() {} WriteData(WRITETYPE dt,const std::list& 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 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 vecBlocks; //块数据区 向量型 // std::vector chainBlocks; //块数据区 链型 //}; // //struct LayerData { // float zCooldinate; // Z 坐标 : Float 单位 mm // float pavePowderNum; // 供粉量: Float 单位 mm // //LayerSummary layerSummary = 3; // 层统计区() : Struct // UINT layerBlock; //层块数 决定多少个层块数据库 // std::vector layerDataBlock; //层块数据区 //}; /*****************************h3d文件层数据 end**************************/