From 0cf588eda7333f59d0dacac13bd296cb87eacf39 Mon Sep 17 00:00:00 2001 From: bobpan Date: Fri, 16 Oct 2020 17:44:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- runner17/ui/OGLdpf.log | 0 src/lpMain/IStation.h | 4 +- src/lpMain/IWfCtrl.h | 2 +- src/lpMain/Station.cpp | 124 ++++++------------------------- src/lpMain/Station.h | 9 +-- src/lpMain/WfColossus.h | 2 - src/lpMain/WfCtrl.cpp | 33 +------- src/lpMain/WfCtrl.h | 3 +- src/tpMain_Wheel/WfColossus.cpp | 22 ------ tpvs17/lpMain/CMainWin.cpp | 8 +- tpvs17/lpMain/CMainWin.ui | 4 +- tpvs17/lpMain/QModelMangerUI.cpp | 7 +- tpvs17/lpMain/QModelMangerUI.ui | 2 +- tpvs17/lpMain/QTestModeWid.ui | 2 +- 14 files changed, 44 insertions(+), 178 deletions(-) delete mode 100644 runner17/ui/OGLdpf.log diff --git a/runner17/ui/OGLdpf.log b/runner17/ui/OGLdpf.log deleted file mode 100644 index e69de29..0000000 diff --git a/src/lpMain/IStation.h b/src/lpMain/IStation.h index 9c066d5..c605f7c 100644 --- a/src/lpMain/IStation.h +++ b/src/lpMain/IStation.h @@ -20,7 +20,6 @@ public: virtual QString stationKey() = 0; virtual QString stationShowName() = 0; virtual void setCamInfo(int nId, int alg, QString uniqueName, QString showName) = 0; - virtual void setComInfo(QString strName, int nCmd) = 0; virtual QVariant getVariant(){ return QVariant(); } virtual void revResult() = 0; virtual bool trigImage(const QString folder = QString()) = 0; @@ -40,7 +39,7 @@ public: virtual QString uniqueModel(const QString &model){ return QString(); } virtual bool sendResult(double ) = 0; - virtual bool setWidget(QString str, QWidget *pWgt) = 0; + virtual bool setView(QWidget *pWgt) = 0; virtual bool startBatchTest(QString) = 0; virtual bool IStandard(QString) = 0; @@ -49,6 +48,7 @@ signals: void sgPrint2Window(QString &); void sgUpdateLable(); void sgShowImage(const QImage &img); + void sgShowModeName(int, QString); protected: ISerialPortTool *m_pPort{ nullptr }; }; diff --git a/src/lpMain/IWfCtrl.h b/src/lpMain/IWfCtrl.h index a412430..7840087 100644 --- a/src/lpMain/IWfCtrl.h +++ b/src/lpMain/IWfCtrl.h @@ -11,7 +11,7 @@ class IWfCtrl :public QObject public: IWfCtrl(){}; virtual~IWfCtrl(){}; - + virtual void onInit() = 0; virtual bool IOnlineMode() { return false; } virtual void ISetOnlineModel(bool) {}; virtual bool IBatchModel() = 0; diff --git a/src/lpMain/Station.cpp b/src/lpMain/Station.cpp index e059a69..9366e9f 100644 --- a/src/lpMain/Station.cpp +++ b/src/lpMain/Station.cpp @@ -15,16 +15,12 @@ int Station::s_nTrigWaitTimes = 5; Station::Station(QSqliteWheelHubWf *p1, ICoreCtrl *p2, IWfCtrl * p3) - : m_pView(NULL), m_pLblImage(NULL), m_pLblStationName(NULL), - m_pDbWf(p1) + : m_pView(NULL),m_pDbWf(p1) { - m_pResultTextShow = NULL; m_pCoreCtrl = p2; m_pWfCtrl = p3; m_pTrigDetector = new CTrigDetector; connect(m_pTrigDetector, SIGNAL(sgErrorTrig(int)), this, SLOT(onErrTrig(int))); - connect(this, SIGNAL(sgPrint2Window(QString &)), this, SLOT(onAddResult2TextEdit(QString &))); - connect(this, SIGNAL(sgShowImage(const QImage&)), this, SLOT(showImage(const QImage&))); connect(this, SIGNAL(sgUpdateLable()), this, SLOT(updateAll())); connect(this, SIGNAL(sgaddTrigCount(int)), m_pTrigDetector, SLOT(addTrigCount(int))); connect(this, SIGNAL(sgaddRevCount(int)), m_pTrigDetector, SLOT(addRevCount(int))); @@ -155,22 +151,19 @@ bool Station::initCurrentModel() bool Station::updateCurrentModel2Label() { - if (m_pLblStationName) { - bool bCali = false; - WfModel *pModel = wfModel(m_strCurrentModel); - if (pModel) { - //bCali = pModel->bCaliState; - bCali = IStandard(m_strCurrentModel); - } + bool bCali = false; + WfModel *pModel = wfModel(m_strCurrentModel); + if (pModel) { + //bCali = pModel->bCaliState; + bCali = IStandard(m_strCurrentModel); + } - QString strText = "

%2%3 __ %4 __%5< / span>< / p>< / body>< / html>"; - strText = strText.arg("color:#ff0000;").arg(QObject::tr("工位")) - .arg(nId).arg(m_strCurrentModel == "" ? "?" : m_strCurrentModel) - .arg(bCali == true ? QObject::tr("已标定") : QObject::tr("未标定")); + QString strText = "

%2%3 __ %4 __%5< / span>< / p>< / body>< / html>"; + strText = strText.arg("color:#ff0000;").arg(QObject::tr("工位")) + .arg(nId).arg(m_strCurrentModel == "" ? "?" : m_strCurrentModel) + .arg(bCali == true ? QObject::tr("已标定") : QObject::tr("未标定")); - m_pLblStationName->setText(strText); - } - + emit sgShowModeName(nId, strText); return true; } @@ -181,14 +174,6 @@ bool Station::updateAll() return true; } -bool Station::onAddResult2TextEdit(QString &str) -{ - if (!m_pResultTextShow) { - return false; - } - m_pResultTextShow->append(str); - return true; -} QVariant Station::getVariant() { @@ -205,12 +190,12 @@ void Station::onErrTrig(int nErrCount) else if (s_nTrigWaitTimes * 3 == nErrCount) { qWarning() << "stationid =" << nId << ",nErrCount = " << nErrCount; QString str = genTimerInfo() + "camera disconnect!"; - onAddResult2TextEdit(str); + emit sgPrint2Window(str); str = genTimerInfo() + "camera count reset, but not trig again!"; - onAddResult2TextEdit(str); + emit sgPrint2Window(str); m_pTrigDetector->correct(); str = genTimerInfo() + "try reopen camera!"; - onAddResult2TextEdit(str); + emit sgPrint2Window(str); m_pCoreCtrl->IStopCamera(szCamKey); m_pCoreCtrl->ICloseCamera(szCamKey); if (m_pWfCtrl->IBatchModel()) { @@ -218,7 +203,7 @@ void Station::onErrTrig(int nErrCount) } bool bb = m_pCoreCtrl->IOpenCamera(szCamKey); str = QString("reopen_%1").arg(bb); - onAddResult2TextEdit(str); + emit sgPrint2Window(str); bool b = m_pCoreCtrl->IStartCamera(szCamKey); if (b) { str = genTimerInfo() + "try reopen successful!"; @@ -228,7 +213,7 @@ void Station::onErrTrig(int nErrCount) str = genTimerInfo() + "reopen failed!"; qWarning() << "stationid = " << nId << ", try reopen camera:" << szCamKey << " failed"; } - onAddResult2TextEdit(str); + emit sgPrint2Window(str); if (m_pWfCtrl->IBatchModel()) { trigImage(); } @@ -238,9 +223,9 @@ void Station::onErrTrig(int nErrCount) else if (s_nTrigWaitTimes == nErrCount || s_nTrigWaitTimes * 2 == nErrCount) { qWarning() << "camera trig failed!"; QString str = genTimerInfo() + "camera trig failed!"; - onAddResult2TextEdit(str); + emit sgPrint2Window(str); str = genTimerInfo() + "try to trig again!"; - onAddResult2TextEdit(str); + emit sgPrint2Window(str); QStringList strList = m_pCoreCtrl->ICameraKeys(); if (strList.contains(szCamKey)) @@ -339,31 +324,9 @@ bool Station::trigImage(const QString folder/* = QString()*/) return true; } -bool Station::setWidget(QString str, QWidget *pWgt) -{ -// if (str.startsWith(_WF_CAM_LISTWIDGET_PREFIX)) { - m_pView = new ModelView(qobject_cast(pWgt), this); -// } -// else if (str.startsWith(_WF_LABEL_IMAGE_SHOW_PREFIX)) { -// m_pLblImage = qobject_cast(pWgt); -// } -// else if (str.startsWith(_WF_LABEL_STATION_NAME_PREFIX)) { -// m_pLblStationName = qobject_cast(pWgt); -// updateCurrentModel2Label(); -// } -// else if (str.startsWith(_WF_TEXT_EDIT_RESULT_PREFIX)) { -// m_pResultTextShow = qobject_cast(pWgt); -// if (m_pResultTextShow) { -// m_pResultTextShow->clear(); -// QTextDocument *pDoc = m_pResultTextShow->document(); -// pDoc->setMaximumBlockCount(200); -// m_pResultTextShow->append(Station::genTimerInfo() + "start successful"); -// } -// } -// else { -// return false; -// } - +bool Station::setView(QWidget *pWgt) +{ + m_pView = new ModelView(qobject_cast(pWgt), this); return true; } @@ -474,49 +437,6 @@ bool Station::sendResult(double angleValue) return true; } -void Station::setComInfo(QString strName, int nCmd) -{ - m_strComName = strName; - m_nCmd = nCmd; -} - -Q_SLOT void Station::showImage(const QImage &img) -{ -// if (m_pImgViewer) -// { -// QImage imgShow = img; -// m_pImgViewer->setImg(imgShow); -// return; -// } - - if (!m_pLblImage) { - qDebug() << "label image is null"; - return; - } - qDebug() << "show image"; - //QRect rt = m_pLblImage->rect(); - if (img.isNull()) - { - QString str = QObject::tr("检测到错误: 模型与图像尺寸不匹配,请重新标定模型!!!"); - m_pLblImage->setText(str); - } - else - { - QRect rt = m_pLblImage->rect(); - int h = img.height(); - int w = img.width(); - float d = w*1.0 / h; - if (d > 0) - { - int h2 = rt.width() / d; - rt.setHeight(h2); - } - QImage imgShow = img.scaled(QSize(rt.size())); - m_pLblImage->setPixmap(QPixmap::fromImage(imgShow)); - } - -} - QString Station::currentSelectModel() { if (m_pView) { diff --git a/src/lpMain/Station.h b/src/lpMain/Station.h index 211bb89..d5ed1bd 100644 --- a/src/lpMain/Station.h +++ b/src/lpMain/Station.h @@ -29,7 +29,6 @@ public: virtual QString stationKey(); virtual QString stationShowName(); virtual void setCamInfo(int nId, int alg, QString uniqueName, QString showName); - virtual void setComInfo(QString strName, int nCmd); virtual QVariant getVariant(); virtual void revResult(); virtual bool trigImage(const QString folder = QString()); @@ -48,11 +47,9 @@ public: virtual bool delModel(QString strModel); virtual bool sendResult(double); - virtual bool setWidget(QString str, QWidget *pWgt); + virtual bool setView(QWidget *pWgt); virtual bool IStandard(QString strModel); - Q_SLOT void showImage(const QImage &img); - Q_SLOT bool onAddResult2TextEdit(QString &str); Q_SLOT void onErrTrig(int); virtual bool startBatchTest(QString strBasePath); @@ -63,9 +60,6 @@ public: private: class CTrigDetector *m_pTrigDetector; class ModelView *m_pView; - QLabel *m_pLblImage{ NULL }; - QLabel *m_pLblStationName; - QTextEdit *m_pResultTextShow; int nId; int nAlgorithm; QString szShow; @@ -82,7 +76,6 @@ private: QSqliteWheelHubWf *m_pDbWf; ICoreCtrl *m_pCoreCtrl; IWfCtrl *m_pWfCtrl; - class LabelManTest4Ui *m_pBatchTest; public: QString getModelUnique(const QString &model); bool updateCurrentModel2Label(); diff --git a/src/lpMain/WfColossus.h b/src/lpMain/WfColossus.h index 9ee07cc..eacffcc 100644 --- a/src/lpMain/WfColossus.h +++ b/src/lpMain/WfColossus.h @@ -20,8 +20,6 @@ public: QMap allTask(); bool updateModelInfo(QMap &info); -// bool getOnlineModel() const; -// void setOnlineModel(bool b); bool getBatchModel() const; QStringList allRunningTask(); bool saveTask(QMap); diff --git a/src/lpMain/WfCtrl.cpp b/src/lpMain/WfCtrl.cpp index dd55a8b..d68fbb7 100644 --- a/src/lpMain/WfCtrl.cpp +++ b/src/lpMain/WfCtrl.cpp @@ -21,10 +21,7 @@ CWfCtrl::CWfCtrl(ICoreCtrl* p1, WfColossus* p3) readSettingFile(); QString path; m_pWfDb = new QSqliteWheelHubWf(path + "//user//"); - initGolbal(); initStation(); - initModel(); - initCurrentModel(); QSettings systemIniFile("systemInfo.ini", QSettings::IniFormat); m_nOnlineMode = systemIniFile.value("OnlineMode").toBool(); { @@ -90,32 +87,10 @@ void CWfCtrl::ISetOnlineModel(bool b) systemIniFile.setValue("OnlineMode", m_nOnlineMode); } -void CWfCtrl::initGolbal() +void CWfCtrl::onInit() { - //m_nOnlineMode = m_pColossus->getOnlineModel(); - - // get comm name -// QString strConfig = m_pMainBack->IJsonUser().value("config").toString(); -// QString strPath = m_pMainBack->IDllPaths().size() == 0 ? ".\\" : m_pMainBack->IDllPaths().first(); -// QJsonObject objJson = QZkJsonParser::ReadJsonObject(strPath + "\\" + strConfig + "\\communicate.json"); -// if (!objJson.empty()) { -// QJsonValue jValue = objJson["COM"]; -// if (jValue.isArray()) { -// QJsonArray jArray = jValue.toArray(); -// for (int i = 0; i < jArray.size(); ++i) { -// if (!jArray[i].isObject()) { -// continue; -// } -// QJsonObject objTmp = jArray[i].toObject(); -// m_strCommName = objTmp.value("name").toString(); -// qDebug() << "comm name is " << m_strCommName; -// break; -// } -// } -// } -// else { -// qWarning() << "can not find communicate.json"; -// } + initModel(); + initCurrentModel(); } bool CWfCtrl::IOnlineMode() @@ -164,7 +139,6 @@ bool CWfCtrl::initModel() bool CWfCtrl::initStation() { QStringList camKeys = m_pCoreCtrl->ICameraKeys(); - QString strCom = "COM3"; for (QStringList::iterator it = camKeys.begin(); it != camKeys.end(); ++it) { TP_CAMERA_OPTION camOpt; if (!m_pCoreCtrl->ICameraOptionByKey(*it, camOpt)) { @@ -172,7 +146,6 @@ bool CWfCtrl::initStation() } IStation *pStation = new Station(m_pWfDb, m_pCoreCtrl, this); pStation->setCamInfo(camOpt.id, camOpt.algorithm, camOpt.uniqueName, camOpt.showName); - pStation->setComInfo(strCom, 0x46 + camOpt.id - 1); m_pStationMap.insert(camOpt.uniqueName, pStation); if (camOpt.deviceType != 100)//虚拟相机模式下不开启定时删除图像的模式 diff --git a/src/lpMain/WfCtrl.h b/src/lpMain/WfCtrl.h index 38c6aae..265583e 100644 --- a/src/lpMain/WfCtrl.h +++ b/src/lpMain/WfCtrl.h @@ -16,6 +16,7 @@ class CWfCtrl : public IWfCtrl public: CWfCtrl(ICoreCtrl *, WfColossus*); virtual~CWfCtrl(); + virtual void onInit(); virtual bool IOnlineMode(); virtual void ISetOnlineModel(bool); virtual bool IBatchModel(); @@ -38,7 +39,6 @@ public: virtual void ISetModifyModel(bool bflag); virtual QString IGetCurrentRuningModel(int); private: - void initGolbal(); bool initStation(); bool initModel(); bool initCurrentModel(); @@ -47,7 +47,6 @@ private: void writeSettingFile(); private: bool m_nOnlineMode{ false }; - //QString m_strCommName; class WorkChecker *m_pConnectChecker{ nullptr }; QMap m_pStationMap; QMap m_mpModels; diff --git a/src/tpMain_Wheel/WfColossus.cpp b/src/tpMain_Wheel/WfColossus.cpp index e6155a3..14a5f97 100644 --- a/src/tpMain_Wheel/WfColossus.cpp +++ b/src/tpMain_Wheel/WfColossus.cpp @@ -49,28 +49,6 @@ bool WfColossus::addModel(int nIndex, QString strModel) bCreate = true; } - -// IDetectorTask *pTasks[c_nMaxTask]; -// int n = pSolutions->EnumTask(pTasks, c_nMaxTask); -// -// for (int i = 0; i < n; i++) { -// IDetectorTask *pTask = pTasks[i]; -// QString str = pTask->GetTaskInfo()->strName; -// QStringList l = str.split("##"); -// if (l.size() != 2) { -// continue; -// } -// if (l.first().toInt() == nIndex && l.last() == WF_MODEL_TEMPLATE_NAME) { -// IDetectorTask *pNew = pSolutions->AddAndCopyTask(pTask); -// PLP_DETECTOR_TASK tTsk = pNew->GetTaskInfo(); -// tTsk->strName = combineWithSymbol(QString::number(nIndex), strModel); -// tTsk->bIsRun = false; -// pNew->SetTaskInfo(tTsk); -// bCreate = true; -// break; -// } -// } - if (!bCreate) { LP_DETECTOR_TASK tTsk; tTsk.strName = combineWithSymbol(QString::number(nIndex), strModel); diff --git a/tpvs17/lpMain/CMainWin.cpp b/tpvs17/lpMain/CMainWin.cpp index 6321043..ecd6800 100644 --- a/tpvs17/lpMain/CMainWin.cpp +++ b/tpvs17/lpMain/CMainWin.cpp @@ -51,7 +51,13 @@ CMainWin::CMainWin(QWidget *parent) m_pColossus = new WfColossus(m_pDetectorEngine); m_pWfCtrl = new CWfCtrl(m_pCoreCtrl, m_pColossus); - connect(m_pColossus, SIGNAL(sgSetModel(int, QString)), this, SLOT(onShowName(int, QString))); + QStringList strList = m_pWfCtrl->IGetStationKeys(); + foreach(QString str , strList) { + IStation *pS = m_pWfCtrl->IGetStationByKey(str); + connect(pS, SIGNAL(sgShowModeName(int, QString)), this, SLOT(onShowName(int, QString))); + } + m_pWfCtrl->onInit(); + m_mangeWid.onInitModelList(m_pWfCtrl); {//ûģ diff --git a/tpvs17/lpMain/CMainWin.ui b/tpvs17/lpMain/CMainWin.ui index a8d0aea..979db22 100644 --- a/tpvs17/lpMain/CMainWin.ui +++ b/tpvs17/lpMain/CMainWin.ui @@ -7,11 +7,11 @@ 0 0 1028 - 686 + 705 - CMainWin + 气门芯定位检测系统 diff --git a/tpvs17/lpMain/QModelMangerUI.cpp b/tpvs17/lpMain/QModelMangerUI.cpp index a269fb2..dc5cc0d 100644 --- a/tpvs17/lpMain/QModelMangerUI.cpp +++ b/tpvs17/lpMain/QModelMangerUI.cpp @@ -124,7 +124,6 @@ Q_SLOT bool QModelMangerUI::OnCellDoubleClicked(const QModelIndex &index) pModel->nIndex = nIndex; } } - return true; } @@ -183,11 +182,11 @@ void QModelMangerUI::onInitModelList(IWfCtrl *pCtrl) for (int i = 0; i < lst.size(); i++) { QTableView *pW = new QTableView(ui.tabWidgetStation); IStation *pStation = m_pCtrl->IGetStationByKey(lst.at(i)); - QString strName = "wf_cam_listwidget_" + QString::number(pStation->stationId()); - pW->setObjectName(strName); + QString strObjName = "wf_cam_listwidget_" + QString::number(pStation->stationId()); + pW->setObjectName(strObjName); int nIndex = pStation->stationId()-1; ui.tabWidgetStation->insertTab(nIndex, (QWidget*)pW, pStation->stationShowName()); - pStation->setWidget(strName, pW); + pStation->setView(pW); connect(pW, SIGNAL(doubleClicked(const QModelIndex &)),this, SLOT(OnCellDoubleClicked(const QModelIndex &))); } } diff --git a/tpvs17/lpMain/QModelMangerUI.ui b/tpvs17/lpMain/QModelMangerUI.ui index aa89ac8..1083302 100644 --- a/tpvs17/lpMain/QModelMangerUI.ui +++ b/tpvs17/lpMain/QModelMangerUI.ui @@ -11,7 +11,7 @@ - QModelMangerUI + 型号管理 diff --git a/tpvs17/lpMain/QTestModeWid.ui b/tpvs17/lpMain/QTestModeWid.ui index 4e4cff0..323a733 100644 --- a/tpvs17/lpMain/QTestModeWid.ui +++ b/tpvs17/lpMain/QTestModeWid.ui @@ -11,7 +11,7 @@ - QTestModeWid + 功能测试