From 868b60ff67eb21ad0442356b702c6788f82d1c7c Mon Sep 17 00:00:00 2001 From: tangchao0503 <735056338@qq.com> Date: Fri, 15 Mar 2024 14:45:33 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E5=A4=8Dbug=EF=BC=9A?= =?UTF-8?q?=E5=85=B3=E9=97=AD-=E6=89=93=E5=BC=80=E9=A9=AC=E8=BE=BE?= =?UTF-8?q?=E7=94=B5=E6=BA=90=E5=90=8E=EF=BC=8C=E6=80=BB=E6=9C=89=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E9=A9=AC=E8=BE=BE=E8=BF=9E=E6=8E=A5=E4=B8=8D=E4=B8=8A?= =?UTF-8?q?=EF=BC=8C=E9=80=9A=E8=BF=87=E5=88=A0=E6=8E=89=E9=87=8D=E5=BB=BA?= =?UTF-8?q?=E9=A9=AC=E8=BE=BE=E5=AF=B9=E8=B1=A1=E8=A7=A3=E5=86=B3=EF=BC=9B?= =?UTF-8?q?=202=E3=80=81=E5=B0=86=E4=BB=BB=E6=80=BB=E7=9A=84=E9=A9=AC?= =?UTF-8?q?=E8=BE=BE=E6=8E=A7=E5=88=B6=E5=BA=93=E5=8A=A0=E5=85=A5=E6=9C=AC?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HPPA.sln | 23 +++++++++++++-- HPPA/HPPA.cpp | 75 ++++++++++++++++++++++++++++++++++++++--------- HPPA/HPPA.h | 2 ++ HPPA/HPPA.vcxproj | 6 ++-- HPPA/about.ui | 2 +- 5 files changed, 88 insertions(+), 20 deletions(-) diff --git a/HPPA.sln b/HPPA.sln index 908f7ad..45ff640 100644 --- a/HPPA.sln +++ b/HPPA.sln @@ -1,20 +1,39 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.1267 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33502.453 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HPPA", "HPPA\HPPA.vcxproj", "{E7886664-B69E-4781-BCBE-804574FB4033}" + ProjectSection(ProjectDependencies) = postProject + {B12702AD-ABFB-343A-A199-8E24837244A3} = {B12702AD-ABFB-343A-A199-8E24837244A3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vincecontrol", "..\..\cpp_project_vs2019\vincecontrol\vincecontrol\vincecontrol.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {E7886664-B69E-4781-BCBE-804574FB4033}.Debug|x64.ActiveCfg = Debug|x64 {E7886664-B69E-4781-BCBE-804574FB4033}.Debug|x64.Build.0 = Debug|x64 + {E7886664-B69E-4781-BCBE-804574FB4033}.Debug|x86.ActiveCfg = Debug|x64 + {E7886664-B69E-4781-BCBE-804574FB4033}.Debug|x86.Build.0 = Debug|x64 {E7886664-B69E-4781-BCBE-804574FB4033}.Release|x64.ActiveCfg = Release|x64 {E7886664-B69E-4781-BCBE-804574FB4033}.Release|x64.Build.0 = Release|x64 + {E7886664-B69E-4781-BCBE-804574FB4033}.Release|x86.ActiveCfg = Release|x64 + {E7886664-B69E-4781-BCBE-804574FB4033}.Release|x86.Build.0 = Release|x64 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x86.ActiveCfg = Debug|Win32 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x86.Build.0 = Debug|Win32 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x86.ActiveCfg = Release|Win32 + {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/HPPA/HPPA.cpp b/HPPA/HPPA.cpp index 39b7794..7c09a00 100644 --- a/HPPA/HPPA.cpp +++ b/HPPA/HPPA.cpp @@ -105,12 +105,10 @@ HPPA::HPPA(QWidget *parent) - //Âí´ï - m_xMotor = new VinceControl(NETTCP, 6002);//Ïà»úÖá - m_yMotor = new VinceControl(NETTCP, 6001);//Ô­±¾£º6001£»º«¹¤²âÊÔ£º6003 - m_xConnectCount = 0; - m_yConnectCount = 0; - + + m_xMotor = nullptr; + m_yMotor = nullptr; + newMotor(); //m_TestXmotorStausThread = new MotorWorkerThread(m_xMotor); @@ -179,7 +177,6 @@ HPPA::HPPA(QWidget *parent) connect(ui.graphicsView->imager, SIGNAL(leftMouseButtonPressed(int, int)), this, SLOT(onimagerSimulatorMove(int, int))); - connect(m_xMotor, SIGNAL(SendLogToCallClass(QString)), this, SLOT(OnSendLogToCallClass(QString))); //¹æ»®²É¼¯Ïß ui.recordLine_tableWidget->setFocusPolicy(Qt::NoFocus); @@ -275,13 +272,16 @@ HPPA::~HPPA() if (m_Imager != nullptr) m_Imager->~ResononImager();//ÊÍ·Å×ÊÔ´ - if (isMotorConnected(m_xMotor)) + if (m_xMotor != nullptr && m_yMotor != nullptr) { - m_xMotor->StopMotormove(); - } - if (isMotorConnected(m_yMotor)) - { - m_yMotor->StopMotormove(); + if (isMotorConnected(m_xMotor)) + { + m_xMotor->StopMotormove(); + } + if (isMotorConnected(m_yMotor)) + { + m_yMotor->StopMotormove(); + } } } @@ -407,6 +407,11 @@ void HPPA::onStartRecordStep1() void HPPA::onStartRecordStep2(int lineNumber) { + if (m_xMotor == nullptr && m_yMotor == nullptr) + { + return; + } + if (lineNumber >= 0) { m_numberOfRecording = lineNumber; @@ -637,6 +642,12 @@ void HPPA::timerEvent(QTimerEvent *event) { try { + if (m_xMotor == nullptr || m_yMotor == nullptr) + { + qDebug() << "Motor pointer is null!!!!!"; + return; + } + if (!m_xMotor->IsMotorInit) { //return; @@ -644,7 +655,7 @@ void HPPA::timerEvent(QTimerEvent *event) } ByteBack xMotorState = m_xMotor->GetState();//Ö´ÐÐÓÐÎÊÌâ - std::cout << "------------------------------------------Âí´ïËÙ¶È£º" << xMotorState.Speed << std::endl; + std::cout << "------------------------------------------xÂí´ïËÙ¶È£º" << xMotorState.Speed << std::endl; if (xMotorState.Speed == -1000000) { @@ -1638,12 +1649,48 @@ void HPPA::onMotorPowerOpen_btn() { QString xx = "http://192.168.1.3/setshutter?Portname=1&Value=1"; getRequest(xx); + + newMotor(); } void HPPA::onMotorPowerClose_btn() { QString xx = "http://192.168.1.3/setshutter?Portname=1&Value=0"; getRequest(xx); + + deleteMotor(); +} + +void HPPA::newMotor() +{ + if (m_xMotor != nullptr && m_yMotor != nullptr) + { + return; + } + + //Âí´ï + m_xMotor = new VinceControl(NETTCP, 6002);//Ïà»úÖá + m_yMotor = new VinceControl(NETTCP, 6001);//Ô­±¾£º6001£»º«¹¤²âÊÔ£º6003 + m_xConnectCount = 0; + m_yConnectCount = 0; + + connect(m_xMotor, SIGNAL(SendLogToCallClass(QString)), this, SLOT(OnSendLogToCallClass(QString))); + connect(m_yMotor, SIGNAL(SendLogToCallClass(QString)), this, SLOT(OnSendLogToCallClass(QString))); +} + +void HPPA::deleteMotor() +{ + disconnect(m_xMotor, SIGNAL(SendLogToCallClass(QString)), this, SLOT(OnSendLogToCallClass(QString))); + disconnect(m_yMotor, SIGNAL(SendLogToCallClass(QString)), this, SLOT(OnSendLogToCallClass(QString))); + + delete m_xMotor; + delete m_yMotor; + + m_xMotor = nullptr; + m_yMotor = nullptr; + + xmotor_state_label1->setStyleSheet("QLabel{background-color:rgb(255,0,0);}"); + ymotor_state_label1->setStyleSheet("QLabel{background-color:rgb(255,0,0);}"); } void HPPA::requestFinished(QNetworkReply* reply) { diff --git a/HPPA/HPPA.h b/HPPA/HPPA.h index 9c4386b..aae701d 100644 --- a/HPPA/HPPA.h +++ b/HPPA/HPPA.h @@ -203,6 +203,8 @@ private: QString operateWidget;//µ±Ç°²Ù×÷µÄ¿Ø¼þÃû //Âí´ï + void deleteMotor(); + void newMotor(); bool isMotorConnected(VinceControl *motor);//ÅжÏÂí´ïÊÇ·ñ¶Ï¿ª£ºÈç¹û¶Ï¿ª·µ»Øtrue£»·ñÔò·µ»Øfalse void SetXMotorWidgetEnable(bool enable); void SetYMotorWidgetEnable(bool enable); diff --git a/HPPA/HPPA.vcxproj b/HPPA/HPPA.vcxproj index d90fa8f..c21bf05 100644 --- a/HPPA/HPPA.vcxproj +++ b/HPPA/HPPA.vcxproj @@ -55,8 +55,8 @@ - D:\cpp_library\vincecontrol_vs2017;D:\cpp_library\gdal2.2.3_vs2017\include;C:\Program Files\ResononAPI\include;D:\cpp_library\opencv3.4.11\opencv\build\include;D:\cpp_library\opencv3.4.11\opencv\build\include\opencv;D:\cpp_library\opencv3.4.11\opencv\build\include\opencv2;D:\cpp_project_vs2022\AutoFocus_InspireLinearMotor_DLL\AutoFocus_InspireLinearMotor_DLL\SDKs\PCOMM\Include;D:\cpp_project_vs2022\AutoFocus_InspireLinearMotor_DLL\AutoFocus_InspireLinearMotor_DLL\SDKs\PortControl;D:\cpp_project_vs2022\AutoFocus_InspireLinearMotor_DLL\AutoFocus_InspireLinearMotor_DLL;D:\cpp_project_vs2022\HPPA\HPPA;D:\cpp_library\libconfig-1.7.3\lib;$(IncludePath) - D:\cpp_library\opencv3.4.11\opencv\build\x64\vc15\lib;D:\cpp_library\vincecontrol_vs2017;D:\cpp_library\gdal2.2.3_vs2017\lib;C:\Program Files\ResononAPI\lib64;D:\cpp_project_vs2022\AutoFocus_InspireLinearMotor_DLL\x64\Debug;D:\cpp_library\libconfig-1.7.3\build\x64;$(LibraryPath) + D:\cpp_library\gdal2.2.3_vs2017\include;C:\Program Files\ResononAPI\include;D:\cpp_library\opencv3.4.11\opencv\build\include;D:\cpp_library\opencv3.4.11\opencv\build\include\opencv;D:\cpp_library\opencv3.4.11\opencv\build\include\opencv2;D:\cpp_project_vs2022\AutoFocus_InspireLinearMotor_DLL\AutoFocus_InspireLinearMotor_DLL\SDKs\PCOMM\Include;D:\cpp_project_vs2022\AutoFocus_InspireLinearMotor_DLL\AutoFocus_InspireLinearMotor_DLL\SDKs\PortControl;D:\cpp_project_vs2022\AutoFocus_InspireLinearMotor_DLL\AutoFocus_InspireLinearMotor_DLL;D:\cpp_project_vs2022\HPPA\HPPA;D:\cpp_library\libconfig-1.7.3\lib;D:\cpp_project_vs2022\HPPA - 副本\vincecontrol;$(IncludePath) + D:\cpp_library\opencv3.4.11\opencv\build\x64\vc15\lib;D:\cpp_library\gdal2.2.3_vs2017\lib;C:\Program Files\ResononAPI\lib64;D:\cpp_project_vs2022\AutoFocus_InspireLinearMotor_DLL\x64\Debug;D:\cpp_library\libconfig-1.7.3\build\x64;D:\cpp_project_vs2022\HPPA - 副本\vincecontrol\x64\Debug;$(LibraryPath) D:\cpp_library\vincecontrol_vs2017;D:\cpp_library\gdal2.2.3_vs2017\include;C:\Program Files\ResononAPI\include;D:\cpp_library\opencv3.4.11\opencv\build\include;D:\cpp_library\opencv3.4.11\opencv\build\include\opencv;D:\cpp_library\opencv3.4.11\opencv\build\include\opencv2;D:\cpp_project_vs2022\AutoFocus_InspireLinearMotor_DLL\AutoFocus_InspireLinearMotor_DLL\SDKs\PCOMM\Include;D:\cpp_project_vs2022\AutoFocus_InspireLinearMotor_DLL\AutoFocus_InspireLinearMotor_DLL\SDKs\PortControl;D:\cpp_project_vs2022\AutoFocus_InspireLinearMotor_DLL\AutoFocus_InspireLinearMotor_DLL;D:\cpp_project_vs2022\HPPA\HPPA;D:\cpp_library\libconfig-1.7.3\lib;$(IncludePath) @@ -64,7 +64,7 @@ - opencv_world3411.lib;opencv_world3411d.lib;vincecontrol.lib;gdal_i.lib;resonon-basler.lib;AutoFocus_InspireLinearMotor_DLL.lib;libconfig++d.lib;%(AdditionalDependencies) + opencv_world3411.lib;opencv_world3411d.lib;gdal_i.lib;resonon-basler.lib;AutoFocus_InspireLinearMotor_DLL.lib;libconfig++d.lib;vincecontrol.lib;%(AdditionalDependencies) %(PreprocessorDefinitions) diff --git a/HPPA/about.ui b/HPPA/about.ui index bd4cbf6..c569f1f 100644 --- a/HPPA/about.ui +++ b/HPPA/about.ui @@ -70,7 +70,7 @@ - 版本:1.5 + 版本:1.6