From f15dfac75065c2078191201085a3838cd01b6f31 Mon Sep 17 00:00:00 2001 From: RCi <15089880081@163.com> Date: Wed, 21 Aug 2024 11:33:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=B0=E5=9C=BA=E6=9B=B4=E6=96=B0=E5=A4=87?= =?UTF-8?q?=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HandleAiUi-new/appConfig/appConfig.cpp | 31 ++++++------ .../HandleAiUi-new/appConfig/appConfig.h | 12 ++--- .../HandleAiUi-new/appConfig/sqlAppData.h | 11 +++++ .../appConfig/sqlManager/sqlBase.h | 5 +- .../appConfig/sqlManager/sqlManager.cpp | 29 ++++++++---- .../appConfig/sqlManager/sqlManager.h | 3 +- .../appConfig/sqlManager/sqliteModule.cpp | 14 +++--- .../appConfig/sqlManager/sqliteModule.h | 6 +-- HanddleAI/HandleAiUi-new/appCore.hpp | 2 +- HanddleAI/HandleAiUi-new/detProcess.hpp | 44 +++++++++++++----- .../handleAi/handleAiModelList.hpp | 3 ++ HanddleAI/HandleAiUi-new/main.cpp | 3 +- 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 26 files changed, 100 insertions(+), 63 deletions(-) create mode 100644 HanddleAI/HandleAiUi-new/appConfig/sqlAppData.h diff --git a/HanddleAI/HandleAiUi-new/appConfig/appConfig.cpp b/HanddleAI/HandleAiUi-new/appConfig/appConfig.cpp index e6bd5819..bf66f5e9 100644 --- a/HanddleAI/HandleAiUi-new/appConfig/appConfig.cpp +++ b/HanddleAI/HandleAiUi-new/appConfig/appConfig.cpp @@ -2,17 +2,16 @@ #include void appConfig::parsingGlobalData() { - nlohmann::json globalJson = readJsonFromPath("./config/settingNew.json"); + nlohmann::json globalJson = readJsonFromPath("./config/setting.json"); softwareTile = globalJson["softwareTile"]; imgSavePath = globalJson["imgSavePath"]; oriImgSavePath = globalJson["oriImgSavePath"]; resImgSavePath = globalJson["resImgSavePath"]; handleAiModelPath = globalJson["handleAiModelPath"]; productDataPath = globalJson["productDataPath"]; -} -void appConfig::parsingTriggerData() -{ - nlohmann::json triggerJson = readJsonFromPath("./config/triggerSetting.json"); + + //TRIGGER JSON + auto triggerJson = globalJson["Triggers"]; _triggerStruct.key = triggerJson["key"]; _triggerStruct.sleepTime = triggerJson["sleepTime"]; _triggerStruct.initStr = triggerJson["initStr"]; @@ -21,26 +20,24 @@ void appConfig::parsingTriggerData() _triggerStruct.modelName = triggerJson["modelName"]; _triggerStruct.readNum = triggerJson["readNum"]; _triggerStruct.writeType = triggerJson["writeType"]; - _triggerStruct.startPos = QString::fromStdString(_triggerStruct.readAllCmd).split("_")[2].toInt();; -} -void appConfig::parsingCameraData() -{ - nlohmann::json cameraJson = readJsonFromPath("./config/cameraSetting.json"); + _triggerStruct.startPos = QString::fromStdString(_triggerStruct.readAllCmd).split("_")[2].toInt(); + + //CAMERA JSON + auto cameraJson = globalJson["CameraSetting"]; for (auto data : cameraJson) { cameraStruct _cameraStruct; _cameraStruct.key = data["key"]; _cameraStruct.connectionName = data["connectionName"]; _cameraStruct.serialNum = data["serialNum"]; - _cameraStruct.triggerMode = data["triggerMode"]; + _cameraStruct.triggerMode = data["triggerMode"]; _cameraStruct.moduleName = data["moduleName"]; _cameraStructs.push_back(_cameraStruct); } -} -void appConfig::parsingSqlData() -{ - nlohmann::json sqlJson = readJsonFromPath("./config/sqlSetting.json"); - for (auto data = sqlJson["initData"].begin(); data != sqlJson["initData"].end();data++) + + //SQL + auto sqlJson = globalJson["SQL"]; + for (auto data = sqlJson["initData"].begin(); data != sqlJson["initData"].end(); data++) { _sqlConfigStruct.datas.insert(std::make_pair(data.key(), data.value())); } @@ -64,7 +61,7 @@ void appConfig::parsingProductData(std::string path) productData.basePos = { res["baseX"],res["baseY"],res["baseZ"] }; productData.baseRad = { res["baseRx"],res["baseRy"],res["baseRz"] }; productData.halconAlgoIndex = res["halconAlgoIndex"]; - productData.imgPosPath = res["imgPosPath"]; + productData.imgPosPath = res["imgPosPath"]; productData.disableHandleAiConfig = res["disableHandleAiConfig"]; productData.enableCodedAlgo = res["enableCodedAlgo"]; productData.codedAlgoIndex = res["codedAlgoIndex"]; diff --git a/HanddleAI/HandleAiUi-new/appConfig/appConfig.h b/HanddleAI/HandleAiUi-new/appConfig/appConfig.h index 649e50b2..9446b83e 100644 --- a/HanddleAI/HandleAiUi-new/appConfig/appConfig.h +++ b/HanddleAI/HandleAiUi-new/appConfig/appConfig.h @@ -1,15 +1,14 @@ #include +#include class appConfig { public: - sqlManager _sqlManager; + + sqlManager _sqlManager;//储存产品信息用 appConfig() { parsingGlobalData(); parsingProductData(productDataPath); - parsingTriggerData(); - parsingCameraData(); - parsingSqlData(); _sqlManager.initialization(this); } @@ -24,13 +23,8 @@ public: void parsingGlobalData(); triggerStruct _triggerStruct; - void parsingTriggerData(); - std::vector< cameraStruct> _cameraStructs; - void parsingCameraData(); - sqlConfigStruct _sqlConfigStruct; - void parsingSqlData(); std::mutex productDatasMutex; std::vectorproductDatas; diff --git a/HanddleAI/HandleAiUi-new/appConfig/sqlAppData.h b/HanddleAI/HandleAiUi-new/appConfig/sqlAppData.h new file mode 100644 index 00000000..e81ff7bd --- /dev/null +++ b/HanddleAI/HandleAiUi-new/appConfig/sqlAppData.h @@ -0,0 +1,11 @@ +#include +#include +#include + +//程序启动时,从数据库读取至哈希表 +//程序结束时,从哈希表保存至数据库 +class sqlAppData +{ +private: + std::unordered_mapmap; +}; \ No newline at end of file diff --git a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlBase.h b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlBase.h index 59fc7b14..8b539604 100644 --- a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlBase.h +++ b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlBase.h @@ -35,9 +35,10 @@ public: virtual sqlErr Select( std::string tableName, std::vectorselectStr, + sqlTableDatas& output = sqlTableDatas(), std::string Where = "", - std::string equal = "", - sqlTableDatas& output = sqlTableDatas()) + std::string equal = "" + ) { return sqlErr(); }; virtual bool Update( diff --git a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.cpp b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.cpp index 59db566f..2cd41a60 100644 --- a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.cpp +++ b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.cpp @@ -70,20 +70,29 @@ sqlTableDatas sqlManager::selectSingleData(std::string selectStr, std::string SN { mutex.lock(); sqlTableDatas selectResult; - dbPtr->Select(getCurrentDate(), { selectStr }, "SN", SN, selectResult); + dbPtr->Select(getCurrentDate(), { selectStr }, selectResult , "SN", SN); if (selectResult.rowDatas.size() == 0)//鏃犳寚瀹氭暟鎹� 鏌ユ壘鍓嶄竴澶� - dbPtr->Select(getPreviousDate(), { selectStr }, "SN", SN, selectResult); + dbPtr->Select(getPreviousDate(), { selectStr }, selectResult, "SN", SN); mutex.unlock(); return selectResult; } -sqlTableDatas sqlManager::selectAllData(std::string SN) +sqlTableDatas sqlManager::selectRowData(std::string SN) { mutex.lock(); //dbPtr->Update(getCurrentTableName(), { {"send","1" } }, "sn", SN); sqlTableDatas selectResult; - dbPtr->Select(getCurrentDate(), {}, "SN", SN, selectResult); + dbPtr->Select(getCurrentDate(), {}, selectResult, "SN", SN); if(selectResult.rowDatas.size()==0)//鏃犳寚瀹氭暟鎹� 鏌ユ壘鍓嶄竴澶� - dbPtr->Select(getPreviousDate(), {}, "SN", SN, selectResult); + dbPtr->Select(getPreviousDate(), {}, selectResult, "SN", SN); + mutex.unlock(); + return selectResult; +} +sqlTableDatas sqlManager::selectAllData(std::string tableName) +{ + mutex.lock(); + //dbPtr->Update(getCurrentTableName(), { {"send","1" } }, "sn", SN); + sqlTableDatas selectResult; + dbPtr->Select(tableName, {}, selectResult); mutex.unlock(); return selectResult; } @@ -100,11 +109,11 @@ void sqlManager::initialization(appConfig* _appConfig,std::string dataBasePath, for (auto data : _appConfig->_sqlConfigStruct.datas) dataStr.push_back(data.first); - //鍒涘缓鏈潵180澶╃殑琛ㄦ牸 + //鍒涘缓鏈潵鐨勮〃鏍� for (auto table : tables) dbPtr->createTable(table, dataStr); - //鏌ヨ鏄惁鏈夊悗鏈熸坊鍔犳湭鍒涘缓鐨勮〃鏍� + //鏌ヨ鏄惁鏈夊悗鏈熸坊鍔犳湭鍒涘缓鐨勫垪 for (auto table : tables) { std::vector res = dbPtr->getColumn(table); @@ -117,7 +126,7 @@ void sqlManager::initialization(appConfig* _appConfig,std::string dataBasePath, auto iter = map.find(str);//瀵绘壘 if (iter == map.end())//鎵句笉鍒� { - dbPtr->addColumn(table, str, "REAL");//鎻掑叆 + dbPtr->addColumn(table, str, "TEXT");//鎻掑叆 } } } @@ -139,7 +148,7 @@ bool sqlManager::addData(std::string SN,std::vector data) } sqlTableDatas selectResult; std::string currentTableName = getCurrentDate(); - sqlErr res=dbPtr->Select(currentTableName, {},"sn", SN, selectResult); + sqlErr res=dbPtr->Select(currentTableName, {}, selectResult, "SN", SN); //鏌ヨ鍑洪敊 if (res.customType != sqlOK) { @@ -150,7 +159,7 @@ bool sqlManager::addData(std::string SN,std::vector data) //鎵惧埌SN锛岃繘琛屾洿鏂版搷浣� if (selectResult.rowDatas.size() != 0) { - dbPtr->Update(currentTableName, data, "sn", SN); + dbPtr->Update(currentTableName, data, "SN", SN); mutex.unlock(); return true; } diff --git a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.h b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.h index cb806df9..8f82ac63 100644 --- a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.h +++ b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqlManager.h @@ -29,7 +29,8 @@ public: }; std::mutex mutex; sqlTableDatas selectSingleData(std::string selectStr, std::string SN); - sqlTableDatas selectAllData(std::string SN); + sqlTableDatas selectRowData(std::string SN); + sqlTableDatas selectAllData(std::string tableName); std::vector getTableList();//获取所有列名 void initialization(appConfig* _appConfig, std::string dataBasePath = sqlDefaultDatabasePath,bool backUp=true); diff --git a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqliteModule.cpp b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqliteModule.cpp index 6da6b5a0..fc8d39e6 100644 --- a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqliteModule.cpp +++ b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqliteModule.cpp @@ -79,7 +79,7 @@ bool sqliteModule::createTable(std::string tableName, std::vectorda std::string query = "CREATE TABLE IF NOT EXISTS \'" + tableName +"\' (SN TEXT PRIMARY KEY, timeCode TEXT,saveHour TEXT"; for (auto data : dataVec) - query += ","+data + "TEXT"; + query += ","+data + " TEXT"; query += ",updateTime TEXT);"; int rc = sqlite3_exec(sqliteDbPtr, query.c_str(), 0, 0, 0); if (rc != SQLITE_OK) { @@ -226,9 +226,9 @@ bool sqliteModule::Delete( sqlErr sqliteModule::Select( std::string tableName, std::vectorselectStr, - std::string Where, - std::string equal, - sqlTableDatas& output) + sqlTableDatas& output, + std::string Where, + std::string equal) { output.tableName = tableName; std::string query = "SELECT "; @@ -264,9 +264,9 @@ sqlErr sqliteModule::Select( std::string columnValueStr = columnValue ? std::string(columnValue) : ""; columnNameStr.erase(std::remove(columnNameStr.begin(), columnNameStr.end(), '\''), columnNameStr.end()); - if (columnNameStr.find(columnValueStr) != std::string::npos) { - columnValueStr = ""; - } + //if (columnNameStr.find(columnValueStr) != std::string::npos) { + // columnValueStr = ""; + //} row.push_back({ columnNameStr, columnValueStr }); } output.rowDatas.push_back(row); diff --git a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqliteModule.h b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqliteModule.h index c2fd1a19..2d08a892 100644 --- a/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqliteModule.h +++ b/HanddleAI/HandleAiUi-new/appConfig/sqlManager/sqliteModule.h @@ -25,9 +25,9 @@ public: sqlErr Select( std::string tableName, std::vectorselectStr, - std::string Where = "", - std::string equal = "", - sqlTableDatas& output = sqlTableDatas()); + sqlTableDatas& output = sqlTableDatas(), + std::string Where = "", + std::string equal = ""); bool Update(std::string,std::vector,std::string Where = "",std::string equal = ""); private: diff --git a/HanddleAI/HandleAiUi-new/appCore.hpp b/HanddleAI/HandleAiUi-new/appCore.hpp index 8edd822e..764eeafa 100644 --- a/HanddleAI/HandleAiUi-new/appCore.hpp +++ b/HanddleAI/HandleAiUi-new/appCore.hpp @@ -10,7 +10,7 @@ #include -#define disableBackEndCheck 1 +#define disableBackEndCheck 0 #define disableeAlgo 0 #define enableHideConsle 1 class detGlobalData diff --git a/HanddleAI/HandleAiUi-new/detProcess.hpp b/HanddleAI/HandleAiUi-new/detProcess.hpp index 6387c329..1db924e1 100644 --- a/HanddleAI/HandleAiUi-new/detProcess.hpp +++ b/HanddleAI/HandleAiUi-new/detProcess.hpp @@ -31,6 +31,11 @@ public: bool res1 = waitrForInitResult(&_cameraManager); bool res2 = waitrForInitResult(&_handleAiModelManager); bool res3 = waitrForInitResult(&_triggerManager); + if (res3 == false)//连不上就重试一次 + { + _triggerManager.start(); + res3 = waitrForInitResult(&_triggerManager); + } 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; @@ -39,21 +44,36 @@ public: else emit _core._qtFunc.sendInitFinished(InitFailure); } - bool waitrForInitResult(serviceModule* ptr) + //等待服务返回OK/NG直到超时 + bool waitrForInitResult(serviceModule* ptr,int timeout=-1) { - int timecnt = 0; - while (timecnt <= 100) + if (timeout == -1)//不会超时 { - if (ptr->status != NotInit) - break; - QThread::msleep(100); - timecnt++; + while (1) + { + if (ptr->status == InitFailure) + return false; + else if(ptr->status == InitOK) + return true; + QThread::msleep(100); + } + } + else + { + int timecnt = 0; + while (timecnt <= timeout) + { + if (ptr->status != NotInit) + break; + QThread::msleep(100); + timecnt++; + } + if (timecnt > 100) + return false; + if (ptr->status == InitFailure) + return false; + return true; } - if (timecnt > 100) - return false; - if (ptr->status == InitFailure) - return false; - return true; } simpleSiemensTcp _simpleSiemensTcp; detDataManager _detDataManager;//检测中的数据 不需要初始化 diff --git a/HanddleAI/HandleAiUi-new/handleAi/handleAiModelList.hpp b/HanddleAI/HandleAiUi-new/handleAi/handleAiModelList.hpp index 1ba7dfdd..10f7fb3d 100644 --- a/HanddleAI/HandleAiUi-new/handleAi/handleAiModelList.hpp +++ b/HanddleAI/HandleAiUi-new/handleAi/handleAiModelList.hpp @@ -7,6 +7,9 @@ static void handleAiModelinitialization(handleAiModelManager*ptr) ptr->insertSegModelPath("ASR-Seg.BHD", 0); ptr->insertClsModelPath("ASR-Cls.BHD", 0); + ptr->insertSegModelPath("APEX-S-Seg.BHD", 0); + ptr->insertClsModelPath("APEX-S-Cls.BHD", 0); + ptr->insertDetModelPath("connectorDet.BHD", 0); } #pragma once \ No newline at end of file diff --git a/HanddleAI/HandleAiUi-new/main.cpp b/HanddleAI/HandleAiUi-new/main.cpp index 659ab3c9..1cb89108 100644 --- a/HanddleAI/HandleAiUi-new/main.cpp +++ b/HanddleAI/HandleAiUi-new/main.cpp @@ -17,7 +17,7 @@ #include #include -#include +#include #pragma region 绋嬪簭鍚姩鍔熻兘 bool appIsRuning() { @@ -169,6 +169,7 @@ int main(int argc, char* argv[]) if (appIsRuning() == false) exit(0); ////////// + cv::utils::logging::setLogLevel(cv::utils::logging::LOG_LEVEL_ERROR); qRegisterMetaType("imgWidgetShowType"); qRegisterMetaType("showImgPack"); qRegisterMetaType("matPtr"); 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