#include "HBDE1000.h" #include "../external/imgui/imgui.h" #include "../external/imgui/imgui_custom.h" #include "../PLC/SignalService.h" #include "../global.h" #include "../config/ConfigManager.h" #include "../ChartletManager.h" #include "../Toast.h" #include "../SystemInfo.h" #include "../Logger.h" #include "../DataManage/DataHandle.h" const int HBDE1000::IO_V0 = 0; HBDE1000::HBDE1000(MachineTypeCfg::MachineTypeId type) :Machine(type) { //m_IoRef[IO_V0] = &HBDE1000::CheckIO_V0; } HBDE1000::~HBDE1000() { } void HBDE1000::CheckIO() { CheckIO_V0(); } void HBDE1000::CheckIO_V0(/*vector&ins, IOCfgWrapper* iocfgWrapper, string strsql, int mtype*/) { vector ins; IOCfgWrapper* iocfgWrapper = m_IOCfgWrapper; string strsql; int mtype = m_Type; char buffer[1024]; int statusStartIndex = 192; int ctrlStartIndex = 304; int flag = 0; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "ServoMotor", u8"伺服电源", SUPER); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser", u8"激光器"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser1Enable", u8"激光1使能"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser1Start", u8"激光1启动"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser1Red", u8"激光1红光"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser2Enable", u8"激光2使能"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser2Start", u8"激光2启动"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser2Red", u8"激光2红光"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser3Enable", u8"激光3使能"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser3Start", u8"激光3启动"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser3Red", u8"激光3红光"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser4Enable", u8"激光4使能"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser4Start", u8"激光4启动"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser4Red", u8"激光4红光"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintDoorLock", u8"打印舱门电锁"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "LightOn", u8"照明"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "YellowLamp", u8"黄灯"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "GreenLamp", u8"绿灯"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "RedLamp", u8"红灯"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Buzzer", u8"蜂鸣器"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintAssistGas", u8"辅助气"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintAirEvacuation", u8"排气阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "ScannerCool", u8"振镜冷却"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Heating", u8"加热"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintSlot1PipeValve", u8"打印槽1管道阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "ChillerPower", u8"冷水机电源"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CarbinBackLock", u8"打印舱后锁"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag =228; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "UpLayerAccessDoorUnlock", u8"上层维护门解锁"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "DownLayerAccessDoorUnlock", u8"下层维护门解锁"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintMainAxisBrake", u8"打印主轴刹车", SUPER); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CylinderLinerSealChargeValve", u8"缸体密封圈充气阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CylinderLinerSealReleaseValve", u8"缸体密封圈泄压阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag = 242; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanBoxFoldUp", u8"清粉箱折叠升高"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanBoxFoldDown", u8"清粉箱折叠降低"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag += 3; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintAirRenewalInOutValve", u8"打印室换气进出阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=3; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintAirRenewalPresRelValve", u8"打印室换气泄压阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "LaserPowerActive", u8"激光电源激活"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "LaserErrorReset", u8"激光错误复位"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=2; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintStorageCar1DeoxygenValve", u8"打印存粉小车1除氧进气阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintStorageCar1EvacuationValve", u8"打印存粉小车1除氧排气阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=4; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintStorageCar2DeoxygenValve", u8"打印存粉小车2除氧进气阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintStorageCar2EvacuationValve", u8"打印存粉小车2除氧排气阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintSlot2PipeValve", u8"打印槽2管道阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=4; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanSlot1PipeValve", u8"清粉槽1管道阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=4; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanSlot2PipeValve", u8"清粉槽2管道阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CylinderHandPlateOpenValve", u8"缸体吊装盖板打开阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CylinderHandPlateCloseValve", u8"缸体吊装盖板关闭阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=4; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "LoadAxisBrake", u8"移载轴刹车"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanLeftVacuumValve", u8"清粉左吸尘阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanRightVacuumValve", u8"清粉右吸尘阀"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=3; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanLightOn", u8"清粉照明"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=3; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser5Enable", u8"激光5使能"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser5Start", u8"激光5启动"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser5Red", u8"激光5红光"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser6Enable", u8"激光6使能"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser6Start", u8"激光6启动"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser6Red", u8"激光6红光"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser7Enable", u8"激光7使能"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser7Start", u8"激光7启动"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser7Red", u8"激光7红光"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser8Enable", u8"激光8使能"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser8Start", u8"激光8启动"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, ctrlStartIndex + flag, true, "Laser8Red", u8"激光8红光"); iocfgWrapper->m_OutputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } statusStartIndex = 0; flag = 0; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "SystemStop", u8"系统急停"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "HighPressureCheck", u8"高压检测"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "ProtectGasCheck", u8"保护气检测"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PowerDown", u8"外部断电"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PhaseLossDetection", u8"缺相检测"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=3; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "BusAirSwitchClose", u8"总空开触点"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "ExtMachineAirSwitchClose", u8"外部设备空开触点"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "HeattingAirSwitchClose", u8"加热空开触点"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "LaserAirSwitchClose", u8"激光空开触点"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "DownServoAirSwitchContact", u8"下层伺服空开触点"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "Laser1Alarm", u8"激光器1报警"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "Laser2Alarm", u8"激光器2报警"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "Laser3Alarm", u8"激光器3报警"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "Laser4Alarm", u8"激光器4报警"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintStorageCar1UpLimit", u8"打印存粉小车1上限"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=2; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintStorageCar1Connect", u8"打印存粉小车1连接"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=2; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintStorageCar1PressureHigh", u8"打印存粉小车1压力高"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "SSRInput", u8"加热输入检测"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "SSROutput", u8"加热输出检测"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintMainAxisUpLimit", u8"打印主轴上限位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintMainAxisDownLimit", u8"打印主轴下限位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintMainHomeIndex", u8"打印主轴原点"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintStorageCar2PressureHigh", u8"打印存粉小车2压力高"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=3; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "UPSException", u8"UPS异常"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "Laser5Alarm", u8"激光器5报警"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "Laser6Alarm", u8"激光器6报警"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "Laser7Alarm", u8"激光器7报警"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "Laser8Alarm", u8"激光器8报警"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "ScannerPowerAssistContact", u8"振镜电源辅助触点"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "ScannerBranchAirSwitch", u8"激光器支路空开"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "UpServoAirSwitchContact", u8"上层伺服空开触点"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=6; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "TrackPrintPos", u8"轨道打印位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag ++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "RailCloseSensor", u8"栏杆关闭感应"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "RailOpenSensor", u8"栏杆打开感应"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CoverAcceptStirPos", u8"铺粉接粉拨板位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CoverDropStirPos", u8"铺粉下粉拨板位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CleanBoxFoldUpPos", u8"清粉箱折叠升高位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CleanBoxFoldDownPos", u8"清粉箱折叠降低位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=3; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "TrackCleanPos", u8"轨道清粉位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CleannerUpButton", u8"清粉上升按钮"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CleannerDownButton", u8"清粉下降按钮"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=2; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CleannerMotionStop", u8"清粉升降急停"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag += 9; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintStorageCar2UpLimit", u8"打印存粉小车2上限"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=2; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintStorageCar2Connect", u8"打印存粉小车2连接"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "SecurityCarpet", u8"安全地毯"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=7; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CoverAcceptPowderPos", u8"铺粉轴接粉位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CoverDropPowderPos1", u8"铺粉轴下粉位1"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CoverDropPowderPos2", u8"铺粉轴下粉位2"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "ArmFrontLimit", u8"铺粉轴前限位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "ArmBackLimit", u8"铺粉轴后限位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "ArmHomeIndex", u8"铺粉轴原点"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "LoadLeftLimit", u8"移载轴左限位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "LoadRgithLimit", u8"移载轴右限位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "LoadHomeIndex", u8"移载轴原点"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag += 3; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "LoadHandPos", u8"移载吊装位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PowderUpestPos", u8"粉仓料位最高"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PowderDownestPos", u8"粉仓料位最低"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=4; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PowderSupplyHomeIndex", u8"供粉转轴原点"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintCarbinDoorLockPos", u8"打印舱门锁关闭位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "UpServiceDoorClosePos", u8"上层维修门关闭位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "DownServiceDoorClosePos", u8"下层维护门关闭位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintableSignal", u8"允许打印信号"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "FanRunSignal", u8"风机运行信号"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "PrintAirRenewalPressure", u8"打印室换气源压力"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=2; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "TotalWaterCoolerAlarm", u8"总水冷机报警"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CleanStorageCar1UpLimit", u8"清粉存粉小车1上限"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=2; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CleanStorageCar1Connect", u8"清粉存粉小车1连接"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=2; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CleanStorageCar2UpLimit", u8"清粉存粉小车2上限"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag+=2; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CleanStorageCar2Connect", u8"清粉存粉小车2连接"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CylinderHandPlateOpen", u8"缸体吊装盖板开位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CylinderHandPlateOff", u8"缸体吊装盖板关位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CylinderHandDoorOpen", u8"缸体吊装门开位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(mtype, statusStartIndex + flag, 0, false, "CylinderHandDoorClose", u8"缸体吊装门关位"); iocfgWrapper->m_InputCfgs.push_back(pbean); iocfgWrapper->m_IOCfgMap[pbean->m_Code] = pbean; sprintf_s(buffer, sizeof(buffer), strsql.c_str(), pbean->m_StatusAddr, pbean->m_CtrlAddr, pbean->m_IsOutput, pbean->m_Code.c_str(), pbean->m_Content.c_str(), pbean->m_AuthLess); ins.push_back(buffer); } } //AxisCfg* HBDE1000::CreateLoadAxisCfg() //{ // AxisCfg* cfg = new AxisCfg(GTS_AXIS_ID_LOAD); // cfg->m_name = "LOAD"; // cfg->m_active_direct = AxisCfg::LEFT; // cfg->m_active_limit = 1000000; // cfg->m_negactive_limit = 0; // cfg->m_OverLoadLimit = 30.0f; // cfg->m_ShowPosInv = false; // cfg->m_ShowRefZero = 0.0; // cfg->m_MaxLoadValue = 2.4f; // return cfg; //} // //AxisCfg* HBDE1000::CreateMoldAxisCfg() //{ // AxisCfg* cfg = new AxisCfg(GTS_AXIS_ID_MOLD); // cfg->m_name = "MOLD"; // cfg->m_active_direct = AxisCfg::UP; // cfg->m_active_limit = 50000; // cfg->m_negactive_limit = -1000000; // cfg->m_OverLoadLimit = 30.0f; // cfg->m_ShowPosInv = true; // cfg->m_ShowRefZero = 0.0; // cfg->m_MaxLoadValue = 7.0f; // return cfg; //} // //AxisCfg* HBDE1000::CreateArmAxisCfg() //{ // AxisCfg* cfg = new AxisCfg(GTS_AXIS_ID_ARM); // cfg->m_name = "ARM"; // cfg->m_active_direct = AxisCfg::FRONT; // cfg->m_active_limit = 700000; // cfg->m_negactive_limit = 0; // cfg->m_OverLoadLimit = 30.0f; // cfg->m_ShowPosInv = false; // cfg->m_ShowRefZero = 0.0; // cfg->m_MaxLoadValue = 1.3f; // return cfg; //} // //AxisCfg* HBDE1000::CreateSupplyAxisCfg() //{ // AxisCfg* cfg = new AxisCfg(GTS_AXIS_ID_SUPPLY); // cfg->m_name = "SUPPLY"; // cfg->m_active_direct = AxisCfg::FRONT; // cfg->m_active_limit = 0; // cfg->m_negactive_limit = 0; // cfg->m_OverLoadLimit = 30.0f; // cfg->m_ShowPosInv = false; // cfg->m_ShowRefZero = 0.0; // cfg->m_MaxLoadValue = 1.3f; // return cfg; //} // //AxisCfg* HBDE1000::CreateCleanAxisCfg() //{ // AxisCfg* cfg = new AxisCfg(GTS_AXIS_ID_CLEAN); // cfg->m_name = "CLEAN"; // cfg->m_active_direct = AxisCfg::UP; // cfg->m_active_limit = 50000; // cfg->m_negactive_limit = -1000000; // cfg->m_OverLoadLimit = 30.0f; // cfg->m_ShowPosInv = true; // cfg->m_ShowRefZero = 0.0; // cfg->m_IsUse = false; // cfg->m_MaxLoadValue = 7.0f; // return cfg; //} void HBDE1000::InitSignal(SignalStateWrapper* ssw, void* cc) { m_SignalStateWrapper = ssw; m_PLC = cc; int flag = 52 * 8; m_SignalStateWrapper->m_PLCKeepAlive = new SysParamBool(flag++, 1, cc, u8"PLC心跳-》PC", "PLCKeepAlive"); m_SignalStateWrapper->m_PCKeepAlice = new SysParamBool(flag++, 1, cc, u8"PC心跳-》PLC", "PCKeepAlice"); m_SignalStateWrapper->m_DeviceStandby = new SysParamBool(flag++, 1, cc, u8"设备空闲状态", "DeviceStandby"); m_SignalStateWrapper->m_DevicePrinting = new SysParamBool(flag++, 1, cc, u8"设备打印状态", "DevicePrinting"); m_SignalStateWrapper->m_DeviceManualDebug = new SysParamBool(flag++, 1, cc, u8"设备手动调试状态", "DeviceManualDebug"); m_SignalStateWrapper->m_DeviceAutoRuning = new SysParamBool(flag++, 1, cc, u8"设备自动运行状态", "DeviceAutoRuning"); m_SignalStateWrapper->m_TouchPanelCtrling = new SysParamBool(flag++, 1, cc, u8"触摸屏控制状态", "TouchPanelCtrling"); m_SignalStateWrapper->m_MotionDebug = new SysParamBool(flag++, 1, cc, u8"动作流程调试模式", "MotionDebug"); m_SignalStateWrapper->m_CylinderExceptionReset = new SysParamBool(flag++, 1, cc, u8"气缸异常复位", "CylinderExceptionReset"); flag = 55 * 8 + 6; m_SignalStateWrapper->m_PLCConnectAlarm = new SysParamBool(flag++, 1, cc, u8"PC与PLC网络异常", "PLCConnectAlarm"); m_SignalStateWrapper->m_SystemStopAlarm = new SysParamBool(flag++, 1, cc, u8"系统急停异常", "SystemStopAlarm"); m_SignalStateWrapper->m_HighPressureLackAlarm = new SysParamBool(flag++, 1, cc, u8"高压气压力不足异常", "HighPressureLackAlarm"); m_SignalStateWrapper->m_ProtectGasLackAlarm = new SysParamBool(flag++, 1, cc, u8"保护气压力不足异常", "ProtectGasLackAlarm"); m_SignalStateWrapper->m_PowerDownAlarm = new SysParamBool(flag++, 1, cc, u8"外部电源断电异常", "PowerDownAlarm"); flag++; flag++; m_SignalStateWrapper->m_BusAirSwitchAlarm = new SysParamBool(flag++, 1, cc, u8"总空开触点异常", "BusAirSwitchAlarm"); m_SignalStateWrapper->m_ExtDevicePowerAirSwitchAlarm = new SysParamBool(flag++, 1, cc, u8"外部设备电源空开触点异常", "ExtDevicePowerAirSwitchAlarm"); m_SignalStateWrapper->m_HeatingPowerAirSwitchAlarm = new SysParamBool(flag++, 1, cc, u8"加热电源空开触点异常", "HeatingPowerAirSwitchAlarm"); m_SignalStateWrapper->m_LaserPowerAirSwitchAlarm = new SysParamBool(flag++, 1, cc, u8"激光电源空开触点异常", "LaserPowerAirSwitchAlarm"); m_SignalStateWrapper->m_ServoPowerAirSwitchAlarm = new SysParamBool(flag++, 1, cc, u8"伺服电源空开触点", "ServoPowerAirSwitchAlarm"); m_SignalStateWrapper->m_Laser1Alarm = new SysParamBool(flag++, 1, cc, u8"激光器1报警", "Laser1Alarm"); m_SignalStateWrapper->m_Laser2Alarm = new SysParamBool(flag++, 1, cc, u8"激光器2报警", "Laser2Alarm"); m_SignalStateWrapper->m_Laser3Alarm = new SysParamBool(flag++, 1, cc, u8"激光器3报警", "Laser3Alarm"); m_SignalStateWrapper->m_Laser4Alarm = new SysParamBool(flag++, 1, cc, u8"激光器4报警", "Laser4Alarm"); m_SignalStateWrapper->m_HeatingAlarm = new SysParamBool(flag++, 1, cc, u8"加热异常", "HeatingAlarm"); flag++; m_SignalStateWrapper->m_PrintStorageCar1JarFullWarn = new SysParamBool(flag++, 1, cc, u8"存粉小车1粉罐已满警示", "PrintStorageCar1JarFullWarn"); m_SignalStateWrapper->m_PrintStorageCar1DisconnectWarn = new SysParamBool(flag++, 1, cc, u8"存粉小车1没有连接警示", "PrintStorageCar1DisconnectWarn"); m_SignalStateWrapper->m_CleanStorageCar1JarFullWarn = new SysParamBool(flag++, 1, cc, u8"清粉存粉小车1粉罐已满警示", "CleanStorageCar1JarFullWarn"); m_SignalStateWrapper->m_CleanStorageCar1DisconnectWarn = new SysParamBool(flag++, 1, cc, u8"清粉存粉小车1没有连接警示", "CleanStorageCar1DisconnectWarn"); m_SignalStateWrapper->m_MoldMainUpLimitActive = new SysParamBool(flag++, 1, cc, u8"打印主轴上限位触发警示", "MoldMainUpLimitActive"); m_SignalStateWrapper->m_MoldMainDownLimitActive = new SysParamBool(flag++, 1, cc, u8"打印主轴下限位触发警示", "MoldMainDownLimitActive"); m_SignalStateWrapper->m_UpsAlarm = new SysParamBool(flag++, 1, cc, u8"UPS报警", "UpsAlarm"); m_SignalStateWrapper->m_Laser5Alarm = new SysParamBool(flag++, 1, cc, u8"激光5报警", "Laser5Alarm"); m_SignalStateWrapper->m_Laser6Alarm = new SysParamBool(flag++, 1, cc, u8"激光6报警", "Laser6Alarm"); m_SignalStateWrapper->m_Laser7Alarm = new SysParamBool(flag++, 1, cc, u8"激光7报警", "Laser7Alarm"); m_SignalStateWrapper->m_Laser8Alarm = new SysParamBool(flag++, 1, cc, u8"激光8报警", "Laser8Alarm"); m_SignalStateWrapper->m_PrintTrackDisableWarn = new SysParamBool(flag++, 1, cc, u8"轨道打印位感应失效警告", "PrintTrackDisableWarn"); flag = 60 * 8 + 3; m_SignalStateWrapper->m_CylinderLinerSealReleaseValveException = new SysParamBool(flag++, 1, cc, u8"CylinderLinerSealReleaseValveException", "缸体密封圈泄压异常"); flag = 61 * 8 + 4; m_SignalStateWrapper->m_CleanTrackPosDisableAlarm = new SysParamBool(flag++, 1, cc, u8"轨道清粉位失效异常", "CleanTrackPosDisableAlarm"); m_SignalStateWrapper->m_CleanLiftStopAlarm = new SysParamBool(flag++, 1, cc, u8"清粉升降急停异常", "CleanLiftStopAlarm"); m_SignalStateWrapper->m_LoadHandPosSensorDiable = new SysParamBool(flag++, 1, cc, u8"移载吊装位感应器失效", "LoadHandPosSensorDiable"); m_SignalStateWrapper->m_MainPowerLossCheckAlarm = new SysParamBool(flag++, 1, cc, u8"主电源缺相检测异常", "MainPowerLossCheckAlarm"); m_SignalStateWrapper->m_PrintCabinLockDisableAlarm = new SysParamBool(flag++, 1, cc, u8"打印舱电锁感应异常", "PrintCabinLockDisableAlarm"); m_SignalStateWrapper->m_CleanBoxFoldUpException = new SysParamBool(flag++, 1, cc, u8"清粉箱折叠气缸升高异常", "CleanBoxFoldUpException"); m_SignalStateWrapper->m_CleanBoxFoldDownException = new SysParamBool(flag++, 1, cc, u8"清粉箱折叠气缸降低异常", "CleanBoxFoldDownException"); m_SignalStateWrapper->m_CylinderHandPlatformOpenAlarm = new SysParamBool(flag++, 1, cc, u8"缸体吊装盖板打开异常", "CylinderHandPlatformOpenAlarm"); m_SignalStateWrapper->m_CylinderHandDoorOpenAlarm = new SysParamBool(flag++, 1, cc, u8"缸体吊装门打开异常", "CylinderHandDoorOpenAlarm"); m_SignalStateWrapper->m_SecurityCarpetTriggered = new SysParamBool(flag++, 1, cc, u8"安全地毯被触发", "SecurityCarpetTriggered"); m_SignalStateWrapper->m_RailNotInOpenOrClosePos = new SysParamBool(flag++, 1, cc, u8"栏杆不在打开或者关闭位置", "RailNotInOpenOrClosePos"); m_SignalStateWrapper->m_HandPlatformCloseAlarm = new SysParamBool(flag++, 1, cc, u8"吊装盖板关闭异常", "HandPlatformCloseAlarm"); flag++; flag++; flag++; flag++; flag++; flag++; flag++; flag++; flag++; flag++; flag++; m_SignalStateWrapper->m_ArmFrontLimit = new SysParamBool(flag++, 1, cc, u8"铺粉轴前限位触发警示", "ArmFrontLimit"); m_SignalStateWrapper->m_ArmBackLimit = new SysParamBool(flag++, 1, cc, u8"铺粉轴后限位触发警示", "ArmBackLimit"); m_SignalStateWrapper->m_LoadAxisLeftLimit = new SysParamBool(flag++, 1, cc, u8"移载轴左限位触发警示", "LoadAxisLeftLimit"); m_SignalStateWrapper->m_LoadAxisRightLimit = new SysParamBool(flag++, 1, cc, u8"移载轴右限位触发警示", "LoadAxisRightLimit"); flag++; flag++; flag++; flag++; flag++; flag++; flag++; flag++; m_SignalStateWrapper->m_SupplyHomeIndexDisableAlarm = new SysParamBool(flag++, 1, cc, u8"供粉转轴原点失效异常", "SupplyHomeIndexDisableAlarm"); // flag++; flag++; flag++; flag++; m_SignalStateWrapper->m_PrintPressureOverLimitAlarm = new SysParamBool(flag++, 1, cc, u8"打印舱压力过高异常", "PrintPressureOverLimitAlarm"); flag++; m_SignalStateWrapper->m_TotalWaterCoolerAlarm = new SysParamBool(flag++, 1, cc, u8"总冷水机报警", "TotalWaterCoolerAlarm"); m_SignalStateWrapper->m_MoldTorqueAlarm = new SysParamBool(flag++, 1, cc, u8"打印主轴扭力异常", "MoldTorqueAlarm"); flag++; flag++; flag++; m_SignalStateWrapper->m_LoadTorqueAlarm = new SysParamBool(flag++, 1, cc, u8"移载轴扭力异常", "LoadTorqueAlarm"); m_SignalStateWrapper->m_ArmTorqueAlarm = new SysParamBool(flag++, 1, cc, u8"铺粉轴扭力异常", "ArmTorqueAlarm"); m_SignalStateWrapper->m_SupplyTorqueAlarm = new SysParamBool(flag++, 1, cc, u8"供粉轴扭力异常", "SupplyTorqueAlarm"); m_SignalStateWrapper->m_GratingRulerFail = new SysParamBool(flag++, 1, cc, u8"光栅尺补偿失败", "GratingRulerFail"); m_SignalStateWrapper->m_PrintMainOverSoftUpLimit = new SysParamBool(flag++, 1, cc, u8"打印主轴超软上限", "PrintMainOverSoftUpLimit"); m_SignalStateWrapper->m_PrintMainOverSoftDownLimit = new SysParamBool(flag++, 1, cc, u8"打印主轴超软下限", "PrintMainOverSoftDownLimit"); flag++; flag++; m_SignalStateWrapper->m_LoadAxisOverSoftLeftLimit = new SysParamBool(flag++, 1, cc, u8"移载轴超左软限", "LoadAxisOverSoftLeftLimit"); m_SignalStateWrapper->m_LoadAxisOverSoftRightLimit = new SysParamBool(flag++, 1, cc, u8"移载轴超右软限", "LoadAxisOverSoftRightLimit"); m_SignalStateWrapper->m_ArmOverSoftFrontLimit = new SysParamBool(flag++, 1, cc, u8"铺粉轴超前软限", "ArmOverSoftFrontLimit"); m_SignalStateWrapper->m_ArmOverSoftBackLimit = new SysParamBool(flag++, 1, cc, u8"铺粉轴超后软限", "ArmOverSoftBackLimit"); m_SignalStateWrapper->m_PrintStorageCar2JarFullWarn = new SysParamBool(flag++, 1, cc, u8"存粉小车2粉罐已满警示", "PrintStorageCar2JarFullWarn"); m_SignalStateWrapper->m_PrintStorageCar2DisconnectWarn = new SysParamBool(flag++, 1, cc, u8"存粉小车2没有连接警示", "PrintStorageCar2DisconnectWarn"); m_SignalStateWrapper->m_CleanStorageCar2JarFullWarn = new SysParamBool(flag++, 1, cc, u8"清粉存粉小车2粉罐已满警示", "CleanStorageCar2JarFullWarn"); m_SignalStateWrapper->m_CleanStorageCar2DisconnectWarn = new SysParamBool(flag++, 1, cc, u8"清粉存粉小车2没有连接警示", "CleanStorageCar2DisconnectWarn"); m_SignalStateWrapper->m_CoverBaffleNotInFrontAcceptPos = new SysParamBool(flag++, 1, cc, u8"铺粉臂挡板不在前接粉位", "CoverBaffleNotInFrontAcceptPos"); m_SignalStateWrapper->m_CoverBaffleNotInDropPos = new SysParamBool(flag++, 1, cc, u8"铺粉臂挡板不在下粉位", "CoverBaffleNotInDropPos"); m_SignalStateWrapper->m_ArmMoveBackAcceptPosException = new SysParamBool(flag++, 1, cc, u8"铺粉臂到接粉后位异常", "ArmMoveBackAcceptPosException"); m_SignalStateWrapper->m_UpServiceDoorOpenWarn = new SysParamBool(flag++, 1, cc, u8"上层维修门打开警告", "UpServiceDoorOpenWarn"); m_SignalStateWrapper->m_DownServiceDoorOpenWarn = new SysParamBool(flag++, 1, cc, u8"下层维修门打开警告", "DownServiceDoorOpenWarn"); flag = 70 * 8 + 1; m_SignalStateWrapper->m_LoadAxisManualAlarmSignal = new SysParamBool(flag++, 1, cc, u8"移栽手动异常", "LoadAxisManualAlarmSignal"); m_SignalStateWrapper->m_PrintMainServoAlarmSignal = new SysParamBool(flag++, 1, cc, u8"打印主轴伺服驱动器异常", "PrintMainServoAlarmSignal"); m_SignalStateWrapper->m_LoadAxisServoAlarmSignal = new SysParamBool(flag++, 1, cc, u8"移载轴伺服驱动器异常", "LoadAxisServoAlarmSignal"); m_SignalStateWrapper->m_ArmServoAlarmSignal = new SysParamBool(flag++, 1, cc, u8"铺粉轴伺服驱动器异常", "ArmServoAlarmSignal"); m_SignalStateWrapper->m_SupplyServoAlarmSignal = new SysParamBool(flag++, 1, cc, u8"供粉转轴伺服驱动器异常", "SupplyServoAlarmSignal"); flag++; flag++; flag++; flag++; m_SignalStateWrapper->m_CoverReachAcceptPowderAlarmSignal = new SysParamBool(flag++, 1, cc, u8"铺粉轴到接粉位异常", "CoverReachAcceptPowderAlarmSignal"); m_SignalStateWrapper->m_CoverReachDropPowderAlarmSignal = new SysParamBool(flag++, 1, cc, u8"铺粉轴到下粉位异常", "CoverReachDropPowderAlarmSignal"); flag++; m_SignalStateWrapper->m_LinearEncoderCheckAlarmSignal = new SysParamBool(flag++, 1, cc, u8"光栅尺检测异常", "LinearEncoderCheckAlarmSignal"); m_SignalStateWrapper->m_PrintMainSoftStopTrigger = new SysParamBool(flag++, 1, cc, u8"打印主轴软急停触发", "PrintMainSoftStopTrigger"); flag++; m_SignalStateWrapper->m_LoadAxisSoftStopTrigger = new SysParamBool(flag++, 1, cc, u8"移载轴软急停触发", "LoadAxisSoftStopTrigger"); m_SignalStateWrapper->m_CoverSoftStopTrigger = new SysParamBool(flag++, 1, cc, u8"铺粉轴软急停触发", "CoverSoftStopTrigger"); m_SignalStateWrapper->m_CoverHomeException = new SysParamBool(flag++, 1, cc, u8"铺粉归原点异常", "CoverHomeException"); m_SignalStateWrapper->m_CylinderSealInflationFailureAlarm = new SysParamBool(flag++, 1, cc, u8"缸体密封圈充气失败报警", "CylinderSealInflationFailureAlarm"); m_SignalStateWrapper->m_CylinderSealInflationHighPressureAlarm = new SysParamBool(flag++, 1, cc, u8"缸体密封圈充气过压报警", "CylinderSealInflationHighPressureAlarm"); m_SignalStateWrapper->m_CylinderSealLeakageWarn = new SysParamBool(flag++, 1, cc, u8"缸体密封圈存在漏气警告", "CylinderSealLeakageWarn"); m_SignalStateWrapper->m_SealPressureExceptionWhenPrint = new SysParamBool(flag++, 1, cc, u8"密封圈压力异常", "SealPressureExceptionWhenPrint"); flag = 78; m_SignalStateWrapper->m_CylinderState = new SysParamInt(flag, 1, cc, u8"缸体状态_R", "CylinderState"); flag = 80 * 8; m_SignalStateWrapper->m_CylinderReachPrintTriger = new SysParamBool(flag++, 1, cc, u8"触发缸体到达打印位_自动_RW", "CylinderReachPrintTriger"); m_SignalStateWrapper->m_CylinderReachPrintRun = new SysParamBool(flag++, 1, cc, u8"缸体到打印位运行中_自动_RW", "CylinderReachPrintRun"); m_SignalStateWrapper->m_CylinderReachPrintFinished = new SysParamBool(flag++, 1, cc, u8"缸体到达打印位完毕_自动_RW", "CylinderReachPrintFinished"); m_SignalStateWrapper->m_CylinderPrintLoadTriger = new SysParamBool(flag++, 1, cc, u8"触发缸体打印位装载_自动_RW", "CylinderPrintLoadTriger"); m_SignalStateWrapper->m_CylinderPrintLoadRun = new SysParamBool(flag++, 1, cc, u8"缸体打印位装载运行中_自动_RW", "CylinderPrintLoadRun"); m_SignalStateWrapper->m_CylinderPrintLoadFinished = new SysParamBool(flag++, 1, cc, u8"缸体打印位装载完毕_自动_RW", "CylinderPrintLoadFinished"); m_SignalStateWrapper->m_CylinderPrintUnloadTriger = new SysParamBool(flag++, 1, cc, u8"触发缸体打印位卸载_自动_RW", "CylinderPrintUnloadTriger"); m_SignalStateWrapper->m_CylinderPrintUnloadRun = new SysParamBool(flag++, 1, cc, u8"缸体打印位卸载运行中_自动_RW", "CylinderPrintUnloadRun"); m_SignalStateWrapper->m_CylinderPrintUnloadFinished = new SysParamBool(flag++, 1, cc, u8"缸体打印位卸载完毕_自动_RW", "CylinderPrintUnloadFinished"); flag = 81 * 8 + 7; m_SignalStateWrapper->m_CylinderReachCleanTriger = new SysParamBool(flag++, 1, cc, u8"触发缸体到达清粉位_自动_RW", "CylinderReachCleanTriger"); m_SignalStateWrapper->m_CylinderReachCleanRun = new SysParamBool(flag++, 1, cc, u8"缸体到清粉位运行中_RW", "CylinderReachCleanRun"); m_SignalStateWrapper->m_CylinderReachCleanFinished = new SysParamBool(flag++, 1, cc, u8"缸体到清粉位完毕_自动_RW", "CylinderReachCleanFinished"); m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger = new SysParamBool(flag++, 1, cc, u8"触发缸体与清粉箱连接_自动_RW", "CylinderConnectCleanBoxTriger"); m_SignalStateWrapper->m_CylinderConnectCleanBoxRun = new SysParamBool(flag++, 1, cc, u8"缸体与清粉箱连接中_RW", "CylinderConnectCleanBoxRun"); m_SignalStateWrapper->m_CylinderConnectCleanBoxFinished = new SysParamBool(flag++, 1, cc, u8"缸体与清粉箱连接完毕_自动_RW", "CylinderConnectCleanBoxFinished"); m_SignalStateWrapper->m_CylinderDisconnectCleanBoxTriger = new SysParamBool(flag++, 1, cc, u8"触发缸体与清粉箱分离_自动_RW", "CylinderDisconnectCleanBoxTriger"); m_SignalStateWrapper->m_CylinderDisconnectCleanBoxRun = new SysParamBool(flag++, 1, cc, u8"缸体与清粉箱分离中_RW", "CylinderDisconnectCleanBoxRun"); m_SignalStateWrapper->m_CylinderDisconnectCleanBoxFinished = new SysParamBool(flag++, 1, cc, u8"缸体与清粉箱分离完毕_自动_RW", "CylinderDisconnectCleanBoxFinished"); m_SignalStateWrapper->m_CoverTriger = new SysParamBool(flag++, 1, cc, u8"触发铺粉流程_W", "CoverTriger"); m_SignalStateWrapper->m_IsCovering = new SysParamBool(flag++, 1, cc, u8"铺粉流程忙_R", "IsCovering"); m_SignalStateWrapper->m_IsCoverFinishedCanPrint = new SysParamBool(flag++, 1, cc, u8"铺粉完成允许打印_RW", "IsCoverFinishedCanPrint"); m_SignalStateWrapper->m_IsCoverDebug = new SysParamBool(flag++, 1, cc, u8"铺粉调试模式_W", "IsCoverDebug"); m_SignalStateWrapper->m_IsFirstCover = new SysParamBool(flag++, 1, cc, u8"第一次铺粉_W", "IsFirstCover"); m_SignalStateWrapper->m_PrintDeoxygenTriger = new SysParamBool(flag++, 1, cc, u8"触发打印室除氧_W", "PrintDeoxygenTriger"); m_SignalStateWrapper->m_PrintDeoxygenRun = new SysParamBool(flag++, 1, cc, u8"打印室除氧中_RW", "PrintDeoxygenRun"); m_SignalStateWrapper->m_PrintDeoxygenFinished = new SysParamBool(flag++, 1, cc, u8"打印室氧含量值到达_R", "PrintDeoxygenFinished"); flag++; flag++; flag++; m_SignalStateWrapper->m_StorgeCarDeoxygenTriger = new SysParamBool(flag++, 1, cc, u8"触发存粉小车除氧_W", "StorgeCarDeoxygenTriger"); m_SignalStateWrapper->m_StorgeCarDeoxygenRun = new SysParamBool(flag++, 1, cc, u8"存粉小车除氧中_R", "StorgeCarDeoxygenRun"); m_SignalStateWrapper->m_StorgeCarDeoxygenFinished = new SysParamBool(flag++, 1, cc, u8"存粉小车除氧完毕_RW", "StorgeCarDeoxygenFinished"); m_SignalStateWrapper->m_CleanBoxVacuumTriger = new SysParamBool(flag++, 1, cc, u8"清粉箱启动吸尘器_R", "CleanBoxVacuumTriger"); flag++; flag++; flag++; flag++; m_SignalStateWrapper->m_RasterJudgeOK = new SysParamBool(flag++, 1, cc, u8"光栅尺判断OK_R", "RasterJudgeOK"); m_SignalStateWrapper->m_RasterJudgeNG = new SysParamBool(flag++, 1, cc, u8"光栅尺判断NG_R", "RasterJudgeNG"); m_SignalStateWrapper->m_CylinderReachPrintEnable = new SysParamBool(flag++, 1, cc, u8"触发缸体到打印位EN_R", "CylinderReachPrintEnable"); m_SignalStateWrapper->m_CylinderPrintLoadEnable = new SysParamBool(flag++, 1, cc, u8"触发缸体打印位装载EN_R", "CylinderPrintLoadEnable"); m_SignalStateWrapper->m_CylinderPrintUnloadEnable = new SysParamBool(flag++, 1, cc, u8"触发缸体打印位卸载EN_R", "CylinderPrintUnloadEnable"); flag++; flag++; m_SignalStateWrapper->m_CylinderReachCleanEnable = new SysParamBool(flag++, 1, cc, u8"触发缸体到清粉位EN_R", "CylinderReachCleanEnable"); m_SignalStateWrapper->m_CylinderConnectCleanBoxEnable = new SysParamBool(flag++, 1, cc, u8"触发缸体与清粉箱连接EN_R", "CylinderConnectCleanBoxEnable"); m_SignalStateWrapper->m_CylinderDisconnectCleanBoxEnable = new SysParamBool(flag++, 1, cc, u8"触发缸体与清粉箱分离EN_R", "CylinderDisconnectCleanBoxEnable"); m_SignalStateWrapper->m_CoverEnable = new SysParamBool(flag++, 1, cc, u8"触发铺粉EN_R", "CoverEnable"); flag = 96 * 8; flag++; flag++; m_SignalStateWrapper->m_CylinderMoveHandPosEnable = new SysParamBool(flag++, 1, cc, u8"触发缸体到吊装位En", "CylinderMoveHandPosEnable"); m_SignalStateWrapper->m_CylinderMoveHandPos = new SysParamBool(flag++, 1, cc, u8"触发缸体到吊装位", "CylinderMoveHandPos"); m_SignalStateWrapper->m_CylinderMovingHandPos = new SysParamBool(flag++, 1, cc, u8"触发缸体到吊装位运行中", "CylinderMovingHandPos"); m_SignalStateWrapper->m_CylinderMovedHandPos = new SysParamBool(flag++, 1, cc, u8"触发缸体到吊装位完毕", "CylinderMovedHandPos"); m_SignalStateWrapper->m_PrintAirRenewalEnable = new SysParamBool(flag++, 1, cc, u8"打印室换气功能EN", "PrintAirRenewalEnable"); m_SignalStateWrapper->m_PrintAirRenewalTrigger = new SysParamBool(flag++, 1, cc, u8"触发打印室换气", "PrintAirRenewalTrigger"); m_SignalStateWrapper->m_AllowRiseWindSpeed = new SysParamBool(flag++, 1, cc, u8"允许提风速", "AllowRiseWindSpeed"); m_SignalStateWrapper->m_ManualCoverTest = new SysParamBool(flag++, 1, cc, u8"手动铺粉测试", "ManualCoverTest"); m_SignalStateWrapper->m_RollerEdgeSearching = new SysParamBool(flag++, 1, cc, u8"滚粉轴寻边中", "RollerEdgeSearching"); m_SignalStateWrapper->m_RollerEdgeSearchSuccess = new SysParamBool(flag++, 1, cc, u8"滚粉轴寻边成功", "RollerEdgeSearchSuccess"); m_SignalStateWrapper->m_RollerEdgeSearchFaild = new SysParamBool(flag++, 1, cc, u8"滚粉轴寻边失败", "RollerEdgeSearchFaild"); flag = 1; m_SignalStateWrapper->m_UseSupplySearchEdge = new SysParamBool(flag++, 68, cc, u8"使用滚粉轴寻边", "UseSupplySearchEdge"); flag++; flag++; flag++; m_SignalStateWrapper->m_SheildLinearEncoder = new SysParamBool(flag++, 68, cc, u8"屏蔽光栅尺", "SheildLinearEncoder"); flag++; flag++; m_SignalStateWrapper->m_SheilServoEmptyOpen = new SysParamBool(flag++, 68, cc, u8"屏蔽伺服空开", "SheilServoEmptyOpen"); flag++; m_SignalStateWrapper->m_SheildHighPressure = new SysParamBool(flag++, 68, cc, u8"屏蔽高压气", "SheildHighPressure"); m_SignalStateWrapper->m_UnuseCoverReachSensor = new SysParamBool(flag++, 68, cc, u8"不使用铺粉轴到位感应器", "UnuseCoverReachSensor"); m_SignalStateWrapper->m_UseCoverBaffleSensor = new SysParamBool(flag++, 68, cc, u8"使用铺粉挡板感应器", "UseCoverBaffleSensor"); m_SignalStateWrapper->m_UseArmCaptureHome = new SysParamBool(flag++, 68, cc, u8"使用铺粉臂归原点", "UseArmCaptureHome"); flag++; flag++; m_SignalStateWrapper->m_LinearEncoderOppDirection = new SysParamBool(flag++, 68, cc, u8"光栅尺反向", "LinearEncoderOppDirection"); m_SignalStateWrapper->m_CoverV2UseCintinueMode = new SysParamBool(flag++, 68, cc, u8"铺粉V2是否使用连续模式", "CoverV2UseCintinueMode"); m_SignalStateWrapper->m_UseCoverShiftSpeed = new SysParamBool(flag++, 68, cc, u8"使用打印区域变速", "UseCoverShiftSpeed"); flag = 249 * 8 + 4; m_SignalStateWrapper->m_IsInPrintCylinderSeparatePos = new SysParamBool(flag++, 4, cc, u8"打印缸体分离位", "IsInPrintCylinderSeparatePos"); flag++; flag++; m_SignalStateWrapper->m_IsInPrintPlatformBottomPos = new SysParamBool(flag++, 4, cc, u8"打印基板底座面", "IsInPrintPlatformBottomPos"); m_SignalStateWrapper->m_IsInPrintPlatformFlatPos = new SysParamBool(flag++, 4, cc, u8"打印基板平面", "IsInPrintPlatformFlatPos"); flag++; flag++; flag++; flag++; m_SignalStateWrapper->m_IsInLoadPrintPos = new SysParamBool(flag++, 4, cc, u8"移载打印位", "IsInLoadPrintPos"); m_SignalStateWrapper->m_IsInLoadCleanPos = new SysParamBool(flag++, 4, cc, u8"移载清粉位", "IsInLoadCleanPos"); flag = 251 * 8; m_SignalStateWrapper->m_IsInDropPowderPos = new SysParamBool(flag++, 4, cc, u8"铺粉下粉位", "IsInDropPowderPos"); m_SignalStateWrapper->m_IsInAcceptPowderPos = new SysParamBool(flag++, 4, cc, u8"铺粉接粉位", "IsInAcceptPowderPos"); flag = 88 * 8; m_SignalStateWrapper->m_PrintTorqueUpInsideLimit = new SysParamBool(flag++, 1, cc, u8"扭力值在上升扭力范围内", "PrintTorqueUpInsideLimit"); m_SignalStateWrapper->m_ArmNotUponBasePlatform = new SysParamBool(flag++, 1, cc, u8"铺粉轴不在基板范围内", "ArmNotUponBasePlatform"); m_SignalStateWrapper->m_PrintMoldPosInsideUpSoftLimit = new SysParamBool(flag++, 1, cc, u8"轴位置没超过软上限", "PrintMoldPosInsideUpSoftLimit"); m_SignalStateWrapper->m_PrintInsideUpLimit = new SysParamBool(flag++, 1, cc, u8"上限位没触发", "PrintInsideUpLimit"); m_SignalStateWrapper->m_PrintTorqueDownInsideLimit = new SysParamBool(flag++, 1, cc, u8"扭力值在下降扭力范围内", "PrintTorqueDownInsideLimit"); m_SignalStateWrapper->m_PrintAxisPosInsideDownSoftLimit = new SysParamBool(flag++, 1, cc, u8"轴位置没超过软下限", "PrintAxisPosInsideDownSoftLimit"); m_SignalStateWrapper->m_PrintInsideDownLimit = new SysParamBool(flag++, 1, cc, u8"下限位没触发", "PrintInsideDownLimit"); m_SignalStateWrapper->m_PrintMainServoNoAlarm = new SysParamBool(flag++, 1, cc, u8"打印主轴伺服无异常", "PrintMainServoNoAlarm"); m_SignalStateWrapper->m_PrintMoldInPrintPos = new SysParamBool(flag++, 1, cc, u8"缸体在打印位", "PrintMoldInPrintPos"); m_SignalStateWrapper->m_PrintMoldInCleanPos = new SysParamBool(flag++, 1, cc, u8"缸体在清粉位", "PrintMoldInCleanPos"); m_SignalStateWrapper->m_PrintMoldInHandPos = new SysParamBool(flag++, 1, cc, u8"缸体在吊装位", "PrintMoldInHandPos"); m_SignalStateWrapper->m_MoldUpDownServiceDoorCloseStatue = new SysParamBool(flag++, 1, cc, u8"上下维护门在关闭状态", "MoldUpDownServiceDoorCloseStatue"); flag = 92 * 8; m_SignalStateWrapper->m_PrintJackupInSafePos = new SysParamBool(flag++, 1, cc, u8"打印顶升轴在安全位", "PrintJackupInSafePos"); m_SignalStateWrapper->m_LoadTorqueInsideLimit = new SysParamBool(flag++, 1, cc, u8"扭力值在扭力范围内", "LoadTorqueInsideLimit"); m_SignalStateWrapper->m_LoadPosInsideLeftSoftLimit = new SysParamBool(flag++, 1, cc, u8"轴位置没超过软左限", "LoadPosInsideLeftSoftLimit"); m_SignalStateWrapper->m_LoadPosInsideRightSoftLimit = new SysParamBool(flag++, 1, cc, u8"轴位置没超过软右限", "LoadPosInsideRightSoftLimit"); m_SignalStateWrapper->m_CylinderSealNoInflationStatue = new SysParamBool(flag++, 1, cc, u8"密封圈无充气状态", "CylinderSealNoInflationStatue"); m_SignalStateWrapper->m_LoadUpDownServiceDoorCloseStatue = new SysParamBool(flag++, 1, cc, u8"移载上下维护门在关闭状态", "LoadUpDownServiceDoorCloseStatue"); flag++; flag++; flag++; flag++; m_SignalStateWrapper->m_LoadLeftNotInsideLimit = new SysParamBool(flag++, 1, cc, u8"左限位没触发", "LoadLeftNotInsideLimit"); m_SignalStateWrapper->m_LoadRightNotInsideLimit = new SysParamBool(flag++, 1, cc, u8"右限位没触发", "LoadRightNotInsideLimit"); m_SignalStateWrapper->m_LoadServoNoAlarm = new SysParamBool(flag++, 1, cc, u8"移载轴伺服无异常", "LoadServoNoAlarm"); flag = 94 * 8; m_SignalStateWrapper->m_PrintUpDownPosBelowPlatform = new SysParamBool(flag++, 1, cc, u8"打印顶升轴位置低于基板缸平面", "PrintUpDownPosBelowPlatform"); m_SignalStateWrapper->m_ArmTorqueInsideLimit = new SysParamBool(flag++, 1, cc, u8"扭力值在扭力范围内", "ArmTorqueInsideLimit"); m_SignalStateWrapper->m_ArmPosInsideSoftFrontLimit = new SysParamBool(flag++, 1, cc, u8"轴位置没超过软前限", "ArmPosInsideSoftFrontLimit"); m_SignalStateWrapper->m_ArmPosInsideSoftBackLimit = new SysParamBool(flag++, 1, cc, u8"轴位置没超过软后限", "ArmPosInsideSoftBackLimit"); m_SignalStateWrapper->m_ArmPosInsideFrontLimit = new SysParamBool(flag++, 1, cc, u8"前限位没触发", "ArmPosInsideFrontLimit"); m_SignalStateWrapper->m_ArmPosInsideBackLimit = new SysParamBool(flag++, 1, cc, u8"后限位没触发", "ArmPosInsideBackLimit"); m_SignalStateWrapper->m_ArmServoNoAlarm = new SysParamBool(flag++, 1, cc, u8"铺粉轴伺服无异常", "ArmServoNoAlarm"); //m_SignalStateWrapper->m_KeepAliveCommand = new KeepAliveCommand(cc); //m_SignalStateWrapper->m_KeepAliveCommand->m_PCKeepAlice = m_SignalStateWrapper->m_PCKeepAlice; //m_SignalStateWrapper->m_KeepAliveCommand->m_DevicePrinting = m_SignalStateWrapper->m_DevicePrinting; //m_SignalStateWrapper->m_KeepAliveCommand->Init(); } void HBDE1000::InitSysParam(SysParamWrapper* spw, void* cc) { m_SysParamWrapper = spw; m_PLC = cc; int flag = 0; m_SysParamWrapper->m_PrintOxygen1 = new SysParamFloat(flag, 3, cc, u8"打印舱测氧仪1模拟量值_R", "PrintOxygen1"); flag += 4; m_SysParamWrapper->m_PrintOxygen2 = new SysParamFloat(flag, 3, cc, u8"打印舱测氧仪2模拟量值_R", "PrintOxygen2"); flag += 4; m_SysParamWrapper->m_OutsideOxygen = new SysParamFloat(flag, 3, cc, u8"室外测氧仪模拟量值_R", "OutsideOxygen"); flag += 4; m_SysParamWrapper->m_HighPressure = new SysParamFloat(flag, 3, cc, u8"高压气压力模拟量值_R", "HighPressure"); flag += 4; m_SysParamWrapper->m_ProtectGasPressure = new SysParamFloat(flag, 3, cc, u8"保护气压力模拟量值_R", "ProtectGasPressure"); flag += 4; m_SysParamWrapper->m_PrintPressure = new SysParamFloat(flag, 3, cc, u8"打印舱压力模拟量值_R", "PrintPressure"); flag += 4; m_SysParamWrapper->m_PrintOxygen1Max = new SysParamFloat(flag, 3, cc, u8"测氧仪1量程最大值_RW", "PrintOxygen1Max"); flag += 4; m_SysParamWrapper->m_PrintOxygen1Min = new SysParamFloat(flag, 3, cc, u8"测氧仪1量程最小值_RW", "PrintOxygen1Min"); flag += 4; m_SysParamWrapper->m_PrintOxygen2Max = new SysParamFloat(flag, 3, cc, u8"测氧仪2量程最大值_RW", "PrintOxygen2Max"); flag += 4; m_SysParamWrapper->m_PrintOxygen2Min = new SysParamFloat(flag, 3, cc, u8"测氧仪2量程最小值_RW", "PrintOxygen2Min"); flag += 4; m_SysParamWrapper->m_OutsideOxygenMax = new SysParamFloat(flag, 3, cc, u8"室外测氧仪量程最大值_RW", "OutsideOxygenMax"); flag += 4; m_SysParamWrapper->m_OutsideOxygenMin = new SysParamFloat(flag, 3, cc, u8"室外测氧仪量程最小值_RW", "OutsideOxygenMin"); flag += 4; m_SysParamWrapper->m_HighPressureMax = new SysParamFloat(flag, 3, cc, u8"高压气量程最大值_RW", "HighPressureMax"); flag += 4; m_SysParamWrapper->m_HighPressureMin = new SysParamFloat(flag, 3, cc, u8"高压气量程最小值_RW", "HighPressureMin"); flag += 4; m_SysParamWrapper->m_ProtectGasPressureMax = new SysParamFloat(flag, 3, cc, u8"保护气量程最大值_RW", "ProtectGasPressureMax"); flag += 4; m_SysParamWrapper->m_ProtectGasPressureMin = new SysParamFloat(flag, 3, cc, u8"保护气量程最小值_RW", "ProtectGasPressureMin"); flag += 4; m_SysParamWrapper->m_PrintPressureMax = new SysParamFloat(flag, 3, cc, u8"打印舱压力量程最大值_RW", "PrintPressureMax"); flag += 4; m_SysParamWrapper->m_PrintPressureMin = new SysParamFloat(flag, 3, cc, u8"打印舱压力量程最小值_RW", "PrintPressureMin"); flag += 4; m_SysParamWrapper->m_OutsideOxygenAlarmValue = new SysParamFloat(flag, 3, cc, u8"室外氧含量报警值_RW", "OutsideOxygenAlarmValue"); flag += 4; m_SysParamWrapper->m_EnvUIAssit.m_PrintOxygen1Max = new SysParamFloatUI(m_SysParamWrapper->m_PrintOxygen1Max); m_SysParamWrapper->m_EnvUIAssit.m_PrintOxygen1Min = new SysParamFloatUI(m_SysParamWrapper->m_PrintOxygen1Min); m_SysParamWrapper->m_EnvUIAssit.m_PrintOxygen2Max = new SysParamFloatUI(m_SysParamWrapper->m_PrintOxygen2Max); m_SysParamWrapper->m_EnvUIAssit.m_PrintOxygen2Min = new SysParamFloatUI(m_SysParamWrapper->m_PrintOxygen2Min); m_SysParamWrapper->m_EnvUIAssit.m_OutsideOxygenMax = new SysParamFloatUI(m_SysParamWrapper->m_OutsideOxygenMax); m_SysParamWrapper->m_EnvUIAssit.m_OutsideOxygenMin = new SysParamFloatUI(m_SysParamWrapper->m_OutsideOxygenMin); m_SysParamWrapper->m_EnvUIAssit.m_HighPressureMax = new SysParamFloatUI(m_SysParamWrapper->m_HighPressureMax); m_SysParamWrapper->m_EnvUIAssit.m_HighPressureMin = new SysParamFloatUI(m_SysParamWrapper->m_HighPressureMin); m_SysParamWrapper->m_EnvUIAssit.m_ProtectGasPressureMax = new SysParamFloatUI(m_SysParamWrapper->m_ProtectGasPressureMax); m_SysParamWrapper->m_EnvUIAssit.m_ProtectGasPressureMin = new SysParamFloatUI(m_SysParamWrapper->m_ProtectGasPressureMin); m_SysParamWrapper->m_EnvUIAssit.m_PrintPressureMax = new SysParamFloatUI(m_SysParamWrapper->m_PrintPressureMax); m_SysParamWrapper->m_EnvUIAssit.m_PrintPressureMin = new SysParamFloatUI(m_SysParamWrapper->m_PrintPressureMin); m_SysParamWrapper->m_EnvUIAssit.m_OutsideOxygenAlarmValue = new SysParamFloatUI(m_SysParamWrapper->m_OutsideOxygenAlarmValue); m_SysParamWrapper->m_SupplyPowderGridPerCycle = new SysParamFloat(flag, 3, cc, u8"供粉转轴的格数一圈_RW", "SupplyPowderGridPerCycle"); flag += 4; m_SysParamWrapper->m_SupplyAxisAnglePerGrid = new SysParamFloat(flag, 3, cc, u8"供粉转轴每格对用度数_RW", "SupplyAxisAnglePerGrid"); flag += 4; m_SysParamWrapper->m_MoldMainCurrentPos = new SysParamFloat(flag, 3, cc, u8"打印主轴当前位置_R", "MoldMainCurrentPos"); flag += 4; m_SysParamWrapper->m_MoldMainCurrentLoad = new SysParamFloat(flag, 3, cc, u8"打印主轴当前扭矩_R", "MoldMainCurrentLoad"); flag += 4; m_SysParamWrapper->m_MoldSlaveCurrentPos = new SysParamFloat(flag, 3, cc, u8"打印从轴当前位置_R", "MoldSlaveCurrentPos"); flag += 4; m_SysParamWrapper->m_MoldSlaveCurrentLoad = new SysParamFloat(flag, 3, cc, u8"打印从轴当前扭矩_R", "MoldSlaveCurrentLoad"); flag += 4; m_SysParamWrapper->m_MoldMainManualSpeed = new SysParamFloat(flag, 3, cc, u8"打印主轴手动速度_RW", "MoldMainManualSpeed"); flag += 4; m_SysParamWrapper->m_MoldMainManualAcc = new SysParamFloat(flag, 3, cc, u8"打印主轴手动加速_RW", "MoldMainManualAcc"); flag += 4; m_SysParamWrapper->m_MoldMainManualDec = new SysParamFloat(flag, 3, cc, u8"打印主轴手动减速_RW", "MoldMainManualDec"); flag += 4; m_SysParamWrapper->m_MoldMainManualRefDistance = new SysParamFloat(flag, 3, cc, u8"打印主轴手动相对位移距离_RW", "MoldMainManualRefDistance"); flag += 4; m_SysParamWrapper->m_MoldMainManualAbsPos = new SysParamFloat(flag, 3, cc, u8"打印主轴绝对位置_手动_RW", "MoldMainManualAbsPos"); flag += 4; m_SysParamWrapper->m_MoldSlaveManualSpeed = new SysParamFloat(flag, 3, cc, u8"打印从轴手动速度_RW", "MoldSlaveManualSpeed"); flag += 4; m_SysParamWrapper->m_MoldSlaveManualAcc = new SysParamFloat(flag, 3, cc, u8"打印从轴手动加速_RW", "MoldSlaveManualAcc"); flag += 4; m_SysParamWrapper->m_MoldSlaveManualDec = new SysParamFloat(flag, 3, cc, u8"打印从轴手动减速_RW", "MoldSlaveManualDec"); flag += 4; m_SysParamWrapper->m_MoldSlaveManualRefDistance = new SysParamFloat(flag, 3, cc, u8"打印从轴手动相对位移距离_RW", "MoldSlaveManualRefDistance"); flag += 4; m_SysParamWrapper->m_MoldSlaveManualAbsPos = new SysParamFloat(flag, 3, cc, u8"打印从轴绝对位置_手动_RW", "MoldSlaveManualAbsPos"); flag += 4; m_SysParamWrapper->m_CleanMainCurrentPos = new SysParamFloat(flag, 3, cc, u8"清粉主轴当前位置_R", "CleanMainCurrentPos"); flag += 4; m_SysParamWrapper->m_CleanMainCurrentLoad = new SysParamFloat(flag, 3, cc, u8"清粉主轴当前扭矩_R", "CleanMainCurrentLoad"); flag += 4; m_SysParamWrapper->m_CleanSlaveCurrentPos = new SysParamFloat(flag, 3, cc, u8"清粉从轴当前位置_R", "CleanSlaveCurrentPos"); flag += 4; m_SysParamWrapper->m_CleanSlaveCurrentLoad = new SysParamFloat(flag, 3, cc, u8"清粉从轴当前扭矩_R", "CleanSlaveCurrentLoad"); flag += 4; m_SysParamWrapper->m_CleanMainManualSpeed = new SysParamFloat(flag, 3, cc, u8"清粉主轴手动速度_RW", "CleanMainManualSpeed"); flag += 4; m_SysParamWrapper->m_CleanMainManualAcc = new SysParamFloat(flag, 3, cc, u8"清粉主轴手动加速_RW", "CleanMainManualAcc"); flag += 4; m_SysParamWrapper->m_CleanMainManualDec = new SysParamFloat(flag, 3, cc, u8"清粉主轴手动减速_RW", "CleanMainManualDec"); flag += 4; m_SysParamWrapper->m_CleanMainManualRefDistance = new SysParamFloat(flag, 3, cc, u8"清粉主轴手动相对位移距离_RW", "CleanMainManualRefDistance"); flag += 4; m_SysParamWrapper->m_CleanMainManualAbsPos = new SysParamFloat(flag, 3, cc, u8"清粉主轴绝对位置_手动_RW", "CleanMainManualAbsPos"); flag += 4; m_SysParamWrapper->m_CleanSlaveManualSpeed = new SysParamFloat(flag, 3, cc, u8"清粉从轴手动速度_RW", "CleanSlaveManualSpeed"); flag += 4; m_SysParamWrapper->m_CleanSlaveManualAcc = new SysParamFloat(flag, 3, cc, u8"清粉从轴手动加速_RW", "CleanSlaveManualAcc"); flag += 4; m_SysParamWrapper->m_CleanSlaveManualDec = new SysParamFloat(flag, 3, cc, u8"清粉从轴手动减速_RW", "CleanSlaveManualDec"); flag += 4; m_SysParamWrapper->m_CleanSlaveManualRefDistance = new SysParamFloat(flag, 3, cc, u8"清粉从轴手动相对位移距离_RW", "CleanSlaveManualRefDistance"); flag += 4; m_SysParamWrapper->m_CleanSlaveManualAbsPos = new SysParamFloat(flag, 3, cc, u8"清粉从轴绝对位置_手动_RW", "CleanSlaveManualAbsPos"); flag += 4; m_SysParamWrapper->m_EleCylinderMainCurrentPos = m_SysParamWrapper->m_CleanMainCurrentPos; //电缸主轴当前位置_R m_SysParamWrapper->m_EleCylinderMainCurrentLoad = m_SysParamWrapper->m_CleanMainCurrentLoad; //电缸主轴当前扭矩_R m_SysParamWrapper->m_EleCylinderSlaveCurrentPos = m_SysParamWrapper->m_CleanSlaveCurrentPos; //电缸从轴当前位置_R m_SysParamWrapper->m_EleCylinderSlaveCurrentLoad = m_SysParamWrapper->m_CleanSlaveCurrentLoad; //电缸从轴当前扭矩_R m_SysParamWrapper->m_EleCylinderMainManualSpeed = m_SysParamWrapper->m_CleanMainManualSpeed; //电缸主轴手动速度_RW m_SysParamWrapper->m_EleCylinderMainManualAcc = m_SysParamWrapper->m_CleanMainManualAcc; //电缸主轴手动加速_RW m_SysParamWrapper->m_EleCylinderMainManualDec = m_SysParamWrapper->m_CleanMainManualDec; //电缸主轴手动减速_RW m_SysParamWrapper->m_EleCylinderMainManualRefDistance = m_SysParamWrapper->m_CleanMainManualRefDistance; //电缸主轴手动相对位移距离_RW m_SysParamWrapper->m_EleCylinderMainManualAbsPos = m_SysParamWrapper->m_CleanMainManualAbsPos; //电缸主轴绝对位置_手动_RW m_SysParamWrapper->m_EleCylinderSlaveManualSpeed = m_SysParamWrapper->m_CleanSlaveManualSpeed; //电缸从轴手动速度_RW m_SysParamWrapper->m_EleCylinderSlaveManualAcc = m_SysParamWrapper->m_CleanSlaveManualAcc; //电缸从轴手动加速_RW m_SysParamWrapper->m_EleCylinderSlaveManualDec = m_SysParamWrapper->m_CleanSlaveManualDec; //电缸从轴手动减速_RW m_SysParamWrapper->m_EleCylinderSlaveManualRefDistance = m_SysParamWrapper->m_CleanSlaveManualRefDistance; //电缸从轴手动相对位移距离_RW m_SysParamWrapper->m_EleCylinderSlaveManualAbsPos = m_SysParamWrapper->m_CleanSlaveManualAbsPos; //电缸从轴绝对位置_手动_RW m_SysParamWrapper->m_EleCylinderMainCurrentPos->SetInfo(u8"电缸主轴当前位置_R", "EleCylinderMainCurrentPos"); m_SysParamWrapper->m_EleCylinderMainCurrentLoad->SetInfo(u8"电缸主轴当前扭矩_R", "EleCylinderMainCurrentLoad"); m_SysParamWrapper->m_EleCylinderSlaveCurrentPos->SetInfo(u8"电缸从轴当前位置_R", "EleCylinderSlaveCurrentPos"); m_SysParamWrapper->m_EleCylinderSlaveCurrentLoad->SetInfo(u8"电缸从轴当前扭矩_R", "EleCylinderSlaveCurrentLoad"); m_SysParamWrapper->m_EleCylinderMainManualSpeed->SetInfo(u8"电缸主轴手动速度_RW", "EleCylinderMainManualSpeed"); m_SysParamWrapper->m_EleCylinderMainManualAcc->SetInfo(u8"电缸主轴手动加速_RW", "EleCylinderMainManualAcc"); m_SysParamWrapper->m_EleCylinderMainManualDec->SetInfo(u8"电缸主轴手动减速_RW", "EleCylinderMainManualDec"); m_SysParamWrapper->m_EleCylinderMainManualRefDistance->SetInfo(u8"电缸主轴手动相对位移距离_RW", "EleCylinderMainManualRefDistance"); m_SysParamWrapper->m_EleCylinderMainManualAbsPos->SetInfo(u8"电缸主轴绝对位置_手动_RW", "EleCylinderMainManualAbsPos"); m_SysParamWrapper->m_EleCylinderSlaveManualSpeed->SetInfo(u8"电缸从轴手动速度_RW", "EleCylinderSlaveManualSpeed"); m_SysParamWrapper->m_EleCylinderSlaveManualAcc->SetInfo(u8"电缸从轴手动加速_RW", "EleCylinderSlaveManualAcc"); m_SysParamWrapper->m_EleCylinderSlaveManualDec->SetInfo(u8"电缸从轴手动减速_RW", "EleCylinderSlaveManualDec"); m_SysParamWrapper->m_EleCylinderSlaveManualRefDistance->SetInfo(u8"电缸从轴手动相对位移距离_RW", "EleCylinderSlaveManualRefDistance"); m_SysParamWrapper->m_EleCylinderSlaveManualAbsPos->SetInfo(u8"电缸从轴绝对位置_手动_RW", "EleCylinderSlaveManualAbsPos"); m_SysParamWrapper->m_LoadAxisCurrentPos = new SysParamFloat(flag, 3, cc, u8"移载轴当前位置_R", "LoadAxisCurrentPos"); flag += 4; m_SysParamWrapper->m_LoadAxisCurrentLoad = new SysParamFloat(flag, 3, cc, u8"移载轴当前扭矩_R", "LoadAxisCurrentLoad"); flag += 4; m_SysParamWrapper->m_LoadAxisManualSpeed = new SysParamFloat(flag, 3, cc, u8"移载轴手动速度_RW", "LoadAxisManualSpeed"); flag += 4; m_SysParamWrapper->m_LoadAxisManualAcc = new SysParamFloat(flag, 3, cc, u8"移载轴手动加速_RW", "LoadAxisManualAcc"); flag += 4; m_SysParamWrapper->m_LoadAxisManualDec = new SysParamFloat(flag, 3, cc, u8"移载轴手动减速_RW", "LoadAxisManualDec"); flag += 4; m_SysParamWrapper->m_LoadAxisManualRefDistance = new SysParamFloat(flag, 3, cc, u8"移载轴手动相对位移距离_RW", "LoadAxisManualRefDistance"); flag += 4; m_SysParamWrapper->m_LoadAxisManualAbsPos = new SysParamFloat(flag, 3, cc, u8"移载轴绝对位置_手动_RW", "LoadAxisManualAbsPos"); flag += 4; m_SysParamWrapper->m_ArmCurrentPos = new SysParamFloat(flag, 3, cc, u8"铺粉轴当前位置_R", "ArmCurrentPos"); flag += 4; m_SysParamWrapper->m_ArmCurrentLoad = new SysParamFloat(flag, 3, cc, u8"铺粉轴当前扭矩_R", "ArmCurrentLoad"); flag += 4; m_SysParamWrapper->m_ArmManualSpeed = new SysParamFloat(flag, 3, cc, u8"铺粉轴手动速度_RW", "ArmManualSpeed"); flag += 4; m_SysParamWrapper->m_ArmManualAcc = new SysParamFloat(flag, 3, cc, u8"铺粉轴手动加速_RW", "ArmManualAcc"); flag += 4; m_SysParamWrapper->m_ArmManualDec = new SysParamFloat(flag, 3, cc, u8"铺粉轴手动减速_RW", "ArmManualDec"); flag += 4; m_SysParamWrapper->m_ArmManualRefDistance = new SysParamFloat(flag, 3, cc, u8"铺粉轴手动相对位移距离_RW", "ArmManualRefDistance"); flag += 4; m_SysParamWrapper->m_ArmManualAbsPos = new SysParamFloat(flag, 3, cc, u8"铺粉轴绝对位置_手动_RW", "ArmManualAbsPos"); flag += 4; m_SysParamWrapper->m_SupplyCurrentPos = new SysParamFloat(flag, 3, cc, u8"供粉转轴当前位置_R", "SupplyCurrentPos"); flag += 4; m_SysParamWrapper->m_SupplyCurrentLoad = new SysParamFloat(flag, 3, cc, u8"供粉转轴当前扭矩_R", "SupplyCurrentLoad"); flag += 4; m_SysParamWrapper->m_SupplyManualSpeed = new SysParamFloat(flag, 3, cc, u8"供粉转轴手动速度_RW", "SupplyManualSpeed"); flag += 4; m_SysParamWrapper->m_SupplyManualAcc = new SysParamFloat(flag, 3, cc, u8"供粉转轴手动加速_RW", "SupplyManualAcc"); flag += 4; m_SysParamWrapper->m_SupplyManualDec = new SysParamFloat(flag, 3, cc, u8"供粉转轴手动减速_RW", "SupplyManualDec"); flag += 4; m_SysParamWrapper->m_SupplyManualRefDistance = new SysParamFloat(flag, 3, cc, u8"供粉转轴手动相对位移距离_RW", "SupplyManualRefDistance"); flag += 4; m_SysParamWrapper->m_SupplyManualAbsPos = new SysParamFloat(flag, 3, cc, u8"供粉转轴绝对位置_手动_RW", "SupplyManualAbsPos"); flag += 4; m_SysParamWrapper->m_MoldCylinderSeparatePos = new SysParamFloat(flag, 3, cc, u8"打印升降与缸体分离位_RW", "MoldCylinderSeparatePos"); flag += 4; m_SysParamWrapper->m_PrintUpDownSafePos = m_SysParamWrapper->m_MoldCylinderSeparatePos; //打印升降安全位_RW m_SysParamWrapper->m_PrintUpDownSafePos->SetInfo(u8"打印升降安全位_RW", "PrintUpDownSafePos"); m_SysParamWrapper->m_Print3RSeparatePos = new SysParamFloat(flag, 3, cc, u8"打印3R脱离位_RW", "Print3RSeparatePos"); flag += 4; m_SysParamWrapper->m_Print3RSeparateCheckDistance = new SysParamFloat(flag, 3, cc, u8"打印3R脱离检测距离_RW", "Print3RSeparateCheckDistance"); flag += 4; m_SysParamWrapper->m_PrintJackupDeoxygenPressureMinPos = new SysParamFloat(flag, 3, cc, u8"打印顶升轴除氧压缩最低点_RW", "PrintJackupDeoxygenPressureMinPos"); flag += 4; m_SysParamWrapper->m_PrintJackupPlatformBottomPos = new SysParamFloat(flag, 3, cc, u8"打印顶升轴基板底座缸平面位置_RW", "PrintJackupPlatformBottomPos"); flag += 4; m_SysParamWrapper->m_PrintJackupPlatformPlanePos = new SysParamFloat(flag, 3, cc, u8"打印顶升轴基板缸平面位置_RW", "PrintJackupPlatformPlanePos"); flag += 4; m_SysParamWrapper->m_PrintPlatformHight = new SysParamFloat(flag, 3, cc, u8"打印基板厚度_RW", "PrintPlatformHight"); flag += 4; m_SysParamWrapper->m_MoldUpLimitPos = new SysParamFloat(flag, 3, cc, u8"打印升降轴上软限位_RW", "MoldUpLimitPos"); flag += 4; m_SysParamWrapper->m_MoldDownLimitPos = new SysParamFloat(flag, 3, cc, u8"打印升降轴下软限位_RW", "MoldDownLimitPos"); flag += 4; m_SysParamWrapper->m_CleanTrackConnectPos = new SysParamFloat(flag, 3, cc, u8"清粉升降轨道对接位_RW", "CleanTrackConnectPos"); flag += 4; m_SysParamWrapper->m_CleanAxisPlatformAlignPos = m_SysParamWrapper->m_CleanTrackConnectPos; //清粉升降基板底座缸平面位_RW m_SysParamWrapper->m_CleanAxisPlatformAlignPos->SetInfo(u8"清粉升降基板底座缸平面位_RW", "CleanAxisPlatformAlignPos"); m_SysParamWrapper->m_CleanBoxCylinderConnectPos = new SysParamFloat(flag, 3, cc, u8"清粉箱与缸体对接位_RW", "CleanBoxCylinderConnectPos"); flag += 4; m_SysParamWrapper->m_Clean3RSeparatePos = new SysParamFloat(flag, 3, cc, u8"清粉升降3R对接分离位_RW", "Clean3RSeparatePos"); flag += 4; m_SysParamWrapper->m_Clean3RSeparateCheckDistance = new SysParamFloat(flag, 3, cc, u8"清粉升降3R分离检测距离_RW", "Clean3RSeparateCheckDistance"); flag += 4; m_SysParamWrapper->m_CleanLowestPos = new SysParamFloat(flag, 3, cc, u8"清粉升降最低点_RW", "CleanLowestPos"); flag += 4; m_SysParamWrapper->m_CleanUpLimit = new SysParamFloat(flag, 3, cc, u8"清粉升降上软限位_RW", "CleanUpLimit"); flag += 4; m_SysParamWrapper->m_CleanDownLimit = new SysParamFloat(flag, 3, cc, u8"清粉升降下软限位_RW", "CleanDownLimit"); flag += 4; m_SysParamWrapper->m_EleCylinderPrintJackupPos = m_SysParamWrapper->m_CleanTrackConnectPos; //电缸打印顶升位置_RW m_SysParamWrapper->m_EleCylinderCleanJackupPos = m_SysParamWrapper->m_CleanBoxCylinderConnectPos; //电缸清粉顶升位置_RW m_SysParamWrapper->m_EleCylinderBottomFitPos = m_SysParamWrapper->m_Clean3RSeparatePos; //电缸底座贴合位置_RW m_SysParamWrapper->m_EleCylinderSoftUpLimit = m_SysParamWrapper->m_CleanUpLimit; //电缸升降上软限位_RW m_SysParamWrapper->m_EleCylinderSoftDownLimit = m_SysParamWrapper->m_CleanDownLimit; //电缸升降下软限位_RW m_SysParamWrapper->m_EleCylinderPrintJackupPos->SetInfo(u8"电缸打印顶升位置_RW", "EleCylinderPrintJackupPos"); m_SysParamWrapper->m_EleCylinderCleanJackupPos->SetInfo(u8"电缸清粉顶升位置_RW", "EleCylinderCleanJackupPos"); m_SysParamWrapper->m_EleCylinderBottomFitPos->SetInfo(u8"电缸底座贴合位置_RW", "EleCylinderBottomFitPos"); m_SysParamWrapper->m_EleCylinderSoftUpLimit->SetInfo(u8"电缸升降上软限位_RW", "EleCylinderSoftUpLimit"); m_SysParamWrapper->m_EleCylinderSoftDownLimit->SetInfo(u8"电缸升降下软限位_RW", "EleCylinderSoftDownLimit"); m_SysParamWrapper->m_LoadAxisTrackPrintPos = new SysParamFloat(flag, 3, cc, u8"移载轴轨道打印位_RW", "LoadAxisTrackPrintPos"); flag += 4; m_SysParamWrapper->m_LoadAxisTrackCleanPos = new SysParamFloat(flag, 3, cc, u8"移载轴轨道清粉位_RW", "LoadAxisTrackCleanPos"); flag += 4; m_SysParamWrapper->m_LoadAxisTrackWaitPos = new SysParamFloat(flag, 3, cc, u8"移载轴轨道等待位_RW", "LoadAxisTrackWaitPos"); flag += 4; m_SysParamWrapper->m_LoadAxisLeftLimit = new SysParamFloat(flag, 3, cc, u8"移载轴轨道左软限位_RW", "LoadAxisLeftLimit"); flag += 4; m_SysParamWrapper->m_LoadAxisRightLimit = new SysParamFloat(flag, 3, cc, u8"移载轴轨道右软限位_RW", "LoadAxisRightLimit"); flag += 4; m_SysParamWrapper->m_ArmPowderAcceptPos = new SysParamFloat(flag, 3, cc, u8"铺粉轴接粉位_RW", "ArmPowderAcceptPos"); flag += 4; m_SysParamWrapper->m_ArmPowderDropFrontPos = new SysParamFloat(flag, 3, cc, u8"铺粉轴前下粉位_RW", "ArmPowderDropFrontPos"); flag += 4; m_SysParamWrapper->m_ArmPrintFrontLimit = new SysParamFloat(flag, 3, cc, u8"铺粉轴打印面前限位_RW", "ArmPrintFrontLimit"); flag += 4; m_SysParamWrapper->m_ArmPrintBackLimit = new SysParamFloat(flag, 3, cc, u8"铺粉轴打印面后限位_RW", "ArmPrintBackLimit"); flag += 4; m_SysParamWrapper->m_ArmFrontLimit = new SysParamFloat(flag, 3, cc, u8"铺粉轴前软限位_RW", "ArmFrontLimit"); flag += 4; m_SysParamWrapper->m_ArmBackLimit = new SysParamFloat(flag, 3, cc, u8"铺粉轴后软限位_RW", "ArmBackLimit"); flag += 4; m_SysParamWrapper->m_MoldAbsTestPos = new SysParamWord(flag, 3, cc, u8"打印升降轴绝对值试运行位置列表_RW", "MoldAbsTestPos"); flag += 2; m_SysParamWrapper->m_CleanAbsTestPos = new SysParamWord(flag, 3, cc, u8"清粉升降轴绝对值试运行位置列表_RW", "CleanAbsTestPos"); flag += 2; m_SysParamWrapper->m_LoadAxisAbsTestPos = new SysParamWord(flag, 3, cc, u8"移载轴绝对值试运行位置列表_RW", "LoadAxisAbsTestPos"); flag += 2; m_SysParamWrapper->m_ArmAbsTestPos = new SysParamWord(flag, 3, cc, u8"铺粉轴绝对值试运行位置列表_RW", "ArmAbsTestPos"); flag += 2; m_SysParamWrapper->m_LineEncMoveValue = new SysParamFloat(flag, 3, cc, u8"光栅尺移动值_R", "LineEncMoveValue"); flag += 4; m_SysParamWrapper->m_LineEncPulseEqu = new SysParamFloat(flag, 3, cc, u8"光栅尺脉冲当量_RW", "LineEncPulseEqu"); flag += 4; m_SysParamWrapper->m_MoldMainHomeIndexEnc = new SysParamFloat(flag, 3, cc, u8"打印主轴原点编码器值_RW", "MoldMainHomeIndexEnc"); flag += 4; m_SysParamWrapper->m_MoldMainAlignEnc = new SysParamFloat(flag, 3, cc, u8"打印主轴对齐位编码器值_RW", "MoldMainAlignEnc"); flag += 4; m_SysParamWrapper->m_MoldMainAlignHomeRel = new SysParamFloat(flag, 3, cc, u8"打印主轴对齐位与原点相对值_RW", "MoldMainAlignHomeRel"); flag += 4; m_SysParamWrapper->m_MoldSlaveHomeIndexEnc = new SysParamFloat(flag, 3, cc, u8"打印从轴原点编码器值_RW", "MoldSlaveHomeIndexEnc"); flag += 4; m_SysParamWrapper->m_MoldSlaveAlignEnc = new SysParamFloat(flag, 3, cc, u8"打印从轴对齐位编码器值_RW", "MoldSlaveAlignEnc"); flag += 4; m_SysParamWrapper->m_MoldSlaveAlignHomeRel = new SysParamFloat(flag, 3, cc, u8"打印从轴对齐位与原点相对值_RW", "MoldSlaveAlignHomeRel"); flag += 4; m_SysParamWrapper->m_CleanMainHomeIndexEnc = new SysParamFloat(flag, 3, cc, u8"清粉主轴原点编码器值_RW", "CleanMainHomeIndexEnc"); flag += 4; m_SysParamWrapper->m_CleanMainAlignEnc = new SysParamFloat(flag, 3, cc, u8"清粉主轴对齐位编码器值_RW", "CleanMainAlignEnc"); flag += 4; m_SysParamWrapper->m_CleanMainAlignHomeRel = new SysParamFloat(flag, 3, cc, u8"清粉主轴对齐位与原点相对值_RW", "CleanMainAlignHomeRel"); flag += 4; m_SysParamWrapper->m_CleanSlaveHomeIndexEnc = new SysParamFloat(flag, 3, cc, u8"清粉从轴原点编码器值_RW", "CleanSlaveHomeIndexEnc"); flag += 4; m_SysParamWrapper->m_CleanSlaveAlignEnc = new SysParamFloat(flag, 3, cc, u8"清粉从轴对齐位编码器值_RW", "CleanSlaveAlignEnc"); flag += 4; m_SysParamWrapper->m_CleanSlaveAlignHomeRel = new SysParamFloat(flag, 3, cc, u8"清粉从轴对齐位与原点相对值_RW", "CleanSlaveAlignHomeRel"); flag += 4; m_SysParamWrapper->m_EleCylinderAbsTestPos = m_SysParamWrapper->m_CleanAbsTestPos; //电缸升降轴绝对值试运行位置列表_RW m_SysParamWrapper->m_EleCylinderMainHomeIndexEnc = m_SysParamWrapper->m_CleanMainHomeIndexEnc; //电缸主轴原点编码器值_RW m_SysParamWrapper->m_EleCylinderMainAlignEnc = m_SysParamWrapper->m_CleanMainAlignEnc; //电缸主轴对齐位编码器值_RW m_SysParamWrapper->m_EleCylinderMainAlignHomeRel = m_SysParamWrapper->m_CleanMainAlignHomeRel; //电缸主轴对齐位与原点相对值_RW m_SysParamWrapper->m_EleCylinderSlaveHomeIndexEnc = m_SysParamWrapper->m_CleanSlaveHomeIndexEnc; //电缸从轴原点编码器值_RW m_SysParamWrapper->m_EleCylinderSlaveAlignEnc = m_SysParamWrapper->m_CleanSlaveAlignEnc; //电缸从轴对齐位编码器值_RW m_SysParamWrapper->m_EleCylinderSlaveAlignHomeRel = m_SysParamWrapper->m_CleanSlaveAlignHomeRel; //电缸从轴对齐位与原点相对值_RW m_SysParamWrapper->m_EleCylinderAbsTestPos->SetInfo(u8"电缸升降轴绝对值试运行位置列表_RW", "EleCylinderAbsTestPos"); m_SysParamWrapper->m_EleCylinderMainHomeIndexEnc->SetInfo(u8"电缸主轴原点编码器值_RW", "EleCylinderMainHomeIndexEnc"); m_SysParamWrapper->m_EleCylinderMainAlignEnc->SetInfo(u8"电缸主轴对齐位编码器值_RW", "EleCylinderMainAlignEnc"); m_SysParamWrapper->m_EleCylinderMainAlignHomeRel->SetInfo(u8"电缸主轴对齐位与原点相对值_RW", "EleCylinderMainAlignHomeRel"); m_SysParamWrapper->m_EleCylinderSlaveHomeIndexEnc->SetInfo(u8"电缸从轴原点编码器值_RW", "EleCylinderSlaveHomeIndexEnc"); m_SysParamWrapper->m_EleCylinderSlaveAlignEnc->SetInfo(u8"电缸从轴对齐位编码器值_RW", "EleCylinderSlaveAlignEnc"); m_SysParamWrapper->m_EleCylinderSlaveAlignHomeRel->SetInfo(u8"电缸从轴对齐位与原点相对值_RW", "EleCylinderSlaveAlignHomeRel"); m_SysParamWrapper->m_MoldAutoSpeed = new SysParamFloat(flag, 3, cc, u8"打印升降轴速度_自动_RW", "MoldAutoSpeed"); flag += 4; m_SysParamWrapper->m_MoldAutoAcc = new SysParamFloat(flag, 3, cc, u8"打印升降轴加速度_自动_RW", "MoldAutoAcc"); flag += 4; m_SysParamWrapper->m_MoldAutoDec = new SysParamFloat(flag, 3, cc, u8"打印升降轴减速度_自动_RW", "MoldAutoDec"); flag += 4; m_SysParamWrapper->m_MoldAutoRelShift = new SysParamFloat(flag, 3, cc, u8"打印升降轴相对位移_自动_RW", "MoldAutoRelShift"); flag += 4; m_SysParamWrapper->m_MoldAutoAbsPos = new SysParamFloat(flag, 3, cc, u8"打印升降轴绝对位置_自动_RW", "MoldAutoAbsPos"); flag += 4; m_SysParamWrapper->m_CleanAutoSpeed = new SysParamFloat(flag, 3, cc, u8"清粉升降轴速度_自动_RW", "CleanAutoSpeed"); flag += 4; m_SysParamWrapper->m_CleanAutoAcc = new SysParamFloat(flag, 3, cc, u8"清粉升降轴加速度_自动_RW", "CleanAutoAcc"); flag += 4; m_SysParamWrapper->m_CleanAutoDec = new SysParamFloat(flag, 3, cc, u8"清粉升降轴减速度_自动_RW", "CleanAutoDec"); flag += 4; m_SysParamWrapper->m_CleanAutoRelShift = new SysParamFloat(flag, 3, cc, u8"清粉升降轴相对位移_自动_RW", "CleanAutoRelShift"); flag += 4; m_SysParamWrapper->m_CleanAutoAbsPos = new SysParamFloat(flag, 3, cc, u8"清粉升降轴绝对位置_自动_RW", "CleanAutoAbsPos"); flag += 4; m_SysParamWrapper->m_EleCylinderAutoSpeed = m_SysParamWrapper->m_CleanAutoSpeed; //电缸升降轴速度_自动_RW m_SysParamWrapper->m_EleCylinderAutoAcc = m_SysParamWrapper->m_CleanAutoAcc; //电缸升降轴加速度_自动_RW m_SysParamWrapper->m_EleCylinderAutoDec = m_SysParamWrapper->m_CleanAutoDec; //电缸升降轴减速度_自动_RW m_SysParamWrapper->m_EleCylinderAutoRelShift = m_SysParamWrapper->m_CleanAutoRelShift; //电缸升降轴相对位移_自动_RW m_SysParamWrapper->m_EleCylinderAutoAbsPos = m_SysParamWrapper->m_CleanAutoAbsPos; //电缸升降轴绝对位置_自动_RW m_SysParamWrapper->m_EleCylinderAutoSpeed->SetInfo(u8"电缸升降轴速度_自动_RW", "EleCylinderAutoSpeed"); m_SysParamWrapper->m_EleCylinderAutoAcc->SetInfo(u8"电缸升降轴加速度_自动_RW", "EleCylinderAutoAcc"); m_SysParamWrapper->m_EleCylinderAutoDec->SetInfo(u8"电缸升降轴减速度_自动_RW", "EleCylinderAutoDec"); m_SysParamWrapper->m_EleCylinderAutoRelShift->SetInfo(u8"电缸升降轴相对位移_自动_RW", "EleCylinderAutoRelShift"); m_SysParamWrapper->m_EleCylinderAutoAbsPos->SetInfo(u8"电缸升降轴绝对位置_自动_RW", "EleCylinderAutoAbsPos"); m_SysParamWrapper->m_LoadAxisAutoSpeed = new SysParamFloat(flag, 3, cc, u8"移载轴速度_自动_RW", "LoadAxisAutoSpeed"); flag += 4; m_SysParamWrapper->m_LoadAxisnAutoAcc = new SysParamFloat(flag, 3, cc, u8"移载轴加速度_自动_RW", "LoadAxisnAutoAcc"); flag += 4; m_SysParamWrapper->m_LoadAxisAutoDec = new SysParamFloat(flag, 3, cc, u8"移载轴减速度_自动_RW", "LoadAxisAutoDec"); flag += 4; m_SysParamWrapper->m_LoadAxisAutoRelShift = new SysParamFloat(flag, 3, cc, u8"移载轴相对位移_自动_RW", "LoadAxisAutoRelShift"); flag += 4; m_SysParamWrapper->m_LoadAxisAutoAbsPos = new SysParamFloat(flag, 3, cc, u8"移载轴绝对位置_自动_RW", "LoadAxisAutoAbsPos"); flag += 4; m_SysParamWrapper->m_ArmAutoSpeed = new SysParamFloat(flag, 3, cc, u8"铺粉轴速度_自动_RW", "ArmAutoSpeed"); flag += 4; m_SysParamWrapper->m_ArmAxisnAutoAcc = new SysParamFloat(flag, 3, cc, u8"铺粉轴加速度_自动_RW", "ArmAxisnAutoAcc"); flag += 4; m_SysParamWrapper->m_ArmAxisAutoDec = new SysParamFloat(flag, 3, cc, u8"铺粉轴减速度_自动_RW", "ArmAxisAutoDec"); flag += 4; m_SysParamWrapper->m_ArmAxisAutoRelShift = new SysParamFloat(flag, 3, cc, u8"铺粉轴相对位移_自动_RW", "ArmAxisAutoRelShift"); flag += 4; m_SysParamWrapper->m_ArmAxisAutoAbsPos = new SysParamFloat(flag, 3, cc, u8"铺粉轴绝对位置_自动_RW", "ArmAxisAutoAbsPos"); flag += 4; m_SysParamWrapper->m_SupplyAutoSpeed = new SysParamFloat(flag, 3, cc, u8"供粉转轴速度_自动_RW", "SupplyAutoSpeed"); flag += 4; m_SysParamWrapper->m_SupplyAxisnAutoAcc = new SysParamFloat(flag, 3, cc, u8"供粉转轴加速度_自动_RW", "SupplyAxisnAutoAcc"); flag += 4; m_SysParamWrapper->m_SupplyAxisAutoDec = new SysParamFloat(flag, 3, cc, u8"供粉转轴减速度_自动_RW", "SupplyAxisAutoDec"); flag += 4; m_SysParamWrapper->m_SupplyAxisAutoRelShift = new SysParamFloat(flag, 3, cc, u8"供粉转轴相对位移_自动_RW", "SupplyAxisAutoRelShift"); flag += 4; m_SysParamWrapper->m_SupplyAxisAutoAbsPos = new SysParamFloat(flag, 3, cc, u8"供粉转轴绝对位置_自动_RW", "SupplyAxisAutoAbsPos"); flag += 4; m_SysParamWrapper->m_Print3RSeparatTorqueThreshold = new SysParamFloat(flag, 3, cc, u8"打印3R脱离扭力报警值_RW", "Print3RSeparatTorqueThreshold"); flag += 4; m_SysParamWrapper->m_MoldUpTorqueThrehold = new SysParamFloat(flag, 3, cc, u8"打印升降轴上升扭力报警值_RW", "MoldUpTorqueThrehold"); flag += 4; m_SysParamWrapper->m_MoldDownTorqueThrehold = new SysParamFloat(flag, 3, cc, u8"打印升降轴下降扭力报警值_RW", "MoldDownTorqueThrehold"); flag += 4; m_SysParamWrapper->m_Clean3RSeparatTorqueThrehold = new SysParamFloat(flag, 3, cc, u8"清粉3R脱离扭力报警值_RW", "Clean3RSeparatTorqueThrehold"); flag += 4; m_SysParamWrapper->m_CleanUpTorqueThrehold = new SysParamFloat(flag, 3, cc, u8"清粉升降轴上升扭力报警值_RW", "CleanUpTorqueThrehold"); flag += 4; m_SysParamWrapper->m_CleanDownTorqueThreshold = new SysParamFloat(flag, 3, cc, u8"清粉升降轴下降扭力报警值_RW", "CleanDownTorqueThreshold"); flag += 4; m_SysParamWrapper->m_EleCylinderUpTorqueThrehold = m_SysParamWrapper->m_CleanUpTorqueThrehold; //电缸升降轴上升扭力报警值_RW Real m_SysParamWrapper->m_EleCylinderDownTorqueThreshold = m_SysParamWrapper->m_CleanDownTorqueThreshold; //电缸升降轴下降扭力报警值_RW Real m_SysParamWrapper->m_EleCylinderUpTorqueThrehold->SetInfo(u8"电缸升降轴上升扭力报警值_RW", "EleCylinderUpTorqueThrehold"); m_SysParamWrapper->m_EleCylinderDownTorqueThreshold->SetInfo(u8"电缸升降轴下降扭力报警值_RW", "EleCylinderDownTorqueThreshold"); m_SysParamWrapper->m_CoverType = new SysParamWord(flag, 3, cc, u8"铺粉类型__RW", "CoverType"); flag += 2; m_SysParamWrapper->m_CoverSpeed = new SysParamFloat(flag, 3, cc, u8"打印铺粉速度_RW", "CoverSpeed"); flag += 4; m_SysParamWrapper->m_CoverReturnSpeed = new SysParamFloat(flag, 3, cc, u8"打印单向铺粉返回变速_RW", "CoverReturnSpeed"); flag += 4; m_SysParamWrapper->m_CoverDistance = new SysParamFloat(flag, 3, cc, u8"打印单向铺粉距离_RW", "CoverDistance"); flag += 4; m_SysParamWrapper->m_LayerThick = new SysParamFloat(flag, 3, cc, u8"打印铺粉层厚_RW", "LayerThick"); flag += 4; m_SysParamWrapper->m_FixGap = new SysParamFloat(flag, 3, cc, u8"打印间隙补偿_RW", "FixGap"); flag += 4; m_SysParamWrapper->m_SupplyCount = new SysParamWord(flag, 3, cc, u8"打印铺粉格数_RW", "SupplyCount"); flag += 2; m_SysParamWrapper->m_SupplyTime = new SysParamInt(flag, 3, cc, u8"打印下粉时间_RW", "SupplyTime"); flag += 4; m_SysParamWrapper->m_DebugLayerThick = new SysParamFloat(flag, 3, cc, u8"铺粉调试层厚_RW", "DebugLayerThick"); flag += 4; m_SysParamWrapper->m_DebugFixGap = new SysParamFloat(flag, 3, cc, u8"铺粉调试间隙_RW", "DebugFixGap"); flag += 4; m_SysParamWrapper->m_DebugSupplyTime = new SysParamInt(flag, 3, cc, u8"铺粉调试下粉时间_RW", "DebugSupplyTime"); flag += 4; m_SysParamWrapper->m_DebugSupplyCount = new SysParamWord(flag, 3, cc, u8"铺粉调试格数_RW", "DebugSupplyCount"); flag += 2; m_SysParamWrapper->m_DebugCoverDistance = new SysParamFloat(flag, 3, cc, u8"铺粉调试铺粉距离_RW", "DebugCoverDistance"); flag += 4; m_SysParamWrapper->m_MoldHighSpeed = new SysParamFloat(flag, 3, cc, u8"打印升降轴快速移动速度_RW", "MoldHighSpeed"); flag += 4; m_SysParamWrapper->m_MoldDeoxygenSpeed = new SysParamFloat(flag, 3, cc, u8"打印升降轴下降除氧位速度_RW", "MoldDeoxygenSpeed"); flag += 4; m_SysParamWrapper->m_CleanHighSpeed = new SysParamFloat(flag, 3, cc, u8"清粉升降轴快速移动速度_RW", "CleanHighSpeed"); flag += 4; m_SysParamWrapper->m_PrintPressureThrehold = new SysParamFloat(flag, 3, cc, u8"打印室压力泄压值_RW", "PrintPressureThrehold"); flag += 4; m_SysParamWrapper->m_EnvUIAssit.m_PrintPressureThrehold = new SysParamFloatUI(m_SysParamWrapper->m_PrintPressureThrehold); m_SysParamWrapper->m_MoldDeoxygenTime = new SysParamInt(flag, 3, cc, u8"打印升降轴除氧时间_RW", "MoldDeoxygenTime"); flag += 4; m_SysParamWrapper->m_PowderCarDeoxygenTime = new SysParamInt(flag, 3, cc, u8"存粉小车除氧时间_RW", "PowderCarDeoxygenTime"); flag += 4; m_SysParamWrapper->m_GratingRulerValue = new SysParamFloat(flag, 3, cc, u8"光栅尺判断值", "GratingRulerValue"); flag += 4; m_SysParamWrapper->m_ArmTorqueThreshold = new SysParamFloat(flag, 3, cc, u8"铺粉轴扭力报警值", "ArmTorqueThreshold"); flag += 4; m_SysParamWrapper->m_LoadTorqueThreshold = new SysParamFloat(flag, 3, cc, u8"移载轴扭力报警值", "LoadTorqueThreshold"); flag += 4; m_SysParamWrapper->m_SupplyTorqueThreshold = new SysParamFloat(flag, 3, cc, u8"供粉轴扭力报警值", "SupplyTorqueThreshold"); flag += 4; m_SysParamWrapper->m_PrintMainLead = new SysParamFloat(flag, 3, cc, u8"打印主轴导程_RW", "PrintMainLead"); flag += 4; m_SysParamWrapper->m_PrintMainReductionRatio = new SysParamFloat(flag, 3, cc, u8"打印主轴减速比", "PrintMainReductionRatio"); flag += 4; m_SysParamWrapper->m_PrintMainMaxRotationlSpeed = new SysParamFloat(flag, 3, cc, u8"打印主轴电机最高转速", "PrintMainMaxRotationlSpeed"); flag += 4; m_SysParamWrapper->m_PrintSlaveLead = new SysParamFloat(flag, 3, cc, u8"打印从轴导程", "PrintSlaveLead"); flag += 4; m_SysParamWrapper->m_PrintSlaveReductionRatio = new SysParamFloat(flag, 3, cc, u8"打印从轴减速比", "PrintSlaveReductionRatio"); flag += 4; m_SysParamWrapper->m_PrintSlaveMaxRotationlSpeed = new SysParamFloat(flag, 3, cc, u8"打印从轴电机最高转速", "PrintSlaveMaxRotationlSpeed"); flag += 4; m_SysParamWrapper->m_CleanMainLead = new SysParamFloat(flag, 3, cc, u8"清粉主轴导程", "CleanMainLead"); flag += 4; m_SysParamWrapper->m_CleanMainReductionRatio = new SysParamFloat(flag, 3, cc, u8"清粉主轴减速比", "CleanMainReductionRatio"); flag += 4; m_SysParamWrapper->m_CleanMainMaxRotationlSpeed = new SysParamFloat(flag, 3, cc, u8"清粉主轴电机最高转速", "CleanMainMaxRotationlSpeed"); flag += 4; m_SysParamWrapper->m_CleanSlaveLead = new SysParamFloat(flag, 3, cc, u8"清粉从轴导程", "CleanSlaveLead"); flag += 4; m_SysParamWrapper->m_CleanSlaveReductionRatio = new SysParamFloat(flag, 3, cc, u8"清粉从轴减速比", "CleanSlaveReductionRatio"); flag += 4; m_SysParamWrapper->m_CleanSlaveMaxRotationlSpeed = new SysParamFloat(flag, 3, cc, u8"清粉从轴电机最高转速", "CleanSlaveMaxRotationlSpeed"); flag += 4; m_SysParamWrapper->m_EleCylinderMainLead = m_SysParamWrapper->m_CleanMainLead; //电缸主轴导程 m_SysParamWrapper->m_EleCylinderMainReductionRatio = m_SysParamWrapper->m_CleanMainReductionRatio; //电缸主轴减速比 m_SysParamWrapper->m_EleCylinderMainMaxRotationlSpeed = m_SysParamWrapper->m_CleanMainMaxRotationlSpeed; //电缸主轴电机最高转速 m_SysParamWrapper->m_EleCylinderSlaveLead = m_SysParamWrapper->m_CleanSlaveLead; //电缸从轴导程 m_SysParamWrapper->m_EleCylinderSlaveReductionRatio = m_SysParamWrapper->m_CleanSlaveReductionRatio; //电缸从轴减速比 m_SysParamWrapper->m_EleCylinderSlaveMaxRotationlSpeed = m_SysParamWrapper->m_CleanSlaveMaxRotationlSpeed; //电缸从轴电机最高转速 m_SysParamWrapper->m_EleCylinderMainLead->SetInfo(u8"电缸主轴导程", "EleCylinderMainLead"); m_SysParamWrapper->m_EleCylinderMainReductionRatio->SetInfo(u8"电缸主轴减速比", "EleCylinderMainReductionRatio"); m_SysParamWrapper->m_EleCylinderMainMaxRotationlSpeed->SetInfo(u8"电缸主轴电机最高转速", "EleCylinderMainMaxRotationlSpeed"); m_SysParamWrapper->m_EleCylinderSlaveLead->SetInfo(u8"电缸从轴导程", "EleCylinderSlaveLead"); m_SysParamWrapper->m_EleCylinderSlaveReductionRatio->SetInfo(u8"电缸从轴减速比", "EleCylinderSlaveReductionRatio"); m_SysParamWrapper->m_EleCylinderSlaveMaxRotationlSpeed->SetInfo(u8"电缸从轴电机最高转速", "EleCylinderSlaveMaxRotationlSpeed"); m_SysParamWrapper->m_LoadAxisLead = new SysParamFloat(flag, 3, cc, u8"移载轴导程", "LoadAxisLead"); flag += 4; m_SysParamWrapper->m_LoadAxisReductionRatio = new SysParamFloat(flag, 3, cc, u8"移载轴减速比", "LoadAxisReductionRatio"); flag += 4; m_SysParamWrapper->m_LoadAxisMaxRotationlSpeed = new SysParamFloat(flag, 3, cc, u8"移载轴电机最高转速", "LoadAxisMaxRotationlSpeed"); flag += 4; m_SysParamWrapper->m_ArmLead = new SysParamFloat(flag, 3, cc, u8"铺粉轴导程", "ArmLead"); flag += 4; m_SysParamWrapper->m_ArmReductionRatio = new SysParamFloat(flag, 3, cc, u8"铺粉轴减速比", "ArmReductionRatio"); flag += 4; m_SysParamWrapper->m_ArmMaxRotationlSpeed = new SysParamFloat(flag, 3, cc, u8"铺粉轴电机最高转速", "ArmMaxRotationlSpeed"); flag += 4; m_SysParamWrapper->m_SupplyLead = new SysParamFloat(flag, 3, cc, u8"供粉转轴导程", "SupplyLead"); flag += 4; m_SysParamWrapper->m_SupplyReductionRatio = new SysParamFloat(flag, 3, cc, u8"供粉转轴减速比", "SupplyReductionRatio"); flag += 4; m_SysParamWrapper->m_SupplyRotationlSpeed = new SysParamFloat(flag, 3, cc, u8"供粉转轴电机最高转速", "SupplyRotationlSpeed"); flag += 4; m_SysParamWrapper->m_ArmSlotDistance = new SysParamFloat(flag, 3, cc, u8"铺粉槽距离", "ArmSlotDistance"); flag += 4; m_SysParamWrapper->m_PowderJarCabinPressureVoltage = new SysParamFloat(flag, 3, cc, u8"下粉罐与粉仓的压差电压值", "PowderJarCabinPressureVoltage"); flag += 4; m_SysParamWrapper->m_PowderJarCabinPressureValue = new SysParamFloat(flag, 3, cc, u8"下粉罐与粉仓的压差实际值", "PowderJarCabinPressureValue"); flag += 4; m_SysParamWrapper->m_CleanBoxDeoxygenSetValue = new SysParamFloat(flag, 3, cc, u8"清粉箱除氧设定值_RW", "CleanBoxDeoxygenSetValue"); flag += 4; m_SysParamWrapper->m_CleanBoxOxygenDownLimit = new SysParamFloat(flag, 3, cc, u8"清粉箱测氧仪下限_RW", "CleanBoxOxygenDownLimit"); flag += 4; m_SysParamWrapper->m_CleanBoxOxygenUpLimit = new SysParamFloat(flag, 3, cc, u8"清粉箱测氧仪上限_RW", "CleanBoxOxygenUpLimit"); flag += 4; m_SysParamWrapper->m_CleanBoxPressureReleaseValue = new SysParamFloat(flag, 3, cc, u8"清粉箱泄压值_RW", "CleanBoxPressureReleaseValue"); flag += 4; m_SysParamWrapper->m_PrintCar1RealWeight = new SysParamFloat(flag, 3, cc, u8"打印小车1实际重量", "PrintCar1RealWeight"); flag += 4; m_SysParamWrapper->m_PrintCar1AlarmWeight = new SysParamFloat(flag, 3, cc, u8"打印小车1报警重量_RW", "PrintCar1AlarmWeight"); flag += 4; m_SysParamWrapper->m_PrintCar2RealWeight = new SysParamFloat(flag, 3, cc, u8"打印小车2实际重量", "PrintCar2RealWeight"); flag += 4; m_SysParamWrapper->m_PrintCar2AlarmWeight = new SysParamFloat(flag, 3, cc, u8"打印小车2报警重量_RW", "PrintCar2AlarmWeight"); flag += 4; m_SysParamWrapper->m_CleanCar1RealWeight = new SysParamFloat(flag, 3, cc, u8"清粉小车1实际重量", "CleanCar1RealWeight"); flag += 4; m_SysParamWrapper->m_CleanCar1AlarmWeight = new SysParamFloat(flag, 3, cc, u8"清粉小车1报警重量_RW", "CleanCar1AlarmWeight"); flag += 4; m_SysParamWrapper->m_CleanCar2RealWeight = new SysParamFloat(flag, 3, cc, u8"清粉小车2实际重量", "CleanCar2RealWeight"); flag += 4; m_SysParamWrapper->m_CleanCar2AlarmWeight = new SysParamFloat(flag, 3, cc, u8"清粉小车2报警重量_RW", "CleanCar2AlarmWeight"); flag += 4; m_SysParamWrapper->m_LoadHandPos = new SysParamFloat(flag, 3, cc, u8"移载轨道吊装位置", "LoadHandPos"); flag += 4; m_SysParamWrapper->m_PowderLevelLength = new SysParamFloat(flag, 3, cc, u8"料位棒长度", "PowderLevelLength"); flag += 4; m_SysParamWrapper->m_PowderLevelValue = new SysParamFloat(flag, 3, cc, u8"料位棒当前值", "PowderLevelValue"); flag += 4; m_SysParamWrapper->m_PrintAirRenewalPresRelValue = new SysParamFloat(flag, 3, cc, u8"打印室换气泄压值", "PrintAirRenewalPresRelValue"); flag += 4; m_SysParamWrapper->m_RollerEdgeSearchOffset = new SysParamFloat(flag, 3, cc, u8"供粉转轴寻边偏移度数", "RollerEdgeSearchOffset"); flag += 4; m_SysParamWrapper->m_LoadHandCrashPos = new SysParamFloat(flag, 3, cc, u8"移载吊装碰撞位_RW", "LoadHandCrashPos"); flag += 4; m_SysParamWrapper->m_ArmCatpureHomeFastSpeed = new SysParamFloat(flag, 3, cc, u8"铺粉轴归原快速_RW", "ArmCatpureHomeFastSpeed"); flag += 4; m_SysParamWrapper->m_ArmCatpureHomeSlowSpeed = new SysParamFloat(flag, 3, cc, u8"铺粉轴归原慢速_RW", "ArmCatpureHomeSlowSpeed"); flag += 4; m_SysParamWrapper->m_LinearEncoderErrorJudgeValue = new SysParamFloat(flag, 3, cc, u8"光栅尺错误判断值_RW", "LinearEncoderErrorJudgeValue"); flag += 4; m_SysParamWrapper->m_LinearEncoderPerLayerRealValue = new SysParamFloat(flag, 3, cc, u8"光栅尺每层实际值_R", "LinearEncoderPerLayerRealValue"); flag += 4; m_SysParamWrapper->m_GapCompensateDiffValue = new SysParamFloat(flag, 3, cc, u8"间隙补偿差值", "GapCompensateDiffValue"); flag += 4; m_SysParamWrapper->m_MoldTheoryDistance = new SysParamFloat(flag, 3, cc, u8"升降理论行程", "MoldTheoryDistance"); flag += 4; m_SysParamWrapper->m_LinearActDistance = new SysParamFloat(flag, 3, cc, u8"光栅实际行程", "LinearActDistance"); flag += 4; m_SysParamWrapper->m_LinearActPulse = new SysParamFloat(flag, 3, cc, u8"光栅实际脉冲数", "LinearActPulse"); flag += 4; m_SysParamWrapper->m_PrintHomeSpeed = new SysParamFloat(flag, 3, cc, u8"打印轴归原点速度", "PrintHomeSpeed"); flag += 4; m_SysParamWrapper->m_EleCylinderHomeSpeed = new SysParamFloat(flag, 3, cc, u8"电动缸归原点速度", "EleCylinderHomeSpeed"); flag += 4; m_SysParamWrapper->m_CleanHomeSpeed = new SysParamFloat(flag, 3, cc, u8"清粉轴归原点速度", "CleanHomeSpeed"); flag += 4; m_SysParamWrapper->m_LoadHomeSpeed = new SysParamFloat(flag, 3, cc, u8"移栽轴归原点速度", "LoadHomeSpeed"); flag += 4; m_SysParamWrapper->m_LoadSearchEdgeTorqueAlarmValue = new SysParamFloat(flag, 3, cc, u8"移栽寻边报警扭力值", "LoadSearchEdgeTorqueAlarmValue"); flag += 4; m_SysParamWrapper->m_ArmBackAcceptPos = m_SysParamWrapper->m_LoadSearchEdgeTorqueAlarmValue; m_SysParamWrapper->m_ArmBackAcceptPos->SetInfo(u8"铺粉接粉后位", "ArmBackAcceptPos"); m_SysParamWrapper->m_HighPressureGasJudgmentValue = new SysParamFloat(flag, 3, cc, u8"高压气判断值", "HighPressureGasJudgmentValue"); flag += 4; m_SysParamWrapper->m_ProtectiveGasJudgmentValue = new SysParamFloat(flag, 3, cc, u8"保护气判断值", "ProtectiveGasJudgmentValue"); flag += 4; m_SysParamWrapper->m_UnloadDropDistance = new SysParamFloat(flag, 3, cc, u8"卸载升降轴下降距离", "UnloadDropDistance"); flag += 4; m_SysParamWrapper->m_DataSizeMinY = new SysParamFloat(flag, 3, cc, u8"数据Y最小值", "DataSizeMinY"); flag += 4; m_SysParamWrapper->m_DataSizeMaxY = new SysParamFloat(flag, 3, cc, u8"数据Y最大值", "DataSizeMaxY"); flag += 4; flag = 914; m_SysParamWrapper->m_AllowPrintHigh = new SysParamFloat(flag, 3, cc, u8"允许打印高度", "AllowPrintHigh"); flag = 1158; m_SysParamWrapper->m_AutoCaptureCoverHomeIntervalTimes = new SysParamWord(flag, 3, cc, u8"铺粉归原点触发数", "AutoCaptureCoverHomeIntervalTimes"); flag += 2; m_SysParamWrapper->m_AutoCaptureCoverHomeCalcTimes = new SysParamWord(flag, 3, cc, u8"铺粉归原点累积次数", "AutoCaptureCoverHomeCalcTimes"); flag += 2; m_SysParamWrapper->m_LinearEncoderCompensateTimes = new SysParamWord(flag, 3, cc, u8"光栅补偿次数", "LinearEncoderCompensateTimes"); flag += 2; m_SysParamWrapper->m_EnvUIAssit.m_CleanBoxDeoxygenSetValue = new SysParamFloatUI(m_SysParamWrapper->m_CleanBoxDeoxygenSetValue); //清粉箱除氧设定值_RW m_SysParamWrapper->m_EnvUIAssit.m_CleanBoxOxygenDownLimit = new SysParamFloatUI(m_SysParamWrapper->m_CleanBoxOxygenDownLimit); //清粉箱测氧仪下限_RW m_SysParamWrapper->m_EnvUIAssit.m_CleanBoxOxygenUpLimit = new SysParamFloatUI(m_SysParamWrapper->m_CleanBoxOxygenUpLimit); //清粉箱测氧仪上限_RW m_SysParamWrapper->m_EnvUIAssit.m_CleanBoxPressureReleaseValue = new SysParamFloatUI(m_SysParamWrapper->m_CleanBoxPressureReleaseValue); //清粉箱泄压值_RW m_SysParamWrapper->m_EnvUIAssit.m_PrintCar1AlarmWeight = new SysParamFloatUI(m_SysParamWrapper->m_PrintCar1AlarmWeight); //打印小车1报警重量_RW m_SysParamWrapper->m_EnvUIAssit.m_PrintCar2AlarmWeight = new SysParamFloatUI(m_SysParamWrapper->m_PrintCar2AlarmWeight); //打印小车2报警重量_RW m_SysParamWrapper->m_EnvUIAssit.m_CleanCar1AlarmWeight = new SysParamFloatUI(m_SysParamWrapper->m_CleanCar1AlarmWeight); //清粉小车1报警重量_RW m_SysParamWrapper->m_EnvUIAssit.m_CleanCar2AlarmWeight = new SysParamFloatUI(m_SysParamWrapper->m_CleanCar2AlarmWeight); //清粉小车2报警重量_RW m_SysParamWrapper->m_EnvUIAssit.m_LoadHandPos = new SysParamFloatUI(m_SysParamWrapper->m_LoadHandPos); //移载轨道吊装位置 m_SysParamWrapper->m_EnvUIAssit.m_PowderLevelLength = new SysParamFloatUI(m_SysParamWrapper->m_PowderLevelLength); //料位棒长度 m_SysParamWrapper->m_EnvUIAssit.m_PowderLevelValue = new SysParamFloatUI(m_SysParamWrapper->m_PowderLevelValue); //料位棒当前值 m_SysParamWrapper->m_EnvUIAssit.m_PrintAirRenewalPresRelValue = new SysParamFloatUI(m_SysParamWrapper->m_PrintAirRenewalPresRelValue); //打印室换气泄压值 m_SysParamWrapper->m_EnvUIAssit.m_RollerEdgeSearchOffset = new SysParamFloatUI(m_SysParamWrapper->m_RollerEdgeSearchOffset); //供粉转轴寻边偏移度数 m_SysParamWrapper->m_EnvUIAssit.m_LoadHandCrashPos = new SysParamFloatUI(m_SysParamWrapper->m_LoadHandCrashPos); //移载吊装碰撞位_RW m_SysParamWrapper->m_EnvUIAssit.m_ArmCatpureHomeFastSpeed = new SysParamFloatUI(m_SysParamWrapper->m_ArmCatpureHomeFastSpeed); //铺粉轴归原快速_RW m_SysParamWrapper->m_EnvUIAssit.m_ArmCatpureHomeSlowSpeed = new SysParamFloatUI(m_SysParamWrapper->m_ArmCatpureHomeSlowSpeed); //铺粉轴归原慢速_RW m_SysParamWrapper->m_EnvUIAssit.m_LinearEncoderErrorJudgeValue = new SysParamFloatUI(m_SysParamWrapper->m_LinearEncoderErrorJudgeValue); //光栅尺错误判断值_RW m_SysParamWrapper->m_EnvUIAssit.m_GapCompensateDiffValue = new SysParamFloatUI(m_SysParamWrapper->m_GapCompensateDiffValue); //间隙补偿差值 m_SysParamWrapper->m_EnvUIAssit.m_PrintHomeSpeed = new SysParamFloatUI(m_SysParamWrapper->m_PrintHomeSpeed); //打印轴归原点速度 m_SysParamWrapper->m_EnvUIAssit.m_CleanHomeSpeed = new SysParamFloatUI(m_SysParamWrapper->m_CleanHomeSpeed); //清粉轴归原点速度 m_SysParamWrapper->m_EnvUIAssit.m_LoadHomeSpeed = new SysParamFloatUI(m_SysParamWrapper->m_LoadHomeSpeed); //移栽轴归原点速度 //m_EnvUIAssit.m_LinearEncoderPerLayerRealValue = new SysParamFloatUI(m_LinearEncoderPerLayerRealValue); //光栅尺每层实际值_R m_SysParamWrapper->m_EnvUIAssit.m_AutoCaptureCoverHomeIntervalTimes = new SysParamWordUI(m_SysParamWrapper->m_AutoCaptureCoverHomeIntervalTimes); //铺粉归原点触发数 m_SysParamWrapper->m_EnvUIAssit.m_HighPressureGasJudgmentValue = new SysParamFloatUI(m_SysParamWrapper->m_HighPressureGasJudgmentValue); m_SysParamWrapper->m_EnvUIAssit.m_ProtectiveGasJudgmentValue = new SysParamFloatUI(m_SysParamWrapper->m_ProtectiveGasJudgmentValue); //m_EnvUIAssit.m_AutoCaptureCoverHomeCalcTimes = new SysParamWordUI(m_AutoCaptureCoverHomeCalcTimes); //铺粉归原点触发数 flag = 0; m_SysParamWrapper->m_HeatingCheckTime = new SysParamInt(flag, 65, cc, u8"加热信号检验时间", "HeatingCheckTime"); flag += 4; m_SysParamWrapper->m_CylinderMotionDelayTime = new SysParamInt(flag, 65, cc, u8"气缸动作检测延时", "CylinderMotionDelayTime"); flag += 4; m_SysParamWrapper->m_LinearEncoderCompensateTime = new SysParamInt(flag, 65, cc, u8"光栅尺补偿延时", "LinearEncoderCompensateTime"); flag += 4; m_SysParamWrapper->m_DropPowderOpenDeleyTime = new SysParamInt(flag, 65, cc, u8"下粉阀开延时", "DropPowderOpenDeleyTime"); flag += 4; m_SysParamWrapper->m_DropPowderCloseDelayTime = new SysParamInt(flag, 65, cc, u8"下粉阀关延时", "DropPowderCloseDelayTime"); flag += 4; } //void HBDE1000::InitPLCCommand(vector& vecs) //{ // S7Command* pcommand = new S7Command(S7_COMMAND_READ_INFO, READ_INFO_ITEM_COUNT); // TS7DataItem* items = pcommand->getDataItems(); // int flag = 0; // items[flag].Area = S7AreaDB; // items[flag].DBNumber = 1; // items[flag].WordLen = S7WLByte; // items[flag].Start = 0; // items[flag].Amount = 98; // items[flag].pdata = new unsigned char[98]; // // flag++; // items[flag].Area = S7AreaDB; // items[flag].DBNumber = 4; // items[flag].WordLen = S7WLByte; // items[flag].Start = 249; // items[flag].Amount = 3; // items[flag].pdata = new unsigned char[3]; // // flag++; // items[flag].Area = S7AreaDB; // items[flag].DBNumber = 14; // items[flag].WordLen = S7WLByte; // items[flag].Start = 0; // items[flag].Amount = 43; // items[flag].pdata = new unsigned char[43]; // // flag++; // items[flag].Area = S7AreaDB; // items[flag].DBNumber = 68; // items[flag].WordLen = S7WLByte; // items[flag].Start = 0; // items[flag].Amount = 3; // items[flag].pdata = new unsigned char[3]; // // flag++; // items[flag].Area = S7AreaDB; // items[flag].DBNumber = 65; // items[flag].WordLen = S7WLByte; // items[flag].Start = 0; // items[flag].Amount = 20; // items[flag].pdata = new unsigned char[20]; // // flag++; // items[flag].Area = S7AreaDB; // items[flag].DBNumber = 3; // items[flag].WordLen = S7WLByte; // items[flag].Start = 1158; // items[flag].Amount = 10; // items[flag].pdata = new unsigned char[10]; // // flag++; // items[flag].Area = S7AreaDB; // items[flag].DBNumber = 3; // items[flag].WordLen = S7WLByte; // items[flag].Start = 874; // items[flag].Amount = 68; // items[flag].pdata = new unsigned char[68]; // // pcommand->m_Ref = this; // pcommand->m_Fun = &HBDE1000::ProcReadPLC; // pcommand->isNeedDel = false; // vecs.push_back(pcommand); // // S7Command* pdata = new S7Command(S7_COMMAND_READ_INFO, READ_DATA_ITEM_COUNT); // TS7DataItem* dataItems = pdata->getDataItems(); // // dataItems[0].Area = S7AreaDB; // dataItems[0].DBNumber = 3; // dataItems[0].WordLen = S7WLByte; // dataItems[0].Start = 0; // dataItems[0].Amount = 874; // dataItems[0].pdata = new unsigned char[874]; // pdata->m_Ref = this; // pdata->m_Fun = &HBDE1000::ProcReadPLCData; // pdata->isNeedDel = false; // vecs.push_back(pdata); //} //void HBDE1000::ProcReadPLC(void* pobject, Command* pcommand) //{ // S7Command* s7Command = (S7Command*)pcommand; // TS7DataItem* pdataItems = s7Command->getDataItems(); // int itemcount = s7Command->getItemCount(); // if (pobject == NULL || itemcount != READ_INFO_ITEM_COUNT)return; // HBDE1000* machine = (HBDE1000*)pobject; // TS7DataItem pIOAndStatus = pdataItems[0]; // TS7DataItem pAxisState = pdataItems[1]; // TS7DataItem pAxisCtrl = pdataItems[2]; // TS7DataItem pPersistState = pdataItems[3]; // TS7DataItem pTimeSet = pdataItems[4]; // TS7DataItem pCapture = pdataItems[5]; // TS7DataItem pDB3Ext = pdataItems[6]; // CoreCommunication* cc = (CoreCommunication*)machine->m_PLC; // // for (int i = 0; i < itemcount; ++i) { // WriteData* data = new WriteData(); // data->dataType = WRITETYPE(i); // data->strValue = (char*)pdataItems[i].pdata; // data->result = true; // for (auto& client : machine->m_clientUser) { // client->SetPushMsg(data); // } // // } //} // // std::unique_lock lock(cc->m_ValueMtx); // if (pIOAndStatus.Result == 0) { // unsigned char* arr = (unsigned char*)pIOAndStatus.pdata; // machine->m_IOCfgWrapper->Update(arr); // bitset<8> arr52(arr[52]); // machine->m_SignalStateWrapper->m_PLCKeepAlive->SetReatimeValue(arr52[0]); // machine->m_SignalStateWrapper->m_PCKeepAlice->SetReatimeValue(arr52[1]); // machine->m_SignalStateWrapper->m_DeviceStandby->SetReatimeValue(arr52[2]); // machine->m_SignalStateWrapper->m_DevicePrinting->SetReatimeValue(arr52[3]); // machine->m_SignalStateWrapper->m_DeviceManualDebug->SetReatimeValue(arr52[4]); // machine->m_SignalStateWrapper->m_DeviceAutoRuning->SetReatimeValue(arr52[5]); // machine->m_SignalStateWrapper->m_TouchPanelCtrling->SetReatimeValue(arr52[6]); // machine->m_SignalStateWrapper->m_MotionDebug->SetReatimeValue(arr52[7]); // // machine->m_SignalStateWrapper->m_CylinderExceptionReset->SetReatimeValue((arr[53] & 0x1) > 0 ? true : false); // // bitset<8> arr55(arr[55]); // machine->m_SignalStateWrapper->m_PLCConnectAlarm->SetReatimeValue(arr55[6]); // machine->m_SignalStateWrapper->m_SystemStopAlarm->SetReatimeValue(arr55[7]); // // bitset<8> arr56(arr[56]); // machine->m_SignalStateWrapper->m_HighPressureLackAlarm->SetReatimeValue(arr56[0]); // machine->m_SignalStateWrapper->m_ProtectGasLackAlarm->SetReatimeValue(arr56[1]); // machine->m_SignalStateWrapper->m_PowerDownAlarm->SetReatimeValue(arr56[2]); // machine->m_SignalStateWrapper->m_BusAirSwitchAlarm->SetReatimeValue(arr56[5]); // machine->m_SignalStateWrapper->m_ExtDevicePowerAirSwitchAlarm->SetReatimeValue(arr56[6]); // machine->m_SignalStateWrapper->m_HeatingPowerAirSwitchAlarm->SetReatimeValue(arr56[7]); // // bitset<8> arr57(arr[57]); // machine->m_SignalStateWrapper->m_LaserPowerAirSwitchAlarm->SetReatimeValue(arr57[0]); // machine->m_SignalStateWrapper->m_ServoPowerAirSwitchAlarm->SetReatimeValue(arr57[1]); // machine->m_SignalStateWrapper->m_Laser1Alarm->SetReatimeValue(arr57[2]); // machine->m_SignalStateWrapper->m_Laser2Alarm->SetReatimeValue(arr57[3]); // machine->m_SignalStateWrapper->m_Laser3Alarm->SetReatimeValue(arr57[4]); // machine->m_SignalStateWrapper->m_Laser4Alarm->SetReatimeValue(arr57[5]); // machine->m_SignalStateWrapper->m_HeatingAlarm->SetReatimeValue(arr57[6]); // // bitset<8> arr58(arr[58]); // machine->m_SignalStateWrapper->m_PrintStorageCar1JarFullWarn->SetReatimeValue(arr58[0]); // machine->m_SignalStateWrapper->m_PrintStorageCar1DisconnectWarn->SetReatimeValue(arr58[1]); // machine->m_SignalStateWrapper->m_CleanStorageCar1JarFullWarn->SetReatimeValue(arr58[2]); // machine->m_SignalStateWrapper->m_CleanStorageCar1DisconnectWarn->SetReatimeValue(arr58[3]); // machine->m_SignalStateWrapper->m_MoldMainUpLimitActive->SetReatimeValue(arr58[4]); // machine->m_SignalStateWrapper->m_MoldMainDownLimitActive->SetReatimeValue(arr58[5]); // machine->m_SignalStateWrapper->m_UpsAlarm->SetReatimeValue(arr58[6]); // machine->m_SignalStateWrapper->m_Laser5Alarm->SetReatimeValue(arr58[7]); // // bitset<8> arr59(arr[59]); // machine->m_SignalStateWrapper->m_Laser6Alarm->SetReatimeValue(arr59[0]); // machine->m_SignalStateWrapper->m_Laser7Alarm->SetReatimeValue(arr59[1]); // machine->m_SignalStateWrapper->m_Laser8Alarm->SetReatimeValue(arr59[2]); // machine->m_SignalStateWrapper->m_PrintTrackDisableWarn->SetReatimeValue(arr59[3]); // // bitset<8> arr60(arr[60]); // machine->m_SignalStateWrapper->m_CylinderLinerSealReleaseValveException->SetReatimeValue(arr60[3]); // // bitset<8> arr61(arr[61]); // machine->m_SignalStateWrapper->m_CleanTrackPosDisableAlarm->SetReatimeValue(arr61[4]); // machine->m_SignalStateWrapper->m_CleanLiftStopAlarm->SetReatimeValue(arr61[5]); // machine->m_SignalStateWrapper->m_LoadHandPosSensorDiable->SetReatimeValue(arr61[6]); // machine->m_SignalStateWrapper->m_MainPowerLossCheckAlarm->SetReatimeValue(arr61[7]); // // bitset<8> arr62(arr[62]); // machine->m_SignalStateWrapper->m_PrintCabinLockDisableAlarm->SetReatimeValue(arr62[0]); // machine->m_SignalStateWrapper->m_CleanBoxFoldUpException->SetReatimeValue(arr62[1]); // machine->m_SignalStateWrapper->m_CleanBoxFoldDownException->SetReatimeValue(arr62[2]); // machine->m_SignalStateWrapper->m_CylinderHandPlatformOpenAlarm->SetReatimeValue(arr62[3]); // machine->m_SignalStateWrapper->m_CylinderHandDoorOpenAlarm->SetReatimeValue(arr62[4]); // machine->m_SignalStateWrapper->m_SecurityCarpetTriggered->SetReatimeValue(arr62[5]); // machine->m_SignalStateWrapper->m_RailNotInOpenOrClosePos->SetReatimeValue(arr62[6]); // machine->m_SignalStateWrapper->m_HandPlatformCloseAlarm->SetReatimeValue(arr62[7]); // // bitset<8> arr64(arr[64]); // machine->m_SignalStateWrapper->m_ArmFrontLimit->SetReatimeValue(arr64[3]); // machine->m_SignalStateWrapper->m_ArmBackLimit->SetReatimeValue(arr64[4]); // machine->m_SignalStateWrapper->m_LoadAxisLeftLimit->SetReatimeValue(arr64[5]); // machine->m_SignalStateWrapper->m_LoadAxisRightLimit->SetReatimeValue(arr64[6]); // // bitset<8> arr65(arr[65]); // machine->m_SignalStateWrapper->m_SupplyHomeIndexDisableAlarm->SetReatimeValue(arr65[7]); // // bitset<8> arr66(arr[66]); // machine->m_SignalStateWrapper->m_PrintPressureOverLimitAlarm->SetReatimeValue(arr66[4]); // machine->m_SignalStateWrapper->m_TotalWaterCoolerAlarm->SetReatimeValue(arr66[6]); // machine->m_SignalStateWrapper->m_MoldTorqueAlarm->SetReatimeValue(arr66[7]); // // bitset<8> arr67(arr[67]); // machine->m_SignalStateWrapper->m_LoadTorqueAlarm->SetReatimeValue(arr67[3]); // machine->m_SignalStateWrapper->m_ArmTorqueAlarm->SetReatimeValue(arr67[4]); // machine->m_SignalStateWrapper->m_SupplyTorqueAlarm->SetReatimeValue(arr67[5]); // machine->m_SignalStateWrapper->m_GratingRulerFail->SetReatimeValue(arr67[6]); // machine->m_SignalStateWrapper->m_PrintMainOverSoftUpLimit->SetReatimeValue(arr67[7]); // // bitset<8> arr68(arr[68]); // machine->m_SignalStateWrapper->m_PrintMainOverSoftDownLimit->SetReatimeValue(arr68[0]); // machine->m_SignalStateWrapper->m_LoadAxisOverSoftLeftLimit->SetReatimeValue(arr68[3]); // machine->m_SignalStateWrapper->m_LoadAxisOverSoftRightLimit->SetReatimeValue(arr68[4]); // machine->m_SignalStateWrapper->m_ArmOverSoftFrontLimit->SetReatimeValue(arr68[5]); // machine->m_SignalStateWrapper->m_ArmOverSoftBackLimit->SetReatimeValue(arr68[6]); // machine->m_SignalStateWrapper->m_PrintStorageCar2JarFullWarn->SetReatimeValue(arr68[7]); // // bitset<8> arr69(arr[69]); // machine->m_SignalStateWrapper->m_PrintStorageCar2DisconnectWarn->SetReatimeValue(arr69[0]); // machine->m_SignalStateWrapper->m_CleanStorageCar2JarFullWarn->SetReatimeValue(arr69[1]); // machine->m_SignalStateWrapper->m_CleanStorageCar2DisconnectWarn->SetReatimeValue(arr69[2]); // machine->m_SignalStateWrapper->m_CoverBaffleNotInFrontAcceptPos->SetReatimeValue(arr69[3]); // machine->m_SignalStateWrapper->m_CoverBaffleNotInDropPos->SetReatimeValue(arr69[4]); // machine->m_SignalStateWrapper->m_ArmMoveBackAcceptPosException->SetReatimeValue(arr69[5]); // machine->m_SignalStateWrapper->m_UpServiceDoorOpenWarn->SetReatimeValue(arr69[6]); // machine->m_SignalStateWrapper->m_DownServiceDoorOpenWarn->SetReatimeValue(arr69[7]); // // bitset<8> arr70(arr[70]); // machine->m_SignalStateWrapper->m_LoadAxisManualAlarmSignal->SetReatimeValue(arr70[1]); // machine->m_SignalStateWrapper->m_PrintMainServoAlarmSignal->SetReatimeValue(arr70[2]); // machine->m_SignalStateWrapper->m_LoadAxisServoAlarmSignal->SetReatimeValue(arr70[3]); // machine->m_SignalStateWrapper->m_ArmServoAlarmSignal->SetReatimeValue(arr70[4]); // machine->m_SignalStateWrapper->m_SupplyServoAlarmSignal->SetReatimeValue(arr70[5]); // // bitset<8> arr71(arr[71]); // machine->m_SignalStateWrapper->m_CoverReachAcceptPowderAlarmSignal->SetReatimeValue(arr71[2]); // machine->m_SignalStateWrapper->m_CoverReachDropPowderAlarmSignal->SetReatimeValue(arr71[3]); // machine->m_SignalStateWrapper->m_LinearEncoderCheckAlarmSignal->SetReatimeValue(arr71[5]); // machine->m_SignalStateWrapper->m_PrintMainSoftStopTrigger->SetReatimeValue(arr71[6]); // // bitset<8> arr72(arr[72]); // machine->m_SignalStateWrapper->m_LoadAxisSoftStopTrigger->SetReatimeValue(arr72[0]); // machine->m_SignalStateWrapper->m_CoverSoftStopTrigger->SetReatimeValue(arr72[1]); // machine->m_SignalStateWrapper->m_CoverHomeException->SetReatimeValue(arr72[2]); // machine->m_SignalStateWrapper->m_CylinderSealInflationFailureAlarm->SetReatimeValue(arr72[3]); // machine->m_SignalStateWrapper->m_CylinderSealInflationHighPressureAlarm->SetReatimeValue(arr72[4]); // machine->m_SignalStateWrapper->m_CylinderSealLeakageWarn->SetReatimeValue(arr72[5]); // machine->m_SignalStateWrapper->m_SealPressureExceptionWhenPrint->SetReatimeValue(arr72[6]); // // machine->m_SignalStateWrapper->m_CylinderState->SetReatimeValue(S7WORDDATA(arr[79], arr[78]).wValue); // // bitset<8> arr80(arr[80]); // machine->m_SignalStateWrapper->m_CylinderReachPrintTriger->SetReatimeValue(arr80[0]); // machine->m_SignalStateWrapper->m_CylinderReachPrintRun->SetReatimeValue(arr80[1]); // machine->m_SignalStateWrapper->m_CylinderReachPrintFinished->SetReatimeValue(arr80[2]); // machine->m_SignalStateWrapper->m_CylinderPrintLoadTriger->SetReatimeValue(arr80[3]); // machine->m_SignalStateWrapper->m_CylinderPrintLoadRun->SetReatimeValue(arr80[4]); // machine->m_SignalStateWrapper->m_CylinderPrintLoadFinished->SetReatimeValue(arr80[5]); // machine->m_SignalStateWrapper->m_CylinderPrintUnloadTriger->SetReatimeValue(arr80[6]); // machine->m_SignalStateWrapper->m_CylinderPrintUnloadRun->SetReatimeValue(arr80[7]); // // bitset<8> arr81(arr[81]); // machine->m_SignalStateWrapper->m_CylinderPrintUnloadFinished->SetReatimeValue(arr81[0]); // machine->m_SignalStateWrapper->m_CylinderReachCleanTriger->SetReatimeValue(arr81[7]); // // bitset<8> arr82(arr[82]); // machine->m_SignalStateWrapper->m_CylinderReachCleanRun->SetReatimeValue(arr82[0]); // machine->m_SignalStateWrapper->m_CylinderReachCleanFinished->SetReatimeValue(arr82[1]); // machine->m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->SetReatimeValue(arr82[2]); // machine->m_SignalStateWrapper->m_CylinderConnectCleanBoxRun->SetReatimeValue(arr82[3]); // machine->m_SignalStateWrapper->m_CylinderConnectCleanBoxFinished->SetReatimeValue(arr82[4]); // machine->m_SignalStateWrapper->m_CylinderDisconnectCleanBoxTriger->SetReatimeValue(arr82[5]); // machine->m_SignalStateWrapper->m_CylinderDisconnectCleanBoxRun->SetReatimeValue(arr82[6]); // machine->m_SignalStateWrapper->m_CylinderDisconnectCleanBoxFinished->SetReatimeValue(arr82[7]); // // bitset<8> arr83(arr[83]); // machine->m_SignalStateWrapper->m_CoverTriger->SetReatimeValue(arr83[0]); // machine->m_SignalStateWrapper->m_IsCovering->SetReatimeValue(arr83[1]); // machine->m_SignalStateWrapper->m_IsCoverFinishedCanPrint->SetReatimeValue(arr83[2]); // machine->m_SignalStateWrapper->m_IsCoverDebug->SetReatimeValue(arr83[3]); // machine->m_SignalStateWrapper->m_IsFirstCover->SetReatimeValue(arr83[4]); // machine->m_SignalStateWrapper->m_PrintDeoxygenTriger->SetReatimeValue(arr83[5]); // machine->m_SignalStateWrapper->m_PrintDeoxygenRun->SetReatimeValue(arr83[6]); // machine->m_SignalStateWrapper->m_PrintDeoxygenFinished->SetReatimeValue(arr83[7]); // // bitset<8> arr84(arr[84]); // machine->m_SignalStateWrapper->m_StorgeCarDeoxygenTriger->SetReatimeValue(arr84[3]); // machine->m_SignalStateWrapper->m_StorgeCarDeoxygenRun->SetReatimeValue(arr84[4]); // machine->m_SignalStateWrapper->m_StorgeCarDeoxygenFinished->SetReatimeValue(arr84[5]); // machine->m_SignalStateWrapper->m_CleanBoxVacuumTriger->SetReatimeValue(arr84[6]); // // bitset<8> arr85(arr[85]); // machine->m_SignalStateWrapper->m_RasterJudgeOK->SetReatimeValue(arr85[3]); // machine->m_SignalStateWrapper->m_RasterJudgeNG->SetReatimeValue(arr85[4]); // machine->m_SignalStateWrapper->m_CylinderReachPrintEnable->SetReatimeValue(arr85[5]); // machine->m_SignalStateWrapper->m_CylinderPrintLoadEnable->SetReatimeValue(arr85[6]); // machine->m_SignalStateWrapper->m_CylinderPrintUnloadEnable->SetReatimeValue(arr85[7]); // // bitset<8> arr86(arr[86]); // machine->m_SignalStateWrapper->m_CylinderReachCleanEnable->SetReatimeValue(arr86[2]); // machine->m_SignalStateWrapper->m_CylinderConnectCleanBoxEnable->SetReatimeValue(arr86[3]); // machine->m_SignalStateWrapper->m_CylinderDisconnectCleanBoxEnable->SetReatimeValue(arr86[4]); // machine->m_SignalStateWrapper->m_CoverEnable->SetReatimeValue(arr86[5]); // // bitset<8> arr88(arr[88]); // machine->m_SignalStateWrapper->m_PrintTorqueUpInsideLimit->SetReatimeValue(arr88[0]); // machine->m_SignalStateWrapper->m_ArmNotUponBasePlatform->SetReatimeValue(arr88[1]); // machine->m_SignalStateWrapper->m_PrintMoldPosInsideUpSoftLimit->SetReatimeValue(arr88[2]); // machine->m_SignalStateWrapper->m_PrintInsideUpLimit->SetReatimeValue(arr88[3]); // machine->m_SignalStateWrapper->m_PrintTorqueDownInsideLimit->SetReatimeValue(arr88[4]); // machine->m_SignalStateWrapper->m_PrintAxisPosInsideDownSoftLimit->SetReatimeValue(arr88[5]); // machine->m_SignalStateWrapper->m_PrintInsideDownLimit->SetReatimeValue(arr88[6]); // machine->m_SignalStateWrapper->m_PrintMainServoNoAlarm->SetReatimeValue(arr88[7]); // // bitset<8> arr89(arr[89]); // machine->m_SignalStateWrapper->m_PrintMoldInPrintPos->SetReatimeValue(arr89[0]); // machine->m_SignalStateWrapper->m_PrintMoldInCleanPos->SetReatimeValue(arr89[1]); // machine->m_SignalStateWrapper->m_PrintMoldInHandPos->SetReatimeValue(arr89[2]); // machine->m_SignalStateWrapper->m_MoldUpDownServiceDoorCloseStatue->SetReatimeValue(arr89[3]); // // // bitset<8> arr92(arr[92]); // machine->m_SignalStateWrapper->m_PrintJackupInSafePos->SetReatimeValue(arr92[0]); // machine->m_SignalStateWrapper->m_LoadTorqueInsideLimit->SetReatimeValue(arr92[1]); // machine->m_SignalStateWrapper->m_LoadPosInsideLeftSoftLimit->SetReatimeValue(arr92[2]); // machine->m_SignalStateWrapper->m_LoadPosInsideRightSoftLimit->SetReatimeValue(arr92[3]); // machine->m_SignalStateWrapper->m_CylinderSealNoInflationStatue->SetReatimeValue(arr92[4]); // machine->m_SignalStateWrapper->m_LoadUpDownServiceDoorCloseStatue->SetReatimeValue(arr92[5]); // // bitset<8> arr93(arr[93]); // machine->m_SignalStateWrapper->m_LoadLeftNotInsideLimit->SetReatimeValue(arr93[2]); // machine->m_SignalStateWrapper->m_LoadRightNotInsideLimit->SetReatimeValue(arr93[3]); // machine->m_SignalStateWrapper->m_LoadServoNoAlarm->SetReatimeValue(arr93[4]); // // bitset<8> arr94(arr[94]); // machine->m_SignalStateWrapper->m_PrintUpDownPosBelowPlatform->SetReatimeValue(arr94[0]); // machine->m_SignalStateWrapper->m_ArmTorqueInsideLimit->SetReatimeValue(arr94[1]); // machine->m_SignalStateWrapper->m_ArmPosInsideSoftFrontLimit->SetReatimeValue(arr94[2]); // machine->m_SignalStateWrapper->m_ArmPosInsideSoftBackLimit->SetReatimeValue(arr94[3]); // machine->m_SignalStateWrapper->m_ArmPosInsideFrontLimit->SetReatimeValue(arr94[4]); // machine->m_SignalStateWrapper->m_ArmPosInsideBackLimit->SetReatimeValue(arr94[5]); // machine->m_SignalStateWrapper->m_ArmServoNoAlarm->SetReatimeValue(arr94[6]); // // bitset<8> arr96(arr[96]); // machine->m_SignalStateWrapper->m_CylinderMoveHandPosEnable->SetReatimeValue(arr96[2]); // machine->m_SignalStateWrapper->m_CylinderMoveHandPos->SetReatimeValue(arr96[3]); // machine->m_SignalStateWrapper->m_CylinderMovingHandPos->SetReatimeValue(arr96[4]); // machine->m_SignalStateWrapper->m_CylinderMovedHandPos->SetReatimeValue(arr96[5]); // machine->m_SignalStateWrapper->m_PrintAirRenewalEnable->SetReatimeValue(arr96[6]); // machine->m_SignalStateWrapper->m_PrintAirRenewalTrigger->SetReatimeValue(arr96[7]); // // bitset<8> arr97(arr[97]); // machine->m_SignalStateWrapper->m_AllowRiseWindSpeed->SetReatimeValue(arr97[0]); // machine->m_SignalStateWrapper->m_ManualCoverTest->SetReatimeValue(arr97[1]); // machine->m_SignalStateWrapper->m_RollerEdgeSearching->SetReatimeValue(arr97[2]); // machine->m_SignalStateWrapper->m_RollerEdgeSearchSuccess->SetReatimeValue(arr97[3]); // machine->m_SignalStateWrapper->m_RollerEdgeSearchFaild->SetReatimeValue(arr97[4]); // } // // if (pAxisState.Result == 0) { // unsigned char* arr = (unsigned char*)pAxisState.pdata; // bitset<8> arr249(arr[0]); // machine->m_SignalStateWrapper->m_IsInPrintCylinderSeparatePos->SetReatimeValue(arr249[4]); //打印缸体分离位 // machine->m_SignalStateWrapper->m_IsInPrintPlatformBottomPos->SetReatimeValue(arr249[7]); //打印基板底座面 // // bitset<8> arr250(arr[1]); // machine->m_SignalStateWrapper->m_IsInPrintPlatformFlatPos->SetReatimeValue(arr250[0]); //打印基板平面 // machine->m_SignalStateWrapper->m_IsInLoadPrintPos->SetReatimeValue(arr250[5]); //移载打印位 // machine->m_SignalStateWrapper->m_IsInLoadCleanPos->SetReatimeValue(arr250[6]); //移载清粉位 // // bitset<8> arr251(arr[2]); // machine->m_SignalStateWrapper->m_IsInDropPowderPos->SetReatimeValue(arr251[0]); //铺粉下粉位 // machine->m_SignalStateWrapper->m_IsInAcceptPowderPos->SetReatimeValue(arr251[1]); //铺粉接粉位 // } // // if (pAxisCtrl.Result == 0) { // unsigned char* arr = (unsigned char*)pAxisCtrl.pdata; // machine->m_Axis->m_Mold->GetState()->Update(arr); // machine->m_Axis->m_MoldSlave->GetState()->Update(arr + 6); // machine->m_Axis->m_Clean->GetState()->Update(arr + 12); // machine->m_Axis->m_Ele->GetState()->Update(arr + 12); // machine->m_Axis->m_CleanSlave->GetState()->Update(arr + 18); // machine->m_Axis->m_EleSlave->GetState()->Update(arr + 18); // machine->m_Axis->m_Load->GetState()->Update(arr + 24); // machine->m_Axis->m_Arm->GetState()->Update(arr + 28); // machine->m_Axis->m_Supply->GetState()->Update(arr + 32); // // bitset<8> arr41(arr[41]); // machine->m_AxisRecordWrapper->m_DisableMoldTorqueCheck->SetReatimeValue(arr41[6]); // // bitset<8> arr42(arr[42]); // machine->m_AxisRecordWrapper->m_DisableLoadTorqueCheck->SetReatimeValue(arr42[0]); // machine->m_AxisRecordWrapper->m_DisableArmTorqueCheck->SetReatimeValue(arr42[1]); // machine->m_AxisRecordWrapper->m_DisableSupplyTorqueCheck->SetReatimeValue(arr42[2]); // machine->m_AxisRecordWrapper->m_LoadHandPosRecord->SetReatimeValue(arr42[3]); // machine->m_AxisRecordWrapper->m_LoadHandCrashPosRecord->SetReatimeValue(arr42[4]); // machine->m_AxisRecordWrapper->m_ArmBackAcceptPosRecord->SetReatimeValue(arr42[5]); // } // // if (pPersistState.Result == 0) { // unsigned char* arr = (unsigned char*)pPersistState.pdata; // bitset<8> arr0(arr[0]); // machine->m_SignalStateWrapper->m_UseSupplySearchEdge->SetReatimeValue(arr0[1]); // machine->m_SignalStateWrapper->m_SheildLinearEncoder->SetReatimeValue(arr0[5]); // // bitset<8> arr1(arr[1]); // machine->m_SignalStateWrapper->m_SheilServoEmptyOpen->SetReatimeValue(arr1[0]); //屏蔽伺服空开 // machine->m_SignalStateWrapper->m_SheildHighPressure->SetReatimeValue(arr1[2]); //屏蔽高压气 // machine->m_SignalStateWrapper->m_UnuseCoverReachSensor->SetReatimeValue(arr1[3]); //不使用铺粉轴到位感应器 // machine->m_SignalStateWrapper->m_UseCoverBaffleSensor->SetReatimeValue(arr1[4]); // machine->m_SignalStateWrapper->m_UseArmCaptureHome->SetReatimeValue(arr1[5]); // machine->m_SignalStateWrapper->m_LinearEncoderOppDirection->SetReatimeValue(arr1[7]); // // bitset<8> arr2(arr[2]); // machine->m_SignalStateWrapper->m_CoverV2UseCintinueMode->SetReatimeValue(arr2[0]); // machine->m_SignalStateWrapper->m_UseCoverShiftSpeed->SetReatimeValue(arr2[1]); // } // // if (pTimeSet.Result == 0) // { // unsigned char* arr = (unsigned char*)pTimeSet.pdata; // int flag = 0; // machine->m_SysParamWrapper->m_HeatingCheckTime->SetReatimeValue(S7DWORDDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).iValue); flag += 4; // machine->m_SysParamWrapper->m_CylinderMotionDelayTime->SetReatimeValue(S7DWORDDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).iValue); flag += 4; // machine->m_SysParamWrapper->m_LinearEncoderCompensateTime->SetReatimeValue(S7DWORDDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).iValue); flag += 4; // machine->m_SysParamWrapper->m_DropPowderOpenDeleyTime->SetReatimeValue(S7DWORDDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).iValue); flag += 4; // machine->m_SysParamWrapper->m_DropPowderCloseDelayTime->SetReatimeValue(S7DWORDDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).iValue); // } // // if (pCapture.Result == 0) { // unsigned char* arr = (unsigned char*)pCapture.pdata; // int flag = 0; // machine->m_SysParamWrapper->m_AutoCaptureCoverHomeIntervalTimes->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); flag += 2; // machine->m_SysParamWrapper->m_AutoCaptureCoverHomeCalcTimes->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); flag += 2; // machine->m_SysParamWrapper->m_LinearEncoderCompensateTimes->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); flag += 2; // machine->m_SysParamWrapper->m_LaserCount->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); flag += 2; // machine->m_SysParamWrapper->m_SealPressureHoldingAlarmTime->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); // } // // if (pDB3Ext.Result == 0) // { // unsigned char* arr = (unsigned char*)pDB3Ext.pdata; // int flagtemp = 874; // int flag = 874- flagtemp; // machine->m_SysParamWrapper->m_ArmBackAcceptPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 878 - flagtemp; // machine->m_SysParamWrapper->m_HighPressureGasJudgmentValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 882 - flagtemp; // machine->m_SysParamWrapper->m_ProtectiveGasJudgmentValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 890 - flagtemp; // machine->m_SysParamWrapper->m_DataSizeMinY->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 894 - flagtemp; // machine->m_SysParamWrapper->m_DataSizeMaxY->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 898 - flagtemp; // machine->m_SysParamWrapper->m_SealPressure->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 902 - flagtemp; // machine->m_SysParamWrapper->m_SealPressureReleaseValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 906 - flagtemp; // machine->m_SysParamWrapper->m_SealInflatableUpLimitValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 910 - flagtemp; // machine->m_SysParamWrapper->m_SealInflatableDownLimitValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 914 - flagtemp; // machine->m_SysParamWrapper->m_Oxygen1CompensationValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 918 - flagtemp; // machine->m_SysParamWrapper->m_Oxygen2CompensationValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 922 - flagtemp; // machine->m_SysParamWrapper->m_PowderStickCompensationValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 926 - flagtemp; // machine->m_SysParamWrapper->m_PrintCabinPressureCompensationValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 930 - flagtemp; // machine->m_SysParamWrapper->m_SealPressureCompensationValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 934 - flagtemp; // machine->m_SysParamWrapper->m_HighPressureGasCompensationValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 938 - flagtemp; // machine->m_SysParamWrapper->m_ProtectiveGasCompensationValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // } //} // //void HBDE1000::ProcReadPLCData(void* pobject, Command* pcommand) //{ // S7Command* s7Command = (S7Command*)pcommand; // TS7DataItem* pdataItems = s7Command->getDataItems(); // int itemcount = s7Command->getItemCount(); // if (pobject == NULL || itemcount != READ_DATA_ITEM_COUNT)return; // HBDE1000* machine = (HBDE1000*)pobject; // CoreCommunication* cc = (CoreCommunication*)machine->m_PLC; // TS7DataItem pSysData = pdataItems[0]; // // for (int i = 0; i < itemcount; ++i) { // WriteData* data = new WriteData(); // data->dataType = WRITETYPE(i + 100); // data->strValue = (char*)pdataItems[i].pdata; // data->result = true; // for (auto& client : machine->m_clientUser) { // client->SetPushMsg(data); // } // // } //} // std::unique_lock lock(cc->m_ValueMtx); // if (pSysData.Result == 0) { // unsigned char* arr = (unsigned char*)pSysData.pdata; // int flag = 0; // machine->m_SysParamWrapper->m_PrintOxygen1->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 4; // machine->m_SysParamWrapper->m_PrintOxygen2->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // // flag = 12; // machine->m_SysParamWrapper->m_HighPressure->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 16; // machine->m_SysParamWrapper->m_ProtectGasPressure->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 20; // machine->m_SysParamWrapper->m_PrintPressure->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 24; // machine->m_SysParamWrapper->m_PrintOxygen1Max->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 28; // machine->m_SysParamWrapper->m_PrintOxygen1Min->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 32; // machine->m_SysParamWrapper->m_PrintOxygen2Max->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 36; // machine->m_SysParamWrapper->m_PrintOxygen2Min->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // // flag = 48; // machine->m_SysParamWrapper->m_HighPressureMax->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 52; // machine->m_SysParamWrapper->m_HighPressureMin->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 56; // machine->m_SysParamWrapper->m_ProtectGasPressureMax->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 60; // machine->m_SysParamWrapper->m_ProtectGasPressureMin->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 64; // machine->m_SysParamWrapper->m_PrintPressureMax->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 68; // machine->m_SysParamWrapper->m_PrintPressureMin->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // // flag = 76; // machine->m_SysParamWrapper->m_SupplyPowderGridPerCycle->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 80; // machine->m_SysParamWrapper->m_SupplyAxisAnglePerGrid->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 84; // machine->m_Axis->m_Mold->GetState()->UpdatePosAndLoad(arr + flag); // g_SystemInfo->LockInfo(); // g_SystemInfo->m_MoldMainPos = machine->m_Axis->m_Mold->GetState()->GetShowPos(); // g_SystemInfo->UnlockInfo(); // flag = 92; // machine->m_Axis->m_MoldSlave->GetState()->UpdatePosAndLoad(arr + flag); // flag = 100; // machine->m_Axis->m_Mold->GetConfig()->Update(arr + flag); // flag = 120; // machine->m_Axis->m_MoldSlave->GetConfig()->Update(arr + flag); // flag = 140; // machine->m_Axis->m_Ele->GetState()->UpdatePosAndLoad(arr + flag); // flag = 148; // machine->m_Axis->m_EleSlave->GetState()->UpdatePosAndLoad(arr + flag); // flag = 156; // machine->m_Axis->m_Ele->GetConfig()->Update(arr + flag); // flag = 176; // machine->m_Axis->m_EleSlave->GetConfig()->Update(arr + flag); // flag = 196; // machine->m_Axis->m_Load->GetState()->UpdatePosAndLoad(arr + flag); // flag = 204; // machine->m_Axis->m_Load->GetConfig()->Update(arr + flag); // flag = 224; // machine->m_Axis->m_Arm->GetState()->UpdatePosAndLoad(arr + flag); // g_SystemInfo->LockInfo(); // g_SystemInfo->m_ArmPos = machine->m_Axis->m_Arm->GetState()->GetShowPos(); // g_SystemInfo->UnlockInfo(); // flag = 232; // machine->m_Axis->m_Arm->GetConfig()->Update(arr + flag); // flag = 252; // machine->m_Axis->m_Supply->GetState()->UpdatePosAndLoad(arr + flag); // flag = 260; // machine->m_Axis->m_Supply->GetConfig()->Update(arr + flag); // // // std::unique_lock lock(machine->m_SysParamWrapper->mtx); // flag = 280; // machine->m_SysParamWrapper->m_PrintUpDownSafePos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 296; // machine->m_SysParamWrapper->m_PrintJackupPlatformBottomPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 300; // machine->m_SysParamWrapper->m_PrintJackupPlatformPlanePos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 304; // machine->m_SysParamWrapper->m_PrintPlatformHight->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 308; // machine->m_SysParamWrapper->m_MoldUpLimitPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 312; // machine->m_SysParamWrapper->m_MoldDownLimitPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 316; // machine->m_SysParamWrapper->m_EleCylinderPrintJackupPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 320; // machine->m_SysParamWrapper->m_EleCylinderCleanJackupPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 324; // machine->m_SysParamWrapper->m_EleCylinderBottomFitPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 336; // machine->m_SysParamWrapper->m_EleCylinderSoftUpLimit->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 340; // machine->m_SysParamWrapper->m_EleCylinderSoftDownLimit->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 344; // machine->m_SysParamWrapper->m_LoadAxisTrackPrintPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 348; // machine->m_SysParamWrapper->m_LoadAxisTrackCleanPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 352; // machine->m_SysParamWrapper->m_LoadAxisTrackWaitPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 356; // machine->m_SysParamWrapper->m_LoadAxisLeftLimit->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 360; // machine->m_SysParamWrapper->m_LoadAxisRightLimit->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 364; // machine->m_SysParamWrapper->m_ArmPowderAcceptPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 368; // machine->m_SysParamWrapper->m_ArmPowderDropFrontPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // // machine->m_CoverCfg->Lock(); // machine->m_CoverCfg->m_cover_distance = abs(machine->m_SysParamWrapper->m_ArmPowderAcceptPos->GetValue() - machine->m_SysParamWrapper->m_ArmPowderDropFrontPos->GetValue()); // machine->m_CoverCfg->UnLock(); // // flag = 372; // machine->m_SysParamWrapper->m_ArmPrintFrontLimit->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 376; // machine->m_SysParamWrapper->m_ArmPrintBackLimit->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 380; // machine->m_SysParamWrapper->m_ArmFrontLimit->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 384; // machine->m_SysParamWrapper->m_ArmBackLimit->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 388; // machine->m_SysParamWrapper->m_MoldAbsTestPos->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); // flag = 390; // machine->m_SysParamWrapper->m_EleCylinderAbsTestPos->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); // flag = 392; // machine->m_SysParamWrapper->m_LoadAxisAbsTestPos->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); // flag = 394; // machine->m_SysParamWrapper->m_ArmAbsTestPos->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); // flag = 396; // machine->m_SysParamWrapper->m_LineEncMoveValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 400; // machine->m_SysParamWrapper->m_LineEncPulseEqu->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 404; // machine->m_SysParamWrapper->m_MoldMainHomeIndexEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 408; // machine->m_SysParamWrapper->m_MoldMainAlignEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 412; // machine->m_SysParamWrapper->m_MoldMainAlignHomeRel->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 416; // machine->m_SysParamWrapper->m_MoldSlaveHomeIndexEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 420; // machine->m_SysParamWrapper->m_MoldSlaveAlignEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 424; // machine->m_SysParamWrapper->m_MoldSlaveAlignHomeRel->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 428; // machine->m_SysParamWrapper->m_EleCylinderMainHomeIndexEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 432; // machine->m_SysParamWrapper->m_EleCylinderMainAlignEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 436; // machine->m_SysParamWrapper->m_EleCylinderMainAlignHomeRel->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 440; // machine->m_SysParamWrapper->m_EleCylinderSlaveHomeIndexEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 444; // machine->m_SysParamWrapper->m_EleCylinderSlaveAlignEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 448; // machine->m_SysParamWrapper->m_EleCylinderSlaveAlignHomeRel->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // // flag = 452; // machine->m_SysParamWrapper->m_MoldAutoSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 456; // machine->m_SysParamWrapper->m_MoldAutoAcc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 460; // machine->m_SysParamWrapper->m_MoldAutoDec->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 464; // machine->m_SysParamWrapper->m_MoldAutoRelShift->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 468; // machine->m_SysParamWrapper->m_MoldAutoAbsPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 472; // machine->m_SysParamWrapper->m_EleCylinderAutoSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 476; // machine->m_SysParamWrapper->m_EleCylinderAutoAcc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 480; // machine->m_SysParamWrapper->m_EleCylinderAutoDec->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 484; // machine->m_SysParamWrapper->m_EleCylinderAutoRelShift->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 488; // machine->m_SysParamWrapper->m_EleCylinderAutoAbsPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 492; // machine->m_SysParamWrapper->m_LoadAxisAutoSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 496; // machine->m_SysParamWrapper->m_LoadAxisnAutoAcc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 500; // machine->m_SysParamWrapper->m_LoadAxisAutoDec->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 504; // machine->m_SysParamWrapper->m_LoadAxisAutoRelShift->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 508; // machine->m_SysParamWrapper->m_LoadAxisAutoAbsPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 512; // machine->m_SysParamWrapper->m_ArmAutoSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 516; // machine->m_SysParamWrapper->m_ArmAxisnAutoAcc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 520; // machine->m_SysParamWrapper->m_ArmAxisAutoDec->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 524; // machine->m_SysParamWrapper->m_ArmAxisAutoRelShift->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 528; // machine->m_SysParamWrapper->m_ArmAxisAutoAbsPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 532; // machine->m_SysParamWrapper->m_SupplyAutoSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 536; // machine->m_SysParamWrapper->m_SupplyAxisnAutoAcc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 540; // machine->m_SysParamWrapper->m_SupplyAxisAutoDec->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 544; // machine->m_SysParamWrapper->m_SupplyAxisAutoRelShift->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 548; // machine->m_SysParamWrapper->m_SupplyAxisAutoAbsPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 552; // machine->m_SysParamWrapper->m_Print3RSeparatTorqueThreshold->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 556; // machine->m_SysParamWrapper->m_MoldUpTorqueThrehold->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 560; // machine->m_SysParamWrapper->m_MoldDownTorqueThrehold->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // // flag = 568; // machine->m_SysParamWrapper->m_EleCylinderUpTorqueThrehold->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 572; // machine->m_SysParamWrapper->m_EleCylinderDownTorqueThreshold->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 576; // machine->m_SysParamWrapper->m_CoverType->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); // flag = 578; // machine->m_SysParamWrapper->m_CoverSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 582; // machine->m_SysParamWrapper->m_CoverReturnSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 586; // machine->m_SysParamWrapper->m_CoverDistance->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 590; // machine->m_SysParamWrapper->m_LayerThick->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 594; // machine->m_SysParamWrapper->m_FixGap->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 598; // machine->m_SysParamWrapper->m_SupplyCount->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); // flag = 600; // machine->m_SysParamWrapper->m_SupplyTime->SetReatimeValue(S7DWORDDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).iValue); // // machine->m_CoverCfg->Lock(); // machine->m_CoverCfg->m_CoverDirection = machine->m_SysParamWrapper->m_CoverType->GetValue(); // machine->m_CoverCfg->m_cover_shift_speed = machine->m_SysParamWrapper->m_CoverReturnSpeed->GetValue(); // machine->m_CoverCfg->m_cover_speed = machine->m_SysParamWrapper->m_CoverSpeed->GetValue(); // machine->m_CoverCfg->m_SupplyTime = machine->m_SysParamWrapper->m_SupplyTime->GetValue(); // machine->m_CoverCfg->UnLock(); // flag = 604; // machine->m_SysParamWrapper->m_DebugLayerThick->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 608; // machine->m_SysParamWrapper->m_DebugFixGap->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 612; // machine->m_SysParamWrapper->m_DebugSupplyTime->SetReatimeValue(S7DWORDDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).iValue); // flag = 616; // machine->m_SysParamWrapper->m_DebugSupplyCount->SetReatimeValue(S7WORDDATA(arr[flag + 1], arr[flag]).wValue); // flag = 618; // machine->m_SysParamWrapper->m_DebugCoverDistance->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 622; // machine->m_SysParamWrapper->m_MoldHighSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 626; // machine->m_SysParamWrapper->m_MoldDeoxygenSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // // flag = 634; // machine->m_SysParamWrapper->m_PrintPressureThrehold->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 638; // machine->m_SysParamWrapper->m_MoldDeoxygenTime->SetReatimeValue(S7DWORDDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).iValue); // flag = 642; // machine->m_SysParamWrapper->m_PowderCarDeoxygenTime->SetReatimeValue(S7DWORDDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).iValue); // flag = 646; // machine->m_SysParamWrapper->m_GratingRulerValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 650; // machine->m_SysParamWrapper->m_ArmTorqueThreshold->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 654; // machine->m_SysParamWrapper->m_LoadTorqueThreshold->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 658; // machine->m_SysParamWrapper->m_SupplyTorqueThreshold->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 662; // machine->m_SysParamWrapper->m_PrintMainLead->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 666; // machine->m_SysParamWrapper->m_PrintMainReductionRatio->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 670; // machine->m_SysParamWrapper->m_PrintMainMaxRotationlSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 674; // machine->m_SysParamWrapper->m_PrintSlaveLead->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 678; // machine->m_SysParamWrapper->m_PrintSlaveReductionRatio->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 682; // machine->m_SysParamWrapper->m_PrintSlaveMaxRotationlSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 686; // machine->m_SysParamWrapper->m_EleCylinderMainLead->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 690; // machine->m_SysParamWrapper->m_EleCylinderMainReductionRatio->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 694; // machine->m_SysParamWrapper->m_EleCylinderMainMaxRotationlSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 698; // machine->m_SysParamWrapper->m_EleCylinderSlaveLead->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 702; // machine->m_SysParamWrapper->m_EleCylinderSlaveReductionRatio->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 706; // machine->m_SysParamWrapper->m_EleCylinderSlaveMaxRotationlSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 710; // machine->m_SysParamWrapper->m_LoadAxisLead->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 714; // machine->m_SysParamWrapper->m_LoadAxisReductionRatio->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 718; // machine->m_SysParamWrapper->m_LoadAxisMaxRotationlSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 722; // machine->m_SysParamWrapper->m_ArmLead->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 726; // machine->m_SysParamWrapper->m_ArmReductionRatio->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 730; // machine->m_SysParamWrapper->m_ArmMaxRotationlSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 734; // machine->m_SysParamWrapper->m_SupplyLead->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 738; // machine->m_SysParamWrapper->m_SupplyReductionRatio->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 742; // machine->m_SysParamWrapper->m_SupplyRotationlSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 746; // machine->m_SysParamWrapper->m_ArmSlotDistance->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 750; // machine->m_SysParamWrapper->m_PowderJarCabinPressureVoltage->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 754; // machine->m_SysParamWrapper->m_PowderJarCabinPressureValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 758; // machine->m_SysParamWrapper->m_CleanBoxDeoxygenSetValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 762; // machine->m_SysParamWrapper->m_CleanBoxOxygenDownLimit->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 766; // machine->m_SysParamWrapper->m_CleanBoxOxygenUpLimit->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 770; // machine->m_SysParamWrapper->m_CleanBoxPressureReleaseValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 774; // machine->m_SysParamWrapper->m_PrintCar1RealWeight->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 778; // machine->m_SysParamWrapper->m_PrintCar1AlarmWeight->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 782; // machine->m_SysParamWrapper->m_PrintCar2RealWeight->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 786; // machine->m_SysParamWrapper->m_PrintCar2AlarmWeight->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 790; // machine->m_SysParamWrapper->m_CleanCar1RealWeight->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 794; // machine->m_SysParamWrapper->m_CleanCar1AlarmWeight->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 798; // machine->m_SysParamWrapper->m_CleanCar2RealWeight->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 802; // machine->m_SysParamWrapper->m_CleanCar2AlarmWeight->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 806; // machine->m_SysParamWrapper->m_LoadHandPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 810; // machine->m_SysParamWrapper->m_PowderLevelLength->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 814; // machine->m_SysParamWrapper->m_PowderLevelValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 818; // machine->m_SysParamWrapper->m_PrintAirRenewalPresRelValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 822; // machine->m_SysParamWrapper->m_RollerEdgeSearchOffset->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 826; // machine->m_SysParamWrapper->m_LoadHandCrashPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 830; // machine->m_SysParamWrapper->m_ArmCatpureHomeFastSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 834; // machine->m_SysParamWrapper->m_ArmCatpureHomeSlowSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 838; // machine->m_SysParamWrapper->m_LinearEncoderErrorJudgeValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 842; // machine->m_SysParamWrapper->m_LinearEncoderPerLayerRealValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 846; // machine->m_SysParamWrapper->m_GapCompensateDiffValue->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 850; // machine->m_SysParamWrapper->m_MoldTheoryDistance->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 854; // machine->m_SysParamWrapper->m_LinearActDistance->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 858; // machine->m_SysParamWrapper->m_LinearActPulse->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // // flag = 862; // machine->m_SysParamWrapper->m_PrintHomeSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 866; // machine->m_SysParamWrapper->m_EleCylinderHomeSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 870; // machine->m_SysParamWrapper->m_LoadHomeSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // // // } //} // void HBDE1000::DrawSignal(bool* isshow) { SignalState signalState; SignalService::GetInstance().GetSignalState(signalState); SignalStateWrapper* signalStateWrapper = m_SignalStateWrapper; ImGui::Begin(u8"信号状态", isshow, ImGuiWindowFlags_NoDocking); ImGui::BeginTabBar("SignalState"); if (ImGui::BeginTabItem(u8"异常信号")) { ImGui::BeginGroup(); ImGui::ToggleButtonText(u8"PC与PLC网络异常", signalState.m_PLCConnectAlarm, false); ImGui::ToggleButtonText(u8"系统急停异常", signalState.m_SystemStopAlarm, false); ImGui::ToggleButtonText(u8"高压气压力不足异常", signalState.m_HighPressureLackAlarm, false); ImGui::ToggleButtonText(u8"保护气压力不足异常", signalState.m_ProtectGasLackAlarm, false); ImGui::ToggleButtonText(u8"外部电源断电异常", signalState.m_PowerDownAlarm, false); ImGui::ToggleButtonText(u8"外界氧含量不足警告", signalState.m_OutsideOxygenLackAlarm, false); ImGui::ToggleButtonText(u8"激光器冷水机报警", signalState.m_LaserChillerAlarm, false); ImGui::ToggleButtonText(u8"总空开触点异常", signalState.m_BusAirSwitchAlarm, false); ImGui::ToggleButtonText(u8"外部设备电源空开触点异常", signalState.m_ExtDevicePowerAirSwitchAlarm, false); ImGui::ToggleButtonText(u8"加热电源空开触点异常", signalState.m_HeatingPowerAirSwitchAlarm, false); ImGui::ToggleButtonText(u8"激光电源空开触点异常", signalState.m_LaserPowerAirSwitchAlarm, false); ImGui::ToggleButtonText(u8"伺服电源空开触点", signalState.m_ServoPowerAirSwitchAlarm, false); ImGui::ToggleButtonText(u8"激光器1报警", signalState.m_Laser1Alarm, false); ImGui::ToggleButtonText(u8"激光器2报警", signalState.m_Laser2Alarm, false); ImGui::ToggleButtonText(u8"激光器3报警", signalState.m_Laser3Alarm, false); ImGui::ToggleButtonText(u8"激光器4报警", signalState.m_Laser4Alarm, false); ImGui::ToggleButtonText(u8"激光5报警", signalState.m_Laser5Alarm, false); ImGui::ToggleButtonText(u8"激光6报警", signalState.m_Laser6Alarm, false); ImGui::ToggleButtonText(u8"激光7报警", signalState.m_Laser7Alarm, false); ImGui::ToggleButtonText(u8"激光8报警", signalState.m_Laser8Alarm, false); ImGui::ToggleButtonText(u8"加热异常报警", signalState.m_HeatingAlarm, false); ImGui::ToggleButtonText(u8"UPS报警", signalState.m_UpsAlarm, false); ImGui::ToggleButtonText(u8"打印主轴上限位触发警示", signalState.m_MoldMainUpLimitActive, false); ImGui::ToggleButtonText(u8"打印主轴下限位触发警示", signalState.m_MoldMainDownLimitActive, false); ImGui::ToggleButtonText(u8"轨道打印位感应失效警告", signalState.m_PrintTrackDisableWarn, false); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); ImGui::ToggleButtonText(u8"缸体密封圈泄压异常", signalState.m_CylinderLinerSealReleaseValveException, false); ImGui::ToggleButtonText(u8"轨道清粉位失效异常", signalState.m_CleanTrackPosDisableAlarm, false); ImGui::ToggleButtonText(u8"清粉升降急停异常", signalState.m_CleanLiftStopAlarm, false); ImGui::ToggleButtonText(u8"移载吊装位感应器失效", signalState.m_LoadHandPosSensorDiable, false); ImGui::ToggleButtonText(u8"主电源缺相检测异常", signalState.m_MainPowerLossCheckAlarm, false); ImGui::ToggleButtonText(u8"打印舱电锁感应异常", signalState.m_PrintCabinLockDisableAlarm, false); ImGui::ToggleButtonText(u8"清粉箱折叠气缸升高异常", signalState.m_CleanBoxFoldUpException, false); ImGui::ToggleButtonText(u8"清粉箱折叠气缸降低异常", signalState.m_CleanBoxFoldDownException, false); ImGui::ToggleButtonText(u8"缸体吊装盖板打开异常", signalState.m_CylinderHandPlatformOpenAlarm, false); ImGui::ToggleButtonText(u8"缸体吊装门打开异常", signalState.m_CylinderHandDoorOpenAlarm, false); ImGui::ToggleButtonText(u8"安全地毯被触发", signalState.m_SecurityCarpetTriggered, false); ImGui::ToggleButtonText(u8"栏杆不在打开或关闭位", signalState.m_RailNotInOpenOrClosePos, false); ImGui::ToggleButtonText(u8"吊装盖板关闭异常", signalState.m_HandPlatformCloseAlarm, false); ImGui::ToggleButtonText(u8"铺粉轴前限位触发警示", signalState.m_ArmFrontLimit, false); ImGui::ToggleButtonText(u8"铺粉轴后限位触发警示", signalState.m_ArmBackLimit, false); ImGui::ToggleButtonText(u8"移载轴左限位触发警示", signalState.m_LoadAxisLeftLimit, false); ImGui::ToggleButtonText(u8"移载轴右限位触发警示", signalState.m_LoadAxisRightLimit, false); ImGui::ToggleButtonText(u8"供粉转轴原点失效异常", signalState.m_SupplyHomeIndexDisableAlarm, false); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); ImGui::ToggleButtonText(u8"打印舱压力过高异常", signalState.m_PrintPressureOverLimitAlarm, false); ImGui::ToggleButtonText(u8"总冷水机报警", signalState.m_TotalWaterCoolerAlarm, false); ImGui::ToggleButtonText(u8"打印存粉小车1粉罐已满警示", signalState.m_PrintStorageCar1JarFullWarn, false); ImGui::ToggleButtonText(u8"打印存粉小车1没有连接警示", signalState.m_PrintStorageCar1DisconnectWarn, false); ImGui::ToggleButtonText(u8"打印存粉小车2粉罐已满警示", signalState.m_PrintStorageCar2JarFullWarn, false); ImGui::ToggleButtonText(u8"打印存粉小车2没有连接警示", signalState.m_PrintStorageCar2DisconnectWarn, false); ImGui::ToggleButtonText(u8"清粉存粉小车1粉罐已满警示", signalState.m_CleanStorageCar1JarFullWarn, false); ImGui::ToggleButtonText(u8"清粉存粉小车1没有连接警示", signalState.m_CleanStorageCar1DisconnectWarn, false); ImGui::ToggleButtonText(u8"清粉存粉小车2粉罐已满警示", signalState.m_CleanStorageCar2JarFullWarn, false); ImGui::ToggleButtonText(u8"清粉存粉小车2没有连接警示", signalState.m_CleanStorageCar2DisconnectWarn, false); ImGui::ToggleButtonText(u8"打印主轴扭力异常", signalState.m_MoldTorqueAlarm, false); ImGui::ToggleButtonText(u8"移载轴扭力异常", signalState.m_LoadTorqueAlarm, false); ImGui::ToggleButtonText(u8"铺粉轴扭力异常", signalState.m_ArmTorqueAlarm, false); ImGui::ToggleButtonText(u8"供粉轴扭力异常", signalState.m_SupplyTorqueAlarm, false); ImGui::ToggleButtonText(u8"光栅尺补偿失败", signalState.m_GratingRulerFail, false); ImGui::ToggleButtonText(u8"打印主轴超软上限", signalState.m_PrintMainOverSoftUpLimit, false); ImGui::ToggleButtonText(u8"打印主轴超软下限", signalState.m_PrintMainOverSoftDownLimit, false); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); ImGui::ToggleButtonText(u8"移载轴超左软限", signalState.m_LoadAxisOverSoftLeftLimit, false); ImGui::ToggleButtonText(u8"移载轴超右软限", signalState.m_LoadAxisOverSoftRightLimit, false); ImGui::ToggleButtonText(u8"铺粉轴超前软限", signalState.m_ArmOverSoftFrontLimit, false); ImGui::ToggleButtonText(u8"铺粉轴超后软限", signalState.m_ArmOverSoftBackLimit, false); ImGui::ToggleButtonText(u8"铺粉臂挡板不在前接粉位", signalState.m_CoverBaffleNotInFrontAcceptPos, false); ImGui::ToggleButtonText(u8"铺粉臂挡板不在下粉位", signalState.m_CoverBaffleNotInDropPos, false); ImGui::ToggleButtonText(u8"铺粉臂到接粉后位异常", signalState.m_ArmMoveBackAcceptPosException, false); ImGui::ToggleButtonText(u8"上层维修门打开警告", signalState.m_UpServiceDoorOpenWarn, false); ImGui::ToggleButtonText(u8"下层维修门打开警告", signalState.m_DownServiceDoorOpenWarn, false); ImGui::ToggleButtonText(u8"移栽手动异常", signalState.m_LoadAxisManualAlarmSignal, false); ImGui::ToggleButtonText(u8"打印主轴伺服驱动器异常", signalState.m_PrintMainServoAlarmSignal, false); ImGui::ToggleButtonText(u8"移载轴伺服驱动器异常", signalState.m_LoadAxisServoAlarmSignal, false); ImGui::ToggleButtonText(u8"铺粉轴伺服驱动器异常", signalState.m_ArmServoAlarmSignal, false); ImGui::ToggleButtonText(u8"供粉转轴伺服驱动器异常", signalState.m_SupplyServoAlarmSignal, false); ImGui::ToggleButtonText(u8"铺粉轴到接粉位异常", signalState.m_CoverReachAcceptPowderAlarmSignal, false); ImGui::ToggleButtonText(u8"铺粉轴到下粉位异常", signalState.m_CoverReachDropPowderAlarmSignal, false); ImGui::ToggleButtonText(u8"光栅尺检测异常", signalState.m_LinearEncoderCheckAlarmSignal, false); ImGui::ToggleButtonText(u8"打印主轴软急停触发", signalState.m_PrintMainSoftStopTrigger, false); ImGui::ToggleButtonText(u8"移载轴软急停触发", signalState.m_LoadAxisSoftStopTrigger, false); ImGui::ToggleButtonText(u8"铺粉轴软急停触发", signalState.m_CoverSoftStopTrigger, false); ImGui::ToggleButtonText(u8"铺粉归原点异常", signalState.m_CoverHomeException, false); ImGui::ToggleButtonText(u8"缸体密封圈充气失败报警", signalState.m_CylinderSealInflationFailureAlarm, false); ImGui::ToggleButtonText(u8"缸体密封圈充气过压报警", signalState.m_CylinderSealInflationHighPressureAlarm, false); ImGui::ToggleButtonText(u8"缸体密封圈存在漏气警告", signalState.m_CylinderSealLeakageWarn, false); ImGui::ToggleButtonText(u8"密封圈压力异常", signalState.m_SealPressureExceptionWhenPrint, false); ImGui::EndGroup(); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(u8"常规信号")) { bool isCtrl = (g_Admin > USER_ADMIN); ImGui::BeginGroup(); ImGui::ToggleButtonText(u8"PLC心跳", signalState.m_PLCKeepAlive, false); ImGui::ToggleButtonText(u8"PC心跳", signalState.m_PCKeepAlice, false); ImGui::ToggleButtonText(u8"设备空闲状态", signalState.m_DeviceStandby, false); if (ImGui::ToggleButtonText(u8"设备打印状态", signalState.m_DevicePrinting, isCtrl))signalStateWrapper->m_DevicePrinting->SetValue(!signalState.m_DevicePrinting); if (ImGui::ToggleButtonText(u8"设备手动调试状态", signalState.m_DeviceManualDebug, isCtrl))signalStateWrapper->m_DeviceManualDebug->SetValue(!signalState.m_DeviceManualDebug); if (ImGui::ToggleButtonText(u8"设备自动运行状态", signalState.m_DeviceAutoRuning, isCtrl))signalStateWrapper->m_DeviceAutoRuning->SetValue(!signalState.m_DeviceAutoRuning); if (ImGui::ToggleButtonText(u8"触摸屏控制状态", signalState.m_TouchPanelCtrling, isCtrl))signalStateWrapper->m_TouchPanelCtrling->SetValue(!signalState.m_TouchPanelCtrling); if (ImGui::ToggleButtonText(u8"动作流程调试模式", signalState.m_MotionDebug, isCtrl))signalStateWrapper->m_MotionDebug->SetValue(!signalState.m_MotionDebug); if (ImGui::ToggleButtonText(u8"异常复位", signalState.m_CylinderExceptionReset, isCtrl))signalStateWrapper->m_CylinderExceptionReset->SetValue(!signalState.m_CylinderExceptionReset); if (ImGui::ToggleButtonText(u8"触发缸体到达打印位_自动", signalState.m_CylinderReachPrintTriger, isCtrl))signalStateWrapper->m_CylinderReachPrintTriger->SetValue(!signalState.m_CylinderReachPrintTriger); if (ImGui::ToggleButtonText(u8"缸体到打印位运行中_自动", signalState.m_CylinderReachPrintRun, isCtrl))signalStateWrapper->m_CylinderReachPrintRun->SetValue(!signalState.m_CylinderReachPrintRun); if (ImGui::ToggleButtonText(u8"缸体到达打印位完毕_自动", signalState.m_CylinderReachPrintFinished, isCtrl))signalStateWrapper->m_CylinderReachPrintFinished->SetValue(!signalState.m_CylinderReachPrintFinished); if (ImGui::ToggleButtonText(u8"触发缸体打印位装载_自动", signalState.m_CylinderPrintLoadTriger, isCtrl))signalStateWrapper->m_CylinderPrintLoadTriger->SetValue(!signalState.m_CylinderPrintLoadTriger); if (ImGui::ToggleButtonText(u8"缸体打印位装载运行中_自动", signalState.m_CylinderPrintLoadRun, isCtrl))signalStateWrapper->m_CylinderPrintLoadRun->SetValue(!signalState.m_CylinderPrintLoadRun); if (ImGui::ToggleButtonText(u8"缸体打印位装载完毕_自动", signalState.m_CylinderPrintLoadFinished, isCtrl))signalStateWrapper->m_CylinderPrintLoadFinished->SetValue(!signalState.m_CylinderPrintLoadFinished); if (ImGui::ToggleButtonText(u8"触发缸体打印位卸载_自动", signalState.m_CylinderPrintUnloadTriger, isCtrl))signalStateWrapper->m_CylinderPrintUnloadTriger->SetValue(!signalState.m_CylinderPrintUnloadTriger); if (ImGui::ToggleButtonText(u8"缸体打印位卸载运行中_自动", signalState.m_CylinderPrintUnloadRun, isCtrl))signalStateWrapper->m_CylinderPrintUnloadRun->SetValue(!signalState.m_CylinderPrintUnloadRun); if (ImGui::ToggleButtonText(u8"缸体打印位卸载完毕_自动", signalState.m_CylinderPrintUnloadFinished, isCtrl))signalStateWrapper->m_CylinderPrintUnloadFinished->SetValue(!signalState.m_CylinderPrintUnloadFinished); if (ImGui::ToggleButtonText(u8"触发缸体到达清粉位_自动", signalState.m_CylinderReachCleanTriger, isCtrl))signalStateWrapper->m_CylinderReachCleanTriger->SetValue(!signalState.m_CylinderReachCleanTriger); if (ImGui::ToggleButtonText(u8"缸体到清粉位运行中", signalState.m_CylinderReachCleanRun, isCtrl))signalStateWrapper->m_CylinderReachCleanRun->SetValue(!signalState.m_CylinderReachCleanRun); if (ImGui::ToggleButtonText(u8"缸体到清粉位完毕_自动", signalState.m_CylinderReachCleanFinished, isCtrl))signalStateWrapper->m_CylinderReachCleanFinished->SetValue(!signalState.m_CylinderReachCleanFinished); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); if (ImGui::ToggleButtonText(u8"触发缸体与清粉箱连接_自动", signalState.m_CylinderConnectCleanBoxTriger, isCtrl))m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->SetValue(!signalState.m_CylinderConnectCleanBoxTriger); if (ImGui::ToggleButtonText(u8"缸体与清粉箱连接中", signalState.m_CylinderConnectCleanBoxRun, isCtrl))m_SignalStateWrapper->m_CylinderConnectCleanBoxRun->SetValue(!signalState.m_CylinderConnectCleanBoxRun); if (ImGui::ToggleButtonText(u8"缸体与清粉箱连接完毕_自动", signalState.m_CylinderConnectCleanBoxFinished, isCtrl))m_SignalStateWrapper->m_CylinderConnectCleanBoxFinished->SetValue(!signalState.m_CylinderConnectCleanBoxFinished); if (ImGui::ToggleButtonText(u8"触发缸体与清粉箱分离_自动", signalState.m_CylinderDisconnectCleanBoxTriger, isCtrl))m_SignalStateWrapper->m_CylinderDisconnectCleanBoxTriger->SetValue(!signalState.m_CylinderDisconnectCleanBoxTriger); if (ImGui::ToggleButtonText(u8"缸体与清粉箱分离中", signalState.m_CylinderDisconnectCleanBoxRun, isCtrl))m_SignalStateWrapper->m_CylinderDisconnectCleanBoxRun->SetValue(!signalState.m_CylinderDisconnectCleanBoxRun); if (ImGui::ToggleButtonText(u8"缸体与清粉箱分离完毕_自动", signalState.m_CylinderDisconnectCleanBoxFinished, isCtrl))m_SignalStateWrapper->m_CylinderDisconnectCleanBoxFinished->SetValue(!signalState.m_CylinderDisconnectCleanBoxFinished); if (ImGui::ToggleButtonText(u8"触发铺粉流程", signalState.m_CoverTriger, isCtrl))signalStateWrapper->m_CoverTriger->SetValue(!signalState.m_CoverTriger); ImGui::ToggleButtonText(u8"铺粉流程忙", signalState.m_IsCovering, isCtrl); if (ImGui::ToggleButtonText(u8"铺粉完成允许打印", signalState.m_IsCoverFinishedCanPrint, isCtrl))signalStateWrapper->m_IsCoverFinishedCanPrint->SetValue(!signalState.m_IsCoverFinishedCanPrint); if (ImGui::ToggleButtonText(u8"铺粉调试模式", signalState.m_IsCoverDebug, isCtrl))signalStateWrapper->m_IsCoverDebug->SetValue(!signalState.m_IsCoverDebug); if (ImGui::ToggleButtonText(u8"第一次铺粉", signalState.m_IsFirstCover, isCtrl))signalStateWrapper->m_IsFirstCover->SetValue(!signalState.m_IsFirstCover); if (ImGui::ToggleButtonText(u8"触发打印室除氧", signalState.m_PrintDeoxygenTriger, isCtrl))signalStateWrapper->m_PrintDeoxygenTriger->SetValue(!signalState.m_PrintDeoxygenTriger); if (ImGui::ToggleButtonText(u8"打印室除氧中", signalState.m_PrintDeoxygenRun, isCtrl))signalStateWrapper->m_PrintDeoxygenRun->SetValue(!signalState.m_PrintDeoxygenRun); ImGui::ToggleButtonText(u8"打印室氧含量值到达", signalState.m_PrintDeoxygenFinished, false); //if (ImGui::ToggleButtonText(u8"触发打印升降轴除氧", signalState.m_MoldDeoxygenTriger, isCtrl))signalStateWrapper->m_MoldDeoxygenTriger->SetValue(!signalState.m_MoldDeoxygenTriger); //ImGui::ToggleButtonText(u8"打印升降轴除氧中", signalState.m_MoldDeoxygenRun, false); //if (ImGui::ToggleButtonText(u8"打印升降轴除氧完毕", signalState.m_MoldDeoxygenFinished, isCtrl))signalStateWrapper->m_MoldDeoxygenFinished->SetValue(!signalState.m_MoldDeoxygenFinished); if (ImGui::ToggleButtonText(u8"触发打印存粉小车除氧", signalState.m_StorgeCarDeoxygenTriger, isCtrl))signalStateWrapper->m_StorgeCarDeoxygenTriger->SetValue(!signalState.m_StorgeCarDeoxygenTriger); ImGui::ToggleButtonText(u8"打印存粉小车除氧中", signalState.m_StorgeCarDeoxygenRun, false); if (ImGui::ToggleButtonText(u8"打印存粉小车除氧完毕", signalState.m_StorgeCarDeoxygenFinished, isCtrl))signalStateWrapper->m_StorgeCarDeoxygenFinished->SetValue(!signalState.m_StorgeCarDeoxygenFinished); ImGui::ToggleButtonText(u8"清粉箱启动吸尘器", signalState.m_CleanBoxVacuumTriger, false); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); ImGui::ToggleButtonText(u8"触发缸体到打印位EN", signalState.m_CylinderReachPrintEnable, false); ImGui::ToggleButtonText(u8"触发缸体打印位装载EN", signalState.m_CylinderPrintLoadEnable, false); ImGui::ToggleButtonText(u8"触发缸体打印位卸载EN", signalState.m_CylinderPrintUnloadEnable, false); //ImGui::ToggleButtonText(u8"触发打印升降轴连接缸体EN", signalState.m_MoldConnectCylinderEnable, false); //ImGui::ToggleButtonText(u8"触发打印升降轴分离缸体EN", signalState.m_MoldDisconnectCylinderEnable, false); ImGui::ToggleButtonText(u8"触发缸体到清粉位EN", signalState.m_CylinderReachCleanEnable, false); ImGui::ToggleButtonText(u8"触发缸体与清粉箱连接EN", signalState.m_CylinderConnectCleanBoxEnable, false); ImGui::ToggleButtonText(u8"触发缸体与清粉箱分离EN", signalState.m_CylinderDisconnectCleanBoxEnable, false); ImGui::ToggleButtonText(u8"触发铺粉EN", signalState.m_CoverEnable, false); //ImGui::ToggleButtonText(u8"触发打印升降轴除氧EN", signalState.m_MoldDeoxygenEnable, false); ImGui::ToggleButtonText(u8"触发缸体到吊装位EN", signalState.m_CylinderMoveHandPosEnable, false); ImGui::ToggleButtonText(u8"触发缸体到吊装位", signalState.m_CylinderMoveHandPos, isCtrl); ImGui::ToggleButtonText(u8"触发缸体到吊装位运行中", signalState.m_CylinderMovingHandPos, false); ImGui::ToggleButtonText(u8"触发缸体到吊装位完毕", signalState.m_CylinderMovedHandPos, false); ImGui::ToggleButtonText(u8"打印室换气功能EN", signalState.m_PrintAirRenewalEnable, false); if (ImGui::ToggleButtonText(u8"触发打印室换气", signalState.m_PrintAirRenewalTrigger, isCtrl))m_SignalStateWrapper->m_PrintAirRenewalTrigger->SetValue(!signalState.m_PrintAirRenewalTrigger); ImGui::ToggleButtonText(u8"允许提风速", signalState.m_AllowRiseWindSpeed, false); ImGui::ToggleButtonText(u8"手动铺粉测试", signalState.m_ManualCoverTest, false); ImGui::ToggleButtonText(u8"滚粉轴寻边中", signalState.m_RollerEdgeSearching, false); ImGui::ToggleButtonText(u8"滚粉轴寻边成功", signalState.m_RollerEdgeSearchSuccess, false); ImGui::ToggleButtonText(u8"滚粉轴寻边失败", signalState.m_RollerEdgeSearchFaild, false); //if (ImGui::ToggleButtonText(u8"存粉小车1使用吸筛送", signalState.m_StorageCar1UseSupply, isCtrl))signalStateWrapper->m_StorageCar1UseSupply->SetValue(!signalState.m_StorageCarUseSupply); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); ImGui::ToggleButtonText(u8"光栅尺判断OK", signalState.m_RasterJudgeOK, false); ImGui::ToggleButtonText(u8"光栅尺判断NG", signalState.m_RasterJudgeNG, false); if (ImGui::ToggleButtonText(u8"使用下粉轴寻边", signalState.m_UseSupplySearchEdge, isCtrl))signalStateWrapper->m_UseSupplySearchEdge->SetValue(!signalState.m_UseSupplySearchEdge); if (ImGui::ToggleButtonText(u8"屏蔽光栅尺", signalState.m_SheildLinearEncoder, isCtrl))signalStateWrapper->m_SheildLinearEncoder->SetValue(!signalState.m_SheildLinearEncoder); if (ImGui::ToggleButtonText(u8"屏蔽伺服空开", signalState.m_SheilServoEmptyOpen, isCtrl))signalStateWrapper->m_SheilServoEmptyOpen->SetValue(!signalState.m_SheilServoEmptyOpen); if (ImGui::ToggleButtonText(u8"屏蔽高压气", signalState.m_SheildHighPressure, isCtrl))signalStateWrapper->m_SheildHighPressure->SetValue(!signalState.m_SheildHighPressure); if (ImGui::ToggleButtonText(u8"不使用铺粉轴到位感应器", signalState.m_UnuseCoverReachSensor, isCtrl))signalStateWrapper->m_UnuseCoverReachSensor->SetValue(!signalState.m_UnuseCoverReachSensor); if (ImGui::ToggleButtonText(u8"使用铺粉挡板感应器", signalState.m_UseCoverBaffleSensor, isCtrl))signalStateWrapper->m_UseCoverBaffleSensor->SetValue(!signalState.m_UseCoverBaffleSensor); if (ImGui::ToggleButtonText(u8"使用铺粉臂归原点", signalState.m_UseArmCaptureHome, isCtrl))signalStateWrapper->m_UseArmCaptureHome->SetValue(!signalState.m_UseArmCaptureHome); if (ImGui::ToggleButtonText(u8"光栅尺反向", signalState.m_LinearEncoderOppDirection, isCtrl))signalStateWrapper->m_LinearEncoderOppDirection->SetValue(!signalState.m_LinearEncoderOppDirection); if (ImGui::ToggleButtonText(u8"铺粉V2使用连续模式", signalState.m_CoverV2UseCintinueMode, isCtrl))signalStateWrapper->m_CoverV2UseCintinueMode->SetValue(!signalState.m_CoverV2UseCintinueMode); if (ImGui::ToggleButtonText(u8"使用打印区域变速", signalState.m_UseCoverShiftSpeed, isCtrl))signalStateWrapper->m_UseCoverShiftSpeed->SetValue(!signalState.m_UseCoverShiftSpeed); ImGui::Text(u8"缸体状态:%d", signalState.m_CylinderState); ImGui::SameLine(); ImGui::TextDisabled("(?)"); if (ImGui::IsItemHovered()) { ImGui::BeginTooltip(); ImGui::PushTextWrapPos(ImGui::GetFontSize() * 35.0f); ImGui::TextUnformatted(u8"0=缸体在轨道中间\n1 = 缸体在打印位,未装载\n2 = 缸体在打印位,已装载\n3 = 缸体在清粉位,未连接清粉箱\n4 = 缸体在清粉位,已连接清粉箱\n5 = 移载台在吊装位\n"); ImGui::PopTextWrapPos(); ImGui::EndTooltip(); } ImGui::EndGroup(); ImGui::EndTabItem(); } ImGui::EndTabBar(); ImGui::End(); } //void HBDE1000::DrawAxisCfg() //{ // vector directvec = { _(u8"上"),_(u8"下"),_(u8"左"),_(u8"右"),_(u8"前"),_(u8"后") }; // AxisData ad; // m_SysParamWrapper->GetAxisData(ad); // ImGui::Text(_(u8"移栽轴:").c_str()); // ImGui::BeginChild("LoadAxisCfg", ImVec2(0, 260), true, ImGuiWindowFlags_NoScrollWithMouse); // AxisCfg* loadCfg = ConfigManager::Instance()->GetLoadCfg(); // ImGui::PushItemWidth(120.0f); // ImGui::BeginGroup(); // if (ImGui::InputFloat(_(u8"移载轴轨道打印位").c_str(), &ad.LoadAxisTrackPrintPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadAxisTrackPrintPos->SetValue(ad.LoadAxisTrackPrintPos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"移载轴轨道打印位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_LoadAxisTrackPrintPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_LoadAxisTrackPrintPosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"移载轴轨道清粉位").c_str(), &ad.LoadAxisTrackCleanPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadAxisTrackCleanPos->SetValue(ad.LoadAxisTrackCleanPos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"移载轴轨道清粉位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_LoadAxisTrackCleanPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_LoadAxisTrackCleanPosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(u8"移载轨道吊装位", m_SysParamWrapper->GetEnvUIAssist()->m_LoadHandPos->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) // { // m_SysParamWrapper->GetEnvUIAssist()->m_LoadHandPos->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_LoadHandPos->GetValue()); // } // ImGui::SameLine(); // ImGui::PushID(u8"移载轨道吊装位"); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_LoadHandPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_LoadHandPosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(u8"移载吊装碰撞位", m_SysParamWrapper->GetEnvUIAssist()->m_LoadHandCrashPos->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) // { // m_SysParamWrapper->GetEnvUIAssist()->m_LoadHandCrashPos->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_LoadHandCrashPos->GetValue()); // } // ImGui::SameLine(); // ImGui::PushID(u8"移载吊装碰撞位"); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_LoadHandCrashPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_LoadHandCrashPosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"移载轴轨道左软限位").c_str(), &ad.LoadAxisLeftLimit, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadAxisLeftLimit->SetValue(ad.LoadAxisLeftLimit); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"移载轴轨道左软限位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_LoadAxisLeftLimitRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_LoadAxisLeftLimitRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"移载轴轨道右软限位").c_str(), &ad.LoadAxisRightLimit, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadAxisRightLimit->SetValue(ad.LoadAxisRightLimit); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"移载轴轨道右软限位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_LoadAxisRightLimitRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_LoadAxisRightLimitRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputScalar(_(u8"移载轴绝对值试运行位置列表").c_str(), ImGuiDataType_S16, &ad.LoadAxisAbsTestPos, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { //移载轴绝对值试运行位置列表_RW // m_SysParamWrapper->m_LoadAxisAbsTestPos->SetValue(ad.LoadAxisAbsTestPos); // } // // // ImGui::EndGroup(); // // ImGui::SameLine(); // ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); // ImGui::SameLine(); // // ImGui::BeginGroup(); // if (ImGui::InputFloat(_(u8"移载轴速度(自动)").c_str(), &ad.LoadAxisAutoSpeed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadAxisAutoSpeed->SetValue(ad.LoadAxisAutoSpeed); // } // // if (ImGui::InputFloat(_(u8"移载轴加速度(自动)").c_str(), &ad.LoadAxisnAutoAcc, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadAxisnAutoAcc->SetValue(ad.LoadAxisnAutoAcc); // } // // if (ImGui::InputFloat(_(u8"移载轴减速度(自动)").c_str(), &ad.LoadAxisAutoDec, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadAxisAutoDec->SetValue(ad.LoadAxisAutoDec); // } // // if (ImGui::InputFloat(_(u8"移载轴相对位移(自动)").c_str(), &ad.LoadAxisAutoRelShift, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadAxisAutoRelShift->SetValue(ad.LoadAxisAutoRelShift); // } // // if (ImGui::InputFloat(_(u8"移载轴绝对位置(自动)").c_str(), &ad.LoadAxisAutoAbsPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadAxisAutoAbsPos->SetValue(ad.LoadAxisAutoAbsPos); // } // // static bool isDisableLoadTorqueCheck; // if (isDisableLoadTorqueCheck != m_AxisRecordWrapper->m_DisableLoadTorqueCheck->GetValue()) { // isDisableLoadTorqueCheck = m_AxisRecordWrapper->m_DisableLoadTorqueCheck->GetValue(); // } // if (ImGui::InputFloat(_(u8"移载轴扭力报警值").c_str(), &ad.LoadTorqueThreshold, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadTorqueThreshold->SetValue(ad.LoadTorqueThreshold); // } // if (ImGui::Checkbox(u8"屏蔽移载轴扭力判断", &isDisableLoadTorqueCheck)) { // m_AxisRecordWrapper->m_DisableLoadTorqueCheck->SetValue(isDisableLoadTorqueCheck); // } // // ImGui::EndGroup(); // // ImGui::SameLine(); // ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); // ImGui::SameLine(); // // ImGui::BeginGroup(); // if (g_Admin > USER_ADMIN) // { // ImGui::SemicolonCombo(_(u8"电机正转方向").c_str(), &loadCfg->m_active_direct, directvec); // } // else { // ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true); // ImGui::SemicolonCombo(_(u8"电机正转方向").c_str(), &loadCfg->m_active_direct, directvec); // ImGui::PopItemFlag(); // } // // ImGui::Checkbox(_(u8"显示位置置反").c_str(), &loadCfg->m_ShowPosInv); // ImGui::InputInt(_(u8"正限位").c_str(), &loadCfg->m_active_limit, NULL, NULL, ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::InputInt(_(u8"负限位").c_str(), &loadCfg->m_negactive_limit, NULL, NULL, ImGuiInputTextFlags_EnterReturnsTrue); // // ImGui::InputFloat(u8"负载最大值", &loadCfg->m_MaxLoadValue, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::EndGroup(); // // ImGui::PopItemWidth(); // ImGui::EndChild(); // // ImGui::Text(u8"打印升降轴:"); // ImGui::BeginChild("PrintMoldCfg", ImVec2(0, 480), true, ImGuiWindowFlags_NoScrollWithMouse); // AxisCfg* moldCfg = ConfigManager::Instance()->GetMoldCfg(); // ImGui::PushItemWidth(120.0f); // ImGui::BeginGroup(); // // if (ImGui::InputFloat(u8"打印升降安全位", &ad.PrintUpDownSafePos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_PrintUpDownSafePos->SetValue(ad.PrintUpDownSafePos); // } // ImGui::SameLine(); // ImGui::PushID(u8"打印升降安全位记录"); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_PrintMoldSafePosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_PrintMoldSafePosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印顶升轴基板底座缸平面位置").c_str(), &ad.PrintJackupPlatformBottomPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_PrintJackupPlatformBottomPos->SetValue(ad.PrintJackupPlatformBottomPos); // } // ImGui::SameLine(); // ImGui::PushID(u8"打印顶升轴基板底座缸平面位置记录"); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_PrintJackupPlatformBottomPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_PrintJackupPlatformBottomPosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印顶升轴基板缸平面位置").c_str(), &ad.PrintJackupPlatformPlanePos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_PrintJackupPlatformPlanePos->SetValue(ad.PrintJackupPlatformPlanePos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印顶升轴基板缸平面位置").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_PrintJackupPlatformPlanePosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_PrintJackupPlatformPlanePosRecord->SetValue(false); // m_RunCfg->m_HadSetBasePlatformPoint = true; // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印基板厚度").c_str(), &ad.PrintPlatformHight, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_PrintPlatformHight->SetValue(ad.PrintPlatformHight); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印基板厚度").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_PrintPlatformHightRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_PrintPlatformHightRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印升降轴上软限位").c_str(), &ad.MoldUpLimitPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldUpLimitPos->SetValue(ad.MoldUpLimitPos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印升降轴上软限位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_MoldUpLimitPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_MoldUpLimitPosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印升降轴下软限位").c_str(), &ad.MoldDownLimitPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldDownLimitPos->SetValue(ad.MoldDownLimitPos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印升降轴下软限位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_MoldDownLimitPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_MoldDownLimitPosRecord->SetValue(false); // } // ImGui::PopID(); // // ImGui::EndGroup(); // // ImGui::SameLine(); // ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); // ImGui::SameLine(); // // ImGui::BeginGroup(); // if (ImGui::InputFloat(_(u8"打印升降轴速度(自动)").c_str(), &ad.MoldAutoSpeed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldAutoSpeed->SetValue(ad.MoldAutoSpeed); // } // // if (ImGui::InputFloat(_(u8"打印升降轴加速度(自动)").c_str(), &ad.MoldAutoAcc, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldAutoAcc->SetValue(ad.MoldAutoAcc); // } // // if (ImGui::InputFloat(_(u8"打印升降轴减速度(自动)").c_str(), &ad.MoldAutoDec, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldAutoDec->SetValue(ad.MoldAutoDec); // } // // if (ImGui::InputFloat(_(u8"打印升降轴相对位移(自动)").c_str(), &ad.MoldAutoRelShift, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldAutoRelShift->SetValue(ad.MoldAutoRelShift); // } // // if (ImGui::InputFloat(_(u8"打印升降轴绝对位置(自动)").c_str(), &ad.MoldAutoAbsPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldAutoAbsPos->SetValue(ad.MoldAutoAbsPos); // } // // if (ImGui::InputFloat(_(u8"打印升降轴上升扭力报警值").c_str(), &ad.MoldUpTorqueThrehold, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldUpTorqueThrehold->SetValue(ad.MoldUpTorqueThrehold); // } // if (ImGui::InputFloat(_(u8"打印升降轴下降扭力报警值").c_str(), &ad.MoldDownTorqueThrehold, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldDownTorqueThrehold->SetValue(ad.MoldDownTorqueThrehold); // } // // if (ImGui::InputFloat(_(u8"打印升降轴快速移动速度").c_str(), &ad.MoldHighSpeed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldHighSpeed->SetValue(ad.MoldHighSpeed); // } // // if (ImGui::InputScalar(_(u8"打印升降轴绝对值试运行位置列表").c_str(), ImGuiDataType_S16, &ad.MoldAbsTestPos, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { //打印升降轴绝对值试运行位置列表_RW // m_SysParamWrapper->m_MoldAbsTestPos->SetValue(ad.MoldAbsTestPos); // } // // if (ImGui::InputFloat(_(u8"光栅尺判断值").c_str(), &ad.GratingRulerValue, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_GratingRulerValue->SetValue(ad.GratingRulerValue); // } // // if (ImGui::InputFloat(u8"光栅尺错误判断值", m_SysParamWrapper->GetEnvUIAssist()->m_LinearEncoderErrorJudgeValue->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) // { // m_SysParamWrapper->GetEnvUIAssist()->m_LinearEncoderErrorJudgeValue->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_LinearEncoderErrorJudgeValue->GetValue()); // } // if (ImGui::InputFloat(u8"间隙补偿差值", m_SysParamWrapper->GetEnvUIAssist()->m_GapCompensateDiffValue->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) // { // m_SysParamWrapper->GetEnvUIAssist()->m_GapCompensateDiffValue->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_GapCompensateDiffValue->GetValue()); // } // // static bool isDisableMoldTorqueCheck; // if (isDisableMoldTorqueCheck != m_AxisRecordWrapper->m_DisableMoldTorqueCheck->GetValue()) { // isDisableMoldTorqueCheck = m_AxisRecordWrapper->m_DisableMoldTorqueCheck->GetValue(); // } // if (ImGui::Checkbox(u8"屏蔽打印升降轴扭力判断", &isDisableMoldTorqueCheck)) { // m_AxisRecordWrapper->m_DisableMoldTorqueCheck->SetValue(isDisableMoldTorqueCheck); // } // // ImGui::EndGroup(); // // ImGui::SameLine(); // ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); // ImGui::SameLine(); // // ImGui::BeginGroup(); // if (g_Admin > USER_ADMIN) // { // ImGui::SemicolonCombo(_(u8"电机正转方向").c_str(), &moldCfg->m_active_direct, directvec); // } // else { // ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true); // ImGui::SemicolonCombo(_(u8"电机正转方向").c_str(), &moldCfg->m_active_direct, directvec); // ImGui::PopItemFlag(); // } // ImGui::Checkbox(_(u8"显示位置置反").c_str(), &moldCfg->m_ShowPosInv); // ImGui::InputInt(_(u8"正限位").c_str(), &moldCfg->m_active_limit, NULL, NULL, ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::InputInt(_(u8"负限位").c_str(), &moldCfg->m_negactive_limit, NULL, NULL, ImGuiInputTextFlags_EnterReturnsTrue); // //if (ImGui::InputFloat(_(u8"光栅尺移动值").c_str(), &ad.LineEncMoveValue, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // //} // // if (ImGui::InputFloat(_(u8"光栅尺脉冲当量").c_str(), &ad.LineEncPulseEqu, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LineEncPulseEqu->SetValue(ad.LineEncPulseEqu); // } // // if (ImGui::InputFloat(_(u8"打印室压力泄压值").c_str(), &ad.PrintPressureThrehold, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_PrintPressureThrehold->SetValue(ad.PrintPressureThrehold); // } // // if (ImGui::InputScalar(_(u8"存粉小车除氧时间").c_str(), ImGuiDataType_S32, &ad.PowderCarDeoxygenTime, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_PowderCarDeoxygenTime->SetValue(ad.PowderCarDeoxygenTime); // } // ImGui::InputFloat(u8"负载最大值", &moldCfg->m_MaxLoadValue, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // // if (ImGui::InputScalar(u8"升降伺服位置警示值(μm)", ImGuiDataType_U32, &m_RunCfg->m_MoldServoPosWarnOffset, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // } // if (ImGui::InputScalar(u8"层光栅位置偏差报警值(μm)", ImGuiDataType_U32, &m_RunCfg->m_LayerLinearPosAlarmOffset, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // } // if (ImGui::InputScalar(u8"打印光栅累积误差报警值(μm)", ImGuiDataType_U32, &m_RunCfg->m_PrintLinearAccDevAlarmOffset, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // // } // ImGui::EndGroup(); // // ImGui::PopItemWidth(); // ImGui::EndChild(); // // // //铺粉轴 // { // ImGui::Text(u8"铺粉轴:"); // ImGui::BeginChild("ArmAxisCfg", ImVec2(0, 260), true, ImGuiWindowFlags_NoScrollWithMouse); // AxisCfg* armCfg = ConfigManager::Instance()->GetArmCfg(); // ImGui::PushItemWidth(120.0f); // ImGui::BeginGroup(); // // if (ImGui::InputFloat(_(u8"铺粉轴接粉位").c_str(), &ad.ArmPowderAcceptPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmPowderAcceptPos->SetValue(ad.ArmPowderAcceptPos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"铺粉轴接粉位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_ArmPowderAcceptPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_ArmPowderAcceptPosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(u8"铺粉轴接粉后位", &ad.m_ArmBackAcceptPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmBackAcceptPos->SetValue(ad.m_ArmBackAcceptPos); // } // ImGui::SameLine(); // ImGui::PushID(u8"铺粉轴接粉后位"); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_ArmBackAcceptPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_ArmBackAcceptPosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"铺粉轴前下粉位").c_str(), &ad.ArmPowderDropFrontPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmPowderDropFrontPos->SetValue(ad.ArmPowderDropFrontPos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"铺粉轴前下粉位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_ArmPowderDropFrontPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_ArmPowderDropFrontPosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"铺粉轴打印面前限位").c_str(), &ad.ArmPrintFrontLimit, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmPrintFrontLimit->SetValue(ad.ArmPrintFrontLimit); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"铺粉轴打印面前限位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_ArmPrintFrontLimitRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_ArmPrintFrontLimitRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"铺粉轴打印面后限位").c_str(), &ad.ArmPrintBackLimit, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmPrintBackLimit->SetValue(ad.ArmPrintBackLimit); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"铺粉轴打印面后限位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_ArmPrintBackLimitRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_ArmPrintBackLimitRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"铺粉轴前软限位").c_str(), &ad.ArmFrontLimit, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmFrontLimit->SetValue(ad.ArmFrontLimit); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"铺粉轴前软限位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_ArmFrontLimitRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_ArmFrontLimitRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"铺粉轴后软限位").c_str(), &ad.ArmBackLimit, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmBackLimit->SetValue(ad.ArmBackLimit); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"铺粉轴后软限位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_ArmBackLimitRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_ArmBackLimitRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(u8"铺粉轴归原快速", m_SysParamWrapper->GetEnvUIAssist()->m_ArmCatpureHomeFastSpeed->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) // { // m_SysParamWrapper->GetEnvUIAssist()->m_ArmCatpureHomeFastSpeed->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_ArmCatpureHomeFastSpeed->GetValue()); // } // if (ImGui::InputFloat(u8"铺粉轴归原慢速", m_SysParamWrapper->GetEnvUIAssist()->m_ArmCatpureHomeSlowSpeed->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) // { // m_SysParamWrapper->GetEnvUIAssist()->m_ArmCatpureHomeSlowSpeed->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_ArmCatpureHomeSlowSpeed->GetValue()); // } // // ImGui::EndGroup(); // // ImGui::SameLine(); // ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); // ImGui::SameLine(); // // ImGui::BeginGroup(); // if (ImGui::InputFloat(_(u8"铺粉轴速度(自动)").c_str(), &ad.ArmAutoSpeed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmAutoSpeed->SetValue(ad.ArmAutoSpeed); // } // // if (ImGui::InputFloat(_(u8"铺粉轴加速度(自动)").c_str(), &ad.ArmAxisnAutoAcc, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmAxisnAutoAcc->SetValue(ad.ArmAxisnAutoAcc); // } // // if (ImGui::InputFloat(_(u8"铺粉轴减速度(自动)").c_str(), &ad.ArmAxisAutoDec, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmAxisAutoDec->SetValue(ad.ArmAxisAutoDec); // } // // if (ImGui::InputFloat(_(u8"铺粉轴相对位移(自动)").c_str(), &ad.ArmAxisAutoRelShift, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmAxisAutoRelShift->SetValue(ad.ArmAxisAutoRelShift); // } // // if (ImGui::InputFloat(_(u8"铺粉轴绝对位置(自动)").c_str(), &ad.ArmAxisAutoAbsPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmAxisAutoAbsPos->SetValue(ad.ArmAxisAutoAbsPos); // } // if (ImGui::InputScalar(_(u8"铺粉轴绝对值试运行位置列表").c_str(), ImGuiDataType_S16, &ad.ArmAbsTestPos, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { //铺粉轴绝对值试运行位置列表_RW // m_SysParamWrapper->m_ArmAbsTestPos->SetValue(ad.ArmAbsTestPos); // } // // static bool isDisableArmTorqueCheck; // if (isDisableArmTorqueCheck != m_AxisRecordWrapper->m_DisableArmTorqueCheck->GetValue()) { // isDisableArmTorqueCheck = m_AxisRecordWrapper->m_DisableArmTorqueCheck->GetValue(); // } // if (ImGui::Checkbox(u8"屏蔽铺粉轴扭力判断", &isDisableArmTorqueCheck)) { // m_AxisRecordWrapper->m_DisableArmTorqueCheck->SetValue(isDisableArmTorqueCheck); // } // ImGui::EndGroup(); // // ImGui::SameLine(); // ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); // ImGui::SameLine(); // ImGui::BeginGroup(); // ImGui::PushID("ArmAxisActiveDirect"); // if (g_Admin > USER_ADMIN) // { // ImGui::SemicolonCombo(_(u8"电机正转方向").c_str(), &armCfg->m_active_direct, directvec); // } // else { // ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true); // ImGui::SemicolonCombo(_(u8"电机正转方向").c_str(), &armCfg->m_active_direct, directvec); // ImGui::PopItemFlag(); // } // ImGui::PopID(); // ImGui::PushID("ArmAxisShowPosInv"); ImGui::Checkbox(_(u8"显示位置置反").c_str(), &armCfg->m_ShowPosInv); ImGui::PopID(); // ImGui::PushID("ArmAxisActiveLimit"); ImGui::InputInt(_(u8"正限位").c_str(), &armCfg->m_active_limit, NULL, NULL, ImGuiInputTextFlags_EnterReturnsTrue); ImGui::PopID(); // ImGui::PushID("ArmAxisNegactiveLimit"); ImGui::InputInt(_(u8"负限位").c_str(), &armCfg->m_negactive_limit, NULL, NULL, ImGuiInputTextFlags_EnterReturnsTrue); ImGui::PopID(); // if (ImGui::InputFloat(_(u8"铺粉轴扭力报警值").c_str(), &ad.ArmTorqueThreshold, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_ArmTorqueThreshold->SetValue(ad.ArmTorqueThreshold); // } // ImGui::InputFloat(u8"负载最大值", &armCfg->m_MaxLoadValue, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::InputDouble(u8"铺粉时间偏移毫秒", &m_RunCfg->m_CoverSimulateTimeOffset, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::InputDouble(u8"铺粉慢风速时间偏移毫秒", &m_RunCfg->m_CoverWindSimulateTimeOffset, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::EndGroup(); // ImGui::PopItemWidth(); // // ImGui::EndChild(); // } // // // ImGui::Text(u8"供粉轴:"); // ImGui::BeginChild("SupplyAxisCfg", ImVec2(0, 250), true, ImGuiWindowFlags_NoScrollWithMouse); // AxisCfg* supplyCfg = ConfigManager::Instance()->GetSupplyCfg(); // ImGui::PushItemWidth(120); // ImGui::BeginGroup(); // if (ImGui::InputFloat(_(u8"供粉转轴速度(自动)").c_str(), &ad.SupplyAutoSpeed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyAutoSpeed->SetValue(ad.SupplyAutoSpeed); // } // // if (ImGui::InputFloat(_(u8"供粉转轴加速度(自动)").c_str(), &ad.SupplyAxisnAutoAcc, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyAxisnAutoAcc->SetValue(ad.SupplyAxisnAutoAcc); // } // // if (ImGui::InputFloat(_(u8"供粉转轴减速度(自动)").c_str(), &ad.SupplyAxisAutoDec, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyAxisAutoDec->SetValue(ad.SupplyAxisAutoDec); // } // // if (ImGui::InputFloat(_(u8"供粉转轴相对位移(自动)").c_str(), &ad.SupplyAxisAutoRelShift, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyAxisAutoRelShift->SetValue(ad.SupplyAxisAutoRelShift); // } // // if (ImGui::InputFloat(_(u8"供粉转轴绝对位置(自动)").c_str(), &ad.SupplyAxisAutoAbsPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyAxisAutoAbsPos->SetValue(ad.SupplyAxisAutoAbsPos); // } // if (ImGui::InputFloat(_(u8"供粉轴扭力报警值").c_str(), &ad.SupplyTorqueThreshold, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyTorqueThreshold->SetValue(ad.SupplyTorqueThreshold); // } // // static bool isDisableSupplyTorqueCheck; // if (isDisableSupplyTorqueCheck != m_AxisRecordWrapper->m_DisableSupplyTorqueCheck->GetValue()) { // isDisableSupplyTorqueCheck = m_AxisRecordWrapper->m_DisableSupplyTorqueCheck->GetValue(); // } // if (ImGui::Checkbox(u8"屏蔽供粉轴扭力判断", &isDisableSupplyTorqueCheck)) { // m_AxisRecordWrapper->m_DisableSupplyTorqueCheck->SetValue(isDisableSupplyTorqueCheck); // } // // ImGui::EndGroup(); // // ImGui::SameLine(); // ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); // ImGui::SameLine(); // // ImGui::BeginGroup(); // if (g_Admin > USER_ADMIN) // { // ImGui::SemicolonCombo(_(u8"电机正转方向").c_str(), &supplyCfg->m_active_direct, directvec); // } // else { // ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true); // ImGui::SemicolonCombo(_(u8"电机正转方向").c_str(), &supplyCfg->m_active_direct, directvec); // ImGui::PopItemFlag(); // } // ImGui::Checkbox(_(u8"显示位置置反").c_str(), &supplyCfg->m_ShowPosInv); // ImGui::InputInt(_(u8"正限位").c_str(), &supplyCfg->m_active_limit, NULL, NULL, ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::InputInt(_(u8"负限位").c_str(), &supplyCfg->m_negactive_limit, NULL, NULL, ImGuiInputTextFlags_EnterReturnsTrue); // if (ImGui::InputFloat(u8"供粉转轴的格数一圈", &ad.m_SupplyPowderGridPerCycle, 0, 0, "%.1f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyPowderGridPerCycle->SetValue(ad.m_SupplyPowderGridPerCycle); // } // if (ImGui::InputFloat(u8"供粉转轴每格对用度数", &ad.m_SupplyAxisAnglePerGrid, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyAxisAnglePerGrid->SetValue(ad.m_SupplyAxisAnglePerGrid); // } // if (ImGui::InputFloat(u8"供粉转轴寻边偏移度数", m_SysParamWrapper->GetEnvUIAssist()->m_RollerEdgeSearchOffset->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) // { // m_SysParamWrapper->GetEnvUIAssist()->m_RollerEdgeSearchOffset->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_RollerEdgeSearchOffset->GetValue()); // } // ImGui::InputFloat(u8"负载最大值", &supplyCfg->m_MaxLoadValue, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::EndGroup(); // // ImGui::PopItemWidth(); // ImGui::EndChild(); // // ImGui::Text(u8"铺粉参数"); // ImGui::BeginChild("CoverConfig", ImVec2(0, 260), true, ImGuiWindowFlags_NoScrollWithMouse); // ImGui::PushItemWidth(120.0f); // ImGui::BeginGroup(); // if (ImGui::InputScalar(_(u8"铺粉类型").c_str(), ImGuiDataType_S16, &ad.CoverType, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CoverType->SetValue(ad.CoverType); // } // if (ImGui::InputFloat(_(u8"打印铺粉速度(mm/s)").c_str(), &ad.CoverSpeed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CoverSpeed->SetValue(ad.CoverSpeed); // } // if (ImGui::InputFloat(_(u8"打印单向铺粉返回变速(mm/s)").c_str(), &ad.CoverReturnSpeed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CoverReturnSpeed->SetValue(ad.CoverReturnSpeed); // } // if (ImGui::InputFloat(_(u8"打印单向铺粉距离(mm)").c_str(), &ad.CoverDistance, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CoverDistance->SetValue(ad.CoverDistance); // } // if (ImGui::InputFloat(_(u8"打印铺粉层厚(μm)").c_str(), &ad.LayerThick, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LayerThick->SetValue(ad.LayerThick); // } // if (ImGui::InputFloat(_(u8"打印间隙补偿(μm)").c_str(), &ad.FixGap, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_FixGap->SetValue(ad.FixGap); // } // if (ImGui::InputScalar(_(u8"打印铺粉格数").c_str(), ImGuiDataType_S16, &ad.SupplyCount, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyCount->SetValue(ad.SupplyCount); // } // // if (ImGui::InputInt(_(u8"打印下粉时间(ms)").c_str(), &ad.SupplyTime, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyTime->SetValue(ad.SupplyTime); // } // ImGui::EndGroup(); // ImGui::SameLine(); // ImGui::BeginGroup(); // // if (ImGui::InputFloat(_(u8"铺粉调试层厚(μm)").c_str(), &ad.DebugLayerThick, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_DebugLayerThick->SetValue(ad.DebugLayerThick); // } // if (ImGui::InputFloat(_(u8"铺粉调试间隙(μm)").c_str(), &ad.DebugFixGap, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_DebugFixGap->SetValue(ad.DebugFixGap); // } // if (ImGui::InputInt(_(u8"铺粉调试下粉时间(ms)").c_str(), &ad.DebugSupplyTime, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_DebugSupplyTime->SetValue(ad.DebugSupplyTime); // } // if (ImGui::InputScalar(_(u8"铺粉调试格数").c_str(), ImGuiDataType_S16, &ad.DebugSupplyCount, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_DebugSupplyCount->SetValue(ad.DebugSupplyCount); // } // if (ImGui::InputFloat(_(u8"铺粉调试铺粉距离(mm)").c_str(), &ad.DebugCoverDistance, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_DebugCoverDistance->SetValue(ad.DebugCoverDistance); // } // // if (ImGui::InputScalar(u8"铺粉归原点触发数", ImGuiDataType_S16, m_SysParamWrapper->GetEnvUIAssist()->m_AutoCaptureCoverHomeIntervalTimes->GetUIValue(), 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->GetEnvUIAssist()->m_AutoCaptureCoverHomeIntervalTimes->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_AutoCaptureCoverHomeIntervalTimes->GetValue()); // } // // ImGui::Text(u8"铺粉归原点累积次数:%d", m_SysParamWrapper->m_AutoCaptureCoverHomeCalcTimes->GetValue()); // // ImGui::Checkbox(u8"铺粉减风速", &m_ExtCfg->m_AutoCoverSlowWind); // ImGui::EndGroup(); // ImGui::PopItemWidth(); // ImGui::EndChild(); //} void HBDE1000::DrawPowderCtrl(bool* winShow) { ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(4, 8)); ImGui::Begin(_(u8"铺粉装置调试").c_str(), winShow, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoDocking | ImGuiWindowFlags_NoNav); ImGui::PopStyleVar(); int dstepflag = 1; double fstepflag = 1.0; long lstepflag = 1; static int kb = GTS_AXIS_ID_ARM; static bool continue_move = false; //CoverCfg* coverCfg = m_CoverCfg; MainAxisState* mold = m_Axis->m_Mold->GetState(); AxisState* load = m_Axis->m_Load->GetState(); AxisState* arm = m_Axis->m_Arm->GetState(); AxisState* supply = m_Axis->m_Supply->GetState(); AxisConfig* armCfg = m_Axis->m_Arm->GetConfig(); AxisConfig::CfgValue armCfgVal; armCfg->GetValue(armCfgVal); AxisConfig* moldCfg = m_Axis->m_Mold->GetConfig(); AxisConfig::CfgValue moldCfgVal; moldCfg->GetValue(moldCfgVal); //AxisConfig* cleanCfg = m_Axis->m_Clean->GetConfig(); //AxisConfig::CfgValue cleanCfgVal; //cleanCfg->GetValue(cleanCfgVal); AxisConfig* loadCfg = m_Axis->m_Load->GetConfig(); AxisConfig::CfgValue loadCfgVal; loadCfg->GetValue(loadCfgVal); AxisConfig* supplyCfg = m_Axis->m_Supply->GetConfig(); AxisConfig::CfgValue supplyCfgVal; supplyCfg->GetValue(supplyCfgVal); ChartletManager* chartletManager = ChartletManager::GetInstance(); ImVec2 wpos = ImGui::GetWindowPos(); SignalService::GetInstance().GetSignalState(m_SignalState); if (m_PowderAssist.isLeftExpand) { ImGui::BeginGroup(); ImGui::BeginChild("AxisSettingChild", ImVec2(420, 520), false, ImGuiWindowFlags_NoNav); ImGui::BeginTabBar("AxisSetting"); if (ImGui::BeginTabItem(_(u8"成型缸").c_str())) { ImGui::PushItemWidth(100); if (ImGui::InputScalar(_(u8"速度(mm/s)").c_str(), ImGuiDataType_Float, &moldCfgVal.speed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { moldCfg->m_Speed->SetValue(moldCfgVal.speed); g_log->TraceInfo(_(u8"更改成型缸速度:%.3f").c_str(), moldCfgVal.speed); } if (ImGui::InputScalar(_(u8"加速度(m/s²)").c_str(), ImGuiDataType_Float, &moldCfgVal.acc, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { moldCfg->m_Acc->SetValue(moldCfgVal.acc); g_log->TraceInfo(_(u8"更改成型缸加速度:%.3f").c_str(), moldCfgVal.acc); } if (ImGui::InputScalar(_(u8"减速度(m/s2)").c_str(), ImGuiDataType_Float, &moldCfgVal.dec, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { moldCfg->m_Dec->SetValue(moldCfgVal.dec); g_log->TraceInfo(u8"更新成型缸减速度:%.3f", moldCfgVal.dec); } if (ImGui::InputScalar(_(u8"点动行程(μm)").c_str(), ImGuiDataType_Float, &moldCfgVal.rel, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { moldCfg->m_RefDistance->SetValue(moldCfgVal.rel); g_log->TraceInfo(_(u8"更改成型缸点动行程:%.3f").c_str(), moldCfgVal.rel); } ImGui::PopItemWidth(); if ((g_Admin > USER_ADMIN)) { ImGui::Dummy(ImVec2(0, 20)); if (mold->m_MoveAbsPos) { if (m_SysParamWrapper->m_MoldAbsTestPos->GetValue() == 0) { if (ImGui::ImageButton(chartletManager->m_MoldMoveDownesting->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Mold->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(u8"中断打印升降轴移动到安全位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"打印升降轴移动到安全位"); } else { ImGui::ImageButton(chartletManager->m_MoldMoveDownestDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"不能执行打印升降轴移动到安全位"); } } else { if (ImGui::ImageButton(chartletManager->m_MoldMoveDownestEnable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_SysParamWrapper->m_MoldAbsTestPos->SetValue(0); m_Axis->m_Mold->GetCtrl()->m_MoveAbsPos->SetValue(true); g_log->TraceInfo(u8"执行打印升降轴移动到安全位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"打印升降轴移动到安全位"); } ImGui::SameLine(); if (mold->m_MoveAbsPos) { if (m_SysParamWrapper->m_MoldAbsTestPos->GetValue() == 3) { if (ImGui::ImageButton(chartletManager->m_MoldMovePlatformBottoming->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Mold->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(u8"中断打印轴移动到底座缸平面位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"中断打印轴移动到底座缸平面位"); } else { ImGui::ImageButton(chartletManager->m_MoldMovePlatformBottomDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"不能执行打印轴移动到底座缸平面位"); } } else { if (ImGui::ImageButton(chartletManager->m_MoldMovePlatformBottomEnable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_SysParamWrapper->m_MoldAbsTestPos->SetValue(3); m_Axis->m_Mold->GetCtrl()->m_MoveAbsPos->SetValue(true); g_log->TraceInfo(u8"执行打印轴移动到底座缸平面位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"打印轴移动到底座缸平面位"); } ImGui::SameLine(); if (mold->m_MoveAbsPos) { if (m_SysParamWrapper->m_MoldAbsTestPos->GetValue() == 4) { if (ImGui::ImageButton(chartletManager->m_MoldMovePlatforming->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Mold->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(u8"中断打印轴移动到基板缸平面位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"中断打印轴移动到基板缸平面位"); } else { ImGui::ImageButton(chartletManager->m_MoldMovePlatformDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"不能执行打印轴移动到基板缸平面位"); } } else { if (ImGui::ImageButton(chartletManager->m_MoldMovePlatformEnable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_SysParamWrapper->m_MoldAbsTestPos->SetValue(4); m_Axis->m_Mold->GetCtrl()->m_MoveAbsPos->SetValue(true); g_log->TraceInfo(u8"执行打印轴移动到基板缸平面位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"打印轴移动到基板缸平面位"); } } ImGui::EndTabItem(); } if (ImGui::BeginTabItem(_(u8"移载轴").c_str())) { ImGui::PushItemWidth(100); if (ImGui::InputScalar(_(u8"速度(mm/s)").c_str(), ImGuiDataType_Float, &loadCfgVal.speed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { loadCfg->m_Speed->SetValue(loadCfgVal.speed); g_log->TraceInfo(u8"更新移载轴速度:%.3f", loadCfgVal.speed); } if (ImGui::InputScalar(_(u8"加速度(m/s²)").c_str(), ImGuiDataType_Float, &loadCfgVal.acc, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { loadCfg->m_Acc->SetValue(loadCfgVal.acc); g_log->TraceInfo(u8"更新移载轴加速度:%.3f", loadCfgVal.acc); } if (ImGui::InputScalar(_(u8"减速度(m/s2)").c_str(), ImGuiDataType_Float, &loadCfgVal.dec, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { loadCfg->m_Dec->SetValue(loadCfgVal.dec); g_log->TraceInfo(u8"更新移载轴减速度:%.3f", loadCfgVal.dec); } if (ImGui::InputScalar(_(u8"点动行程(μm)").c_str(), ImGuiDataType_Float, &loadCfgVal.rel, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { loadCfg->m_RefDistance->SetValue(loadCfgVal.rel); g_log->TraceInfo(u8"更新移载轴点动距离:%.3f", loadCfgVal.rel); } ImGui::PopItemWidth(); if (g_Admin > USER_ADMIN) { ImGui::Dummy(ImVec2(0, 20)); if (load->m_MoveAbsPos) { if (m_SysParamWrapper->m_LoadAxisAbsTestPos->GetValue() == 3) { if (ImGui::ImageButton(chartletManager->m_LoadHandPosing->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Load->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(u8"中断移载轴移动到轨道吊装位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"中断移载轴移动到轨道吊装位"); } else { ImGui::ImageButton(chartletManager->m_LoadHandPosDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"不能执行移载轴移动到轨道吊装位"); } } else { if (ImGui::ImageButton(chartletManager->m_LoadHandPosEnable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_SysParamWrapper->m_LoadAxisAbsTestPos->SetValue(3); m_Axis->m_Load->GetCtrl()->m_MoveAbsPos->SetValue(true); g_log->TraceInfo(u8"执行移载轴移动到轨道吊装位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"移载轴移动到轨道吊装位"); } ImGui::SameLine(); if (load->m_MoveAbsPos) { if (m_SysParamWrapper->m_LoadAxisAbsTestPos->GetValue() == 1) { if (ImGui::ImageButton(chartletManager->m_LoadCleanPosing->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Load->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(u8"中断移载轴移动到轨道清粉位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"中断移载轴移动到轨道清粉位"); } else { ImGui::ImageButton(chartletManager->m_LoadCleanPosDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"不能执行移载轴移动到轨道清粉位"); } } else { if (ImGui::ImageButton(chartletManager->m_LoadCleanPosEnable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_SysParamWrapper->m_LoadAxisAbsTestPos->SetValue(1); m_Axis->m_Load->GetCtrl()->m_MoveAbsPos->SetValue(true); g_log->TraceInfo(u8"执行移载轴移动到轨道清粉位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"移载轴移动到轨道清粉位"); } ImGui::SameLine(); if (load->m_MoveAbsPos) { if (m_SysParamWrapper->m_LoadAxisAbsTestPos->GetValue() == 0) { if (ImGui::ImageButton(chartletManager->m_LoadPrintPosing->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Load->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(u8"中断移载轴移动到轨道打印位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"中断移载轴移动到轨道打印位"); } else { ImGui::ImageButton(chartletManager->m_LoadPrintPosDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"不能执行移载轴移动到轨道打印位"); } } else { if (ImGui::ImageButton(chartletManager->m_LoadPrintPosEnable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_SysParamWrapper->m_LoadAxisAbsTestPos->SetValue(0); m_Axis->m_Load->GetCtrl()->m_MoveAbsPos->SetValue(true); g_log->TraceInfo(u8"执行移载轴移动到轨道打印位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"移栽轴移动到轨道打印位"); } } ImGui::EndTabItem(); } if (ImGui::BeginTabItem(_(u8"铺粉轴").c_str())) { ImGui::PushItemWidth(100); if (ImGui::InputScalar(_(u8"速度(mm/s)").c_str(), ImGuiDataType_Float, &armCfgVal.speed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { armCfg->m_Speed->SetValue(armCfgVal.speed); g_log->TraceInfo(u8"更新铺粉轴速度:%.3f", armCfgVal.speed); } if (ImGui::InputScalar(_(u8"加速度(m/s²)").c_str(), ImGuiDataType_Float, &armCfgVal.acc, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { armCfg->m_Acc->SetValue(armCfgVal.acc); g_log->TraceInfo(u8"更新铺粉轴加速度:%.3f", armCfgVal.acc); } if (ImGui::InputScalar(_(u8"减速度(m/s2)").c_str(), ImGuiDataType_Float, &armCfgVal.dec, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { armCfg->m_Dec->SetValue(armCfgVal.dec); g_log->TraceInfo(u8"更新铺粉轴减速度:%.3f", armCfgVal.dec); } if (ImGui::InputScalar(_(u8"点动行程(μm)").c_str(), ImGuiDataType_Float, &armCfgVal.rel, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { armCfg->m_RefDistance->SetValue(armCfgVal.rel); g_log->TraceInfo(u8"更新铺粉轴点动距离:%.3f", armCfgVal.rel); } ImGui::PopItemWidth(); if (g_Admin > USER_ADMIN) { ImGui::Dummy(ImVec2(0, 20)); if (arm->m_MoveAbsPos) { if (m_SysParamWrapper->m_ArmAbsTestPos->GetValue() == 0) { if (ImGui::ImageButton(chartletManager->m_ArmAcceptPosing->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Arm->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(u8"中断铺粉轴移动到接粉后位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"中断铺粉轴移动到接粉后位"); } else { ImGui::ImageButton(chartletManager->m_ArmAcceptPosDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"不能执行铺粉轴移动到接粉后位"); } } else { if (ImGui::ImageButton(chartletManager->m_ArmAcceptPosEnable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_SysParamWrapper->m_ArmAbsTestPos->SetValue(2); m_Axis->m_Arm->GetCtrl()->m_MoveAbsPos->SetValue(true); g_log->TraceInfo(u8"执行铺粉轴移动到接粉后位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"铺粉轴移动到接粉后位"); } ImGui::SameLine(); if (arm->m_MoveAbsPos) { if (m_SysParamWrapper->m_ArmAbsTestPos->GetValue() == 0) { if (ImGui::ImageButton(chartletManager->m_ArmAcceptPosing->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Arm->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(u8"中断铺粉轴移动到接粉位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"中断铺粉轴移动到接粉位"); } else { ImGui::ImageButton(chartletManager->m_ArmAcceptPosDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"不能执行铺粉轴移动到接粉位"); } } else { if (ImGui::ImageButton(chartletManager->m_ArmAcceptPosEnable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_SysParamWrapper->m_ArmAbsTestPos->SetValue(0); m_Axis->m_Arm->GetCtrl()->m_MoveAbsPos->SetValue(true); g_log->TraceInfo(u8"执行铺粉轴移动到接粉位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"铺粉轴移动到接粉位"); } if (arm->m_MoveAbsPos) { if (m_SysParamWrapper->m_ArmAbsTestPos->GetValue() == 1) { if (ImGui::ImageButton(chartletManager->m_ArmFrontDropPosing->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Arm->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(u8"中断铺粉轴移动到前下粉位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"中断铺粉轴移动到前下粉位"); } else { ImGui::ImageButton(chartletManager->m_ArmFrontDropPosDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"不能执行铺粉轴移动到前下粉位"); } } else { if (ImGui::ImageButton(chartletManager->m_ArmFrontDropPosEnable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_SysParamWrapper->m_ArmAbsTestPos->SetValue(1); m_Axis->m_Arm->GetCtrl()->m_MoveAbsPos->SetValue(true); g_log->TraceInfo(u8"执行铺粉轴移动到前下粉位"); } if (ImGui::IsItemHovered())ImGui::SetTooltip(u8"铺粉轴移动到前下粉位"); } } ImGui::EndTabItem(); } if (ImGui::BeginTabItem(_(u8"供粉轴").c_str())) { ImGui::PushItemWidth(100); if (ImGui::InputScalar(_(u8"速度(mm/s)").c_str(), ImGuiDataType_Float, &supplyCfgVal.speed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { supplyCfg->m_Speed->SetValue(supplyCfgVal.speed); g_log->TraceInfo(u8"更新下粉轴速度:%.3f", supplyCfgVal.speed); } if (ImGui::InputScalar(_(u8"加速度(m/s²)").c_str(), ImGuiDataType_Float, &supplyCfgVal.acc, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { supplyCfg->m_Acc->SetValue(supplyCfgVal.acc); g_log->TraceInfo(u8"更新下粉轴加速度:%.3f", supplyCfgVal.acc); } if (ImGui::InputScalar(_(u8"减速度(m/s2)").c_str(), ImGuiDataType_Float, &supplyCfgVal.dec, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { supplyCfg->m_Dec->SetValue(supplyCfgVal.dec); g_log->TraceInfo(u8"更新下粉轴减速度:%.3f", supplyCfgVal.dec); } if (ImGui::InputScalar(u8"粉格", ImGuiDataType_Float, &supplyCfgVal.rel, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { supplyCfg->m_RefDistance->SetValue(supplyCfgVal.rel); g_log->TraceInfo(u8"更新下粉轴相对移动距离:%.3f", supplyCfgVal.rel); } ImGui::PopItemWidth(); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(u8"铺粉")) { AxisData ad; vector ss = { _(u8"双向铺粉"),_(u8"单向铺粉"),_(u8"不铺粉") ,_(u8"双向铺粉2") ,_(u8"单向铺粉2"),_(u8"单向铺粉3") }; m_SysParamWrapper->GetAxisData(ad); ImGui::PushItemWidth(120); if (ImGui::SemicolonCombo(_(u8"铺粉类型").c_str(), &ad.CoverType, ss)) { m_SysParamWrapper->m_CoverType->SetValue(ad.CoverType); g_log->TraceInfo(u8"更新铺粉方式:%d", ad.CoverType); } if (ImGui::InputFloat(_(u8"打印铺粉速度(mm/s)").c_str(), &ad.CoverSpeed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_CoverSpeed->SetValue(ad.CoverSpeed); g_log->TraceInfo(u8"更新铺粉速度:%.3f", ad.CoverSpeed); } if (ImGui::InputFloat(_(u8"打印单向铺粉返回变速(mm/s)").c_str(), &ad.CoverReturnSpeed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_CoverReturnSpeed->SetValue(ad.CoverReturnSpeed); g_log->TraceInfo(u8"更新打印单向返回速度:%.3f", ad.CoverReturnSpeed); } if (ImGui::InputFloat(_(u8"打印单向铺粉距离(mm)").c_str(), &ad.CoverDistance, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_CoverDistance->SetValue(ad.CoverDistance); g_log->TraceInfo(u8"更新打印单向铺粉距离:%.3f", ad.CoverDistance); } if (ImGui::InputFloat(_(u8"打印铺粉层厚(μm)").c_str(), &ad.LayerThick, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_LayerThick->SetValue(ad.LayerThick); g_log->TraceInfo(u8"更新打印铺粉层厚:%.3f", ad.LayerThick); } if (ImGui::InputFloat(_(u8"打印间隙补偿(μm)").c_str(), &ad.FixGap, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_FixGap->SetValue(ad.FixGap); g_log->TraceInfo(u8"更新打印间隙补偿:%.3f", ad.FixGap); } if (ImGui::InputScalar(_(u8"打印铺粉格数").c_str(), ImGuiDataType_S16, &ad.SupplyCount, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_SupplyCount->SetValue(ad.SupplyCount); g_log->TraceInfo(u8"更新打印铺粉格数:%d", ad.SupplyCount); } if (ImGui::InputScalar(_(u8"打印下粉时间(ms)").c_str(), ImGuiDataType_S16, &ad.SupplyTime, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_SupplyTime->SetValue(ad.SupplyTime); g_log->TraceInfo(u8"更新打印下粉时间:%d", ad.SupplyTime); } if (ImGui::InputFloat(_(u8"铺粉调试层厚(μm)").c_str(), &ad.DebugLayerThick, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_DebugLayerThick->SetValue(ad.DebugLayerThick); g_log->TraceInfo(u8"更新铺粉调试层厚:%.3f", ad.DebugLayerThick); } if (ImGui::InputFloat(_(u8"铺粉调试间隙(μm)").c_str(), &ad.DebugFixGap, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_DebugFixGap->SetValue(ad.DebugFixGap); g_log->TraceInfo(u8"更新铺粉调试间隙补偿:%.3f", ad.DebugFixGap); } if (ImGui::InputScalar(_(u8"铺粉调试下粉时间(ms)").c_str(), ImGuiDataType_S16, &ad.DebugSupplyTime, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_DebugSupplyTime->SetValue(ad.DebugSupplyTime); g_log->TraceInfo(u8"更新铺粉调试下粉时间:%d", ad.DebugSupplyTime); } if (ImGui::InputScalar(_(u8"铺粉调试格数").c_str(), ImGuiDataType_S16, &ad.DebugSupplyCount, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_DebugSupplyCount->SetValue(ad.DebugSupplyCount); g_log->TraceInfo(u8"更新铺粉调试格数:%d", ad.DebugSupplyCount); } if (ImGui::InputFloat(_(u8"铺粉调试铺粉距离(mm)").c_str(), &ad.DebugCoverDistance, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->m_DebugCoverDistance->SetValue(ad.DebugCoverDistance); g_log->TraceInfo(u8"更新铺粉调试距离:%.3f", ad.DebugCoverDistance); } ImGui::PopItemWidth(); ImGui::Dummy(ImVec2(0, 20)); if (m_SignalStateWrapper->m_IsCovering->GetValue()) { ImGui::PushID("CoverTrigerStop"); if (ImGui::Button(u8"停止", ImVec2(-1, 0))) { m_SignalStateWrapper->m_CoverTriger->SetValue(false); g_log->TraceInfo(u8"停止铺粉调试"); } ImGui::PopID(); } else { // if (m_Purifier->IsCoverWindSet()) // { // m_Purifier->ResetSlowWind(); // } if (ImGui::Button(u8"铺粉调试", ImVec2(-1, 0))) { if (m_SignalStateWrapper->m_CoverEnable->GetValue()) { // if (m_ExtCfg->m_AutoCoverSlowWind && m_Purifier->IsWindActive()) { // m_Purifier->SetCoverWind(true); // } m_SignalStateWrapper->m_IsCoverDebug->SetValue(true); Sleep(50); m_SignalStateWrapper->m_ManualCoverTest->SetValue(true); Sleep(50); g_log->TraceInfo(u8"执行铺粉调试"); } else { g_Toast->AddToast(new ToastBean(u8"铺粉调试条件不成立", 3000)); } } } ImGui::EndTabItem(); } if (g_Admin > USER_ADMIN) { if (ImGui::BeginTabItem(u8"控制")) { if (m_SignalStateWrapper->m_CylinderReachPrintRun->GetValue()) { ImGui::PushID("CylinderReachPrintTrigerStop"); if (ImGui::Button(u8"停止", ImVec2(177, 0))) { m_SignalStateWrapper->m_CylinderReachPrintTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderReachPrintEnable->GetValue()); if (ImGui::Button(u8"移动缸体到打印位", ImVec2(177, 0))) { if (m_SignalStateWrapper->m_CylinderReachPrintEnable->GetValue()) { m_SignalStateWrapper->m_CylinderReachPrintTriger->SetValue(true); g_log->TraceInfo(u8"执行移动缸体到打印位"); } else { g_Toast->AddToast(new ToastBean(u8"移动缸体到打印位条件不成立", 3000)); } m_RunCfg->m_HadSetBasePlatformPoint = false; } ImGui::PopItemFlag(); } ImGui::SameLine(); if (m_SignalStateWrapper->m_CylinderReachCleanRun->GetValue()) { ImGui::PushID("CylinderReachCleanTrigerStop"); if (ImGui::Button(u8"停止", ImVec2(177, 0))) { m_SignalStateWrapper->m_CylinderReachCleanTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderReachCleanEnable->GetValue()); if (ImGui::Button(u8"移动缸体到清粉位", ImVec2(177, 0))) { if (m_SignalStateWrapper->m_CylinderReachCleanEnable->GetValue()) { m_SignalStateWrapper->m_CylinderReachCleanTriger->SetValue(true); g_log->TraceInfo(u8"执行移动缸体到清粉位"); } else { g_Toast->AddToast(new ToastBean(u8"移动缸体到清粉位条件不成立", 3000)); } } ImGui::PopItemFlag(); } if (m_SignalStateWrapper->m_CylinderPrintLoadRun->GetValue()) { ImGui::PushID("CylinderPrintLoadTrigerStop"); if (ImGui::Button(u8"停止", ImVec2(177, 0))) { m_SignalStateWrapper->m_CylinderPrintLoadTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderPrintLoadEnable->GetValue()); if (ImGui::Button(u8"缸体打印位装载", ImVec2(177, 0))) { if (m_SignalStateWrapper->m_CylinderPrintLoadEnable->GetValue()) { m_SignalStateWrapper->m_CylinderPrintLoadTriger->SetValue(true); g_log->TraceInfo(u8"执行缸体打印位装载"); } else { g_Toast->AddToast(new ToastBean(u8"缸体打印位装载条件不成立", 3000)); } m_RunCfg->m_HadSetBasePlatformPoint = false; } ImGui::PopItemFlag(); } ImGui::SameLine(); if (m_SignalStateWrapper->m_CylinderConnectCleanBoxRun->GetValue()) { ImGui::PushID("CylinderConnectCleanBoxTrigerStop"); if (ImGui::Button(u8"停止", ImVec2(177, 0))) { m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderConnectCleanBoxEnable->GetValue()); if (ImGui::Button(u8"缸体连接清粉箱", ImVec2(177, 0))) { if (m_SignalStateWrapper->m_CylinderConnectCleanBoxEnable->GetValue()) { m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->SetValue(true); g_log->TraceInfo(u8"执行缸体连接清粉箱"); } else { g_Toast->AddToast(new ToastBean(u8"缸体连接清粉箱条件不成立", 3000)); } } ImGui::PopItemFlag(); } if (m_SignalStateWrapper->m_CylinderPrintUnloadRun->GetValue()) { ImGui::PushID("CylinderPrintUnloadTrigerStop"); if (ImGui::Button(u8"停止", ImVec2(177, 0))) { m_SignalStateWrapper->m_CylinderPrintUnloadTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderPrintUnloadEnable->GetValue()); if (ImGui::Button(u8"缸体打印位卸载", ImVec2(177, 0))) { if (m_SignalStateWrapper->m_CylinderPrintUnloadEnable->GetValue()) { m_SignalStateWrapper->m_CylinderPrintUnloadTriger->SetValue(true); g_log->TraceInfo(u8"执行缸体打印位卸载"); } else { g_Toast->AddToast(new ToastBean(u8"缸体打印位卸载条件不成立", 3000)); } m_RunCfg->m_HadSetBasePlatformPoint = false; } ImGui::PopItemFlag(); } ImGui::SameLine(); if (m_SignalStateWrapper->m_CylinderDisconnectCleanBoxRun->GetValue()) { ImGui::PushID("CylinderDisconnectCleanBoxTrigerStop"); if (ImGui::Button(u8"停止", ImVec2(177, 0))) { m_SignalStateWrapper->m_CylinderDisconnectCleanBoxTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderDisconnectCleanBoxEnable->GetValue()); if (ImGui::Button(u8"缸体脱离清粉箱", ImVec2(177, 0))) { if (m_SignalStateWrapper->m_CylinderDisconnectCleanBoxEnable->GetValue()) { m_SignalStateWrapper->m_CylinderDisconnectCleanBoxTriger->SetValue(true); g_log->TraceInfo(u8"执行缸体脱离清粉箱"); } else { g_Toast->AddToast(new ToastBean(u8"缸体脱离清粉箱条件不成立", 3000)); } } ImGui::PopItemFlag(); } ImGui::EndTabItem(); } } ImGui::EndTabBar(); ImGui::EndChild(); if (ImGui::Button(_(u8"运动急停").c_str(), ImVec2(260, 0))) { //m_Axis->StopAll(); DataHandle::Instance()->SetPushMsg(AXISSTOPALL); g_log->TraceInfo(u8"运动急停"); } ImGui::EndGroup(); ImGui::SameLine(); } ImGui::BeginChild("AxisCtrl", ImVec2(820, 670)); if (m_PowderAssist.isLeftExpand) { if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::HNARROW]->GetTex(), ImVec2(38, 50), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_PowderAssist.isLeftExpand = !m_PowderAssist.isLeftExpand; } } else { if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::HEXPAND]->GetTex(), ImVec2(38, 50), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_PowderAssist.isLeftExpand = !m_PowderAssist.isLeftExpand; } } ImGui::SameLine(); ImGui::BeginGroup(); if (ImGui::ToggleButton(_(u8"连续运动").c_str(), continue_move)) continue_move = !continue_move; ImGui::SameLine(); ImGui::Text(_(u8"连续运动").c_str()); ImGui::Dummy(ImVec2(0, 250)); MACHINEPARAM mp; GetMachineParam(mp); if (ImGui::ImageButton(chartletManager->m_LoadOut->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { //LoadOut(); DataHandle::Instance()->SetPushMsg(LOADOUT); ImGui::OpenPopup(u8"移载载出"); g_log->TraceInfo(u8"执行移出"); } if (ImGui::IsItemHovered()) { ImGui::SetTooltip(u8"载出"); } ImGui::SameLine(); if (ImGui::ImageButton(chartletManager->m_LoadIn->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { //LoadIn(); DataHandle::Instance()->SetPushMsg(LOADIN); ImGui::OpenPopup(u8"移载载入"); g_log->TraceInfo(u8"执行移入"); } if (ImGui::IsItemHovered()) { ImGui::SetTooltip(u8"载入"); } if (ImGui::BeginPopupModal(u8"移载载入", NULL, ImGuiWindowFlags_AlwaysAutoResize)) { if (GetLoadInProcStep() == In_Start) { ImGui::Text(u8"移载开始载入"); } if (GetLoadInProcStep() == In_CylinderDisconnectCleanBox) { ImGui::Text(u8"缸体与清粉箱分离中"); } if (GetLoadInProcStep() == In_CylinderReachPrint) { ImGui::Text(u8"缸体到打印位运行中"); } if (GetLoadInProcStep() == In_CylinderPrintLoad) { ImGui::Text(u8"缸体打印位装载运行中"); } if (mp.m_LoadInResut == In_Intercept) { ImGui::TextColored(Toast::COLOR_ORANGE, mp.m_LoadInfo.c_str()); if (ImGui::Button(u8"确定", ImVec2(-1, 0))) { ImGui::CloseCurrentPopup(); } } else if (mp.m_LoadInResut == In_Success) { ImGui::TextColored(Toast::COLOR_GREEN, mp.m_LoadInfo.c_str()); if (ImGui::Button(u8"确定", ImVec2(-1, 0))) { ImGui::CloseCurrentPopup(); } } else if (mp.m_LoadInResut > In_Success) { ImGui::TextColored(Toast::COLOR_RED, mp.m_LoadInfo.c_str()); if (ImGui::Button(u8"确定", ImVec2(-1, 0))) { ImGui::CloseCurrentPopup(); } } if (IsLoadIn()) { if (ImGui::Button(u8"中断载入", ImVec2(-1, 0))) { //InterceptLoad(); DataHandle::Instance()->SetPushMsg(INTERCEPTLOAD); } } ImGui::EndPopup(); } if (ImGui::BeginPopupModal(u8"移载载出", NULL, ImGuiWindowFlags_AlwaysAutoResize)) { if (GetLoadOutProcSetp() == Out_Start) { ImGui::Text(u8"移载开始载出"); } if (GetLoadOutProcSetp() == Out_CylinderPrintUnload) { ImGui::Text(u8"缸体打印位卸载运行中"); } if (GetLoadOutProcSetp() == Out_CylinderReachClean) { ImGui::Text(u8"缸体到清粉位运行中"); } if (GetLoadOutProcSetp() == Out_CylinderConnectCleanBox) { ImGui::Text(u8"缸体与清粉箱连接中"); } if (GetLoadOutProcSetp() == Out_CylinderReachHand) { ImGui::Text(u8"缸体与吊装位运行中"); } if (GetLoadOutProcSetp() == Out_CylinderDisconnectCleanBox) { ImGui::Text(u8"缸体与清粉箱分离中"); } if (m_NeedWaitSelectOutPos) { vector combtemp = { _(u8"清粉位"),_(u8"吊装位") }; ImGui::SemicolonCombo(u8"选择载出位置", &m_SelectOutPos, combtemp); if (ImGui::Button(u8"下一步")) { m_WaitSelectOutPosCommit = true; } } if (mp.m_WaitConnectBoxCommit) { if (ImGui::Button(u8"执行缸体与清粉箱连接")) { SetWaitConnectBoxCommit(false); } } if (mp.m_LoadOutResut == Out_Intercept) { ImGui::TextColored(Toast::COLOR_ORANGE,mp.m_LoadInfo.c_str()); if (ImGui::Button(u8"确定", ImVec2(-1, 0))) { ImGui::CloseCurrentPopup(); } } else if (mp.m_LoadOutResut == Out_Success) { ImGui::TextColored(Toast::COLOR_GREEN, mp.m_LoadInfo.c_str()); if (ImGui::Button(u8"确定", ImVec2(-1, 0))) { ImGui::CloseCurrentPopup(); } } else if (mp.m_LoadOutResut > Out_Success) { ImGui::TextColored(Toast::COLOR_RED, mp.m_LoadInfo.c_str()); if (ImGui::Button(u8"确定", ImVec2(-1, 0))) { ImGui::CloseCurrentPopup(); } } if (IsLoadOut()) { if (ImGui::Button(u8"中断载出", ImVec2(-1, 0))) { //InterceptLoad(); DataHandle::Instance()->SetPushMsg(INTERCEPTLOAD); } } ImGui::EndPopup(); } ImGui::Dummy(ImVec2(0, 80)); ImGui::RadioButton(_(u8"移载轴").c_str(), &kb, GTS_AXIS_ID_LOAD); if (IsLoadAxisCanMoveLeft()) { ImGui::PushID("LoadMovePointLeft"); if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::LEFT_ARROW_GREEN]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Load->MovPoint(AxisConfig::ActiveDirect::LEFT); g_log->TraceInfo(u8"移载[%.3f]往左移动%.3f", load->GetShowPos(), loadCfgVal.rel); } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"移载轴左移 %.3fmm").c_str(), loadCfgVal.rel / 1000.0f); } if (kb == GTS_AXIS_ID_LOAD && !continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_LeftArrow), false)) { m_Axis->m_Load->MovPoint(AxisConfig::ActiveDirect::LEFT); g_log->TraceInfo(u8"移载[%.3f]往左移动%.3f", load->GetShowPos(), loadCfgVal.rel); } } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::LEFT_ARROW_RED]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetLoadAxisCanotMoveLeftInfo().c_str()); } } ImGui::SameLine(); if (IsLoadAxisCanMoveRight()) { ImGui::PushID("LoadMovePointRight"); if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::RIGHT_ARROW_GREEN]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Load->MovPoint(AxisConfig::ActiveDirect::RIGHT); g_log->TraceInfo(u8"移载[%.3f]往右移动%.3f", load->GetShowPos(), loadCfgVal.rel); } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"移载轴右移 %.3fmm").c_str(), loadCfgVal.rel); } if (kb == GTS_AXIS_ID_LOAD && !continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_RightArrow), false)) { m_Axis->m_Load->MovPoint(AxisConfig::ActiveDirect::RIGHT); g_log->TraceInfo(u8"移载[%.3f]往右移动%.3f", load->GetShowPos(), loadCfgVal.rel); } } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::RIGHT_ARROW_RED]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetLoadAxisCanotMoveRightInfo().c_str()); } } if (IsLoadAxisCanMoveLeft()) { ImGui::PushID("LoadMoveLimitLeft"); if (ImGui::ImageButtonEx(chartletManager->m_TextureMap[ChartletManager::LEFT_ARROW_GREEN_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { if (!m_PowderAssist.isLoadLeftRepeat) { m_PowderAssist.isLoadLeftRepeat = true; m_Axis->m_Load->MovLimitStart(AxisConfig::ActiveDirect::LEFT); g_log->TraceInfo(u8"移载[%.3f]往左连续移动", load->GetShowPos()); } } else { if (m_PowderAssist.isLoadLeftRepeat) { m_Axis->m_Load->MovLimitStop(AxisConfig::ActiveDirect::LEFT); m_PowderAssist.isLoadLeftRepeat = false; } } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"移载轴左连续").c_str()); } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::LEFT_ARROW_RED_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetLoadAxisCanotMoveLeftInfo().c_str()); } if (m_PowderAssist.isLoadLeftRepeat) { m_PowderAssist.isLoadLeftRepeat = false; } } if (kb == GTS_AXIS_ID_LOAD && continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_LeftArrow), false)) { if (IsLoadAxisCanMoveLeft()) { m_Axis->m_Load->MovLimitStart(AxisConfig::ActiveDirect::LEFT); g_log->TraceInfo(u8"移载[%.3f]往左连续移动", load->GetShowPos()); } else { g_Toast->AddToast(new ToastBean(GetLoadAxisCanotMoveLeftInfo(), 5000, Toast::COLOR_ORANGE)); } } if (ImGui::IsWindowFocused() && ImGui::IsKeyReleased(ImGui::GetKeyIndex(ImGuiKey_LeftArrow))) m_Axis->m_Load->MovLimitStop(AxisConfig::ActiveDirect::LEFT); } ImGui::SameLine(); if (IsLoadAxisCanMoveRight()) { ImGui::PushID("LoadMoveLimitRight"); if (ImGui::ImageButtonEx(chartletManager->m_TextureMap[ChartletManager::RIGHT_ARROW_GREEN_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { if (!m_PowderAssist.isLoadRightRepeat) { m_PowderAssist.isLoadRightRepeat = true; m_Axis->m_Load->MovLimitStart(AxisConfig::ActiveDirect::RIGHT); g_log->TraceInfo(u8"移载[%.3f]往右连续移动", load->GetShowPos()); } } else { if (m_PowderAssist.isLoadRightRepeat) { m_Axis->m_Load->MovLimitStop(AxisConfig::ActiveDirect::RIGHT); m_PowderAssist.isLoadRightRepeat = false; } } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"移载轴右连续").c_str()); } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::RIGHT_ARROW_RED_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetLoadAxisCanotMoveRightInfo().c_str()); } if (m_PowderAssist.isLoadRightRepeat) { m_PowderAssist.isLoadRightRepeat = false; } } if (kb == GTS_AXIS_ID_LOAD && continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_RightArrow), false)) { if (IsLoadAxisCanMoveRight()) { m_Axis->m_Load->MovLimitStart(AxisConfig::ActiveDirect::RIGHT); g_log->TraceInfo(u8"移载[%.3f]往右连续移动", load->GetShowPos()); } else { g_Toast->AddToast(new ToastBean(GetLoadAxisCanotMoveRightInfo(), 5000, Toast::COLOR_ORANGE)); } } if (ImGui::IsWindowFocused() && ImGui::IsKeyReleased(ImGui::GetKeyIndex(ImGuiKey_RightArrow))) { m_Axis->m_Load->MovLimitStop(AxisConfig::ActiveDirect::RIGHT); } } ImGui::PushID("load_to_zero"); if (ImGui::ImageButton(chartletManager->m_ToZero->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) load->SetZeroPos(); ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"移栽轴位置清零").c_str()); } ImGui::EndGroup(); ImGui::SameLine(); ImGui::BeginGroup(); //ImGui::Dummy(ImVec2(500,1)); ImGui::BeginChild("SupplyCtrl", ImVec2(500, 160)); ImGui::BeginGroup(); ImGui::Text(u8"移栽轴:%.3f", load->GetShowPos() / 1000.0f); ImGui::Text(u8"成型缸:%.3f", mold->GetShowPos() / 1000.0f); ImGui::Text(u8"铺粉臂:%.3f", arm->GetShowPos() / 1000.0f); ImGui::EndGroup(); ImGui::SameLine(350); ImGui::BeginGroup(); ImGui::RadioButton(_(u8"供粉轴").c_str(), &kb, GTS_AXIS_ID_SUPPLY); ImGui::PushID("SupplyMovePointFront"); if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::DOWN_ARROW_GREEN]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Supply->MovPoint(AxisConfig::ActiveDirect::FRONT); } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(u8"下粉轴前转%.2f格", supplyCfgVal.rel); } if (kb == GTS_AXIS_ID_SUPPLY && !continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_DownArrow), false)) { m_Axis->m_Supply->MovPoint(AxisConfig::ActiveDirect::FRONT); } } ImGui::SameLine(); ImGui::PushID("SupplyMoveLimitFront"); if (ImGui::ImageButtonEx(chartletManager->m_TextureMap[ChartletManager::DOWN_ARROW_GREEN_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { if (!m_PowderAssist.isSupplyNegativeRepeat) { m_PowderAssist.isSupplyNegativeRepeat = true; m_Axis->m_Supply->MovLimitStart(AxisConfig::ActiveDirect::FRONT); //OutputDebugString("left\n"); } } else { if (m_PowderAssist.isSupplyNegativeRepeat) { m_Axis->m_Supply->MovLimitStop(AxisConfig::ActiveDirect::FRONT); m_PowderAssist.isSupplyNegativeRepeat = false; //OutputDebugString("stop\n"); } } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"供粉轴左连续").c_str()); } if (kb == GTS_AXIS_ID_SUPPLY && continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_DownArrow), false)) { m_Axis->m_Supply->MovLimitStart(AxisConfig::ActiveDirect::FRONT); } if (ImGui::IsWindowFocused() && ImGui::IsKeyReleased(ImGui::GetKeyIndex(ImGuiKey_DownArrow))) m_Axis->m_Supply->MovLimitStop(AxisConfig::ActiveDirect::FRONT); } ImGui::EndGroup(); ImGui::EndChild(); MotionDrawAssist assit; AxisStateValue moldValue; mold->GetValue(moldValue); AxisStateValue armValue; arm->GetValue(armValue); AxisStateValue loadValue; load->GetValue(loadValue); assit.loadRPos = loadValue.RPos > 1.0f ? 1.0f : loadValue.RPos; int cylinderState = m_SignalState.m_CylinderState; if (cylinderState == CylinderInCleanUnConnectBox || cylinderState == CylinderInCleanConnectedBox || cylinderState == CylinderInHand) { assit.loadRPos = 1.0f; } assit.moldRpos = moldValue.RPos > 1.0f ? 1.0f : moldValue.RPos; assit.armRPos = armValue.RPos; assit.isCleanPressure = true; assit.isPrintPressure = true; assit.isPrintMoldSupprt = false; assit.isPrintJackup = false; assit.isInPrintPos = (m_SignalState.m_CylinderState == CylinderInPrintLoaded || m_SignalState.m_CylinderState == CylinderInPrintUnLoaded); assit.isCleanClose = true; if (m_IOCfgWrapper->m_Clean3RCylinderContact)assit.isCleanConnect = m_IOCfgWrapper->m_Clean3RCylinderContact->IsActive(); ImGui::Powder1500V1(assit); ImGui::EndGroup(); ImGui::SameLine(); ImGui::BeginGroup(); ImGui::Dummy(ImVec2(0, 170)); ImGui::RadioButton(_(u8"铺粉臂").c_str(), &kb, GTS_AXIS_ID_ARM); if (IsArmCanMoveBack()) { ImGui::PushID("ArmMovPointBack"); if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::UP_ARROW_GREEN]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Arm->MovPoint(AxisConfig::ActiveDirect::BACK); } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"铺粉轴后移 %.3fmm").c_str(), armCfgVal.rel / 1000.0f); } if (kb == GTS_AXIS_ID_ARM && !continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_UpArrow), false)) { m_Axis->m_Arm->MovPoint(AxisConfig::ActiveDirect::BACK); } } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::UP_ARROW_RED]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetArmCanotMoveBackInfo().c_str()); } } ImGui::SameLine(); if (IsArmCanMoveBack()) { ImGui::PushID("ArmMoveLimitBack"); if (ImGui::ImageButtonEx(chartletManager->m_TextureMap[ChartletManager::UP_ARROW_GREEN_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { if (!m_PowderAssist.isArmBackRepeat) { m_PowderAssist.isArmBackRepeat = true; m_Axis->m_Arm->MovLimitStart(AxisConfig::ActiveDirect::BACK); } } else { if (m_PowderAssist.isArmBackRepeat) { m_Axis->m_Arm->MovLimitStop(AxisConfig::ActiveDirect::BACK); m_PowderAssist.isArmBackRepeat = false; } } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"铺粉轴后连续").c_str()); } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::UP_ARROW_RED_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetArmCanotMoveBackInfo().c_str()); } if (m_PowderAssist.isArmBackRepeat) { m_PowderAssist.isArmBackRepeat = false; } } if (kb == GTS_AXIS_ID_ARM && continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_UpArrow), false)) { if (IsArmCanMoveBack()) { m_Axis->m_Arm->MovLimitStart(AxisConfig::ActiveDirect::BACK); } else { g_Toast->AddToast(new ToastBean(GetArmCanotMoveBackInfo(), 5000, Toast::COLOR_ORANGE)); } } if (ImGui::IsWindowFocused() && ImGui::IsKeyReleased(ImGui::GetKeyIndex(ImGuiKey_UpArrow))) { m_Axis->m_Arm->MovLimitStop(AxisConfig::ActiveDirect::BACK); } } if (IsArmCanMoveFront()) { ImGui::PushID("ArmMovPointFront"); if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::DOWN_ARROW_GREEN]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Arm->MovPoint(AxisConfig::ActiveDirect::FRONT); } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"铺粉轴前移 %.3fmm").c_str(), armCfgVal.rel / 1000.0f); } if (kb == GTS_AXIS_ID_ARM && !continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_DownArrow), false)) { m_Axis->m_Arm->MovPoint(AxisConfig::ActiveDirect::FRONT); } } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::DOWN_ARROW_RED]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetArmCanotMoveFrontInfo().c_str()); } } ImGui::SameLine(); if (IsArmCanMoveFront()) { ImGui::PushID("ArmMoveLimitFront"); if (ImGui::ImageButtonEx(chartletManager->m_TextureMap[ChartletManager::DOWN_ARROW_GREEN_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { if (!m_PowderAssist.isArmFrontRepeat) { m_PowderAssist.isArmFrontRepeat = true; m_Axis->m_Arm->MovLimitStart(AxisConfig::ActiveDirect::FRONT); } } else { if (m_PowderAssist.isArmFrontRepeat) { m_Axis->m_Arm->MovLimitStop(AxisConfig::ActiveDirect::FRONT); m_PowderAssist.isArmFrontRepeat = false; } } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"铺粉轴前连续").c_str()); } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::DOWN_ARROW_RED_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetArmCanotMoveBackInfo().c_str()); } if (m_PowderAssist.isArmFrontRepeat) { m_PowderAssist.isArmFrontRepeat = false; } } if (kb == GTS_AXIS_ID_ARM && continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_DownArrow), false)) { if (IsArmCanMoveFront()) { m_Axis->m_Arm->MovLimitStart(AxisConfig::ActiveDirect::FRONT); } else { g_Toast->AddToast(new ToastBean(GetArmCanotMoveBackInfo(), 5000, Toast::COLOR_ORANGE)); } } if (ImGui::IsWindowFocused() && ImGui::IsKeyReleased(ImGui::GetKeyIndex(ImGuiKey_DownArrow))) m_Axis->m_Arm->MovLimitStop(AxisConfig::ActiveDirect::FRONT); } ImGui::PushID("arm_to_zero"); if (ImGui::ImageButton(chartletManager->m_ToZero->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) arm->SetZeroPos(); ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"铺粉轴位置清零").c_str()); } if (m_AxisRecordWrapper->m_PCArmOverLimitAlarm->GetValue()) { ImGui::SameLine(); ImGui::PushID("arm_alarm_remove"); if (ImGui::ImageButton(chartletManager->m_AlarmRemove->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_AxisRecordWrapper->m_PCArmOverLimitAlarmRemove->SetValue(true); } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(u8"铺粉轴越限解除"); } } ImGui::Dummy(ImVec2(0, 35)); ImGui::RadioButton(_(u8"成型缸").c_str(), &kb, GTS_AXIS_ID_MOLD); if (IsMoldCanMoveUp()) { ImGui::PushID("MoldMovePointUp"); if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::UP_ARROW_GREEN]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Mold->MovPoint(AxisConfig::ActiveDirect::UP); g_log->TraceInfo(u8"升降[%.3f]往上移动%.3f", mold->GetShowPos(), moldCfgVal.rel); } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"成型缸上移 %.3fmm").c_str(), moldCfgVal.rel / 1000.0f); } if (kb == GTS_AXIS_ID_MOLD && !continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_UpArrow), false)) { m_Axis->m_Mold->MovPoint(AxisConfig::ActiveDirect::UP); g_log->TraceInfo(u8"升降[%.3f]往上移动%.3f", mold->GetShowPos(), moldCfgVal.rel); } } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::UP_ARROW_RED]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetMoldCanotUpInfo().c_str()); } } ImGui::SameLine(); if (IsMoldCanMoveUp()) { ImGui::PushID("MoldMoveLimitUp"); if (ImGui::ImageButtonEx(chartletManager->m_TextureMap[ChartletManager::UP_ARROW_GREEN_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { if (!m_PowderAssist.isMoldUpRepeat) { m_PowderAssist.isMoldUpRepeat = true; m_Axis->m_Mold->MovLimitStart(AxisConfig::ActiveDirect::UP); g_log->TraceInfo(u8"升降[%.3f]往上连续移动", mold->GetShowPos()); } } else { if (m_PowderAssist.isMoldUpRepeat) { m_Axis->m_Mold->MovLimitStop(AxisConfig::ActiveDirect::UP); m_PowderAssist.isMoldUpRepeat = false; } } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"成型缸上连续").c_str()); } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::UP_ARROW_RED_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetMoldCanotUpInfo().c_str()); } if (m_PowderAssist.isMoldUpRepeat) { m_PowderAssist.isMoldUpRepeat = false; } } if (kb == GTS_AXIS_ID_MOLD && continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_UpArrow), false)) { if (IsMoldCanMoveUp()) { m_Axis->m_Mold->MovLimitStart(AxisConfig::ActiveDirect::UP); g_log->TraceInfo(u8"升降[%.3f]往上连续移动", mold->GetShowPos()); } else { g_Toast->AddToast(new ToastBean(GetMoldCanotUpInfo(), 5000, Toast::COLOR_ORANGE)); } } if (ImGui::IsWindowFocused() && ImGui::IsKeyReleased(ImGui::GetKeyIndex(ImGuiKey_UpArrow))) m_Axis->m_Mold->MovLimitStop(AxisConfig::ActiveDirect::UP); } if (IsMoldCanMoveDown()) { ImGui::PushID("MoldMovePointDown"); if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::DOWN_ARROW_GREEN]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Mold->MovPoint(AxisConfig::ActiveDirect::DOWN); g_log->TraceInfo(u8"升降[%.3f]往下移动%.3f", mold->GetShowPos(), moldCfgVal.rel); } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"成型缸下移 %.3fmm").c_str(), moldCfgVal.rel / 1000.0f); } if (kb == GTS_AXIS_ID_MOLD && !continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_DownArrow), false)) { m_Axis->m_Mold->MovPoint(AxisConfig::ActiveDirect::DOWN); g_log->TraceInfo(u8"升降[%.3f]往下移动%.3f", mold->GetShowPos(), moldCfgVal.rel); } } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::DOWN_ARROW_RED]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetMoldCanotDownInfo().c_str()); } } ImGui::SameLine(); if (IsMoldCanMoveDown()) { ImGui::PushID("MoldMoveLimitDown"); if (ImGui::ImageButtonEx(chartletManager->m_TextureMap[ChartletManager::DOWN_ARROW_GREEN_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { if (!m_PowderAssist.isMoldDownRepeat) { m_PowderAssist.isMoldDownRepeat = true; m_Axis->m_Mold->MovLimitStart(AxisConfig::ActiveDirect::DOWN); g_log->TraceInfo(u8"升降[%.3f]往下连续移动", mold->GetShowPos()); } } else { if (m_PowderAssist.isMoldDownRepeat) { m_Axis->m_Mold->MovLimitStop(AxisConfig::ActiveDirect::DOWN); m_PowderAssist.isMoldDownRepeat = false; } } ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"成型缸下连续").c_str()); } } else { ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::DOWN_ARROW_RED_BAR]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(GetMoldCanotDownInfo().c_str()); } if (m_PowderAssist.isMoldDownRepeat) { m_PowderAssist.isMoldDownRepeat = false; } } if (kb == GTS_AXIS_ID_MOLD && continue_move) { if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_DownArrow), false)) { if (IsMoldCanMoveDown()) { m_Axis->m_Mold->MovLimitStart(AxisConfig::ActiveDirect::DOWN); g_log->TraceInfo(u8"升降[%.3f]往连续下移动", mold->GetShowPos()); } else { g_Toast->AddToast(new ToastBean(GetMoldCanotDownInfo(), 5000, Toast::COLOR_ORANGE)); } } if (ImGui::IsWindowFocused() && ImGui::IsKeyReleased(ImGui::GetKeyIndex(ImGuiKey_DownArrow))) { m_Axis->m_Mold->MovLimitStop(AxisConfig::ActiveDirect::DOWN); } } ImGui::PushID("mold_to_zero"); if (ImGui::ImageButton(chartletManager->m_ToZero->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) mold->SetZeroPos(); ImGui::PopID(); if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"成型缸位置清零").c_str()); } ImGui::EndGroup(); ImGui::EndChild(); ImGui::End(); } void HBDE1000::DrawAnalogExt() { ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); if (ImGui::InputFloat(u8"打印小车1报警重量", m_SysParamWrapper->GetEnvUIAssist()->m_PrintCar1AlarmWeight->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->GetEnvUIAssist()->m_PrintCar1AlarmWeight->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_PrintCar1AlarmWeight->GetValue()); } if (ImGui::InputFloat(u8"打印小车2报警重量", m_SysParamWrapper->GetEnvUIAssist()->m_PrintCar2AlarmWeight->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->GetEnvUIAssist()->m_PrintCar2AlarmWeight->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_PrintCar2AlarmWeight->GetValue()); } if (ImGui::InputFloat(u8"清粉小车1报警重量", m_SysParamWrapper->GetEnvUIAssist()->m_CleanCar1AlarmWeight->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->GetEnvUIAssist()->m_CleanCar1AlarmWeight->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_CleanCar1AlarmWeight->GetValue()); } if (ImGui::InputFloat(u8"清粉小车2报警重量", m_SysParamWrapper->GetEnvUIAssist()->m_CleanCar2AlarmWeight->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->GetEnvUIAssist()->m_CleanCar2AlarmWeight->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_CleanCar2AlarmWeight->GetValue()); } ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); if (ImGui::InputFloat(u8"料位棒长度", m_SysParamWrapper->GetEnvUIAssist()->m_PowderLevelLength->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->GetEnvUIAssist()->m_PowderLevelLength->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_PowderLevelLength->GetValue()); } //if (ImGui::InputFloat(u8"料位棒计算长度", &m_RunCfg->m_PowderStickCalcLength, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) //{ // if (m_RunCfg->m_PowderStickCalcLength <= 0.0f) { // m_RunCfg->m_PowderStickCalcLength = 1.0f; // } //} if (ImGui::InputFloat(u8"料位棒当前值", m_SysParamWrapper->GetEnvUIAssist()->m_PowderLevelValue->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->GetEnvUIAssist()->m_PowderLevelValue->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_PowderLevelValue->GetValue()); } if (ImGui::InputFloat(u8"打印室换气泄压值", m_SysParamWrapper->GetEnvUIAssist()->m_PrintAirRenewalPresRelValue->GetUIValue(), 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->GetEnvUIAssist()->m_PrintAirRenewalPresRelValue->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_PrintAirRenewalPresRelValue->GetValue()); } ImGui::EndGroup(); } //void HBDE1000::GetAlarmState(SignalState& signalState) //{ // signalState.m_PLCKeepAlive = m_SignalStateWrapper->m_PLCKeepAlive->GetValue(); //PLC心跳-》PC // signalState.m_PCKeepAlice = m_SignalStateWrapper->m_PCKeepAlice->GetValue(); //PC心跳-》PLC // signalState.m_DeviceStandby = m_SignalStateWrapper->m_DeviceStandby->GetValue(); //设备空闲状态 // signalState.m_DevicePrinting = m_SignalStateWrapper->m_DevicePrinting->GetValue(); //设备打印状态 // signalState.m_DeviceManualDebug = m_SignalStateWrapper->m_DeviceManualDebug->GetValue(); //设备手动调试状态 // signalState.m_DeviceAutoRuning = m_SignalStateWrapper->m_DeviceAutoRuning->GetValue(); //设备自动运行状态 // signalState.m_TouchPanelCtrling = m_SignalStateWrapper->m_TouchPanelCtrling->GetValue(); //触摸屏控制状态 // signalState.m_MotionDebug = m_SignalStateWrapper->m_MotionDebug->GetValue(); //动作流程调试模式 // signalState.m_CylinderExceptionReset = m_SignalStateWrapper->m_CylinderExceptionReset->GetValue(); //气缸异常复位 // // signalState.m_PLCConnectAlarm = m_SignalStateWrapper->m_PLCConnectAlarm->GetValue(); //PC与PLC网络异常 // signalState.m_SystemStopAlarm = m_SignalStateWrapper->m_SystemStopAlarm->GetValue(); //系统急停异常 // signalState.m_HighPressureLackAlarm = m_SignalStateWrapper->m_HighPressureLackAlarm->GetValue(); //高压气压力不足异常 // signalState.m_ProtectGasLackAlarm = m_SignalStateWrapper->m_ProtectGasLackAlarm->GetValue(); //保护气压力不足异常 // signalState.m_PowerDownAlarm = m_SignalStateWrapper->m_PowerDownAlarm->GetValue(); //外部电源断电异常 // signalState.m_BusAirSwitchAlarm = m_SignalStateWrapper->m_BusAirSwitchAlarm->GetValue(); //总空开触点异常 // signalState.m_ExtDevicePowerAirSwitchAlarm = m_SignalStateWrapper->m_ExtDevicePowerAirSwitchAlarm->GetValue(); //外部设备电源空开触点异常 // signalState.m_HeatingPowerAirSwitchAlarm = m_SignalStateWrapper->m_HeatingPowerAirSwitchAlarm->GetValue(); //加热电源空开触点异常 // signalState.m_LaserPowerAirSwitchAlarm = m_SignalStateWrapper->m_LaserPowerAirSwitchAlarm->GetValue(); //激光电源空开触点异常 // signalState.m_ServoPowerAirSwitchAlarm = m_SignalStateWrapper->m_ServoPowerAirSwitchAlarm->GetValue(); //伺服电源空开触点 // signalState.m_Laser1Alarm = m_SignalStateWrapper->m_Laser1Alarm->GetValue(); //激光器1报警 // signalState.m_Laser2Alarm = m_SignalStateWrapper->m_Laser2Alarm->GetValue(); //激光器2报警 // signalState.m_Laser3Alarm = m_SignalStateWrapper->m_Laser3Alarm->GetValue(); //激光器3报警 // signalState.m_Laser4Alarm = m_SignalStateWrapper->m_Laser4Alarm->GetValue(); //激光器4报警 // signalState.m_HeatingAlarm = m_SignalStateWrapper->m_HeatingAlarm->GetValue(); //加热异常报警 // // signalState.m_PrintStorageCar1JarFullWarn = m_SignalStateWrapper->m_PrintStorageCar1JarFullWarn->GetValue(); //存粉小车粉罐已满警示 // signalState.m_PrintStorageCar1DisconnectWarn = m_SignalStateWrapper->m_PrintStorageCar1DisconnectWarn->GetValue(); //打印存粉小车1没有连接警示 // signalState.m_CleanStorageCar1JarFullWarn = m_SignalStateWrapper->m_CleanStorageCar1JarFullWarn->GetValue(); //清粉存粉小车1粉罐已满警示 // signalState.m_CleanStorageCar1DisconnectWarn = m_SignalStateWrapper->m_CleanStorageCar1DisconnectWarn->GetValue(); //清粉存粉小车1没有连接警示 // signalState.m_MoldMainUpLimitActive = m_SignalStateWrapper->m_MoldMainUpLimitActive->GetValue(); //打印主轴上限位触发警示 // signalState.m_MoldMainDownLimitActive = m_SignalStateWrapper->m_MoldMainDownLimitActive->GetValue(); //打印主轴下限位触发警示 // // // signalState.m_UpsAlarm = m_SignalStateWrapper->m_UpsAlarm->GetValue(); //UPS报警 // signalState.m_Laser5Alarm = m_SignalStateWrapper->m_Laser5Alarm->GetValue(); //激光5报警 // signalState.m_Laser6Alarm = m_SignalStateWrapper->m_Laser6Alarm->GetValue(); //激光6报警 // signalState.m_Laser7Alarm = m_SignalStateWrapper->m_Laser7Alarm->GetValue(); //激光7报警 // signalState.m_Laser8Alarm = m_SignalStateWrapper->m_Laser8Alarm->GetValue(); //激光8报警 // signalState.m_PrintTrackDisableWarn = m_SignalStateWrapper->m_PrintTrackDisableWarn->GetValue(); //轨道打印位感应失效警告 // // signalState.m_CylinderLinerSealReleaseValveException = m_SignalStateWrapper->m_CylinderLinerSealReleaseValveException->GetValue(); //缸体密封圈泄压异常 // signalState.m_CleanTrackPosDisableAlarm = m_SignalStateWrapper->m_CleanTrackPosDisableAlarm->GetValue(); //轨道清粉位失效异常 // signalState.m_CleanLiftStopAlarm = m_SignalStateWrapper->m_CleanLiftStopAlarm->GetValue(); //清粉升降急停异常 // signalState.m_LoadHandPosSensorDiable = m_SignalStateWrapper->m_LoadHandPosSensorDiable->GetValue(); // signalState.m_MainPowerLossCheckAlarm = m_SignalStateWrapper->m_MainPowerLossCheckAlarm->GetValue(); //主电源缺相检测异常 // signalState.m_PrintCabinLockDisableAlarm = m_SignalStateWrapper->m_PrintCabinLockDisableAlarm->GetValue(); //打印舱电锁感应异常 // signalState.m_CleanBoxFoldUpException = m_SignalStateWrapper->m_CleanBoxFoldUpException->GetValue(); //清粉箱折叠气缸升高异常 // signalState.m_CleanBoxFoldDownException = m_SignalStateWrapper->m_CleanBoxFoldDownException->GetValue(); //清粉箱折叠气缸降低异常 // signalState.m_CylinderHandPlatformOpenAlarm = m_SignalStateWrapper->m_CylinderHandPlatformOpenAlarm->GetValue(); //缸体吊装盖板打开异常 // signalState.m_CylinderHandDoorOpenAlarm = m_SignalStateWrapper->m_CylinderHandDoorOpenAlarm->GetValue(); //缸体吊装门打开异常 // // signalState.m_SecurityCarpetTriggered = m_SignalStateWrapper->m_SecurityCarpetTriggered->GetValue(); //安全地毯被触发 // signalState.m_RailNotInOpenOrClosePos = m_SignalStateWrapper->m_RailNotInOpenOrClosePos->GetValue(); //栏杆不在打开或者关闭位置 // signalState.m_HandPlatformCloseAlarm = m_SignalStateWrapper->m_HandPlatformCloseAlarm->GetValue(); //吊装盖板关闭异常 // signalState.m_ArmFrontLimit = m_SignalStateWrapper->m_ArmFrontLimit->GetValue(); //铺粉轴前限位触发警示 // signalState.m_ArmBackLimit = m_SignalStateWrapper->m_ArmBackLimit->GetValue(); //铺粉轴后限位触发警示 // signalState.m_LoadAxisLeftLimit = m_SignalStateWrapper->m_LoadAxisLeftLimit->GetValue(); //移载轴左限位触发警示 // signalState.m_LoadAxisRightLimit = m_SignalStateWrapper->m_LoadAxisRightLimit->GetValue(); //移载轴右限位触发警示 // // signalState.m_SupplyHomeIndexDisableAlarm = m_SignalStateWrapper->m_SupplyHomeIndexDisableAlarm->GetValue(); //供粉转轴原点失效异常 // // signalState.m_PrintPressureOverLimitAlarm = m_SignalStateWrapper->m_PrintPressureOverLimitAlarm->GetValue(); //打印舱压力过高异常 // signalState.m_TotalWaterCoolerAlarm = m_SignalStateWrapper->m_TotalWaterCoolerAlarm->GetValue(); //总冷水机报警 // // // signalState.m_MoldTorqueAlarm = m_SignalStateWrapper->m_MoldTorqueAlarm->GetValue(); //打印主轴扭力异常 // // signalState.m_LoadTorqueAlarm = m_SignalStateWrapper->m_LoadTorqueAlarm->GetValue(); //移载轴扭力异常 // signalState.m_ArmTorqueAlarm = m_SignalStateWrapper->m_ArmTorqueAlarm->GetValue(); //铺粉轴扭力异常 // signalState.m_SupplyTorqueAlarm = m_SignalStateWrapper->m_SupplyTorqueAlarm->GetValue(); //供粉轴扭力异常 // signalState.m_GratingRulerFail = m_SignalStateWrapper->m_GratingRulerFail->GetValue(); //光栅尺补偿失败 // // signalState.m_PrintMainOverSoftUpLimit = m_SignalStateWrapper->m_PrintMainOverSoftUpLimit->GetValue(); //打印主轴超软上限 // signalState.m_PrintMainOverSoftDownLimit = m_SignalStateWrapper->m_PrintMainOverSoftDownLimit->GetValue(); //打印主轴超软下限 // // signalState.m_LoadAxisOverSoftLeftLimit = m_SignalStateWrapper->m_LoadAxisOverSoftLeftLimit->GetValue(); //移载轴超左软限 // signalState.m_LoadAxisOverSoftRightLimit = m_SignalStateWrapper->m_LoadAxisOverSoftRightLimit->GetValue(); //移载轴超右软限 // signalState.m_ArmOverSoftFrontLimit = m_SignalStateWrapper->m_ArmOverSoftFrontLimit->GetValue(); //铺粉轴超前软限 // signalState.m_ArmOverSoftBackLimit = m_SignalStateWrapper->m_ArmOverSoftBackLimit->GetValue(); //铺粉轴超后软限 // signalState.m_PrintStorageCar2JarFullWarn = m_SignalStateWrapper->m_PrintStorageCar2JarFullWarn->GetValue(); //打印存粉小车2粉罐已满警示 // signalState.m_PrintStorageCar2DisconnectWarn = m_SignalStateWrapper->m_PrintStorageCar2DisconnectWarn->GetValue(); //打印存粉小车2没有连接警示 // signalState.m_CleanStorageCar2JarFullWarn = m_SignalStateWrapper->m_CleanStorageCar2JarFullWarn->GetValue(); //清粉存粉小车2粉罐已满警示 // signalState.m_CleanStorageCar2DisconnectWarn = m_SignalStateWrapper->m_CleanStorageCar2DisconnectWarn->GetValue(); //清粉存粉小车2没有连接警示 // // signalState.m_CoverBaffleNotInFrontAcceptPos = m_SignalStateWrapper->m_CoverBaffleNotInFrontAcceptPos->GetValue(); //铺粉臂挡板不在前接粉位 // signalState.m_CoverBaffleNotInDropPos = m_SignalStateWrapper->m_CoverBaffleNotInDropPos->GetValue(); //铺粉臂挡板不在下粉位 // signalState.m_ArmMoveBackAcceptPosException = m_SignalStateWrapper->m_ArmMoveBackAcceptPosException->GetValue(); //铺粉臂到接粉后位异常 // signalState.m_UpServiceDoorOpenWarn = m_SignalStateWrapper->m_UpServiceDoorOpenWarn->GetValue(); //上层维修门打开警告 // signalState.m_DownServiceDoorOpenWarn = m_SignalStateWrapper->m_DownServiceDoorOpenWarn->GetValue(); //下层维修门打开警告 // // // signalState.m_LoadAxisManualAlarmSignal = m_SignalStateWrapper->m_LoadAxisManualAlarmSignal->GetValue(); //移栽手动异常 // signalState.m_PrintMainServoAlarmSignal = m_SignalStateWrapper->m_PrintMainServoAlarmSignal->GetValue(); //打印主轴伺服驱动器异常 // signalState.m_LoadAxisServoAlarmSignal = m_SignalStateWrapper->m_LoadAxisServoAlarmSignal->GetValue(); //移载轴伺服驱动器异常 // signalState.m_ArmServoAlarmSignal = m_SignalStateWrapper->m_ArmServoAlarmSignal->GetValue(); //铺粉轴伺服驱动器异常 // signalState.m_SupplyServoAlarmSignal = m_SignalStateWrapper->m_SupplyServoAlarmSignal->GetValue(); //供粉转轴伺服驱动器异常 // // signalState.m_CoverReachAcceptPowderAlarmSignal = m_SignalStateWrapper->m_CoverReachAcceptPowderAlarmSignal->GetValue(); //铺粉轴到接粉位异常 // signalState.m_CoverReachDropPowderAlarmSignal = m_SignalStateWrapper->m_CoverReachDropPowderAlarmSignal->GetValue(); //铺粉轴到下粉位异常 // signalState.m_LinearEncoderCheckAlarmSignal = m_SignalStateWrapper->m_LinearEncoderCheckAlarmSignal->GetValue(); //光栅尺检测异常 // signalState.m_PrintMainSoftStopTrigger = m_SignalStateWrapper->m_PrintMainSoftStopTrigger->GetValue(); //打印主轴软急停触发 // signalState.m_LoadAxisSoftStopTrigger = m_SignalStateWrapper->m_LoadAxisSoftStopTrigger->GetValue(); //移载轴软急停触发 // signalState.m_CoverSoftStopTrigger = m_SignalStateWrapper->m_CoverSoftStopTrigger->GetValue(); //铺粉轴软急停触发 // signalState.m_CoverHomeException = m_SignalStateWrapper->m_CoverHomeException->GetValue(); //铺粉归原点异常 // // signalState.m_CylinderSealInflationFailureAlarm = m_SignalStateWrapper->m_CylinderSealInflationFailureAlarm->GetValue(); //缸体密封圈充气失败报警 // signalState.m_CylinderSealInflationHighPressureAlarm = m_SignalStateWrapper->m_CylinderSealInflationHighPressureAlarm->GetValue(); //缸体密封圈充气过压报警 // signalState.m_CylinderSealLeakageWarn = m_SignalStateWrapper->m_CylinderSealLeakageWarn->GetValue(); //缸体密封圈存在漏气警告 // signalState.m_SealPressureExceptionWhenPrint = m_SignalStateWrapper->m_SealPressureExceptionWhenPrint->GetValue(); //密封圈压力异常 // // // signalState.m_CylinderState = m_SignalStateWrapper->m_CylinderState->GetValue(); //缸体状态_R // signalState.m_CylinderReachPrintTriger = m_SignalStateWrapper->m_CylinderReachPrintTriger->GetValue(); //触发缸体到达打印位_自动_RW // signalState.m_CylinderReachPrintRun = m_SignalStateWrapper->m_CylinderReachPrintRun->GetValue(); //缸体到打印位运行中_自动_RW // signalState.m_CylinderReachPrintFinished = m_SignalStateWrapper->m_CylinderReachPrintFinished->GetValue(); //缸体到达打印位完毕_自动_RW // signalState.m_CylinderPrintLoadTriger = m_SignalStateWrapper->m_CylinderPrintLoadTriger->GetValue(); //触发缸体打印位装载_自动_RW // signalState.m_CylinderPrintLoadRun = m_SignalStateWrapper->m_CylinderPrintLoadRun->GetValue(); //缸体打印位装载运行中_自动_RW // signalState.m_CylinderPrintLoadFinished = m_SignalStateWrapper->m_CylinderPrintLoadFinished->GetValue(); //缸体打印位装载完毕_自动_RW // signalState.m_CylinderPrintUnloadTriger = m_SignalStateWrapper->m_CylinderPrintUnloadTriger->GetValue(); //触发缸体打印位卸载_自动_RW // signalState.m_CylinderPrintUnloadRun = m_SignalStateWrapper->m_CylinderPrintUnloadRun->GetValue(); //缸体打印位卸载运行中_自动_RW // signalState.m_CylinderPrintUnloadFinished = m_SignalStateWrapper->m_CylinderPrintUnloadFinished->GetValue(); //缸体打印位卸载完毕_自动_RW // signalState.m_CylinderReachCleanTriger = m_SignalStateWrapper->m_CylinderReachCleanTriger->GetValue(); //触发缸体到达清粉位_自动_RW // signalState.m_CylinderReachCleanRun = m_SignalStateWrapper->m_CylinderReachCleanRun->GetValue(); //缸体到清粉位运行中_RW // signalState.m_CylinderReachCleanFinished = m_SignalStateWrapper->m_CylinderReachCleanFinished->GetValue(); //缸体到清粉位完毕_自动_RW // signalState.m_CylinderConnectCleanBoxTriger = m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->GetValue(); //触发缸体与清粉箱连接_自动_RW // signalState.m_CylinderConnectCleanBoxRun = m_SignalStateWrapper->m_CylinderConnectCleanBoxRun->GetValue(); //缸体与清粉箱连接中_RW // signalState.m_CylinderConnectCleanBoxFinished = m_SignalStateWrapper->m_CylinderConnectCleanBoxFinished->GetValue(); //缸体与清粉箱连接完毕_自动_RW // signalState.m_CylinderDisconnectCleanBoxTriger = m_SignalStateWrapper->m_CylinderDisconnectCleanBoxTriger->GetValue(); //触发缸体与清粉箱分离_自动_RW // signalState.m_CylinderDisconnectCleanBoxRun = m_SignalStateWrapper->m_CylinderDisconnectCleanBoxRun->GetValue(); //缸体与清粉箱分离中_RW // signalState.m_CylinderDisconnectCleanBoxFinished = m_SignalStateWrapper->m_CylinderDisconnectCleanBoxFinished->GetValue(); //缸体与清粉箱分离完毕_自动_RW // signalState.m_CoverTriger = m_SignalStateWrapper->m_CoverTriger->GetValue(); //触发铺粉流程_W // signalState.m_IsCovering = m_SignalStateWrapper->m_IsCovering->GetValue(); //铺粉流程忙_R // signalState.m_IsCoverFinishedCanPrint = m_SignalStateWrapper->m_IsCoverFinishedCanPrint->GetValue(); //铺粉完成允许打印_RW // signalState.m_IsCoverDebug = m_SignalStateWrapper->m_IsCoverDebug->GetValue(); //铺粉调试模式_W // signalState.m_IsFirstCover = m_SignalStateWrapper->m_IsFirstCover->GetValue(); //第一次铺粉_W // signalState.m_PrintDeoxygenTriger = m_SignalStateWrapper->m_PrintDeoxygenTriger->GetValue(); //触发打印室除氧_W // signalState.m_PrintDeoxygenRun = m_SignalStateWrapper->m_PrintDeoxygenRun->GetValue(); //打印室除氧中_RW // signalState.m_PrintDeoxygenFinished = m_SignalStateWrapper->m_PrintDeoxygenFinished->GetValue(); //打印室氧含量值到达_R // // signalState.m_StorgeCarDeoxygenTriger = m_SignalStateWrapper->m_StorgeCarDeoxygenTriger->GetValue(); //触发存粉小车除氧_W // signalState.m_StorgeCarDeoxygenRun = m_SignalStateWrapper->m_StorgeCarDeoxygenRun->GetValue(); //存粉小车除氧中_R // signalState.m_StorgeCarDeoxygenFinished = m_SignalStateWrapper->m_StorgeCarDeoxygenFinished->GetValue(); //存粉小车除氧完毕_RW // signalState.m_CleanBoxVacuumTriger = m_SignalStateWrapper->m_CleanBoxVacuumTriger->GetValue(); //清粉箱启动吸尘器_R // // signalState.m_RasterJudgeOK = m_SignalStateWrapper->m_RasterJudgeOK->GetValue(); //光栅尺判断OK_R // signalState.m_RasterJudgeNG = m_SignalStateWrapper->m_RasterJudgeNG->GetValue(); //光栅尺判断NG_R // // signalState.m_CylinderReachPrintEnable = m_SignalStateWrapper->m_CylinderReachPrintEnable->GetValue(); //触发缸体到打印位EN_R // signalState.m_CylinderPrintLoadEnable = m_SignalStateWrapper->m_CylinderPrintLoadEnable->GetValue(); //触发缸体打印位装载EN_R // signalState.m_CylinderPrintUnloadEnable = m_SignalStateWrapper->m_CylinderPrintUnloadEnable->GetValue(); //触发缸体打印位卸载EN_R // signalState.m_CylinderReachCleanEnable = m_SignalStateWrapper->m_CylinderReachCleanEnable->GetValue(); //触发缸体到清粉位EN_R // signalState.m_CylinderConnectCleanBoxEnable = m_SignalStateWrapper->m_CylinderConnectCleanBoxEnable->GetValue(); //触发缸体与清粉箱连接EN_R // signalState.m_CylinderDisconnectCleanBoxEnable = m_SignalStateWrapper->m_CylinderDisconnectCleanBoxEnable->GetValue(); //触发缸体与清粉箱分离EN_R // signalState.m_CoverEnable = m_SignalStateWrapper->m_CoverEnable->GetValue(); //触发铺粉EN_R // // signalState.m_UseSupplySearchEdge = m_SignalStateWrapper->m_UseSupplySearchEdge->GetValue(); // signalState.m_SheildLinearEncoder = m_SignalStateWrapper->m_SheildLinearEncoder->GetValue(); // signalState.m_SheilServoEmptyOpen = m_SignalStateWrapper->m_SheilServoEmptyOpen->GetValue(); // signalState.m_SheildHighPressure = m_SignalStateWrapper->m_SheildHighPressure->GetValue(); //屏蔽高压气 // signalState.m_UnuseCoverReachSensor = m_SignalStateWrapper->m_UnuseCoverReachSensor->GetValue(); //不使用铺粉轴到位感应器 // // signalState.m_UseCoverBaffleSensor = m_SignalStateWrapper->m_UseCoverBaffleSensor->GetValue(); //使用铺粉挡板感应器 // signalState.m_UseArmCaptureHome = m_SignalStateWrapper->m_UseArmCaptureHome->GetValue(); // signalState.m_LinearEncoderOppDirection = m_SignalStateWrapper->m_LinearEncoderOppDirection->GetValue(); // signalState.m_CoverV2UseCintinueMode = m_SignalStateWrapper->m_CoverV2UseCintinueMode->GetValue(); // signalState.m_UseCoverShiftSpeed = m_SignalStateWrapper->m_UseCoverShiftSpeed->GetValue(); //使用打印区域变速 // // signalState.m_PrintTorqueUpInsideLimit = m_SignalStateWrapper->m_PrintTorqueUpInsideLimit->GetValue(); //扭力值在上升扭力范围内 // signalState.m_ArmNotUponBasePlatform = m_SignalStateWrapper->m_ArmNotUponBasePlatform->GetValue(); //铺粉轴不在基板范围内 // signalState.m_PrintMoldPosInsideUpSoftLimit = m_SignalStateWrapper->m_PrintMoldPosInsideUpSoftLimit->GetValue(); //轴位置没超过软上限 // signalState.m_PrintInsideUpLimit = m_SignalStateWrapper->m_PrintInsideUpLimit->GetValue(); //上限位没触发 // signalState.m_PrintTorqueDownInsideLimit = m_SignalStateWrapper->m_PrintTorqueDownInsideLimit->GetValue(); //扭力值在下降扭力范围内 // signalState.m_PrintAxisPosInsideDownSoftLimit = m_SignalStateWrapper->m_PrintAxisPosInsideDownSoftLimit->GetValue(); //轴位置没超过软下限 // signalState.m_PrintInsideDownLimit = m_SignalStateWrapper->m_PrintInsideDownLimit->GetValue(); //下限位没触发 // signalState.m_PrintMainServoNoAlarm = m_SignalStateWrapper->m_PrintMainServoNoAlarm->GetValue(); //打印主轴伺服无异常 // signalState.m_PrintMoldInPrintPos = m_SignalStateWrapper->m_PrintMoldInPrintPos->GetValue(); //缸体在打印位 // signalState.m_PrintMoldInCleanPos = m_SignalStateWrapper->m_PrintMoldInCleanPos->GetValue(); //缸体在清粉位 // signalState.m_PrintMoldInHandPos = m_SignalStateWrapper->m_PrintMoldInHandPos->GetValue(); //缸体在吊装位 // signalState.m_MoldUpDownServiceDoorCloseStatue = m_SignalStateWrapper->m_MoldUpDownServiceDoorCloseStatue->GetValue(); //升降上下维护门在关闭状态 // // // signalState.m_PrintJackupInSafePos = m_SignalStateWrapper->m_PrintJackupInSafePos->GetValue(); //打印顶升轴在安全位 // signalState.m_LoadTorqueInsideLimit = m_SignalStateWrapper->m_LoadTorqueInsideLimit->GetValue(); //扭力值在扭力范围内 // signalState.m_LoadPosInsideLeftSoftLimit = m_SignalStateWrapper->m_LoadPosInsideLeftSoftLimit->GetValue(); //轴位置没超过软左限 // signalState.m_LoadPosInsideRightSoftLimit = m_SignalStateWrapper->m_LoadPosInsideRightSoftLimit->GetValue(); //轴位置没超过软右限 // // signalState.m_CylinderSealNoInflationStatue = m_SignalStateWrapper->m_CylinderSealNoInflationStatue->GetValue(); //密封圈无充气状态 // signalState.m_LoadUpDownServiceDoorCloseStatue = m_SignalStateWrapper->m_LoadUpDownServiceDoorCloseStatue->GetValue(); //移载上下维护门在关闭状态 // signalState.m_LoadLeftNotInsideLimit = m_SignalStateWrapper->m_LoadLeftNotInsideLimit->GetValue(); //左限位没触发 // signalState.m_LoadRightNotInsideLimit = m_SignalStateWrapper->m_LoadRightNotInsideLimit->GetValue(); //右限位没触发 // signalState.m_LoadServoNoAlarm = m_SignalStateWrapper->m_LoadServoNoAlarm->GetValue(); //移载轴伺服无异常 // // signalState.m_PrintUpDownPosBelowPlatform = m_SignalStateWrapper->m_PrintUpDownPosBelowPlatform->GetValue(); //打印顶升轴位置低于基板缸平面 // signalState.m_ArmTorqueInsideLimit = m_SignalStateWrapper->m_ArmTorqueInsideLimit->GetValue(); //扭力值在扭力范围内 // signalState.m_ArmPosInsideSoftFrontLimit = m_SignalStateWrapper->m_ArmPosInsideSoftFrontLimit->GetValue(); //轴位置没超过软前限 // signalState.m_ArmPosInsideSoftBackLimit = m_SignalStateWrapper->m_ArmPosInsideSoftBackLimit->GetValue(); //轴位置没超过软后限 // signalState.m_ArmPosInsideFrontLimit = m_SignalStateWrapper->m_ArmPosInsideFrontLimit->GetValue(); //前限位没触发 // signalState.m_ArmPosInsideBackLimit = m_SignalStateWrapper->m_ArmPosInsideBackLimit->GetValue(); //后限位没触发 // signalState.m_ArmServoNoAlarm = m_SignalStateWrapper->m_ArmServoNoAlarm->GetValue(); // // // signalState.m_CylinderMoveHandPosEnable = m_SignalStateWrapper->m_CylinderMoveHandPosEnable->GetValue(); //触发缸体到吊装位En // signalState.m_CylinderMoveHandPos = m_SignalStateWrapper->m_CylinderMoveHandPos->GetValue(); //触发缸体到吊装位 // signalState.m_CylinderMovingHandPos = m_SignalStateWrapper->m_CylinderMovingHandPos->GetValue(); //触发缸体到吊装位运行中 // signalState.m_CylinderMovedHandPos = m_SignalStateWrapper->m_CylinderMovedHandPos->GetValue();//触发缸体到吊装位完毕 // // signalState.m_PrintAirRenewalEnable = m_SignalStateWrapper->m_PrintAirRenewalEnable->GetValue(); //打印室换气功能EN // signalState.m_PrintAirRenewalTrigger = m_SignalStateWrapper->m_PrintAirRenewalTrigger->GetValue(); //触发打印室换气 // signalState.m_AllowRiseWindSpeed = m_SignalStateWrapper->m_AllowRiseWindSpeed->GetValue(); //允许提风速 // signalState.m_ManualCoverTest = m_SignalStateWrapper->m_ManualCoverTest->GetValue(); //手动铺粉测试 // signalState.m_RollerEdgeSearching = m_SignalStateWrapper->m_RollerEdgeSearching->GetValue(); //滚粉轴寻边中 // signalState.m_RollerEdgeSearchSuccess = m_SignalStateWrapper->m_RollerEdgeSearchSuccess->GetValue(); //滚粉轴寻边成功 // signalState.m_RollerEdgeSearchFaild = m_SignalStateWrapper->m_RollerEdgeSearchFaild->GetValue(); //滚粉轴寻边失败 // // signalState.m_IsInPrintCylinderSeparatePos = m_SignalStateWrapper->m_IsInPrintCylinderSeparatePos->GetValue(); //打印缸体分离位 // signalState.m_IsInPrintPlatformBottomPos = m_SignalStateWrapper->m_IsInPrintPlatformBottomPos->GetValue(); //打印基板底座面 // signalState.m_IsInPrintPlatformFlatPos = m_SignalStateWrapper->m_IsInPrintPlatformFlatPos->GetValue(); //打印基板平面 // signalState.m_IsInLoadPrintPos = m_SignalStateWrapper->m_IsInLoadPrintPos->GetValue(); //移载打印位 // signalState.m_IsInLoadCleanPos = m_SignalStateWrapper->m_IsInLoadCleanPos->GetValue(); //移载清粉位 // signalState.m_IsInDropPowderPos = m_SignalStateWrapper->m_IsInDropPowderPos->GetValue(); //铺粉下粉位 // signalState.m_IsInAcceptPowderPos = m_SignalStateWrapper->m_IsInAcceptPowderPos->GetValue(); //铺粉接粉位 // // signalState.m_PrintMoldServoAlarm = (m_Axis->m_Mold->GetState()->m_ServoException || m_Axis->m_MoldSlave->GetState()->m_ServoException); // signalState.m_ArmServoAlarm = m_Axis->m_Arm->GetState()->m_ServoException; // signalState.m_SupplyServoAlarm = m_Axis->m_Supply->GetState()->m_ServoException; // //memcpy_s(&alarmState, sizeof(AlarmState),m_AlarmStateWrapper,sizeof(alarmState)); //} // // //void HBDE1000::LoadInRun() //{ // //} //void HBDE1000::LoadOutRun() //{ // //} bool HBDE1000::IsLoadAxisCanMoveLeft() { if (!m_SignalState.m_PrintJackupInSafePos)return false; if (!m_SignalState.m_LoadTorqueInsideLimit)return false; if (!m_SignalState.m_LoadPosInsideLeftSoftLimit)return false; if (!m_SignalState.m_CylinderSealNoInflationStatue)return false; if (!m_SignalState.m_LoadUpDownServiceDoorCloseStatue)return false; if (!m_SignalState.m_LoadLeftNotInsideLimit)return false; if (!m_SignalState.m_LoadServoNoAlarm)return false; if (!m_SignalState.m_HighPressureLackAlarm)return false; if (!m_SignalState.m_SystemStopAlarm)return false; if (!m_SignalState.m_CleanLiftStopAlarm)return false; if (m_Axis->m_Load->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } string HBDE1000::GetLoadAxisCanotMoveLeftInfo() { if (!m_SignalState.m_PrintJackupInSafePos)return u8"打印顶升轴不在安全位"; if (!m_SignalState.m_LoadTorqueInsideLimit)return u8"移载扭力越限"; if (!m_SignalState.m_LoadPosInsideLeftSoftLimit)return u8"移载轴越软左限"; if (!m_SignalState.m_CylinderSealNoInflationStatue)return u8"密封圈充气状态"; if (!m_SignalState.m_LoadUpDownServiceDoorCloseStatue)return u8"上下维护门不在关闭状态"; if (!m_SignalState.m_LoadLeftNotInsideLimit)return u8"移载轴已到左限位"; if (!m_SignalState.m_LoadServoNoAlarm)return u8"移载轴伺服异常"; if (!m_SignalState.m_HighPressureLackAlarm)return u8"高压气不足报警"; if (!m_SignalState.m_SystemStopAlarm)return u8"系统急停异常"; if (!m_SignalState.m_CleanLiftStopAlarm)return u8"清粉急停异常"; if (m_Axis->m_Load->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return u8"舱门打开时运动受限"; return u8"未知原因"; } bool HBDE1000::IsLoadAxisCanMoveRight() { if (!m_SignalState.m_PrintJackupInSafePos)return false; if (!m_SignalState.m_LoadTorqueInsideLimit)return false; if (!m_SignalState.m_LoadPosInsideRightSoftLimit)return false; if (!m_SignalState.m_CylinderSealNoInflationStatue)return false; if (!m_SignalState.m_LoadUpDownServiceDoorCloseStatue)return false; if (!m_SignalState.m_LoadRightNotInsideLimit)return false; if (!m_SignalState.m_LoadServoNoAlarm)return false; if (!m_SignalState.m_HighPressureLackAlarm)return false; if (!m_SignalState.m_SystemStopAlarm)return false; if (!m_SignalState.m_CleanLiftStopAlarm)return false; if (m_Axis->m_Load->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } string HBDE1000::GetLoadAxisCanotMoveRightInfo() { if (!m_SignalState.m_PrintJackupInSafePos)return u8"打印顶升轴不在安全位"; if (!m_SignalState.m_LoadTorqueInsideLimit)return u8"移载扭力越限"; if (!m_SignalState.m_LoadPosInsideRightSoftLimit)return u8"移载轴越软右限"; if (!m_SignalState.m_CylinderSealNoInflationStatue)return u8"密封圈充气状态"; if (!m_SignalState.m_LoadUpDownServiceDoorCloseStatue)return u8"上下维护门不在关闭状态"; if (!m_SignalState.m_LoadRightNotInsideLimit)return u8"移载轴已到右限位"; if (!m_SignalState.m_LoadServoNoAlarm)return u8"移载轴伺服异常"; if (!m_SignalState.m_HighPressureLackAlarm)return u8"高压气不足报警"; if (!m_SignalState.m_SystemStopAlarm)return u8"系统急停异常"; if (!m_SignalState.m_CleanLiftStopAlarm)return u8"清粉急停异常"; if (m_Axis->m_Load->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return u8"舱门打开时运动受限"; return u8"未知原因"; } bool HBDE1000::IsArmCanMoveBack() { if (!m_SignalState.m_PrintUpDownPosBelowPlatform)return false; if (!m_SignalState.m_ArmTorqueInsideLimit)return false; if (!m_SignalState.m_ArmPosInsideSoftBackLimit)return false; if (!m_SignalState.m_ArmPosInsideBackLimit)return false; if (!m_SignalState.m_ArmServoNoAlarm)return false; if (!m_SignalState.m_HighPressureLackAlarm)return false; if (!m_SignalState.m_SystemStopAlarm)return false; if (!m_SignalState.m_CleanLiftStopAlarm)return false; if (m_Axis->m_Arm->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } string HBDE1000::GetArmCanotMoveBackInfo() { if (!m_SignalState.m_PrintUpDownPosBelowPlatform)return u8"打印升降轴高于基板缸平面"; if (!m_SignalState.m_ArmTorqueInsideLimit)return u8"铺粉轴扭力越限"; if (!m_SignalState.m_ArmPosInsideSoftBackLimit)return u8"铺粉轴位置超过软后限"; if (!m_SignalState.m_ArmPosInsideBackLimit)return u8"铺粉轴已到后限位"; if (!m_SignalState.m_ArmServoNoAlarm)return u8"铺粉轴伺服异常"; if (!m_SignalState.m_HighPressureLackAlarm)return u8"高压气不足报警"; if (!m_SignalState.m_SystemStopAlarm)return u8"系统急停异常"; if (!m_SignalState.m_CleanLiftStopAlarm)return u8"清粉急停异常"; if (m_Axis->m_Arm->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return u8"舱门打开时运动受限"; return u8"未知原因"; } bool HBDE1000::IsArmCanMoveFront() { if (!m_SignalState.m_PrintUpDownPosBelowPlatform)return false; if (!m_SignalState.m_ArmTorqueInsideLimit)return false; if (!m_SignalState.m_ArmPosInsideSoftFrontLimit)return false; if (!m_SignalState.m_ArmPosInsideFrontLimit)return false; if (!m_SignalState.m_ArmServoNoAlarm)return false; if (!m_SignalState.m_HighPressureLackAlarm)return false; if (!m_SignalState.m_SystemStopAlarm)return false; if (!m_SignalState.m_CleanLiftStopAlarm)return false; if (m_Axis->m_Arm->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } string HBDE1000::GetArmCanotMoveFrontInfo() { if (!m_SignalState.m_PrintUpDownPosBelowPlatform)return u8"打印升降轴高于基板缸平面"; if (!m_SignalState.m_ArmTorqueInsideLimit)return u8"铺粉轴扭力越限"; if (!m_SignalState.m_ArmPosInsideSoftFrontLimit)return u8"铺粉轴位置超过软前限"; if (!m_SignalState.m_ArmPosInsideFrontLimit)return u8"铺粉轴已到前限位"; if (!m_SignalState.m_ArmServoNoAlarm)return u8"铺粉轴伺服异常"; if (!m_SignalState.m_HighPressureLackAlarm)return u8"高压气不足报警"; if (!m_SignalState.m_SystemStopAlarm)return u8"系统急停异常"; if (!m_SignalState.m_CleanLiftStopAlarm)return u8"清粉急停异常"; if (m_Axis->m_Arm->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return u8"舱门打开时运动受限"; return u8"未知原因"; } bool HBDE1000::IsMoldCanMoveUp() { if (!m_SignalState.m_PrintTorqueUpInsideLimit)return false; if (!m_SignalState.m_ArmNotUponBasePlatform)return false; if (!m_SignalState.m_PrintMoldPosInsideUpSoftLimit)return false; if (!m_SignalState.m_PrintInsideUpLimit)return false; if (!m_SignalState.m_PrintMainServoNoAlarm)return false; if (!m_SignalState.m_PrintMoldInPrintPos && !m_SignalState.m_PrintMoldInCleanPos && !m_SignalState.m_PrintMoldInHandPos)return false; if (!m_SignalState.m_LoadUpDownServiceDoorCloseStatue)return false; if (!m_SignalState.m_HighPressureLackAlarm)return false; if (!m_SignalState.m_SystemStopAlarm)return false; if (!m_SignalState.m_CleanLiftStopAlarm)return false; if (m_Axis->m_Mold->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } bool HBDE1000::IsMoldCanMoveDown() { if (!m_SignalState.m_PrintTorqueDownInsideLimit)return false; if (!m_SignalState.m_ArmNotUponBasePlatform)return false; if (!m_SignalState.m_PrintAxisPosInsideDownSoftLimit)return false; if (!m_SignalState.m_PrintInsideDownLimit)return false; if (!m_SignalState.m_PrintMainServoNoAlarm)return false; if (!m_SignalState.m_PrintMoldInPrintPos && !m_SignalState.m_PrintMoldInCleanPos && !m_SignalState.m_PrintMoldInHandPos)return false; if (!m_SignalState.m_LoadUpDownServiceDoorCloseStatue)return false; if (!m_SignalState.m_HighPressureLackAlarm)return false; if (!m_SignalState.m_SystemStopAlarm)return false; if (!m_SignalState.m_CleanLiftStopAlarm)return false; if (m_Axis->m_Mold->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } string HBDE1000::GetMoldCanotUpInfo() { if (!m_SignalState.m_PrintTorqueUpInsideLimit)return u8"升降轴上升扭力越限"; if (!m_SignalState.m_ArmNotUponBasePlatform)return u8"铺粉臂在基板范围内"; if (!m_SignalState.m_PrintMoldPosInsideUpSoftLimit)return u8"升降轴越软上限"; if (!m_SignalState.m_PrintInsideUpLimit)return u8"升降轴越上限"; if (!m_SignalState.m_PrintMainServoNoAlarm)return u8"打印主轴伺服异常"; if (!m_SignalState.m_PrintMoldInPrintPos && !m_SignalState.m_PrintMoldInCleanPos && !m_SignalState.m_PrintMoldInHandPos) { return u8"缸体不在打印位、清粉位、吊装位"; } if (!m_SignalState.m_LoadUpDownServiceDoorCloseStatue)return u8"上下维护门不在关闭状态"; if (!m_SignalState.m_HighPressureLackAlarm)return u8"高压气不足报警"; if (!m_SignalState.m_SystemStopAlarm)return u8"系统急停异常"; if (!m_SignalState.m_CleanLiftStopAlarm)return u8"清粉急停异常"; if (m_Axis->m_Mold->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return u8"舱门打开时运动受限"; return u8"未知原因"; } string HBDE1000::GetMoldCanotDownInfo() { if (!m_SignalState.m_PrintTorqueDownInsideLimit)return u8"升降轴下降扭力越限"; if (!m_SignalState.m_ArmNotUponBasePlatform)return u8"铺粉臂在基板范围内"; if (!m_SignalState.m_PrintAxisPosInsideDownSoftLimit)return u8"升降轴越软下限"; if (!m_SignalState.m_PrintInsideDownLimit)return u8"升降轴越下限"; if (!m_SignalState.m_PrintMainServoNoAlarm)return u8"打印主轴伺服异常"; if (!m_SignalState.m_PrintMoldInPrintPos && !m_SignalState.m_PrintMoldInCleanPos && !m_SignalState.m_PrintMoldInHandPos) { return u8"缸体不在打印位、清粉位、吊装位"; } if (!m_SignalState.m_LoadUpDownServiceDoorCloseStatue)return u8"上下维护门不在关闭状态"; if (!m_SignalState.m_HighPressureLackAlarm)return u8"高压气不足报警"; if (!m_SignalState.m_SystemStopAlarm)return u8"系统急停异常"; if (!m_SignalState.m_CleanLiftStopAlarm)return u8"清粉急停异常"; if (m_Axis->m_Mold->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return u8"舱门打开时运动受限"; return u8"未知原因"; } void HBDE1000::DrawServoState(bool* winShow) { ImGui::SetNextWindowSize(ImVec2(452, 603)); ImGui::Begin(u8"伺服状态", winShow, ImGuiWindowFlags_NoDocking | ImGuiWindowFlags_NoResize); ImGui::BeginTabBar("servo_state"); if (ImGui::BeginTabItem(u8"打印轴")) { AxisStateValue mold; m_Axis->m_Mold->GetState()->GetValue(mold); ImGui::BeginGroup(); ImGui::Text(u8"伺服使能:%s", mold.ServoOn ? "YES" : "NO"); ImGui::Text(u8"伺服成立原点: %s", mold.ServoHomeIndexOn ? "YES" : "NO"); ImGui::Text(u8"伺服复位: %s", mold.ServoReset ? "YES" : "NO"); ImGui::Text(u8"相对上运动: %s", mold.MoveP ? "YES" : "NO"); ImGui::Text(u8"相对下运动: %s", mold.MoveN ? "YES" : "NO"); ImGui::Text(u8"上JOG: %s", mold.MovePContinue ? "YES" : "NO"); ImGui::Text(u8"下JOG: %s", mold.MoveNContinue ? "YES" : "NO"); ImGui::Text(u8"绝对值运动: %s", mold.MoveAbsPos ? "YES" : "NO"); ImGui::Text(u8"急停: %s", mold.MotionStop ? "YES" : "NO"); ImGui::Text(u8"伺服RDY状态: %s", mold.ServoRDY ? "YES" : "NO"); ImGui::Text(u8"指令运行HOME_Done: %s", mold.ServoHomeDone ? "YES" : "NO"); ImGui::Text(u8"指令运行RESET_Done: %s", mold.ResetDone ? "YES" : "NO"); ImGui::Text(u8"伺服BUSY: %s", mold.ServoBusy ? "YES" : "NO"); ImGui::Text(u8"伺服异常: %s", mold.ServoException ? "YES" : "NO"); ImGui::Text(u8"可运行状态: %s", mold.Runable ? "YES" : "NO"); ImGui::Text(u8"伺服异常字: %d", mold.ExceptionCode); //轴伺服异常字_R ImGui::Text(u8"主轴伺服刹车: %s", mold.ServoBreakOn ? "YES" : "NO"); ImGui::Text(u8"轴位置: %.3f", mold.Pos); ImGui::Text(u8"轴扭矩: %.3f", mold.Torque); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); g_SystemInfo->LockInfo(); float linearLayerValue = g_SystemInfo->m_EnvState.m_LinearLayerPos; float moldTheoryDis = g_SystemInfo->m_EnvState.m_MoldTheoryDistance; float linearActDis = g_SystemInfo->m_EnvState.m_LinearActDistance; float linearPulseValue = g_SystemInfo->m_EnvState.m_LinearActPulse; g_SystemInfo->UnlockInfo(); ImGui::Text(u8"光栅每层实际值: %.3f", linearLayerValue); ImGui::Text(u8"升降理论行程: %.3f", moldTheoryDis); ImGui::Text(u8"光栅实际行程: %.3f", linearActDis); ImGui::Text(u8"光栅实际脉冲数: %.3f", linearPulseValue); ImGui::EndGroup(); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(u8"铺粉轴")) { AxisStateValue arm; m_Axis->m_Arm->GetState()->GetValue(arm); ImGui::Text(u8"伺服使能:%s", arm.ServoOn ? "YES" : "NO"); ImGui::Text(u8"伺服成立原点: %s", arm.ServoHomeIndexOn ? "YES" : "NO"); ImGui::Text(u8"伺服复位: %s", arm.ServoReset ? "YES" : "NO"); ImGui::Text(u8"相对前运动: %s", arm.MoveP ? "YES" : "NO"); ImGui::Text(u8"相对后运动: %s", arm.MoveN ? "YES" : "NO"); ImGui::Text(u8"前JOG: %s", arm.MovePContinue ? "YES" : "NO"); ImGui::Text(u8"后JOG: %s", arm.MoveNContinue ? "YES" : "NO"); ImGui::Text(u8"绝对值运动: %s", arm.MoveAbsPos ? "YES" : "NO"); ImGui::Text(u8"急停: %s", arm.MotionStop ? "YES" : "NO"); ImGui::Text(u8"伺服RDY状态: %s", arm.ServoRDY ? "YES" : "NO"); ImGui::Text(u8"指令运行HOME_Done: %s", arm.ServoHomeDone ? "YES" : "NO"); ImGui::Text(u8"指令运行RESET_Done: %s", arm.ResetDone ? "YES" : "NO"); ImGui::Text(u8"伺服BUSY: %s", arm.ServoBusy ? "YES" : "NO"); ImGui::Text(u8"伺服异常: %s", arm.ServoException ? "YES" : "NO"); ImGui::Text(u8"可运行状态: %s", arm.Runable ? "YES" : "NO"); ImGui::Text(u8"伺服异常字: %d", arm.ExceptionCode); //轴伺服异常字_R ImGui::Text(u8"轴位置: %.3f", arm.Pos); ImGui::Text(u8"轴扭矩: %.3f", arm.Torque); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(u8"移载轴")) { AxisStateValue load; m_Axis->m_Load->GetState()->GetValue(load); ImGui::Text(u8"伺服使能:%s", load.ServoOn ? "YES" : "NO"); ImGui::Text(u8"伺服成立原点: %s", load.ServoHomeIndexOn ? "YES" : "NO"); ImGui::Text(u8"伺服复位: %s", load.ServoReset ? "YES" : "NO"); ImGui::Text(u8"相对右运动: %s", load.MoveP ? "YES" : "NO"); ImGui::Text(u8"相对左运动: %s", load.MoveN ? "YES" : "NO"); ImGui::Text(u8"右JOG: %s", load.MovePContinue ? "YES" : "NO"); ImGui::Text(u8"左JOG: %s", load.MoveNContinue ? "YES" : "NO"); ImGui::Text(u8"绝对值运动: %s", load.MoveAbsPos ? "YES" : "NO"); ImGui::Text(u8"急停: %s", load.MotionStop ? "YES" : "NO"); ImGui::Text(u8"伺服RDY状态: %s", load.ServoRDY ? "YES" : "NO"); ImGui::Text(u8"指令运行HOME_Done: %s", load.ServoHomeDone ? "YES" : "NO"); ImGui::Text(u8"指令运行RESET_Done: %s", load.ResetDone ? "YES" : "NO"); ImGui::Text(u8"伺服BUSY: %s", load.ServoBusy ? "YES" : "NO"); ImGui::Text(u8"伺服异常: %s", load.ServoException ? "YES" : "NO"); ImGui::Text(u8"可运行状态: %s", load.Runable ? "YES" : "NO"); ImGui::Text(u8"伺服异常字: %d", load.ExceptionCode); //轴伺服异常字_R ImGui::Text(u8"轴位置: %.3f", load.Pos); ImGui::Text(u8"轴扭矩: %.3f", load.Torque); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(u8"供粉轴")) { AxisStateValue supply; m_Axis->m_Supply->GetState()->GetValue(supply); ImGui::Text(u8"伺服使能:%s", supply.ServoOn ? "YES" : "NO"); ImGui::Text(u8"伺服成立原点: %s", supply.ServoHomeIndexOn ? "YES" : "NO"); ImGui::Text(u8"伺服复位: %s", supply.ServoReset ? "YES" : "NO"); ImGui::Text(u8"相对右运动: %s", supply.MoveP ? "YES" : "NO"); ImGui::Text(u8"相对左运动: %s", supply.MoveN ? "YES" : "NO"); ImGui::Text(u8"右JOG: %s", supply.MovePContinue ? "YES" : "NO"); ImGui::Text(u8"左JOG: %s", supply.MoveNContinue ? "YES" : "NO"); ImGui::Text(u8"绝对值运动: %s", supply.MoveAbsPos ? "YES" : "NO"); ImGui::Text(u8"急停: %s", supply.MotionStop ? "YES" : "NO"); ImGui::Text(u8"伺服RDY状态: %s", supply.ServoRDY ? "YES" : "NO"); ImGui::Text(u8"指令运行HOME_Done: %s", supply.ServoHomeDone ? "YES" : "NO"); ImGui::Text(u8"指令运行RESET_Done: %s", supply.ResetDone ? "YES" : "NO"); ImGui::Text(u8"伺服BUSY: %s", supply.ServoBusy ? "YES" : "NO"); ImGui::Text(u8"伺服异常: %s", supply.ServoException ? "YES" : "NO"); ImGui::Text(u8"可运行状态: %s", supply.Runable ? "YES" : "NO"); ImGui::Text(u8"伺服异常字: %d", supply.ExceptionCode); //轴伺服异常字_R ImGui::Text(u8"轴位置: %.3f", supply.Pos); ImGui::Text(u8"轴扭矩: %.3f", supply.Torque); ImGui::EndTabItem(); } ImGui::EndTabBar(); ImGui::End(); } bool HBDE1000::CheckPrintMoldReady() { if (m_SignalStateWrapper->m_CylinderState->GetValue() != CylinderInPrintLoaded) { return false; } else return true; }