214 lines
6.2 KiB
C
Raw Normal View History

2024-04-10 16:15:33 +08:00
#pragma once
#include <string>
#include <list>
2024-04-23 13:41:16 +08:00
#include <vector>
2024-04-10 16:15:33 +08:00
enum READTYPE {
GET = 0,
SET,
2024-05-06 10:49:15 +08:00
LOADIN, //载入
2024-04-10 16:15:33 +08:00
LOADOUT, //载出
2024-05-06 10:49:15 +08:00
INTERCEPTLOAD, //中断载入/载出
2024-04-10 16:15:33 +08:00
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, //获取版本信息
2024-04-18 11:59:51 +08:00
IOSIGNAL, //io 信号
RESETELEC, //PowerMeterClient
PURIFIERPARAMW, //净化器参数写入
2024-04-23 13:41:16 +08:00
LAYERDATAREQ, //layer数据请求
2024-05-09 12:49:18 +08:00
SETZEROPOS, //AxisState使用
AXISSTOPALL, //axis 运动急停
2024-05-06 10:49:15 +08:00
/********************配置信息******************/
PARAMLIMITCFG,
EXTCFG,
2024-05-06 10:49:15 +08:00
LOADPARAM, //装载参数
2024-05-09 12:49:18 +08:00
/********************振镜控制******************/
SCANCTRLFUNC, //振镜控制函数
2024-04-10 16:15:33 +08:00
};
enum DATATYPE {
iBOOL = 0,
iSHORT,
iUSHORT,
iINT,
iUINT,
iFLOAT,
iSTRING,
2024-04-12 15:51:41 +08:00
iCHAR,
iUCHAR,
2024-04-10 16:15:33 +08:00
iWORD,
2024-04-12 15:51:41 +08:00
UNKNOW,
2024-04-10 16:15:33 +08:00
};
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, //返回版本信息
2024-04-24 18:12:41 +08:00
IOSIGNALRSP, //io信号返回数据
2024-05-06 10:49:15 +08:00
SYSPARAMDATA, //系统参数
2024-04-16 13:32:05 +08:00
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
2024-04-18 11:59:51 +08:00
PURIFIERPARAM, //冷水机参数
2024-04-24 18:12:41 +08:00
POWERPARAM, //电能参数
CHILLERPARAM, //冷却器参数
POWDERSUPPLYSIMPLEPARAM, //
SCANNERPOWERPARAM, //ScannerPower 参数
2024-05-09 12:49:18 +08:00
//SETZEROPOS, //AxisState使用
//AXISSTOPALL, //axis 运动急停
2024-05-06 10:49:15 +08:00
/********************配置信息******************/
PARAMLIMITCFGPARAM,
EXTCFGPARAM,
MOLDCFGPARAM,
LOADCFGPARAM,
ARMCFGPARAM,
SUPPLYCFGPARAM,
CLEANCFGPARAM,
ELECFGPARAM,
LOADPARAMRSP, //装载参数
2024-05-09 12:49:18 +08:00
SCANCTRLSTATE, //scanctrl参数
2024-04-10 16:15:33 +08:00
};
struct Item {
2024-04-10 16:15:33 +08:00
std::string nameKey; //参数key
std::string strValue; //value
DATATYPE valueType; //数据类型
};
struct WriteData {
WRITETYPE dataType; //数据类型
bool result; //执行结果
std::list<Item> items;
2024-04-10 16:15:33 +08:00
WriteData() {}
WriteData(WRITETYPE dt,const std::list<Item>& its )
: dataType(dt), items(its){}
2024-04-23 13:41:16 +08:00
};
/*****************************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**************************/