#include "SysParam.h" #include "../config/ConfigManager.h" //#include "CoreCommunication.h" std::map SysParam::m_sysParamMp; CRITICAL_SECTION SysParam::m_ValueCS; SysParam::SysParam(int addr, int num, PLCReveiver* cc,const string& context, const std::string& code) : PLCCommand(cc) , m_Addr(addr) , m_DBNumber(num) , m_context(context) , m_code(code) { InitializeCriticalSection(&m_ValueCS); } SysParam::~SysParam() { auto item = m_sysParamMp.begin(); while (item != m_sysParamMp.end()) { if ((item->second.GetSysParam())) delete item->second.GetSysParam(); ++item; } m_sysParamMp.clear(); DeleteCriticalSection(&m_ValueCS); } SysParam::SysParam(SysParam* sp) :PLCCommand(sp->m_Receiver) { m_Addr = sp->m_Addr; m_CtrlCommand = sp->m_CtrlCommand; m_DBNumber = sp->m_DBNumber; m_context = sp->m_context; m_context2 = sp->m_context2; m_code = sp->m_code; m_code2 = sp->m_code2; } SysParamFloat::SysParamFloat(int addr, int num, PLCReveiver* cc, const string& context, const string& code) :SysParam(addr, num, cc,context,code) { m_CtrlCommand = new S7Command(S7_COMMAND_WRITE, 1); TS7DataItem* pItem = m_CtrlCommand->getDataItems(); pItem[0].Area = S7AreaDB; pItem[0].DBNumber = m_DBNumber; pItem[0].Start = m_Addr; pItem[0].WordLen = S7WLReal; pItem[0].Amount = 1; float* tempv = new float[1]; pItem[0].pdata = tempv; m_CtrlCommand->m_Ref = this; m_CtrlCommand->isNeedDel = false; if (m_sysParamMp.find(code) != m_sysParamMp.end()) { printf("%d %s is repeated...\n",__LINE__, code.c_str()); } else { m_sysParamMp.insert(make_pair(code, DValue(this))); } } void SysParamFloat::SetValue(float value) { S7FLOATDATA sfloat; sfloat.fValue = value; unsigned char* pv = (unsigned char*)m_CtrlCommand->getDataItems()[0].pdata; //float* pv =(float*) m_CtrlCommand->getDataItems()[0].pdata; pv[3] = sfloat.data[0]; pv[2] = sfloat.data[1]; pv[1] = sfloat.data[2]; pv[0] = sfloat.data[3]; //*pv = value; Execute(); //m_cc->AddCmd(m_CtrlCommand); } SysParamFloat::~SysParamFloat() { if (m_CtrlCommand) delete m_CtrlCommand; } SysParamFloatUI::SysParamFloatUI(SysParamFloat* sp) :SysParamFloat(sp) { if (m_sysParamMp.find("UI" + sp->GetCode()) != m_sysParamMp.end()) { printf("%d %s is repeated...\n", __LINE__, ("UI" + sp->GetCode()).c_str()); } else { m_sysParamMp.insert(make_pair("UI" + sp->GetCode(), DValue(this))); } } SysParamWordUI::SysParamWordUI(SysParamWord* sp) :SysParamWord(sp) { if (m_sysParamMp.find("UI" + sp->GetCode()) != m_sysParamMp.end()) { printf("%d %s is repeated...\n", __LINE__, ("UI" + sp->GetCode()).c_str()); } else { m_sysParamMp.insert(make_pair("UI" + sp->GetCode(), DValue(this))); } } SysParamWord::SysParamWord(int addr, int num, PLCReveiver* cc, const string& context, const string& code ) :SysParam(addr, num, cc,context,code) { m_CtrlCommand = new S7Command(S7_COMMAND_WRITE, 1); TS7DataItem* pItem = m_CtrlCommand->getDataItems(); pItem[0].Area = S7AreaDB; pItem[0].DBNumber = m_DBNumber; pItem[0].Start = m_Addr; pItem[0].WordLen = S7WLWord; pItem[0].Amount = 1; short* tempv = new short[1]; pItem[0].pdata = tempv; m_CtrlCommand->m_Ref = this; m_CtrlCommand->isNeedDel = false; if (m_sysParamMp.find(code) != m_sysParamMp.end()) { printf("%d %s is repeated...\n", __LINE__, code.c_str()); } else { m_sysParamMp.insert(make_pair(code, DValue(this))); } } void SysParamWord::SetValue(short value) { S7WordData sword; sword.wValue = value; TS7DataItem* gg = m_CtrlCommand->getDataItems(); unsigned char* pv = (unsigned char*)gg[0].pdata; pv[0] = sword.data[1]; pv[1] = sword.data[0]; //short* pv =(short*) m_CtrlCommand->getDataItems()[0].pdata; //*pv = value; Execute(); //m_cc->AddCmd(m_CtrlCommand); } SysParamWord::~SysParamWord() { if (m_CtrlCommand) delete m_CtrlCommand; } SysParamBool::SysParamBool(int addr, int num, PLCReveiver* cc,const string& context, const string& code ) : SysParam(addr, num, cc, context,code) { m_CtrlCommand = new S7Command(S7_COMMAND_WRITE, 1); TS7DataItem* pItem = m_CtrlCommand->getDataItems(); pItem[0].Area = S7AreaDB; pItem[0].DBNumber = m_DBNumber; pItem[0].Start = m_Addr; pItem[0].WordLen = S7WLBit; pItem[0].Amount = 1; bool* tempv = new bool[1]; pItem[0].pdata = tempv; m_CtrlCommand->m_Ref = this; m_CtrlCommand->isNeedDel = false; if (m_sysParamMp.find(code) != m_sysParamMp.end()) { printf("%d %s is repeated...\n", __LINE__, code.c_str()); } else { m_sysParamMp.insert(make_pair(code, DValue(this))); } } SysParamBool:: ~SysParamBool() { if (m_CtrlCommand) delete m_CtrlCommand; } void SysParamBool::SetValue(bool value) { bool* pv = (bool*)m_CtrlCommand->getDataItems()[0].pdata; *pv = value; Execute(); //m_cc->AddCmd(m_CtrlCommand); } SysParamInt::SysParamInt(int addr, int num, PLCReveiver* cc, const string& context, const string& code ) : SysParam(addr, num, cc,context,code) { m_CtrlCommand = new S7Command(S7_COMMAND_WRITE, 1); TS7DataItem* pItem = m_CtrlCommand->getDataItems(); pItem[0].Area = S7AreaDB; pItem[0].DBNumber = m_DBNumber; pItem[0].Start = m_Addr; pItem[0].WordLen = S7WLDWord; pItem[0].Amount = 1; int* tempv = new int[1]; pItem[0].pdata = tempv; m_CtrlCommand->m_Ref = this; m_CtrlCommand->isNeedDel = false; if (m_sysParamMp.find(code) != m_sysParamMp.end()) { printf("%d %s is repeated...\n", __LINE__, code.c_str()); } else { m_sysParamMp.insert(make_pair(code, DValue(this))); } } SysParamInt:: ~SysParamInt() { if (m_CtrlCommand) delete m_CtrlCommand; } void SysParamInt::SetValue(int value) { S7DWordData sdw; sdw.iValue = value; TS7DataItem* gg = m_CtrlCommand->getDataItems(); unsigned char* pv = (unsigned char*)gg[0].pdata; pv[0] = sdw.data[3]; pv[1] = sdw.data[2]; pv[2] = sdw.data[1]; pv[3] = sdw.data[0]; //*pv = value; Execute(); //m_cc->AddCmd(m_CtrlCommand); } void SysParamWrapper::Init(PLCReveiver* cc) { int flag = 0; m_PrintOxygen1 = new SysParamFloat(flag, 3, cc); flag += 4; //打印舱测氧仪1模拟量值_R m_PrintOxygen2 = new SysParamFloat(flag, 3, cc); flag += 4; //打印舱测氧仪2模拟量值_R m_OutsideOxygen = new SysParamFloat(flag, 3, cc); flag += 4; //室外测氧仪模拟量值_R m_HighPressure = new SysParamFloat(flag, 3, cc); flag += 4; //高压气压力模拟量值_R m_ProtectGasPressure = new SysParamFloat(flag, 3, cc); flag += 4; //保护气压力模拟量值_R m_PrintPressure = new SysParamFloat(flag, 3, cc); flag += 4; //打印舱压力模拟量值_R m_PrintOxygen1Max = new SysParamFloat(flag, 3, cc); flag += 4; //测氧仪1量程最大值_RW m_PrintOxygen1Min = new SysParamFloat(flag, 3, cc); flag += 4; //测氧仪1量程最小值_RW m_PrintOxygen2Max = new SysParamFloat(flag, 3, cc); flag += 4; //测氧仪2量程最大值_RW m_PrintOxygen2Min = new SysParamFloat(flag, 3, cc); flag += 4; //测氧仪2量程最小值_RW m_OutsideOxygenMax = new SysParamFloat(flag, 3, cc); flag += 4; //室外测氧仪量程最大值_RW m_OutsideOxygenMin = new SysParamFloat(flag, 3, cc); flag += 4; //室外测氧仪量程最小值_RW m_HighPressureMax = new SysParamFloat(flag, 3, cc); flag += 4; //高压气量程最大值_RW m_HighPressureMin = new SysParamFloat(flag, 3, cc); flag += 4; //高压气量程最小值_RW m_ProtectGasPressureMax = new SysParamFloat(flag, 3, cc); flag += 4; //保护气量程最大值_RW m_ProtectGasPressureMin = new SysParamFloat(flag, 3, cc); flag += 4; //保护气量程最小值_RW m_PrintPressureMax = new SysParamFloat(flag, 3, cc); flag += 4; //打印舱压力量程最大值_RW m_PrintPressureMin = new SysParamFloat(flag, 3, cc); flag += 4; //打印舱压力量程最小值_RW m_OutsideOxygenAlarmValue = new SysParamFloat(flag, 3, cc); flag += 4; //室外氧含量报警值_RW m_EnvUIAssit.m_PrintOxygen1Max = new SysParamFloatUI(m_PrintOxygen1Max); m_EnvUIAssit.m_PrintOxygen1Min = new SysParamFloatUI(m_PrintOxygen1Min); m_EnvUIAssit.m_PrintOxygen2Max = new SysParamFloatUI(m_PrintOxygen2Max); m_EnvUIAssit.m_PrintOxygen2Min = new SysParamFloatUI(m_PrintOxygen2Min); m_EnvUIAssit.m_OutsideOxygenMax = new SysParamFloatUI(m_OutsideOxygenMax); m_EnvUIAssit.m_OutsideOxygenMin = new SysParamFloatUI(m_OutsideOxygenMin); m_EnvUIAssit.m_HighPressureMax = new SysParamFloatUI(m_HighPressureMax); m_EnvUIAssit.m_HighPressureMin = new SysParamFloatUI(m_HighPressureMin); m_EnvUIAssit.m_ProtectGasPressureMax = new SysParamFloatUI(m_ProtectGasPressureMax); m_EnvUIAssit.m_ProtectGasPressureMin = new SysParamFloatUI(m_ProtectGasPressureMin); m_EnvUIAssit.m_PrintPressureMax = new SysParamFloatUI(m_PrintPressureMax); m_EnvUIAssit.m_PrintPressureMin = new SysParamFloatUI(m_PrintPressureMin); m_EnvUIAssit.m_OutsideOxygenAlarmValue = new SysParamFloatUI(m_OutsideOxygenAlarmValue); m_SupplyPowderGridPerCycle = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴的格数一圈_RW m_SupplyAxisAnglePerGrid = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴每格对用度数_RW m_MoldMainCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴当前位置_R m_MoldMainCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴当前扭矩_R m_MoldSlaveCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴当前位置_R m_MoldSlaveCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴当前扭矩_R m_MoldMainManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴手动速度_RW m_MoldMainManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴手动加速_RW m_MoldMainManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴手动减速_RW m_MoldMainManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴手动相对位移距离_RW m_MoldMainManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴绝对位置_手动_RW m_MoldSlaveManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴手动速度_RW m_MoldSlaveManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴手动加速_RW m_MoldSlaveManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴手动减速_RW m_MoldSlaveManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴手动相对位移距离_RW m_MoldSlaveManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴绝对位置_手动_RW m_CleanMainCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴当前位置_R m_CleanMainCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴当前扭矩_R m_CleanSlaveCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴当前位置_R m_CleanSlaveCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴当前扭矩_R m_CleanMainManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴手动速度_RW m_CleanMainManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴手动加速_RW m_CleanMainManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴手动减速_RW m_CleanMainManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴手动相对位移距离_RW m_CleanMainManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴绝对位置_手动_RW m_CleanSlaveManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴手动速度_RW m_CleanSlaveManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴手动加速_RW m_CleanSlaveManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴手动减速_RW m_CleanSlaveManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴手动相对位移距离_RW m_CleanSlaveManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴绝对位置_手动_RW m_EleCylinderMainCurrentPos = m_CleanMainCurrentPos; //电缸主轴当前位置_R m_EleCylinderMainCurrentLoad = m_CleanMainCurrentLoad; //电缸主轴当前扭矩_R m_EleCylinderSlaveCurrentPos = m_CleanSlaveCurrentPos; //电缸从轴当前位置_R m_EleCylinderSlaveCurrentLoad = m_CleanSlaveCurrentLoad; //电缸从轴当前扭矩_R m_EleCylinderMainManualSpeed = m_CleanMainManualSpeed; //电缸主轴手动速度_RW m_EleCylinderMainManualAcc = m_CleanMainManualAcc; //电缸主轴手动加速_RW m_EleCylinderMainManualDec = m_CleanMainManualDec; //电缸主轴手动减速_RW m_EleCylinderMainManualRefDistance = m_CleanMainManualRefDistance; //电缸主轴手动相对位移距离_RW m_EleCylinderMainManualAbsPos = m_CleanMainManualAbsPos; //电缸主轴绝对位置_手动_RW m_EleCylinderSlaveManualSpeed = m_CleanSlaveManualSpeed; //电缸从轴手动速度_RW m_EleCylinderSlaveManualAcc = m_CleanSlaveManualAcc; //电缸从轴手动加速_RW m_EleCylinderSlaveManualDec = m_CleanSlaveManualDec; //电缸从轴手动减速_RW m_EleCylinderSlaveManualRefDistance = m_CleanSlaveManualRefDistance; //电缸从轴手动相对位移距离_RW m_EleCylinderSlaveManualAbsPos = m_CleanSlaveManualAbsPos; //电缸从轴绝对位置_手动_RW m_LoadAxisCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴当前位置_R m_LoadAxisCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴当前扭矩_R m_LoadAxisManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴手动速度_RW m_LoadAxisManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴手动加速_RW m_LoadAxisManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴手动减速_RW m_LoadAxisManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴手动相对位移距离_RW m_LoadAxisManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴绝对位置_手动_RW m_ArmCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴当前位置_R m_ArmCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴当前扭矩_R m_ArmManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴手动速度_RW m_ArmManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴手动加速_RW m_ArmManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴手动减速_RW m_ArmManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴手动相对位移距离_RW m_ArmManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴绝对位置_手动_RW m_SupplyCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴当前位置_R m_SupplyCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴当前扭矩_R m_SupplyManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴手动速度_RW m_SupplyManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴手动加速_RW m_SupplyManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴手动减速_RW m_SupplyManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴手动相对位移距离_RW m_SupplyManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴绝对位置_手动_RW m_MoldCylinderSeparatePos = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降与缸体分离位_RW m_PrintUpDownSafePos = m_MoldCylinderSeparatePos; //打印升降安全位_RW m_Print3RSeparatePos = new SysParamFloat(flag, 3, cc); flag += 4; //打印3R脱离位_RW m_Print3RSeparateCheckDistance = new SysParamFloat(flag, 3, cc); flag += 4; //打印3R脱离检测距离_RW m_PrintJackupDeoxygenPressureMinPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印顶升轴除氧压缩最低点_RW m_PrintJackupPlatformBottomPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印顶升轴基板底座缸平面位置_RW m_PrintJackupPlatformPlanePos = new SysParamFloat(flag, 3, cc); flag += 4; //打印顶升轴基板缸平面位置_RW m_PrintPlatformHight = new SysParamFloat(flag, 3, cc); flag += 4; //打印基板厚度_RW m_MoldUpLimitPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴上软限位_RW m_MoldDownLimitPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴下软限位_RW m_CleanTrackConnectPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轨道对接位_RW m_CleanAxisPlatformAlignPos = m_CleanTrackConnectPos; //清粉升降基板底座缸平面位_RW m_CleanBoxCylinderConnectPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉箱与缸体对接位_RW m_Clean3RSeparatePos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降3R对接分离位_RW m_Clean3RSeparateCheckDistance = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降3R分离检测距离_RW m_CleanLowestPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降最低点_RW m_CleanUpLimit = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降上软限位_RW m_CleanDownLimit = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降下软限位_RW m_EleCylinderPrintJackupPos = m_CleanTrackConnectPos; //电缸打印顶升位置_RW m_EleCylinderCleanJackupPos = m_CleanBoxCylinderConnectPos; //电缸清粉顶升位置_RW m_EleCylinderBottomFitPos = m_Clean3RSeparatePos; //电缸底座贴合位置_RW m_EleCylinderSoftUpLimit = m_CleanUpLimit; //电缸升降上软限位_RW m_EleCylinderSoftDownLimit = m_CleanDownLimit; //电缸升降下软限位_RW m_LoadAxisTrackPrintPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴轨道打印位_RW m_LoadAxisTrackCleanPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴轨道清粉位_RW m_LoadAxisTrackWaitPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴轨道等待位_RW m_LoadAxisLeftLimit = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴轨道左软限位_RW m_LoadAxisRightLimit = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴轨道右软限位_RW m_ArmPowderAcceptPos = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴接粉位_RW m_ArmPowderDropFrontPos = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴前下粉位_RW m_ArmPrintFrontLimit = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴打印面前限位_RW m_ArmPrintBackLimit = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴打印面后限位_RW m_ArmFrontLimit = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴前软限位_RW m_ArmBackLimit = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴后软限位_RW m_MoldAbsTestPos = new SysParamWord(flag, 3, cc); flag += 2; //打印升降轴绝对值试运行位置列表_RW m_CleanAbsTestPos = new SysParamWord(flag, 3, cc); flag += 2; //清粉升降轴绝对值试运行位置列表_RW m_EleCylinderAbsTestPos = m_CleanAbsTestPos; //电缸升降轴绝对值试运行位置列表_RW m_LoadAxisAbsTestPos = new SysParamWord(flag, 3, cc); flag += 2; //移载轴绝对值试运行位置列表_RW m_ArmAbsTestPos = new SysParamWord(flag, 3, cc); flag += 2; //铺粉轴绝对值试运行位置列表_RW m_LineEncMoveValue = new SysParamFloat(flag, 3, cc); flag += 4; //光栅尺移动值_R m_LineEncPulseEqu = new SysParamFloat(flag, 3, cc); flag += 4; //光栅尺脉冲当量_RW m_MoldMainHomeIndexEnc = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴原点编码器值_RW m_MoldMainAlignEnc = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴对齐位编码器值_RW m_MoldMainAlignHomeRel = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴对齐位与原点相对值_RW m_MoldSlaveHomeIndexEnc = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴原点编码器值_RW m_MoldSlaveAlignEnc = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴对齐位编码器值_RW m_MoldSlaveAlignHomeRel = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴对齐位与原点相对值_RW m_CleanMainHomeIndexEnc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴原点编码器值_RW m_CleanMainAlignEnc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴对齐位编码器值_RW m_CleanMainAlignHomeRel = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴对齐位与原点相对值_RW m_CleanSlaveHomeIndexEnc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴原点编码器值_RW m_CleanSlaveAlignEnc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴对齐位编码器值_RW m_CleanSlaveAlignHomeRel = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴对齐位与原点相对值_RW m_EleCylinderMainHomeIndexEnc = m_CleanMainHomeIndexEnc; //电缸主轴原点编码器值_RW m_EleCylinderMainAlignEnc = m_CleanMainAlignEnc; //电缸主轴对齐位编码器值_RW m_EleCylinderMainAlignHomeRel = m_CleanMainAlignHomeRel; //电缸主轴对齐位与原点相对值_RW m_EleCylinderSlaveHomeIndexEnc = m_CleanSlaveHomeIndexEnc; //电缸从轴原点编码器值_RW m_EleCylinderSlaveAlignEnc = m_CleanSlaveAlignEnc; //电缸从轴对齐位编码器值_RW m_EleCylinderSlaveAlignHomeRel = m_CleanSlaveAlignHomeRel; //电缸从轴对齐位与原点相对值_RW m_MoldAutoSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴速度_自动_RW m_MoldAutoAcc = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴加速度_自动_RW m_MoldAutoDec = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴减速度_自动_RW m_MoldAutoRelShift = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴相对位移_自动_RW m_MoldAutoAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴绝对位置_自动_RW m_CleanAutoSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴速度_自动_RW m_CleanAutoAcc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴加速度_自动_RW m_CleanAutoDec = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴减速度_自动_RW m_CleanAutoRelShift = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴相对位移_自动_RW m_CleanAutoAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴绝对位置_自动_RW m_EleCylinderAutoSpeed = m_CleanAutoSpeed; //电缸升降轴速度_自动_RW m_EleCylinderAutoAcc = m_CleanAutoAcc; //电缸升降轴加速度_自动_RW m_EleCylinderAutoDec = m_CleanAutoDec; //电缸升降轴减速度_自动_RW m_EleCylinderAutoRelShift = m_CleanAutoRelShift; //电缸升降轴相对位移_自动_RW m_EleCylinderAutoAbsPos = m_CleanAutoAbsPos; //电缸升降轴绝对位置_自动_RW m_LoadAxisAutoSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴速度_自动_RW m_LoadAxisnAutoAcc = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴加速度_自动_RW m_LoadAxisAutoDec = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴减速度_自动_RW m_LoadAxisAutoRelShift = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴相对位移_自动_RW m_LoadAxisAutoAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴绝对位置_自动_RW m_ArmAutoSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴速度_自动_RW m_ArmAxisnAutoAcc = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴加速度_自动_RW m_ArmAxisAutoDec = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴减速度_自动_RW m_ArmAxisAutoRelShift = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴相对位移_自动_RW m_ArmAxisAutoAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴绝对位置_自动_RW m_SupplyAutoSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴速度_自动_RW m_SupplyAxisnAutoAcc = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴加速度_自动_RW m_SupplyAxisAutoDec = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴减速度_自动_RW m_SupplyAxisAutoRelShift = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴相对位移_自动_RW m_SupplyAxisAutoAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴绝对位置_自动_RW m_Print3RSeparatTorqueThreshold = new SysParamFloat(flag, 3, cc); flag += 4; //打印3R脱离扭力报警值_RW Real m_MoldUpTorqueThrehold = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴上升扭力报警值_RW Real m_MoldDownTorqueThrehold = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴下降扭力报警值_RW Real m_Clean3RSeparatTorqueThrehold = new SysParamFloat(flag, 3, cc); flag += 4; //清粉3R脱离扭力报警值_RW Real m_CleanUpTorqueThrehold = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴上升扭力报警值_RW Real m_CleanDownTorqueThreshold = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴下降扭力报警值_RW Real m_EleCylinderUpTorqueThrehold = m_CleanUpTorqueThrehold; //电缸升降轴上升扭力报警值_RW Real m_EleCylinderDownTorqueThreshold = m_CleanDownTorqueThreshold; //电缸升降轴下降扭力报警值_RW Real m_CoverType = new SysParamWord(flag, 3, cc); flag += 2; //铺粉类型__RW Int m_CoverSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印铺粉速度_RW Real m_CoverReturnSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印单向铺粉返回变速_RW Real m_CoverDistance = new SysParamFloat(flag, 3, cc); flag += 4; //打印单向铺粉距离_RW Real m_LayerThick = new SysParamFloat(flag, 3, cc); flag += 4; //打印铺粉层厚_RW Real m_FixGap = new SysParamFloat(flag, 3, cc); flag += 4; //打印间隙补偿_RW Real m_SupplyCount = new SysParamWord(flag, 3, cc); flag += 2; //打印铺粉格数_RW Int m_SupplyTime = new SysParamInt(flag, 3, cc); flag += 4; //打印下粉时间_RW Time m_DebugLayerThick = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉调试层厚_RW Real m_DebugFixGap = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉调试间隙_RW Real m_DebugSupplyTime = new SysParamInt(flag, 3, cc); flag += 4; //铺粉调试下粉时间_RW Time m_DebugSupplyCount = new SysParamWord(flag, 3, cc); flag += 2; //铺粉调试格数_RW Int m_DebugCoverDistance = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉调试铺粉距离_RW Real m_MoldHighSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴快速移动速度_RW Real m_MoldDeoxygenSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴下降除氧位速度_RW Real m_CleanHighSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴快速移动速度_RW Real m_PrintPressureThrehold = new SysParamFloat(flag, 3, cc); flag += 4; //打印室压力泄压值_RW Real m_EnvUIAssit.m_PrintPressureThrehold = new SysParamFloatUI(m_PrintPressureThrehold); m_MoldDeoxygenTime = new SysParamInt(flag, 3, cc); flag += 4; //打印升降轴除氧时间_RW Time m_PowderCarDeoxygenTime = new SysParamInt(flag, 3, cc); flag += 4; //存粉小车除氧时间_RW Time m_GratingRulerValue = new SysParamFloat(flag, 3, cc); flag += 4; //光栅尺判断值 Real m_ArmTorqueThreshold = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴扭力报警值 m_LoadTorqueThreshold = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴扭力报警值 m_SupplyTorqueThreshold = new SysParamFloat(flag, 3, cc); flag += 4; //供粉轴扭力报警值 m_PrintMainLead = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴导程_RW m_PrintMainReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴减速比 m_PrintMainMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴电机最高转速 m_PrintSlaveLead = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴导程 m_PrintSlaveReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴减速比 m_PrintSlaveMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴电机最高转速 m_CleanMainLead = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴导程 m_CleanMainReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴减速比 m_CleanMainMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴电机最高转速 m_CleanSlaveLead = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴导程 m_CleanSlaveReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴减速比 m_CleanSlaveMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴电机最高转速 m_EleCylinderMainLead = m_CleanMainLead; //电缸主轴导程 m_EleCylinderMainReductionRatio = m_CleanMainReductionRatio; //电缸主轴减速比 m_EleCylinderMainMaxRotationlSpeed = m_CleanMainMaxRotationlSpeed; //电缸主轴电机最高转速 m_EleCylinderSlaveLead = m_CleanSlaveLead; //电缸从轴导程 m_EleCylinderSlaveReductionRatio = m_CleanSlaveReductionRatio; //电缸从轴减速比 m_EleCylinderSlaveMaxRotationlSpeed = m_CleanSlaveMaxRotationlSpeed; //电缸从轴电机最高转速 m_LoadAxisLead = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴导程 m_LoadAxisReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴减速比 m_LoadAxisMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴电机最高转速 m_ArmLead = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴导程 m_ArmReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴减速比 m_ArmMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴电机最高转速 m_SupplyLead = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴导程 m_SupplyReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴减速比 m_SupplyRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴电机最高转速 m_ArmSlotDistance = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉槽距离 m_PowderJarCabinPressureVoltage = new SysParamFloat(flag, 3, cc); flag += 4; //下粉罐与粉仓的压差电压值 m_PowderJarCabinPressureValue = new SysParamFloat(flag, 3, cc); flag += 4; //下粉罐与粉仓的压差实际值 m_CleanBoxDeoxygenSetValue = new SysParamFloat(flag, 3, cc); flag += 4; //清粉箱除氧设定值_RW m_CleanBoxOxygenDownLimit = new SysParamFloat(flag, 3, cc); flag += 4; //清粉箱测氧仪下限_RW m_CleanBoxOxygenUpLimit = new SysParamFloat(flag, 3, cc); flag += 4; //清粉箱测氧仪上限_RW m_CleanBoxPressureReleaseValue = new SysParamFloat(flag, 3, cc); flag += 4; //清粉箱泄压值_RW m_PrintCar1RealWeight = new SysParamFloat(flag, 3, cc); flag += 4; //打印小车1实际重量 m_PrintCar1AlarmWeight = new SysParamFloat(flag, 3, cc); flag += 4; //打印小车1报警重量_RW m_PrintCar2RealWeight = new SysParamFloat(flag, 3, cc); flag += 4; //打印小车2实际重量 m_PrintCar2AlarmWeight = new SysParamFloat(flag, 3, cc); flag += 4; //打印小车2报警重量_RW m_CleanCar1RealWeight = new SysParamFloat(flag, 3, cc); flag += 4; //清粉小车1实际重量 m_CleanCar1AlarmWeight = new SysParamFloat(flag, 3, cc); flag += 4; //清粉小车1报警重量_RW m_CleanCar2RealWeight = new SysParamFloat(flag, 3, cc); flag += 4; //清粉小车2实际重量 m_CleanCar2AlarmWeight = new SysParamFloat(flag, 3, cc); flag += 4; //清粉小车2报警重量_RW m_LoadHandPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轨道吊装位置 m_PowderLevelLength = new SysParamFloat(flag, 3, cc); flag += 4; //料位棒长度 m_PowderLevelValue = new SysParamFloat(flag, 3, cc); flag += 4; //料位棒当前值 m_PrintAirRenewalPresRelValue = new SysParamFloat(flag, 3, cc); flag += 4; //打印室换气泄压值 m_RollerEdgeSearchOffset = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴寻边偏移度数 m_LoadHandCrashPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载吊装碰撞位_RW m_ArmCatpureHomeFastSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴归原快速_RW m_ArmCatpureHomeSlowSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴归原慢速_RW m_LinearEncoderErrorJudgeValue = new SysParamFloat(flag, 3, cc); flag += 4; //光栅尺错误判断值_RW m_LinearEncoderPerLayerRealValue = new SysParamFloat(flag, 3, cc); flag += 4; //光栅尺每层实际值_R m_GapCompensateDiffValue = new SysParamFloat(flag, 3, cc); flag += 4; //间隙补偿差值 m_MoldTheoryDistance = new SysParamFloat(flag, 3, cc); flag += 4; //升降理论行程 m_LinearActDistance = new SysParamFloat(flag, 3, cc); flag += 4; //光栅实际行程 m_LinearActPulse = new SysParamFloat(flag, 3, cc); flag += 4; //光栅实际脉冲数 m_PrintHomeSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印轴归原点速度 m_EleCylinderHomeSpeed = new SysParamFloat(flag, 3, cc); m_CleanHomeSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉轴归原点速度 m_LoadHomeSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //移栽轴归原点速度 m_LoadSearchEdgeTorqueAlarmValue = new SysParamFloat(flag, 3, cc); flag += 4; //移栽寻边报警扭力值 m_ArmBackAcceptPos = m_LoadSearchEdgeTorqueAlarmValue; m_HighPressureGasJudgmentValue = new SysParamFloat(flag, 3, cc); flag += 4; //高压气判断值 m_ProtectiveGasJudgmentValue = new SysParamFloat(flag, 3, cc); flag += 4; //保护气判断值 m_UnloadDropDistance = new SysParamFloat(flag, 3, cc); flag += 4; //卸载升降轴下降距离 m_DataSizeMinY = new SysParamFloat(flag, 3, cc); flag += 4; m_DataSizeMaxY = new SysParamFloat(flag, 3, cc); flag += 4; m_AllowPrintHigh = new SysParamFloat(flag, 3, cc); flag += 4; flag = 1158; m_AutoCaptureCoverHomeIntervalTimes = new SysParamWord(flag, 3, cc); flag += 2; m_AutoCaptureCoverHomeCalcTimes = new SysParamWord(flag, 3, cc); flag += 2; m_LinearEncoderCompensateTimes = new SysParamWord(flag, 3, cc); flag += 2; m_EnvUIAssit.m_CleanBoxDeoxygenSetValue = new SysParamFloatUI(m_CleanBoxDeoxygenSetValue); //清粉箱除氧设定值_RW m_EnvUIAssit.m_CleanBoxOxygenDownLimit = new SysParamFloatUI(m_CleanBoxOxygenDownLimit); //清粉箱测氧仪下限_RW m_EnvUIAssit.m_CleanBoxOxygenUpLimit = new SysParamFloatUI(m_CleanBoxOxygenUpLimit); //清粉箱测氧仪上限_RW m_EnvUIAssit.m_CleanBoxPressureReleaseValue = new SysParamFloatUI(m_CleanBoxPressureReleaseValue); //清粉箱泄压值_RW m_EnvUIAssit.m_PrintCar1AlarmWeight = new SysParamFloatUI(m_PrintCar1AlarmWeight); //打印小车1报警重量_RW m_EnvUIAssit.m_PrintCar2AlarmWeight = new SysParamFloatUI(m_PrintCar2AlarmWeight); //打印小车2报警重量_RW m_EnvUIAssit.m_CleanCar1AlarmWeight = new SysParamFloatUI(m_CleanCar1AlarmWeight); //清粉小车1报警重量_RW m_EnvUIAssit.m_CleanCar2AlarmWeight = new SysParamFloatUI(m_CleanCar2AlarmWeight); //清粉小车2报警重量_RW m_EnvUIAssit.m_LoadHandPos = new SysParamFloatUI(m_LoadHandPos); //移载轨道吊装位置 m_EnvUIAssit.m_PowderLevelLength = new SysParamFloatUI(m_PowderLevelLength); //料位棒长度 m_EnvUIAssit.m_PowderLevelValue = new SysParamFloatUI(m_PowderLevelValue); //料位棒当前值 m_EnvUIAssit.m_PrintAirRenewalPresRelValue = new SysParamFloatUI(m_PrintAirRenewalPresRelValue); //打印室换气泄压值 m_EnvUIAssit.m_RollerEdgeSearchOffset = new SysParamFloatUI(m_RollerEdgeSearchOffset); //供粉转轴寻边偏移度数 m_EnvUIAssit.m_LoadHandCrashPos = new SysParamFloatUI(m_LoadHandCrashPos); //移载吊装碰撞位_RW m_EnvUIAssit.m_ArmCatpureHomeFastSpeed = new SysParamFloatUI(m_ArmCatpureHomeFastSpeed); //铺粉轴归原快速_RW m_EnvUIAssit.m_ArmCatpureHomeSlowSpeed = new SysParamFloatUI(m_ArmCatpureHomeSlowSpeed); //铺粉轴归原慢速_RW m_EnvUIAssit.m_LinearEncoderErrorJudgeValue = new SysParamFloatUI(m_LinearEncoderErrorJudgeValue); //光栅尺错误判断值_RW m_EnvUIAssit.m_GapCompensateDiffValue = new SysParamFloatUI(m_GapCompensateDiffValue); //间隙补偿差值 m_EnvUIAssit.m_PrintHomeSpeed = new SysParamFloatUI(m_PrintHomeSpeed); //打印轴归原点速度 m_EnvUIAssit.m_CleanHomeSpeed = new SysParamFloatUI(m_CleanHomeSpeed); //清粉轴归原点速度 m_EnvUIAssit.m_LoadHomeSpeed = new SysParamFloatUI(m_LoadHomeSpeed); //移栽轴归原点速度 //m_EnvUIAssit.m_LinearEncoderPerLayerRealValue = new SysParamFloatUI(m_LinearEncoderPerLayerRealValue); //光栅尺每层实际值_R m_EnvUIAssit.m_AutoCaptureCoverHomeIntervalTimes = new SysParamWordUI(m_AutoCaptureCoverHomeIntervalTimes); //铺粉归原点触发数 m_EnvUIAssit.m_HighPressureGasJudgmentValue = new SysParamFloatUI(m_HighPressureGasJudgmentValue); m_EnvUIAssit.m_ProtectiveGasJudgmentValue = new SysParamFloatUI(m_ProtectiveGasJudgmentValue); //m_EnvUIAssit.m_AutoCaptureCoverHomeCalcTimes = new SysParamWordUI(m_AutoCaptureCoverHomeCalcTimes); //铺粉归原点触发数 flag = 0; m_HeatingCheckTime = new SysParamInt(flag, 65, cc); flag += 4; m_CylinderMotionDelayTime = new SysParamInt(flag, 65, cc); flag += 4; m_LinearEncoderCompensateTime = new SysParamInt(flag, 65, cc); flag += 4; m_DropPowderOpenDeleyTime = new SysParamInt(flag, 65, cc); flag += 4; //下粉阀开延时ms_RW m_DropPowderCloseDelayTime = new SysParamInt(flag, 65, cc); flag += 4; //下粉阀关延时ms_RW } void SysParamWrapper::UpdateEnvUIAssist() { std::shared_lock lock(mtx); m_EnvUIAssit.m_PrintOxygen1Max->SetReatimeValue(m_PrintOxygen1Max->GetValue()); m_EnvUIAssit.m_PrintOxygen1Min->SetReatimeValue(m_PrintOxygen1Min->GetValue()); m_EnvUIAssit.m_PrintOxygen2Max->SetReatimeValue(m_PrintOxygen2Max->GetValue()); m_EnvUIAssit.m_PrintOxygen2Min->SetReatimeValue(m_PrintOxygen2Min->GetValue()); m_EnvUIAssit.m_OutsideOxygenMax->SetReatimeValue(m_OutsideOxygenMax->GetValue()); m_EnvUIAssit.m_OutsideOxygenMin->SetReatimeValue(m_OutsideOxygenMin->GetValue()); m_EnvUIAssit.m_HighPressureMax->SetReatimeValue(m_HighPressureMax->GetValue()); m_EnvUIAssit.m_HighPressureMin->SetReatimeValue(m_HighPressureMin->GetValue()); m_EnvUIAssit.m_ProtectGasPressureMax->SetReatimeValue(m_ProtectGasPressureMax->GetValue()); m_EnvUIAssit.m_ProtectGasPressureMin->SetReatimeValue(m_ProtectGasPressureMin->GetValue()); m_EnvUIAssit.m_PrintPressureMax->SetReatimeValue(m_PrintPressureMax->GetValue()); m_EnvUIAssit.m_PrintPressureMin->SetReatimeValue(m_PrintPressureMin->GetValue()); m_EnvUIAssit.m_PrintPressureThrehold->SetReatimeValue(m_PrintPressureThrehold->GetValue()); m_EnvUIAssit.m_OutsideOxygenAlarmValue->SetReatimeValue(m_OutsideOxygenAlarmValue->GetValue()); m_EnvUIAssit.m_CleanBoxDeoxygenSetValue->SetReatimeValue(m_CleanBoxDeoxygenSetValue->GetValue()); m_EnvUIAssit.m_CleanBoxOxygenDownLimit->SetReatimeValue(m_CleanBoxOxygenDownLimit->GetValue()); m_EnvUIAssit.m_CleanBoxOxygenUpLimit->SetReatimeValue(m_CleanBoxOxygenUpLimit->GetValue()); m_EnvUIAssit.m_CleanBoxPressureReleaseValue->SetReatimeValue(m_CleanBoxPressureReleaseValue->GetValue()); m_EnvUIAssit.m_PrintCar1AlarmWeight->SetReatimeValue(m_PrintCar1AlarmWeight->GetValue()); m_EnvUIAssit.m_PrintCar2AlarmWeight->SetReatimeValue(m_PrintCar2AlarmWeight->GetValue()); m_EnvUIAssit.m_CleanCar1AlarmWeight->SetReatimeValue(m_CleanCar1AlarmWeight->GetValue()); m_EnvUIAssit.m_CleanCar2AlarmWeight->SetReatimeValue(m_CleanCar2AlarmWeight->GetValue()); m_EnvUIAssit.m_LoadHandPos->SetReatimeValue(m_LoadHandPos->GetValue()); m_EnvUIAssit.m_PowderLevelLength->SetReatimeValue(m_PowderLevelLength->GetValue()); m_EnvUIAssit.m_PowderLevelValue->SetReatimeValue(m_PowderLevelValue->GetValue()); m_EnvUIAssit.m_PrintAirRenewalPresRelValue->SetReatimeValue(m_PrintAirRenewalPresRelValue->GetValue()); m_EnvUIAssit.m_RollerEdgeSearchOffset->SetReatimeValue(m_RollerEdgeSearchOffset->GetValue()); m_EnvUIAssit.m_LoadHandCrashPos->SetReatimeValue(m_LoadHandCrashPos->GetValue()); //移载吊装碰撞位_RW m_EnvUIAssit.m_ArmCatpureHomeFastSpeed->SetReatimeValue(m_ArmCatpureHomeFastSpeed->GetValue()); //铺粉轴归原快速_RW m_EnvUIAssit.m_ArmCatpureHomeSlowSpeed->SetReatimeValue(m_ArmCatpureHomeSlowSpeed->GetValue()); //铺粉轴归原慢速_RW m_EnvUIAssit.m_LinearEncoderErrorJudgeValue->SetReatimeValue(m_LinearEncoderErrorJudgeValue->GetValue()); //光栅尺错误判断值_RW m_EnvUIAssit.m_GapCompensateDiffValue->SetReatimeValue(m_GapCompensateDiffValue->GetValue()); m_EnvUIAssit.m_PrintHomeSpeed->SetReatimeValue(m_PrintHomeSpeed->GetValue()); m_EnvUIAssit.m_CleanHomeSpeed->SetReatimeValue(m_CleanHomeSpeed->GetValue()); m_EnvUIAssit.m_LoadHomeSpeed->SetReatimeValue(m_LoadHomeSpeed->GetValue()); m_EnvUIAssit.m_AutoCaptureCoverHomeIntervalTimes->SetReatimeValue(m_AutoCaptureCoverHomeIntervalTimes->GetValue());//铺粉归原点触发数 m_EnvUIAssit.m_HighPressureGasJudgmentValue->SetReatimeValue(m_HighPressureGasJudgmentValue->GetValue()); m_EnvUIAssit.m_ProtectiveGasJudgmentValue->SetReatimeValue(m_ProtectiveGasJudgmentValue->GetValue()); //m_EnvUIAssit.m_AutoCaptureCoverHomeCalcTimes->SetReatimeValue(m_AutoCaptureCoverHomeCalcTimes->GetValue());//铺粉归原点累积次数 } void SysParamWrapper::GetAxisData(AxisData& ad) { std::shared_lock lock(mtx); ad.MoldCylinderSeparatePos = m_MoldCylinderSeparatePos->GetValue(); //打印升降与缸体分离位_RW ad.Print3RSeparatePos = m_Print3RSeparatePos->GetValue(); //打印3R脱离位_RW ad.Print3RSeparateCheckDistance = m_Print3RSeparateCheckDistance->GetValue(); //打印3R脱离检测距离_RW ad.PrintJackupDeoxygenPressureMinPos = m_PrintJackupDeoxygenPressureMinPos->GetValue(); //打印顶升轴除氧压缩最低点_RW ad.PrintUpDownSafePos = m_PrintUpDownSafePos->GetValue(); //打印升降安全位_RW ad.PrintJackupPlatformBottomPos = m_PrintJackupPlatformBottomPos->GetValue(); //打印顶升轴基板底座缸平面位置_RW ad.PrintJackupPlatformPlanePos = m_PrintJackupPlatformPlanePos->GetValue(); //打印顶升轴基板缸平面位置_RW ad.PrintPlatformHight = m_PrintPlatformHight->GetValue(); //打印基板厚度_RW ad.MoldUpLimitPos = m_MoldUpLimitPos->GetValue(); //打印升降轴上软限位_RW ad.MoldDownLimitPos = m_MoldDownLimitPos->GetValue(); //打印升降轴下软限位_RW ad.CleanTrackConnectPos = m_CleanTrackConnectPos->GetValue(); //清粉升降轨道对接位_RW ad.CleanAxisPlatformAlignPos = m_CleanAxisPlatformAlignPos->GetValue(); ad.CleanBoxCylinderConnectPos = m_CleanBoxCylinderConnectPos->GetValue(); //清粉箱与缸体对接位_RW ad.Clean3RSeparatePos = m_Clean3RSeparatePos->GetValue(); //清粉升降3R对接分离位_RW ad.Clean3RSeparateCheckDistance = m_Clean3RSeparateCheckDistance->GetValue(); //清粉升降3R分离检测距离_RW ad.CleanLowestPos = m_CleanLowestPos->GetValue(); //清粉升降最低点_RW ad.CleanUpLimit = m_CleanUpLimit->GetValue(); //清粉升降上软限位_RW ad.CleanDownLimit = m_CleanDownLimit->GetValue(); //清粉升降下软限位_RW ad.m_EleCylinderPrintJackupPos = m_EleCylinderPrintJackupPos->GetValue(); //电缸打印顶升位置_RW ad.m_EleCylinderCleanJackupPos = m_EleCylinderCleanJackupPos->GetValue(); //电缸清粉顶升位置_RW ad.m_EleCylinderBottomFitPos = m_EleCylinderBottomFitPos->GetValue(); //电缸底座贴合位置_RW ad.m_EleCylinderSoftUpLimit = m_EleCylinderSoftUpLimit->GetValue(); //电缸升降上软限位_RW ad.m_EleCylinderSoftDownLimit = m_EleCylinderSoftDownLimit->GetValue(); //电缸升降下软限位_RW ad.LoadAxisTrackPrintPos = m_LoadAxisTrackPrintPos->GetValue(); //移载轴轨道打印位_RW ad.LoadAxisTrackCleanPos = m_LoadAxisTrackCleanPos->GetValue(); //移载轴轨道清粉位_RW ad.LoadAxisTrackWaitPos = m_LoadAxisTrackWaitPos->GetValue(); //移载轴轨道等待位_RW ad.LoadAxisLeftLimit = m_LoadAxisLeftLimit->GetValue(); //移载轴轨道左软限位_RW ad.LoadAxisRightLimit = m_LoadAxisRightLimit->GetValue(); //移载轴轨道右软限位_RW ad.ArmPowderAcceptPos = m_ArmPowderAcceptPos->GetValue(); //铺粉轴接粉位_RW ad.ArmPowderDropFrontPos = m_ArmPowderDropFrontPos->GetValue(); //铺粉轴前下粉位_RW ad.ArmPrintFrontLimit = m_ArmPrintFrontLimit->GetValue(); //铺粉轴打印面前限位_RW ad.ArmPrintBackLimit = m_ArmPrintBackLimit->GetValue(); //铺粉轴打印面后限位_RW ad.ArmFrontLimit = m_ArmFrontLimit->GetValue(); //铺粉轴前软限位_RW ad.ArmBackLimit = m_ArmBackLimit->GetValue(); //铺粉轴后软限位_RW ad.MoldAbsTestPos = m_MoldAbsTestPos->GetValue(); //打印升降轴绝对值试运行位置列表_RW ad.CleanAbsTestPos = m_CleanAbsTestPos->GetValue(); //清粉升降轴绝对值试运行位置列表_RW ad.m_EleCylinderAbsTestPos = m_EleCylinderAbsTestPos->GetValue(); //电缸升降轴绝对值试运行位置列表_RW ad.LoadAxisAbsTestPos = m_LoadAxisAbsTestPos->GetValue(); //移载轴绝对值试运行位置列表_RW ad.ArmAbsTestPos = m_ArmAbsTestPos->GetValue(); //铺粉轴绝对值试运行位置列表_RW ad.LineEncMoveValue = m_LineEncMoveValue->GetValue(); //光栅尺移动值_R ad.LineEncPulseEqu = m_LineEncPulseEqu->GetValue(); //光栅尺脉冲当量_RW ad.MoldMainHomeIndexEnc = m_MoldMainHomeIndexEnc->GetValue(); //打印主轴原点编码器值_RW ad.MoldMainAlignEnc = m_MoldMainAlignEnc->GetValue(); //打印主轴对齐位编码器值_RW ad.MoldMainAlignHomeRel = m_MoldMainAlignHomeRel->GetValue(); //打印主轴对齐位与原点相对值_RW ad.MoldSlaveHomeIndexEnc = m_MoldSlaveHomeIndexEnc->GetValue(); //打印从轴原点编码器值_RW ad.MoldSlaveAlignEnc = m_MoldSlaveAlignEnc->GetValue(); //打印从轴对齐位编码器值_RW ad.MoldSlaveAlignHomeRel = m_MoldSlaveAlignHomeRel->GetValue(); //打印从轴对齐位与原点相对值_RW ad.CleanMainHomeIndexEnc = m_CleanMainHomeIndexEnc->GetValue(); //清粉主轴原点编码器值_RW ad.CleanMainAlignEnc = m_CleanMainAlignEnc->GetValue(); //清粉主轴对齐位编码器值_RW ad.CleanMainAlignHomeRel = m_CleanMainAlignHomeRel->GetValue(); //清粉主轴对齐位与原点相对值_RW ad.CleanSlaveHomeIndexEnc = m_CleanSlaveHomeIndexEnc->GetValue(); //清粉从轴原点编码器值_RW ad.CleanSlaveAlignEnc = m_CleanSlaveAlignEnc->GetValue(); //清粉从轴对齐位编码器值_RW ad.CleanSlaveAlignHomeRel = m_CleanSlaveAlignHomeRel->GetValue(); //清粉从轴对齐位与原点相对值_RW ad.m_EleCylinderMainHomeIndexEnc = m_EleCylinderMainHomeIndexEnc->GetValue(); //电缸主轴原点编码器值_RW ad.m_EleCylinderMainAlignEnc = m_EleCylinderMainAlignEnc->GetValue(); //电缸主轴对齐位编码器值_RW ad.m_EleCylinderMainAlignHomeRel = m_EleCylinderMainAlignHomeRel->GetValue(); //电缸主轴对齐位与原点相对值_RW ad.m_EleCylinderSlaveHomeIndexEnc = m_EleCylinderSlaveHomeIndexEnc->GetValue(); //电缸从轴原点编码器值_RW ad.m_EleCylinderSlaveAlignEnc = m_EleCylinderSlaveAlignEnc->GetValue(); //电缸从轴对齐位编码器值_RW ad.m_EleCylinderSlaveAlignHomeRel = m_EleCylinderSlaveAlignHomeRel->GetValue(); //电缸从轴对齐位与原点相对值_RW ad.MoldAutoSpeed = m_MoldAutoSpeed->GetValue(); //打印升降轴速度_自动_RW ad.MoldAutoAcc = m_MoldAutoAcc->GetValue(); //打印升降轴加速度_自动_RW ad.MoldAutoDec = m_MoldAutoDec->GetValue(); //打印升降轴减速度_自动_RW ad.MoldAutoRelShift = m_MoldAutoRelShift->GetValue(); //打印升降轴相对位移_自动_RW ad.MoldAutoAbsPos = m_MoldAutoAbsPos->GetValue(); //打印升降轴绝对位置_自动_RW ad.CleanAutoSpeed = m_CleanAutoSpeed->GetValue(); //清粉升降轴速度_自动_RW ad.CleanAutoAcc = m_CleanAutoAcc->GetValue(); //清粉升降轴加速度_自动_RW ad.CleanAutoDec = m_CleanAutoDec->GetValue(); //清粉升降轴减速度_自动_RW ad.CleanAutoRelShift = m_CleanAutoRelShift->GetValue(); //清粉升降轴相对位移_自动_RW ad.CleanAutoAbsPos = m_CleanAutoAbsPos->GetValue(); //清粉升降轴绝对位置_自动_RW ad.m_EleCylinderAutoSpeed = m_EleCylinderAutoSpeed->GetValue(); //电缸升降轴速度_自动_RW ad.m_EleCylinderAutoAcc = m_EleCylinderAutoAcc->GetValue(); //电缸升降轴加速度_自动_RW ad.m_EleCylinderAutoDec = m_EleCylinderAutoDec->GetValue(); //电缸升降轴减速度_自动_RW ad.m_EleCylinderAutoRelShift = m_EleCylinderAutoRelShift->GetValue(); //电缸升降轴相对位移_自动_RW ad.m_EleCylinderAutoAbsPos = m_EleCylinderAutoAbsPos->GetValue(); //电缸升降轴绝对位置_自动_RW ad.LoadAxisAutoSpeed = m_LoadAxisAutoSpeed->GetValue(); //移载轴速度_自动_RW ad.LoadAxisnAutoAcc = m_LoadAxisnAutoAcc->GetValue(); //移载轴加速度_自动_RW ad.LoadAxisAutoDec = m_LoadAxisAutoDec->GetValue(); //移载轴减速度_自动_RW ad.LoadAxisAutoRelShift = m_LoadAxisAutoRelShift->GetValue(); //移载轴相对位移_自动_RW ad.LoadAxisAutoAbsPos = m_LoadAxisAutoAbsPos->GetValue(); //移载轴绝对位置_自动_RW ad.ArmAutoSpeed = m_ArmAutoSpeed->GetValue(); //铺粉轴速度_自动_RW ad.ArmAxisnAutoAcc = m_ArmAxisnAutoAcc->GetValue(); //铺粉轴加速度_自动_RW ad.ArmAxisAutoDec = m_ArmAxisAutoDec->GetValue(); //铺粉轴减速度_自动_RW ad.ArmAxisAutoRelShift = m_ArmAxisAutoRelShift->GetValue(); //铺粉轴相对位移_自动_RW ad.ArmAxisAutoAbsPos = m_ArmAxisAutoAbsPos->GetValue(); //铺粉轴绝对位置_自动_RW ad.SupplyAutoSpeed = m_SupplyAutoSpeed->GetValue(); //供粉转轴速度_自动_RW ad.SupplyAxisnAutoAcc = m_SupplyAxisnAutoAcc->GetValue(); //供粉转轴加速度_自动_RW ad.SupplyAxisAutoDec = m_SupplyAxisAutoDec->GetValue(); //供粉转轴减速度_自动_RW ad.SupplyAxisAutoRelShift = m_SupplyAxisAutoRelShift->GetValue(); //供粉转轴相对位移_自动_RW ad.SupplyAxisAutoAbsPos = m_SupplyAxisAutoAbsPos->GetValue(); //供粉转轴绝对位置_自动_RW //CoverCfg* coverCfg = ConfigManager::GetInstance()->GetCoverCfg(); ad.Print3RSeparatTorqueThreshold = m_Print3RSeparatTorqueThreshold->GetValue(); //打印3R脱离扭力报警值_RW Real ad.MoldUpTorqueThrehold = m_MoldUpTorqueThrehold->GetValue(); //打印升降轴上升扭力报警值_RW Real ad.MoldDownTorqueThrehold = m_MoldDownTorqueThrehold->GetValue(); //打印升降轴下降扭力报警值_RW Real ad.Clean3RSeparatTorqueThrehold = m_Clean3RSeparatTorqueThrehold->GetValue(); //清粉3R脱离扭力报警值_RW Real ad.CleanUpTorqueThrehold = m_CleanUpTorqueThrehold->GetValue(); //清粉升降轴上升扭力报警值_RW Real ad.CleanDownTorqueThreshold = m_CleanDownTorqueThreshold->GetValue(); //清粉升降轴下降扭力报警值_RW Real ad.m_EleCylinderUpTorqueThrehold = m_EleCylinderUpTorqueThrehold->GetValue(); //电缸升降轴上升扭力报警值_RW Real ad.m_EleCylinderDownTorqueThreshold = m_EleCylinderDownTorqueThreshold->GetValue(); //电缸升降轴下降扭力报警值_RW Real ad.CoverType = m_CoverType->GetValue(); //铺粉类型__RW Int //coverCfg->m_CoverDirection = ad.CoverType; ad.CoverSpeed = m_CoverSpeed->GetValue(); //打印铺粉速度_RW Real //coverCfg->m_cover_speed = ad.CoverSpeed; ad.CoverReturnSpeed = m_CoverReturnSpeed->GetValue(); //打印单向铺粉返回变速_RW Real ad.CoverDistance = m_CoverDistance->GetValue(); //打印单向铺粉距离_RW Real ad.LayerThick = m_LayerThick->GetValue(); //打印铺粉层厚_RW Real ad.FixGap = m_FixGap->GetValue(); //打印间隙补偿_RW Real ad.SupplyCount = m_SupplyCount->GetValue(); //打印铺粉格数_RW Int ad.SupplyTime = m_SupplyTime->GetValue(); //打印下粉时间_RW Time ad.DebugLayerThick = m_DebugLayerThick->GetValue(); //铺粉调试层厚_RW Real ad.DebugFixGap = m_DebugFixGap->GetValue(); //铺粉调试间隙_RW Real ad.DebugSupplyTime = m_DebugSupplyTime->GetValue(); //铺粉调试下粉时间_RW Time ad.DebugSupplyCount = m_DebugSupplyCount->GetValue(); //铺粉调试格数_RW Int ad.DebugCoverDistance = m_DebugCoverDistance->GetValue(); //铺粉调试铺粉距离_RW Real ad.MoldHighSpeed = m_MoldHighSpeed->GetValue(); //打印升降轴快速移动速度_RW Real ad.MoldDeoxygenSpeed = m_MoldDeoxygenSpeed->GetValue(); //打印升降轴下降除氧位速度_RW Real ad.CleanHighSpeed = m_CleanHighSpeed->GetValue(); //清粉升降轴快速移动速度_RW Real ad.PrintPressureThrehold = m_PrintPressureThrehold->GetValue(); //打印室压力泄压值_RW Real ad.MoldDeoxygenTime = m_MoldDeoxygenTime->GetValue(); //打印升降轴除氧时间_RW Time ad.PowderCarDeoxygenTime = m_PowderCarDeoxygenTime->GetValue(); //存粉小车除氧时间_RW Time ad.GratingRulerValue = m_GratingRulerValue->GetValue(); //光栅尺判断值 Real ad.ArmTorqueThreshold = m_ArmTorqueThreshold->GetValue(); //铺粉轴扭力报警值 ad.LoadTorqueThreshold = m_LoadTorqueThreshold->GetValue(); //移载轴扭力报警值 ad.SupplyTorqueThreshold = m_SupplyTorqueThreshold->GetValue(); //供粉轴扭力报警值 ad.m_SupplyPowderGridPerCycle = m_SupplyPowderGridPerCycle->GetValue(); ad.m_SupplyAxisAnglePerGrid = m_SupplyAxisAnglePerGrid->GetValue(); ad.m_DataMaxY = m_DataSizeMaxY->GetValue(); ad.m_DataMinY = m_DataSizeMinY->GetValue(); ad.m_ArmBackAcceptPos = m_ArmBackAcceptPos->GetValue(); ad.m_LoadSearchEdgeTorqueAlarmValue = m_LoadSearchEdgeTorqueAlarmValue->GetValue(); ad.m_UnloadDropDistance = m_UnloadDropDistance->GetValue(); ad.m_AllowPrintHigh = m_AllowPrintHigh->GetValue(); } void StateCtrlWrapper::Init(PLCReveiver* cc) { int addr = 0; m_MoldMainServoOn = new SysParamBool(addr++, 14, cc, u8"打印主轴伺服ON_RW", "MoldMainServoOn"); m_MoldMainServoHomeIndexOn = new SysParamBool(addr++, 14, cc, u8"打印主轴伺服ON_RW", "MoldMainServoHomeIndexOn"); m_MoldMainServoReset = new SysParamBool(addr++, 14, cc, u8"打印主轴伺服复位_RW", "MoldMainServoReset"); m_MoldMainServoBreakOn = new SysParamBool(addr++, 14, cc, u8"打印主轴伺服刹车_RW", "MoldMainServoBreakOn"); m_MoldMainBindSlaveOn = new SysParamBool(addr++, 14, cc, u8"打印主轴伺服绑定从轴_RW", "MoldMainBindSlaveOn"); m_MoldMainMoveUp = new SysParamBool(addr++, 14, cc, u8"打印主轴相对上运动_手动_RW", "MoldMainMoveUp"); m_MoldMainMoveDown = new SysParamBool(addr++, 14, cc, u8"打印主轴相对下运动_手动_RW", "MoldMainMoveDown"); m_MoldMainMoveUpContinue = new SysParamBool(addr++, 14, cc, u8"打印主轴上JOG_手动_RW", "MoldMainMoveUpContinue"); m_MoldMainMoveDownContinue = new SysParamBool(addr++, 14, cc, u8"打印主轴下JOG_手动_RW", "MoldMainMoveDownContinue"); m_MoldMainMoveAbsPos = new SysParamBool(addr++, 14, cc, u8"打印主轴绝对值运动_手动_RW", "MoldMainMoveAbsPos"); m_MoldMainMotionStop = new SysParamBool(addr++, 14, cc, u8"打印主轴急停_RW", "MoldMainMotionStop"); addr += 37; m_MoldSlaveServoOn = new SysParamBool(addr++, 14, cc, u8"打印从轴伺服ON_RW", "MoldSlaveServoOn"); m_MoldSlaveServoHomeIndexOn = new SysParamBool(addr++, 14, cc, u8"打印从轴伺服成立原点_RW", "MoldSlaveServoHomeIndexOn"); m_MoldSlaveServoReset = new SysParamBool(addr++, 14, cc, u8"打印从轴伺服复位_RW", "MoldSlaveServoReset"); m_MoldSlaveServoBreakOn = new SysParamBool(addr++, 14, cc, u8"打印从轴伺服刹车_RW", "MoldSlaveServoBreakOn"); m_MoldSlaveUnbind = new SysParamBool(addr++, 14, cc, u8"打印从轴伺服解除绑定_RW", "MoldSlaveUnbind"); m_MoldSlaveMoveUp = new SysParamBool(addr++, 14, cc, u8"打印从轴相对上运动_手动_RW", "MoldSlaveMoveUp"); m_MoldSlaveMoveDown = new SysParamBool(addr++, 14, cc, u8"打印从轴相对下运动_手动_RW", "MoldSlaveMoveDown"); m_MoldSlaveMoveUpContinue = new SysParamBool(addr++, 14, cc, u8"打印从轴上JOG_手动_RW", "MoldSlaveMoveUpContinue"); m_MoldSlaveMoveDownContinue = new SysParamBool(addr++, 14, cc, u8"打印从轴下JOG_手动_RW", "MoldSlaveMoveDownContinue"); m_MoldSlaveMoveAbsPos = new SysParamBool(addr++, 14, cc, u8"打印从轴绝对值运动_手动_RW", "MoldSlaveMoveAbsPos"); m_MoldSlaveMotionStop = new SysParamBool(addr++, 14, cc, u8"打印从轴急停_RW", "MoldSlaveMotionStop"); addr += 37; m_CleanMainServoOn = new SysParamBool(addr++, 14, cc, u8"清粉主轴伺服ON_RW", "CleanMainServoOn"); m_CleanMainServoHomeIndexOn = new SysParamBool(addr++, 14, cc, u8"清粉主轴伺服成立原点_RW", "CleanMainServoHomeIndexOn"); m_CleanMainServoReset = new SysParamBool(addr++, 14, cc, u8"清粉主轴伺服复位_RW", "CleanMainServoReset"); m_CleanMainServoBreakOn = new SysParamBool(addr++, 14, cc, u8"清粉主轴伺服刹车_RW", "CleanMainServoBreakOn"); m_CleanMainBindSlaveOn = new SysParamBool(addr++, 14, cc, u8"清粉主轴伺服绑定从轴_RW", "CleanMainBindSlaveOn"); m_CleanMainMoveUp = new SysParamBool(addr++, 14, cc, u8"清粉主轴相对上运动_手动_RW", "CleanMainMoveUp"); m_CleanMainMoveDown = new SysParamBool(addr++, 14, cc, u8"清粉主轴相对下运动_手动_RW", "CleanMainMoveDown"); m_CleanMainMoveUpContinue = new SysParamBool(addr++, 14, cc, u8"清粉主轴上JOG_手动_RW", "CleanMainMoveUpContinue"); m_CleanMainMoveDownContinue = new SysParamBool(addr++, 14, cc, u8"清粉主轴下JOG_手动_RW", "CleanMainMoveDownContinue"); m_CleanMainMoveAbsPos = new SysParamBool(addr++, 14, cc, u8"清粉主轴绝对值运动_手动_RW", "CleanMainMoveAbsPos"); m_CleanMainMotionStop = new SysParamBool(addr++, 14, cc, u8"清粉主轴急停_RW", "CleanMainMotionStop"); addr += 37; m_CleanSlaveServoOn = new SysParamBool(addr++, 14, cc, u8"清粉从轴伺服ON_RW", "CleanSlaveServoOn"); m_CleanSlaveServoHomeIndexOn = new SysParamBool(addr++, 14, cc, u8"清粉从轴伺服成立原点_RW", "CleanSlaveServoHomeIndexOn"); m_CleanSlaveServoReset = new SysParamBool(addr++, 14, cc, u8"清粉从轴伺服复位_RW", "CleanSlaveServoReset"); m_CleanSlaveServoBreakOn = new SysParamBool(addr++, 14, cc, u8"清粉从轴伺服刹车_RW", "CleanSlaveServoBreakOn"); m_CleanSlaveUnbind = new SysParamBool(addr++, 14, cc, u8"清粉从轴伺服解除绑定_RW", "CleanSlaveUnbind"); m_CleanSlaveMoveUp = new SysParamBool(addr++, 14, cc, u8"清粉从轴相对上运动_手动_RW", "CleanSlaveMoveUp"); m_CleanSlaveMoveDown = new SysParamBool(addr++, 14, cc, u8"清粉从轴相对下运动_手动_RW", "CleanSlaveMoveDown"); m_CleanSlaveMoveUpContinue = new SysParamBool(addr++, 14, cc, u8"清粉从轴上JOG_手动_RW", "CleanSlaveMoveUpContinue"); m_CleanSlaveMoveDownContinue = new SysParamBool(addr++, 14, cc, u8"清粉从轴下JOG_手动_RW", "CleanSlaveMoveDownContinue"); m_CleanSlaveMoveAbsPos = new SysParamBool(addr++, 14, cc, u8"清粉从轴绝对值运动_手动_RW", "CleanSlaveMoveAbsPos"); m_CleanSlaveMotionStop = new SysParamBool(addr++, 14, cc, u8"清粉从轴急停_RW", "CleanSlaveMotionStop"); addr += 37; m_LoadAxisServoOn = new SysParamBool(addr++, 14, cc, u8"移载轴伺服ON_RW", "LoadAxisServoOn"); m_LoadAxisServoHomeIndexOn = new SysParamBool(addr++, 14, cc, u8"移载轴伺服成立原点_RW", "LoadAxisServoHomeIndexOn"); m_LoadAxisServoReset = new SysParamBool(addr++, 14, cc, u8"移载轴伺服复位_RW", "LoadAxisServoReset"); m_LoadAxisMoveLeft = new SysParamBool(addr++, 14, cc, u8"移载轴相对左运动_手动_RW", "LoadAxisMoveLeft"); m_LoadAxisMoveRight = new SysParamBool(addr++, 14, cc, u8"移载轴相对右运动_手动_RW", "LoadAxisMoveRight"); m_LoadAxisMoveLeftContinue = new SysParamBool(addr++, 14, cc, u8"移载轴左JOG_手动_RW", "LoadAxisMoveLeftContinue"); m_LoadAxisMoveRightContinue = new SysParamBool(addr++, 14, cc, u8"移载轴右JOG_手动_RW", "LoadAxisMoveRightContinue"); m_LoadAxisMoveAbsPos = new SysParamBool(addr++, 14, cc, u8"移载轴绝对值运动_手动_RW", "LoadAxisMoveAbsPos"); m_LoadAxisMotionStop = new SysParamBool(addr++, 14, cc, u8"移载轴急停_RW", "LoadAxisMotionStop"); addr += 23; m_ArmServoOn = new SysParamBool(addr++, 14, cc, u8"铺粉轴伺服ON_RW", "ArmServoOn"); m_ArmServoHomeIndexOn = new SysParamBool(addr++, 14, cc, u8"铺粉轴伺服成立原点_RW", "ArmServoHomeIndexOn"); m_ArmServoReset = new SysParamBool(addr++, 14, cc, u8"铺粉轴伺服复位_RW", "ArmServoReset"); m_ArmMoveFront = new SysParamBool(addr++, 14, cc, u8"铺粉轴相对前运动_手动_RW", "ArmMoveFront"); m_ArmMoveBack = new SysParamBool(addr++, 14, cc, u8"铺粉轴相对后运动_手动_RW", "ArmMoveBack"); m_ArmMoveFrontContinue = new SysParamBool(addr++, 14, cc, u8"铺粉轴前JOG_手动_RW", "ArmMoveFrontContinue"); m_ArmMoveBackContinue = new SysParamBool(addr++, 14, cc, u8"铺粉轴后JOG_手动_RW", "ArmMoveBackContinue"); m_ArmMoveAbsPos = new SysParamBool(addr++, 14, cc, u8"铺粉轴绝对值运动_手动_RW", "ArmMoveAbsPos"); m_ArmMotionStop = new SysParamBool(addr++, 14, cc, u8"铺粉轴急停_RW", "ArmMotionStop"); addr += 23; m_SupplyServoOn = new SysParamBool(addr++, 14, cc, u8"供粉转轴伺服ON_RW", "SupplyServoOn"); m_SupplyServoHomeIndexOn = new SysParamBool(addr++, 14, cc, u8"供粉转轴伺服成立原点_RW", "SupplyServoHomeIndexOn"); m_SupplyServoReset = new SysParamBool(addr++, 14, cc, u8"供粉转轴伺服复位_RW", "SupplyServoReset"); m_SupplyMovePositive = new SysParamBool(addr++, 14, cc, u8"供粉转轴相对正转运动_手动_RW", "SupplyMovePositive"); m_SupplyMoveNegative = new SysParamBool(addr++, 14, cc, u8"供粉转轴相对反转运动_手动_RW", "SupplyMoveNegative"); m_SupplyMovePositiveContinue = new SysParamBool(addr++, 14, cc, u8"供粉转轴正转JOG_手动_RW", "SupplyMovePositiveContinue"); m_SupplyMoveNegativeContinue = new SysParamBool(addr++, 14, cc, u8"供粉转轴反转JOG_手动_RW", "SupplyMoveNegativeContinue"); m_SupplyMoveAbsPos = new SysParamBool(addr++, 14, cc, u8"供粉转轴绝对值运动_手动_RW", "SupplyMoveAbsPos"); m_SupplyMotionStop = new SysParamBool(addr++, 14, cc, u8"供粉转轴急停_RW", "SupplyMotionStop"); } void AxisRecordWrapper::Init(PLCReveiver* cc) { int addr = 36 * 8; m_MoldCylinderSeparatePosRecord = new SysParamBool(addr++, 14, cc,"MoldCylinderSeparatePosRecord",u8"打印升降与缸体分离位记录"); m_PrintMoldSafePosRecord = m_MoldCylinderSeparatePosRecord; // m_PrintMoldSafePosRecord->SetInfo(u8"打印升降轴安全位记录","PrintMoldSafePosRecord"); m_Print3RSeparateRecord = new SysParamBool(addr++, 14, cc, "Print3RSeparateRecord", u8"打印3R脱离位记录"); m_Print3RSeparateCheckDistanceRecord = new SysParamBool(addr++, 14, cc, "Print3RSeparateCheckDistanceRecord", u8"打印3R脱离检测距离记录"); m_PrintJackupDeoxygenMinPosRecord = new SysParamBool(addr++, 14, cc, "PrintJackupDeoxygenMinPosRecord", u8"打印顶升轴除氧压缩最低点记录__RW"); m_PrintJackupPlatformBottomPosRecord = new SysParamBool(addr++, 14, cc, "PrintJackupPlatformBottomPosRecord", u8"打印顶升轴基板底座缸平面位置记录__RW"); m_PrintJackupPlatformPlanePosRecord = new SysParamBool(addr++, 14, cc, "PrintJackupPlatformPlanePosRecord", u8"打印顶升轴基板缸平面位置记录_RW"); m_PrintPlatformHightRecord = new SysParamBool(addr++, 14, cc, "PrintPlatformHightRecord", u8"打印基板厚度计算__RW"); m_MoldUpLimitPosRecord = new SysParamBool(addr++, 14, cc, "MoldUpLimitPosRecord", u8"打印轴上软限位记录_RW"); m_MoldDownLimitPosRecord = new SysParamBool(addr++, 14, cc, "MoldDownLimitPosRecord", u8"打印升降轴下软限位记录_RW"); int tempAddr = addr; m_CleanTrackConnectPosRecord = new SysParamBool(addr++, 14, cc, "CleanTrackConnectPosRecord", u8"清粉升降轨道对接位记录_RW"); m_CleanAxisPlatformAlignPosRecord = new SysParamBool(tempAddr, 14, cc, "CleanAxisPlatformAlignPosRecord", u8"清粉升降基板底座缸平面记录"); m_CleanBoxCylinderConnectPosRecord = new SysParamBool(addr++, 14, cc, "CleanBoxCylinderConnectPosRecord", u8"清粉箱与缸体对接位记录_RW"); m_Clean3RSeparatePosRecord = new SysParamBool(addr++, 14, cc, "Clean3RSeparatePosRecord", u8"清粉升降3R对接分离位记录_RW"); m_Clean3RSeparateCheckDistanceRecord = new SysParamBool(addr++, 14, cc, "Clean3RSeparateCheckDistanceRecord", u8"清粉升降3R分离检测距离记录_RW"); m_CleanLowestPosRecord = new SysParamBool(addr++, 14, cc, "CleanLowestPosRecord", u8"清粉升降最低点记录_RW"); m_CleanUpLimitRecord = new SysParamBool(addr++, 14, cc, "CleanUpLimitRecord", u8"清粉升降上软限位记录_RW"); m_CleanDownLimitRecord = new SysParamBool(addr++, 14, cc, "CleanDownLimitRecord", u8"清粉升降下软限位记录_RW"); m_EleCylinderPrintJackupPosRecord = m_CleanTrackConnectPosRecord; m_EleCylinderCleanJackupPosRecord = m_CleanBoxCylinderConnectPosRecord; m_EleCylinderBottomFitPosRecord = m_Clean3RSeparatePosRecord; m_EleCylinderSoftUpLimitRecord = m_CleanUpLimitRecord; m_EleCylinderSoftDownLimitRecord = m_CleanDownLimitRecord; m_EleCylinderPrintJackupPosRecord->SetInfo(u8"电缸打印顶升位置记录", "m_EleCylinderPrintJackupPosRecord"); m_EleCylinderCleanJackupPosRecord->SetInfo(u8"电缸清粉顶升位置记录", "m_EleCylinderCleanJackupPosRecord"); m_EleCylinderBottomFitPosRecord->SetInfo(u8"电缸底座贴合位置记录", "m_EleCylinderBottomFitPosRecord"); m_EleCylinderSoftUpLimitRecord->SetInfo(u8"电缸升降上软限位记录", "m_EleCylinderSoftUpLimitRecord"); m_EleCylinderSoftDownLimitRecord->SetInfo(u8"电缸升降下软限位记录", "m_EleCylinderSoftDownLimitRecord"); m_LoadAxisTrackPrintPosRecord = new SysParamBool(addr++, 14, cc, "LoadAxisTrackPrintPosRecord", u8"移载轴轨道打印位记录_RW"); m_LoadAxisTrackCleanPosRecord = new SysParamBool(addr++, 14, cc, "LoadAxisTrackCleanPosRecord", u8"移载轴轨道清粉位记录_RW"); m_LoadAxisTrackWaitPosRecord = new SysParamBool(addr++, 14, cc, "LoadAxisTrackWaitPosRecord", u8"移载轴轨道等待位记录_RW"); m_LoadAxisLeftLimitRecord = new SysParamBool(addr++, 14, cc, "LoadAxisLeftLimitRecord", u8"移载轴轨道左软限位记录_RW"); m_LoadAxisRightLimitRecord = new SysParamBool(addr++, 14, cc, "LoadAxisRightLimitRecord", u8"移载轴轨道右软限位记录_RW"); m_ArmPowderAcceptPosRecord = new SysParamBool(addr++, 14, cc, "ArmPowderAcceptPosRecord", u8"铺粉轴接粉位记录_RW"); m_ArmPowderDropFrontPosRecord = new SysParamBool(addr++, 14, cc, "ArmPowderDropFrontPosRecord", u8"铺粉轴前下粉位记录_RW"); m_ArmPrintFrontLimitRecord = new SysParamBool(addr++, 14, cc, "ArmPrintFrontLimitRecord", u8"铺粉轴打印面前限位记录_RW"); m_ArmPrintBackLimitRecord = new SysParamBool(addr++, 14, cc, "ArmPrintBackLimitRecord", u8"铺粉轴打印面后限位记录_RW"); m_ArmFrontLimitRecord = new SysParamBool(addr++, 14, cc, "ArmFrontLimitRecord", u8"铺粉轴前软限位记录_RW"); m_ArmBackLimitRecord = new SysParamBool(addr++, 14, cc, "ArmBackLimitRecord", u8"铺粉轴后软限位记录_RW"); m_BlockMoldSoftPosLimit = new SysParamBool(addr++, 14, cc, "BlockMoldSoftPosLimit", u8"屏蔽打印轴软件位置限制_RW"); m_BlockCleanSoftPosLimit = new SysParamBool(addr++, 14, cc, "BlockCleanSoftPosLimit", u8"屏蔽清粉轴软件位置限制_RW"); m_BlockLoadAxisSoftPosLimit = new SysParamBool(addr++, 14, cc, "BlockLoadAxisSoftPosLimit", u8"屏蔽移载轴软件位置限制_RW"); m_BlockArmSoftPosLimit = new SysParamBool(addr++, 14, cc, "BlockArmSoftPosLimit", u8"屏蔽铺粉轴软件位置限制_RW"); m_SupplySoftPosLimit = new SysParamBool(addr++, 14, cc, "SupplySoftPosLimit", u8"屏蔽供粉转轴软件位置限制_RW"); m_MoldMainHomeIndexRecord = new SysParamBool(addr++, 14, cc, "MoldMainHomeIndexRecord", u8"打印主轴原点位记录_RW"); m_MoldMainAlignRecord = new SysParamBool(addr++, 14, cc, "MoldMainAlignRecord", u8"打印主轴对齐位记录_RW"); m_MoldMainAlignHomeIndexRelRecord = new SysParamBool(addr++, 14, cc, "MoldMainAlignHomeIndexRelRecord", u8"打印主轴对齐位与原点相对值记录_RW"); m_MoldSlaveHomeIndexRecord = new SysParamBool(addr++, 14, cc, "MoldSlaveHomeIndexRecord", u8"打印从轴原点位记录_RW"); m_MoldSlaveAlignRecord = new SysParamBool(addr++, 14, cc, "MoldSlaveAlignRecord", u8"打印从轴对齐位记录_RW"); m_MoldSlaveAlignHomeIndexRelRecord = new SysParamBool(addr++, 14, cc, "MoldSlaveAlignHomeIndexRelRecord", u8"打印从轴对齐位与原点相对值记录_RW"); m_CleanMainHomeIndexRecord = new SysParamBool(addr++, 14, cc, "CleanMainHomeIndexRecord", u8"清粉主轴原点位记录_RW"); m_CleanMainAlignRecord = new SysParamBool(addr++, 14, cc, "CleanMainAlignRecord", u8"清粉主轴对齐位记录_RW"); m_CleanMainAlignHomeIndexRelRecord = new SysParamBool(addr++, 14, cc, "CleanMainAlignHomeIndexRelRecord", u8"清粉主轴对齐位与原点相对值记录_RW"); m_CleanSlaveHomeIndexRecord = new SysParamBool(addr++, 14, cc, "CleanSlaveHomeIndexRecord", u8"清粉从轴原点位记录_RW"); m_CleanSlaveAlignRecord = new SysParamBool(addr++, 14, cc, "CleanSlaveAlignRecord", u8"清粉从轴对齐位记录_RW"); m_CleanSlaveAlignHomeIndexRelRecord = new SysParamBool(addr++, 14, cc, "CleanSlaveAlignHomeIndexRelRecord", u8"清粉从轴对齐位与原点相对值记录_RW"); m_EleCylinderMainHomeIndexRecord = m_CleanMainHomeIndexRecord; //电缸主轴原点位记录_RW m_EleCylinderMainAlignRecord = m_CleanMainAlignRecord; //电缸主轴对齐位记录_RW m_EleCylinderMainAlignHomeIndexRelRecord = m_CleanMainAlignHomeIndexRelRecord; //电缸主轴对齐位与原点相对值记录_RW m_EleCylinderSlaveHomeIndexRecord = m_CleanSlaveHomeIndexRecord; //电缸从轴原点位记录_RW m_EleCylinderSlaveAlignRecord = m_CleanSlaveAlignRecord; //电缸从轴对齐位记录_RW m_EleCylinderSlaveAlignHomeIndexRelRecord = m_CleanSlaveAlignHomeIndexRelRecord; //电缸从轴对齐位与原点相对值记录_RW m_EleCylinderMainHomeIndexRecord->SetInfo(u8"电缸主轴原点位记录_RW", "EleCylinderMainHomeIndexRecord"); m_EleCylinderMainAlignRecord->SetInfo(u8"电缸主轴对齐位记录_RW", "EleCylinderMainAlignRecord"); m_EleCylinderMainAlignHomeIndexRelRecord->SetInfo(u8"电缸主轴对齐位与原点相对值记录_RW", "EleCylinderMainAlignHomeIndexRelRecord"); m_EleCylinderSlaveHomeIndexRecord->SetInfo(u8"电缸从轴原点位记录_RW", "EleCylinderSlaveHomeIndexRecord"); m_EleCylinderSlaveAlignRecord->SetInfo(u8"电缸从轴对齐位记录_RW", "EleCylinderSlaveAlignRecord"); m_EleCylinderSlaveAlignHomeIndexRelRecord->SetInfo(u8"电缸从轴对齐位与原点相对值记录_RW", "EleCylinderSlaveAlignHomeIndexRelRecord"); m_LoadSearchEdge = new SysParamBool(addr++, 14, cc, "LoadSearchEdge", u8"移载轴寻边功能测试_手动_RW"); m_LoadSearchEdgeFinish = new SysParamBool(addr++, 14, cc, "LoadSearchEdgeFinish", u8"移载轴寻边功能测试完成_手动_RW"); m_DisableMoldTorqueCheck = new SysParamBool(addr++, 14, cc, "DisableMoldTorqueCheck", u8"屏蔽打印升降轴扭力判断"); m_DisableCleanTorqueCheck = new SysParamBool(addr++, 14, cc, "DisableCleanTorqueCheck", u8"屏蔽清粉升降轴扭力判断"); m_DisableEleCylinderTorqueCheck = m_DisableCleanTorqueCheck; m_DisableEleCylinderTorqueCheck->SetInfo(u8"屏蔽电缸升降轴扭力判断", "DisableEleCylinderTorqueCheck"); m_DisableLoadTorqueCheck = new SysParamBool(addr++, 14, cc, "DisableLoadTorqueCheck", u8"屏蔽移载轴扭力判断"); m_DisableArmTorqueCheck = new SysParamBool(addr++, 14, cc, "DisableArmTorqueCheck", u8"屏蔽铺粉轴扭力判断"); m_DisableSupplyTorqueCheck = new SysParamBool(addr++, 14, cc, "DisableSupplyTorqueCheck", u8"屏蔽供粉转轴扭力判断"); m_PCPrintUpDownOverLimitAlarm = new SysParamBool(addr++, 14, cc, "PCPrintUpDownOverLimitAlarm", u8"PC打印升降轴超限报警"); m_PCPrintUpDownOverLimitAlarmRemove = new SysParamBool(addr++, 14, cc, "PCPrintUpDownOverLimitAlarmRemove", u8"PC打印升降轴超限解除"); m_PCCleanUpDownOverLimitAlarm = new SysParamBool(addr++, 14, cc, "PCCleanUpDownOverLimitAlarm", u8"PC清粉升降轴超限报警"); m_PCCleanUpDownOverLimitAlarmRemove = new SysParamBool(addr++, 14, cc, "PCCleanUpDownOverLimitAlarmRemove", u8"PC清粉升降轴超限解除"); m_PCLoadOverLimitAlarm = new SysParamBool(addr++, 14, cc, "PCLoadOverLimitAlarm", u8"PC移载轴超限报警"); m_PCLoadOverLimitAlarmRemove = new SysParamBool(addr++, 14, cc, "PCLoadOverLimitAlarmRemove", u8"PC移载轴超限解除"); m_PCArmOverLimitAlarm = new SysParamBool(addr++, 14, cc, "PCArmOverLimitAlarm", u8"PC铺粉轴超限报警"); m_PCArmOverLimitAlarmRemove = new SysParamBool(addr++, 14, cc, "PCArmOverLimitAlarmRemove", u8"PC铺粉轴超限解除"); m_LoadHandPosRecord = m_PCPrintUpDownOverLimitAlarm; m_LoadHandCrashPosRecord = m_PCPrintUpDownOverLimitAlarmRemove; m_LoadHandPosRecord->SetInfo(u8"移载轴吊装位记录", "LoadHandPosRecord"); m_LoadHandCrashPosRecord->SetInfo(u8"移载吊装碰撞位记录", "LoadHandCrashPosRecord"); }