#pragma once #include #include #include enum READTYPE { GET = 0, SET, LOADIN, //载入 LOADOUT, //载出 INTERCEPTLOAD, //中断载入/载出 SUPPLYAXLEAFTER, //供粉轴后移 SUPPLYAXLEFRONT, //供粉轴前移 SUPPLYAXLEAFTERCONTSTART, //供粉轴后移连续开始 SUPPLYAXLEAFTERCONTSTOP, //供粉轴后移连续停止 SUPPLYAXLEFRONTCONTSTART, //供粉轴前移连续开始 SUPPLYAXLEFRONTCONTSTOP, //供粉轴前移连续停止 PAVEAXLEFRONT, // 铺粉臂前移 PAVEAXLEFRONTCONTSTART, //铺粉臂前移连续 PAVEAXLEFRONTCONTSTOP, //铺粉臂前移连续 PAVEAXLEAFTER, //铺粉臂后移 PAVEAXLEAFTERCONTSTART, //铺粉臂后移连续开始 PAVEAXLEAFTERCONTSTOP, //铺粉臂后移连续停止 PAVEAXLECLEAR, //铺粉臂清零 PRINTAXLEUP, //成型缸上升 PRINTAXLEUPCONTSTART, //成型缸连续上升开始 PRINTAXLEUPCONTSTOP, //成型缸连续上升停止 PRINTAXLEDOWN, //成型缸下降 PRINTAXLEDOWNCONTSTART, //成型缸连续下降开始 PRINTAXLEDOWNCONTSTOP, //成型缸连续下降停止 PRINTAXLECLEAR, //成型缸清零 TRANSFERAXIELEFT, //移载轴左移 TRANSFERAXIELEFTCONTSTART, //移载轴连续左移开始 TRANSFERAXIELEFTCONTSTOP, //移载轴连续左移停止 TRANSFERAXIERIGHT, //移载轴右移 TRANSFERAXIERIGHTCONTSTART, //移载轴连续右移开始 TRANSFERAXIERIGHTCONTSTOP, //移载轴连续右移停止 TRANSFERAXIECLEAR, //移载轴清零 SCANERSTART, //开始扫描 SCANERSTOP, //停止扫描 STARTHEATINGSCANNERTEST, //开始振镜预热测试 STOPHEATINGSCANNERTEST, //停止振镜预热 INITERRORINFOSREQ, //初始化错误信息 VERSIONREQ, //获取版本信息 IOSIGNAL, //io 信号 RESETELEC, //PowerMeterClient PURIFIERPARAMW, //净化器参数写入 LAYERDATAREQ, //layer数据请求 SETZEROPOS, //AxisState使用 AXISSTOPALL, //axis 运动急停 /********************配置信息******************/ PARAMLIMITCFG, EXTCFG, LOADPARAM, //装载参数 /********************振镜控制******************/ SCANCTRLFUNC, //振镜控制函数 }; 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 { ProcReadPLC0 = 0, //snap7 数据 ProcReadPLC1, ProcReadPLC2, ProcReadPLC3, ProcReadPLC4, ProcReadPLC5, ProcReadPLC6, ProcReadPLCData0 = 100, ALARM, //报警 RESPOND, //回应 TIMEDATA, //定时数据 INITERRORINFOSRSP, //返回初始化错误信息 VERSIONRSP, //返回版本信息 IOSIGNALRSP, //io信号返回数据 SYSPARAMDATA, //系统参数 LASERCHILLER, //冷水机参数 UPSPARAM, //ups参数 TEMPCTRLPARAM, //TempCtrl参数 OXYGENPARAM, //测氧参数 POWERMETERPARAM, // LASERPARAM1, //激光1参数 LASERPARAM2, //激光2参数 LASERPARAM3, //激光3参数 LASERPARAM4, //激光4参数 LASERPARAM5, //激光5参数 LASERPARAM6, //激光6参数 LASERPARAM7, //激光7参数 LASERPARAM8, //激光8参数 LASERPARAM9, //激光9参数 LASERPARAM10, //激光10参数 LASERPARAM11, //激光11参数 LASERPARAM12, //激光12参数 SIMPLESUPPLYPARAM_V10, //供应参数v1.0 SIMPLESUPPLYPARAM_V21, //供应参数v2.1 SIMPLESUPPLYPARAM_V22, //供应参数v2.2 PURIFIERPARAM, //冷水机参数 POWERPARAM, //电能参数 CHILLERPARAM, //冷却器参数 POWDERSUPPLYSIMPLEPARAM, // SCANNERPOWERPARAM, //ScannerPower 参数 //SETZEROPOS, //AxisState使用 //AXISSTOPALL, //axis 运动急停 /********************配置信息******************/ PARAMLIMITCFGPARAM, EXTCFGPARAM, MOLDCFGPARAM, LOADCFGPARAM, ARMCFGPARAM, SUPPLYCFGPARAM, CLEANCFGPARAM, ELECFGPARAM, LOADPARAMRSP, //装载参数 SCANCTRLSTATE, //scanctrl参数 }; 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), 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**************************/