#include "HBD1500.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 HBD1500::IO_V0 = 0; HBD1500::HBD1500(MachineTypeCfg::MachineTypeId type) :Machine(type) { //m_IoRef[IO_V0] = &HBD1500::CheckIO_V0; } HBD1500::~HBD1500() { } void HBD1500::CheckIO() { CheckIO_V0(); } void HBD1500::CheckIO_V0(/*vector&ins, IOCfgWrapper* iocfgWrapper, string strsql, int m_Type*/) { vector ins; IOCfgWrapper* iocfgWrapper = m_IOCfgWrapper; string strsql; char buffer[1024]; //string strsql = GetInsertIOStr(); int statusStartIndex = 192; int ctrlStartIndex = 304; int flag = 0; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PressureRelease", 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(m_Type, 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(m_Type, 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+=2; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintPress", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintUnpress", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintJackUp", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintJackDown", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintCylindFixed", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintCylindRelease", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "MainDoorElecOpen", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "HandrailDoorOpen", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "Print3RRelease", u8"打印3R夹具松开"); 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(m_Type, 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+=2; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "Print3RDeoxygenSalve", u8"打印3R除氧进气阀"); 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "Print3RStablePressureSalve", u8"打印3R稳压气阀"); 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "Print3RAirEvacuation", u8"打印3R除氧排气阀"); 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PowderCleanerUpOpenGap", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PowderCleanerUpCloseGap", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanCylinderPressing", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanCylinderRelease", 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; flag++; flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanPosStopOn", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanPosStopOff", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PowderCleannerBoxPress", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PowderCleannerBoxUnpress", 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(m_Type, 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++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "Clean3RRelease", u8"清粉3R夹具松开", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "CleanMainAxisBrake", 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(m_Type, 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "SeparateCabinArriveLamp", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "LoadElectromagnet", 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(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PrintVacuumEnterSlave", 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(m_Type, 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(m_Type, 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++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, ctrlStartIndex + flag, true, "PurifierCoolerPower", 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; flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, 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(m_Type, 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(m_Type, 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++; flag++; flag++; flag++; flag++; flag++; flag++; flag++; flag++; if (iocfgWrapper->m_OutputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_OutputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, 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(m_Type, 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); } statusStartIndex = 0; flag = 0; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, statusStartIndex + flag, 0, false, "PowerOK", 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(m_Type, statusStartIndex + flag, 0, false, "OutDoorOxygenAlarm", 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(m_Type, statusStartIndex + flag, 0, false, "LaserChillerAlarm", 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, statusStartIndex + flag, 0, false, "ServoAirSwitchClose", 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, 0, false, "PrintStorageCar1DownLimit", 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(m_Type, 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++; flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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++; flag++; flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, 0, false, "Print3RHookOffPos", u8"打印3R脱离位"); 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(m_Type, statusStartIndex + flag, 0, false, "Print3RCylinderContact", u8"打印3R与缸体接触感应"); 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(m_Type, statusStartIndex + flag, 0, false, "PrintUpDownSeparatePos", 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(m_Type, statusStartIndex + flag, 0, false, "PrintPressOn", 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(m_Type, statusStartIndex + flag, 0, false, "PrintPressOff", 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(m_Type, statusStartIndex + flag, 0, false, "PrintJackUpOn", 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(m_Type, statusStartIndex + flag, 0, false, "PrintJackUpOff", 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(m_Type, statusStartIndex + flag, 0, false, "PrintSupportCylinderOn", 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(m_Type, statusStartIndex + flag, 0, false, "PrintSupportCylinderOff", 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(m_Type, statusStartIndex + flag, 0, false, "CylinderFixExtendOn", 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(m_Type, statusStartIndex + flag, 0, false, "CylinderFixExtendOff", 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(m_Type, 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++; flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, 0, false, "CleannerAxisUpLimit", 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(m_Type, statusStartIndex + flag, 0, false, "CleannerAxisDownLimit", 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(m_Type, statusStartIndex + flag, 0, false, "CleannerHomeIndex", 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(m_Type, statusStartIndex + flag, 0, false, "Cleanner3R", u8"清粉3R"); 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(m_Type, statusStartIndex + flag, 0, false, "CleanPowderStopOn", 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(m_Type, statusStartIndex + flag, 0, false, "CleanPowderStopOff", 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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+=2; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, 0, false, "LeftVacuumButton", 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(m_Type, statusStartIndex + flag, 0, false, "RightVacuumButton", 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++; flag++; flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, 0, false, "CleannerBoxPressOn", 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(m_Type, statusStartIndex + flag, 0, false, "CleannerBoxPressOff", 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(m_Type, 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++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, 0, false, "PrintStorageCar2DownLimit", 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(m_Type, 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+=3; flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, 0, false, "CleannerPressOn", 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(m_Type, statusStartIndex + flag, 0, false, "CleannerPressOff", 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, 0, false, "LoadCylinderCheck", 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(m_Type, statusStartIndex+flag, 0, false, "LoadSearchEdgeOn", 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(m_Type, 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(m_Type, statusStartIndex + flag, 0, false, "PowderPosition5", 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(m_Type, statusStartIndex + flag, 0, false, "PowderPosition4", 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(m_Type, statusStartIndex + flag, 0, false, "PowderPosition3", 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(m_Type, statusStartIndex + flag, 0, false, "PowderPosition2", 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(m_Type, statusStartIndex + flag, 0, false, "PowderPosition1", 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(m_Type, 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(m_Type, statusStartIndex + flag, 0, false, "SafeDoorClose1", 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(m_Type, statusStartIndex + flag, 0, false, "SafeDoorClose2", 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(m_Type, statusStartIndex + flag, 0, false, "SafeDoorClose3", 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(m_Type, 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(m_Type, 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(m_Type, 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++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, 0, false, "LightPathChillerAlarm", 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(m_Type, statusStartIndex + flag, 0, false, "PurifierChillerAlarm", 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(m_Type, 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++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, 0, false, "CleanStorageCar1DownLimit", 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(m_Type, 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++; flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, 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++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, statusStartIndex + flag, 0, false, "CleanStorageCar2DownLimit", 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(m_Type, 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++; flag++; if (iocfgWrapper->m_InputCheckAssist.find(statusStartIndex + flag) == iocfgWrapper->m_InputCheckAssist.end()) { IOCfg* pbean = new IOCfg(m_Type, 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(m_Type, 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(m_Type, 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(m_Type, 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* HBD1500::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* HBD1500::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* HBD1500::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* HBD1500::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* HBD1500::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 HBD1500::DrawSignal(bool* isshow) { SignalState signalState; SignalService::GetInstance().GetSignalState(signalState); ImGui::Begin(_(u8"信号状态").c_str(), isshow, ImGuiWindowFlags_NoDocking); ImGui::BeginTabBar("SignalState"); if (ImGui::BeginTabItem(_(u8"异常信号").c_str())) { ImGui::BeginGroup(); ImGui::ToggleButtonText(_(u8"PC与PLC网络异常").c_str(), signalState.m_PLCConnectAlarm, false); ImGui::ToggleButtonText(_(u8"系统急停异常").c_str(), signalState.m_SystemStopAlarm, false); ImGui::ToggleButtonText(_(u8"高压气压力不足异常").c_str(), signalState.m_HighPressureLackAlarm, false); ImGui::ToggleButtonText(_(u8"保护气压力不足异常").c_str(), signalState.m_ProtectGasLackAlarm, false); ImGui::ToggleButtonText(_(u8"外部电源断电异常").c_str(), signalState.m_PowerDownAlarm, false); ImGui::ToggleButtonText(_(u8"外界氧含量不足警告").c_str(), signalState.m_OutsideOxygenLackAlarm, false); ImGui::ToggleButtonText(_(u8"激光器冷水机报警").c_str(), signalState.m_LaserChillerAlarm, false); ImGui::ToggleButtonText(_(u8"总空开触点异常").c_str(), signalState.m_BusAirSwitchAlarm, false); ImGui::ToggleButtonText(_(u8"外部设备电源空开触点异常").c_str(), signalState.m_ExtDevicePowerAirSwitchAlarm, false); ImGui::ToggleButtonText(_(u8"加热电源空开触点异常").c_str(), signalState.m_HeatingPowerAirSwitchAlarm, false); ImGui::ToggleButtonText(_(u8"激光电源空开触点异常").c_str(), signalState.m_LaserPowerAirSwitchAlarm, false); ImGui::ToggleButtonText(_(u8"伺服电源空开触点").c_str(), signalState.m_ServoPowerAirSwitchAlarm, false); ImGui::ToggleButtonText(_(u8"激光器1报警").c_str(), signalState.m_Laser1Alarm, false); ImGui::ToggleButtonText(_(u8"激光器2报警").c_str(), signalState.m_Laser2Alarm, false); ImGui::ToggleButtonText(_(u8"激光器3报警").c_str(), signalState.m_Laser3Alarm, false); ImGui::ToggleButtonText(_(u8"激光器4报警").c_str(), signalState.m_Laser4Alarm, false); ImGui::ToggleButtonText(_(u8"加热输入异常").c_str(), signalState.m_HeatingInputAlarm, false); ImGui::ToggleButtonText(_(u8"加热输出异常").c_str(), signalState.m_HeatingOutputAlarm, false); ImGui::ToggleButtonText(_(u8"打印主轴上限位触发警示").c_str(), signalState.m_MoldMainUpLimitActive, false); ImGui::ToggleButtonText(_(u8"打印主轴下限位触发警示").c_str(), signalState.m_MoldMainDownLimitActive, false); ImGui::ToggleButtonText(_(u8"打印3R脱离感应器异常").c_str(), signalState.m_Print3RSeparateAlarm, false); ImGui::ToggleButtonText(_(u8"打印3R贴合感应器异常").c_str(), signalState.m_Print3RConnectAlarm, false); ImGui::ToggleButtonText(_(u8"打印3R失效异常").c_str(), signalState.m_Print3RDisableAlarm, false); ImGui::ToggleButtonText(_(u8"轨道打印位感应失效警告").c_str(), signalState.m_PrintTrackDisableWarn, false); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); ImGui::ToggleButtonText(_(u8"打印位压紧气缸压紧不到位异常").c_str(), signalState.m_PrintPressOnDisableAlarm, false); ImGui::ToggleButtonText(_(u8"打印位压紧气缸松开不到位异常").c_str(), signalState.m_PrintPressOffDisableAlarm, false); ImGui::ToggleButtonText(_(u8"打印顶升气缸顶升不到位异常").c_str(), signalState.m_PrintJackUpDisableAlarm, false); ImGui::ToggleButtonText(_(u8"打印顶升气缸下降不到位异常").c_str(), signalState.m_PrintJackDownDisableAlarm, false); ImGui::ToggleButtonText(_(u8"打印支撑气缸支撑不到位异常").c_str(), signalState.m_PrintSupportOnDisableAlarm, false); ImGui::ToggleButtonText(_(u8"打印支撑气缸避让不到位异常").c_str(), signalState.m_PrintSupportOffDisableAlarm, false); ImGui::ToggleButtonText(_(u8"缸体固定气缸伸出不到位异常").c_str(), signalState.m_CylinderExtendOnAlarm, false); ImGui::ToggleButtonText(_(u8"缸体固定气缸缩回不到位异常").c_str(), signalState.m_CylinderExtendOffAlarm, false); ImGui::ToggleButtonText(_(u8"打印位缸体检测异常").c_str(), signalState.m_PrintCylinderVerifyAlarm, false); ImGui::ToggleButtonText(_(u8"轨道清粉位失效异常").c_str(), signalState.m_CleanTrackPosDisableAlarm, false); ImGui::ToggleButtonText(_(u8"清粉升降急停异常").c_str(), signalState.m_CleanLiftStopAlarm, false); ImGui::ToggleButtonText(_(u8"移载吊装位感应器失效").c_str(), signalState.m_LoadHandPosSensorDiable, false); ImGui::ToggleButtonText(_(u8"主电源缺相检测异常").c_str(), signalState.m_MainPowerLossCheckAlarm, false); ImGui::ToggleButtonText(_(u8"打印舱电锁感应异常").c_str(), signalState.m_PrintCabinLockDisableAlarm, false); ImGui::ToggleButtonText(_(u8"清粉箱上盖气缸打开不到位异常").c_str(), signalState.m_CleanBoxUpOpenAlarm, false); ImGui::ToggleButtonText(_(u8"清粉箱上盖气缸关闭不到位异常").c_str(), signalState.m_CleanBoxUpCloseAlarm, false); ImGui::ToggleButtonText(_(u8"缸体吊装盖板打开异常").c_str(), signalState.m_CylinderHandPlatformOpenAlarm, false); ImGui::ToggleButtonText(_(u8"缸体吊装门打开异常").c_str(), signalState.m_CylinderHandDoorOpenAlarm, false); ImGui::ToggleButtonText(_(u8"清粉箱压紧气缸压紧不到位异常").c_str(), signalState.m_CleanBoxPressOnAlarm, false); ImGui::ToggleButtonText(_(u8"清粉箱压紧气缸松开不到位异常").c_str(), signalState.m_CleanBoxPressOffAlarm, false); ImGui::ToggleButtonText(_(u8"吊装盖板关闭异常").c_str(), signalState.m_HandPlatformCloseAlarm, false); ImGui::ToggleButtonText(_(u8"清粉位压紧气缸压紧不到位异常").c_str(), signalState.m_CleanPosPressOnAlarm, false); ImGui::ToggleButtonText(_(u8"清粉位压紧气缸松开不到位异常").c_str(), signalState.m_CleanPosPressOffAlarm, false); ImGui::ToggleButtonText(_(u8"清粉位阻挡气缸阻挡不到位异常").c_str(), signalState.m_CleanPosPreventCylinderOnAlarm, false); ImGui::ToggleButtonText(_(u8"清粉位阻挡气缸避让不到位异常").c_str(), signalState.m_CleanPosPreventCylinderOffAlarm, false); ImGui::ToggleButtonText(_(u8"清粉3R失效异常").c_str(), signalState.m_Clean3RDisableAlarm, false); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); ImGui::ToggleButtonText(_(u8"铺粉轴前限位触发警示").c_str(), signalState.m_ArmFrontLimit, false); ImGui::ToggleButtonText(_(u8"铺粉轴后限位触发警示").c_str(), signalState.m_ArmBackLimit, false); ImGui::ToggleButtonText(_(u8"移载轴左限位触发警示").c_str(), signalState.m_LoadAxisLeftLimit, false); ImGui::ToggleButtonText(_(u8"移载轴右限位触发警示").c_str(), signalState.m_LoadAxisRightLimit, false); ImGui::ToggleButtonText(_(u8"移载寻边感应器失效异常").c_str(), signalState.m_LoadAxisSearchEdgeDisableAlarm, false); ImGui::ToggleButtonText(_(u8"粉仓料位感应器1异常").c_str(), signalState.m_PowderPosition1Alarm, false); ImGui::ToggleButtonText(_(u8"粉仓料位感应器2异常").c_str(), signalState.m_PowderPosition2Alarm, false); ImGui::ToggleButtonText(_(u8"粉仓料位感应器3异常").c_str(), signalState.m_PowderPosition3Alarm, false); ImGui::ToggleButtonText(_(u8"粉仓料位感应器4异常").c_str(), signalState.m_PowderPosition4Alarm, false); ImGui::ToggleButtonText(_(u8"粉仓料位感应器5异常").c_str(), signalState.m_PowderPosition5Alarm, false); ImGui::ToggleButtonText(_(u8"供粉转轴原点失效异常").c_str(), signalState.m_SupplyHomeIndexDisableAlarm, false); ImGui::ToggleButtonText(_(u8"打印舱测氧仪1异常").c_str(), signalState.m_PrintOxygen1DeciceAlarm, false); ImGui::ToggleButtonText(_(u8"打印舱测氧仪2异常").c_str(), signalState.m_PrintOxygen2DeviceAlarm, false); ImGui::ToggleButtonText(_(u8"室外测氧仪异常").c_str(), signalState.m_OutsideOxygenDeviceAlarm, false); ImGui::ToggleButtonText(_(u8"打印舱压力过高异常").c_str(), signalState.m_PrintPressureOverLimitAlarm, false); ImGui::ToggleButtonText(_(u8"光路冷水机报警").c_str(), signalState.m_ScannerChillerAlarm, false); ImGui::ToggleButtonText(_(u8"净化器冷水机报警").c_str(), signalState.m_PurifierChillerAlarm, false); ImGui::ToggleButtonText(_(u8"打印存粉小车1粉罐已满警示").c_str(), signalState.m_PrintStorageCar1JarFullWarn, false); ImGui::ToggleButtonText(_(u8"打印存粉小车1没有连接警示").c_str(), signalState.m_PrintStorageCar1DisconnectWarn, false); ImGui::ToggleButtonText(_(u8"打印存粉小车1堵塞警示").c_str(), signalState.m_PrintStorageCar1BlockWarn, false); ImGui::ToggleButtonText(_(u8"打印存粉小车2粉罐已满警示").c_str(), signalState.m_PrintStorageCar2JarFullWarn, false); ImGui::ToggleButtonText(_(u8"打印存粉小车2没有连接警示").c_str(), signalState.m_PrintStorageCar2DisconnectWarn, false); ImGui::ToggleButtonText(_(u8"打印存粉小车2堵塞报警").c_str(), signalState.m_PrintStorageCar2BlockAlarm, false); ImGui::ToggleButtonText(_(u8"清粉3R压力不足异常").c_str(), signalState.m_Clean3RPressureLackAlarm, false); ImGui::ToggleButtonText(_(u8"打印3R压力不足异常").c_str(), signalState.m_Print3RPressureLackAlarm, false); ImGui::ToggleButtonText(_(u8"移栽电磁铁分离异常").c_str(), signalState.m_LoadElectromagnetDisconnectAlarm, false); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); ImGui::ToggleButtonText(_(u8"打印主轴扭力异常").c_str(), signalState.m_MoldTorqueAlarm, false); ImGui::ToggleButtonText(_(u8"清粉主轴扭力异常").c_str(), signalState.m_CleanTorqueAlarm, false); ImGui::ToggleButtonText(_(u8"移载轴扭力异常").c_str(), signalState.m_LoadTorqueAlarm, false); ImGui::ToggleButtonText(_(u8"铺粉轴扭力异常").c_str(), signalState.m_ArmTorqueAlarm, false); ImGui::ToggleButtonText(_(u8"供粉轴扭力异常").c_str(), signalState.m_SupplyTorqueAlarm, false); ImGui::ToggleButtonText(_(u8"光栅尺补偿失败").c_str(), signalState.m_GratingRulerFail, false); ImGui::ToggleButtonText(_(u8"打印主轴超软上限").c_str(), signalState.m_PrintMainOverSoftUpLimit, false); ImGui::ToggleButtonText(_(u8"打印主轴超软下限").c_str(), signalState.m_PrintMainOverSoftDownLimit, false); ImGui::ToggleButtonText(_(u8"清粉主轴超软上限").c_str(), signalState.m_CleanMainOverSoftUpLimit, false); ImGui::ToggleButtonText(_(u8"清粉主轴超软下限").c_str(), signalState.m_CleanMainOverSoftDownLimit, false); ImGui::ToggleButtonText(_(u8"移载轴超左软限").c_str(), signalState.m_LoadAxisOverSoftLeftLimit, false); ImGui::ToggleButtonText(_(u8"移载轴超右软限").c_str(), signalState.m_LoadAxisOverSoftRightLimit, false); ImGui::ToggleButtonText(_(u8"铺粉轴超前软限").c_str(), signalState.m_ArmOverSoftFrontLimit, false); ImGui::ToggleButtonText(_(u8"铺粉轴超后软限").c_str(), signalState.m_ArmOverSoftBackLimit, false); ImGui::ToggleButtonText(_(u8"打印主轴伺服驱动器异常").c_str(), signalState.m_PrintMainServoAlarmSignal, false); ImGui::ToggleButtonText(_(u8"移载轴伺服驱动器异常").c_str(), signalState.m_LoadAxisServoAlarmSignal, false); ImGui::ToggleButtonText(_(u8"铺粉轴伺服驱动器异常").c_str(), signalState.m_ArmServoAlarmSignal, false); ImGui::ToggleButtonText(_(u8"供粉转轴伺服驱动器异常").c_str(), signalState.m_SupplyServoAlarmSignal, false); ImGui::ToggleButtonText(_(u8"清粉主轴伺服异常").c_str(), signalState.m_CleanMainServoAlarmSignal, false); ImGui::ToggleButtonText(_(u8"清粉箱顶门升起异常").c_str(), signalState.m_CleanBoxTopDoorRiseAlarmSignal, false); ImGui::ToggleButtonText(_(u8"清粉箱顶门关闭异常").c_str(), signalState.m_CleanBoxTopDoorFallAlarmSignal, false); ImGui::ToggleButtonText(_(u8"光栅尺检测异常").c_str(), signalState.m_LinearEncoderCheckAlarmSignal, false); ImGui::ToggleButtonText(_(u8"打印主轴软急停触发").c_str(), signalState.m_PrintMainSoftStopTrigger, false); ImGui::ToggleButtonText(_(u8"清粉主轴软急停触发").c_str(), signalState.m_CleanMainSoftStopTrigger, false); ImGui::ToggleButtonText(_(u8"移载轴软急停触发").c_str(), signalState.m_LoadAxisSoftStopTrigger, false); ImGui::ToggleButtonText(_(u8"铺粉轴软急停触发").c_str(), signalState.m_CoverSoftStopTrigger, false); ImGui::EndGroup(); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(_(u8"常规信号").c_str())) { bool isCtrl = (g_Admin > USER_ADMIN); ImGui::BeginGroup(); ImGui::ToggleButtonText(_(u8"PLC心跳").c_str(), signalState.m_PLCKeepAlive, false); ImGui::ToggleButtonText(_(u8"PC心跳").c_str(), signalState.m_PCKeepAlice, false); ImGui::ToggleButtonText(_(u8"设备空闲状态").c_str(), signalState.m_DeviceStandby, false); if (ImGui::ToggleButtonText(_(u8"设备打印状态").c_str(), signalState.m_DevicePrinting, isCtrl))m_SignalStateWrapper->m_DevicePrinting->SetValue(!signalState.m_DevicePrinting); if (ImGui::ToggleButtonText(_(u8"设备手动调试状态").c_str(), signalState.m_DeviceManualDebug, isCtrl))m_SignalStateWrapper->m_DeviceManualDebug->SetValue(!signalState.m_DeviceManualDebug); if (ImGui::ToggleButtonText(_(u8"设备自动运行状态").c_str(), signalState.m_DeviceAutoRuning, isCtrl))m_SignalStateWrapper->m_DeviceAutoRuning->SetValue(!signalState.m_DeviceAutoRuning); if (ImGui::ToggleButtonText(_(u8"触摸屏控制状态").c_str(), signalState.m_TouchPanelCtrling, isCtrl))m_SignalStateWrapper->m_TouchPanelCtrling->SetValue(!signalState.m_TouchPanelCtrling); if (ImGui::ToggleButtonText(_(u8"动作流程调试模式").c_str(), signalState.m_MotionDebug, isCtrl))m_SignalStateWrapper->m_MotionDebug->SetValue(!signalState.m_MotionDebug); if (ImGui::ToggleButtonText(_(u8"异常复位").c_str(), signalState.m_CylinderExceptionReset, isCtrl))m_SignalStateWrapper->m_CylinderExceptionReset->SetValue(!signalState.m_CylinderExceptionReset); if (ImGui::ToggleButtonText(_(u8"触发缸体到达打印位_自动").c_str(), signalState.m_CylinderReachPrintTriger, isCtrl))m_SignalStateWrapper->m_CylinderReachPrintTriger->SetValue(!signalState.m_CylinderReachPrintTriger); if (ImGui::ToggleButtonText(_(u8"缸体到打印位运行中_自动").c_str(), signalState.m_CylinderReachPrintRun, isCtrl))m_SignalStateWrapper->m_CylinderReachPrintRun->SetValue(!signalState.m_CylinderReachPrintRun); if (ImGui::ToggleButtonText(_(u8"缸体到达打印位完毕_自动").c_str(), signalState.m_CylinderReachPrintFinished, isCtrl))m_SignalStateWrapper->m_CylinderReachPrintFinished->SetValue(!signalState.m_CylinderReachPrintFinished); if (ImGui::ToggleButtonText(_(u8"触发缸体打印位装载_自动").c_str(), signalState.m_CylinderPrintLoadTriger, isCtrl))m_SignalStateWrapper->m_CylinderPrintLoadTriger->SetValue(!signalState.m_CylinderPrintLoadTriger); if (ImGui::ToggleButtonText(_(u8"缸体打印位装载运行中_自动").c_str(), signalState.m_CylinderPrintLoadRun, isCtrl))m_SignalStateWrapper->m_CylinderPrintLoadRun->SetValue(!signalState.m_CylinderPrintLoadRun); if (ImGui::ToggleButtonText(_(u8"缸体打印位装载完毕_自动").c_str(), signalState.m_CylinderPrintLoadFinished, isCtrl))m_SignalStateWrapper->m_CylinderPrintLoadFinished->SetValue(!signalState.m_CylinderPrintLoadFinished); if (ImGui::ToggleButtonText(_(u8"触发缸体打印位卸载_自动").c_str(), signalState.m_CylinderPrintUnloadTriger, isCtrl))m_SignalStateWrapper->m_CylinderPrintUnloadTriger->SetValue(!signalState.m_CylinderPrintUnloadTriger); if (ImGui::ToggleButtonText(_(u8"缸体打印位卸载运行中_自动").c_str(), signalState.m_CylinderPrintUnloadRun, isCtrl))m_SignalStateWrapper->m_CylinderPrintUnloadRun->SetValue(!signalState.m_CylinderPrintUnloadRun); if (ImGui::ToggleButtonText(_(u8"缸体打印位卸载完毕_自动").c_str(), signalState.m_CylinderPrintUnloadFinished, isCtrl))m_SignalStateWrapper->m_CylinderPrintUnloadFinished->SetValue(!signalState.m_CylinderPrintUnloadFinished); if (ImGui::ToggleButtonText(_(u8"触发打印升降轴连接缸体_自动").c_str(), signalState.m_MoldConnectCylinderTriger, isCtrl))m_SignalStateWrapper->m_MoldConnectCylinderTriger->SetValue(!signalState.m_MoldConnectCylinderTriger); if (ImGui::ToggleButtonText(_(u8"打印升降轴连接缸体运行中_自动").c_str(), signalState.m_MoldConnectCylinderRun, isCtrl))m_SignalStateWrapper->m_MoldConnectCylinderRun->SetValue(!signalState.m_MoldConnectCylinderRun); if (ImGui::ToggleButtonText(_(u8"打印升降轴连接缸体完毕_自动").c_str(), signalState.m_MoldConnectCylinderFinished, isCtrl))m_SignalStateWrapper->m_MoldConnectCylinderFinished->SetValue(!signalState.m_MoldConnectCylinderFinished); if (ImGui::ToggleButtonText(_(u8"触发打印升降轴脱离缸体_自动").c_str(), signalState.m_MoldDisconnectCylinderTriger, isCtrl))m_SignalStateWrapper->m_MoldDisconnectCylinderTriger->SetValue(!signalState.m_MoldDisconnectCylinderTriger); if (ImGui::ToggleButtonText(_(u8"打印升降轴脱离缸体运行中_自动").c_str(), signalState.m_MoldDisconnectCylinderRun, isCtrl))m_SignalStateWrapper->m_MoldDisconnectCylinderRun->SetValue(!signalState.m_MoldDisconnectCylinderRun); if (ImGui::ToggleButtonText(_(u8"打印缸体脱离缸体完毕_自动").c_str(), signalState.m_MoldDisconnectCylinderFinished, isCtrl))m_SignalStateWrapper->m_MoldDisconnectCylinderFinished->SetValue(!signalState.m_MoldDisconnectCylinderFinished); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); if (ImGui::ToggleButtonText(_(u8"触发缸体到达清粉位_自动").c_str(), signalState.m_CylinderReachCleanTriger, isCtrl))m_SignalStateWrapper->m_CylinderReachCleanTriger->SetValue(!signalState.m_CylinderReachCleanTriger); if (ImGui::ToggleButtonText(_(u8"缸体到清粉位运行中").c_str(), signalState.m_CylinderReachCleanRun, isCtrl))m_SignalStateWrapper->m_CylinderReachCleanRun->SetValue(!signalState.m_CylinderReachCleanRun); if (ImGui::ToggleButtonText(_(u8"缸体到清粉位完毕_自动").c_str(), signalState.m_CylinderReachCleanFinished, isCtrl))m_SignalStateWrapper->m_CylinderReachCleanFinished->SetValue(!signalState.m_CylinderReachCleanFinished); if (ImGui::ToggleButtonText(_(u8"触发缸体与清粉箱连接_自动").c_str(), signalState.m_CylinderConnectCleanBoxTriger, isCtrl))m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->SetValue(!signalState.m_CylinderConnectCleanBoxTriger); if (ImGui::ToggleButtonText(_(u8"缸体与清粉箱连接中").c_str(), signalState.m_CylinderConnectCleanBoxRun, isCtrl))m_SignalStateWrapper->m_CylinderConnectCleanBoxRun->SetValue(!signalState.m_CylinderConnectCleanBoxRun); if (ImGui::ToggleButtonText(_(u8"缸体与清粉箱连接完毕_自动").c_str(), signalState.m_CylinderConnectCleanBoxFinished, isCtrl))m_SignalStateWrapper->m_CylinderConnectCleanBoxFinished->SetValue(!signalState.m_CylinderConnectCleanBoxFinished); if (ImGui::ToggleButtonText(_(u8"触发缸体与清粉箱分离_自动").c_str(), signalState.m_CylinderDisconnectCleanBoxTriger, isCtrl))m_SignalStateWrapper->m_CylinderDisconnectCleanBoxTriger->SetValue(!signalState.m_CylinderDisconnectCleanBoxTriger); if (ImGui::ToggleButtonText(_(u8"缸体与清粉箱分离中").c_str(), signalState.m_CylinderDisconnectCleanBoxRun, isCtrl))m_SignalStateWrapper->m_CylinderDisconnectCleanBoxRun->SetValue(!signalState.m_CylinderDisconnectCleanBoxRun); if (ImGui::ToggleButtonText(_(u8"缸体与清粉箱分离完毕_自动").c_str(), signalState.m_CylinderDisconnectCleanBoxFinished, isCtrl))m_SignalStateWrapper->m_CylinderDisconnectCleanBoxFinished->SetValue(!signalState.m_CylinderDisconnectCleanBoxFinished); if (ImGui::ToggleButtonText(_(u8"触发铺粉流程").c_str(), signalState.m_CoverTriger, isCtrl))m_SignalStateWrapper->m_CoverTriger->SetValue(!signalState.m_CoverTriger); ImGui::ToggleButtonText(_(u8"铺粉流程忙").c_str(), signalState.m_IsCovering, false); if (ImGui::ToggleButtonText(_(u8"铺粉完成允许打印").c_str(), signalState.m_IsCoverFinishedCanPrint, isCtrl))m_SignalStateWrapper->m_IsCoverFinishedCanPrint->SetValue(!signalState.m_IsCoverFinishedCanPrint); if (ImGui::ToggleButtonText(_(u8"铺粉调试模式").c_str(), signalState.m_IsCoverDebug, isCtrl))m_SignalStateWrapper->m_IsCoverDebug->SetValue(!signalState.m_IsCoverDebug); if (ImGui::ToggleButtonText(_(u8"第一次铺粉").c_str(), signalState.m_IsFirstCover, isCtrl))m_SignalStateWrapper->m_IsFirstCover->SetValue(!signalState.m_IsFirstCover); if (ImGui::ToggleButtonText(_(u8"触发打印室除氧").c_str(), signalState.m_PrintDeoxygenTriger, isCtrl))m_SignalStateWrapper->m_PrintDeoxygenTriger->SetValue(!signalState.m_PrintDeoxygenTriger); if (ImGui::ToggleButtonText(_(u8"打印室除氧中").c_str(), signalState.m_PrintDeoxygenRun, isCtrl))m_SignalStateWrapper->m_PrintDeoxygenRun->SetValue(!signalState.m_PrintDeoxygenRun); ImGui::ToggleButtonText(_(u8"打印室氧含量值到达").c_str(), signalState.m_PrintDeoxygenFinished, false); if (ImGui::ToggleButtonText(_(u8"触发打印升降轴除氧").c_str(), signalState.m_MoldDeoxygenTriger, isCtrl))m_SignalStateWrapper->m_MoldDeoxygenTriger->SetValue(!signalState.m_MoldDeoxygenTriger); ImGui::ToggleButtonText(_(u8"打印升降轴除氧中").c_str(), signalState.m_MoldDeoxygenRun, false); if (ImGui::ToggleButtonText(_(u8"打印升降轴除氧完毕").c_str(), signalState.m_MoldDeoxygenFinished, isCtrl))m_SignalStateWrapper->m_MoldDeoxygenFinished->SetValue(!signalState.m_MoldDeoxygenFinished); if (ImGui::ToggleButtonText(_(u8"触发打印存粉小车除氧").c_str(), signalState.m_StorgeCarDeoxygenTriger, isCtrl))m_SignalStateWrapper->m_StorgeCarDeoxygenTriger->SetValue(!signalState.m_StorgeCarDeoxygenTriger); ImGui::ToggleButtonText(_(u8"打印存粉小车除氧中").c_str(), signalState.m_StorgeCarDeoxygenRun, false); if (ImGui::ToggleButtonText(_(u8"打印存粉小车除氧完毕").c_str(), signalState.m_StorgeCarDeoxygenFinished, isCtrl))m_SignalStateWrapper->m_StorgeCarDeoxygenFinished->SetValue(!signalState.m_StorgeCarDeoxygenFinished); ImGui::ToggleButtonText(_(u8"清粉箱启动吸尘器").c_str(), signalState.m_CleanBoxVacuumTriger, false); if (ImGui::ToggleButtonText(_(u8"打印室启动吸尘器").c_str(), signalState.m_PrintVacuumTriger, isCtrl))m_SignalStateWrapper->m_PrintVacuumTriger->SetValue(!signalState.m_PrintVacuumTriger); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); if (ImGui::ToggleButtonText(_(u8"屏蔽光栅尺判断").c_str(), signalState.m_DisableRasterJudge, isCtrl))m_SignalStateWrapper->m_DisableRasterJudge->SetValue(!signalState.m_DisableRasterJudge); ImGui::ToggleButtonText(_(u8"光栅尺判断OK").c_str(), signalState.m_RasterJudgeOK, false); ImGui::ToggleButtonText(_(u8"光栅尺判断NG").c_str(), signalState.m_RasterJudgeNG, false); ImGui::ToggleButtonText(_(u8"触发缸体到打印位EN").c_str(), signalState.m_CylinderReachPrintEnable, false); ImGui::ToggleButtonText(_(u8"触发缸体打印位装载EN").c_str(), signalState.m_CylinderPrintLoadEnable, false); ImGui::ToggleButtonText(_(u8"触发缸体打印位卸载EN").c_str(), signalState.m_CylinderPrintUnloadEnable, false); ImGui::ToggleButtonText(_(u8"触发打印升降轴连接缸体EN").c_str(), signalState.m_MoldConnectCylinderEnable, false); ImGui::ToggleButtonText(_(u8"触发打印升降轴分离缸体EN").c_str(), signalState.m_MoldDisconnectCylinderEnable, false); ImGui::ToggleButtonText(_(u8"触发缸体到清粉位EN").c_str(), signalState.m_CylinderReachCleanEnable, false); ImGui::ToggleButtonText(_(u8"触发缸体与清粉箱连接EN").c_str(), signalState.m_CylinderConnectCleanBoxEnable, false); ImGui::ToggleButtonText(_(u8"触发缸体与清粉箱分离EN").c_str(), signalState.m_CylinderDisconnectCleanBoxEnable, false); ImGui::ToggleButtonText(_(u8"触发铺粉EN").c_str(), signalState.m_CoverEnable, false); ImGui::ToggleButtonText(_(u8"触发打印升降轴除氧EN").c_str(), signalState.m_MoldDeoxygenEnable, false); if (ImGui::ToggleButtonText(_(u8"计算移栽寻边偏移值").c_str(), signalState.m_CalcLoadSearchEdgeOffset, isCtrl)) m_SignalStateWrapper->m_CalcLoadSearchEdgeOffset->SetValue(!signalState.m_CalcLoadSearchEdgeOffset); if (ImGui::ToggleButtonText(_(u8"手动测试偏移值").c_str(), signalState.m_ManualTestOffset, isCtrl)) m_SignalStateWrapper->m_ManualTestOffset->SetValue(!signalState.m_ManualTestOffset); ImGui::ToggleButtonText(_(u8"触发打印存粉小车1排粉").c_str(), signalState.m_PrintStoreCar1ExhaustEnable, false); ImGui::ToggleButtonText(_(u8"触发打印存粉小车2排粉").c_str(), signalState.m_PrintStoreCar2ExhaustEnable, false); ImGui::ToggleButtonText(_(u8"触发缸体到吊装位EN").c_str(), signalState.m_CylinderMoveHandPosEnable, false); ImGui::ToggleButtonText(_(u8"触发缸体到吊装位").c_str(), signalState.m_CylinderMoveHandPos, false); ImGui::ToggleButtonText(_(u8"触发缸体到吊装位运行中").c_str(), signalState.m_CylinderMovingHandPos, false); ImGui::ToggleButtonText(_(u8"触发缸体到吊装位完毕").c_str(), signalState.m_CylinderMovedHandPos, false); ImGui::ToggleButtonText(_(u8"打印室换气功能EN").c_str(), signalState.m_PrintAirRenewalEnable, false); if(ImGui::ToggleButtonText(_(u8"触发打印室换气").c_str(), signalState.m_PrintAirRenewalTrigger, isCtrl))m_SignalStateWrapper->m_PrintAirRenewalTrigger->SetValue(!signalState.m_PrintAirRenewalTrigger); ImGui::ToggleButtonText(_(u8"手动铺粉测试").c_str(), signalState.m_ManualCoverTest, false); ImGui::EndGroup(); ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); //if (ImGui::ToggleButtonText(_(u8"存粉小车1使用接粉罐").c_str(), signalState.m_StorageCar1UsePowderJar, isCtrl))m_SignalStateWrapper->m_StorageCar1UsePowderJar->SetValue(!signalState.m_StorageCarUsePowderJar); ImGui::ToggleButtonText(_(u8"滚粉轴寻边中").c_str(), signalState.m_RollerEdgeSearching, false); ImGui::ToggleButtonText(_(u8"滚粉轴寻边成功").c_str(), signalState.m_RollerEdgeSearchSuccess, false); ImGui::ToggleButtonText(_(u8"滚粉轴寻边失败").c_str(), signalState.m_RollerEdgeSearchFaild, false); if (ImGui::ToggleButtonText(_(u8"屏蔽打印位感应器").c_str(), signalState.m_SheildPrintPosSensor, isCtrl))m_SignalStateWrapper->m_SheildPrintPosSensor->SetValue(!signalState.m_SheildPrintPosSensor); if (ImGui::ToggleButtonText(_(u8"使用下粉轴寻边").c_str(), signalState.m_UseSupplySearchEdge, isCtrl))m_SignalStateWrapper->m_UseSupplySearchEdge->SetValue(!signalState.m_UseSupplySearchEdge); if (ImGui::ToggleButtonText(_(u8"屏蔽缸体固定定位感应器").c_str(), signalState.m_SheildCylinderFixSensor, isCtrl))m_SignalStateWrapper->m_SheildCylinderFixSensor->SetValue(!signalState.m_SheildCylinderFixSensor); if (ImGui::ToggleButtonText(_(u8"屏蔽打印支撑气缸").c_str(), signalState.m_SheildPrintSupportCylinder, isCtrl))m_SignalStateWrapper->m_SheildPrintSupportCylinder->SetValue(!signalState.m_SheildPrintSupportCylinder); if (ImGui::ToggleButtonText(_(u8"屏蔽光栅尺").c_str(), signalState.m_SheildLinearEncoder, isCtrl))m_SignalStateWrapper->m_SheildLinearEncoder->SetValue(!signalState.m_SheildLinearEncoder); if (ImGui::ToggleButtonText(_(u8"移载轴使用感应定位").c_str(), signalState.m_LoadAxisUseSensorPos, isCtrl))m_SignalStateWrapper->m_LoadAxisUseSensorPos->SetValue(!signalState.m_LoadAxisUseSensorPos); if (ImGui::ToggleButtonText(_(u8"屏蔽IO动作限制").c_str(), signalState.m_RemoveIOActionLimit, isCtrl))m_SignalStateWrapper->m_RemoveIOActionLimit->SetValue(!signalState.m_RemoveIOActionLimit); if (ImGui::ToggleButtonText(_(u8"屏蔽高压气").c_str(), signalState.m_SheildHighPressure, isCtrl))m_SignalStateWrapper->m_SheildHighPressure->SetValue(!signalState.m_SheildHighPressure); if (ImGui::ToggleButtonText(_(u8"移载打印在后退距离").c_str(), signalState.m_LoadPrintBackDistance, isCtrl))m_SignalStateWrapper->m_LoadPrintBackDistance->SetValue(!signalState.m_LoadPrintBackDistance); if (ImGui::ToggleButtonText(_(u8"使用铺粉臂归原点").c_str(), signalState.m_UseArmCaptureHome, isCtrl))m_SignalStateWrapper->m_UseArmCaptureHome->SetValue(!signalState.m_UseArmCaptureHome); if (ImGui::ToggleButtonText(_(u8"使用电容棒").c_str(), signalState.m_UseCapacityBar, isCtrl))m_SignalStateWrapper->m_UseCapacityBar->SetValue(!signalState.m_UseCapacityBar); ImGui::Text(_(u8"缸体状态:%d").c_str(), 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 = 移载台在吊装位,有缸体\n6 = 移载台在吊装位,无缸体").c_str()); ImGui::PopTextWrapPos(); ImGui::EndTooltip(); } ImGui::EndGroup(); ImGui::EndTabItem(); } ImGui::EndTabBar(); ImGui::End(); } //void HBD1500::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"移载轴轨道等待位").c_str(), &ad.LoadAxisTrackWaitPos, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadAxisTrackWaitPos->SetValue(ad.LoadAxisTrackWaitPos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"移载轴轨道等待位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_LoadAxisTrackWaitPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_LoadAxisTrackWaitPosRecord->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); // } // // // if (ImGui::InputFloat(_(u8"移载轨道吊装位置").c_str(), 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"移载轨道吊装位记录").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_LoadHandPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_LoadHandPosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"移载吊装碰撞位").c_str(), 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"移载吊装碰撞位记录").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_LoadHandCrashPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_LoadHandCrashPosRecord->SetValue(false); // } // ImGui::PopID(); // // 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::InputFloat(_(u8"移栽寻边扭力报警值").c_str(), &ad.m_LoadSearchEdgeTorqueAlarmValue, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_LoadSearchEdgeTorqueAlarmValue->SetValue(ad.m_LoadSearchEdgeTorqueAlarmValue); // } // // if (ImGui::Checkbox(_(u8"屏蔽移载轴扭力判断").c_str(), &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); // if (g_Admin > ADMIN) { // SignalState signalState; // SignalService::GetInstance().GetSignalState(signalState); // if (ImGui::ToggleButtonText(_(u8"计算移栽寻边偏移值").c_str(), signalState.m_CalcLoadSearchEdgeOffset, signalState.m_CylinderState == CylinderInMid)) // { // m_SignalStateWrapper->m_CalcLoadSearchEdgeOffset->SetValue(!signalState.m_CalcLoadSearchEdgeOffset); // } // if (ImGui::ToggleButtonText(_(u8"手动测试偏移值").c_str(), signalState.m_ManualTestOffset, signalState.m_CylinderState == CylinderInMid)) // { // m_SignalStateWrapper->m_ManualTestOffset->SetValue(!signalState.m_ManualTestOffset); // } // } // ImGui::InputFloat(_(u8"负载最大值").c_str(), &loadCfg->m_MaxLoadValue,0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::EndGroup(); // // ImGui::PopItemWidth(); // ImGui::EndChild(); // // ImGui::Text(_(u8"打印升降轴:").c_str()); // ImGui::BeginChild("PrintMoldCfg", ImVec2(0, 480), true, ImGuiWindowFlags_NoScrollWithMouse); // AxisCfg* moldCfg = ConfigManager::Instance()->GetMoldCfg(); // ImGui::PushItemWidth(120.0f); // ImGui::BeginGroup(); // // if (ImGui::InputFloat(_(u8"打印升降与缸体分离位").c_str(), &ad.MoldCylinderSeparatePos,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldCylinderSeparatePos->SetValue(ad.MoldCylinderSeparatePos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印升降与缸体分离位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_MoldCylinderSeparatePosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_MoldCylinderSeparatePosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印3R脱离位").c_str(), &ad.Print3RSeparatePos,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_Print3RSeparatePos->SetValue(ad.Print3RSeparatePos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印3R脱离位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_Print3RSeparateRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_Print3RSeparateRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印3R脱离检测距离").c_str(), &ad.Print3RSeparateCheckDistance,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_Print3RSeparateCheckDistance->SetValue(ad.Print3RSeparateCheckDistance); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印3R脱离检测距离").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_Print3RSeparateCheckDistanceRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_Print3RSeparateCheckDistanceRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印顶升轴除氧压缩最低点").c_str(), &ad.PrintJackupDeoxygenPressureMinPos,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_PrintJackupDeoxygenPressureMinPos->SetValue(ad.PrintJackupDeoxygenPressureMinPos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印顶升轴除氧压缩最低点").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_PrintJackupDeoxygenMinPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_PrintJackupDeoxygenMinPosRecord->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"打印顶升轴基板底座缸平面位置").c_str()); // 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(); // // if (ImGui::InputFloat(_(u8"打印主轴原点编码器值").c_str(), &ad.MoldMainHomeIndexEnc,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldMainHomeIndexEnc->SetValue(ad.MoldMainHomeIndexEnc); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印主轴原点编码器值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_MoldMainHomeIndexRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_MoldMainHomeIndexRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印主轴对齐位编码器值").c_str(), &ad.MoldMainAlignEnc,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldMainAlignEnc->SetValue(ad.MoldMainAlignEnc); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印主轴对齐位编码器值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_MoldMainAlignRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_MoldMainAlignRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印主轴对齐位与原点相对值").c_str(), &ad.MoldMainAlignHomeRel,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldMainAlignHomeRel->SetValue(ad.MoldMainAlignHomeRel); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印主轴对齐位与原点相对值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_MoldMainAlignHomeIndexRelRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_MoldMainAlignHomeIndexRelRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印从轴原点编码器值").c_str(), &ad.MoldSlaveHomeIndexEnc,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldSlaveHomeIndexEnc->SetValue(ad.MoldSlaveHomeIndexEnc); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印从轴原点编码器值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_MoldSlaveHomeIndexRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_MoldSlaveHomeIndexRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印从轴对齐位编码器值").c_str(), &ad.MoldSlaveAlignEnc,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldSlaveAlignEnc->SetValue(ad.MoldSlaveAlignEnc); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印从轴对齐位编码器值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_MoldSlaveAlignRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_MoldSlaveAlignRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"打印从轴对齐位与原点相对值").c_str(), &ad.MoldSlaveAlignHomeRel,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldSlaveAlignHomeRel->SetValue(ad.MoldSlaveAlignHomeRel); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"打印从轴对齐位与原点相对值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_MoldSlaveAlignHomeIndexRelRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_MoldSlaveAlignHomeIndexRelRecord->SetValue(false); // } // ImGui::PopID(); // // static bool isDisableMoldTorqueCheck; // if (isDisableMoldTorqueCheck != m_AxisRecordWrapper->m_DisableMoldTorqueCheck->GetValue()) { // isDisableMoldTorqueCheck = m_AxisRecordWrapper->m_DisableMoldTorqueCheck->GetValue(); // } // if (ImGui::Checkbox(_(u8"屏蔽打印升降轴扭力判断").c_str(), &isDisableMoldTorqueCheck)) { // m_AxisRecordWrapper->m_DisableMoldTorqueCheck->SetValue(isDisableMoldTorqueCheck); // } // // 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"打印3R脱离扭力报警值").c_str(), &ad.Print3RSeparatTorqueThreshold,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_Print3RSeparatTorqueThreshold->SetValue(ad.Print3RSeparatTorqueThreshold); // } // // 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::InputFloat(_(u8"打印升降轴下降除氧位速度").c_str(), &ad.MoldDeoxygenSpeed,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldDeoxygenSpeed->SetValue(ad.MoldDeoxygenSpeed); // } // // if (ImGui::InputScalar(_(u8"打印升降轴除氧时间").c_str(), ImGuiDataType_S32, &ad.MoldDeoxygenTime, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_MoldDeoxygenTime->SetValue(ad.MoldDeoxygenTime); // } // // 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"光栅尺错误判断值").c_str(), 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"间隙补偿差值").c_str(), m_SysParamWrapper->GetEnvUIAssist()->m_GapCompensateDiffValue->GetUIValue(),0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) // { // m_SysParamWrapper->GetEnvUIAssist()->m_GapCompensateDiffValue->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_GapCompensateDiffValue->GetValue()); // } // // if (ImGui::InputFloat(_(u8"卸载升降轴下降距离").c_str(), &ad.m_UnloadDropDistance, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) // { // m_SysParamWrapper->m_UnloadDropDistance->SetValue(ad.m_UnloadDropDistance); // } // // 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"负载最大值").c_str(), &moldCfg->m_MaxLoadValue,0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // // if (ImGui::InputScalar(_(u8"升降伺服位置警示值(μm)").c_str(), ImGuiDataType_U32, &m_RunCfg->m_MoldServoPosWarnOffset, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // } // if (ImGui::InputScalar(_(u8"层光栅位置偏差报警值(μm)").c_str(), ImGuiDataType_U32, &m_RunCfg->m_LayerLinearPosAlarmOffset, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // //m_SysParamWrapper->m_PowderCarDeoxygenTime->SetValue(ad.PowderCarDeoxygenTime); // } // if (ImGui::InputScalar(_(u8"打印光栅累积误差报警值(μm)").c_str(), ImGuiDataType_U32, &m_RunCfg->m_PrintLinearAccDevAlarmOffset, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { // //m_SysParamWrapper->m_PowderCarDeoxygenTime->SetValue(ad.PowderCarDeoxygenTime); // } // if (ImGui::InputFloat(_(u8"允许打印高度").c_str(), &ad.m_AllowPrintHigh, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) // { // m_SysParamWrapper->m_AllowPrintHigh->SetValue(ad.m_AllowPrintHigh); // } // // ImGui::EndGroup(); // // ImGui::PopItemWidth(); // ImGui::EndChild(); // // //清粉轴 // { // ImGui::Text(_(u8"清粉轴:").c_str()); // ImGui::BeginChild("CleanAxisCfg", ImVec2(0, 350), true, ImGuiWindowFlags_NoScrollWithMouse); // AxisCfg* cleanCfg = ConfigManager::Instance()->GetCleanCfg(); // ImGui::PushItemWidth(120); // ImGui::BeginGroup(); // // if (ImGui::InputFloat(_(u8"清粉升降基板底座缸平面位").c_str(), &ad.CleanAxisPlatformAlignPos,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanAxisPlatformAlignPos->SetValue(ad.CleanAxisPlatformAlignPos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉升降基板底座缸平面位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_CleanAxisPlatformAlignPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_CleanAxisPlatformAlignPosRecord->SetValue(false); // } // ImGui::PopID(); // // /* if (ImGui::InputFloat(_(u8"清粉箱与缸体对接位").c_str(), &ad.CleanBoxCylinderConnectPos,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanBoxCylinderConnectPos->SetValue(ad.CleanBoxCylinderConnectPos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉箱与缸体对接位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_CleanBoxCylinderConnectPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_CleanBoxCylinderConnectPosRecord->SetValue(false); // } // ImGui::PopID();*/ // // if (ImGui::InputFloat(_(u8"清粉升降3R对接分离位").c_str(), &ad.Clean3RSeparatePos,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_Clean3RSeparatePos->SetValue(ad.Clean3RSeparatePos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉升降3R对接分离位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_Clean3RSeparatePosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_Clean3RSeparatePosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"清粉升降3R分离检测距离").c_str(), &ad.Clean3RSeparateCheckDistance,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_Clean3RSeparateCheckDistance->SetValue(ad.Clean3RSeparateCheckDistance); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉升降3R分离检测距离").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_Clean3RSeparateCheckDistanceRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_Clean3RSeparateCheckDistanceRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"清粉升降最低点").c_str(), &ad.CleanLowestPos,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanLowestPos->SetValue(ad.CleanLowestPos); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉升降最低点").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_CleanLowestPosRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_CleanLowestPosRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"清粉升降上软限位").c_str(), &ad.CleanUpLimit,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanUpLimit->SetValue(ad.CleanUpLimit); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉升降上软限位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_CleanUpLimitRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_CleanUpLimitRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"清粉升降下软限位").c_str(), &ad.CleanDownLimit,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanDownLimit->SetValue(ad.CleanDownLimit); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉升降下软限位").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_CleanDownLimitRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_CleanDownLimitRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"清粉主轴原点编码器值").c_str(), &ad.CleanMainHomeIndexEnc,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanMainHomeIndexEnc->SetValue(ad.CleanMainHomeIndexEnc); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉主轴原点编码器值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_CleanMainHomeIndexRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_CleanMainHomeIndexRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"清粉主轴对齐位编码器值").c_str(), &ad.CleanMainAlignEnc,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanMainAlignEnc->SetValue(ad.CleanMainAlignEnc); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉主轴对齐位编码器值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_CleanMainAlignRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_CleanMainAlignRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"清粉主轴对齐位与原点相对值").c_str(), &ad.CleanMainAlignHomeRel,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanMainAlignHomeRel->SetValue(ad.CleanMainAlignHomeRel); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉主轴对齐位与原点相对值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_CleanMainAlignHomeIndexRelRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_CleanMainAlignHomeIndexRelRecord->SetValue(false); // } // ImGui::PopID(); // // /*if (ImGui::InputFloat(_(u8"清粉从轴原点编码器值").c_str(), &ad.CleanSlaveHomeIndexEnc,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanSlaveHomeIndexEnc->SetValue(ad.CleanSlaveHomeIndexEnc); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉从轴原点编码器值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_CleanSlaveHomeIndexRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_CleanSlaveHomeIndexRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"清粉从轴对齐位编码器值").c_str(), &ad.CleanSlaveAlignEnc,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanSlaveAlignEnc->SetValue(ad.CleanSlaveAlignEnc); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉从轴对齐位编码器值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_CleanSlaveAlignRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_CleanSlaveAlignRecord->SetValue(false); // } // ImGui::PopID(); // // if (ImGui::InputFloat(_(u8"清粉从轴对齐位与原点相对值").c_str(), &ad.CleanSlaveAlignHomeRel,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanSlaveAlignHomeRel->SetValue(ad.CleanSlaveAlignHomeRel); // } // ImGui::SameLine(); // ImGui::PushID(_(u8"清粉从轴对齐位与原点相对值").c_str()); // if (ImGui::Button(u8"√")) { // m_AxisRecordWrapper->m_CleanSlaveAlignHomeIndexRelRecord->SetValue(true); // Sleep(100); // m_AxisRecordWrapper->m_CleanSlaveAlignHomeIndexRelRecord->SetValue(false); // } // ImGui::PopID();*/ // // // ImGui::EndGroup(); // // ImGui::SameLine(); // ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); // ImGui::SameLine(); // // ImGui::BeginGroup(); // if (ImGui::InputFloat(_(u8"清粉升降轴速度(自动)").c_str(), &ad.CleanAutoSpeed,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanAutoSpeed->SetValue(ad.CleanAutoSpeed); // } // // if (ImGui::InputFloat(_(u8"清粉升降轴加速度(自动)").c_str(), &ad.CleanAutoAcc,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanAutoAcc->SetValue(ad.CleanAutoAcc); // } // // if (ImGui::InputFloat(_(u8"清粉升降轴减速度(自动)").c_str(), &ad.CleanAutoDec,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanAutoDec->SetValue(ad.CleanAutoDec); // } // // if (ImGui::InputFloat(_(u8"清粉升降轴相对位移(自动)").c_str(), &ad.CleanAutoRelShift,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanAutoRelShift->SetValue(ad.CleanAutoRelShift); // } // // if (ImGui::InputFloat(_(u8"清粉升降轴绝对位置(自动)").c_str(), &ad.CleanAutoAbsPos,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanAutoAbsPos->SetValue(ad.CleanAutoAbsPos); // } // // if (ImGui::InputFloat(_(u8"清粉3R脱离扭力报警值").c_str(), &ad.Clean3RSeparatTorqueThrehold,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_Clean3RSeparatTorqueThrehold->SetValue(ad.Clean3RSeparatTorqueThrehold); // } // if (ImGui::InputFloat(_(u8"清粉升降轴上升扭力报警值").c_str(), &ad.CleanUpTorqueThrehold,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanUpTorqueThrehold->SetValue(ad.CleanUpTorqueThrehold); // } // if (ImGui::InputFloat(_(u8"清粉升降轴下降扭力报警值").c_str(), &ad.CleanDownTorqueThreshold,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanDownTorqueThreshold->SetValue(ad.CleanDownTorqueThreshold); // } // // if (ImGui::InputFloat(_(u8"清粉升降轴快速移动速度").c_str(), &ad.CleanHighSpeed,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_CleanHighSpeed->SetValue(ad.CleanHighSpeed); // } // // if (ImGui::InputScalar(_(u8"清粉升降轴绝对值试运行位置列表").c_str(), ImGuiDataType_S16, &ad.CleanAbsTestPos, 0, 0, 0, ImGuiInputTextFlags_EnterReturnsTrue)) { //清粉升降轴绝对值试运行位置列表_RW // m_SysParamWrapper->m_CleanAbsTestPos->SetValue(ad.CleanAbsTestPos); // } // // static bool isDisableCleanTorqueCheck; // if (isDisableCleanTorqueCheck != m_AxisRecordWrapper->m_DisableCleanTorqueCheck->GetValue()) { // isDisableCleanTorqueCheck = m_AxisRecordWrapper->m_DisableCleanTorqueCheck->GetValue(); // } // if (ImGui::Checkbox(_(u8"屏蔽清粉升降轴扭力判断").c_str(), &isDisableCleanTorqueCheck)) { // m_AxisRecordWrapper->m_DisableCleanTorqueCheck->SetValue(isDisableCleanTorqueCheck); // } // ImGui::EndGroup(); // // ImGui::SameLine(); // ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); // ImGui::SameLine(); // // ImGui::BeginGroup(); // if (g_Admin > USER_ADMIN) // { // ImGui::SemicolonCombo(_(u8"电机正转方向").c_str(), &cleanCfg->m_active_direct, directvec); // } // else { // ImGui::PushItemFlag(ImGuiItemFlags_Disabled, true); // ImGui::SemicolonCombo(_(u8"电机正转方向").c_str(), &cleanCfg->m_active_direct, directvec); // ImGui::PopItemFlag(); // } // ImGui::Checkbox(_(u8"显示位置置反").c_str(), &cleanCfg->m_ShowPosInv); // ImGui::InputInt(_(u8"正限位").c_str(), &cleanCfg->m_active_limit, NULL, NULL, ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::InputInt(_(u8"负限位").c_str(), &cleanCfg->m_negactive_limit, NULL, NULL, ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::InputFloat(_(u8"负载最大值").c_str(), &cleanCfg->m_MaxLoadValue,0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::InputDouble(_(u8"铺粉时间偏移毫秒").c_str(), &m_RunCfg->m_CoverSimulateTimeOffset, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::InputDouble(_(u8"铺粉慢风速时间偏移毫秒").c_str(), &m_RunCfg->m_CoverWindSimulateTimeOffset, 0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::EndGroup(); // ImGui::PopItemWidth(); // ImGui::EndChild(); // } // // //铺粉轴 // { // ImGui::Text(_(u8"铺粉轴:").c_str()); // 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"铺粉轴前下粉位").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"铺粉轴归原快速").c_str(), 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"铺粉轴归原慢速").c_str(), 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"屏蔽铺粉轴扭力判断").c_str(), &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"负载最大值").c_str(), &armCfg->m_MaxLoadValue,0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::EndGroup(); // ImGui::PopItemWidth(); // // ImGui::EndChild(); // } // // // ImGui::Text(_(u8"供粉轴:").c_str()); // 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"屏蔽供粉轴扭力判断").c_str(), &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"供粉转轴的格数一圈").c_str(), &ad.m_SupplyPowderGridPerCycle,0, 0, "%.1f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyPowderGridPerCycle->SetValue(ad.m_SupplyPowderGridPerCycle); // } // if (ImGui::InputFloat(_(u8"供粉转轴每格对用度数").c_str(), &ad.m_SupplyAxisAnglePerGrid,0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { // m_SysParamWrapper->m_SupplyAxisAnglePerGrid->SetValue(ad.m_SupplyAxisAnglePerGrid); // } // if (ImGui::InputFloat(_(u8"供粉转轴寻边偏移度数").c_str(), 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"负载最大值").c_str(), &supplyCfg->m_MaxLoadValue,0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue); // ImGui::EndGroup(); // // ImGui::PopItemWidth(); // ImGui::EndChild(); // // ImGui::Text(_(u8"铺粉参数").c_str()); // 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"铺粉归原点触发数").c_str(), 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").c_str(), m_SysParamWrapper->m_AutoCaptureCoverHomeCalcTimes->GetValue()); // // ImGui::Checkbox(_(u8"铺粉减风速").c_str(), &m_ExtCfg->m_AutoCoverSlowWind); // ImGui::EndGroup(); // ImGui::PopItemWidth(); // ImGui::EndChild(); //} void HBD1500::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(); MainAxisState* clean = m_Axis->m_Clean->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); ParamLimitCfg paramLimitfg; m_ParamLimitCfg->GetCfg(paramLimitfg); ChartletManager* chartletManager = ChartletManager::GetInstance(); ImVec2 wpos = ImGui::GetWindowPos(); SignalService::GetInstance().GetSignalState(m_SignalState); if (m_PowderAssist.isLeftExpand) { ImGui::BeginGroup(); vector tabs; tabs.push_back(_(u8"成型缸")); tabs.push_back(_(u8"移载轴")); tabs.push_back(_(u8"铺粉轴")); tabs.push_back(_(u8"供粉轴")); tabs.push_back(_(u8"铺粉")); tabs.push_back(_(u8"控制")); float tabwidth = 0; for (size_t tindex = 0; tindex < tabs.size(); tindex++) { tabwidth = tabwidth + ImGui::CalcTextSize(tabs[tindex].c_str(), 0).x + 15; } ImVec2 showSize = ImVec2(tabwidth, 600); ImGui::BeginChild("AxisSettingChild", showSize, false, ImGuiWindowFlags_NoNav); ImGui::BeginTabBar("AxisSetting"); if (ImGui::BeginTabItem(_(u8"成型缸").c_str())) { ImGui::PushItemWidth(100); if (ImGui::InputFloatEx(_(u8"速度(mm/s)").c_str(), &moldCfgVal.speed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue, ¶mLimitfg.m_MoldSpeedMin, ¶mLimitfg.m_MoldSpeedMax)) { moldCfg->m_Speed->SetValue(moldCfgVal.speed); g_log->TraceInfo(_(u8"更改成型缸速度:%.3f").c_str(), moldCfgVal.speed); } if (ImGui::InputFloatEx(_(u8"加速度(m/s²)").c_str(), &moldCfgVal.acc, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue, ¶mLimitfg.m_MoldAccMin, ¶mLimitfg.m_MoldAccMax)) { moldCfg->m_Acc->SetValue(moldCfgVal.acc); g_log->TraceInfo(_(u8"更改成型缸加速度:%.3f").c_str(), moldCfgVal.acc); } if (ImGui::InputFloatEx(_(u8"减速度(m/s2)").c_str(), &moldCfgVal.dec, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue, ¶mLimitfg.m_MoldDecMin, ¶mLimitfg.m_MoldDecMax)) { moldCfg->m_Dec->SetValue(moldCfgVal.dec); g_log->TraceInfo(_(u8"更新成型缸减速度:%.3f").c_str(), moldCfgVal.dec); } if (ImGui::InputFloatEx(_(u8"点动行程(μm)").c_str(), &moldCfgVal.rel, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue, ¶mLimitfg.m_MoldPointStepMin, ¶mLimitfg.m_MoldPointStepMax)) { 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_MoldMoveSeping->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Mold->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(_(u8"中断打印升降轴移动到缸体分离位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"打印升降轴移动到缸体分离位").c_str()); } else { ImGui::ImageButton(chartletManager->m_MoldMoveSepDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"不能执行打印升降轴移动到缸体分离位").c_str()); } } else { if (ImGui::ImageButton(chartletManager->m_MoldMoveSepEnable->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"执行打印升降轴移动到缸体分离位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"打印升降轴移动到缸体分离位").c_str()); } ImGui::SameLine(); if (mold->m_MoveAbsPos) { if (m_SysParamWrapper->m_MoldAbsTestPos->GetValue() == 1) { if (ImGui::ImageButton(chartletManager->m_MoldMove3RSeping->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Mold->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(_(u8"中断打印升降轴移动到3R脱离位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"中断打印升降轴移动到3R脱离位").c_str()); } else { ImGui::ImageButton(chartletManager->m_MoldMove3RSepDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"不能执行打印升降轴移动到3R脱离位").c_str()); } } else { if (ImGui::ImageButton(chartletManager->m_MoldMove3RSepEnable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_SysParamWrapper->m_MoldAbsTestPos->SetValue(1); m_Axis->m_Mold->GetCtrl()->m_MoveAbsPos->SetValue(true); g_log->TraceInfo(_(u8"执行打印升降轴移动到3R脱离位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"打印升降轴移动到3R脱离位").c_str()); } ImGui::SameLine(); if (mold->m_MoveAbsPos) { if (m_SysParamWrapper->m_MoldAbsTestPos->GetValue() == 2) { if (ImGui::ImageButton(chartletManager->m_MoldMoveDeoxygening->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_Axis->m_Mold->GetCtrl()->m_MoveAbsPos->SetValue(false); g_log->TraceInfo(_(u8"中断打印升降轴移动到除氧最低点").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"中断打印升降轴移动到除氧最低点").c_str()); } else { ImGui::ImageButton(chartletManager->m_MoldMoveDeoxygenDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"不能执行打印升降轴移动到除氧最低点").c_str()); } } else { if (ImGui::ImageButton(chartletManager->m_MoldMoveDeoxygenEnable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) { m_SysParamWrapper->m_MoldAbsTestPos->SetValue(2); m_Axis->m_Mold->GetCtrl()->m_MoveAbsPos->SetValue(true); g_log->TraceInfo(_(u8"执行打印升降轴移动到除氧最低点").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"打印升降轴移动到除氧最低点").c_str()); } ImGui::SameLine(); if (mold->m_MoveAbsPos) { if (m_SysParamWrapper->m_MoldAbsTestPos->GetValue() == 3) { 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"中断打印轴移动到底座缸平面位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"中断打印轴移动到底座缸平面位").c_str()); } else { ImGui::ImageButton(chartletManager->m_MoldMoveDownestDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"不能执行打印轴移动到底座缸平面位").c_str()); } } else { if (ImGui::ImageButton(chartletManager->m_MoldMoveDownestEnable->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"执行打印轴移动到底座缸平面位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"打印轴移动到底座缸平面位").c_str()); } 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"中断打印轴移动到基板缸平面位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"中断打印轴移动到基板缸平面位").c_str()); } else { ImGui::ImageButton(chartletManager->m_MoldMovePlatformDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"不能执行打印轴移动到基板缸平面位").c_str()); } } 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"执行打印轴移动到基板缸平面位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"打印轴移动到基板缸平面位").c_str()); } } ImGui::EndTabItem(); } if (ImGui::BeginTabItem(_(u8"移载轴").c_str())) { ImGui::PushItemWidth(100); if (ImGui::InputFloatEx(_(u8"速度(mm/s)").c_str(), &loadCfgVal.speed, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue, ¶mLimitfg.m_LoadSpeedMin, ¶mLimitfg.m_LoadSpeedMax)) { loadCfg->m_Speed->SetValue(loadCfgVal.speed); g_log->TraceInfo(_(u8"更新移载轴速度:%.3f").c_str(), loadCfgVal.speed); } if (ImGui::InputFloatEx(_(u8"加速度(m/s²)").c_str(), &loadCfgVal.acc, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue, ¶mLimitfg.m_LoadAccMin, ¶mLimitfg.m_LoadAccMax)) { loadCfg->m_Acc->SetValue(loadCfgVal.acc); g_log->TraceInfo(_(u8"更新移载轴加速度:%.3f").c_str(), loadCfgVal.acc); } if (ImGui::InputFloatEx(_(u8"减速度(m/s2)").c_str(), &loadCfgVal.dec, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue, ¶mLimitfg.m_LoadDecMin, ¶mLimitfg.m_LoadDecMax)) { loadCfg->m_Dec->SetValue(loadCfgVal.dec); g_log->TraceInfo(_(u8"更新移载轴减速度:%.3f").c_str(), loadCfgVal.dec); } if (ImGui::InputFloatEx(_(u8"点动行程(μm)").c_str(), &loadCfgVal.rel, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue, ¶mLimitfg.m_LoadPointStepMin, ¶mLimitfg.m_LoadPointStepMax)) { loadCfg->m_RefDistance->SetValue(loadCfgVal.rel); g_log->TraceInfo(_(u8"更新移载轴点动距离:%.3f").c_str(), 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"中断移载轴移动到轨道吊装位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"中断移载轴移动到轨道吊装位").c_str()); } else { ImGui::ImageButton(chartletManager->m_LoadHandPosDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"不能执行移载轴移动到轨道吊装位").c_str()); } } 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"执行移载轴移动到轨道吊装位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"移载轴移动到轨道吊装位").c_str()); } 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"中断移载轴移动到轨道清粉位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"中断移载轴移动到轨道清粉位").c_str()); } else { ImGui::ImageButton(chartletManager->m_LoadCleanPosDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"不能执行移载轴移动到轨道清粉位").c_str()); } } 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"执行移载轴移动到轨道清粉位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"移载轴移动到轨道清粉位").c_str()); } 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"中断移载轴移动到轨道打印位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"中断移载轴移动到轨道打印位").c_str()); } else { ImGui::ImageButton(chartletManager->m_LoadPrintPosDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"不能执行移载轴移动到轨道打印位").c_str()); } } 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"执行移载轴移动到轨道打印位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"移载轴移动到轨道打印位").c_str()); } } 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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), 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"中断铺粉轴移动到接粉位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"中断铺粉轴移动到接粉位").c_str()); } else { ImGui::ImageButton(chartletManager->m_ArmAcceptPosDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"不能执行铺粉轴移动到接粉位").c_str()); } } 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"执行铺粉轴移动到接粉位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"铺粉轴移动到接粉位").c_str()); } ImGui::SameLine(); 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"中断铺粉轴移动到前下粉位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"中断铺粉轴移动到前下粉位").c_str()); } else { ImGui::ImageButton(chartletManager->m_ArmFrontDropPosDisable->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0); if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"不能执行铺粉轴移动到前下粉位").c_str()); } } 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"执行铺粉轴移动到前下粉位").c_str()); } if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"铺粉轴移动到前下粉位").c_str()); } } 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").c_str(), 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").c_str(), 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").c_str(), supplyCfgVal.dec); } if (ImGui::InputScalar(_(u8"粉格").c_str(), ImGuiDataType_Float, &supplyCfgVal.rel, 0, 0, "%.3f", ImGuiInputTextFlags_EnterReturnsTrue)) { supplyCfg->m_RefDistance->SetValue(supplyCfgVal.rel); g_log->TraceInfo(_(u8"更新下粉轴相对移动距离:%.3f").c_str(), supplyCfgVal.rel); } ImGui::PopItemWidth(); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(_(u8"铺粉").c_str())) { 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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), ad.DebugCoverDistance); } ImGui::PopItemWidth(); ImGui::Dummy(ImVec2(0, 20)); if (m_SignalStateWrapper->m_IsCovering->GetValue()) { ImGui::PushID("CoverTrigerStop"); if (ImGui::Button(_(u8"停止").c_str(), ImVec2(-1, 0))) { m_SignalStateWrapper->m_CoverTriger->SetValue(false); g_log->TraceInfo(_(u8"停止铺粉调试").c_str()); } ImGui::PopID(); } else { // if (m_Purifier->IsCoverWindSet()) // { // m_Purifier->ResetSlowWind(); // } if (ImGui::Button(_(u8"铺粉调试").c_str(), 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"执行铺粉调试").c_str()); } else { g_Toast->AddToast(new ToastBean(_(u8"铺粉调试条件不成立").c_str(), 3000)); } } } ImGui::EndTabItem(); } if (g_Admin > USER_ADMIN) { if (ImGui::BeginTabItem(_(u8"控制").c_str())) { /*if (ImGui::Button(_(u8"基板缸平面位置确定").c_str(), ImVec2(-1, 0))) { m_AxisRecordWrapper->m_PrintJackupPlatformPlanePosRecord->SetValue(true); Sleep(100); m_AxisRecordWrapper->m_PrintJackupPlatformPlanePosRecord->SetValue(false); m_RunCfg->m_HadSetBasePlatformPoint = true; }*/ /* if (ImGui::Button(_(u8"基板底座缸平面位置确定").c_str(), ImVec2(-1, 0))) { m_AxisRecordWrapper->m_PrintJackupPlatformBottomPosRecord->SetValue(true); m_AxisRecordWrapper->m_PrintJackupPlatformBottomPosRecord->SetValue(false); } */ if (m_SignalStateWrapper->m_CylinderReachPrintRun->GetValue()) { ImGui::PushID("CylinderReachPrintTrigerStop"); if (ImGui::Button(_(u8"停止").c_str())) { m_SignalStateWrapper->m_CylinderReachPrintTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderReachPrintEnable->GetValue()); if (ImGui::Button(_(u8"移动缸体到打印位").c_str())) { if (m_SignalStateWrapper->m_CylinderReachPrintEnable->GetValue()) { m_SignalStateWrapper->m_CylinderReachPrintTriger->SetValue(true); g_log->TraceInfo(_(u8"执行移动缸体到打印位").c_str()); } else { g_Toast->AddToast(new ToastBean(_(u8"移动缸体到打印位条件不成立").c_str(), 3000)); } m_RunCfg->m_HadSetBasePlatformPoint = false; } ImGui::PopItemFlag(); } if (m_SignalStateWrapper->m_CylinderReachCleanRun->GetValue()) { ImGui::PushID("CylinderReachCleanTrigerStop"); if (ImGui::Button(_(u8"停止").c_str())) { m_SignalStateWrapper->m_CylinderReachCleanTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderReachCleanEnable->GetValue()); if (ImGui::Button(_(u8"移动缸体到清粉位").c_str())) { if (m_SignalStateWrapper->m_CylinderReachCleanEnable->GetValue()) { m_SignalStateWrapper->m_CylinderReachCleanTriger->SetValue(true); g_log->TraceInfo(_(u8"执行移动缸体到清粉位").c_str()); } else { g_Toast->AddToast(new ToastBean(_(u8"移动缸体到清粉位条件不成立").c_str(), 3000)); } } ImGui::PopItemFlag(); } if (m_SignalStateWrapper->m_CylinderPrintLoadRun->GetValue()) { ImGui::PushID("CylinderPrintLoadTrigerStop"); if (ImGui::Button(_(u8"停止").c_str())) { m_SignalStateWrapper->m_CylinderPrintLoadTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderPrintLoadEnable->GetValue()); if (ImGui::Button(_(u8"缸体打印位装载").c_str())) { if (m_SignalStateWrapper->m_CylinderPrintLoadEnable->GetValue()) { m_SignalStateWrapper->m_CylinderPrintLoadTriger->SetValue(true); g_log->TraceInfo(_(u8"执行缸体打印位装载").c_str()); } else { g_Toast->AddToast(new ToastBean(_(u8"缸体打印位装载条件不成立").c_str(), 3000)); } m_RunCfg->m_HadSetBasePlatformPoint = false; } ImGui::PopItemFlag(); } if (m_SignalStateWrapper->m_CylinderConnectCleanBoxRun->GetValue()) { ImGui::PushID("CylinderConnectCleanBoxTrigerStop"); if (ImGui::Button(_(u8"停止").c_str())) { m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderConnectCleanBoxEnable->GetValue()); if (ImGui::Button(_(u8"缸体连接清粉箱").c_str())) { if (m_SignalStateWrapper->m_CylinderConnectCleanBoxEnable->GetValue()) { m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->SetValue(true); g_log->TraceInfo(_(u8"执行缸体连接清粉箱").c_str()); } else { g_Toast->AddToast(new ToastBean(_(u8"缸体连接清粉箱条件不成立").c_str(), 3000)); } } ImGui::PopItemFlag(); } if (m_SignalStateWrapper->m_CylinderPrintUnloadRun->GetValue()) { ImGui::PushID("CylinderPrintUnloadTrigerStop"); if (ImGui::Button(_(u8"停止").c_str())) { m_SignalStateWrapper->m_CylinderPrintUnloadTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderPrintUnloadEnable->GetValue()); if (ImGui::Button(_(u8"缸体打印位卸载").c_str())) { if (m_SignalStateWrapper->m_CylinderPrintUnloadEnable->GetValue()) { m_SignalStateWrapper->m_CylinderPrintUnloadTriger->SetValue(true); g_log->TraceInfo(_(u8"执行缸体打印位卸载").c_str()); } else { g_Toast->AddToast(new ToastBean(_(u8"缸体打印位卸载条件不成立").c_str(), 3000)); } m_RunCfg->m_HadSetBasePlatformPoint = false; } ImGui::PopItemFlag(); } if (m_SignalStateWrapper->m_CylinderDisconnectCleanBoxRun->GetValue()) { ImGui::PushID("CylinderDisconnectCleanBoxTrigerStop"); if (ImGui::Button(_(u8"停止").c_str())) { m_SignalStateWrapper->m_CylinderDisconnectCleanBoxTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_CylinderDisconnectCleanBoxEnable->GetValue()); if (ImGui::Button(_(u8"缸体脱离清粉箱").c_str())) { if (m_SignalStateWrapper->m_CylinderDisconnectCleanBoxEnable->GetValue()) { m_SignalStateWrapper->m_CylinderDisconnectCleanBoxTriger->SetValue(true); g_log->TraceInfo(_(u8"执行缸体脱离清粉箱").c_str()); } else { g_Toast->AddToast(new ToastBean(_(u8"缸体脱离清粉箱条件不成立").c_str(), 3000)); } } ImGui::PopItemFlag(); } if (m_SignalStateWrapper->m_MoldConnectCylinderRun->GetValue()) { ImGui::PushID("MoldConnectCylinderTrigerStop"); if (ImGui::Button(_(u8"停止").c_str())) { m_SignalStateWrapper->m_MoldConnectCylinderTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_MoldConnectCylinderEnable->GetValue()); if (ImGui::Button(_(u8"打印升降轴连接缸体").c_str())) { if (m_SignalStateWrapper->m_MoldConnectCylinderEnable->GetValue()) { m_SignalStateWrapper->m_MoldConnectCylinderTriger->SetValue(true); g_log->TraceInfo(_(u8"执行打印升降轴连接缸体").c_str()); } else { g_Toast->AddToast(new ToastBean(_(u8"打印升降轴连接缸体条件不成立").c_str(), 3000)); } m_RunCfg->m_HadSetBasePlatformPoint = false; } ImGui::PopItemFlag(); } if (m_SignalStateWrapper->m_MoldDisconnectCylinderRun->GetValue()) { ImGui::PushID("MoldDisconnectCylinderTrigerStop"); if (ImGui::Button(_(u8"停止").c_str())) { m_SignalStateWrapper->m_MoldDisconnectCylinderTriger->SetValue(false); } ImGui::PopID(); } else { ImGui::PushItemFlag(ImGuiItemFlags_Disabled, !m_SignalStateWrapper->m_MoldDisconnectCylinderEnable->GetValue()); if (ImGui::Button(_(u8"打印升降轴脱离缸体").c_str())) { if (m_SignalStateWrapper->m_MoldDisconnectCylinderEnable->GetValue()) { m_SignalStateWrapper->m_MoldDisconnectCylinderTriger->SetValue(true); m_SignalStateWrapper->m_MoldDeoxygenFinished->SetValue(false); g_log->TraceInfo(_(u8"执行打印升降轴脱离缸体").c_str()); } else { g_Toast->AddToast(new ToastBean(_(u8"打印升降轴脱离缸体条件不成立").c_str(), 3000)); } m_RunCfg->m_HadSetBasePlatformPoint = false; } ImGui::PopItemFlag(); } ImGui::EndTabItem(); } } ImGui::EndTabBar(); ImGui::EndChild(); if (ImGui::Button(_(u8"运动急停").c_str(), ImVec2(tabwidth, 0))) { //m_Axis->StopAll(); DataHandle::Instance()->SetPushMsg(AXISSTOPALL); g_log->TraceInfo(_(u8"运动急停").c_str()); } ImGui::EndGroup(); ImGui::SameLine(); } ImGui::BeginChild("AxisCtrl", ImVec2(840, 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"移载载出").c_str()); g_log->TraceInfo(_(u8"执行移出").c_str()); } if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"载出").c_str()); } 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"移载载入").c_str()); g_log->TraceInfo(_(u8"执行移入").c_str()); } if (ImGui::IsItemHovered()) { ImGui::SetTooltip(_(u8"载入").c_str()); } if (ImGui::BeginPopupModal(_(u8"移载载入").c_str(), NULL, ImGuiWindowFlags_AlwaysAutoResize)) { if (GetLoadInProcStep() == In_Start) { ImGui::Text(_(u8"移载开始载入").c_str()); } if (GetLoadInProcStep() == In_CylinderDisconnectCleanBox) { ImGui::Text(_(u8"缸体与清粉箱分离中").c_str()); } if (GetLoadInProcStep() == In_CylinderReachPrint) { ImGui::Text(_(u8"缸体到打印位运行中").c_str()); } if (GetLoadInProcStep() == In_CylinderPrintLoad) { ImGui::Text(_(u8"缸体打印位装载运行中").c_str()); } if (GetLoadInProcStep() == In_MoldConnectCylinder) { ImGui::Text(_(u8"打印升降轴连接缸体运行中").c_str()); } if (mp.m_LoadInResut == In_Intercept) { ImGui::TextColored(Toast::COLOR_ORANGE, mp.m_LoadInfo.c_str()); if (ImGui::Button(_(u8"确定").c_str(), 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"确定").c_str(), 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"确定").c_str(), ImVec2(-1, 0))) { ImGui::CloseCurrentPopup(); } } if (IsLoadIn()) { if (ImGui::Button(_(u8"中断载入").c_str(), ImVec2(-1, 0))) { DataHandle::Instance()->SetPushMsg(INTERCEPTLOAD); //InterceptLoad(); } } ImGui::EndPopup(); } if (ImGui::BeginPopupModal(_(u8"移载载出").c_str(), NULL, ImGuiWindowFlags_AlwaysAutoResize)) { if (GetLoadOutProcSetp() == Out_Start) { ImGui::Text(_(u8"移载开始载出").c_str()); } if (GetLoadOutProcSetp() == Out_MoldDisconnectCylinder) { ImGui::Text(_(u8"打印升降轴脱离缸体运行中").c_str()); } if (GetLoadOutProcSetp() == Out_CylinderPrintUnload) { ImGui::Text(_(u8"缸体打印位卸载运行中").c_str()); } if (GetLoadOutProcSetp() == Out_CylinderReachClean) { ImGui::Text(_(u8"缸体到清粉位运行中").c_str()); } if (GetLoadOutProcSetp() == Out_CylinderConnectCleanBox) { ImGui::Text(_(u8"缸体与清粉箱连接中").c_str()); } if (GetLoadOutProcSetp() == Out_CylinderReachHand) { ImGui::Text(_(u8"缸体与吊装位运行中").c_str()); } if (GetLoadOutProcSetp() == Out_CylinderDisconnectCleanBox) { ImGui::Text(_(u8"缸体与清粉箱分离中").c_str()); } if (mp.m_WaitConnectBoxCommit) { if (ImGui::Button(_(u8"执行缸体与清粉箱连接").c_str())) { SetWaitConnectBoxCommit(false); } } if (mp.m_LoadOutResut == Out_Intercept) { ImGui::TextColored(Toast::COLOR_ORANGE, mp.m_LoadInfo.c_str()); if (ImGui::Button(_(u8"确定").c_str(), 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"确定").c_str(), 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"确定").c_str(), ImVec2(-1, 0))) { ImGui::CloseCurrentPopup(); } } if (IsLoadOut()) { if (ImGui::Button(_(u8"中断载出").c_str(), ImVec2(-1, 0))) { DataHandle::Instance()->SetPushMsg(INTERCEPTLOAD); //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").c_str(), 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").c_str(), 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").c_str(), 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").c_str(), 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]往左连续移动").c_str(), 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_Axis->m_Load->MovLimitStop(AxisConfig::ActiveDirect::LEFT); 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]往左连续移动").c_str(), 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]往右连续移动").c_str(), 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_Axis->m_Load->MovLimitStop(AxisConfig::ActiveDirect::RIGHT); 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]往右连续移动").c_str(), 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").c_str(), load->GetShowPos() / 1000.0f); ImGui::Text(_(u8"成型缸:%.3f").c_str(), mold->GetShowPos() / 1000.0f); ImGui::Text(_(u8"铺粉臂:%.3f").c_str(), arm->GetShowPos() / 1000.0f); ImGui::Text(_(u8"清粉位:%.3f").c_str(), clean->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格").c_str(), 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 loadvalue; load->GetValue(loadvalue); AxisStateValue moldValue; mold->GetValue(moldValue); AxisStateValue armValue; arm->GetValue(armValue); AxisData axisData; m_SysParamWrapper->GetAxisData(axisData); float loadposdif = axisData.LoadAxisTrackCleanPos - axisData.LoadAxisTrackPrintPos; if (loadposdif != 0.0f)assit.loadRPos = (loadvalue.Pos - axisData.LoadAxisTrackPrintPos) / loadposdif; else assit.loadRPos = 0.0f; assit.loadRPos = assit.loadRPos > 1.0f ? 1.0f : assit.loadRPos; assit.loadRPos = assit.loadRPos < 0.0f ? 0.0f : assit.loadRPos; /*assit.loadRPos = load->m_RPos>1.0f ? 1.0f : load->m_RPos; int cylinderState = m_SignalStateWrapper->m_CylinderState->GetValue(); if (cylinderState == CylinderInCleanUnConnectBox || cylinderState == CylinderInCleanConnectedBox || cylinderState == CylinderInHandHasCylinder || cylinderState == CylinderInHandNoCylinder) { assit.loadRPos = 1.0f; }*/ assit.moldRpos = moldValue.RPos>1.0f ? 1.0f : moldValue.RPos; assit.armRPos = armValue.RPos; assit.isCleanPressure = m_IOCfgWrapper->m_CleannerPressOn->IsActive(); assit.isPrintPressure = m_IOCfgWrapper->m_PrintPressOn->IsActive(); assit.isPrintMoldSupprt = m_IOCfgWrapper->m_PrintSupportCylinderOn->IsActive(); assit.isPrintJackup = m_IOCfgWrapper->m_PrintJackUpOn->IsActive(); 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::Powder(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_Axis->m_Arm->MovLimitStop(AxisConfig::ActiveDirect::BACK); 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_Axis->m_Arm->MovLimitStop(AxisConfig::ActiveDirect::FRONT); 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"铺粉轴越限解除").c_str()); } } 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").c_str(), 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").c_str(), 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]往上连续移动").c_str(), 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_Axis->m_Mold->MovLimitStop(AxisConfig::ActiveDirect::UP); 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]往上连续移动").c_str(), 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").c_str(), 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").c_str(), 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]往下连续移动").c_str(), 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_Axis->m_Mold->MovLimitStop(AxisConfig::ActiveDirect::DOWN); 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]往连续下移动").c_str(), 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 HBD1500::DrawAnalogExt() { ImGui::SameLine(); ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical); ImGui::SameLine(); ImGui::BeginGroup(); if (ImGui::InputFloat(_(u8"清粉箱除氧设定值").c_str(), m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxDeoxygenSetValue->GetUIValue(),0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxDeoxygenSetValue->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxDeoxygenSetValue->GetValue()); } if (ImGui::InputFloat(_(u8"清粉箱测氧仪下限").c_str(), m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxOxygenDownLimit->GetUIValue(),0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxOxygenDownLimit->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxOxygenDownLimit->GetValue()); } if (ImGui::InputFloat(_(u8"清粉箱测氧仪上限").c_str(), m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxOxygenUpLimit->GetUIValue(),0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxOxygenUpLimit->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxOxygenUpLimit->GetValue()); } if (ImGui::InputFloat(_(u8"清粉箱泄压值").c_str(), m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxPressureReleaseValue->GetUIValue(),0, 0, "%.2f", ImGuiInputTextFlags_EnterReturnsTrue)) { m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxPressureReleaseValue->SetValue(m_SysParamWrapper->GetEnvUIAssist()->m_CleanBoxPressureReleaseValue->GetValue()); } if (ImGui::InputFloat(_(u8"打印小车1报警重量").c_str(), 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报警重量").c_str(), 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报警重量").c_str(), 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报警重量").c_str(), 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"料位棒长度").c_str(), 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"料位棒计算长度").c_str(), &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"料位棒当前值").c_str(), 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"打印室换气泄压值").c_str(), 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 HBD1500::DrawServoState(bool* winShow) { ImGui::Begin(_(u8"伺服状态").c_str(), winShow, ImGuiWindowFlags_NoDocking | ImGuiWindowFlags_NoResize| ImGuiWindowFlags_AlwaysAutoResize); ImGui::BeginTabBar("servo_state"); if (ImGui::BeginTabItem(_(u8"打印轴").c_str())) { AxisStateValue mold; m_Axis->m_Mold->GetState()->GetValue(mold); ImGui::BeginGroup(); //ImGui::Text(_(u8"伺服使能:%s").c_str(), mold.ServoOn ? "YES" : "NO"); ImGui::Text(_(u8"伺服成立原点: %s").c_str(), mold.ServoHomeIndexOn ? "YES" : "NO"); ImGui::Text(_(u8"伺服复位: %s").c_str(), mold.ServoReset ? "YES" : "NO"); ImGui::Text(_(u8"相对上运动: %s").c_str(), mold.MoveP ? "YES" : "NO"); ImGui::Text(_(u8"相对下运动: %s").c_str(), mold.MoveN ? "YES" : "NO"); ImGui::Text(_(u8"上JOG: %s").c_str(), mold.MovePContinue ? "YES" : "NO"); ImGui::Text(_(u8"下JOG: %s").c_str(), mold.MoveNContinue ? "YES" : "NO"); ImGui::Text(_(u8"绝对值运动: %s").c_str(), mold.MoveAbsPos ? "YES" : "NO"); ImGui::Text(_(u8"急停: %s").c_str(), mold.MotionStop ? "YES" : "NO"); ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), mold.ServoRDY ? "YES" : "NO"); ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), mold.ServoHomeDone ? "YES" : "NO"); ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), mold.ResetDone ? "YES" : "NO"); ImGui::Text(_(u8"伺服BUSY: %s").c_str(), mold.ServoBusy ? "YES" : "NO"); ImGui::Text(_(u8"伺服异常: %s").c_str(), mold.ServoException ? "YES" : "NO"); ImGui::Text(_(u8"可运行状态: %s").c_str(), mold.Runable ? "YES" : "NO"); ImGui::Text(_(u8"伺服异常字: %d").c_str(), mold.ExceptionCode); //轴伺服异常字_R ImGui::Text(_(u8"主轴伺服刹车: %s").c_str(), mold.ServoBreakOn ? "YES" : "NO"); ImGui::Text(_(u8"主轴伺服绑定从轴: %s").c_str(), mold.BindSlaveOn ? "YES" : "NO"); ImGui::Text(_(u8"主从轴已经绑定: %s").c_str(), mold.BindSlaveFinish ? "YES" : "NO"); ImGui::Text(_(u8"轴位置: %.3f").c_str(), mold.Pos); ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), 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").c_str(), linearLayerValue); ImGui::Text(_(u8"升降理论行程: %.3f").c_str(), moldTheoryDis); ImGui::Text(_(u8"光栅实际行程: %.3f").c_str(), linearActDis); ImGui::Text(_(u8"光栅实际脉冲数: %.3f").c_str(), linearPulseValue); ImGui::EndGroup(); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(_(u8"清粉轴").c_str())) { AxisStateValue clean; m_Axis->m_Clean->GetState()->GetValue(clean); //ImGui::Text(_(u8"伺服使能:%s").c_str(), clean.ServoOn ? "YES" : "NO"); ImGui::Text(_(u8"伺服成立原点: %s").c_str(), clean.ServoHomeIndexOn ? "YES" : "NO"); ImGui::Text(_(u8"伺服复位: %s").c_str(), clean.ServoReset ? "YES" : "NO"); ImGui::Text(_(u8"相对上运动: %s").c_str(), clean.MoveP ? "YES" : "NO"); ImGui::Text(_(u8"相对下运动: %s").c_str(), clean.MoveN ? "YES" : "NO"); ImGui::Text(_(u8"上JOG: %s").c_str(), clean.MovePContinue ? "YES" : "NO"); ImGui::Text(_(u8"下JOG: %s").c_str(), clean.MoveNContinue ? "YES" : "NO"); ImGui::Text(_(u8"绝对值运动: %s").c_str(), clean.MoveAbsPos ? "YES" : "NO"); ImGui::Text(_(u8"急停: %s").c_str(), clean.MotionStop ? "YES" : "NO"); ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), clean.ServoRDY ? "YES" : "NO"); ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), clean.ServoHomeDone ? "YES" : "NO"); ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), clean.ResetDone ? "YES" : "NO"); ImGui::Text(_(u8"伺服BUSY: %s").c_str(), clean.ServoBusy ? "YES" : "NO"); ImGui::Text(_(u8"伺服异常: %s").c_str(), clean.ServoException ? "YES" : "NO"); ImGui::Text(_(u8"可运行状态: %s").c_str(), clean.Runable ? "YES" : "NO"); ImGui::Text(_(u8"伺服异常字: %d").c_str(), clean.ExceptionCode); //轴伺服异常字_R ImGui::Text(_(u8"主轴伺服刹车: %s").c_str(), clean.ServoBreakOn ? "YES" : "NO"); ImGui::Text(_(u8"主轴伺服绑定从轴: %s").c_str(), clean.BindSlaveOn ? "YES" : "NO"); ImGui::Text(_(u8"主从轴已经绑定: %s").c_str(), clean.BindSlaveFinish ? "YES" : "NO"); ImGui::Text(_(u8"轴位置: %.3f").c_str(), clean.Pos); ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), clean.Torque); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(_(u8"铺粉轴").c_str())) { AxisStateValue arm; m_Axis->m_Arm->GetState()->GetValue(arm); //ImGui::Text(_(u8"伺服使能:%s").c_str(), arm.ServoOn ? "YES" : "NO"); ImGui::Text(_(u8"伺服成立原点: %s").c_str(), arm.ServoHomeIndexOn ? "YES" : "NO"); ImGui::Text(_(u8"伺服复位: %s").c_str(), arm.ServoReset ? "YES" : "NO"); ImGui::Text(_(u8"相对前运动: %s").c_str(), arm.MoveP ? "YES" : "NO"); ImGui::Text(_(u8"相对后运动: %s").c_str(), arm.MoveN ? "YES" : "NO"); ImGui::Text(_(u8"前JOG: %s").c_str(), arm.MovePContinue ? "YES" : "NO"); ImGui::Text(_(u8"后JOG: %s").c_str(), arm.MoveNContinue ? "YES" : "NO"); ImGui::Text(_(u8"绝对值运动: %s").c_str(), arm.MoveAbsPos ? "YES" : "NO"); ImGui::Text(_(u8"急停: %s").c_str(), arm.MotionStop ? "YES" : "NO"); ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), arm.ServoRDY ? "YES" : "NO"); ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), arm.ServoHomeDone ? "YES" : "NO"); ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), arm.ResetDone ? "YES" : "NO"); ImGui::Text(_(u8"伺服BUSY: %s").c_str(), arm.ServoBusy ? "YES" : "NO"); ImGui::Text(_(u8"伺服异常: %s").c_str(), arm.ServoException ? "YES" : "NO"); ImGui::Text(_(u8"可运行状态: %s").c_str(), arm.Runable ? "YES" : "NO"); ImGui::Text(_(u8"伺服异常字: %d").c_str(), arm.ExceptionCode); //轴伺服异常字_R ImGui::Text(_(u8"轴位置: %.3f").c_str(), arm.Pos); ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), arm.Torque); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(_(u8"移载轴").c_str())) { AxisStateValue load; m_Axis->m_Load->GetState()->GetValue(load); //ImGui::Text(_(u8"伺服使能:%s").c_str(), load.ServoOn ? "YES" : "NO"); ImGui::Text(_(u8"伺服成立原点: %s").c_str(), load.ServoHomeIndexOn ? "YES" : "NO"); ImGui::Text(_(u8"伺服复位: %s").c_str(), load.ServoReset ? "YES" : "NO"); ImGui::Text(_(u8"相对右运动: %s").c_str(), load.MoveP ? "YES" : "NO"); ImGui::Text(_(u8"相对左运动: %s").c_str(), load.MoveN ? "YES" : "NO"); ImGui::Text(_(u8"右JOG: %s").c_str(), load.MovePContinue ? "YES" : "NO"); ImGui::Text(_(u8"左JOG: %s").c_str(), load.MoveNContinue ? "YES" : "NO"); ImGui::Text(_(u8"绝对值运动: %s").c_str(), load.MoveAbsPos ? "YES" : "NO"); ImGui::Text(_(u8"急停: %s").c_str(), load.MotionStop ? "YES" : "NO"); ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), load.ServoRDY ? "YES" : "NO"); ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), load.ServoHomeDone ? "YES" : "NO"); ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), load.ResetDone ? "YES" : "NO"); ImGui::Text(_(u8"伺服BUSY: %s").c_str(), load.ServoBusy ? "YES" : "NO"); ImGui::Text(_(u8"伺服异常: %s").c_str(), load.ServoException ? "YES" : "NO"); ImGui::Text(_(u8"可运行状态: %s").c_str(), load.Runable ? "YES" : "NO"); ImGui::Text(_(u8"伺服异常字: %d").c_str(), load.ExceptionCode); //轴伺服异常字_R ImGui::Text(_(u8"轴位置: %.3f").c_str(), load.Pos); ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), load.Torque); ImGui::EndTabItem(); } if (ImGui::BeginTabItem(_(u8"供粉轴").c_str())) { AxisStateValue supply; m_Axis->m_Supply->GetState()->GetValue(supply); //ImGui::Text(_(u8"伺服使能:%s").c_str(), supply.ServoOn ? "YES" : "NO"); ImGui::Text(_(u8"伺服成立原点: %s").c_str(), supply.ServoHomeIndexOn ? "YES" : "NO"); ImGui::Text(_(u8"伺服复位: %s").c_str(), supply.ServoReset ? "YES" : "NO"); ImGui::Text(_(u8"相对右运动: %s").c_str(), supply.MoveP ? "YES" : "NO"); ImGui::Text(_(u8"相对左运动: %s").c_str(), supply.MoveN ? "YES" : "NO"); ImGui::Text(_(u8"右JOG: %s").c_str(), supply.MovePContinue ? "YES" : "NO"); ImGui::Text(_(u8"左JOG: %s").c_str(), supply.MoveNContinue ? "YES" : "NO"); ImGui::Text(_(u8"绝对值运动: %s").c_str(), supply.MoveAbsPos ? "YES" : "NO"); ImGui::Text(_(u8"急停: %s").c_str(), supply.MotionStop ? "YES" : "NO"); ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), supply.ServoRDY ? "YES" : "NO"); ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), supply.ServoHomeDone ? "YES" : "NO"); ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), supply.ResetDone ? "YES" : "NO"); ImGui::Text(_(u8"伺服BUSY: %s").c_str(), supply.ServoBusy ? "YES" : "NO"); ImGui::Text(_(u8"伺服异常: %s").c_str(), supply.ServoException ? "YES" : "NO"); ImGui::Text(_(u8"可运行状态: %s").c_str(), supply.Runable ? "YES" : "NO"); ImGui::Text(_(u8"伺服异常字: %d").c_str(), supply.ExceptionCode); //轴伺服异常字_R ImGui::Text(_(u8"轴位置: %.3f").c_str(), supply.Pos); ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), supply.Torque); ImGui::EndTabItem(); } ImGui::EndTabBar(); ImGui::End(); } void HBD1500::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"); m_SignalStateWrapper->m_OutsideOxygenLackAlarm = new SysParamBool(flag++, 1, cc, u8"外界氧含量不足警告", "OutsideOxygenLackAlarm"); m_SignalStateWrapper->m_LaserChillerAlarm = new SysParamBool(flag++, 1, cc, u8"激光器冷水机报警", "LaserChillerAlarm"); 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_HeatingInputAlarm = new SysParamBool(flag++, 1, cc, u8"加热输入异常", "HeatingInputAlarm"); m_SignalStateWrapper->m_HeatingOutputAlarm = new SysParamBool(flag++, 1, cc, u8"加热输出异常", "HeatingOutputAlarm"); 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_PrintStorageCar1BlockWarn = new SysParamBool(flag++, 1, cc, u8"存粉小车1接粉罐没有连接警示", "PrintStorageCar1BlockWarn"); flag++; m_SignalStateWrapper->m_MoldMainUpLimitActive = new SysParamBool(flag++, 1, cc, u8"打印主轴上限位触发警示", "MoldMainUpLimitActive"); m_SignalStateWrapper->m_MoldMainDownLimitActive = new SysParamBool(flag++, 1, cc, u8"打印主轴下限位触发警示", "MoldMainDownLimitActive"); flag++; flag++; m_SignalStateWrapper->m_Print3RSeparateAlarm = new SysParamBool(flag++, 1, cc, u8"打印3R脱离感应器异常", "Print3RSeparateAlarm"); m_SignalStateWrapper->m_Print3RConnectAlarm = new SysParamBool(flag++, 1, cc, u8"打印3R贴合感应器异常", "Print3RConnectAlarm"); m_SignalStateWrapper->m_Print3RDisableAlarm = new SysParamBool(flag++, 1, cc, u8"打印3R失效异常", "Print3RDisableAlarm"); m_SignalStateWrapper->m_PrintTrackDisableWarn = new SysParamBool(flag++, 1, cc, u8"轨道打印位感应失效警告", "PrintTrackDisableWarn"); m_SignalStateWrapper->m_PrintPressOnDisableAlarm = new SysParamBool(flag++, 1, cc, u8"打印位压紧气缸压紧不到位异常", "PrintPressOnDisableAlarm"); m_SignalStateWrapper->m_PrintPressOffDisableAlarm = new SysParamBool(flag++, 1, cc, u8"打印位压紧气缸松开不到位异常", "PrintPressOffDisableAlarm"); m_SignalStateWrapper->m_PrintJackUpDisableAlarm = new SysParamBool(flag++, 1, cc, u8"打印顶升气缸顶升不到位异常", "PrintJackUpDisableAlarm"); m_SignalStateWrapper->m_PrintJackDownDisableAlarm = new SysParamBool(flag++, 1, cc, u8"打印顶升气缸下降不到位异常", "PrintJackDownDisableAlarm"); m_SignalStateWrapper->m_PrintSupportOnDisableAlarm = new SysParamBool(flag++, 1, cc, u8"打印支撑气缸支撑不到位异常", "PrintSupportOnDisableAlarm"); m_SignalStateWrapper->m_PrintSupportOffDisableAlarm = new SysParamBool(flag++, 1, cc, u8"打印支撑气缸避让不到位异常", "PrintSupportOffDisableAlarm"); m_SignalStateWrapper->m_CylinderExtendOnAlarm = new SysParamBool(flag++, 1, cc, u8"缸体固定气缸伸出不到位异常", "CylinderExtendOnAlarm"); m_SignalStateWrapper->m_CylinderExtendOffAlarm = new SysParamBool(flag++, 1, cc, u8"缸体固定气缸缩回不到位异常", "CylinderExtendOffAlarm"); flag++; m_SignalStateWrapper->m_PrintCylinderVerifyAlarm = new SysParamBool(flag++, 1, cc, u8"打印位缸体检测异常", "PrintCylinderVerifyAlarm"); flag++; flag++; flag++; flag++; flag++; 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_CleanBoxUpOpenAlarm = new SysParamBool(flag++, 1, cc, u8"清粉箱上盖气缸打开不到位异常", "CleanBoxUpOpenAlarm"); m_SignalStateWrapper->m_CleanBoxUpCloseAlarm = new SysParamBool(flag++, 1, cc, u8"清粉箱上盖气缸关闭不到位异常", "CleanBoxUpCloseAlarm"); 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_CleanBoxPressOnAlarm = new SysParamBool(flag++, 1, cc, u8"清粉箱压紧气缸压紧不到位异常", "CleanBoxPressOnAlarm"); m_SignalStateWrapper->m_CleanBoxPressOffAlarm = new SysParamBool(flag++, 1, cc, u8"清粉箱压紧气缸松开不到位异常", "CleanBoxPressOffAlarm"); m_SignalStateWrapper->m_HandPlatformCloseAlarm = new SysParamBool(flag++, 1, cc, u8"吊装盖板关闭异常", "HandPlatformCloseAlarm"); flag++; flag++; flag++; flag++; m_SignalStateWrapper->m_CleanPosPressOnAlarm = new SysParamBool(flag++, 1, cc, u8"清粉位压紧气缸压紧不到位异常", "CleanPosPressOnAlarm"); m_SignalStateWrapper->m_CleanPosPressOffAlarm = new SysParamBool(flag++, 1, cc, u8"清粉位压紧气缸松开不到位异常", "CleanPosPressOffAlarm"); m_SignalStateWrapper->m_CleanPosPreventCylinderOnAlarm = new SysParamBool(flag++, 1, cc, u8"清粉位阻挡气缸阻挡不到位异常", "CleanPosPreventCylinderOnAlarm"); m_SignalStateWrapper->m_CleanPosPreventCylinderOffAlarm = new SysParamBool(flag++, 1, cc, u8"清粉位阻挡气缸避让不到位异常", "CleanPosPreventCylinderOffAlarm"); flag++; flag++; m_SignalStateWrapper->m_Clean3RDisableAlarm = new SysParamBool(flag++, 1, cc, u8"清粉3R失效异常", "Clean3RDisableAlarm"); 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"); m_SignalStateWrapper->m_LoadAxisSearchEdgeDisableAlarm = new SysParamBool(flag++, 1, cc, u8"移载寻边感应器失效异常", "LoadAxisSearchEdgeDisableAlarm"); flag++; flag++; m_SignalStateWrapper->m_PowderPosition1Alarm = new SysParamBool(flag++, 1, cc, u8"粉仓料位感应器1异常", "PowderPosition1Alarm"); m_SignalStateWrapper->m_PowderPosition2Alarm = new SysParamBool(flag++, 1, cc, u8"粉仓料位感应器2异常", "PowderPosition2Alarm"); m_SignalStateWrapper->m_PowderPosition3Alarm = new SysParamBool(flag++, 1, cc, u8"粉仓料位感应器3异常", "PowderPosition3Alarm"); m_SignalStateWrapper->m_PowderPosition4Alarm = new SysParamBool(flag++, 1, cc, u8"粉仓料位感应器4异常", "PowderPosition4Alarm"); m_SignalStateWrapper->m_PowderPosition5Alarm = new SysParamBool(flag++, 1, cc, u8"粉仓料位感应器5异常", "PowderPosition5Alarm"); m_SignalStateWrapper->m_SupplyHomeIndexDisableAlarm = new SysParamBool(flag++, 1, cc, u8"供粉转轴原点失效异常", "SupplyHomeIndexDisableAlarm"); flag++; m_SignalStateWrapper->m_PrintOxygen1DeciceAlarm = new SysParamBool(flag++, 1, cc, u8"打印舱测氧仪1异常", "PrintOxygen1DeciceAlarm"); m_SignalStateWrapper->m_PrintOxygen2DeviceAlarm = new SysParamBool(flag++, 1, cc, u8"打印舱测氧仪2异常", "PrintOxygen2DeviceAlarm"); m_SignalStateWrapper->m_OutsideOxygenDeviceAlarm = new SysParamBool(flag++, 1, cc, u8"室外测氧仪异常", "OutsideOxygenDeviceAlarm"); m_SignalStateWrapper->m_PrintPressureOverLimitAlarm = new SysParamBool(flag++, 1, cc, u8"打印舱压力过高异常", "PrintPressureOverLimitAlarm"); m_SignalStateWrapper->m_ScannerChillerAlarm = new SysParamBool(flag++, 1, cc, u8"光路冷水机报警", "ScannerChillerAlarm"); m_SignalStateWrapper->m_PurifierChillerAlarm = new SysParamBool(flag++, 1, cc, u8"净化器冷水机报警", "PurifierChillerAlarm"); m_SignalStateWrapper->m_MoldTorqueAlarm = new SysParamBool(flag++, 1, cc, u8"打印主轴扭力异常", "MoldTorqueAlarm"); flag++; m_SignalStateWrapper->m_CleanTorqueAlarm = new SysParamBool(flag++, 1, cc, u8"清粉主轴扭力异常", "CleanTorqueAlarm"); 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"); m_SignalStateWrapper->m_CleanMainOverSoftUpLimit = new SysParamBool(flag++, 1, cc, u8"清粉主轴超软上限", "CleanMainOverSoftUpLimit"); m_SignalStateWrapper->m_CleanMainOverSoftDownLimit = new SysParamBool(flag++, 1, cc, u8"清粉主轴超软下限", "CleanMainOverSoftDownLimit"); 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_PrintStorageCar2BlockAlarm = new SysParamBool(flag++, 1, cc, u8"存粉小车2没有连接警示", "PrintStorageCar2BlockAlarm"); flag++; flag++; m_SignalStateWrapper->m_Clean3RPressureLackAlarm = new SysParamBool(flag++, 1, cc, u8"清粉3R压力不足异常", "Clean3RPressureLackAlarm"); m_SignalStateWrapper->m_Print3RPressureLackAlarm = new SysParamBool(flag++, 1, cc, u8"打印3R压力不足异常", "Print3RPressureLackAlarm"); m_SignalStateWrapper->m_LoadElectromagnetDisconnectAlarm = new SysParamBool(flag++, 1, cc, u8"移栽电磁铁分离异常", "LoadElectromagnetDisconnectAlarm"); flag = 70 * 8 + 2; 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"); m_SignalStateWrapper->m_CleanMainServoAlarmSignal = new SysParamBool(flag++, 1, cc, u8"清粉主轴伺服异常", "CleanMainServoAlarmSignal"); m_SignalStateWrapper->m_CleanBoxTopDoorRiseAlarmSignal = new SysParamBool(flag++, 1, cc, u8"清粉箱顶门升高异常", "CleanBoxTopDoorRiseAlarmSignal"); m_SignalStateWrapper->m_CleanBoxTopDoorFallAlarmSignal = new SysParamBool(flag++, 1, cc, u8"清粉箱顶门降低异常", "CleanBoxTopDoorFallAlarmSignal"); m_SignalStateWrapper->m_LinearEncoderCheckAlarmSignal = new SysParamBool(flag++, 1, cc, u8"光栅尺检测异常", "LinearEncoderCheckAlarmSignal"); m_SignalStateWrapper->m_PrintMainSoftStopTrigger = new SysParamBool(flag++, 1, cc, u8"打印主轴软急停触发", "PrintMainSoftStopTrigger"); m_SignalStateWrapper->m_CleanMainSoftStopTrigger = new SysParamBool(flag++, 1, cc, u8"清粉主轴软急停触发", "CleanMainSoftStopTrigger"); m_SignalStateWrapper->m_LoadAxisSoftStopTrigger = new SysParamBool(flag++, 1, cc, u8"移载轴软急停触发", "LoadAxisSoftStopTrigger"); m_SignalStateWrapper->m_CoverSoftStopTrigger = new SysParamBool(flag++, 1, cc, u8"铺粉轴软急停触发", "CoverSoftStopTrigger"); 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"); m_SignalStateWrapper->m_MoldConnectCylinderTriger = new SysParamBool(flag++, 1, cc, u8"触发打印升降轴连接缸体_自动_RW", "MoldConnectCylinderTriger"); m_SignalStateWrapper->m_MoldConnectCylinderRun = new SysParamBool(flag++, 1, cc, u8"打印升降轴连接缸体运行中_自动_RW", "MoldConnectCylinderRun"); m_SignalStateWrapper->m_MoldConnectCylinderFinished = new SysParamBool(flag++, 1, cc, u8"打印升降轴连接缸体完毕_自动_RW", "MoldConnectCylinderFinished"); m_SignalStateWrapper->m_MoldDisconnectCylinderTriger = new SysParamBool(flag++, 1, cc, u8"触发打印升降轴脱离缸体_自动_RW", "MoldDisconnectCylinderTriger"); m_SignalStateWrapper->m_MoldDisconnectCylinderRun = new SysParamBool(flag++, 1, cc, u8"打印升降轴脱离缸体运行中_自动_RW", "MoldDisconnectCylinderRun"); m_SignalStateWrapper->m_MoldDisconnectCylinderFinished = new SysParamBool(flag++, 1, cc, u8"打印缸体脱离缸体完毕_自动_RW", "MoldDisconnectCylinderFinished"); 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"); m_SignalStateWrapper->m_MoldDeoxygenTriger = new SysParamBool(flag++, 1, cc, u8"触发打印升降轴除氧_W", "MoldDeoxygenTriger"); m_SignalStateWrapper->m_MoldDeoxygenRun = new SysParamBool(flag++, 1, cc, u8"打印升降轴除氧中_R", "MoldDeoxygenRun"); m_SignalStateWrapper->m_MoldDeoxygenFinished = new SysParamBool(flag++, 1, cc, u8"打印升降轴除氧完毕_RW", "MoldDeoxygenFinished"); 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"); m_SignalStateWrapper->m_PrintVacuumTriger = new SysParamBool(flag++, 1, cc, u8"打印室启动吸尘器_W", "PrintVacuumTriger"); flag++; flag++; m_SignalStateWrapper->m_DisableRasterJudge = new SysParamBool(flag++, 1, cc, u8"屏蔽光栅尺判断_W", "DisableRasterJudge"); 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"); m_SignalStateWrapper->m_MoldConnectCylinderEnable = new SysParamBool(flag++, 1, cc, u8"触发打印升降轴连接缸体EN_R", "MoldConnectCylinderEnable"); m_SignalStateWrapper->m_MoldDisconnectCylinderEnable = new SysParamBool(flag++, 1, cc, u8"触发打印升降轴分离缸体EN_R", "MoldDisconnectCylinderEnable"); 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"); m_SignalStateWrapper->m_MoldDeoxygenEnable = new SysParamBool(flag++, 1, cc, u8"触发打印升降轴除氧EN_R", "MoldDeoxygenEnable"); m_SignalStateWrapper->m_CalcLoadSearchEdgeOffset = new SysParamBool(flag++, 1, cc, u8"计算移栽寻边偏移值_RW", "CalcLoadSearchEdgeOffset"); m_SignalStateWrapper->m_ManualTestOffset = new SysParamBool(flag++, 1, cc, u8"手动测试偏移值", "ManualTestOffset"); flag = 96 * 8; m_SignalStateWrapper->m_PrintStoreCar1ExhaustEnable = new SysParamBool(flag++, 1, cc, u8"触发打印存粉小车1排粉", "PrintStoreCar1ExhaustEnable"); m_SignalStateWrapper->m_PrintStoreCar2ExhaustEnable = new SysParamBool(flag++, 1, cc, u8"触发打印存粉小车2排粉", "PrintStoreCar2ExhaustEnable"); 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"); flag += 1; 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 = 0; m_SignalStateWrapper->m_SheildPrintPosSensor = new SysParamBool(flag++, 68, cc, u8"屏蔽打印位感应器", "SheildPrintPosSensor"); m_SignalStateWrapper->m_UseSupplySearchEdge = new SysParamBool(flag++, 68, cc, u8"使用下粉轴寻边", "UseSupplySearchEdge"); m_SignalStateWrapper->m_SheildCylinderFixSensor = new SysParamBool(flag++, 68, cc, u8"屏蔽缸体固定定位感应器", "SheildCylinderFixSensor"); flag++; m_SignalStateWrapper->m_SheildPrintSupportCylinder = new SysParamBool(flag++, 68, cc, u8"屏蔽打印支撑气缸", "SheildPrintSupportCylinder"); m_SignalStateWrapper->m_SheildLinearEncoder = new SysParamBool(flag++, 68, cc, u8"屏蔽光栅尺", "SheildLinearEncoder"); m_SignalStateWrapper->m_LoadAxisUseSensorPos = new SysParamBool(flag++, 68, cc, u8"移载轴使用感应器定位", "LoadAxisUseSensorPos"); flag++; m_SignalStateWrapper->m_RemoveIOActionLimit = new SysParamBool(flag++, 68, cc, u8"屏蔽IO动作限制", "RemoveIOActionLimit"); flag++; m_SignalStateWrapper->m_SheildHighPressure = new SysParamBool(flag++, 68, cc, u8"屏蔽高压气", "SheildHighPressure"); flag++; m_SignalStateWrapper->m_LoadPrintBackDistance = new SysParamBool(flag++, 68, cc, u8"移载打印在后退距离", "LoadPrintBackDistance"); m_SignalStateWrapper->m_UseArmCaptureHome = new SysParamBool(flag++, 68, cc, u8"使用铺粉臂归原点", "UseArmCaptureHome"); m_SignalStateWrapper->m_UseCapacityBar = new SysParamBool(flag++, 68, cc, u8"使用电容棒", "UseCapacityBar"); flag = 249 * 8 + 4; m_SignalStateWrapper->m_IsInPrintCylinderSeparatePos = new SysParamBool(flag++, 4, cc, u8"打印缸体分离位", "IsInPrintCylinderSeparatePos"); m_SignalStateWrapper->m_IsInPrint3RSeparatePos = new SysParamBool(flag++, 4, cc, u8"打印3R脱离位", "IsInPrint3RSeparatePos"); m_SignalStateWrapper->m_IsInPrintDeoxygenLowestPos = new SysParamBool(flag++, 4, cc, u8"打印除氧最低位", "IsInPrintDeoxygenLowestPos"); m_SignalStateWrapper->m_IsInPrintPlatformBottomPos = new SysParamBool(flag++, 4, cc, u8"打印基板底座面", "IsInPrintPlatformBottomPos"); m_SignalStateWrapper->m_IsInPrintPlatformFlatPos = new SysParamBool(flag++, 4, cc, u8"打印基板平面", "IsInPrintPlatformFlatPos"); flag++; m_SignalStateWrapper->m_IsInCleanPlatfromBottomPos = new SysParamBool(flag++, 4, cc, u8"清粉基板底座面", "IsInCleanPlatfromBottomPos"); m_SignalStateWrapper->m_IsInClean3RSeparatePos = new SysParamBool(flag++, 4, cc, u8"清粉3R脱离位", "IsInClean3RSeparatePos"); m_SignalStateWrapper->m_IsInCleanLowestPos = new SysParamBool(flag++, 4, cc, u8"清粉最低面", "IsInCleanLowestPos"); m_SignalStateWrapper->m_IsInLoadPrintPos = new SysParamBool(flag++, 4, cc, u8"移载打印位", "IsInLoadPrintPos"); m_SignalStateWrapper->m_IsInLoadCleanPos = new SysParamBool(flag++, 4, cc, u8"移载清粉位", "IsInLoadCleanPos"); m_SignalStateWrapper->m_IsInLoadWaitPos = new SysParamBool(flag++, 4, cc, u8"移载等待位", "IsInLoadWaitPos"); 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_PrintSlaveServoNoAlarm = new SysParamBool(flag++, 1, cc); //打印从轴伺服无异常 flag = 90 * 8 + 2; m_SignalStateWrapper->m_CleanTorqueUpInsideLimit = new SysParamBool(flag++, 1, cc, u8"扭力值在上升扭力范围内", "CleanTorqueUpInsideLimit"); m_SignalStateWrapper->m_CleanAxisPosUpInSoftLimit = new SysParamBool(flag++, 1, cc, u8"轴位置没超过软上限", "CleanAxisPosUpInSoftLimit"); m_SignalStateWrapper->m_CleanTorqueDownInsideLimit = new SysParamBool(flag++, 1, cc, u8"扭力值在下降扭力范围内", "CleanTorqueDownInsideLimit"); m_SignalStateWrapper->m_CleanAxisPosDownInsideSoftLimit = new SysParamBool(flag++, 1, cc, u8"轴位置没超过软下限", "CleanAxisPosDownInsideSoftLimit"); m_SignalStateWrapper->m_CleanUpInsideLimit = new SysParamBool(flag++, 1, cc, u8"上限位没触发", "CleanUpInsideLimit"); m_SignalStateWrapper->m_CleanDownInsideLimit = new SysParamBool(flag++, 1, cc, u8"下限位没触发", "CleanDownInsideLimit"); m_SignalStateWrapper->m_CleanMainServoNoAlarm = new SysParamBool(flag++, 1, cc, u8"清粉主轴伺服无异常", "CleanMainServoNoAlarm"); flag = 92 * 8; m_SignalStateWrapper->m_PrintJackupInSplitePos = new SysParamBool(flag++, 1, cc, u8"打印顶升轴在缸体分离位", "PrintJackupInSplitePos"); 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_PrintPressingInReleasePos = new SysParamBool(flag++, 1, cc, u8"打印位压紧气缸在松开位", "PrintPressingInReleasePos"); m_SignalStateWrapper->m_PrintJackupInDropPos = new SysParamBool(flag++, 1, cc, u8"打印位顶升气缸在下降位", "PrintJackupInDropPos"); m_SignalStateWrapper->m_PrintSupportInAvoidPos = new SysParamBool(flag++, 1, cc, u8"打印位支撑气缸在避让位", "PrintSupportInAvoidPos"); m_SignalStateWrapper->m_CleanPressingInReleasePos = new SysParamBool(flag++, 1, cc, u8"清粉位压紧气缸在松开位", "CleanPressingInReleasePos"); m_SignalStateWrapper->m_CylinderFixInReleasePos = new SysParamBool(flag++, 1, cc, u8"缸体固定气缸在松开位", "CylinderFixInReleasePos"); m_SignalStateWrapper->m_CleanBoxReleasePos = new SysParamBool(flag++, 1, cc, u8"清粉箱松开位", "CleanBoxReleasePos"); 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"); m_SignalStateWrapper->m_CleanAxisInCylinderSeparatePos = new SysParamBool(flag++, 1, cc, u8"清粉升降轴在缸体分离位", "CleanAxisInCylinderSeparatePos"); 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 HBD1500::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; m_SysParamWrapper->m_AllowPrintHigh = new SysParamFloat(flag, 3, cc, u8"允许打印高度", "AllowPrintHigh"); flag += 4; 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 HBD1500::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 = 44; // items[flag].pdata = new unsigned char[44]; // // flag++; // items[flag].Area = S7AreaDB; // items[flag].DBNumber = 68; // items[flag].WordLen = S7WLByte; // items[flag].Start = 0; // items[flag].Amount = 2; // items[flag].pdata = new unsigned char[2]; // // 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 = 6; // items[flag].pdata = new unsigned char[6]; // // flag++; // items[flag].Area = S7AreaDB; // items[flag].DBNumber = 3; // items[flag].WordLen = S7WLByte; // items[flag].Start = 862; // items[flag].Amount = 40; // items[flag].pdata = new unsigned char[40]; // // pcommand->m_Ref = this; // pcommand->m_Fun = &HBD1500::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 = 862; // dataItems[0].pdata = new unsigned char[862]; // pdata->m_Ref = this; // pdata->m_Fun = &HBD1500::ProcReadPLCData; // pdata->isNeedDel = false; // vecs.push_back(pdata); //} //void HBD1500::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; // HBD1500* machine = (HBD1500*)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 pExt = 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_OutsideOxygenLackAlarm->SetReatimeValue(arr56[3]); // machine->m_SignalStateWrapper->m_LaserChillerAlarm->SetReatimeValue(arr56[4]); // 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_HeatingInputAlarm->SetReatimeValue(arr57[6]); // machine->m_SignalStateWrapper->m_HeatingOutputAlarm->SetReatimeValue(arr57[7]); // // 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_PrintStorageCar1BlockWarn->SetReatimeValue(arr58[2]); // machine->m_SignalStateWrapper->m_MoldMainUpLimitActive->SetReatimeValue(arr58[4]); // machine->m_SignalStateWrapper->m_MoldMainDownLimitActive->SetReatimeValue(arr58[5]); // // bitset<8> arr59(arr[59]); // machine->m_SignalStateWrapper->m_Print3RSeparateAlarm->SetReatimeValue(arr59[0]); // machine->m_SignalStateWrapper->m_Print3RConnectAlarm->SetReatimeValue(arr59[1]); // machine->m_SignalStateWrapper->m_Print3RDisableAlarm->SetReatimeValue(arr59[2]); // machine->m_SignalStateWrapper->m_PrintTrackDisableWarn->SetReatimeValue(arr59[3]); // machine->m_SignalStateWrapper->m_PrintPressOnDisableAlarm->SetReatimeValue(arr59[4]); // machine->m_SignalStateWrapper->m_PrintPressOffDisableAlarm->SetReatimeValue(arr59[5]); // machine->m_SignalStateWrapper->m_PrintJackUpDisableAlarm->SetReatimeValue(arr59[6]); // machine->m_SignalStateWrapper->m_PrintJackDownDisableAlarm->SetReatimeValue(arr59[7]); // // bitset<8> arr60(arr[60]); // machine->m_SignalStateWrapper->m_PrintSupportOnDisableAlarm->SetReatimeValue(arr60[0]); // machine->m_SignalStateWrapper->m_PrintSupportOffDisableAlarm->SetReatimeValue(arr60[1]); // machine->m_SignalStateWrapper->m_CylinderExtendOnAlarm->SetReatimeValue(arr60[2]); // machine->m_SignalStateWrapper->m_CylinderExtendOffAlarm->SetReatimeValue(arr60[3]); // machine->m_SignalStateWrapper->m_PrintCylinderVerifyAlarm->SetReatimeValue(arr60[6]); // // 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_CleanBoxUpOpenAlarm->SetReatimeValue(arr62[1]); // machine->m_SignalStateWrapper->m_CleanBoxUpCloseAlarm->SetReatimeValue(arr62[2]); // machine->m_SignalStateWrapper->m_CylinderHandPlatformOpenAlarm->SetReatimeValue(arr62[3]); // machine->m_SignalStateWrapper->m_CylinderHandDoorOpenAlarm->SetReatimeValue(arr62[4]); // machine->m_SignalStateWrapper->m_CleanBoxPressOnAlarm->SetReatimeValue(arr62[5]); // machine->m_SignalStateWrapper->m_CleanBoxPressOffAlarm->SetReatimeValue(arr62[6]); // machine->m_SignalStateWrapper->m_HandPlatformCloseAlarm->SetReatimeValue(arr62[7]); // // bitset<8> arr63(arr[63]); // machine->m_SignalStateWrapper->m_CleanPosPressOnAlarm->SetReatimeValue(arr63[4]); // machine->m_SignalStateWrapper->m_CleanPosPressOffAlarm->SetReatimeValue(arr63[5]); // machine->m_SignalStateWrapper->m_CleanPosPreventCylinderOnAlarm->SetReatimeValue(arr63[6]); // machine->m_SignalStateWrapper->m_CleanPosPreventCylinderOffAlarm->SetReatimeValue(arr63[7]); // // bitset<8> arr64(arr[64]); // machine->m_SignalStateWrapper->m_Clean3RDisableAlarm->SetReatimeValue(arr64[2]); // 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]); // machine->m_SignalStateWrapper->m_LoadAxisSearchEdgeDisableAlarm->SetReatimeValue(arr64[7]); // // bitset<8> arr65(arr[65]); // machine->m_SignalStateWrapper->m_PowderPosition1Alarm->SetReatimeValue(arr65[2]); // machine->m_SignalStateWrapper->m_PowderPosition2Alarm->SetReatimeValue(arr65[3]); // machine->m_SignalStateWrapper->m_PowderPosition3Alarm->SetReatimeValue(arr65[4]); // machine->m_SignalStateWrapper->m_PowderPosition4Alarm->SetReatimeValue(arr65[5]); // machine->m_SignalStateWrapper->m_PowderPosition5Alarm->SetReatimeValue(arr65[6]); // machine->m_SignalStateWrapper->m_SupplyHomeIndexDisableAlarm->SetReatimeValue(arr65[7]); // // bitset<8> arr66(arr[66]); // machine->m_SignalStateWrapper->m_PrintOxygen1DeciceAlarm->SetReatimeValue(arr66[1]); // machine->m_SignalStateWrapper->m_PrintOxygen2DeviceAlarm->SetReatimeValue(arr66[2]); // machine->m_SignalStateWrapper->m_OutsideOxygenDeviceAlarm->SetReatimeValue(arr66[3]); // machine->m_SignalStateWrapper->m_PrintPressureOverLimitAlarm->SetReatimeValue(arr66[4]); // machine->m_SignalStateWrapper->m_ScannerChillerAlarm->SetReatimeValue(arr66[5]); // machine->m_SignalStateWrapper->m_PurifierChillerAlarm->SetReatimeValue(arr66[6]); // machine->m_SignalStateWrapper->m_MoldTorqueAlarm->SetReatimeValue(arr66[7]); // // bitset<8> arr67(arr[67]); // machine->m_SignalStateWrapper->m_CleanTorqueAlarm->SetReatimeValue(arr67[1]); // 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_CleanMainOverSoftUpLimit->SetReatimeValue(arr68[1]); // machine->m_SignalStateWrapper->m_CleanMainOverSoftDownLimit->SetReatimeValue(arr68[2]); // 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_PrintStorageCar2BlockAlarm->SetReatimeValue(arr69[1]); // machine->m_SignalStateWrapper->m_Clean3RPressureLackAlarm->SetReatimeValue(arr69[4]); // machine->m_SignalStateWrapper->m_Print3RPressureLackAlarm->SetReatimeValue(arr69[5]); // machine->m_SignalStateWrapper->m_LoadElectromagnetDisconnectAlarm->SetReatimeValue(arr69[6]); // // bitset<8> arr70(arr[70]); // 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]); // machine->m_SignalStateWrapper->m_CleanMainServoAlarmSignal->SetReatimeValue(arr70[6]); // machine->m_SignalStateWrapper->m_CleanBoxTopDoorRiseAlarmSignal->SetReatimeValue(arr70[7]); // // bitset<8> arr71(arr[71]); // machine->m_SignalStateWrapper->m_CleanBoxTopDoorFallAlarmSignal->SetReatimeValue(arr71[0]); // machine->m_SignalStateWrapper->m_LinearEncoderCheckAlarmSignal->SetReatimeValue(arr71[1]); // machine->m_SignalStateWrapper->m_PrintMainSoftStopTrigger->SetReatimeValue(arr71[2]); // machine->m_SignalStateWrapper->m_CleanMainSoftStopTrigger->SetReatimeValue(arr71[3]); // machine->m_SignalStateWrapper->m_LoadAxisSoftStopTrigger->SetReatimeValue(arr71[4]); // machine->m_SignalStateWrapper->m_CoverSoftStopTrigger->SetReatimeValue(arr71[5]); // // 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_MoldConnectCylinderTriger->SetReatimeValue(arr81[1]); // machine->m_SignalStateWrapper->m_MoldConnectCylinderRun->SetReatimeValue(arr81[2]); // machine->m_SignalStateWrapper->m_MoldConnectCylinderFinished->SetReatimeValue(arr81[3]); // machine->m_SignalStateWrapper->m_MoldDisconnectCylinderTriger->SetReatimeValue(arr81[4]); // machine->m_SignalStateWrapper->m_MoldDisconnectCylinderRun->SetReatimeValue(arr81[5]); // machine->m_SignalStateWrapper->m_MoldDisconnectCylinderFinished->SetReatimeValue(arr81[6]); // 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_MoldDeoxygenTriger->SetReatimeValue(arr84[0]); // machine->m_SignalStateWrapper->m_MoldDeoxygenRun->SetReatimeValue(arr84[1]); // machine->m_SignalStateWrapper->m_MoldDeoxygenFinished->SetReatimeValue(arr84[2]); // 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]); // machine->m_SignalStateWrapper->m_PrintVacuumTriger->SetReatimeValue(arr84[7]); // // bitset<8> arr85(arr[85]); // machine->m_SignalStateWrapper->m_DisableRasterJudge->SetReatimeValue(arr85[2]); // 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_MoldConnectCylinderEnable->SetReatimeValue(arr86[0]); // machine->m_SignalStateWrapper->m_MoldDisconnectCylinderEnable->SetReatimeValue(arr86[1]); // 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]); // machine->m_SignalStateWrapper->m_MoldDeoxygenEnable->SetReatimeValue(arr86[6]); // machine->m_SignalStateWrapper->m_CalcLoadSearchEdgeOffset->SetReatimeValue(arr86[7]); // // bitset<8> arr87(arr[87]); // machine->m_SignalStateWrapper->m_ManualTestOffset->SetReatimeValue(arr87[0]); // // 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_PrintSlaveServoNoAlarm->SetReatimeValue(arr89[0]); // // bitset<8> arr90(arr[90]); // // machine->m_SignalStateWrapper->m_CleanTorqueUpInsideLimit->SetReatimeValue(arr90[2]); // machine->m_SignalStateWrapper->m_CleanAxisPosUpInSoftLimit->SetReatimeValue(arr90[3]); // machine->m_SignalStateWrapper->m_CleanTorqueDownInsideLimit->SetReatimeValue(arr90[4]); // machine->m_SignalStateWrapper->m_CleanAxisPosDownInsideSoftLimit->SetReatimeValue(arr90[5]); // machine->m_SignalStateWrapper->m_CleanUpInsideLimit->SetReatimeValue(arr90[6]); // machine->m_SignalStateWrapper->m_CleanDownInsideLimit->SetReatimeValue(arr90[7]); // bitset<8> arr91(arr[91]); // machine->m_SignalStateWrapper->m_CleanMainServoNoAlarm->SetReatimeValue(arr91[0]); // // bitset<8> arr92(arr[92]); // machine->m_SignalStateWrapper->m_PrintJackupInSplitePos->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_PrintPressingInReleasePos->SetReatimeValue(arr92[4]); // machine->m_SignalStateWrapper->m_PrintJackupInDropPos->SetReatimeValue(arr92[5]); // machine->m_SignalStateWrapper->m_PrintSupportInAvoidPos->SetReatimeValue(arr92[6]); // machine->m_SignalStateWrapper->m_CleanPressingInReleasePos->SetReatimeValue(arr92[7]); // // bitset<8> arr93(arr[93]); // machine->m_SignalStateWrapper->m_CylinderFixInReleasePos->SetReatimeValue(arr93[0]); // machine->m_SignalStateWrapper->m_CleanBoxReleasePos->SetReatimeValue(arr93[1]); // machine->m_SignalStateWrapper->m_LoadLeftNotInsideLimit->SetReatimeValue(arr93[2]); // machine->m_SignalStateWrapper->m_LoadRightNotInsideLimit->SetReatimeValue(arr93[3]); // machine->m_SignalStateWrapper->m_LoadServoNoAlarm->SetReatimeValue(arr93[4]); // machine->m_SignalStateWrapper->m_CleanAxisInCylinderSeparatePos->SetReatimeValue(arr93[5]); // // 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_PrintStoreCar1ExhaustEnable->SetReatimeValue(arr96[0]); // machine->m_SignalStateWrapper->m_PrintStoreCar2ExhaustEnable->SetReatimeValue(arr96[1]); // 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_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_IsInPrint3RSeparatePos->SetReatimeValue(arr249[5]); //打印3R脱离位 // machine->m_SignalStateWrapper->m_IsInPrintDeoxygenLowestPos->SetReatimeValue(arr249[6]); //打印除氧最低位 // 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_IsInCleanPlatfromBottomPos->SetReatimeValue(arr250[2]); //清粉基板底座面 // machine->m_SignalStateWrapper->m_IsInClean3RSeparatePos->SetReatimeValue(arr250[3]); //清粉3R脱离位 // machine->m_SignalStateWrapper->m_IsInCleanLowestPos->SetReatimeValue(arr250[4]); //清粉最低面 // machine->m_SignalStateWrapper->m_IsInLoadPrintPos->SetReatimeValue(arr250[5]); //移载打印位 // machine->m_SignalStateWrapper->m_IsInLoadCleanPos->SetReatimeValue(arr250[6]); //移载清粉位 // machine->m_SignalStateWrapper->m_IsInLoadWaitPos->SetReatimeValue(arr250[7]); //移载等待位 // // 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]); // machine->m_AxisRecordWrapper->m_DisableCleanTorqueCheck->SetReatimeValue(arr41[7]); // // 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_PCPrintUpDownOverLimitAlarm->SetReatimeValue(arr42[5]); // machine->m_AxisRecordWrapper->m_PCPrintUpDownOverLimitAlarmRemove->SetReatimeValue(arr42[6]); // machine->m_AxisRecordWrapper->m_PCCleanUpDownOverLimitAlarm->SetReatimeValue(arr42[7]); // // bitset<8> arr43(arr[43]); // machine->m_AxisRecordWrapper->m_PCCleanUpDownOverLimitAlarmRemove->SetReatimeValue(arr43[0]); // machine->m_AxisRecordWrapper->m_PCLoadOverLimitAlarm->SetReatimeValue(arr43[1]); // machine->m_AxisRecordWrapper->m_PCLoadOverLimitAlarmRemove->SetReatimeValue(arr43[2]); // machine->m_AxisRecordWrapper->m_PCArmOverLimitAlarm->SetReatimeValue(arr43[3]); // machine->m_AxisRecordWrapper->m_PCArmOverLimitAlarmRemove->SetReatimeValue(arr43[4]); // } // // if (pPersistState.Result == 0) { // unsigned char* arr = (unsigned char*)pPersistState.pdata; // bitset<8> arr0(arr[0]); // machine->m_SignalStateWrapper->m_SheildPrintPosSensor->SetReatimeValue(arr0[0]); // machine->m_SignalStateWrapper->m_UseSupplySearchEdge->SetReatimeValue(arr0[1]); // machine->m_SignalStateWrapper->m_SheildCylinderFixSensor->SetReatimeValue(arr0[2]); // machine->m_SignalStateWrapper->m_SheildPrintSupportCylinder->SetReatimeValue(arr0[4]); // machine->m_SignalStateWrapper->m_SheildLinearEncoder->SetReatimeValue(arr0[5]); // machine->m_SignalStateWrapper->m_LoadAxisUseSensorPos->SetReatimeValue(arr0[6]); // // bitset<8> arr1(arr[1]); // machine->m_SignalStateWrapper->m_RemoveIOActionLimit->SetReatimeValue(arr1[0]); //屏蔽前后定位气缸 // machine->m_SignalStateWrapper->m_SheildHighPressure->SetReatimeValue(arr1[2]); //屏蔽高压气 // machine->m_SignalStateWrapper->m_LoadPrintBackDistance->SetReatimeValue(arr1[4]); //移载打印在后退距离 // machine->m_SignalStateWrapper->m_UseArmCaptureHome->SetReatimeValue(arr1[5]); // machine->m_SignalStateWrapper->m_UseCapacityBar->SetReatimeValue(arr1[6]); // // } // // 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); // } // // if (pExt.Result==0) { // unsigned char* arr = (unsigned char*)pExt.pdata; // int flagtemp = 862; // int flag = 862 - flagtemp; // machine->m_SysParamWrapper->m_PrintHomeSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 866 - flagtemp; // machine->m_SysParamWrapper->m_CleanHomeSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 870 - flagtemp; // machine->m_SysParamWrapper->m_LoadHomeSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 874 - flagtemp; // machine->m_SysParamWrapper->m_LoadSearchEdgeTorqueAlarmValue->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 = 886 - flagtemp; // machine->m_SysParamWrapper->m_UnloadDropDistance->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_AllowPrintHigh->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // // } //} // //void HBD1500::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; // HBD1500* machine = (HBD1500*)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 = 8; // machine->m_SysParamWrapper->m_OutsideOxygen->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 = 40; // machine->m_SysParamWrapper->m_OutsideOxygenMax->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 44; // machine->m_SysParamWrapper->m_OutsideOxygenMin->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 = 72; // machine->m_SysParamWrapper->m_OutsideOxygenAlarmValue->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_Clean->GetState()->UpdatePosAndLoad(&arr[flag]); // flag = 148; // machine->m_Axis->m_CleanSlave->GetState()->UpdatePosAndLoad(&arr[flag]); // flag = 156; // machine->m_Axis->m_Clean->GetConfig()->Update(&arr[flag]); // flag = 176; // machine->m_Axis->m_CleanSlave->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_MoldCylinderSeparatePos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 284; // machine->m_SysParamWrapper->m_Print3RSeparatePos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 288; // machine->m_SysParamWrapper->m_Print3RSeparateCheckDistance->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 292; // machine->m_SysParamWrapper->m_PrintJackupDeoxygenPressureMinPos->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_CleanAxisPlatformAlignPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // // flag = 324; // machine->m_SysParamWrapper->m_Clean3RSeparatePos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 328; // machine->m_SysParamWrapper->m_Clean3RSeparateCheckDistance->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 332; // machine->m_SysParamWrapper->m_CleanLowestPos->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 336; // machine->m_SysParamWrapper->m_CleanUpLimit->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 340; // machine->m_SysParamWrapper->m_CleanDownLimit->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_CleanAbsTestPos->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_CleanMainHomeIndexEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 432; // machine->m_SysParamWrapper->m_CleanMainAlignEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 436; // machine->m_SysParamWrapper->m_CleanMainAlignHomeRel->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 440; // machine->m_SysParamWrapper->m_CleanSlaveHomeIndexEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 444; // machine->m_SysParamWrapper->m_CleanSlaveAlignEnc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 448; // machine->m_SysParamWrapper->m_CleanSlaveAlignHomeRel->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_CleanAutoSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 476; // machine->m_SysParamWrapper->m_CleanAutoAcc->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 480; // machine->m_SysParamWrapper->m_CleanAutoDec->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 484; // machine->m_SysParamWrapper->m_CleanAutoRelShift->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 488; // machine->m_SysParamWrapper->m_CleanAutoAbsPos->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 = 564; // machine->m_SysParamWrapper->m_Clean3RSeparatTorqueThrehold->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 568; // machine->m_SysParamWrapper->m_CleanUpTorqueThrehold->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 572; // machine->m_SysParamWrapper->m_CleanDownTorqueThreshold->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 = 630; // machine->m_SysParamWrapper->m_CleanHighSpeed->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_CleanMainLead->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 690; // machine->m_SysParamWrapper->m_CleanMainReductionRatio->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 694; // machine->m_SysParamWrapper->m_CleanMainMaxRotationlSpeed->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 698; // machine->m_SysParamWrapper->m_CleanSlaveLead->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 702; // machine->m_SysParamWrapper->m_CleanSlaveReductionRatio->SetReatimeValue(S7FLOATDATA(arr[flag + 3], arr[flag + 2], arr[flag + 1], arr[flag]).fValue); // flag = 706; // machine->m_SysParamWrapper->m_CleanSlaveMaxRotationlSpeed->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); // } // // //} //void HBD1500::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_OutsideOxygenLackAlarm = m_SignalStateWrapper->m_OutsideOxygenLackAlarm->GetValue(); //外界氧含量不足警告 // signalState.m_LaserChillerAlarm = m_SignalStateWrapper->m_LaserChillerAlarm->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_HeatingInputAlarm = m_SignalStateWrapper->m_HeatingInputAlarm->GetValue(); //加热输入异常 // signalState.m_HeatingOutputAlarm = m_SignalStateWrapper->m_HeatingOutputAlarm->GetValue(); //加热输出异常 // // signalState.m_PrintStorageCar1JarFullWarn = m_SignalStateWrapper->m_PrintStorageCar1JarFullWarn->GetValue(); //存粉小车粉罐已满警示 // signalState.m_PrintStorageCar1DisconnectWarn = m_SignalStateWrapper->m_PrintStorageCar1DisconnectWarn->GetValue(); //打印存粉小车1没有连接警示 // signalState.m_PrintStorageCar1BlockWarn = m_SignalStateWrapper->m_PrintStorageCar1BlockWarn->GetValue(); //打印存粉小车1堵塞警示 // // signalState.m_MoldMainUpLimitActive = m_SignalStateWrapper->m_MoldMainUpLimitActive->GetValue(); //打印主轴上限位触发警示 // signalState.m_MoldMainDownLimitActive = m_SignalStateWrapper->m_MoldMainDownLimitActive->GetValue(); //打印主轴下限位触发警示 // signalState.m_Print3RSeparateAlarm = m_SignalStateWrapper->m_Print3RSeparateAlarm->GetValue(); //打印3R脱离感应器异常 // signalState.m_Print3RConnectAlarm = m_SignalStateWrapper->m_Print3RConnectAlarm->GetValue(); //打印3R贴合感应器异常 // signalState.m_Print3RDisableAlarm = m_SignalStateWrapper->m_Print3RDisableAlarm->GetValue(); //打印3R失效异常 // signalState.m_PrintTrackDisableWarn = m_SignalStateWrapper->m_PrintTrackDisableWarn->GetValue(); //轨道打印位感应失效警告 // signalState.m_PrintPressOnDisableAlarm = m_SignalStateWrapper->m_PrintPressOnDisableAlarm->GetValue(); //打印位压紧气缸压紧不到位异常 // signalState.m_PrintPressOffDisableAlarm = m_SignalStateWrapper->m_PrintPressOffDisableAlarm->GetValue(); //打印位压紧气缸松开不到位异常 // signalState.m_PrintJackUpDisableAlarm = m_SignalStateWrapper->m_PrintJackUpDisableAlarm->GetValue(); //打印顶升气缸顶升不到位异常 // signalState.m_PrintJackDownDisableAlarm = m_SignalStateWrapper->m_PrintJackDownDisableAlarm->GetValue(); //打印顶升气缸下降不到位异常 // signalState.m_PrintSupportOnDisableAlarm = m_SignalStateWrapper->m_PrintSupportOnDisableAlarm->GetValue(); //打印支撑气缸支撑不到位异常 // signalState.m_PrintSupportOffDisableAlarm = m_SignalStateWrapper->m_PrintSupportOffDisableAlarm->GetValue(); //打印支撑气缸避让不到位异常 // signalState.m_CylinderExtendOnAlarm = m_SignalStateWrapper->m_CylinderExtendOnAlarm->GetValue(); //缸体固定气缸伸出不到位异常 // signalState.m_CylinderExtendOffAlarm = m_SignalStateWrapper->m_CylinderExtendOffAlarm->GetValue(); //缸体固定气缸缩回不到位异常 // signalState.m_PrintCylinderVerifyAlarm = m_SignalStateWrapper->m_PrintCylinderVerifyAlarm->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_CleanBoxUpOpenAlarm = m_SignalStateWrapper->m_CleanBoxUpOpenAlarm->GetValue(); //清粉箱上盖气缸打开不到位异常 // signalState.m_CleanBoxUpCloseAlarm = m_SignalStateWrapper->m_CleanBoxUpCloseAlarm->GetValue(); //清粉箱上盖气缸关闭不到位异常 // signalState.m_CylinderHandPlatformOpenAlarm = m_SignalStateWrapper->m_CylinderHandPlatformOpenAlarm->GetValue(); //清粉箱支撑气缸支撑不到位异常 // signalState.m_CylinderHandDoorOpenAlarm = m_SignalStateWrapper->m_CylinderHandDoorOpenAlarm->GetValue(); //清粉箱支撑气缸避让不到位异常 // signalState.m_CleanBoxPressOnAlarm = m_SignalStateWrapper->m_CleanBoxPressOnAlarm->GetValue(); //清粉箱压紧气缸压紧不到位异常 // signalState.m_CleanBoxPressOffAlarm = m_SignalStateWrapper->m_CleanBoxPressOffAlarm->GetValue(); //清粉箱压紧气缸松开不到位异常 // signalState.m_HandPlatformCloseAlarm = m_SignalStateWrapper->m_HandPlatformCloseAlarm->GetValue(); //吊装盖板关闭异常 // signalState.m_CleanPosPressOnAlarm = m_SignalStateWrapper->m_CleanPosPressOnAlarm->GetValue(); //清粉位压紧气缸压紧不到位异常 // signalState.m_CleanPosPressOffAlarm = m_SignalStateWrapper->m_CleanPosPressOffAlarm->GetValue(); //清粉位压紧气缸松开不到位异常 // signalState.m_CleanPosPreventCylinderOnAlarm = m_SignalStateWrapper->m_CleanPosPreventCylinderOnAlarm->GetValue(); // signalState.m_CleanPosPreventCylinderOffAlarm = m_SignalStateWrapper->m_CleanPosPreventCylinderOffAlarm->GetValue(); // signalState.m_Clean3RDisableAlarm = m_SignalStateWrapper->m_Clean3RDisableAlarm->GetValue(); //清粉3R失效异常 // 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_LoadAxisSearchEdgeDisableAlarm = m_SignalStateWrapper->m_LoadAxisSearchEdgeDisableAlarm->GetValue(); //移载寻边感应器失效异常 // signalState.m_PowderPosition1Alarm = m_SignalStateWrapper->m_PowderPosition1Alarm->GetValue(); //粉仓料位感应器1异常 // signalState.m_PowderPosition2Alarm = m_SignalStateWrapper->m_PowderPosition2Alarm->GetValue(); //粉仓料位感应器2异常 // signalState.m_PowderPosition3Alarm = m_SignalStateWrapper->m_PowderPosition3Alarm->GetValue(); //粉仓料位感应器3异常 // signalState.m_PowderPosition4Alarm = m_SignalStateWrapper->m_PowderPosition4Alarm->GetValue(); //粉仓料位感应器4异常 // signalState.m_PowderPosition5Alarm = m_SignalStateWrapper->m_PowderPosition5Alarm->GetValue(); //粉仓料位感应器5异常 // signalState.m_SupplyHomeIndexDisableAlarm = m_SignalStateWrapper->m_SupplyHomeIndexDisableAlarm->GetValue(); //供粉转轴原点失效异常 // signalState.m_PrintOxygen1DeciceAlarm = m_SignalStateWrapper->m_PrintOxygen1DeciceAlarm->GetValue(); //打印舱测氧仪1异常 // signalState.m_PrintOxygen2DeviceAlarm = m_SignalStateWrapper->m_PrintOxygen2DeviceAlarm->GetValue(); //打印舱测氧仪2异常 // signalState.m_OutsideOxygenDeviceAlarm = m_SignalStateWrapper->m_OutsideOxygenDeviceAlarm->GetValue(); //室外测氧仪异常 // signalState.m_PrintPressureOverLimitAlarm = m_SignalStateWrapper->m_PrintPressureOverLimitAlarm->GetValue(); //打印舱压力过高异常 // signalState.m_ScannerChillerAlarm = m_SignalStateWrapper->m_ScannerChillerAlarm->GetValue(); //光路冷水机报警 // signalState.m_PurifierChillerAlarm = m_SignalStateWrapper->m_PurifierChillerAlarm->GetValue(); //净化器冷水机报警 // // signalState.m_MoldTorqueAlarm = m_SignalStateWrapper->m_MoldTorqueAlarm->GetValue(); //打印主轴扭力异常 // signalState.m_CleanTorqueAlarm = m_SignalStateWrapper->m_CleanTorqueAlarm->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_CleanMainOverSoftUpLimit = m_SignalStateWrapper->m_CleanMainOverSoftUpLimit->GetValue(); //清粉主轴超软上限 // signalState.m_CleanMainOverSoftDownLimit = m_SignalStateWrapper->m_CleanMainOverSoftDownLimit->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_PrintStorageCar2BlockAlarm = m_SignalStateWrapper->m_PrintStorageCar2BlockAlarm->GetValue(); //打印存粉小车2堵塞报警 // // signalState.m_Clean3RPressureLackAlarm= m_SignalStateWrapper->m_Clean3RPressureLackAlarm->GetValue(); //清粉3R压力不足异常 // signalState.m_Print3RPressureLackAlarm = m_SignalStateWrapper->m_Print3RPressureLackAlarm->GetValue(); //打印3R压力不足异常 // signalState.m_LoadElectromagnetDisconnectAlarm = m_SignalStateWrapper->m_LoadElectromagnetDisconnectAlarm->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_CleanMainServoAlarmSignal = m_SignalStateWrapper->m_CleanMainServoAlarmSignal->GetValue(); //清粉主轴伺服异常 // signalState.m_CleanBoxTopDoorRiseAlarmSignal = m_SignalStateWrapper->m_CleanBoxTopDoorRiseAlarmSignal->GetValue(); // signalState.m_CleanBoxTopDoorFallAlarmSignal = m_SignalStateWrapper->m_CleanBoxTopDoorFallAlarmSignal->GetValue(); // signalState.m_LinearEncoderCheckAlarmSignal = m_SignalStateWrapper->m_LinearEncoderCheckAlarmSignal->GetValue(); // signalState.m_PrintMainSoftStopTrigger = m_SignalStateWrapper->m_PrintMainSoftStopTrigger->GetValue(); // signalState.m_CleanMainSoftStopTrigger = m_SignalStateWrapper->m_CleanMainSoftStopTrigger->GetValue(); // signalState.m_LoadAxisSoftStopTrigger = m_SignalStateWrapper->m_LoadAxisSoftStopTrigger->GetValue(); // signalState.m_CoverSoftStopTrigger = m_SignalStateWrapper->m_CoverSoftStopTrigger->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_MoldConnectCylinderTriger = m_SignalStateWrapper->m_MoldConnectCylinderTriger->GetValue(); //触发打印升降轴连接缸体_自动_RW // signalState.m_MoldConnectCylinderRun = m_SignalStateWrapper->m_MoldConnectCylinderRun->GetValue(); //打印升降轴连接缸体运行中_自动_RW // signalState.m_MoldConnectCylinderFinished = m_SignalStateWrapper->m_MoldConnectCylinderFinished->GetValue(); //打印升降轴连接缸体完毕_自动_RW // signalState.m_MoldDisconnectCylinderTriger = m_SignalStateWrapper->m_MoldDisconnectCylinderTriger->GetValue(); //触发打印升降轴脱离缸体_自动_RW // signalState.m_MoldDisconnectCylinderRun = m_SignalStateWrapper->m_MoldDisconnectCylinderRun->GetValue(); //打印升降轴脱离缸体运行中_自动_RW // signalState.m_MoldDisconnectCylinderFinished = m_SignalStateWrapper->m_MoldDisconnectCylinderFinished->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_MoldDeoxygenTriger = m_SignalStateWrapper->m_MoldDeoxygenTriger->GetValue(); //触发打印升降轴除氧_W // signalState.m_MoldDeoxygenRun = m_SignalStateWrapper->m_MoldDeoxygenRun->GetValue(); //打印升降轴除氧中_R // signalState.m_MoldDeoxygenFinished = m_SignalStateWrapper->m_MoldDeoxygenFinished->GetValue(); //打印升降轴除氧完毕_RW // 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_PrintVacuumTriger = m_SignalStateWrapper->m_PrintVacuumTriger->GetValue(); //打印室启动吸尘器_W // signalState.m_DisableRasterJudge = m_SignalStateWrapper->m_DisableRasterJudge->GetValue(); //屏蔽光栅尺判断_W // 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_MoldConnectCylinderEnable = m_SignalStateWrapper->m_MoldConnectCylinderEnable->GetValue(); //触发打印升降轴连接缸体EN_R // signalState.m_MoldDisconnectCylinderEnable = m_SignalStateWrapper->m_MoldDisconnectCylinderEnable->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_MoldDeoxygenEnable = m_SignalStateWrapper->m_MoldDeoxygenEnable->GetValue(); //触发打印升降轴除氧EN_R // // signalState.m_CalcLoadSearchEdgeOffset = m_SignalStateWrapper->m_CalcLoadSearchEdgeOffset->GetValue(); // signalState.m_ManualTestOffset = m_SignalStateWrapper->m_ManualTestOffset->GetValue(); // // // // signalState.m_SheildPrintPosSensor = m_SignalStateWrapper->m_SheildPrintPosSensor->GetValue(); // signalState.m_UseSupplySearchEdge = m_SignalStateWrapper->m_UseSupplySearchEdge->GetValue(); // signalState.m_SheildCylinderFixSensor = m_SignalStateWrapper->m_SheildCylinderFixSensor->GetValue(); // signalState.m_SheildPrintSupportCylinder = m_SignalStateWrapper->m_SheildPrintSupportCylinder->GetValue(); // signalState.m_SheildLinearEncoder = m_SignalStateWrapper->m_SheildLinearEncoder->GetValue(); // signalState.m_LoadAxisUseSensorPos = m_SignalStateWrapper->m_LoadAxisUseSensorPos->GetValue(); // signalState.m_RemoveIOActionLimit = m_SignalStateWrapper->m_RemoveIOActionLimit->GetValue(); //屏蔽IO动作限制 // signalState.m_SheildHighPressure = m_SignalStateWrapper->m_SheildHighPressure->GetValue(); //屏蔽高压气 // signalState.m_LoadPrintBackDistance = m_SignalStateWrapper->m_LoadPrintBackDistance->GetValue(); //移载打印在后退距离 // signalState.m_UseArmCaptureHome = m_SignalStateWrapper->m_UseArmCaptureHome->GetValue(); // signalState.m_UseCapacityBar = m_SignalStateWrapper->m_UseCapacityBar->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_PrintSlaveServoNoAlarm = m_SignalStateWrapper->m_PrintSlaveServoNoAlarm->GetValue(); //打印从轴伺服无异常 // // // signalState.m_CleanTorqueUpInsideLimit = m_SignalStateWrapper->m_CleanTorqueUpInsideLimit->GetValue(); //扭力值在上升扭力范围内 // signalState.m_CleanAxisPosUpInSoftLimit = m_SignalStateWrapper->m_CleanAxisPosUpInSoftLimit->GetValue(); //轴位置没超过软上限 // signalState.m_CleanTorqueDownInsideLimit = m_SignalStateWrapper->m_CleanTorqueDownInsideLimit->GetValue(); //扭力值在下降扭力范围内 // signalState.m_CleanAxisPosDownInsideSoftLimit = m_SignalStateWrapper->m_CleanAxisPosDownInsideSoftLimit->GetValue(); //轴位置没超过软下限 // signalState.m_CleanUpInsideLimit = m_SignalStateWrapper->m_CleanUpInsideLimit->GetValue(); //上限位没触发 // signalState.m_CleanDownInsideLimit = m_SignalStateWrapper->m_CleanDownInsideLimit->GetValue(); //下限位没触发 // signalState.m_CleanMainServoNoAlarm = m_SignalStateWrapper->m_CleanMainServoNoAlarm->GetValue(); //清粉主轴伺服无异常 // // signalState.m_PrintJackupInSplitePos = m_SignalStateWrapper->m_PrintJackupInSplitePos->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_PrintPressingInReleasePos = m_SignalStateWrapper->m_PrintPressingInReleasePos->GetValue(); //打印位压紧气缸在松开位 // signalState.m_PrintJackupInDropPos = m_SignalStateWrapper->m_PrintJackupInDropPos->GetValue(); //打印位顶升气缸在下降位 // signalState.m_PrintSupportInAvoidPos = m_SignalStateWrapper->m_PrintSupportInAvoidPos->GetValue(); //打印位支撑气缸在避让位 // signalState.m_CleanPressingInReleasePos = m_SignalStateWrapper->m_CleanPressingInReleasePos->GetValue(); //清粉位压紧气缸在松开位 // signalState.m_CylinderFixInReleasePos = m_SignalStateWrapper->m_CylinderFixInReleasePos->GetValue(); //缸体固定气缸在松开位 // signalState.m_CleanBoxReleasePos = m_SignalStateWrapper->m_CleanBoxReleasePos->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_CleanAxisInCylinderSeparatePos = m_SignalStateWrapper->m_CleanAxisInCylinderSeparatePos->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_PrintStoreCar1ExhaustEnable = m_SignalStateWrapper->m_PrintStoreCar1ExhaustEnable->GetValue(); //触发打印存粉小车1排粉 // signalState.m_PrintStoreCar2ExhaustEnable = m_SignalStateWrapper->m_PrintStoreCar2ExhaustEnable->GetValue(); //触发打印存粉小车2排粉 // 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_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_IsInPrint3RSeparatePos = m_SignalStateWrapper->m_IsInPrint3RSeparatePos->GetValue(); //打印3R脱离位 // signalState.m_IsInPrintDeoxygenLowestPos = m_SignalStateWrapper->m_IsInPrintDeoxygenLowestPos->GetValue(); //打印除氧最低位 // signalState.m_IsInPrintPlatformBottomPos = m_SignalStateWrapper->m_IsInPrintPlatformBottomPos->GetValue(); //打印基板底座面 // signalState.m_IsInPrintPlatformFlatPos = m_SignalStateWrapper->m_IsInPrintPlatformFlatPos->GetValue(); //打印基板平面 // signalState.m_IsInCleanPlatfromBottomPos = m_SignalStateWrapper->m_IsInCleanPlatfromBottomPos->GetValue(); //清粉基板底座面 // signalState.m_IsInClean3RSeparatePos = m_SignalStateWrapper->m_IsInClean3RSeparatePos->GetValue(); //清粉3R脱离位 // signalState.m_IsInCleanLowestPos = m_SignalStateWrapper->m_IsInCleanLowestPos->GetValue(); //清粉最低面 // signalState.m_IsInLoadPrintPos = m_SignalStateWrapper->m_IsInLoadPrintPos->GetValue(); //移载打印位 // signalState.m_IsInLoadWaitPos = m_SignalStateWrapper->m_IsInLoadWaitPos->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 HBD1500::LoadInRun() { // SetLoadInProcStep(In_Start); // if (m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInHandNoCylinder) { // SetLoadInResult(In_Intercept, _(u8"请先装入缸体").c_str()); // return; // } // // if ((m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInPrintLoaded) && // m_IOCfgWrapper->m_Print3RCylinderContact->IsActive()) { // SetLoadInResult(In_Success, _(u8"缸体已载入完成").c_str()); // return; // } // // if (m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInCleanConnectedBox) { // SetLoadInProcStep(In_CylinderDisconnectCleanBox); // m_SignalStateWrapper->m_CylinderDisconnectCleanBoxTriger->SetValue(true); // Sleep(1000); // while (m_SignalStateWrapper->m_CylinderDisconnectCleanBoxRun->GetValue()) { // Sleep(300); // if (!m_LoadCtrlFlag) { // m_SignalStateWrapper->m_CylinderDisconnectCleanBoxTriger->SetValue(false); // break; // } // } // if (!m_LoadCtrlFlag) { // SetLoadInResult(In_Intercept, _(u8"载入中断").c_str()); // return; // } // int count = 0; // bool isTimeout = true; // while (m_LoadCtrlFlag && (count < 120)) // { // Sleep(500); // if (m_SignalStateWrapper->m_CylinderDisconnectCleanBoxFinished->GetValue()) { // isTimeout = false; // break; // } // count++; // } // Sleep(500); // if (!m_SignalStateWrapper->m_CylinderDisconnectCleanBoxFinished->GetValue()) { // stringstream ss; // ss << _(u8"缸体与清粉箱分离异常:\n").c_str(); // SignalState signalState; // SignalService::GetInstance().GetSignalState(signalState); // if (signalState.m_HighPressureLackAlarm) ss << _(u8"高压气压力不足异常\n").c_str(); // if (signalState.m_CleanPosPressOffAlarm) ss << _(u8"清粉位压紧气缸松开不到位异常\n").c_str(); // if (signalState.m_SystemStopAlarm) ss << _(u8"系统急停异常\n").c_str(); // if (signalState.m_PrintMainSoftStopTrigger) ss << _(u8"打印主轴软急停触发\n").c_str(); // if (signalState.m_CleanMainSoftStopTrigger) ss << _(u8"清粉主轴软急停触发\n").c_str(); // if (signalState.m_LoadAxisSoftStopTrigger) ss << _(u8"移载轴软急停触发\n").c_str(); // if (signalState.m_CoverSoftStopTrigger) ss << _(u8"铺粉轴软急停触发\n").c_str(); // if (isTimeout)ss << _(u8"等待缸体与清粉箱分离完成信号超时\n").c_str(); // SetLoadInResult(In_CylinderDisconnectCleanBoxError, ss.str()); // return; // } // if (m_SignalStateWrapper->m_CylinderDisconnectCleanBoxFinished->GetValue()) { // m_SignalStateWrapper->m_CylinderDisconnectCleanBoxFinished->SetValue(false); // } // Sleep(1000); // } // if (!m_LoadCtrlFlag) { // SetLoadInResult(In_Intercept, _(u8"载入中断").c_str()); // return; // } // // // if (m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInCleanUnConnectBox || // m_SignalStateWrapper->m_CylinderState->GetValue() ==CylinderInHandHasCylinder || // m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInMid) { // SetLoadInProcStep(In_CylinderReachPrint); // m_SignalStateWrapper->m_CylinderReachPrintTriger->SetValue(true); // Sleep(1000); // while (m_SignalStateWrapper->m_CylinderReachPrintRun->GetValue()) { // Sleep(300); // if (!m_LoadCtrlFlag) { // m_SignalStateWrapper->m_CylinderReachPrintTriger->SetValue(false); // break; // } // } // if (!m_LoadCtrlFlag) { // SetLoadInResult(In_Intercept, _(u8"载入中断").c_str()); // return; // } // Sleep(500); // if (!m_SignalStateWrapper->m_CylinderReachPrintFinished->GetValue()) { // stringstream ss; // ss << _(u8"缸体移动到打印位异常:\n").c_str(); // SignalState signalState; // SignalService::GetInstance().GetSignalState(signalState); // if (signalState.m_HighPressureLackAlarm) ss << _(u8"高压气压力不足异常\n").c_str(); // if (signalState.m_PrintPressOffDisableAlarm) ss << _(u8"打印位压紧气缸松开不到位异常\n").c_str(); // if (signalState.m_PrintJackDownDisableAlarm) ss << _(u8"打印顶升气缸下降不到位异常\n").c_str(); // if (signalState.m_PrintSupportOffDisableAlarm) ss << _(u8"打印支撑气缸避让不到位异常\n").c_str(); // if (signalState.m_CylinderExtendOffAlarm) ss << _(u8"缸体固定气缸缩回不到位异常\n").c_str(); // if (signalState.m_PrintPressOnDisableAlarm) ss << _(u8"打印位压紧气缸压紧不到位异常\n").c_str(); // if (signalState.m_SystemStopAlarm) ss << _(u8"系统急停异常\n").c_str(); // if (signalState.m_LoadAxisServoAlarmSignal) ss << _(u8"移载轴伺服驱动器异常\n").c_str(); // if (signalState.m_LoadAxisOverSoftLeftLimit) ss << _(u8"移载轴超左软限\n").c_str(); // if (signalState.m_LoadAxisOverSoftRightLimit) ss << _(u8"移载轴超右软限\n").c_str(); // if (signalState.m_LoadAxisLeftLimit) ss << _(u8"移载轴左限位触发警示\n").c_str(); // if (signalState.m_LoadAxisRightLimit) ss << _(u8"移载轴右限位触发警示\n").c_str(); // if (signalState.m_LoadTorqueAlarm) ss << _(u8"移载轴扭力异常\n").c_str(); // if (signalState.m_CylinderHandDoorOpenAlarm) ss << _(u8"缸体吊装门打开异常\n").c_str(); // if (signalState.m_CleanBoxPressOffAlarm) ss << _(u8"清粉箱松开不到位异常\n").c_str(); // if (signalState.m_CleanPosPreventCylinderOffAlarm) ss << _(u8"清粉位阻挡气缸避让不到位异常\n").c_str(); // if (signalState.m_HandPlatformCloseAlarm) ss << _(u8"吊装盖板关闭异常\n").c_str(); // if (signalState.m_LoadElectromagnetDisconnectAlarm) ss << _(u8"移栽电磁铁与缸体错误分离异常\n").c_str(); // if (signalState.m_Clean3RPressureLackAlarm) ss << _(u8"清粉3R压力不足,脱离失败报警\n").c_str(); // if (signalState.m_PrintMainSoftStopTrigger) ss << _(u8"打印主轴软急停触发\n").c_str(); // if (signalState.m_CleanMainSoftStopTrigger) ss << _(u8"清粉主轴软急停触发\n").c_str(); // if (signalState.m_LoadAxisSoftStopTrigger) ss << _(u8"移载轴软急停触发\n").c_str(); // if (signalState.m_CoverSoftStopTrigger) ss << _(u8"铺粉轴软急停触发\n").c_str(); // SetLoadInResult(In_CylinderReachPrintError, ss.str()); // return; // } // if (m_SignalStateWrapper->m_CylinderReachPrintFinished->GetValue()) { // m_SignalStateWrapper->m_CylinderReachPrintFinished->SetValue(false); // } // Sleep(1000); // } // if (!m_LoadCtrlFlag) { // SetLoadInResult(In_Intercept, _(u8"载入中断").c_str()); // return; // } // // if (m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInPrintUnLoaded) { // // if (!m_IOCfgWrapper->m_Print3RCylinderContact->IsActive()) { // SetLoadInProcStep(In_MoldConnectCylinder); // m_SignalStateWrapper->m_MoldConnectCylinderTriger->SetValue(true); // Sleep(1000); // while (m_SignalStateWrapper->m_MoldConnectCylinderRun->GetValue()) { // Sleep(300); // if (!m_LoadCtrlFlag) { // m_SignalStateWrapper->m_MoldConnectCylinderTriger->SetValue(false); // break; // } // } // if (!m_LoadCtrlFlag) { // SetLoadInResult(In_Intercept, _(u8"载入中断").c_str()); // return; // } // Sleep(500); // if (!m_SignalStateWrapper->m_MoldConnectCylinderFinished->GetValue()) { // stringstream ss; // ss << _(u8"打印升降轴连接缸体异常:\n").c_str(); // SignalState signalState; // SignalService::GetInstance().GetSignalState(signalState); // if (signalState.m_HighPressureLackAlarm) ss << _(u8"高压气压力不足异常\n").c_str(); // if (signalState.m_SystemStopAlarm) ss << _(u8"系统急停异常\n").c_str(); // if (signalState.m_PrintMainServoAlarmSignal) ss << _(u8"打印主轴伺服驱动器异常\n").c_str(); // if (signalState.m_PrintMainOverSoftUpLimit) ss << _(u8"打印主轴超软上限\n").c_str(); // if (signalState.m_PrintMainOverSoftDownLimit) ss << _(u8"打印主轴超软下限\n").c_str(); // if (signalState.m_MoldMainUpLimitActive) ss << _(u8"打印主轴上限位触发警示\n").c_str(); // if (signalState.m_MoldMainDownLimitActive) ss << _(u8"打印主轴下限位触发警示\n").c_str(); // if (signalState.m_MoldTorqueAlarm) ss << _(u8"打印主轴扭力异常\n").c_str(); // if (signalState.m_PrintMainServoAlarmSignal) ss << _(u8"打印主轴伺服驱动器异常\n").c_str(); // if (signalState.m_PrintMainSoftStopTrigger) ss << _(u8"打印主轴软急停触发\n").c_str(); // if (signalState.m_CleanMainSoftStopTrigger) ss << _(u8"清粉主轴软急停触发\n").c_str(); // if (signalState.m_LoadAxisSoftStopTrigger) ss << _(u8"移载轴软急停触发\n").c_str(); // if (signalState.m_CoverSoftStopTrigger) ss << _(u8"铺粉轴软急停触发\n").c_str(); // SetLoadInResult(In_MoldConnectCylinderError, ss.str()); // return; // } // if (m_SignalStateWrapper->m_MoldConnectCylinderFinished->GetValue()) { // m_SignalStateWrapper->m_MoldConnectCylinderFinished->SetValue(false); // } // Sleep(1000); // } // // if (!m_LoadCtrlFlag) { // SetLoadInResult(In_Intercept, _(u8"载入中断").c_str()); // return; // } // // SetLoadInProcStep(In_CylinderPrintLoad); // m_SignalStateWrapper->m_CylinderPrintLoadTriger->SetValue(true); // Sleep(1000); // while (m_SignalStateWrapper->m_CylinderPrintLoadRun->GetValue()) { // Sleep(300); // if (!m_LoadCtrlFlag) { // m_SignalStateWrapper->m_CylinderPrintLoadTriger->SetValue(false); // break; // } // } // if (!m_LoadCtrlFlag) { // SetLoadInResult(In_Intercept, _(u8"载入中断").c_str()); // return; // } // Sleep(500); // if (!m_SignalStateWrapper->m_CylinderPrintLoadFinished->GetValue()) { // stringstream ss; // ss << _(u8"缸体打印位装载异常:\n").c_str(); // SignalState signalState; // SignalService::GetInstance().GetSignalState(signalState); // if (signalState.m_HighPressureLackAlarm) ss << _(u8"高压气压力不足异常\n").c_str(); // if (signalState.m_PrintSupportOffDisableAlarm) ss << _(u8"打印支撑气缸避让不到位异常\n").c_str(); // if (signalState.m_CylinderExtendOnAlarm) ss << _(u8"缸体固定气缸伸出不到位异常\n").c_str(); // if (signalState.m_CylinderExtendOffAlarm) ss << _(u8"缸体固定气缸缩回不到位异常\n").c_str(); // if (signalState.m_PrintJackUpDisableAlarm) ss << _(u8"打印顶升气缸顶升不到位异常\n").c_str(); // if (signalState.m_PrintSupportOnDisableAlarm) ss << _(u8"打印支撑气缸支撑不到位异常\n").c_str(); // if (signalState.m_PrintJackDownDisableAlarm) ss << _(u8"打印顶升气缸下降不到位异常\n").c_str(); // if (signalState.m_SystemStopAlarm) ss << _(u8"系统急停异常\n").c_str(); // if (signalState.m_PrintMainSoftStopTrigger) ss << _(u8"打印主轴软急停触发\n").c_str(); // if (signalState.m_CleanMainSoftStopTrigger) ss << _(u8"清粉主轴软急停触发\n").c_str(); // if (signalState.m_LoadAxisSoftStopTrigger) ss << _(u8"移载轴软急停触发\n").c_str(); // if (signalState.m_CoverSoftStopTrigger) ss << _(u8"铺粉轴软急停触发\n").c_str(); // SetLoadInResult(In_CylinderPrintLoadError, ss.str()); // return; // } // if (m_SignalStateWrapper->m_CylinderPrintLoadFinished->GetValue()) { // m_SignalStateWrapper->m_CylinderPrintLoadFinished->SetValue(false); // } // Sleep(1000); // } // SetLoadInResult(In_Success, _(u8"缸体已载入完成").c_str()); //} // //void HBD1500::LoadOutRun() //{ // SetLoadOutProcStep(Out_Start); // if (m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInHandHasCylinder || // m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInHandNoCylinder) { // SetLoadOutResult(Out_Success, _(u8"缸体载出已完成").c_str()); // return; // } // //m_WaitSelectOutPosCommit = false; // //m_NeedWaitSelectOutPos = true; // // if (!m_LoadCtrlFlag) { // SetLoadOutResult(Out_Intercept, _(u8"载出中断").c_str()); // return; // } // if (m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInPrintLoaded || // m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInPrintUnLoaded) { // SetLoadOutProcStep(Out_CylinderPrintUnload); // m_SignalStateWrapper->m_CylinderPrintUnloadTriger->SetValue(true); // Sleep(1000); // while (m_SignalStateWrapper->m_CylinderPrintUnloadRun->GetValue()) { // Sleep(300); // if (!m_LoadCtrlFlag) { // m_SignalStateWrapper->m_CylinderPrintUnloadTriger->SetValue(false); // break; // } // } // if (!m_LoadCtrlFlag) { // SetLoadOutResult(Out_Intercept, _(u8"载出中断").c_str()); // return; // } // Sleep(500); // if (!m_SignalStateWrapper->m_CylinderPrintUnloadFinished->GetValue()) { // stringstream ss; // ss << _(u8"缸体打印位卸载异常:\n").c_str(); // SignalState signalState; // SignalService::GetInstance().GetSignalState(signalState); // if (signalState.m_HighPressureLackAlarm) ss << _(u8"高压气压力不足异常\n").c_str(); // if (signalState.m_PrintJackUpDisableAlarm) ss << _(u8"打印顶升气缸顶升不到位异常\n").c_str(); // if (signalState.m_PrintSupportOffDisableAlarm) ss << _(u8"打印支撑气缸避让不到位异常\n").c_str(); // if (signalState.m_PrintJackDownDisableAlarm) ss << _(u8"打印顶升气缸下降不到位异常\n").c_str(); // if (signalState.m_SystemStopAlarm) ss << _(u8"系统急停异常\n").c_str(); // if (signalState.m_PrintMainSoftStopTrigger) ss << _(u8"打印主轴软急停触发\n").c_str(); // if (signalState.m_CleanMainSoftStopTrigger) ss << _(u8"清粉主轴软急停触发\n").c_str(); // if (signalState.m_LoadAxisSoftStopTrigger) ss << _(u8"移载轴软急停触发\n").c_str(); // if (signalState.m_CoverSoftStopTrigger) ss << _(u8"铺粉轴软急停触发\n").c_str(); // SetLoadOutResult(Out_CylinderPrintUnloadError, ss.str()); // return; // } // if (m_SignalStateWrapper->m_CylinderPrintUnloadFinished->GetValue()) { // m_SignalStateWrapper->m_CylinderPrintUnloadFinished->SetValue(false); // } // Sleep(1000); // if (!m_LoadCtrlFlag) { // SetLoadOutResult(Out_Intercept, _(u8"载出中断").c_str()); // return; // } // // m_SignalStateWrapper->m_MoldDeoxygenFinished->SetValue(false); // SetLoadOutProcStep(Out_MoldDisconnectCylinder); // m_SignalStateWrapper->m_MoldDisconnectCylinderTriger->SetValue(true); // Sleep(1000); // while (m_SignalStateWrapper->m_MoldDisconnectCylinderRun->GetValue()) { // Sleep(300); // if (!m_LoadCtrlFlag) { // m_SignalStateWrapper->m_MoldDisconnectCylinderTriger->SetValue(false); // break; // } // } // if (!m_LoadCtrlFlag) { // SetLoadOutResult(Out_Intercept, _(u8"载出中断").c_str()); // return; // } // Sleep(500); // if (!m_SignalStateWrapper->m_MoldDisconnectCylinderFinished->GetValue()) { // stringstream ss; // ss << _(u8"打印缸体脱离缸体异常:\n").c_str(); // SignalState signalState; // SignalService::GetInstance().GetSignalState(signalState); // if (signalState.m_HighPressureLackAlarm) ss << _(u8"高压气压力不足异常\n").c_str(); // if (signalState.m_Print3RDisableAlarm) ss << _(u8"打印3R失效异常\n").c_str(); // if (signalState.m_SystemStopAlarm) ss << _(u8"系统急停异常\n").c_str(); // if (signalState.m_PrintMainServoAlarmSignal) ss << _(u8"打印主轴伺服驱动器异常\n").c_str(); // if (signalState.m_PrintMainOverSoftUpLimit) ss << _(u8"打印主轴超软上限\n").c_str(); // if (signalState.m_PrintMainOverSoftDownLimit) ss << _(u8"打印主轴超软下限\n").c_str(); // if (signalState.m_MoldMainUpLimitActive) ss << _(u8"打印主轴上限位触发警示\n").c_str(); // if (signalState.m_MoldMainDownLimitActive) ss << _(u8"打印主轴下限位触发警示\n").c_str(); // if (signalState.m_MoldTorqueAlarm) ss << _(u8"打印主轴扭力异常\n").c_str(); // if (signalState.m_PrintMainServoAlarmSignal) ss << _(u8"打印主轴伺服驱动器异常\n").c_str(); // if (signalState.m_Print3RPressureLackAlarm) ss << _(u8"打印3R压力不足\n").c_str(); // if (signalState.m_PrintMainSoftStopTrigger) ss << _(u8"打印主轴软急停触发\n").c_str(); // if (signalState.m_CleanMainSoftStopTrigger) ss << _(u8"清粉主轴软急停触发\n").c_str(); // if (signalState.m_LoadAxisSoftStopTrigger) ss << _(u8"移载轴软急停触发\n").c_str(); // if (signalState.m_CoverSoftStopTrigger) ss << _(u8"铺粉轴软急停触发\n").c_str(); // SetLoadOutResult(Out_MoldDisconnectCylinderError, ss.str()); // return; // } // if (m_SignalStateWrapper->m_MoldDisconnectCylinderFinished->GetValue()) { // m_SignalStateWrapper->m_MoldDisconnectCylinderFinished->SetValue(false); // } // Sleep(1000); // // } // if (!m_LoadCtrlFlag) { // SetLoadOutResult(Out_Intercept, _(u8"载出中断").c_str()); // return; // } // // if (m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInHandNoCylinder) { // SetLoadOutResult(Out_Intercept, _(u8"请先装入缸体").c_str()); // return; // } // // if (m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInCleanConnectedBox) { // SetLoadOutResult(Out_Success, _(u8"缸体已载出到清粉位").c_str()); // return; // } // // if (m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInPrintUnLoaded || // m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInMid) { // SetLoadOutProcStep(Out_CylinderReachClean); // m_SignalStateWrapper->m_CylinderReachCleanTriger->SetValue(true); // Sleep(1000); // while (m_SignalStateWrapper->m_CylinderReachCleanRun->GetValue()) { // Sleep(300); // if (!m_LoadCtrlFlag) { // m_SignalStateWrapper->m_CylinderReachCleanTriger->SetValue(false); // break; // } // } // if (!m_LoadCtrlFlag) { // SetLoadOutResult(Out_Intercept, _(u8"载出中断").c_str()); // return; // } // Sleep(500); // if (!m_SignalStateWrapper->m_CylinderReachCleanFinished->GetValue()) { // stringstream ss; // ss << _(u8"缸体移动到清粉位异常:\n").c_str(); // SignalState signalState; // SignalService::GetInstance().GetSignalState(signalState); // if (signalState.m_HighPressureLackAlarm) ss << _(u8"高压气压力不足异常\n").c_str(); // if (signalState.m_PrintPressOffDisableAlarm) ss << _(u8"打印位压紧气缸松开不到位异常\n").c_str(); // if (signalState.m_CleanPosPressOffAlarm) ss << _(u8"清粉位压紧气缸松开不到位异常\n").c_str(); // if (signalState.m_CleanPosPressOnAlarm) ss << _(u8"清粉位压紧气缸压紧不到位异常\n").c_str(); // if (signalState.m_SystemStopAlarm) ss << _(u8"系统急停异常\n").c_str(); // if (signalState.m_PrintSupportOffDisableAlarm) ss << _(u8"打印支撑气缸避让不到位异常\n").c_str(); // if (signalState.m_CylinderExtendOffAlarm) ss << _(u8"缸体固定气缸缩回不到位异常\n").c_str(); // if (signalState.m_PrintJackDownDisableAlarm) ss << _(u8"打印顶升气缸下降不到位异常\n").c_str(); // if (signalState.m_LoadAxisServoAlarmSignal) ss << _(u8"移载轴伺服驱动器异常\n").c_str(); // if (signalState.m_LoadAxisOverSoftLeftLimit) ss << _(u8"移载轴超左软限\n").c_str(); // if (signalState.m_LoadAxisOverSoftRightLimit) ss << _(u8"移载轴超右软限\n").c_str(); // if (signalState.m_LoadAxisLeftLimit) ss << _(u8"移载轴左限位触发警示\n").c_str(); // if (signalState.m_LoadAxisRightLimit) ss << _(u8"移载轴右限位触发警示\n").c_str(); // if (signalState.m_LoadTorqueAlarm) ss << _(u8"移载轴扭力异常\n").c_str(); // if (signalState.m_CylinderHandDoorOpenAlarm) ss << _(u8"缸体吊装门打开异常\n").c_str(); // if (signalState.m_CleanBoxPressOffAlarm) ss << _(u8"清粉箱松开不到位异常\n").c_str(); // if (signalState.m_CleanPosPreventCylinderOffAlarm) ss << _(u8"清粉位阻挡气缸避让不到位异常\n").c_str(); // if (signalState.m_HandPlatformCloseAlarm) ss << _(u8"吊装盖板关闭异常\n").c_str(); // if (signalState.m_PrintMainSoftStopTrigger) ss << _(u8"打印主轴软急停触发\n").c_str(); // if (signalState.m_CleanMainSoftStopTrigger) ss << _(u8"清粉主轴软急停触发\n").c_str(); // if (signalState.m_LoadAxisSoftStopTrigger) ss << _(u8"移载轴软急停触发\n").c_str(); // if (signalState.m_CoverSoftStopTrigger) ss << _(u8"铺粉轴软急停触发\n").c_str(); // SetLoadOutResult(Out_CylinderReachCleanError, ss.str()); // return; // } // if (m_SignalStateWrapper->m_CylinderReachCleanFinished->GetValue()) { // m_SignalStateWrapper->m_CylinderReachCleanFinished->SetValue(false); // } // Sleep(1000); // } // if (!m_LoadCtrlFlag) { // SetLoadOutResult(Out_Intercept, _(u8"载出中断").c_str()); // return; // } // if (m_SignalStateWrapper->m_CylinderState->GetValue() == CylinderInCleanUnConnectBox) { // m_WaitConnectBoxCommit = true; // while (m_LoadCtrlFlag && m_WaitConnectBoxCommit) { // Sleep(300); // } // if (!m_WaitConnectBoxCommit) // { // SetLoadOutProcStep(Out_CylinderConnectCleanBox); // m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->SetValue(true); // Sleep(1000); // while (m_SignalStateWrapper->m_CylinderConnectCleanBoxRun->GetValue()) { // Sleep(300); // if (!m_LoadCtrlFlag) { // m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->SetValue(false); // break; // } // } // if (!m_LoadCtrlFlag) { // SetLoadOutResult(Out_Intercept, _(u8"载出中断").c_str()); // return; // } // int count = 0; // bool isTimeout = true; // while (m_LoadCtrlFlag && (count < 120)) // { // Sleep(500); // if (m_SignalStateWrapper->m_CylinderConnectCleanBoxFinished->GetValue()) { // isTimeout = false; // break; // } // count++; // } // Sleep(500); // if (!m_SignalStateWrapper->m_CylinderConnectCleanBoxFinished->GetValue()) { // stringstream ss; // ss << _(u8"缸体与清粉箱连接异常:\n").c_str(); // SignalState signalState; // SignalService::GetInstance().GetSignalState(signalState); // if (signalState.m_HighPressureLackAlarm) ss << _(u8"高压气压力不足异常\n").c_str(); // if (signalState.m_CleanBoxPressOnAlarm) ss << _(u8"清粉箱压紧不到位异常\n").c_str(); // if (signalState.m_SystemStopAlarm) ss << _(u8"系统急停异常\n").c_str(); // if (signalState.m_PrintMainSoftStopTrigger) ss << _(u8"打印主轴软急停触发\n").c_str(); // if (signalState.m_CleanMainSoftStopTrigger) ss << _(u8"清粉主轴软急停触发\n").c_str(); // if (signalState.m_LoadAxisSoftStopTrigger) ss << _(u8"移载轴软急停触发\n").c_str(); // if (signalState.m_CoverSoftStopTrigger) ss << _(u8"铺粉轴软急停触发\n").c_str(); // if (isTimeout)ss << _(u8"等待缸体与清粉箱连接完成信号超时\n").c_str(); // SetLoadOutResult(Out_CylinderConnectCleanBoxError, ss.str()); // return; // } // if (m_SignalStateWrapper->m_CylinderConnectCleanBoxFinished->GetValue()) { // m_SignalStateWrapper->m_CylinderConnectCleanBoxFinished->SetValue(false); // } // Sleep(1000); // } // } // SetLoadOutResult(Out_Success, _(u8"缸体载出已完成").c_str()); // // //} bool HBD1500::CheckPrintMoldReady() { if (m_SignalStateWrapper->m_CylinderState->GetValue() != CylinderInPrintLoaded) { return false; } else return true; } bool HBD1500::IsLoadAxisCanMoveLeft() { if (!m_SignalState.m_PrintJackupInSplitePos)return false; if (!m_SignalState.m_LoadTorqueInsideLimit)return false; if (!m_SignalState.m_LoadPosInsideLeftSoftLimit)return false; if (!m_SignalState.m_PrintPressingInReleasePos)return false; if (!m_SignalState.m_PrintJackupInDropPos)return false; if (!m_SignalState.m_PrintSupportInAvoidPos)return false; if (!m_SignalState.m_CleanPressingInReleasePos)return false; if (!m_SignalState.m_CylinderFixInReleasePos)return false; if (!m_SignalState.m_CleanBoxReleasePos)return false; if (!m_SignalState.m_LoadLeftNotInsideLimit)return false; if (!m_SignalState.m_LoadServoNoAlarm)return false; if(!m_SignalState.m_CleanAxisInCylinderSeparatePos)return false; if (m_Axis->m_Load->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } string HBD1500::GetLoadAxisCanotMoveLeftInfo() { if (!m_SignalState.m_PrintJackupInSplitePos)return _(u8"打印顶升轴不在缸体分离位").c_str(); if (!m_SignalState.m_LoadTorqueInsideLimit)return _(u8"移载扭力越限").c_str(); if (!m_SignalState.m_LoadPosInsideLeftSoftLimit)return _(u8"移载轴越软左限").c_str(); if (!m_SignalState.m_PrintPressingInReleasePos)return _(u8"打印位压紧气缸不在松开位").c_str(); if (!m_SignalState.m_PrintJackupInDropPos)return _(u8"打印位顶升气缸不在下降位").c_str(); if (!m_SignalState.m_PrintSupportInAvoidPos)return _(u8"打印位支撑气缸不在避让位").c_str(); if (!m_SignalState.m_CylinderFixInReleasePos)return _(u8"缸体固定气缸不在松开位").c_str(); if (!m_SignalState.m_CleanBoxReleasePos)return _(u8"清粉箱不在松开位").c_str(); if (!m_SignalState.m_LoadLeftNotInsideLimit)return _(u8"移载轴已到左限位").c_str(); if (!m_SignalState.m_LoadServoNoAlarm)return _(u8"移载轴伺服异常").c_str(); if (!m_SignalState.m_CleanAxisInCylinderSeparatePos)return _(u8"清粉升降轴不在缸体分离位").c_str(); if (m_Axis->m_Load->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return _(u8"舱门打开时运动受限").c_str(); return _(u8"未知原因").c_str(); } bool HBD1500::IsLoadAxisCanMoveRight() { if (!m_SignalState.m_PrintJackupInSplitePos)return false; if (!m_SignalState.m_LoadTorqueInsideLimit)return false; if (!m_SignalState.m_LoadPosInsideRightSoftLimit)return false; if (!m_SignalState.m_PrintPressingInReleasePos)return false; if (!m_SignalState.m_PrintJackupInDropPos)return false; if (!m_SignalState.m_PrintSupportInAvoidPos)return false; if (!m_SignalState.m_CleanPressingInReleasePos)return false; if (!m_SignalState.m_CylinderFixInReleasePos)return false; if (!m_SignalState.m_CleanBoxReleasePos)return false; if (!m_SignalState.m_LoadRightNotInsideLimit)return false; if (!m_SignalState.m_LoadServoNoAlarm)return false; if (!m_SignalState.m_CleanAxisInCylinderSeparatePos)return false; if (m_Axis->m_Load->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } string HBD1500::GetLoadAxisCanotMoveRightInfo() { if (!m_SignalState.m_PrintJackupInSplitePos)return _(u8"打印顶升轴不在缸体分离位").c_str(); if (!m_SignalState.m_LoadTorqueInsideLimit)return _(u8"移载扭力越限").c_str(); if (!m_SignalState.m_LoadPosInsideRightSoftLimit)return _(u8"移载轴越软右限").c_str(); if (!m_SignalState.m_PrintPressingInReleasePos)return _(u8"打印位压紧气缸不在松开位").c_str(); if (!m_SignalState.m_PrintJackupInDropPos)return _(u8"打印位顶升气缸不在下降位").c_str(); if (!m_SignalState.m_PrintSupportInAvoidPos)return _(u8"打印位支撑气缸不在避让位").c_str(); if (!m_SignalState.m_CleanPressingInReleasePos)return _(u8"清粉位压紧气缸不在松开位").c_str(); if (!m_SignalState.m_CylinderFixInReleasePos)return _(u8"缸体固定气缸不在松开位").c_str(); if (!m_SignalState.m_CleanBoxReleasePos)return _(u8"清粉箱不在松开位").c_str(); if (!m_SignalState.m_LoadRightNotInsideLimit)return _(u8"移载轴已到右限位").c_str(); if (!m_SignalState.m_LoadServoNoAlarm)return _(u8"移载轴伺服异常").c_str(); if (!m_SignalState.m_CleanAxisInCylinderSeparatePos)return _(u8"清粉升降轴不在缸体分离位").c_str(); if (m_Axis->m_Load->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return _(u8"舱门打开时运动受限").c_str(); return _(u8"未知原因").c_str(); } bool HBD1500::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_Axis->m_Arm->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } string HBD1500::GetArmCanotMoveBackInfo() { if (!m_SignalState.m_PrintUpDownPosBelowPlatform)return _(u8"打印升降轴高于基板缸平面").c_str(); if (!m_SignalState.m_ArmTorqueInsideLimit)return _(u8"铺粉轴扭力越限").c_str(); if (!m_SignalState.m_ArmPosInsideSoftBackLimit)return _(u8"铺粉轴位置超过软后限").c_str(); if (!m_SignalState.m_ArmPosInsideBackLimit)return _(u8"铺粉轴已到后限位").c_str(); if (!m_SignalState.m_ArmServoNoAlarm)return _(u8"铺粉轴伺服异常").c_str(); if (m_Axis->m_Arm->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return _(u8"舱门打开时运动受限").c_str(); return _(u8"未知原因").c_str(); } bool HBD1500::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_Axis->m_Arm->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } string HBD1500::GetArmCanotMoveFrontInfo() { if (!m_SignalState.m_PrintUpDownPosBelowPlatform)return _(u8"打印升降轴高于基板缸平面").c_str(); if (!m_SignalState.m_ArmTorqueInsideLimit)return _(u8"铺粉轴扭力越限").c_str(); if (!m_SignalState.m_ArmPosInsideSoftFrontLimit)return _(u8"铺粉轴位置超过软前限").c_str(); if (!m_SignalState.m_ArmPosInsideFrontLimit)return _(u8"铺粉轴已到前限位").c_str(); if (!m_SignalState.m_ArmServoNoAlarm)return _(u8"铺粉轴伺服异常").c_str(); if (m_Axis->m_Arm->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return _(u8"舱门打开时运动受限").c_str(); return _(u8"未知原因").c_str(); } bool HBD1500::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_PrintSlaveServoNoAlarm)return false; if (m_Axis->m_Mold->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } string HBD1500::GetMoldCanotUpInfo() { if (!m_SignalState.m_PrintTorqueUpInsideLimit)return _(u8"升降轴上升扭力越限").c_str(); if (!m_SignalState.m_ArmNotUponBasePlatform)return _(u8"铺粉臂在基板范围内").c_str(); if (!m_SignalState.m_PrintMoldPosInsideUpSoftLimit)return _(u8"升降轴越软上限").c_str(); if (!m_SignalState.m_PrintInsideUpLimit)return _(u8"升降轴越上限").c_str(); if (!m_SignalState.m_PrintMainServoNoAlarm)return _(u8"打印主轴伺服异常").c_str(); // if (!m_SignalState.m_PrintSlaveServoNoAlarm)return _(u8"打印从轴伺服异常").c_str(); if (m_Axis->m_Mold->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return _(u8"舱门打开时运动受限").c_str(); return _(u8"未知原因").c_str(); } bool HBD1500::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_PrintSlaveServoNoAlarm)return false; if (m_Axis->m_Mold->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; return true; } string HBD1500::GetMoldCanotDownInfo() { if (!m_SignalState.m_PrintTorqueDownInsideLimit)return _(u8"升降轴下降扭力越限").c_str(); if (!m_SignalState.m_ArmNotUponBasePlatform)return _(u8"铺粉臂在基板范围内").c_str(); if (!m_SignalState.m_PrintAxisPosInsideDownSoftLimit)return _(u8"升降轴越软下限").c_str(); if (!m_SignalState.m_PrintInsideDownLimit)return _(u8"升降轴越下限").c_str(); if (!m_SignalState.m_PrintMainServoNoAlarm)return _(u8"打印主轴伺服异常").c_str(); //if (!m_SignalState.m_PrintSlaveServoNoAlarm)return _(u8"打印从轴伺服异常").c_str(); if (m_Axis->m_Mold->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return _(u8"舱门打开时运动受限").c_str(); return _(u8"未知原因").c_str(); } bool HBD1500::CheckPrintHigh(float jobhigh) { /* float ah = m_MachineCtrl->GetAllowPrintHigh(); if (jobhigh > ah) { char buffer[512]; sprintf_s(buffer, sizeof(buffer), _(u8"需要打印的高度:%.3f 超过了 允许的打印高度:%.3f").c_str(), jobhigh, ah); ToastBean* bean = new ToastBean(string(buffer), 5000, Toast::COLOR_RED); g_Toast->AddToast(bean); return false; } else*/ return true; }