|
|
|
@ -142,10 +142,16 @@ CMainWin::CMainWin(QWidget *parent)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ui.groupBox_2->setVisible(false);
|
|
|
|
ui.groupBox_2->setVisible(false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m_timerA.setSingleShot(true);
|
|
|
|
|
|
|
|
m_timerB.setSingleShot(true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
CMainWin::~CMainWin()
|
|
|
|
CMainWin::~CMainWin()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
m_timerA.stop();
|
|
|
|
|
|
|
|
m_timerB.stop();
|
|
|
|
|
|
|
|
|
|
|
|
DELETE_POINTER(m_pCameraTrig);
|
|
|
|
DELETE_POINTER(m_pCameraTrig);
|
|
|
|
if (m_db)
|
|
|
|
if (m_db)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -358,6 +364,11 @@ Q_SLOT void CMainWin::onAppanalysis(SComFrame frame)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (nCameraID == 1)
|
|
|
|
if (nCameraID == 1)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (m_timerA.isActive())
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
int t = lpGlobalConfig::instance()->trigerFilter;
|
|
|
|
|
|
|
|
if(t>0)
|
|
|
|
|
|
|
|
m_timerA.start(t);
|
|
|
|
if (m_StationInfo_1.m_bRunEnable == true)
|
|
|
|
if (m_StationInfo_1.m_bRunEnable == true)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QString strCam = lpGlobalConfig::instance()->m_StationCamKey_1;
|
|
|
|
QString strCam = lpGlobalConfig::instance()->m_StationCamKey_1;
|
|
|
|
@ -385,6 +396,12 @@ Q_SLOT void CMainWin::onAppanalysis(SComFrame frame)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (nCameraID == 2)
|
|
|
|
else if (nCameraID == 2)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (m_timerB.isActive())
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
int t = lpGlobalConfig::instance()->trigerFilter;
|
|
|
|
|
|
|
|
if (t > 0)
|
|
|
|
|
|
|
|
m_timerB.start(t);
|
|
|
|
|
|
|
|
|
|
|
|
if (m_StationInfo_2.m_bRunEnable == true)
|
|
|
|
if (m_StationInfo_2.m_bRunEnable == true)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QString strCam = lpGlobalConfig::instance()->m_StationCamKey_2;
|
|
|
|
QString strCam = lpGlobalConfig::instance()->m_StationCamKey_2;
|
|
|
|
@ -417,11 +434,21 @@ Q_SLOT void CMainWin::onAppanalysis(SComFrame frame)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (nCameraID == 1)
|
|
|
|
if (nCameraID == 1)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (m_timerA.isActive())
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
int t = lpGlobalConfig::instance()->trigerFilter;
|
|
|
|
|
|
|
|
if (t > 0)
|
|
|
|
|
|
|
|
m_timerA.start(t);
|
|
|
|
QString strCam = lpGlobalConfig::instance()->m_StationCamKey_1;
|
|
|
|
QString strCam = lpGlobalConfig::instance()->m_StationCamKey_1;
|
|
|
|
m_pCoreCtrl->ISnapImage(QStringList() << strCam);
|
|
|
|
m_pCoreCtrl->ISnapImage(QStringList() << strCam);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (nCameraID == 2)
|
|
|
|
else if (nCameraID == 2)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (m_timerB.isActive())
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
int t = lpGlobalConfig::instance()->trigerFilter;
|
|
|
|
|
|
|
|
if (t > 0)
|
|
|
|
|
|
|
|
m_timerB.start(t);
|
|
|
|
QString strCam = lpGlobalConfig::instance()->m_StationCamKey_2;
|
|
|
|
QString strCam = lpGlobalConfig::instance()->m_StationCamKey_2;
|
|
|
|
m_pCoreCtrl->ISnapImage(QStringList() << strCam);
|
|
|
|
m_pCoreCtrl->ISnapImage(QStringList() << strCam);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -477,6 +504,7 @@ void CMainWin::onHeartComm(SComFrame &frame)
|
|
|
|
|
|
|
|
|
|
|
|
if (m_pWfCtrl) {
|
|
|
|
if (m_pWfCtrl) {
|
|
|
|
m_pWfCtrl->ISelModel(var, strModel);
|
|
|
|
m_pWfCtrl->ISelModel(var, strModel);
|
|
|
|
|
|
|
|
lpGlobalConfig::instance()->m_StationRunModel_1 = strModel;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_StationInfo_1.m_bRunEnable = true;
|
|
|
|
m_StationInfo_1.m_bRunEnable = true;
|
|
|
|
@ -521,6 +549,7 @@ void CMainWin::onHeartComm(SComFrame &frame)
|
|
|
|
.arg(QDateTime::currentDateTime().toString("hh:mm:ss zzz"));
|
|
|
|
.arg(QDateTime::currentDateTime().toString("hh:mm:ss zzz"));
|
|
|
|
if (m_pWfCtrl) {
|
|
|
|
if (m_pWfCtrl) {
|
|
|
|
m_pWfCtrl->ISelModel(var, strModel);
|
|
|
|
m_pWfCtrl->ISelModel(var, strModel);
|
|
|
|
|
|
|
|
lpGlobalConfig::instance()->m_StationRunModel_2 = strModel;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_StationInfo_2.m_bRunEnable = true;
|
|
|
|
m_StationInfo_2.m_bRunEnable = true;
|
|
|
|
@ -550,6 +579,12 @@ void CMainWin::onHeartComm(SComFrame &frame)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
nS1 = -1;
|
|
|
|
|
|
|
|
nS2 = -1;
|
|
|
|
|
|
|
|
m_StationInfo_1.m_PLCID = 0;
|
|
|
|
|
|
|
|
m_StationInfo_2.m_PLCID = 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Q_SLOT void CMainWin::onHeardBit()
|
|
|
|
Q_SLOT void CMainWin::onHeardBit()
|
|
|
|
@ -898,8 +933,8 @@ void CMainWin::onInitSerial()
|
|
|
|
//load seriport dll
|
|
|
|
//load seriport dll
|
|
|
|
if (m_pSerialPort)//如果文件存在 使用自定义的串口
|
|
|
|
if (m_pSerialPort)//如果文件存在 使用自定义的串口
|
|
|
|
{
|
|
|
|
{
|
|
|
|
m_pSerialPort->loadAnalysefunc(this, &CMainWin::onAppanalysis);
|
|
|
|
m_pSerialPort->loadAnalysefunc(this, &CMainWin::onRecvComData);
|
|
|
|
|
|
|
|
connect(this, SIGNAL(sgRecvData(SComFrame)), this, SLOT(onAppanalysis(SComFrame)));
|
|
|
|
//关闭框架的串口使用
|
|
|
|
//关闭框架的串口使用
|
|
|
|
QString strDefaultPort = lpSysConfig::instance()->m_ComName;
|
|
|
|
QString strDefaultPort = lpSysConfig::instance()->m_ComName;
|
|
|
|
int baut = lpSysConfig::instance()->m_Baut;
|
|
|
|
int baut = lpSysConfig::instance()->m_Baut;
|
|
|
|
@ -912,6 +947,8 @@ void CMainWin::onInitSerial()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
connect(&m_HeartBit, SIGNAL(timeout()), this, SLOT(onHeardBit()));
|
|
|
|
connect(&m_HeartBit, SIGNAL(timeout()), this, SLOT(onHeardBit()));
|
|
|
|
m_HeartBit.start(300);
|
|
|
|
m_HeartBit.start(300);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1180,7 +1217,7 @@ Q_SLOT void CMainWin::onLogInOut(QString strName, int level, int state)
|
|
|
|
Q_SLOT void CMainWin::onTestMode(int val)
|
|
|
|
Q_SLOT void CMainWin::onTestMode(int val)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (val == 0) {
|
|
|
|
if (val == 0) {
|
|
|
|
m_pCameraTrig->start(1000);
|
|
|
|
m_pCameraTrig->start(5000);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if(val ==1){
|
|
|
|
else if(val ==1){
|
|
|
|
m_pCameraTrig->stop();
|
|
|
|
m_pCameraTrig->stop();
|
|
|
|
@ -1406,15 +1443,29 @@ void CMainWin::IEngineResult(QVariantMap vMap)
|
|
|
|
int stationID = 0;
|
|
|
|
int stationID = 0;
|
|
|
|
if (solutionName == lpGlobalConfig::instance()->m_StationSolution_1)
|
|
|
|
if (solutionName == lpGlobalConfig::instance()->m_StationSolution_1)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
centerX = centerPoint.x() * lpGlobalConfig::instance()->m_StationScale_1 + lpGlobalConfig::instance()->m_StationXOffset_1;
|
|
|
|
if (lpGlobalConfig::instance()->m_StationXYTrans_1 == true) {
|
|
|
|
centerY = centerPoint.y() * lpGlobalConfig::instance()->m_StationScale_1 + lpGlobalConfig::instance()->m_StationYOffset_1;
|
|
|
|
centerY = centerPoint.x() * lpGlobalConfig::instance()->m_StationScale_1 + lpGlobalConfig::instance()->m_StationXOffset_1;
|
|
|
|
|
|
|
|
centerX = centerPoint.y() * lpGlobalConfig::instance()->m_StationScale_1 + lpGlobalConfig::instance()->m_StationYOffset_1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
centerX = centerPoint.x() * lpGlobalConfig::instance()->m_StationScale_1 + lpGlobalConfig::instance()->m_StationXOffset_1;
|
|
|
|
|
|
|
|
centerY = centerPoint.y() * lpGlobalConfig::instance()->m_StationScale_1 + lpGlobalConfig::instance()->m_StationYOffset_1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sendResult(1, dAngle, centerX, centerY);
|
|
|
|
sendResult(1, dAngle, centerX, centerY);
|
|
|
|
stationID = 1;
|
|
|
|
stationID = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (solutionName == lpGlobalConfig::instance()->m_StationSolution_2)
|
|
|
|
else if (solutionName == lpGlobalConfig::instance()->m_StationSolution_2)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
centerX = centerPoint.x() * lpGlobalConfig::instance()->m_StationScale_2 + lpGlobalConfig::instance()->m_StationXOffset_2;
|
|
|
|
if (lpGlobalConfig::instance()->m_StationXYTrans_2 == true) {
|
|
|
|
centerY = centerPoint.y() * lpGlobalConfig::instance()->m_StationScale_2 + lpGlobalConfig::instance()->m_StationYOffset_2;
|
|
|
|
centerY = centerPoint.x() * lpGlobalConfig::instance()->m_StationScale_2 + lpGlobalConfig::instance()->m_StationXOffset_2;
|
|
|
|
|
|
|
|
centerX = centerPoint.y() * lpGlobalConfig::instance()->m_StationScale_2 + lpGlobalConfig::instance()->m_StationYOffset_2;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
centerX = centerPoint.x() * lpGlobalConfig::instance()->m_StationScale_2 + lpGlobalConfig::instance()->m_StationXOffset_2;
|
|
|
|
|
|
|
|
centerY = centerPoint.y() * lpGlobalConfig::instance()->m_StationScale_2 + lpGlobalConfig::instance()->m_StationYOffset_2;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sendResult(2, dAngle, centerX, centerY);
|
|
|
|
sendResult(2, dAngle, centerX, centerY);
|
|
|
|
stationID = 2;
|
|
|
|
stationID = 2;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1456,7 +1507,13 @@ void CMainWin::IEngineResult(QVariantMap vMap)
|
|
|
|
strResult += " no found Value";
|
|
|
|
strResult += " no found Value";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
|
strResult += tr(" center:(%1,%2)").arg(centerX).arg(centerY);
|
|
|
|
int lowX = (centerX - (int)centerX) * 1000;
|
|
|
|
|
|
|
|
double X = (int)centerX + lowX / 1000.0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int lowY = (centerY - (int)centerY) * 1000;
|
|
|
|
|
|
|
|
double Y = (int)centerX + lowY / 1000.0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
strResult += tr(" center:(%1,%2)").arg(QString::number(X, 'f', 3)).arg(QString::number(Y, 'f', 3));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
emit sgShowLog(stationID, strResult);
|
|
|
|
emit sgShowLog(stationID, strResult);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1581,6 +1638,11 @@ void CMainWin::saveImage(const QImage& m_pixmap, QString m_path, QString filenam
|
|
|
|
workTread->start();
|
|
|
|
workTread->start();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CMainWin::onRecvComData(SComFrame frame)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
emit sgRecvData(frame);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CMainWin::onInitDiskClean()
|
|
|
|
void CMainWin::onInitDiskClean()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|