From 54caf175b6bcbe1fed482b7a3aea60005dae12a6 Mon Sep 17 00:00:00 2001 From: wangxx1809 Date: Sun, 7 Apr 2024 17:09:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E8=BD=B4=E8=BF=90=E5=8A=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PrintS/Controler/Controler.h | 4 +- PrintS/DataManage/ClientInfo.h | 15 +- PrintS/DataManage/DataHandle.cpp | 83 +++++-- PrintS/DataManage/DataHandle.h | 3 + PrintS/DataManage/StreamServer.cpp | 10 +- PrintS/Machine/HBD1000.cpp | 185 +++++++++++++++- PrintS/Machine/HBD1000.h | 6 + PrintS/Machine/HBD1200.cpp | 36 +-- PrintS/Machine/HBD1500.cpp | 345 ----------------------------- PrintS/Machine/Machine.cpp | 174 ++++++++++++++- PrintS/Machine/Machine.h | 5 + PrintS/PLC/AxisConfig.h | 15 +- PrintS/PLC/SysParam.cpp | 4 +- PrintS/PLC/SysParam.h | 13 +- PrintS/PrintS.vcxproj.user | 2 +- PrintS/ScannerCtrl/ScannerCtrl.h | 6 +- PrintS/main.cpp | 37 +++- 17 files changed, 525 insertions(+), 418 deletions(-) diff --git a/PrintS/Controler/Controler.h b/PrintS/Controler/Controler.h index 71474fc..6a5536b 100644 --- a/PrintS/Controler/Controler.h +++ b/PrintS/Controler/Controler.h @@ -15,7 +15,7 @@ public: void Init(); -private: +public: Machine* m_Machine; CoreCommunication* m_CoreCommunication; PLCAxis* m_Axis; @@ -28,4 +28,6 @@ private: RemoteClient* m_RemoteClient; ComServer* m_ComServer; + ScannerCtrl* m_ScannerCtrl; + }; \ No newline at end of file diff --git a/PrintS/DataManage/ClientInfo.h b/PrintS/DataManage/ClientInfo.h index 351136a..7db3d7d 100644 --- a/PrintS/DataManage/ClientInfo.h +++ b/PrintS/DataManage/ClientInfo.h @@ -16,8 +16,11 @@ enum READTYPE { LOADOUT, //载出 SUPPLYAXLEAFTER, //供粉轴后移 SUPPLYAXLEFRONT, //供粉轴前移 - SUPPLYAXLEAFTERCONT, //供粉轴后移连续 - SUPPLYAXLEFRONTCONT, //供粉轴前移连续 + SUPPLYAXLEAFTERCONTSTART, //供粉轴后移连续开始 + SUPPLYAXLEAFTERCONTSTOP, //供粉轴后移连续停止 + + SUPPLYAXLEFRONTCONTSTART, //供粉轴前移连续 + SUPPLYAXLEFRONTCONTSTOP, //供粉轴前移连续 PAVEAXLEFRONT, // 铺粉臂前移 PAVEAXLEFRONTCONT, //铺粉臂前移连续 PAVEAXLEAFTER, //铺粉臂后移 @@ -29,10 +32,12 @@ enum READTYPE { PRINTAXLEDOWNCONT, //成型缸连续下降 PRINTAXLECLEAR, //成型缸清零 TRANSFERAXIELEFT, //移栽轴左移 - TRANSFERAXIELEFTCONT, //移栽轴连续左移 + TRANSFERAXIELEFTCONTSTART, //移栽轴连续左移开始 + TRANSFERAXIELEFTCONTSTOP, //移栽轴连续左移停止 TRANSFERAXIERIGHT, //移栽轴右移 - TRANSFERAXIERIGHTCONT, //移栽轴连续右移 - TRANSFERAXIECLEAR //移栽轴清零 + TRANSFERAXIERIGHTCONTSTART, //移栽轴连续右移开始 + TRANSFERAXIERIGHTCONTSTOP, //移栽轴连续右移停止 + TRANSFERAXIECLEAR //移栽轴清零 }; enum DATATYPE { diff --git a/PrintS/DataManage/DataHandle.cpp b/PrintS/DataManage/DataHandle.cpp index f5ce4f2..3c61ad4 100644 --- a/PrintS/DataManage/DataHandle.cpp +++ b/PrintS/DataManage/DataHandle.cpp @@ -16,6 +16,9 @@ DataHandle::DataHandle() DataHandle::~DataHandle() { m_streamServer->Stop(); + m_testFlag = true; + if (m_testTd.joinable()) m_testTd.join(); + DELP(m_streamServer); DELP(m_controler); @@ -65,27 +68,45 @@ void DataHandle::Run() { } void DataHandle::Stop() { - m_testFlag = true; - if (m_testTd.joinable()) m_testTd.join(); - m_streamServer->Stop(); + + if(m_streamServer) m_streamServer->Stop(); } -void DataHandle::DataCallBackProc(void* pthis, const ReadData& msg) { - DataHandle* p = (DataHandle*)pthis; +void DataHandle::DataCallBackHandle(const ReadData& msg) { switch (msg.dataType) { case GET: break; case SET: break; - case LOAD: break; //载入 - case LOADOUT: break; //载出 - case SUPPLYAXLEAFTER: break; //供粉轴后移 - case SUPPLYAXLEFRONT: break; //供粉轴前移 - case SUPPLYAXLEAFTERCONT: break; //供粉轴后移连续 - case SUPPLYAXLEFRONTCONT: break; //供粉轴前移连续 + case LOAD: + if (!m_controler->m_ScannerCtrl->IsStandBy() && g_Admin == USER)return; + m_controler->m_Machine->LoadIn(); + break; //载入 + case LOADOUT: + if (!m_controler->m_ScannerCtrl->IsStandBy() && g_Admin == USER)return; + m_controler->m_Machine->LoadOut(); + break; //载出 + case SUPPLYAXLEAFTER: //供粉轴后移 + m_controler->m_Machine->SupplyAxisMove(AxisConfig::ActiveDirect::BACK); + break; + case SUPPLYAXLEFRONT: //供粉轴前移 + m_controler->m_Machine->SupplyAxisMove(AxisConfig::ActiveDirect::FRONT); + break; + case SUPPLYAXLEAFTERCONTSTART: //供粉轴后移连续 + m_controler->m_Machine->SupplyAxisMove(AxisConfig::ActiveDirect::BACK,true,true); + break; + case SUPPLYAXLEAFTERCONTSTOP: + m_controler->m_Machine->SupplyAxisMove(AxisConfig::ActiveDirect::BACK, true, false); + break; //供粉轴后移连续 + case SUPPLYAXLEFRONTCONTSTART: //供粉轴前移连续开始 + m_controler->m_Machine->SupplyAxisMove(AxisConfig::ActiveDirect::FRONT, true, true); + break; + case SUPPLYAXLEFRONTCONTSTOP: //供粉轴前移连续结束 + m_controler->m_Machine->SupplyAxisMove(AxisConfig::ActiveDirect::FRONT, true, false); + break; case PAVEAXLEFRONT: break; // 铺粉臂前移 case PAVEAXLEFRONTCONT: break; //铺粉臂前移连续 case PAVEAXLEAFTER: break; //铺粉臂后移 @@ -96,14 +117,42 @@ void DataHandle::DataCallBackProc(void* pthis, const ReadData& msg) { case PRINTAXLEDOWN: break; //成型缸下降 case PRINTAXLEDOWNCONT: break; //成型缸连续下降 case PRINTAXLECLEAR: break; //成型缸清零 - case TRANSFERAXIELEFT: break; //移栽轴左移 - case TRANSFERAXIELEFTCONT: break; //移栽轴连续左移 - case TRANSFERAXIERIGHT: break; //移栽轴右移 - case TRANSFERAXIERIGHTCONT: break; //移栽轴连续右移 - case TRANSFERAXIECLEAR: break; //移栽轴清零 + + case TRANSFERAXIELEFT: //移栽轴左移 + if (!m_controler->m_ScannerCtrl->IsStandBy() && g_Admin == USER)return; + m_controler->m_Machine->LoadAxisMove(AxisConfig::ActiveDirect::LEFT); + break; + case TRANSFERAXIELEFTCONTSTART: //移栽轴连续左移开始 + m_controler->m_Machine->LoadAxisMove(AxisConfig::ActiveDirect::LEFT, true,true); + break; + case TRANSFERAXIELEFTCONTSTOP: //移栽轴连续左移停止 + m_controler->m_Machine->LoadAxisMove(AxisConfig::ActiveDirect::LEFT, true, false); + break; + case TRANSFERAXIERIGHT: //移栽轴右移 + if (!m_controler->m_ScannerCtrl->IsStandBy() && g_Admin == USER)return; + m_controler->m_Machine->LoadAxisMove(AxisConfig::ActiveDirect::RIGHT); + break; + case TRANSFERAXIERIGHTCONTSTART: //移栽轴连续右移 + if (!m_controler->m_ScannerCtrl->IsStandBy() && g_Admin == USER)return; + m_controler->m_Machine->LoadAxisMove(AxisConfig::ActiveDirect::RIGHT,true,true); + break; + case TRANSFERAXIERIGHTCONTSTOP: //移栽轴连续右移 + if (!m_controler->m_ScannerCtrl->IsStandBy() && g_Admin == USER)return; + m_controler->m_Machine->LoadAxisMove(AxisConfig::ActiveDirect::RIGHT, true, false); + break; + case TRANSFERAXIECLEAR: //移栽轴清零 + m_controler->m_Machine->LoadAxisMove(AxisConfig::ActiveDirect::ZERO); + break; default: break; - + } + +} + + +void DataHandle::DataCallBackProc(void* pthis, const ReadData& msg) { + DataHandle* p = (DataHandle*)pthis; + p->DataCallBackHandle(msg); } diff --git a/PrintS/DataManage/DataHandle.h b/PrintS/DataManage/DataHandle.h index 1e75001..539d215 100644 --- a/PrintS/DataManage/DataHandle.h +++ b/PrintS/DataManage/DataHandle.h @@ -23,6 +23,9 @@ private: ConfigManager* m_config; Controler* m_controler; bool m_testFlag; //测试线程 + + void DataCallBackHandle(const ReadData& msg); + public: StreamServer* m_streamServer; diff --git a/PrintS/DataManage/StreamServer.cpp b/PrintS/DataManage/StreamServer.cpp index 98e1009..1995176 100644 --- a/PrintS/DataManage/StreamServer.cpp +++ b/PrintS/DataManage/StreamServer.cpp @@ -11,6 +11,9 @@ StreamServer::StreamServer(Machine* p) StreamServer::~StreamServer() { Stop(); + + m_checkQuitFlag = true; + if (m_checkCloseTd.joinable()) m_checkCloseTd.join(); } @@ -113,12 +116,11 @@ void StreamServer::Run() { if (!m_listenTd.joinable()) { m_listenTd = std::thread([this] { std::string server_address("0.0.0.0:" + std::to_string(m_port)); + //std::cout << "Server listening on " << server_address << std::endl; ServerBuilder builder; builder.AddListeningPort(server_address, grpc::InsecureServerCredentials()); builder.RegisterService(this); - m_server = builder.BuildAndStart(); - std::cout << "Server listening on " << server_address << std::endl; m_server->Wait(); }); } @@ -126,10 +128,6 @@ void StreamServer::Run() { void StreamServer::Stop() { - - m_checkQuitFlag = true; - if (m_checkCloseTd.joinable()) m_checkCloseTd.join(); - m_server->Shutdown(); if (m_listenTd.joinable()) { m_listenTd.join(); diff --git a/PrintS/Machine/HBD1000.cpp b/PrintS/Machine/HBD1000.cpp index ddf22fb..1955319 100644 --- a/PrintS/Machine/HBD1000.cpp +++ b/PrintS/Machine/HBD1000.cpp @@ -8192,7 +8192,7 @@ const int HBD1000::IO_V4 = 4; // // ImGui::End(); //} -// + //void HBD1000::DrawAxisCfg() //{ // vector directvec = { _(u8"上"),_(u8"下"),_(u8"左"),_(u8"右"),_(u8"前"),_(u8"后") }; @@ -9182,7 +9182,8 @@ const int HBD1000::IO_V4 = 4; // ImGui::PopItemWidth(); // ImGui::EndChild(); //} -// + + //void HBD1000::DrawPowderCtrl(bool *winShow) //{ // ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(4, 8)); @@ -10983,7 +10984,11 @@ const int HBD1000::IO_V4 = 4; // // //} -// + + + + + //void HBD1000::DrawServoState(bool* winShow) //{ // @@ -13206,7 +13211,7 @@ void HBD1000::ProcReadPLCData(void* pobject, Command* pcommand) 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->m_cover_distance = (long)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); @@ -14405,3 +14410,175 @@ bool HBD1000::CheckPrintHigh(float jobhigh) } else return true; } + + +// +////移栽轴运动 +//void HBD1000::LoadAxisMove(AxisConfig::ActiveDirect adr,bool isContinue,bool isStart) { +// switch (adr) { +// case AxisConfig::ActiveDirect::UP: break; +// case AxisConfig::ActiveDirect::DOWN: break; +// case AxisConfig::ActiveDirect::LEFT: +// if(!isContinue){ +// //if (IsLoadAxisCanMoveLeft()) { +// m_Axis->m_Load->MovPoint(adr); +// //} +// } +// else { +// if (isStart) { +// m_Axis->m_Load->MovLimitStart(adr); +// } +// else { +// m_Axis->m_Load->MovLimitStop(adr); +// } +// } +// break; +// case AxisConfig::ActiveDirect::RIGHT: +// //if (IsLoadAxisCanMoveRight()) { +// m_Axis->m_Load->MovPoint(adr); +// //} +// break; +// case AxisConfig::ActiveDirect::FRONT: break; +// case AxisConfig::ActiveDirect::BACK: break; +// case AxisConfig::ActiveDirect::ZERO: //清零 +// m_Axis->m_Load->GetState()->SetZeroPos(); break; +// default: +// break; +// } +// +//} +// +// +////供粉轴运动 +//void HBD1000::SupplyAxisMove(AxisConfig::ActiveDirect adr, bool isContinue, bool isStart) { +// switch (adr) { +// case AxisConfig::ActiveDirect::UP: break; +// case AxisConfig::ActiveDirect::DOWN: break; +// case AxisConfig::ActiveDirect::LEFT: break; +// case AxisConfig::ActiveDirect::RIGHT: break; +// case AxisConfig::ActiveDirect::FRONT: +// if (!isContinue) { +// //if (IsLoadAxisCanMoveLeft()) { +// m_Axis->m_Supply->MovPoint(adr); +// //} +// } +// else { +// if (isStart) { +// m_Axis->m_Supply->MovLimitStart(adr); +// } +// else { +// m_Axis->m_Supply->MovLimitStop(adr); +// } +// } +// break; +// case AxisConfig::ActiveDirect::BACK: +// if (!isContinue) { +// //if (IsLoadAxisCanMoveLeft()) { +// m_Axis->m_Supply->MovPoint(adr); +// //} +// } +// else { +// if (isStart) { +// m_Axis->m_Supply->MovLimitStart(adr); +// } +// else { +// m_Axis->m_Supply->MovLimitStop(adr); +// } +// } +// break; +// case AxisConfig::ActiveDirect::ZERO: //清零 +// break; +// default: +// break; +// } +// +//} +// +// +////成型缸运动 +//void HBD1000::PrintAxisMove(AxisConfig::ActiveDirect adr, bool isContinue, bool isStart){ +// switch (adr) { +// case AxisConfig::ActiveDirect::UP: +// if (!isContinue) { +// m_Axis->m_Mold->MovPoint(adr); +// } +// else { +// if (isStart) { +// m_Axis->m_Mold->MovLimitStart(adr); +// } +// else { +// m_Axis->m_Mold->MovLimitStop(adr); +// } +// } +// break; +// case AxisConfig::ActiveDirect::DOWN: +// if (!isContinue) { +// m_Axis->m_Mold->MovPoint(adr); +// } +// else { +// if (isStart) { +// m_Axis->m_Mold->MovLimitStart(adr); +// } +// else { +// m_Axis->m_Mold->MovLimitStop(adr); +// } +// } +// break; +// case AxisConfig::ActiveDirect::LEFT: break; +// case AxisConfig::ActiveDirect::RIGHT: break; +// case AxisConfig::ActiveDirect::FRONT: break; +// case AxisConfig::ActiveDirect::BACK: break; +// case AxisConfig::ActiveDirect::ZERO: //清零 +// m_Axis->m_Mold->GetState()->SetZeroPos(); +// break; +// default: +// break; +// } +// +// +// +//} +// +// //铺粉臂运动 +//void HBD1000::ArmAxisMove(AxisConfig::ActiveDirect adr, bool isContinue, bool isStart) { +// +// switch (adr) { +// case AxisConfig::ActiveDirect::UP: break; +// case AxisConfig::ActiveDirect::DOWN: break; +// case AxisConfig::ActiveDirect::LEFT: break; +// case AxisConfig::ActiveDirect::RIGHT: break; +// case AxisConfig::ActiveDirect::FRONT: +// if (!isContinue) { +// m_Axis->m_Arm->MovPoint(adr); +// } +// else { +// if (isStart) { +// m_Axis->m_Arm->MovLimitStart(adr); +// } +// else { +// m_Axis->m_Arm->MovLimitStop(adr); +// } +// } +// break; +// case AxisConfig::ActiveDirect::BACK: +// if (!isContinue) { +// m_Axis->m_Arm->MovPoint(adr); +// } +// else { +// if (isStart) { +// m_Axis->m_Arm->MovLimitStart(adr); +// } +// else { +// m_Axis->m_Arm->MovLimitStop(adr); +// } +// } +// break; +// case AxisConfig::ActiveDirect::ZERO: //清零 +// m_Axis->m_Arm->GetState()->SetZeroPos(); +// break; +// default: +// break; +// } +// +// +//} \ No newline at end of file diff --git a/PrintS/Machine/HBD1000.h b/PrintS/Machine/HBD1000.h index 74bc236..a228a4a 100644 --- a/PrintS/Machine/HBD1000.h +++ b/PrintS/Machine/HBD1000.h @@ -74,6 +74,11 @@ public: bool CheckPrintHigh(float jobhigh); + //void LoadAxisMove(AxisConfig::ActiveDirect adr, bool isContinue, bool isStart); //移栽轴运动 + //void SupplyAxisMove(AxisConfig::ActiveDirect adr, bool isContinue, bool isStart); //供粉轴运动 + //void PrintAxisMove(AxisConfig::ActiveDirect adr, bool isContinue, bool isStart); //成型缸运动 + //void ArmAxisMove(AxisConfig::ActiveDirect adr, bool isContinue, bool isStart); //铺粉轴运动 + private: static void CheckIO_V0(vector&ins, IOCfgWrapper* iocfgWrapper, string str, int type); static void CheckIO_V1(vector&ins, IOCfgWrapper* iocfgWrapper, string str, int type); @@ -98,6 +103,7 @@ private: void LoadInRun(); void LoadOutRun(); + public: static const int IO_V0; static const int IO_V1; diff --git a/PrintS/Machine/HBD1200.cpp b/PrintS/Machine/HBD1200.cpp index 8d31dd6..ff9ba67 100644 --- a/PrintS/Machine/HBD1200.cpp +++ b/PrintS/Machine/HBD1200.cpp @@ -7034,23 +7034,25 @@ void HBD1200::ProcReadPLCData(void* pobject, Command* pcommand) // } // else return true; //} -// -//bool HBD1200::IsLoadAxisCanMoveLeft() -//{ -// if (!m_SignalState.m_PrintJackupInSafePos)return false; -// if (!m_SignalState.m_LoadTorqueInsideLimit)return false; -// if (!m_SignalState.m_LoadPosInsideLeftSoftLimit)return false; -// if (!m_SignalState.m_CylinderFixInReleasePos)return false; -// if (!m_SignalState.m_LoadLeftNotInsideLimit)return false; -// if (!m_SignalState.m_LoadServoNoAlarm)return false; -// if (!m_SignalState.m_EleServoInBottomPos)return false; -// if (m_SignalState.m_HighPressureLackAlarm)return false; -// if (m_SignalState.m_SystemStopAlarm)return false; -// if (m_SignalState.m_CleanLiftStopAlarm)return false; -// if (m_Axis->m_Load->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; -// return true; -//} -// + + + +bool HBD1200::IsLoadAxisCanMoveLeft() +{ + if (!m_SignalState.m_PrintJackupInSafePos)return false; + if (!m_SignalState.m_LoadTorqueInsideLimit)return false; + if (!m_SignalState.m_LoadPosInsideLeftSoftLimit)return false; + if (!m_SignalState.m_CylinderFixInReleasePos)return false; + if (!m_SignalState.m_LoadLeftNotInsideLimit)return false; + if (!m_SignalState.m_LoadServoNoAlarm)return false; + if (!m_SignalState.m_EleServoInBottomPos)return false; + if (m_SignalState.m_HighPressureLackAlarm)return false; + if (m_SignalState.m_SystemStopAlarm)return false; + if (m_SignalState.m_CleanLiftStopAlarm)return false; + if (m_Axis->m_Load->GetState()->m_AxisCfg->m_SafeLimit && !g_SystemInfo->m_EnvState.m_IsPrintCabinDoorClose)return false; + return true; +} + //string HBD1200::GetLoadAxisCanotMoveLeftInfo() { // if (!m_SignalState.m_PrintJackupInSafePos)return _(u8"打印顶升轴不在安全位").c_str(); // if (!m_SignalState.m_LoadTorqueInsideLimit)return _(u8"移载扭力越限").c_str(); diff --git a/PrintS/Machine/HBD1500.cpp b/PrintS/Machine/HBD1500.cpp index 4ead79f..ea2221e 100644 --- a/PrintS/Machine/HBD1500.cpp +++ b/PrintS/Machine/HBD1500.cpp @@ -4858,351 +4858,6 @@ void HBD1500::InitSignal(SignalStateWrapper* ssw, PLCReveiver* cc) m_SignalStateWrapper->m_KeepAliveCommand->Init(); } -//void HBD1500::InitSysParam(SysParamWrapper* spw, PLCReveiver* cc) -//{ -// m_SysParamWrapper = spw; -// m_PLC = cc; -// int flag = 0; -// m_SysParamWrapper->m_PrintOxygen1 = new SysParamFloat(flag, 3, cc); flag += 4; //打印舱测氧仪1模拟量值_R -// m_SysParamWrapper->m_PrintOxygen2 = new SysParamFloat(flag, 3, cc); flag += 4; //打印舱测氧仪2模拟量值_R -// m_SysParamWrapper->m_OutsideOxygen = new SysParamFloat(flag, 3, cc); flag += 4; //室外测氧仪模拟量值_R -// m_SysParamWrapper->m_HighPressure = new SysParamFloat(flag, 3, cc); flag += 4; //高压气压力模拟量值_R -// m_SysParamWrapper->m_ProtectGasPressure = new SysParamFloat(flag, 3, cc); flag += 4; //保护气压力模拟量值_R -// m_SysParamWrapper->m_PrintPressure = new SysParamFloat(flag, 3, cc); flag += 4; //打印舱压力模拟量值_R -// m_SysParamWrapper->m_PrintOxygen1Max = new SysParamFloat(flag, 3, cc); flag += 4; //测氧仪1量程最大值_RW -// m_SysParamWrapper->m_PrintOxygen1Min = new SysParamFloat(flag, 3, cc); flag += 4; //测氧仪1量程最小值_RW -// m_SysParamWrapper->m_PrintOxygen2Max = new SysParamFloat(flag, 3, cc); flag += 4; //测氧仪2量程最大值_RW -// m_SysParamWrapper->m_PrintOxygen2Min = new SysParamFloat(flag, 3, cc); flag += 4; //测氧仪2量程最小值_RW -// m_SysParamWrapper->m_OutsideOxygenMax = new SysParamFloat(flag, 3, cc); flag += 4; //室外测氧仪量程最大值_RW -// m_SysParamWrapper->m_OutsideOxygenMin = new SysParamFloat(flag, 3, cc); flag += 4; //室外测氧仪量程最小值_RW -// m_SysParamWrapper->m_HighPressureMax = new SysParamFloat(flag, 3, cc); flag += 4; //高压气量程最大值_RW -// m_SysParamWrapper->m_HighPressureMin = new SysParamFloat(flag, 3, cc); flag += 4; //高压气量程最小值_RW -// m_SysParamWrapper->m_ProtectGasPressureMax = new SysParamFloat(flag, 3, cc); flag += 4; //保护气量程最大值_RW -// m_SysParamWrapper->m_ProtectGasPressureMin = new SysParamFloat(flag, 3, cc); flag += 4; //保护气量程最小值_RW -// m_SysParamWrapper->m_PrintPressureMax = new SysParamFloat(flag, 3, cc); flag += 4; //打印舱压力量程最大值_RW -// m_SysParamWrapper->m_PrintPressureMin = new SysParamFloat(flag, 3, cc); flag += 4; //打印舱压力量程最小值_RW -// -// m_SysParamWrapper->m_OutsideOxygenAlarmValue = new SysParamFloat(flag, 3, cc); flag += 4; //室外氧含量报警值_RW -// 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); flag += 4; //供粉转轴的格数一圈_RW -// m_SysParamWrapper->m_SupplyAxisAnglePerGrid = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴每格对用度数_RW -// m_SysParamWrapper->m_MoldMainCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴当前位置_R -// m_SysParamWrapper->m_MoldMainCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴当前扭矩_R -// m_SysParamWrapper->m_MoldSlaveCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴当前位置_R -// m_SysParamWrapper->m_MoldSlaveCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴当前扭矩_R -// m_SysParamWrapper->m_MoldMainManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴手动速度_RW -// m_SysParamWrapper->m_MoldMainManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴手动加速_RW -// m_SysParamWrapper->m_MoldMainManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴手动减速_RW -// m_SysParamWrapper->m_MoldMainManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴手动相对位移距离_RW -// m_SysParamWrapper->m_MoldMainManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴绝对位置_手动_RW -// m_SysParamWrapper->m_MoldSlaveManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴手动速度_RW -// m_SysParamWrapper->m_MoldSlaveManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴手动加速_RW -// m_SysParamWrapper->m_MoldSlaveManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴手动减速_RW -// m_SysParamWrapper->m_MoldSlaveManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴手动相对位移距离_RW -// m_SysParamWrapper->m_MoldSlaveManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴绝对位置_手动_RW -// m_SysParamWrapper->m_CleanMainCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴当前位置_R -// m_SysParamWrapper->m_CleanMainCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴当前扭矩_R -// m_SysParamWrapper->m_CleanSlaveCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴当前位置_R -// m_SysParamWrapper->m_CleanSlaveCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴当前扭矩_R -// m_SysParamWrapper->m_CleanMainManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴手动速度_RW -// m_SysParamWrapper->m_CleanMainManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴手动加速_RW -// m_SysParamWrapper->m_CleanMainManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴手动减速_RW -// m_SysParamWrapper->m_CleanMainManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴手动相对位移距离_RW -// m_SysParamWrapper->m_CleanMainManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴绝对位置_手动_RW -// m_SysParamWrapper->m_CleanSlaveManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴手动速度_RW -// m_SysParamWrapper->m_CleanSlaveManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴手动加速_RW -// m_SysParamWrapper->m_CleanSlaveManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴手动减速_RW -// m_SysParamWrapper->m_CleanSlaveManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴手动相对位移距离_RW -// m_SysParamWrapper->m_CleanSlaveManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴绝对位置_手动_RW -// -// 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_LoadAxisCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴当前位置_R -// m_SysParamWrapper->m_LoadAxisCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴当前扭矩_R -// m_SysParamWrapper->m_LoadAxisManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴手动速度_RW -// m_SysParamWrapper->m_LoadAxisManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴手动加速_RW -// m_SysParamWrapper->m_LoadAxisManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴手动减速_RW -// m_SysParamWrapper->m_LoadAxisManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴手动相对位移距离_RW -// m_SysParamWrapper->m_LoadAxisManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴绝对位置_手动_RW -// m_SysParamWrapper->m_ArmCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴当前位置_R -// m_SysParamWrapper->m_ArmCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴当前扭矩_R -// m_SysParamWrapper->m_ArmManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴手动速度_RW -// m_SysParamWrapper->m_ArmManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴手动加速_RW -// m_SysParamWrapper->m_ArmManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴手动减速_RW -// m_SysParamWrapper->m_ArmManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴手动相对位移距离_RW -// m_SysParamWrapper->m_ArmManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴绝对位置_手动_RW -// m_SysParamWrapper->m_SupplyCurrentPos = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴当前位置_R -// m_SysParamWrapper->m_SupplyCurrentLoad = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴当前扭矩_R -// m_SysParamWrapper->m_SupplyManualSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴手动速度_RW -// m_SysParamWrapper->m_SupplyManualAcc = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴手动加速_RW -// m_SysParamWrapper->m_SupplyManualDec = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴手动减速_RW -// m_SysParamWrapper->m_SupplyManualRefDistance = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴手动相对位移距离_RW -// m_SysParamWrapper->m_SupplyManualAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴绝对位置_手动_RW -// m_SysParamWrapper->m_MoldCylinderSeparatePos = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降与缸体分离位_RW -// m_SysParamWrapper->m_PrintUpDownSafePos = m_SysParamWrapper->m_MoldCylinderSeparatePos; //打印升降安全位_RW -// m_SysParamWrapper->m_Print3RSeparatePos = new SysParamFloat(flag, 3, cc); flag += 4; //打印3R脱离位_RW -// m_SysParamWrapper->m_Print3RSeparateCheckDistance = new SysParamFloat(flag, 3, cc); flag += 4; //打印3R脱离检测距离_RW -// m_SysParamWrapper->m_PrintJackupDeoxygenPressureMinPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印顶升轴除氧压缩最低点_RW -// m_SysParamWrapper->m_PrintJackupPlatformBottomPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印顶升轴基板底座缸平面位置_RW -// m_SysParamWrapper->m_PrintJackupPlatformPlanePos = new SysParamFloat(flag, 3, cc); flag += 4; //打印顶升轴基板缸平面位置_RW -// m_SysParamWrapper->m_PrintPlatformHight = new SysParamFloat(flag, 3, cc); flag += 4; //打印基板厚度_RW -// m_SysParamWrapper->m_MoldUpLimitPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴上软限位_RW -// m_SysParamWrapper->m_MoldDownLimitPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴下软限位_RW -// m_SysParamWrapper->m_CleanTrackConnectPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轨道对接位_RW -// m_SysParamWrapper->m_CleanAxisPlatformAlignPos = m_SysParamWrapper->m_CleanTrackConnectPos; //清粉升降基板底座缸平面位_RW -// m_SysParamWrapper->m_CleanBoxCylinderConnectPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉箱与缸体对接位_RW -// m_SysParamWrapper->m_Clean3RSeparatePos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降3R对接分离位_RW -// m_SysParamWrapper->m_Clean3RSeparateCheckDistance = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降3R分离检测距离_RW -// m_SysParamWrapper->m_CleanLowestPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降最低点_RW -// m_SysParamWrapper->m_CleanUpLimit = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降上软限位_RW -// m_SysParamWrapper->m_CleanDownLimit = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降下软限位_RW -// 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_LoadAxisTrackPrintPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴轨道打印位_RW -// m_SysParamWrapper->m_LoadAxisTrackCleanPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴轨道清粉位_RW -// m_SysParamWrapper->m_LoadAxisTrackWaitPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴轨道等待位_RW -// m_SysParamWrapper->m_LoadAxisLeftLimit = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴轨道左软限位_RW -// m_SysParamWrapper->m_LoadAxisRightLimit = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴轨道右软限位_RW -// m_SysParamWrapper->m_ArmPowderAcceptPos = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴接粉位_RW -// m_SysParamWrapper->m_ArmPowderDropFrontPos = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴前下粉位_RW -// m_SysParamWrapper->m_ArmPrintFrontLimit = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴打印面前限位_RW -// m_SysParamWrapper->m_ArmPrintBackLimit = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴打印面后限位_RW -// m_SysParamWrapper->m_ArmFrontLimit = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴前软限位_RW -// m_SysParamWrapper->m_ArmBackLimit = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴后软限位_RW -// m_SysParamWrapper->m_MoldAbsTestPos = new SysParamWord(flag, 3, cc); flag += 2; //打印升降轴绝对值试运行位置列表_RW -// m_SysParamWrapper->m_CleanAbsTestPos = new SysParamWord(flag, 3, cc); flag += 2; //清粉升降轴绝对值试运行位置列表_RW -// m_SysParamWrapper->m_EleCylinderAbsTestPos = m_SysParamWrapper->m_CleanAbsTestPos; //电缸升降轴绝对值试运行位置列表_RW -// m_SysParamWrapper->m_LoadAxisAbsTestPos = new SysParamWord(flag, 3, cc); flag += 2; //移载轴绝对值试运行位置列表_RW -// m_SysParamWrapper->m_ArmAbsTestPos = new SysParamWord(flag, 3, cc); flag += 2; //铺粉轴绝对值试运行位置列表_RW -// m_SysParamWrapper->m_LineEncMoveValue = new SysParamFloat(flag, 3, cc); flag += 4; //光栅尺移动值_R -// m_SysParamWrapper->m_LineEncPulseEqu = new SysParamFloat(flag, 3, cc); flag += 4; //光栅尺脉冲当量_RW -// m_SysParamWrapper->m_MoldMainHomeIndexEnc = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴原点编码器值_RW -// m_SysParamWrapper->m_MoldMainAlignEnc = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴对齐位编码器值_RW -// m_SysParamWrapper->m_MoldMainAlignHomeRel = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴对齐位与原点相对值_RW -// m_SysParamWrapper->m_MoldSlaveHomeIndexEnc = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴原点编码器值_RW -// m_SysParamWrapper->m_MoldSlaveAlignEnc = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴对齐位编码器值_RW -// m_SysParamWrapper->m_MoldSlaveAlignHomeRel = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴对齐位与原点相对值_RW -// m_SysParamWrapper->m_CleanMainHomeIndexEnc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴原点编码器值_RW -// m_SysParamWrapper->m_CleanMainAlignEnc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴对齐位编码器值_RW -// m_SysParamWrapper->m_CleanMainAlignHomeRel = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴对齐位与原点相对值_RW -// m_SysParamWrapper->m_CleanSlaveHomeIndexEnc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴原点编码器值_RW -// m_SysParamWrapper->m_CleanSlaveAlignEnc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴对齐位编码器值_RW -// m_SysParamWrapper->m_CleanSlaveAlignHomeRel = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴对齐位与原点相对值_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_MoldAutoSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴速度_自动_RW -// m_SysParamWrapper->m_MoldAutoAcc = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴加速度_自动_RW -// m_SysParamWrapper->m_MoldAutoDec = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴减速度_自动_RW -// m_SysParamWrapper->m_MoldAutoRelShift = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴相对位移_自动_RW -// m_SysParamWrapper->m_MoldAutoAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴绝对位置_自动_RW -// m_SysParamWrapper->m_CleanAutoSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴速度_自动_RW -// m_SysParamWrapper->m_CleanAutoAcc = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴加速度_自动_RW -// m_SysParamWrapper->m_CleanAutoDec = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴减速度_自动_RW -// m_SysParamWrapper->m_CleanAutoRelShift = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴相对位移_自动_RW -// m_SysParamWrapper->m_CleanAutoAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴绝对位置_自动_RW -// 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_LoadAxisAutoSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴速度_自动_RW -// m_SysParamWrapper->m_LoadAxisnAutoAcc = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴加速度_自动_RW -// m_SysParamWrapper->m_LoadAxisAutoDec = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴减速度_自动_RW -// m_SysParamWrapper->m_LoadAxisAutoRelShift = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴相对位移_自动_RW -// m_SysParamWrapper->m_LoadAxisAutoAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴绝对位置_自动_RW -// m_SysParamWrapper->m_ArmAutoSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴速度_自动_RW -// m_SysParamWrapper->m_ArmAxisnAutoAcc = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴加速度_自动_RW -// m_SysParamWrapper->m_ArmAxisAutoDec = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴减速度_自动_RW -// m_SysParamWrapper->m_ArmAxisAutoRelShift = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴相对位移_自动_RW -// m_SysParamWrapper->m_ArmAxisAutoAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴绝对位置_自动_RW -// m_SysParamWrapper->m_SupplyAutoSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴速度_自动_RW -// m_SysParamWrapper->m_SupplyAxisnAutoAcc = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴加速度_自动_RW -// m_SysParamWrapper->m_SupplyAxisAutoDec = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴减速度_自动_RW -// m_SysParamWrapper->m_SupplyAxisAutoRelShift = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴相对位移_自动_RW -// m_SysParamWrapper->m_SupplyAxisAutoAbsPos = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴绝对位置_自动_RW -// -// m_SysParamWrapper->m_Print3RSeparatTorqueThreshold = new SysParamFloat(flag, 3, cc); flag += 4; //打印3R脱离扭力报警值_RW Real -// m_SysParamWrapper->m_MoldUpTorqueThrehold = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴上升扭力报警值_RW Real -// m_SysParamWrapper->m_MoldDownTorqueThrehold = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴下降扭力报警值_RW Real -// m_SysParamWrapper->m_Clean3RSeparatTorqueThrehold = new SysParamFloat(flag, 3, cc); flag += 4; //清粉3R脱离扭力报警值_RW Real -// m_SysParamWrapper->m_CleanUpTorqueThrehold = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴上升扭力报警值_RW Real -// m_SysParamWrapper->m_CleanDownTorqueThreshold = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴下降扭力报警值_RW Real -// m_SysParamWrapper->m_EleCylinderUpTorqueThrehold = m_SysParamWrapper->m_CleanUpTorqueThrehold; //电缸升降轴上升扭力报警值_RW Real -// m_SysParamWrapper->m_EleCylinderDownTorqueThreshold = m_SysParamWrapper->m_CleanDownTorqueThreshold; //电缸升降轴下降扭力报警值_RW Real -// m_SysParamWrapper->m_CoverType = new SysParamWord(flag, 3, cc); flag += 2; //铺粉类型__RW Int -// m_SysParamWrapper->m_CoverSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印铺粉速度_RW Real -// m_SysParamWrapper->m_CoverReturnSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印单向铺粉返回变速_RW Real -// m_SysParamWrapper->m_CoverDistance = new SysParamFloat(flag, 3, cc); flag += 4; //打印单向铺粉距离_RW Real -// m_SysParamWrapper->m_LayerThick = new SysParamFloat(flag, 3, cc); flag += 4; //打印铺粉层厚_RW Real -// m_SysParamWrapper->m_FixGap = new SysParamFloat(flag, 3, cc); flag += 4; //打印间隙补偿_RW Real -// m_SysParamWrapper->m_SupplyCount = new SysParamWord(flag, 3, cc); flag += 2; //打印铺粉格数_RW Int -// m_SysParamWrapper->m_SupplyTime = new SysParamInt(flag, 3, cc); flag += 4; //打印下粉时间_RW Time -// m_SysParamWrapper->m_DebugLayerThick = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉调试层厚_RW Real -// m_SysParamWrapper->m_DebugFixGap = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉调试间隙_RW Real -// m_SysParamWrapper->m_DebugSupplyTime = new SysParamInt(flag, 3, cc); flag += 4; //铺粉调试下粉时间_RW Time -// m_SysParamWrapper->m_DebugSupplyCount = new SysParamWord(flag, 3, cc); flag += 2; //铺粉调试格数_RW Int -// m_SysParamWrapper->m_DebugCoverDistance = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉调试铺粉距离_RW Real -// m_SysParamWrapper->m_MoldHighSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴快速移动速度_RW Real -// m_SysParamWrapper->m_MoldDeoxygenSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印升降轴下降除氧位速度_RW Real -// m_SysParamWrapper->m_CleanHighSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉升降轴快速移动速度_RW Real -// m_SysParamWrapper->m_PrintPressureThrehold = new SysParamFloat(flag, 3, cc); flag += 4; //打印室压力泄压值_RW Real -// m_SysParamWrapper->m_EnvUIAssit.m_PrintPressureThrehold = new SysParamFloatUI(m_SysParamWrapper->m_PrintPressureThrehold); -// m_SysParamWrapper->m_MoldDeoxygenTime = new SysParamInt(flag, 3, cc); flag += 4; //打印升降轴除氧时间_RW Time -// m_SysParamWrapper->m_PowderCarDeoxygenTime = new SysParamInt(flag, 3, cc); flag += 4; //存粉小车除氧时间_RW Time -// m_SysParamWrapper->m_GratingRulerValue = new SysParamFloat(flag, 3, cc); flag += 4; //光栅尺判断值 Real -// m_SysParamWrapper->m_ArmTorqueThreshold = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴扭力报警值 -// m_SysParamWrapper->m_LoadTorqueThreshold = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴扭力报警值 -// m_SysParamWrapper->m_SupplyTorqueThreshold = new SysParamFloat(flag, 3, cc); flag += 4; //供粉轴扭力报警值 -// -// m_SysParamWrapper->m_PrintMainLead = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴导程_RW -// m_SysParamWrapper->m_PrintMainReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴减速比 -// m_SysParamWrapper->m_PrintMainMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印主轴电机最高转速 -// m_SysParamWrapper->m_PrintSlaveLead = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴导程 -// m_SysParamWrapper->m_PrintSlaveReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴减速比 -// m_SysParamWrapper->m_PrintSlaveMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印从轴电机最高转速 -// m_SysParamWrapper->m_CleanMainLead = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴导程 -// m_SysParamWrapper->m_CleanMainReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴减速比 -// m_SysParamWrapper->m_CleanMainMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉主轴电机最高转速 -// m_SysParamWrapper->m_CleanSlaveLead = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴导程 -// m_SysParamWrapper->m_CleanSlaveReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //清粉从轴减速比 -// m_SysParamWrapper->m_CleanSlaveMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); 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_LoadAxisLead = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴导程 -// m_SysParamWrapper->m_LoadAxisReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴减速比 -// m_SysParamWrapper->m_LoadAxisMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //移载轴电机最高转速 -// m_SysParamWrapper->m_ArmLead = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴导程 -// m_SysParamWrapper->m_ArmReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴减速比 -// m_SysParamWrapper->m_ArmMaxRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴电机最高转速 -// m_SysParamWrapper->m_SupplyLead = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴导程 -// m_SysParamWrapper->m_SupplyReductionRatio = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴减速比 -// m_SysParamWrapper->m_SupplyRotationlSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴电机最高转速 -// -// m_SysParamWrapper->m_ArmSlotDistance = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉槽距离 -// m_SysParamWrapper->m_PowderJarCabinPressureVoltage = new SysParamFloat(flag, 3, cc); flag += 4; //下粉罐与粉仓的压差电压值 -// m_SysParamWrapper->m_PowderJarCabinPressureValue = new SysParamFloat(flag, 3, cc); flag += 4; //下粉罐与粉仓的压差实际值 -// -// m_SysParamWrapper->m_CleanBoxDeoxygenSetValue = new SysParamFloat(flag, 3, cc); flag += 4; //清粉箱除氧设定值_RW -// m_SysParamWrapper->m_CleanBoxOxygenDownLimit = new SysParamFloat(flag, 3, cc); flag += 4; //清粉箱测氧仪下限_RW -// m_SysParamWrapper->m_CleanBoxOxygenUpLimit = new SysParamFloat(flag, 3, cc); flag += 4; //清粉箱测氧仪上限_RW -// m_SysParamWrapper->m_CleanBoxPressureReleaseValue = new SysParamFloat(flag, 3, cc); flag += 4; //清粉箱泄压值_RW -// m_SysParamWrapper->m_PrintCar1RealWeight = new SysParamFloat(flag, 3, cc); flag += 4; //打印小车1实际重量 -// m_SysParamWrapper->m_PrintCar1AlarmWeight = new SysParamFloat(flag, 3, cc); flag += 4; //打印小车1报警重量_RW -// m_SysParamWrapper->m_PrintCar2RealWeight = new SysParamFloat(flag, 3, cc); flag += 4; //打印小车2实际重量 -// m_SysParamWrapper->m_PrintCar2AlarmWeight = new SysParamFloat(flag, 3, cc); flag += 4; //打印小车2报警重量_RW -// m_SysParamWrapper->m_CleanCar1RealWeight = new SysParamFloat(flag, 3, cc); flag += 4; //清粉小车1实际重量 -// m_SysParamWrapper->m_CleanCar1AlarmWeight = new SysParamFloat(flag, 3, cc); flag += 4; //清粉小车1报警重量_RW -// m_SysParamWrapper->m_CleanCar2RealWeight = new SysParamFloat(flag, 3, cc); flag += 4; //清粉小车2实际重量 -// m_SysParamWrapper->m_CleanCar2AlarmWeight = new SysParamFloat(flag, 3, cc); flag += 4; //清粉小车2报警重量_RW -// m_SysParamWrapper->m_LoadHandPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载轨道吊装位置 -// m_SysParamWrapper->m_PowderLevelLength = new SysParamFloat(flag, 3, cc); flag += 4; //料位棒长度 -// m_SysParamWrapper->m_PowderLevelValue = new SysParamFloat(flag, 3, cc); flag += 4; //料位棒当前值 -// m_SysParamWrapper->m_PrintAirRenewalPresRelValue = new SysParamFloat(flag, 3, cc); flag += 4; //打印室换气泄压值 -// m_SysParamWrapper->m_RollerEdgeSearchOffset = new SysParamFloat(flag, 3, cc); flag += 4; //供粉转轴寻边偏移度数 -// m_SysParamWrapper->m_LoadHandCrashPos = new SysParamFloat(flag, 3, cc); flag += 4; //移载吊装碰撞位_RW -// m_SysParamWrapper->m_ArmCatpureHomeFastSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴归原快速_RW -// m_SysParamWrapper->m_ArmCatpureHomeSlowSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //铺粉轴归原慢速_RW -// m_SysParamWrapper->m_LinearEncoderErrorJudgeValue = new SysParamFloat(flag, 3, cc); flag += 4; //光栅尺错误判断值_RW -// m_SysParamWrapper->m_LinearEncoderPerLayerRealValue = new SysParamFloat(flag, 3, cc); flag += 4; //光栅尺每层实际值_R -// m_SysParamWrapper->m_GapCompensateDiffValue = new SysParamFloat(flag, 3, cc); flag += 4; //间隙补偿差值 -// m_SysParamWrapper->m_MoldTheoryDistance = new SysParamFloat(flag, 3, cc); flag += 4; //升降理论行程 -// m_SysParamWrapper->m_LinearActDistance = new SysParamFloat(flag, 3, cc); flag += 4; //光栅实际行程 -// m_SysParamWrapper->m_LinearActPulse = new SysParamFloat(flag, 3, cc); flag += 4; //光栅实际脉冲数 -// m_SysParamWrapper->m_PrintHomeSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //打印轴归原点速度 -// m_SysParamWrapper->m_EleCylinderHomeSpeed = new SysParamFloat(flag, 3, cc); -// m_SysParamWrapper->m_CleanHomeSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //清粉轴归原点速度 -// m_SysParamWrapper->m_LoadHomeSpeed = new SysParamFloat(flag, 3, cc); flag += 4; //移栽轴归原点速度 -// m_SysParamWrapper->m_LoadSearchEdgeTorqueAlarmValue = new SysParamFloat(flag, 3, cc); flag += 4; //移栽寻边报警扭力值 -// m_SysParamWrapper->m_ArmBackAcceptPos = m_SysParamWrapper->m_LoadSearchEdgeTorqueAlarmValue; -// -// m_SysParamWrapper->m_HighPressureGasJudgmentValue = new SysParamFloat(flag, 3, cc); flag += 4; //高压气判断值 -// m_SysParamWrapper->m_ProtectiveGasJudgmentValue = new SysParamFloat(flag, 3, cc); flag += 4; //保护气判断值 -// m_SysParamWrapper->m_UnloadDropDistance = new SysParamFloat(flag, 3, cc); flag += 4; //卸载升降轴下降距离 -// -// m_SysParamWrapper->m_DataSizeMinY = new SysParamFloat(flag, 3, cc); flag += 4; -// m_SysParamWrapper->m_DataSizeMaxY = new SysParamFloat(flag, 3, cc); flag += 4; -// m_SysParamWrapper->m_AllowPrintHigh = new SysParamFloat(flag, 3, cc); flag += 4; -// flag = 1158; -// m_SysParamWrapper->m_AutoCaptureCoverHomeIntervalTimes = new SysParamWord(flag, 3, cc); flag += 2; -// m_SysParamWrapper->m_AutoCaptureCoverHomeCalcTimes = new SysParamWord(flag, 3, cc); flag += 2; -// m_SysParamWrapper->m_LinearEncoderCompensateTimes = new SysParamWord(flag, 3, cc); 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); flag += 4; -// m_SysParamWrapper->m_CylinderMotionDelayTime = new SysParamInt(flag, 65, cc); flag += 4; -// m_SysParamWrapper->m_LinearEncoderCompensateTime = new SysParamInt(flag, 65, cc); flag += 4; -// m_SysParamWrapper->m_DropPowderOpenDeleyTime = new SysParamInt(flag, 65, cc); flag += 4; //下粉阀开延时ms_RW -// m_SysParamWrapper->m_DropPowderCloseDelayTime = new SysParamInt(flag, 65, cc); flag += 4; //下粉阀关延时ms_RW -//} - void HBD1500::InitSysParam(SysParamWrapper* spw, PLCReveiver* cc) { m_SysParamWrapper = spw; diff --git a/PrintS/Machine/Machine.cpp b/PrintS/Machine/Machine.cpp index 8edf52b..87bde1f 100644 --- a/PrintS/Machine/Machine.cpp +++ b/PrintS/Machine/Machine.cpp @@ -438,4 +438,176 @@ DWORD WINAPI Machine::LoadOutProc(Machine* _this) // if (m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger &&m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->GetValue()) { // m_SignalStateWrapper->m_CylinderConnectCleanBoxTriger->SetValue(false); // } -//} \ No newline at end of file +//} + + + +//移栽轴运动 +void Machine::LoadAxisMove(AxisConfig::ActiveDirect adr, bool isContinue, bool isStart) { + switch (adr) { + case AxisConfig::ActiveDirect::UP: break; + case AxisConfig::ActiveDirect::DOWN: break; + case AxisConfig::ActiveDirect::LEFT: + if (!isContinue) { + //if (IsLoadAxisCanMoveLeft()) { + m_Axis->m_Load->MovPoint(adr); + //} + } + else { + if (isStart) { + m_Axis->m_Load->MovLimitStart(adr); + } + else { + m_Axis->m_Load->MovLimitStop(adr); + } + } + break; + case AxisConfig::ActiveDirect::RIGHT: + //if (IsLoadAxisCanMoveRight()) { + m_Axis->m_Load->MovPoint(adr); + //} + break; + case AxisConfig::ActiveDirect::FRONT: break; + case AxisConfig::ActiveDirect::BACK: break; + case AxisConfig::ActiveDirect::ZERO: //清零 + m_Axis->m_Load->GetState()->SetZeroPos(); break; + default: + break; + } + +} + + +//供粉轴运动 +void Machine::SupplyAxisMove(AxisConfig::ActiveDirect adr, bool isContinue, bool isStart) { + switch (adr) { + case AxisConfig::ActiveDirect::UP: break; + case AxisConfig::ActiveDirect::DOWN: break; + case AxisConfig::ActiveDirect::LEFT: break; + case AxisConfig::ActiveDirect::RIGHT: break; + case AxisConfig::ActiveDirect::FRONT: + if (!isContinue) { + //if (IsLoadAxisCanMoveLeft()) { + m_Axis->m_Supply->MovPoint(adr); + //} + } + else { + if (isStart) { + m_Axis->m_Supply->MovLimitStart(adr); + } + else { + m_Axis->m_Supply->MovLimitStop(adr); + } + } + break; + case AxisConfig::ActiveDirect::BACK: + if (!isContinue) { + //if (IsLoadAxisCanMoveLeft()) { + m_Axis->m_Supply->MovPoint(adr); + //} + } + else { + if (isStart) { + m_Axis->m_Supply->MovLimitStart(adr); + } + else { + m_Axis->m_Supply->MovLimitStop(adr); + } + } + break; + case AxisConfig::ActiveDirect::ZERO: //清零 + break; + default: + break; + } + +} + + +//成型缸运动 +void Machine::PrintAxisMove(AxisConfig::ActiveDirect adr, bool isContinue, bool isStart) { + switch (adr) { + case AxisConfig::ActiveDirect::UP: + if (!isContinue) { + m_Axis->m_Mold->MovPoint(adr); + } + else { + if (isStart) { + m_Axis->m_Mold->MovLimitStart(adr); + } + else { + m_Axis->m_Mold->MovLimitStop(adr); + } + } + break; + case AxisConfig::ActiveDirect::DOWN: + if (!isContinue) { + m_Axis->m_Mold->MovPoint(adr); + } + else { + if (isStart) { + m_Axis->m_Mold->MovLimitStart(adr); + } + else { + m_Axis->m_Mold->MovLimitStop(adr); + } + } + break; + case AxisConfig::ActiveDirect::LEFT: break; + case AxisConfig::ActiveDirect::RIGHT: break; + case AxisConfig::ActiveDirect::FRONT: break; + case AxisConfig::ActiveDirect::BACK: break; + case AxisConfig::ActiveDirect::ZERO: //清零 + m_Axis->m_Mold->GetState()->SetZeroPos(); + break; + default: + break; + } + + + +} + +//铺粉臂运动 +void Machine::ArmAxisMove(AxisConfig::ActiveDirect adr, bool isContinue, bool isStart) { + + switch (adr) { + case AxisConfig::ActiveDirect::UP: break; + case AxisConfig::ActiveDirect::DOWN: break; + case AxisConfig::ActiveDirect::LEFT: break; + case AxisConfig::ActiveDirect::RIGHT: break; + case AxisConfig::ActiveDirect::FRONT: + if (!isContinue) { + m_Axis->m_Arm->MovPoint(adr); + } + else { + if (isStart) { + m_Axis->m_Arm->MovLimitStart(adr); + } + else { + m_Axis->m_Arm->MovLimitStop(adr); + } + } + break; + case AxisConfig::ActiveDirect::BACK: + if (!isContinue) { + m_Axis->m_Arm->MovPoint(adr); + } + else { + if (isStart) { + m_Axis->m_Arm->MovLimitStart(adr); + } + else { + m_Axis->m_Arm->MovLimitStop(adr); + } + } + break; + case AxisConfig::ActiveDirect::ZERO: //清零 + m_Axis->m_Arm->GetState()->SetZeroPos(); + break; + default: + break; + } + + +} \ No newline at end of file diff --git a/PrintS/Machine/Machine.h b/PrintS/Machine/Machine.h index 745521d..026239c 100644 --- a/PrintS/Machine/Machine.h +++ b/PrintS/Machine/Machine.h @@ -132,6 +132,11 @@ public: m_clientUser = clientList; } + virtual void LoadAxisMove(AxisConfig::ActiveDirect adr, bool isContinue = false, bool isStart = false); //移栽轴运动 + virtual void SupplyAxisMove(AxisConfig::ActiveDirect adr, bool isContinue = false, bool isStart = false); //供粉轴运动 + virtual void PrintAxisMove(AxisConfig::ActiveDirect adr, bool isContinue = false, bool isStart = false); //成型缸运动 + virtual void ArmAxisMove(AxisConfig::ActiveDirect adr, bool isContinue = false, bool isStart = false); //铺粉臂运动 + protected: virtual void LoadOutRun() = 0; virtual void LoadInRun() = 0; diff --git a/PrintS/PLC/AxisConfig.h b/PrintS/PLC/AxisConfig.h index b44ef2d..64ccc03 100644 --- a/PrintS/PLC/AxisConfig.h +++ b/PrintS/PLC/AxisConfig.h @@ -1,4 +1,4 @@ -#pragma once +#pragma once #include #include "SysParam.h" @@ -12,7 +12,8 @@ public: LEFT, RIGHT, FRONT, - BACK + BACK, + ZERO }; typedef struct { float speed; @@ -27,11 +28,11 @@ public: void Update(unsigned char* addr); public: - SysParamFloat* m_Speed; //ӡֶٶ_RW - SysParamFloat* m_Acc; //ӡֶ_RW - SysParamFloat* m_Dec; //ӡֶ_RW - SysParamFloat* m_RefDistance; //ӡֶλƾ_RW - SysParamFloat* m_AbsPos; //ӡλ_ֶ_RW + SysParamFloat* m_Speed; //打印主轴手动速度_RW + SysParamFloat* m_Acc; //打印主轴手动加速_RW + SysParamFloat* m_Dec; //打印主轴手动减速_RW + SysParamFloat* m_RefDistance; //打印主轴手动相对位移距离_RW + SysParamFloat* m_AbsPos; //打印主轴绝对位置_手动_RW // ActiveDirect m_ActiveDirect; diff --git a/PrintS/PLC/SysParam.cpp b/PrintS/PLC/SysParam.cpp index 27a4cfe..b7e4d20 100644 --- a/PrintS/PLC/SysParam.cpp +++ b/PrintS/PLC/SysParam.cpp @@ -3,6 +3,7 @@ //#include "CoreCommunication.h" std::map SysParam::m_sysParamMp; +CRITICAL_SECTION SysParam::m_ValueCS; SysParam::SysParam(int addr, int num, PLCReveiver* cc,const string& context, const std::string& code) : PLCCommand(cc) , m_Addr(addr) @@ -10,7 +11,7 @@ SysParam::SysParam(int addr, int num, PLCReveiver* cc,const string& context, con , m_context(context) , m_code(code) { - + InitializeCriticalSection(&m_ValueCS); } SysParam::~SysParam() @@ -21,6 +22,7 @@ SysParam::~SysParam() ++item; } m_sysParamMp.clear(); + DeleteCriticalSection(&m_ValueCS); } SysParam::SysParam(SysParam* sp) :PLCCommand(sp->m_Receiver) diff --git a/PrintS/PLC/SysParam.h b/PrintS/PLC/SysParam.h index 0bf72ff..b006dd9 100644 --- a/PrintS/PLC/SysParam.h +++ b/PrintS/PLC/SysParam.h @@ -8,7 +8,7 @@ using namespace std; struct DValue; -//class CoreCommunication; + class SysParam :public PLCCommand { public: @@ -21,7 +21,12 @@ public: int GetAddr() { return m_Addr; } string GetCode() { return m_code; } - + static void Lck() { + EnterCriticalSection(&m_ValueCS); + } + static void UnLck() { + LeaveCriticalSection(&m_ValueCS); + } static std::map m_sysParamMp; //记录 protected: int m_Addr; @@ -30,7 +35,8 @@ protected: string m_context2; //名称内容2 string m_code; //key编码 string m_code2; //key编码2 - + static CRITICAL_SECTION m_ValueCS; //锁 + //S7Command* m_CtrlCommand; //PLCReveiver* m_cc; @@ -176,6 +182,7 @@ struct DValue { if (sysParamF) return sysParamF; if (sysParamFU) return sysParamFU; if (sysParamWU) return sysParamWU; + return nullptr; } }; diff --git a/PrintS/PrintS.vcxproj.user b/PrintS/PrintS.vcxproj.user index 966b4ff..5df420f 100644 --- a/PrintS/PrintS.vcxproj.user +++ b/PrintS/PrintS.vcxproj.user @@ -1,6 +1,6 @@  - true + false \ No newline at end of file diff --git a/PrintS/ScannerCtrl/ScannerCtrl.h b/PrintS/ScannerCtrl/ScannerCtrl.h index 9c6672f..e921a90 100644 --- a/PrintS/ScannerCtrl/ScannerCtrl.h +++ b/PrintS/ScannerCtrl/ScannerCtrl.h @@ -5,7 +5,7 @@ #include "Scanner.h" #include "../Machine/Machine.h" #include "../PLC/MachineCtrl.h" -//#include "../camera/HBDCamera.h" +#include "../camera/HBDCamera.h" //#include "../RecoatCheck/RecoatCheck.h" #include "../Communication/ServoManager.h" #include "ScannerPair.h" @@ -50,7 +50,7 @@ public: bool IsHeatingScannerEnable(); - //void SetCamera(HBDCamera* camera) { m_Camera = camera; } + void SetCamera(HBDCamera* camera) { m_Camera = camera; } //void SetRecoatCheck(RecoatCheck* rc) { m_RecoatCheck = rc; } void SetServoManager(ServoManager* servoManager) { m_ServoManager = servoManager; } @@ -109,7 +109,7 @@ private: unsigned int m_DownSkinStopFlag; bool m_IsDownSkinContinue; - //HBDCamera* m_Camera; + HBDCamera* m_Camera; //RecoatCheck* m_RecoatCheck; RecoatCheckCfg* m_RecoatCheckCfg; diff --git a/PrintS/main.cpp b/PrintS/main.cpp index 23e0fc4..e310268 100644 --- a/PrintS/main.cpp +++ b/PrintS/main.cpp @@ -45,31 +45,54 @@ public: }; +void Usage() { + printf("print service usage:\n"); + printf(" r(run):start run...\n"); + printf(" s(stop):stop run...\n"); + printf(" e(exit):exit program...\n"); + printf(" h(help):print this information...\n"); + +} + + int main(int argc, char** argv) { HBDSystem* hbd = new HBDSystem(); hbd->Init(); DataHandle* dataHandle = new DataHandle(); - dataHandle->Init(); + dataHandle->Init(); - printf("服务器已启动,请输入命令:"); + Usage(); + + //printf("请输入命令:"); std::string userInput; + bool unknowCmd = false; while (true) { + if (!unknowCmd)printf("*请输入命令:"); std::getline(std::cin, userInput); // 读取用户输入 - + unknowCmd = false; if (userInput == "r" || userInput == "run") { printf("service is running...\n"); dataHandle->Run(); } - else if (userInput == "exit" || userInput == "e") { - dataHandle->Stop(); + else if (userInput == "s" || userInput == "stop") { + if (dataHandle) dataHandle->Stop(); + printf("service is stoped...\n"); + } + else if (userInput == "e" || userInput == "exit") { + if(dataHandle) dataHandle->Stop(); DELP(dataHandle); printf("service is exited...\n"); break; } - else { - std::cout << "未识别的命令,请重新输入。" << std::endl; + else if (userInput == "h" || userInput == "help") { + Usage(); } + else { + printf("未识别的命令,请重新输入命令:"); + unknowCmd = true; + } + } DELP(dataHandle);