|
|
|
@ -17,12 +17,13 @@ valueMainUI::valueMainUI(QWidget *parent)
|
|
|
|
: QMainWindow(parent)
|
|
|
|
: QMainWindow(parent)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ui.setupUi(this);
|
|
|
|
ui.setupUi(this);
|
|
|
|
setupTrayIcon();
|
|
|
|
setupTrayIcon();//后台任务栏初始化
|
|
|
|
setWindowIcon(QIcon(WINDOWICON));
|
|
|
|
setWindowIcon(QIcon(WINDOWICON));
|
|
|
|
setWindowTitle(tr("识别定位一体检测系统"));
|
|
|
|
setWindowTitle(tr("识别定位一体检测系统"));
|
|
|
|
lpGlobalData::instance();
|
|
|
|
lpGlobalData::instance();
|
|
|
|
|
|
|
|
lpConfig::instance()->loadConfig();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//状态栏信息展示初始化 两个后台检测程序的通讯状态展示
|
|
|
|
m_pLabelA = new QLabel(this);
|
|
|
|
m_pLabelA = new QLabel(this);
|
|
|
|
m_pLabelB = new QLabel(this);
|
|
|
|
m_pLabelB = new QLabel(this);
|
|
|
|
m_pLabelPLC = new QLabel(this);
|
|
|
|
m_pLabelPLC = new QLabel(this);
|
|
|
|
@ -51,48 +52,35 @@ valueMainUI::valueMainUI(QWidget *parent)
|
|
|
|
ui.statusBar->addPermanentWidget(m_pLabelSystem, 50);
|
|
|
|
ui.statusBar->addPermanentWidget(m_pLabelSystem, 50);
|
|
|
|
m_pLabelA->setText("");
|
|
|
|
m_pLabelA->setText("");
|
|
|
|
m_pLabelB->setText("");
|
|
|
|
m_pLabelB->setText("");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//检测结果图展示 UI初始化
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QGridLayout *pLayout_A = new QGridLayout(ui.widget_A);
|
|
|
|
QGridLayout *pLayout_A = new QGridLayout(ui.widget_A);//A侧相机结果图展示UI
|
|
|
|
m_ImgViewer_A = new RoiImgViewer(ui.widget_A);
|
|
|
|
m_ImgViewer_A = new RoiImgViewer(ui.widget_A);
|
|
|
|
m_ImgViewer_A->setObjectName("m_ImgViewer_A");
|
|
|
|
m_ImgViewer_A->setObjectName("m_ImgViewer_A");
|
|
|
|
connect(m_ImgViewer_A, SIGNAL(sgImageScale(qreal)), this, SLOT(onImageScale(qreal)));
|
|
|
|
connect(m_ImgViewer_A, SIGNAL(sgImageScale(qreal)), this, SLOT(onImageScale(qreal)));
|
|
|
|
pLayout_A->addWidget(m_ImgViewer_A);
|
|
|
|
pLayout_A->addWidget(m_ImgViewer_A);
|
|
|
|
ui.widget_A->setLayout(pLayout_A);
|
|
|
|
ui.widget_A->setLayout(pLayout_A);
|
|
|
|
|
|
|
|
|
|
|
|
QGridLayout *pLayout_B = new QGridLayout(ui.widget_B);
|
|
|
|
QGridLayout *pLayout_B = new QGridLayout(ui.widget_B);//B侧相机结果图展示UI
|
|
|
|
m_ImgViewer_B = new RoiImgViewer(ui.widget_A);
|
|
|
|
m_ImgViewer_B = new RoiImgViewer(ui.widget_A);
|
|
|
|
m_ImgViewer_B->setObjectName("m_ImgViewer_B");
|
|
|
|
m_ImgViewer_B->setObjectName("m_ImgViewer_B");
|
|
|
|
connect(m_ImgViewer_B, SIGNAL(sgImageScale(qreal)), this, SLOT(onImageScale(qreal)));
|
|
|
|
connect(m_ImgViewer_B, SIGNAL(sgImageScale(qreal)), this, SLOT(onImageScale(qreal)));
|
|
|
|
pLayout_B->addWidget(m_ImgViewer_B);
|
|
|
|
pLayout_B->addWidget(m_ImgViewer_B);
|
|
|
|
ui.widget_B->setLayout(pLayout_B);
|
|
|
|
ui.widget_B->setLayout(pLayout_B);
|
|
|
|
|
|
|
|
|
|
|
|
QString strPath = QApplication::applicationDirPath() + "/showImg.ini";
|
|
|
|
QString strPath = QApplication::applicationDirPath() + "/showImg.ini";//图像展示比例的参数
|
|
|
|
QSettings setting(strPath, QSettings::IniFormat);
|
|
|
|
QSettings setting(strPath, QSettings::IniFormat);
|
|
|
|
double nScale_A = setting.value("ShowImg/ScaleA", 0.53).toDouble();
|
|
|
|
double nScale_A = setting.value("ShowImg/ScaleA", 0.53).toDouble();
|
|
|
|
double nScale_B = setting.value("ShowImg/ScaleB", 0.53).toDouble();
|
|
|
|
double nScale_B = setting.value("ShowImg/ScaleB", 0.53).toDouble();
|
|
|
|
m_ImgViewer_A->setInitScale(nScale_A);
|
|
|
|
m_ImgViewer_A->setInitScale(nScale_A);
|
|
|
|
m_ImgViewer_B->setInitScale(nScale_B);
|
|
|
|
m_ImgViewer_B->setInitScale(nScale_B);
|
|
|
|
|
|
|
|
|
|
|
|
// QFont font;
|
|
|
|
|
|
|
|
// font.setBold(true);
|
|
|
|
|
|
|
|
// font.setPixelSize(25);
|
|
|
|
|
|
|
|
// m_pLabelState_A = new QLabel(m_ImgViewer_A);
|
|
|
|
|
|
|
|
// m_pLabelState_A->setFont(font);
|
|
|
|
|
|
|
|
// m_pLabelState_A->setText(tr("检测状态"));
|
|
|
|
|
|
|
|
// m_pLabelState_A->setMinimumWidth(300);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// m_pLabelRes_A = new QLabel(m_ImgViewer_A);
|
|
|
|
|
|
|
|
// m_pLabelRes_A->setFont(font);
|
|
|
|
|
|
|
|
// m_pLabelRes_A->setText(tr("检测结果"));
|
|
|
|
|
|
|
|
// m_pLabelRes_A->setMinimumWidth(300);
|
|
|
|
|
|
|
|
// m_pLabelRes_A->move(m_ImgViewer_A->rect().x(), 40);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//工具栏菜单
|
|
|
|
QMenu *pToolMenu = new QMenu(this);
|
|
|
|
QMenu *pToolMenu = new QMenu(this);
|
|
|
|
|
|
|
|
pToolMenu->addAction(ui.actionConfig);//系统配置
|
|
|
|
pToolMenu->addAction(ui.actionConfig);
|
|
|
|
pToolMenu->addAction(ui.actiondebug);//测试调试
|
|
|
|
pToolMenu->addAction(ui.actiondebug);
|
|
|
|
pToolMenu->addAction(ui.action_communicate);//通讯测试页面
|
|
|
|
pToolMenu->addAction(ui.action_communicate);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QToolButton* pbutton = new QToolButton(this);
|
|
|
|
QToolButton* pbutton = new QToolButton(this);
|
|
|
|
pbutton->setMenu(pToolMenu);
|
|
|
|
pbutton->setMenu(pToolMenu);
|
|
|
|
@ -112,20 +100,15 @@ valueMainUI::valueMainUI(QWidget *parent)
|
|
|
|
connect(ui.actiondebug, SIGNAL(triggered()), this, SLOT(onButtonClicked()));
|
|
|
|
connect(ui.actiondebug, SIGNAL(triggered()), this, SLOT(onButtonClicked()));
|
|
|
|
connect(ui.action_communicate, SIGNAL(triggered()), this, SLOT(onButtonClicked()));
|
|
|
|
connect(ui.action_communicate, SIGNAL(triggered()), this, SLOT(onButtonClicked()));
|
|
|
|
|
|
|
|
|
|
|
|
m_pConfigUI = new lpConfigUI();
|
|
|
|
//子页面初始化
|
|
|
|
|
|
|
|
m_pConfigUI = new lpConfigUI();//系统配置
|
|
|
|
connect(m_pConfigUI, SIGNAL(sgUpdateConfig()), this, SLOT(onUpdateConfig()));
|
|
|
|
connect(m_pConfigUI, SIGNAL(sgUpdateConfig()), this, SLOT(onUpdateConfig()));
|
|
|
|
m_pDebugUI = new lpDebugUI();
|
|
|
|
m_pDebugUI = new lpDebugUI();//调试测试
|
|
|
|
connect(m_pDebugUI, SIGNAL(sgButtonClicked(int)), this, SLOT(onDebugClicked(int)));
|
|
|
|
connect(m_pDebugUI, SIGNAL(sgButtonClicked(int)), this, SLOT(onDebugClicked(int)));
|
|
|
|
m_SysTimerID = startTimer(1000);
|
|
|
|
m_pTcpDebugUI = new QTCPDebugUI();//通讯测试页面
|
|
|
|
lpConfig::instance()->loadConfig();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m_timerStartID = startTimer(2000);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onShowUI(lpConfig::instance()->doubleStation);
|
|
|
|
onShowUI(lpConfig::instance()->doubleStation);
|
|
|
|
|
|
|
|
|
|
|
|
m_pTcpDebugUI = new QTCPDebugUI();
|
|
|
|
{//PLC tcp 通讯 本检测系统作为服务端,PLC作为客户端主动连接
|
|
|
|
|
|
|
|
|
|
|
|
{//PLC tcp 通讯
|
|
|
|
|
|
|
|
m_pPlcDevice = new QPLCDevice();
|
|
|
|
m_pPlcDevice = new QPLCDevice();
|
|
|
|
m_pPlcDevice->onInitDevice();
|
|
|
|
m_pPlcDevice->onInitDevice();
|
|
|
|
m_pPlcDevice->onStartServer(lpConfig::instance()->plcServerPort);
|
|
|
|
m_pPlcDevice->onStartServer(lpConfig::instance()->plcServerPort);
|
|
|
|
@ -133,11 +116,17 @@ valueMainUI::valueMainUI(QWidget *parent)
|
|
|
|
connect(m_pPlcDevice, SIGNAL(sgSendDataCallBack(QByteArray)), this, SLOT(onShowSendTcpData(QByteArray)));
|
|
|
|
connect(m_pPlcDevice, SIGNAL(sgSendDataCallBack(QByteArray)), this, SLOT(onShowSendTcpData(QByteArray)));
|
|
|
|
connect(m_pPlcDevice, SIGNAL(sgRecvDataCallBack(QByteArray)), this, SLOT(onShowRecvTcpData(QByteArray)));
|
|
|
|
connect(m_pPlcDevice, SIGNAL(sgRecvDataCallBack(QByteArray)), this, SLOT(onShowRecvTcpData(QByteArray)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
m_SysTimerID = startTimer(1000);//系统定时刷新定时器
|
|
|
|
|
|
|
|
m_timerStartID = startTimer(1000);//启动从机客户端
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
valueMainUI::~valueMainUI()
|
|
|
|
valueMainUI::~valueMainUI()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
onStopProcess();
|
|
|
|
onStopProcess();//本系统退出时 杀死由本系统启动的A B检测程序
|
|
|
|
|
|
|
|
//内存释放
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (m_ImgViewer_A)
|
|
|
|
if (m_ImgViewer_A)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -383,7 +372,7 @@ Q_SLOT void valueMainUI::onRecvDataStr_B(const QJsonObject& json)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void valueMainUI::onConnectA()
|
|
|
|
void valueMainUI::onConnectA()
|
|
|
|
{
|
|
|
|
{//tcpClient 连接
|
|
|
|
TP_TCP_CLIENT_PARAM init_param;
|
|
|
|
TP_TCP_CLIENT_PARAM init_param;
|
|
|
|
init_param.host_ip_ = "127.0.0.1";
|
|
|
|
init_param.host_ip_ = "127.0.0.1";
|
|
|
|
init_param.port_ = lpConfig::instance()->portA;
|
|
|
|
init_param.port_ = lpConfig::instance()->portA;
|
|
|
|
@ -400,9 +389,9 @@ void valueMainUI::onConnectA()
|
|
|
|
tcp_client_ptr_A = new lpTcpClient(init_param, this);
|
|
|
|
tcp_client_ptr_A = new lpTcpClient(init_param, this);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
connect(tcp_client_ptr_A, SIGNAL(signal_connected()), this, SLOT(on_connected_A()));
|
|
|
|
connect(tcp_client_ptr_A, SIGNAL(signal_connected()), this, SLOT(on_connected_A()));//连接状态
|
|
|
|
connect(tcp_client_ptr_A, SIGNAL(signal_disconnected()), this, SLOT(on_disconnected_A()));
|
|
|
|
connect(tcp_client_ptr_A, SIGNAL(signal_disconnected()), this, SLOT(on_disconnected_A()));
|
|
|
|
connect(tcp_client_ptr_A, &lpTcpClient::signal_message_receive, this, &valueMainUI::on_message_receive_A);
|
|
|
|
connect(tcp_client_ptr_A, &lpTcpClient::signal_message_receive, this, &valueMainUI::on_message_receive_A);//数据接收
|
|
|
|
connect(tcp_client_ptr_A, &lpTcpClient::signal_data_send_completed, this, &valueMainUI::on_data_send_completed_A);
|
|
|
|
connect(tcp_client_ptr_A, &lpTcpClient::signal_data_send_completed, this, &valueMainUI::on_data_send_completed_A);
|
|
|
|
connect(tcp_client_ptr_A, &lpTcpClient::signal_data_recv_completed, this, &valueMainUI::on_data_recv_completed_A);
|
|
|
|
connect(tcp_client_ptr_A, &lpTcpClient::signal_data_recv_completed, this, &valueMainUI::on_data_recv_completed_A);
|
|
|
|
|
|
|
|
|
|
|
|
@ -439,7 +428,7 @@ void valueMainUI::onConnectB()
|
|
|
|
Q_SLOT void valueMainUI::onButtonClicked()
|
|
|
|
Q_SLOT void valueMainUI::onButtonClicked()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QString strObj = sender()->objectName();
|
|
|
|
QString strObj = sender()->objectName();
|
|
|
|
if (strObj == "actionsettingA")
|
|
|
|
if (strObj == "actionsettingA")//A侧客户端展示
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (m_bServerA == false)
|
|
|
|
if (m_bServerA == false)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -457,7 +446,7 @@ Q_SLOT void valueMainUI::onButtonClicked()
|
|
|
|
TP_PROTOCOL_MESSAGE msg;
|
|
|
|
TP_PROTOCOL_MESSAGE msg;
|
|
|
|
QJsonObject sObj;
|
|
|
|
QJsonObject sObj;
|
|
|
|
sObj.insert("cmd", "showWidget");
|
|
|
|
sObj.insert("cmd", "showWidget");
|
|
|
|
msg.body = sObj;
|
|
|
|
msg.body = sObj;//发送命令 A侧检测程序显示客户端
|
|
|
|
tcp_client_ptr_A->ISendMessage(msg);
|
|
|
|
tcp_client_ptr_A->ISendMessage(msg);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -489,6 +478,7 @@ Q_SLOT void valueMainUI::onButtonClicked()
|
|
|
|
m_pDebugUI->setWindowTitle(tr("调试页面"));
|
|
|
|
m_pDebugUI->setWindowTitle(tr("调试页面"));
|
|
|
|
m_pDebugUI->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
|
|
|
m_pDebugUI->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
|
|
|
m_pDebugUI->setWindowIcon(QIcon(WINDOWICON));
|
|
|
|
m_pDebugUI->setWindowIcon(QIcon(WINDOWICON));
|
|
|
|
|
|
|
|
//屏蔽 窗口不阻塞
|
|
|
|
//m_pDebugUI->setWindowModality(Qt::ApplicationModal);
|
|
|
|
//m_pDebugUI->setWindowModality(Qt::ApplicationModal);
|
|
|
|
//m_pDebugUI->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
//m_pDebugUI->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
m_pDebugUI->show();
|
|
|
|
m_pDebugUI->show();
|
|
|
|
@ -503,7 +493,6 @@ Q_SLOT void valueMainUI::onButtonClicked()
|
|
|
|
m_pConfigUI->setWindowModality(Qt::ApplicationModal);
|
|
|
|
m_pConfigUI->setWindowModality(Qt::ApplicationModal);
|
|
|
|
m_pConfigUI->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
m_pConfigUI->setAttribute(Qt::WA_ShowModal, true);
|
|
|
|
m_pConfigUI->show();
|
|
|
|
m_pConfigUI->show();
|
|
|
|
//check();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (strObj == "action_communicate")
|
|
|
|
else if (strObj == "action_communicate")
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -529,7 +518,7 @@ QByteArray valueMainUI::Json2byte(QJsonObject obj)
|
|
|
|
|
|
|
|
|
|
|
|
void valueMainUI::timerEvent(QTimerEvent *event)
|
|
|
|
void valueMainUI::timerEvent(QTimerEvent *event)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (m_timerA == event->timerId())
|
|
|
|
if (m_timerA == event->timerId())//调试 定时触发相机拍照 相机触发模式为软件触发
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TP_PROTOCOL_MESSAGE msg;
|
|
|
|
TP_PROTOCOL_MESSAGE msg;
|
|
|
|
QJsonObject sObj;
|
|
|
|
QJsonObject sObj;
|
|
|
|
@ -548,7 +537,7 @@ void valueMainUI::timerEvent(QTimerEvent *event)
|
|
|
|
tcp_client_ptr_B->ISendMessage(msg);
|
|
|
|
tcp_client_ptr_B->ISendMessage(msg);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (m_SysTimerID == event->timerId())
|
|
|
|
else if (m_SysTimerID == event->timerId())
|
|
|
|
{
|
|
|
|
{//系统状态信息定时刷新展示
|
|
|
|
m_tickCount++;
|
|
|
|
m_tickCount++;
|
|
|
|
m_CoutB++;
|
|
|
|
m_CoutB++;
|
|
|
|
m_CoutA++;
|
|
|
|
m_CoutA++;
|
|
|
|
@ -604,8 +593,9 @@ void valueMainUI::timerEvent(QTimerEvent *event)
|
|
|
|
m_pLabelB->setStyleSheet("background-color: rgb(200, 10, 10);");
|
|
|
|
m_pLabelB->setStyleSheet("background-color: rgb(200, 10, 10);");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {//不启用双工位
|
|
|
|
m_pLabelB->setText("");
|
|
|
|
m_pLabelB->setText("");
|
|
|
|
|
|
|
|
m_pLabelB->setStyleSheet("");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (m_pPlcDevice)
|
|
|
|
if (m_pPlcDevice)
|
|
|
|
@ -635,8 +625,8 @@ void valueMainUI::timerEvent(QTimerEvent *event)
|
|
|
|
killTimer(m_timerStartID);
|
|
|
|
killTimer(m_timerStartID);
|
|
|
|
m_timerStartID = 0;
|
|
|
|
m_timerStartID = 0;
|
|
|
|
|
|
|
|
|
|
|
|
onStartProcess();
|
|
|
|
onStartProcess();//启动应用
|
|
|
|
onConnectA();
|
|
|
|
onConnectA();//建立tcp通讯连接
|
|
|
|
if (lpConfig::instance()->doubleStation == true)
|
|
|
|
if (lpConfig::instance()->doubleStation == true)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
onConnectB();
|
|
|
|
onConnectB();
|
|
|
|
@ -666,8 +656,8 @@ void valueMainUI::closeEvent(QCloseEvent *event)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Q_SLOT void valueMainUI::onDebugClicked(int nID)
|
|
|
|
Q_SLOT void valueMainUI::onDebugClicked(int nID)
|
|
|
|
{
|
|
|
|
{//调试测试页面按钮响应事件 自定义命令
|
|
|
|
if (nID == 1)
|
|
|
|
if (nID == 1)//A侧相机单次触发
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TP_PROTOCOL_MESSAGE msg;
|
|
|
|
TP_PROTOCOL_MESSAGE msg;
|
|
|
|
QJsonObject sObj;
|
|
|
|
QJsonObject sObj;
|
|
|
|
@ -676,7 +666,7 @@ Q_SLOT void valueMainUI::onDebugClicked(int nID)
|
|
|
|
if (tcp_client_ptr_A)
|
|
|
|
if (tcp_client_ptr_A)
|
|
|
|
tcp_client_ptr_A->ISendMessage(msg);
|
|
|
|
tcp_client_ptr_A->ISendMessage(msg);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (nID == 2)
|
|
|
|
else if (nID == 2)//B侧相机单次触发
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TP_PROTOCOL_MESSAGE msg;
|
|
|
|
TP_PROTOCOL_MESSAGE msg;
|
|
|
|
QJsonObject sObj;
|
|
|
|
QJsonObject sObj;
|
|
|
|
@ -685,7 +675,7 @@ Q_SLOT void valueMainUI::onDebugClicked(int nID)
|
|
|
|
if (tcp_client_ptr_B)
|
|
|
|
if (tcp_client_ptr_B)
|
|
|
|
tcp_client_ptr_B->ISendMessage(msg);
|
|
|
|
tcp_client_ptr_B->ISendMessage(msg);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (nID == 3)
|
|
|
|
else if (nID == 3)//A侧相机定时触发
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (m_timerA != 0)
|
|
|
|
if (m_timerA != 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -693,10 +683,10 @@ Q_SLOT void valueMainUI::onDebugClicked(int nID)
|
|
|
|
m_timerA = 0;
|
|
|
|
m_timerA = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
|
m_timerA = startTimer(5000);
|
|
|
|
m_timerA = startTimer(5000);//时间固定5s
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (nID == 4)
|
|
|
|
else if (nID == 4)//B侧相机定时触发
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (m_timerB != 0)
|
|
|
|
if (m_timerB != 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -718,10 +708,10 @@ Q_SLOT void valueMainUI::onConnected_A(bool bFalg)
|
|
|
|
bLastState = m_bServerA;
|
|
|
|
bLastState = m_bServerA;
|
|
|
|
if (bLastState == false)
|
|
|
|
if (bLastState == false)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ui.textEdit->append("设备断开连接");
|
|
|
|
ui.textEdit->append(tr("检测系统已离线!!!"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
|
ui.textEdit->append("设备已连接");
|
|
|
|
ui.textEdit->append(tr("检测系统已在线..."));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -735,14 +725,14 @@ Q_SLOT void valueMainUI::onConnected_B(bool bFalg)
|
|
|
|
bLastState = m_bServerB;
|
|
|
|
bLastState = m_bServerB;
|
|
|
|
if (bLastState == false)
|
|
|
|
if (bLastState == false)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ui.textEdit_2->append("设备断开连接");
|
|
|
|
ui.textEdit_2->append(tr("检测系统已离线!!!"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
|
ui.textEdit_2->append("设备已连接");
|
|
|
|
ui.textEdit_2->append(tr("检测系统已在线..."));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//测试代码 备用 查找系统中相关task是否在运行
|
|
|
|
void valueMainUI::check()
|
|
|
|
void valueMainUI::check()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QString strExeName = QString("%1.exe").arg("Enchanter");
|
|
|
|
QString strExeName = QString("%1.exe").arg("Enchanter");
|
|
|
|
@ -775,6 +765,7 @@ void valueMainUI::onRunApp(QString strAppPath)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//启动检测程序 路径固定
|
|
|
|
Q_SLOT void valueMainUI::onStartProcess()
|
|
|
|
Q_SLOT void valueMainUI::onStartProcess()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
QString strAppPath = lpConfig::instance()->appPathA;
|
|
|
|
QString strAppPath = lpConfig::instance()->appPathA;
|
|
|
|
@ -782,7 +773,7 @@ Q_SLOT void valueMainUI::onStartProcess()
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
onRunApp(lpConfig::instance()->appPathA);
|
|
|
|
onRunApp(lpConfig::instance()->appPathA);
|
|
|
|
if (lpConfig::instance()->doubleStation == false)
|
|
|
|
if (lpConfig::instance()->doubleStation == false)//双工位启动
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
strAppPath = lpConfig::instance()->appPathB;
|
|
|
|
strAppPath = lpConfig::instance()->appPathB;
|
|
|
|
|