From 2ce0d7b876947f502414d2ce051d357d2b336758 Mon Sep 17 00:00:00 2001 From: RCi <15089880081@163.com> Date: Fri, 30 Aug 2024 17:36:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=BA=86=E7=82=B9=E6=BF=80?= =?UTF-8?q?=E5=85=89=E5=8F=96=E5=80=BC=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Hd_3DCameraLMI_module_PointLazer_Range.cpp | 18 +- .../appConfig/sqlManager/sqlManager.cpp | 2 +- HanddleAI/HandleAiUi-new/detProcess.hpp | 185 ++++++++++-------- lib/Hd_3DCameraLMI_module_PointLazer.exp | Bin 772 -> 798 bytes lib/Hd_3DCameraLMI_module_PointLazer.lib | Bin 2276 -> 2276 bytes lib/Hd_DalsaCamera_module.exp | Bin 751 -> 777 bytes lib/Hd_DalsaCamera_module.lib | Bin 2120 -> 2120 bytes lib/Hd_FinsTcp_module.exp | Bin 743 -> 769 bytes lib/Hd_FinsTcp_module.lib | Bin 2064 -> 2064 bytes lib/Hd_MvCamera_module_GENTL.exp | Bin 756 -> 782 bytes lib/Hd_MvCamera_module_GENTL.lib | Bin 2164 -> 2164 bytes lib/Hd_MvCamera_module_GIGE.exp | Bin 755 -> 781 bytes lib/Hd_MvCamera_module_GIGE.lib | Bin 2148 -> 2148 bytes lib/Hd_ResultsSummary_module.exp | Bin 756 -> 782 bytes lib/Hd_ResultsSummary_module.lib | Bin 2164 -> 2164 bytes lib/Hd_SocketModule_ModbusTcp.exp | Bin 1501 -> 1527 bytes lib/Hd_SocketModule_ModbusTcp.lib | Bin 3446 -> 3446 bytes 17 files changed, 121 insertions(+), 84 deletions(-) diff --git a/BaseModules/Hd_3DCameraLMI_module_PointLazer/Hd_3DCameraLMI_module_PointLazer_Range.cpp b/BaseModules/Hd_3DCameraLMI_module_PointLazer/Hd_3DCameraLMI_module_PointLazer_Range.cpp index a6177a52..e051e9ec 100644 --- a/BaseModules/Hd_3DCameraLMI_module_PointLazer/Hd_3DCameraLMI_module_PointLazer_Range.cpp +++ b/BaseModules/Hd_3DCameraLMI_module_PointLazer/Hd_3DCameraLMI_module_PointLazer_Range.cpp @@ -217,10 +217,16 @@ bool Hd_3DCameraLMI_module::sendData(std::vector& vecPic, QByteArray &d if(dataVec.size()>0) { m_mutex->lock(); - double rangeData = dataVec[dataVec.size()-1]; + double avgData = 0; + for (auto data : dataVec) + { + avgData += data; + } + avgData /= dataVec.size(); + //double rangeData = dataVec[dataVec.size()-1]; dataVec.clear(); m_mutex->unlock(); - data = QByteArray::number(rangeData); + data = QByteArray::number(avgData); } return true; @@ -261,17 +267,18 @@ bool Hd_3DCameraLMI_module::initParas(QByteArray &) bool Hd_3DCameraLMI_module::run() { + dataVec.clear(); + for(auto i = 0 ;i<20000;i++) GoSensor_Trigger(sensor); bool result = false; //qDebug() << "[info]" << __FUNCTION__ << " line:" << __LINE__ << " run start" << id; try { int timeOut = 0; - dataVec.clear(); - while (timeOut < 10000) + while (timeOut < 2000) { m_mutex->lock(); - if (dataVec.size() > 0) + if (dataVec.size() >= 9000) { result = true; m_mutex->unlock(); @@ -281,6 +288,7 @@ bool Hd_3DCameraLMI_module::run() timeOut += 10; QThread::msleep(10); } + std::cout << "size" << dataVec.size() << std::endl; } catch (QString ev) { diff --git a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.cpp b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.cpp index c16ff3e8..24afe956 100644 --- a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.cpp +++ b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.cpp @@ -148,7 +148,7 @@ bool sqlManager::updateData(std::string SN,sqlRowDatas data) dbPtr->Update(getCurrentDate(), data, "SN", SN); } mutex.unlock(); - + return true; } //将数æ�®å­˜å…¥æ•°æ�®åº“ bool sqlManager::addData(std::string SN,std::vector data) diff --git a/HanddleAI/HandleAiUi-new/detProcess.hpp b/HanddleAI/HandleAiUi-new/detProcess.hpp index 14814b5c..2687a263 100644 --- a/HanddleAI/HandleAiUi-new/detProcess.hpp +++ b/HanddleAI/HandleAiUi-new/detProcess.hpp @@ -11,17 +11,17 @@ class detProcess : public QThread { public: - detProcess() - { - _threadManager.initialization(this); - _manualDetThread.initialization(this); - _cameraManager.initialization(); - _triggerManager.initialization(this); + detProcess() + { + _threadManager.initialization(this); + _manualDetThread.initialization(this); + _cameraManager.initialization(); + _triggerManager.initialization(this); detProcessCallbackRegister(); - } + } //³õʼ»¯ - void run() - { + void run() + { _cameraManager.start(); _handleAiModelManager.start(); _lightSourceManager.start(); @@ -35,16 +35,16 @@ public: _triggerManager.start(); res3 = waitrForInitResult(&_triggerManager); } - std::cout << "_cameraManager-initReuslt-->" << std::to_string(res1) << "\n" + std::cout << "_cameraManager-initReuslt-->" << std::to_string(res1) << "\n" << "_handleAiModelManager-initReuslt-->" << std::to_string(res2) << "\n" << "_triggerManager-initReuslt-->" << std::to_string(res3) << "\n" << std::endl; - if(res1 == true&&res2 == true && res3 == true) + if (res1 == true && res2 == true && res3 == true) emit _core._qtFunc.sendInitFinished(InitOK); else emit _core._qtFunc.sendInitFinished(InitFailure); - } + } //µÈ´ý·þÎñ·µ»ØOK/NGÖ±µ½³¬Ê± - bool waitrForInitResult(serviceModule* ptr,int timeout=-1) + bool waitrForInitResult(serviceModule* ptr, int timeout = -1) { if (timeout == -1)//²»»á³¬Ê± { @@ -52,7 +52,7 @@ public: { if (ptr->status == InitFailure) return false; - else if(ptr->status == InitOK) + else if (ptr->status == InitOK) return true; QThread::msleep(100); } @@ -75,18 +75,18 @@ public: } } simpleSiemensTcp _simpleSiemensTcp; - detDataManager _detDataManager;//¼ì²âÖеÄÊý¾Ý ²»ÐèÒª³õʼ»¯ - imgSaveThreadManager _imgSaveThreadManager;//´æÍ¼Ïß³Ì ²»ÐèÒª³õʼ»¯ - detThreadManager _threadManager;//Òì²½¼ì²âÏß³Ì ²»ÐèÒª³õʼ»¯ - - handleAiModelManager _handleAiModelManager;//Ä£ÐÍ - cameraManager _cameraManager;//Ïà»ú - lightSourceManager _lightSourceManager;//¹âÔ´ + detDataManager _detDataManager;//¼ì²âÖеÄÊý¾Ý ²»ÐèÒª³õʼ»¯ + imgSaveThreadManager _imgSaveThreadManager;//´æÍ¼Ïß³Ì ²»ÐèÒª³õʼ»¯ + detThreadManager _threadManager;//Òì²½¼ì²âÏß³Ì ²»ÐèÒª³õʼ»¯ - triggerManager _triggerManager;//MODBUS´¥·¢Æ÷ - manualDetThread _manualDetThread;//ÊÖ¶¯´¥·¢Ïß³Ì + handleAiModelManager _handleAiModelManager;//Ä£ÐÍ + cameraManager _cameraManager;//Ïà»ú + lightSourceManager _lightSourceManager;//¹âÔ´ - /////////////////////////////// + triggerManager _triggerManager;//MODBUS´¥·¢Æ÷ + manualDetThread _manualDetThread;//ÊÖ¶¯´¥·¢Ïß³Ì + + /////////////////////////////// bool startDet = false; QMutex detMutex; std::string currentSn; @@ -99,7 +99,8 @@ public: _triggerManager.registerCallback(361, 2, [this](QByteArray& byteArray) {detectionSwitch2(byteArray); }, "¼ì²â½áÊø1"); _triggerManager.registerCallback(362, 1, [this](QByteArray& byteArray) {detectionEnd(byteArray); }, "¼ì²â½áÊø2"); _triggerManager.registerCallback(364, 1, [this](QByteArray& byteArray) {frontBackDet(); }, "¼ì²âÕý·´Ãæ"); - + _triggerManager.registerCallback(369, 1, [this](QByteArray& byteArray) {testFunc(); }, "¼ì²âÕý·´Ãæ"); + _threadManager.registerCallback([this](std::shared_ptrdata) {correctionResultHandle(data); }); _threadManager.registerCallback([this](std::shared_ptrdata) {detectionResultHandle(data); }); } @@ -109,7 +110,7 @@ public: bool currentBack = false; //¼¤¹âУ׼Êý¾Ý»º´æ //SN Êý¾Ý pointsOffsetStruct lastPointsOffsetStruct_; - correctionStruct laserDataCache; + correctionStruct laserDataCache; //×ÜÁ÷³Ì¿ªÊ¼£¬»úÆ÷ÈË·¢ËÍ1ÖÁ¼Ä´æÆ÷259 //ÉÏλ»úÈ·ÈÏOKÖ®ºó£¬ÇåÁã¼Ä´æÆ÷259£¬²¢·¢ËÍ1ÖÁ¼Ä´æÆ÷260 //Èç²úÆ·ÐͺÅΪProduct_1ÇÒΪÕýÃæ£¬ÔòÉÏλ»ú·¢ËÍ1ÖÁ¼Ä´æÆ÷256£¬·¢ËÍ0ÖÁ¼Ä´æÆ÷257 @@ -132,12 +133,12 @@ public: //ÉÏλ»úÈ·ÈÏ»úÆ÷È˵½´ïµãλ1(264)ʱ£¬È·ÈÏOKºó£¬¼Ä´æÆ÷262ÖÁ1£¬261ÖÁ0£¬È¡µãÍê³Éºó£¬·¢ËͼĴæÆ÷263ÖÁ1 //У׼º¯Êý 261 void calibrationFunc(QByteArray& byteArray) - { + { QThread::msleep(3000); int armPos = _triggerManager.getValue(264, byteArray); int xValue1 = _triggerManager.getValue(265, byteArray); - int xValue2 = _triggerManager.getValue(266, byteArray); + int xValue2 = _triggerManager.getValue(266, byteArray); int xValue3 = _triggerManager.getValue(267, byteArray); int yValue1 = _triggerManager.getValue(268, byteArray); @@ -154,31 +155,33 @@ public: auto cameraPtr = _cameraManager.getCamera("181964"); if (cameraPtr == nullptr) return; - std::vector values; - for (int i = 0; i < 10; i++)//ÆúÓà - { - cameraPtr->trigger(); - double rangeData1 = cameraPtr->getCameraValue(); - } - for (int i = 0; i < 70; i++) - { - cameraPtr->trigger(); - double rangeData1 = cameraPtr->getCameraValue(); - values.push_back(rangeData1); - } + cameraPtr->trigger(); + double rangeData = cameraPtr->getCameraValue(); + //std::vector values; + //for (int i = 0; i < 10; i++)//ÆúÓà + //{ + // cameraPtr->trigger(); + // double rangeData1 = cameraPtr->getCameraValue(); + //} + //for (int i = 0; i < 70; i++) + //{ + // cameraPtr->trigger(); + // double rangeData1 = cameraPtr->getCameraValue(); + // values.push_back(rangeData1); + //} - double avgData = 0; - for (auto data : values) - { - avgData += data; - } - avgData /= values.size(); + //double avgData = 0; + //for (auto data : values) + //{ + // avgData += data; + //} + //avgData /= values.size(); - double maxData = *std::max_element(values.begin(), values.end()); - double minData = *std::min_element(values.begin(), values.end()); - double rangeData = avgData; - qDebug() << " max:" << maxData << " min:" << minData << " avg:" << avgData; - std::cout << " max:" << maxData << " min:" << minData << " avg:" << avgData << std::endl; + //double maxData = *std::max_element(values.begin(), values.end()); + //double minData = *std::min_element(values.begin(), values.end()); + //double rangeData = avgData; + /*qDebug() << " max:" << maxData << " min:" << minData << " avg:" << avgData; + std::cout << " max:" << maxData << " min:" << minData << " avg:" << avgData << std::endl;*/ qDebug() << "jiaozhun xValue:" << xValue << " yValue:" << yValue << " zValue:" << zValue << " rangeData:" << rangeData; std::cout << "jiaozhun xValue:" << xValue << " yValue:" << yValue << " zValue:" << zValue << " rangeData:" << rangeData << std::endl; if (rangeData == 0) @@ -205,13 +208,13 @@ public: laserDataCache.in_X_Y0Z_Value.push_back(rangeData); } else if (armPos <= 9) - { + { laserDataCache.in_X_X0Z.push_back(xValue); laserDataCache.in_Y_X0Z.push_back(yValue); laserDataCache.in_Z_X0Z.push_back(zValue); laserDataCache.in_Y_X0Z_Value.push_back(rangeData); } - + _triggerManager.sendFinsMsg("write_short_261_0");//ÇåÁã _triggerManager.sendFinsMsg("write_short_262_1"); _triggerManager.sendFinsMsg("write_short_263_1"); @@ -226,7 +229,7 @@ public: _threadManager.addTask(data);//Ìí¼ÓÈÎÎñ laserDataCache = correctionStruct(); } - } + } //ÅÄÕÕ²¢¼ì²â 300 void captureImageAndDetection(QByteArray& byteArray) { @@ -237,7 +240,7 @@ public: _triggerManager.sendFinsMsg("write_short_300_0");//´¥·¢ÐźÅÇåÁã _triggerManager.sendFinsMsg("write_short_301_1");//¿ªÊ¼¼ì²âÐźŠint Pos = _triggerManager.getValue(303, byteArray); - emit _core._qtFunc.uiModuleLocationMap_SetProductSignStatus(Pos,1); + emit _core._qtFunc.uiModuleLocationMap_SetProductSignStatus(Pos, 1); std::cout << "arm @Pos:" << Pos; std::shared_ptr data = _detDataManager.insertDetData("Camera1", currentSn, 1, 1); @@ -306,17 +309,17 @@ public: if (!data.value.compare("NG")) result = false; //Êý¾Ý¿â½á¹ûΪfalseʱ ²»¸ù¾Ýµ±Ç°ÅÜÁÏÊý¾ÝÅÐ¶Ï - if(result == false) + if (result == false) { emit _core._qtFunc.uiModuleSummaryDataManager_SetSummaryResultText("NG", Qt::red); return; } //Êý¾Ý¿â½á¹ûΪtrue»òÕßûÓвéѯµ½Êý¾Ýʱʱ ¼ÌÐøÅÐ¶Ï - if(productData->ngPinCount >0 || productData->ngCount>0)//NG + if (productData->ngPinCount > 0 || productData->ngCount > 0)//NG { emit _core._qtFunc.uiModuleSummaryDataManager_SetSummaryResultText("NG", Qt::red); - _core._appConfig._sqlManager.updateData(currentSn, {{"detResult","NG"}}); + _core._appConfig._sqlManager.updateData(currentSn, { {"detResult","NG"} }); } else { @@ -330,7 +333,7 @@ public: if (currentBack == true) currentBack = false; else if ( - _core._appConfig.productDatas[currentProductIndex].isBackExist == true + _core._appConfig.productDatas[currentProductIndex].isBackExist == true && result == true && startDet == true) { @@ -352,7 +355,7 @@ public: void detectionResultHandle(std::shared_ptrdata) { data->sqlVec.push_back({ "SN",data->SNcode }); - data->sqlVec.push_back({ "ARMPOS",std::to_string(data->armPos)}); + data->sqlVec.push_back({ "ARMPOS",std::to_string(data->armPos) }); //·¢ËÍͼƬ if (data->resultImgs.size() > 0) { @@ -396,7 +399,7 @@ public: pack.type = 2; } - if(data->halconOK == true) + if (data->halconOK == true) emit _core._qtFunc.addDashBoardData(0, data->halconOK); else if (data->resultImgs.size() >= 2) { @@ -407,16 +410,16 @@ public: pack.type = 1; } if (finalOk == true) - emit _core._qtFunc.uiModuleLocationMap_SetProductSignStatus(data->armPos,2); + emit _core._qtFunc.uiModuleLocationMap_SetProductSignStatus(data->armPos, 2); + - perConnector _perConnectorData; _perConnectorData.aiOk = data->aiDetOK; _perConnectorData.halconOk = data->halconOK; _perConnectorData.maxPinDetValue = data->maxPinDetValue; auto productData = _core._productDataCache.get(currentSn); productData->connectorResults.push_back(_perConnectorData); - data->sqlVec.push_back({ "Result",std::to_string(finalOk)}); + data->sqlVec.push_back({ "Result",std::to_string(finalOk) }); } //ct¼ÆËãÒÔ¼°·¢Ë͵½½çÃæ auto totalCt = std::chrono::duration_cast(data->halconEndTime - data->algoStartTime); @@ -451,28 +454,54 @@ public: //ʹÓõ㼤¹â²âÁ¿¼ì²âÊÇ·ñΪÕýÃæ£¬Ã»Êý¾Ý¾ÍÊÇÕýÃæ void frontBackDet() { - _triggerManager.sendFinsMsg("write_short_364_1"); + QThread::msleep(1000); + _triggerManager.sendFinsMsg("write_short_364_0"); + _triggerManager.sendFinsMsg("write_short_365_0"); auto cameraPtr = _cameraManager.getCamera("181964"); if (cameraPtr == nullptr) return; - for (int i = 0; i < 10; i++)//ÆúÓà + //for (int i = 0; i < 10; i++)//ÆúÓà + //{ + // cameraPtr->trigger(); + // cameraPtr->getCameraValue(); + //} + //for (int i = 0; i < 100; i++)//¼ì²âÊÇ·ñÓÐÊý¾Ý + //{ + // cameraPtr->trigger(); + // if (cameraPtr->getCameraValue() > -100)//ÓÐÊý¾Ý ÊÇ·´Ãæ + // { + // _triggerManager.sendFinsMsg("write_short_365_2"); + // break; + // } + //} + + //1ÊÇÕýÃæ£¬¶Á²»µ½£¬2ÊÇ·´Ã棬¿ÉÒÔ¶Áµ½ + + cameraPtr->trigger(); + double value = cameraPtr->getCameraValue(); + std::cout << "camera value" << value; + if (value > -100)//ÓÐÊý¾Ý ÊÇ·´Ãæ { - cameraPtr->trigger(); - cameraPtr->getCameraValue(); - } - for (int i = 0; i < 100; i++)//¼ì²âÊÇ·ñÓÐÊý¾Ý - { - cameraPtr->trigger(); - if (cameraPtr->getCameraValue() > -100)//ÓÐÊý¾Ý ÊÇ·´Ãæ - { - _triggerManager.sendFinsMsg("write_short_365_2"); - break; - } + _triggerManager.sendFinsMsg("write_short_365_2"); + return; } _triggerManager.sendFinsMsg("write_short_365_1");//ÎÞÊý¾Ý ÊÇÕýÃæ + //ÕýÃæ·´ÃæÊÇ·ñ¼ÌÐø¼ì²â£¬ÔÚ»úе±Û½Å±¾Öоö¶¨ } - + void testFunc() + { + auto cameraPtr = _cameraManager.getCamera("181964"); + if (cameraPtr == nullptr) + return; + std::vector values; + for (int i = 0; i < 1000; i++) + { + cameraPtr->trigger(); + double v = cameraPtr->getCameraValue(); + std::cout << v << std::endl; + } + } public slots: void runBackDet() { diff --git a/lib/Hd_3DCameraLMI_module_PointLazer.exp b/lib/Hd_3DCameraLMI_module_PointLazer.exp index c128f721899e1a2fd5f5ffe10a0335da718ee8af..97d8b87b5a54ed11f0f0bf06624e98e39c3ad3b0 100644 GIT binary patch delta 186 zcmZo+o5#kP(#FK_9|)W#aym20P4vCbE5yjaV9UTL$N&V+lPwv&>NOYyS{N97Gn0$* zi}TY;6f}Y~6?{DXyct>B@_vx-U1EKbgM%+CzXjL9!8iAgHW%t?ubB+ng&(A52@eKwt4NdfnE%c0y4UG+Ak}~sRJo1Z6 YfI30CV{$U{Cd)ACF=aJQ_F=jN01gQ^4FCWD diff --git a/lib/Hd_3DCameraLMI_module_PointLazer.lib b/lib/Hd_3DCameraLMI_module_PointLazer.lib index b506c2adaff32453f920896da4a99bad9470fc31..36c75b149f315b6d9f39a25471404d60a91a35ae 100644 GIT binary patch delta 118 zcmaDN_(X8S0VbAS@rnN@A7MJqqQM~0GP$3*m6ylW|Qx-^}tjrLsf2`#qPxj05HBKZU6uP delta 118 zcmaDN_(X8S0VWpXY46@lKEiaIMU5e=adJO%F%yuQ#V)m3j>UkH^Ptn_hnE-_7?>uX wWRjj-#99wirapNBI|o$hWCyl5&b6m&4}62FG@E>vtp}!38LD#gEOswO00)UE^Z)<= diff --git a/lib/Hd_DalsaCamera_module.exp b/lib/Hd_DalsaCamera_module.exp index d51dd3479f00019389da4252121bf314da3584cb..ab118790922bdf283ca963bb9e26af2406b92951 100644 GIT binary patch delta 164 zcmaFQ+R4V5(#FK_9|&|Oayl~!Gfwoo!pqLcz+l9{D98W=&Xe^S?Ugkc1X>svd^3}a z@{9A+N)$ALG!=Y2{k$1k8Egd^lFL(o>LxNuy9cG_q$U=pGNe|dGB{hs1O)lJ2RYUm z#`tQ*oMS@r^K*)0e1m~ZLlYB&Izv5UV~fc*8J(B} KS|-afT>=2WYcBEt delta 138 zcmeBVd(X<5(#FK_9|(jeaym2pWSHo8h4(E31A`F*qacuCaGR{pXs@iskk!b*;G3CT zlwX{mR-&L0q^aQJ>F3Rm&0s6YkX)VuR5y`PTGu5tsWhD-wIY?l#VRJO*vP=hC??D~ lCL}*Ur#Qwp7|1j<(KEKtGd4CfHkkaG(TORmak4qnB>*V3D4hTR diff --git a/lib/Hd_DalsaCamera_module.lib b/lib/Hd_DalsaCamera_module.lib index c271a24edcc0cf6762f83aa447cf44b73e509d54..cc2d36e5dd6097c8d1dffea4f0e34dc019fb0ad6 100644 GIT binary patch delta 109 zcmX>ha6({12NTODh23{1_b}~Y(O?j0ne4-y&IF|7*`+q0XO?DUVSi@ub@DrwDKJ^} s$!l3TpeiO`WQ}DF@!xsr_2l;~@{`vvNl(sYYlNv(hN|2w&#uV`01D?LO#lD@ delta 109 zcmX>ha6({12NR3#l2yki_b}~YQDewzob1D#&IF|7*`+q0XO?DU5oOG{G5Hsvd^3}a z@{9A+N)$ALG!=Y2{k$1k8Egd^lFL(o>N**v-GfqdQWJ|)8B!}!8Jw+R0)qVAgBouQtwvBl(zj804f KEt5r=E&%|cvo5Lt delta 138 zcmZoF3Rm&0s6YkX)VuRM*KUt?QDSRGQ9^T9L}&ViglsY-C_$6cgqg l6Ox~wQyk+P3}hOb=owq+85|Xqg}QqQyqQ^; wk>!eB#hJ;cSSG+!=tE@7S(vllUz^OuwgV=i%;k`rpIe}pnF7_$%g)RQ0BqkOCjbBd delta 113 zcmbOrFhO8L2@@xiS>+3PMg|6s$^2|)lQ%QfvZyg+HBOFWRi7NqY{LX(_OnWD-pnk_ w$nsyM=EdYwEE8ZV^dYk4EOPCyj!oub+X0hM=5k2R&n?i)Oo3|WWoKpt0HB~E>;M1& diff --git a/lib/Hd_MvCamera_module_GENTL.exp b/lib/Hd_MvCamera_module_GENTL.exp index f0a89b553a1d128975c713a0fcafda275f8da276..cd7a09856f41e935ba31f1206b025b5c61669f5f 100644 GIT binary patch delta 187 zcmeyu+Q-J3(#FK_9|(*laym1KF;4Wm#>>UXz+lS2D98W=&XWxpo$56h1X>svd^3}a z@{9A+N)$ALG!=Y2{k$1k8Egd^lFL&VoULM#GmDe+9rH6oGh^~gOJb5rGjmd6D$GoD zgHm%+6N^(BQY%tH>H>oN-GdzK3}bvforC;?>x^QI42+Cooc(=$L;ZllVa_oj`T04; gF}}e-rlE<60b8A+p0TmT-xOad*Fm6$F805$nH{{R30 delta 180 zcmeBU`@+hZ(#FK_9|$BSaym2pVVLN5jrRis1A{38qacuCaGPw%=v1%9kk!b*;G3CT zlwX{mR-&L0q^aQJ>F3Rm&0s6YkX)X^;ARz*oLQWl@0gz%ni-Q{S`w2~nwgUlQ(ynyOn$D0~k;>p=6%$r$WME_z6XqNflAoVb9OD}dWEz_28C&QX8ygxM#3W_r#dzcw ZmjHEwbjRdm=1t~d(qqbMoNU8%2>{X-I1K;* diff --git a/lib/Hd_MvCamera_module_GENTL.lib b/lib/Hd_MvCamera_module_GENTL.lib index 4010f0a3da11c6819056f7133313cf8a23370e79..a65c613a9788aa36e3530d6a5ccb1cad49b8c1da 100644 GIT binary patch delta 118 zcmew&@I_$53?`PsF#ive=P>PO(O?j0nH>gbz+l3_D98W=&XWxp9qTn11X>svd^3}a z@{9A+N)$ALG!=Y2{k$1k8Egd^lFL&VoULM#GmDe+9rH6oGh^~gOJb5rGjmd6D$GoD zgHm%+6N^(BQY%tH>H>oN-GdzK3}bvforC;?>x^QI42+Cooc(=$L;ZllVa_oj`T04; gF}}e-rlE<60b8A+p0TmTF3Rm&0s6YkX)X^;ARz*oLQWl@0gz%ni-Q{S`w2~nwgUlQ(ynyOn$D0~k;>p=6%$r$WME_z6XqNflAoVb9OD}dWEz_28C&QX8ygxM#3W_r#dzcw ZmjHEwbjRdm=1t~i(qqbMoNUc>2>{KSI0OIy diff --git a/lib/Hd_MvCamera_module_GIGE.lib b/lib/Hd_MvCamera_module_GIGE.lib index 110ae8d714ae9a153c870b6ea7d31787466ae1f1..b1396b9be8cfc2bad5039077ec72d4077da69fd6 100644 GIT binary patch delta 108 zcmaDN@I+w4Bqo*{N6bD?p2oC~MT0@0W%4Xm^~v?jPE0`NX;!JtcbVlGnU|fYoBW?; sI!u8+M6#TfyL!>nx04xJl@!pp2oC~MU5e=aq=uy^~v?jPE0`NX;!JtcbVlGnV>UXz+lS2D98W=&XWxpo$56h1X>svd^3}a z@{9A+N)$ALG!=Y2{k$1k8Egd^lFL&VoULM#GmDe+9rH6oGh^~gOJb5rGjmd6D$GoD zgHm%+6N^(BQY%tH>H>oN-GdzK3}bvforC;?>x^QI42+Cooc(=$L;ZllVa_oj`T04; gF}}e-rlE<60b8A+p0TmT-xOad*Fm6$F805$nH{{R30 delta 180 zcmeBU`@+hZ(#FK_9|$BSaym2pVVLN5jrRis1A{38qacuCaGPw%=v1%9kk!b*;G3CT zlwX{mR-&L0q^aQJ>F3Rm&0s6YkX)X^;ARz*oLQWl@0gz%ni-Q{S`w2~nwgUlQ(ynyOn$D0~k;>p=6%$r$WME_z6XqNflAoVb9OD}dWEz_28C&QX8ygxM#3W_r#dzcw ZmjHEwbjRdm=1t~d(qqbMoNU8%2>{X-I1K;* diff --git a/lib/Hd_ResultsSummary_module.lib b/lib/Hd_ResultsSummary_module.lib index 8baafc1c7adb77e35051dfe8ea37dc3b629b4297..a61fbd40216d4091ba157f7b97afab308e79a4fe 100644 GIT binary patch delta 118 zcmew&@I_$53?`PJ|NEa$p2M`CMT0@0WpX@oHj_Zh<}=JzjGU7uUOIM)fq{W(@N^g#37iR$WFG delta 118 zcmew&@I_$53?>$>dz1c6p2M`CMU5e=adJF!Hd9vP<}=JzjGP~AlKz}xU|?XHypTzH zvKDJOOo{sBGprmyWs}b^OHKa38pru=hQq~oP?ctrd)ZoGDwPo`r8md2i!%ZM19K>= diff --git a/lib/Hd_SocketModule_ModbusTcp.exp b/lib/Hd_SocketModule_ModbusTcp.exp index 25890329510762a3f51d55c44ebc1ed66568465a..f97806414b3a4e971708daad71c818bffbb5409f 100644 GIT binary patch delta 165 zcmcc1{hgaLrHzT59#y1$qG&C_Ws58_vHny1jndupm LK+ERa%uGxGpbavn delta 139 zcmey)eV3avrHzTQM&7B63=C!rjDie6;5ONn$yr&AA*+#r!8bFx zD8D#Atwcd1NK?Vb)6bhBo55C)A-OySsBSfrw605PQfWFvYDFr8i&acmv5|q1QB0U~ mOh|ryPH~KHFpz0zqGxQOXKZX}Y%rOZ`59AI&l0$t~;^P*wU673D03ub!ToyoTcdSbTB;r#4LMcFz6G0MnZzxBvhE delta 108 zcmew+^-XHSI~LA!vnzk