737 lines
27 KiB
C++
737 lines
27 KiB
C++
#pragma once
|
|
#pragma execution_character_set("utf-8")
|
|
|
|
#include <QtWidgets/QWidget>
|
|
#include "ui_frmProItemTab.h"
|
|
#include <QListWidgetItem>
|
|
#include <QTreeWidgetItem>
|
|
#include "GlobalVariable.h"
|
|
#include "FlowListWidget.h"
|
|
#include "QGraphicsViews.h"
|
|
#include <QThread>
|
|
|
|
#pragma region 图像处理
|
|
//动态库--获取图像
|
|
typedef int (*GetImageSource)();
|
|
typedef void (*SetImageSource)();
|
|
//动态库--创建ROI
|
|
typedef int (*GetCreateRoi)();
|
|
typedef void (*SetCreateRoi)();
|
|
//动态库--裁切图像
|
|
typedef int (*GetCropImage)();
|
|
typedef void (*SetCropImage)();
|
|
//动态库--图像翻转
|
|
typedef int (*GetImageFlip)();
|
|
typedef void (*SetImageFlip)();
|
|
//动态库--预处理
|
|
typedef int (*GetImageMorphology)();
|
|
typedef void (*SetImageMorphology)();
|
|
//动态库--图像修复
|
|
typedef int (*GetImageRepair)();
|
|
typedef void (*SetImageRepair)();
|
|
//动态库--图像旋转
|
|
typedef int (*GetImageRotate)();
|
|
typedef void (*SetImageRotate)();
|
|
//动态库--图像拼接
|
|
typedef int (*GetImageSplice)();
|
|
typedef void (*SetImageSplice)();
|
|
//动态库--图像显示
|
|
typedef int (*GetImageView)();
|
|
typedef void (*SetImageView)();
|
|
//动态库--透视变换
|
|
typedef int (*GetPerspectiveTransform)();
|
|
typedef void (*SetPerspectiveTransform)();
|
|
//动态库--图像细化
|
|
typedef int (*GetSkeleton)();
|
|
typedef void (*SetSkeleton)();
|
|
//动态库--导出图像
|
|
typedef int (*GetExportImage)();
|
|
typedef void (*SetExportImage)();
|
|
#pragma endregion
|
|
|
|
#pragma region 检测识别
|
|
//动态库--条形码识别
|
|
typedef int (*GetBarcodeIdentify)();
|
|
typedef void (*SetBarcodeIdentify)();
|
|
//动态库--斑点分析
|
|
typedef int (*GetBlobDetector)();
|
|
typedef void (*SetBlobDetector)();
|
|
//动态库--亮度检测
|
|
typedef int (*GetBrightness)();
|
|
typedef void (*SetBrightness)();
|
|
//动态库--颜色识别
|
|
typedef int (*GetColorIdentify)();
|
|
typedef void (*SetColorIdentify)();
|
|
//动态库--二维码识别
|
|
typedef int (*GetQRcodeIdentify)();
|
|
typedef void (*SetQRcodeIdentify)();
|
|
//动态库--轮廓特征选择
|
|
typedef int (*GetSelectShape)();
|
|
typedef void (*SetSelectShape)();
|
|
//动态库--分类器
|
|
typedef int (*GetClassifier)();
|
|
typedef void (*SetClassifier)();
|
|
#pragma endregion
|
|
|
|
#pragma region 标定工具
|
|
//动态库--N点标定
|
|
typedef int (*GetERTCalibration)();
|
|
typedef void (*SetERTCalibration)();
|
|
//动态库--测量标定
|
|
typedef int (*GetMeasureCalibration)();
|
|
typedef void (*SetMeasureCalibration)();
|
|
#pragma endregion
|
|
|
|
#pragma region 对位工具
|
|
//动态库--目标跟踪
|
|
typedef int (*GetCamShiftTrack)();
|
|
typedef void (*SetCamShiftTrack)();
|
|
//动态库--线性计算
|
|
typedef int (*GetLinearCalculation)();
|
|
typedef void (*SetLinearCalculation)();
|
|
//动态库--灰度匹配
|
|
typedef int (*GetTemplateMatch)();
|
|
typedef void (*SetTemplateMatch)();
|
|
//动态库--形状匹配
|
|
typedef int (*GetShapeMatch)();
|
|
typedef void (*SetShapeMatch)();
|
|
#pragma endregion
|
|
|
|
#pragma region 几何工具
|
|
//动态库--寻找圆
|
|
typedef int (*GetFindCircle)();
|
|
typedef void (*SetFindCircle)();
|
|
//动态库--寻找直线
|
|
typedef int (*GetFindLine)();
|
|
typedef void (*SetFindLine)();
|
|
//动态库--拟合圆
|
|
typedef int (*GetFitCircle)();
|
|
typedef void (*SetFitCircle)();
|
|
//动态库--拟合椭圆
|
|
typedef int (*GetFitEllipse)();
|
|
typedef void (*SetFitEllipse)();
|
|
//动态库--拟合直线
|
|
typedef int (*GetFitLine)();
|
|
typedef void (*SetFitLine)();
|
|
//动态库--获取边界点
|
|
typedef int (*GetContourPoints)();
|
|
typedef void (*SetContourPoints)();
|
|
#pragma endregion
|
|
|
|
#pragma region 几何测量
|
|
//动态库--线圆交点
|
|
typedef int (*GetLineCircle)();
|
|
typedef void (*SetLineCircle)();
|
|
//动态库--线线交点
|
|
typedef int (*GetLineLineI)();
|
|
typedef void (*SetLineLineI)();
|
|
//动态库--点+线
|
|
typedef int (*GetPointLine)();
|
|
typedef void (*SetPointLine)();
|
|
//动态库--点+点
|
|
typedef int (*GetPointPoint)();
|
|
typedef void (*SetPointPoint)();
|
|
//动态库--圆缺口角度
|
|
typedef int (*GetRoundedCorners)();
|
|
typedef void (*SetRoundedCorners)();
|
|
//动态库--边缘宽度测量
|
|
typedef int (*GetEdgeWidthMeasure)();
|
|
typedef void (*SetEdgeWidthMeasure)();
|
|
#pragma endregion
|
|
|
|
#pragma region 三维检测
|
|
//动态库--拟合平面
|
|
typedef int (*GetFlatness)();
|
|
typedef void (*SetFlatness)();
|
|
#pragma endregion
|
|
|
|
#pragma region 逻辑工具
|
|
//动态库--扩展库
|
|
typedef int (*GetExtensionLibrary)();
|
|
typedef void (*SetExtensionLibrary)();
|
|
//动态库--跳转语句
|
|
typedef int (*GetLogicGoto)();
|
|
typedef void (*SetLogicGoto)();
|
|
//动态库--判断语句
|
|
typedef int (*GetLogicJudge)();
|
|
typedef void (*SetLogicJudge)();
|
|
//动态库--结束语句
|
|
typedef int (*GetLogicJudgeEnd)();
|
|
typedef void (*SetLogicJudgeEnd)();
|
|
#pragma endregion
|
|
|
|
#pragma region 通讯工具
|
|
//动态库--PLC通信
|
|
typedef int (*GetPlcCommunicate)();
|
|
typedef void (*SetPlcCommunicate)();
|
|
//动态库--串口通信
|
|
typedef int (*GetSerialPort)();
|
|
typedef void (*SetSerialPort)();
|
|
//动态库--TCP/IP服务器
|
|
typedef int (*GetSocketTcpServer)();
|
|
typedef void (*SetSocketTcpServer)();
|
|
//动态库--TCP/IP客户端
|
|
typedef int (*GetSocketTcpClient)();
|
|
typedef void (*SetSocketTcpClient)();
|
|
#pragma endregion
|
|
|
|
#pragma region 系统工具
|
|
//动态库--导出CSV
|
|
typedef int (*GetExportCsv)();
|
|
typedef void (*SetExportCsv)();
|
|
#pragma endregion
|
|
|
|
class frmProItemTab : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
frmProItemTab(QWidget* parent = Q_NULLPTR);
|
|
~frmProItemTab();
|
|
|
|
private:
|
|
Ui::frmProItemTabClass ui;
|
|
|
|
public:
|
|
ToolNameList GetProcessItemNum(const QString itemName);
|
|
Toolnterface* GetNewToolDlg(const int mode, const QString sToolName, const ToolNameList toolName);
|
|
|
|
private:
|
|
void ProgramManualFlow();
|
|
|
|
public slots:
|
|
void slot_CyclePro();
|
|
void ProgramAutoFlow_B1();
|
|
void ProgramAutoFlow_B2();
|
|
void ProgramAutoFlow_B3();
|
|
void ProgramAutoFlow_B4();
|
|
void ProgramAutoFlow_B5();
|
|
void ProgramAutoFlow_B6();
|
|
void ProgramAutoFlow_B7();
|
|
void ProgramAutoFlow_B8();
|
|
void ProgramAutoFlow_B9();
|
|
void ProgramAutoFlow_B10();
|
|
void ProgramAutoFlow_B11();
|
|
void ProgramAutoFlow_B12();
|
|
void ProgramAutoFlow_B13();
|
|
void ProgramAutoFlow_B14();
|
|
void ProgramAutoFlow_B15();
|
|
void ProgramAutoFlow_B16();
|
|
void ProgramAutoFlow_B17();
|
|
void ProgramAutoFlow_B18();
|
|
void ProgramAutoFlow_B19();
|
|
void ProgramAutoFlow_B20();
|
|
|
|
private slots:
|
|
void on_btnAddProFlow_clicked();
|
|
void on_btnDelProFlow_clicked();
|
|
void on_btnSetProFlow_clicked();
|
|
void on_btnRunOnce_clicked();
|
|
void on_btnRunCycle_clicked();
|
|
void on_btnStop_clicked();
|
|
|
|
private slots:
|
|
void slotItemExpanded(QTreeWidgetItem* item);
|
|
void slotItemCollapsed(QTreeWidgetItem* item);
|
|
void slotItemPressed(QTreeWidgetItem* item, int column);
|
|
|
|
private slots:
|
|
void slot_ActionProItem(int nType, QString addName, bool isAdd);
|
|
void slot_CycleProErr();
|
|
void timerEvent();
|
|
void slot_Cutover();
|
|
void slot_ManualCycleStop();
|
|
|
|
public slots:
|
|
void slot_ToolRunFinish_B1(const QString);
|
|
void slot_ToolRunFinish_B2(const QString);
|
|
void slot_ToolRunFinish_B3(const QString);
|
|
void slot_ToolRunFinish_B4(const QString);
|
|
void slot_ToolRunFinish_B5(const QString);
|
|
void slot_ToolRunFinish_B6(const QString);
|
|
void slot_ToolRunFinish_B7(const QString);
|
|
void slot_ToolRunFinish_B8(const QString);
|
|
void slot_ToolRunFinish_B9(const QString);
|
|
void slot_ToolRunFinish_B10(const QString);
|
|
void slot_ToolRunFinish_B11(const QString);
|
|
void slot_ToolRunFinish_B12(const QString);
|
|
void slot_ToolRunFinish_B13(const QString);
|
|
void slot_ToolRunFinish_B14(const QString);
|
|
void slot_ToolRunFinish_B15(const QString);
|
|
void slot_ToolRunFinish_B16(const QString);
|
|
void slot_ToolRunFinish_B17(const QString);
|
|
void slot_ToolRunFinish_B18(const QString);
|
|
void slot_ToolRunFinish_B19(const QString);
|
|
void slot_ToolRunFinish_B20(const QString);
|
|
void slot_ToolWrong_B1(const QString);
|
|
void slot_ToolWrong_B2(const QString);
|
|
void slot_ToolWrong_B3(const QString);
|
|
void slot_ToolWrong_B4(const QString);
|
|
void slot_ToolWrong_B5(const QString);
|
|
void slot_ToolWrong_B6(const QString);
|
|
void slot_ToolWrong_B7(const QString);
|
|
void slot_ToolWrong_B8(const QString);
|
|
void slot_ToolWrong_B9(const QString);
|
|
void slot_ToolWrong_B10(const QString);
|
|
void slot_ToolWrong_B11(const QString);
|
|
void slot_ToolWrong_B12(const QString);
|
|
void slot_ToolWrong_B13(const QString);
|
|
void slot_ToolWrong_B14(const QString);
|
|
void slot_ToolWrong_B15(const QString);
|
|
void slot_ToolWrong_B16(const QString);
|
|
void slot_ToolWrong_B17(const QString);
|
|
void slot_ToolWrong_B18(const QString);
|
|
void slot_ToolWrong_B19(const QString);
|
|
void slot_ToolWrong_B20(const QString);
|
|
void slot_Login();
|
|
void slot_Logout();
|
|
void slot_ManualRun();
|
|
void slot_ManualStop();
|
|
void slot_AllCycleRunOnce();
|
|
void slot_AllCycleRunContinue();
|
|
void slot_AllCycleStop();
|
|
void slot_UpdateQTreeWidget(const QString, const QString);
|
|
|
|
signals:
|
|
void sig_TextShow_B1(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B2(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B3(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B4(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B5(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B6(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B7(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B8(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B9(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B10(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B11(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B12(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B13(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B14(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B15(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B16(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B17(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B18(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B19(const QString toolName, const QString nCostTime);
|
|
void sig_TextShow_B20(const QString toolName, const QString nCostTime);
|
|
void sig_IconShow_B1(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B2(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B3(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B4(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B5(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B6(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B7(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B8(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B9(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B10(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B11(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B12(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B13(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B14(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B15(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B16(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B17(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B18(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B19(const QString toolName, const QPixmap pix);
|
|
void sig_IconShow_B20(const QString toolName, const QPixmap pix);
|
|
|
|
signals:
|
|
void sig_ImageShow_B1(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B2(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B3(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B4(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B5(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B6(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B7(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B8(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B9(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B10(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B11(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B12(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B13(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B14(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B15(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B16(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B17(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B18(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B19(QGraphicsViews* img_view, const QImage image);
|
|
void sig_ImageShow_B20(QGraphicsViews* img_view, const QImage image);
|
|
void sig_CyclePro();
|
|
void sig_CyclePro_B1();
|
|
void sig_CyclePro_B2();
|
|
void sig_CyclePro_B3();
|
|
void sig_CyclePro_B4();
|
|
void sig_CyclePro_B5();
|
|
void sig_CyclePro_B6();
|
|
void sig_CyclePro_B7();
|
|
void sig_CyclePro_B8();
|
|
void sig_CyclePro_B9();
|
|
void sig_CyclePro_B10();
|
|
void sig_CyclePro_B11();
|
|
void sig_CyclePro_B12();
|
|
void sig_CyclePro_B13();
|
|
void sig_CyclePro_B14();
|
|
void sig_CyclePro_B15();
|
|
void sig_CyclePro_B16();
|
|
void sig_CyclePro_B17();
|
|
void sig_CyclePro_B18();
|
|
void sig_CyclePro_B19();
|
|
void sig_CyclePro_B20();
|
|
void sig_CycleProErr();
|
|
void sig_CycleRun();
|
|
void sig_ManualCycleStop();
|
|
void sig_AllCycleStop();
|
|
void sig_CycleStop();
|
|
void sig_CreateList();
|
|
|
|
signals:
|
|
void sig_Log(QString strMsg);
|
|
void sig_InfoClick();
|
|
void sig_WarnClick();
|
|
void sig_ErrorClick();
|
|
|
|
private:
|
|
//流程列表初始化
|
|
void ProcessTreeInit();
|
|
QList<QString> treeList;
|
|
int press_index;
|
|
int cutover_index;
|
|
QString flowPageName_buf;
|
|
QString getRandomString();
|
|
QVector<QString> fNameList;
|
|
|
|
public:
|
|
QTreeWidgetItem* itemParent;
|
|
QMap<QString, QToolBase*> FlowTabMap;
|
|
QVector<QTreeWidgetItem*> treeItem = QVector<QTreeWidgetItem*>(20);
|
|
QMap<QTreeWidgetItem*, int> m_pro_value; //记录流程对应的索引值
|
|
void DeserializeInitProcess(); //反序列化初始化流程
|
|
QtDragListWidget* TempDragListWidget = nullptr;
|
|
QtDragListWidget* TempDragListWidget_B1 = nullptr, * TempDragListWidget_B2 = nullptr, * TempDragListWidget_B3 = nullptr, * TempDragListWidget_B4 = nullptr, * TempDragListWidget_B5 = nullptr, * TempDragListWidget_B6 = nullptr, * TempDragListWidget_B7 = nullptr, * TempDragListWidget_B8 = nullptr, * TempDragListWidget_B9 = nullptr, * TempDragListWidget_B10 = nullptr;
|
|
QtDragListWidget* TempDragListWidget_B11 = nullptr, * TempDragListWidget_B12 = nullptr, * TempDragListWidget_B13 = nullptr, * TempDragListWidget_B14 = nullptr, * TempDragListWidget_B15 = nullptr, * TempDragListWidget_B16 = nullptr, * TempDragListWidget_B17 = nullptr, * TempDragListWidget_B18 = nullptr, * TempDragListWidget_B19 = nullptr, * TempDragListWidget_B20 = nullptr;
|
|
|
|
private:
|
|
//多线程
|
|
QThread* Thread_A;
|
|
QThread* Thread_B1, * Thread_B2, * Thread_B3, * Thread_B4, * Thread_B5, * Thread_B6, * Thread_B7, * Thread_B8, * Thread_B9, * Thread_B10;
|
|
QThread* Thread_B11, * Thread_B12, * Thread_B13, * Thread_B14, * Thread_B15, * Thread_B16, * Thread_B17, * Thread_B18, * Thread_B19, * Thread_B20;
|
|
void Begin_Thread_A();
|
|
void Begin_Thread_B1(), Begin_Thread_B2(), Begin_Thread_B3(), Begin_Thread_B4(), Begin_Thread_B5(), Begin_Thread_B6(), Begin_Thread_B7(), Begin_Thread_B8(), Begin_Thread_B9(), Begin_Thread_B10();
|
|
void Begin_Thread_B11(), Begin_Thread_B12(), Begin_Thread_B13(), Begin_Thread_B14(), Begin_Thread_B15(), Begin_Thread_B16(), Begin_Thread_B17(), Begin_Thread_B18(), Begin_Thread_B19(), Begin_Thread_B20();
|
|
bool stop_goto_A, stop_goto_B1, stop_goto_B2, stop_goto_B3, stop_goto_B4, stop_goto_B5, stop_goto_B6, stop_goto_B7, stop_goto_B8, stop_goto_B9, stop_goto_B10;
|
|
bool stop_goto_B11, stop_goto_B12, stop_goto_B13, stop_goto_B14, stop_goto_B15, stop_goto_B16, stop_goto_B17, stop_goto_B18, stop_goto_B19, stop_goto_B20;
|
|
bool stop_goto_manual_A, stop_goto_manual_B;
|
|
QMap<QString, QtDragListWidget*> GetItemState_A;
|
|
QMap<QString, QtDragListWidget*> GetItemState_B1, GetItemState_B2, GetItemState_B3, GetItemState_B4, GetItemState_B5, GetItemState_B6, GetItemState_B7, GetItemState_B8, GetItemState_B9, GetItemState_B10;
|
|
QMap<QString, QtDragListWidget*> GetItemState_B11, GetItemState_B12, GetItemState_B13, GetItemState_B14, GetItemState_B15, GetItemState_B16, GetItemState_B17, GetItemState_B18, GetItemState_B19, GetItemState_B20;
|
|
QVector<QString> FlowProItemListState_B1 = QVector<QString>(100), FlowProItemListState_B2 = QVector<QString>(100), FlowProItemListState_B3 = QVector<QString>(100), FlowProItemListState_B4 = QVector<QString>(100), FlowProItemListState_B5 = QVector<QString>(100), FlowProItemListState_B6 = QVector<QString>(100), FlowProItemListState_B7 = QVector<QString>(100), FlowProItemListState_B8 = QVector<QString>(100), FlowProItemListState_B9 = QVector<QString>(100), FlowProItemListState_B10 = QVector<QString>(100);
|
|
QVector<QString> FlowProItemListState_B11 = QVector<QString>(100), FlowProItemListState_B12 = QVector<QString>(100), FlowProItemListState_B13 = QVector<QString>(100), FlowProItemListState_B14 = QVector<QString>(100), FlowProItemListState_B15 = QVector<QString>(100), FlowProItemListState_B16 = QVector<QString>(100), FlowProItemListState_B17 = QVector<QString>(100), FlowProItemListState_B18 = QVector<QString>(100), FlowProItemListState_B19 = QVector<QString>(100), FlowProItemListState_B20 = QVector<QString>(100);
|
|
QVector<QString> FlowProItemList_A = QVector<QString>(100);
|
|
QVector<QString> FlowProItemListState_A = QVector<QString>(100);
|
|
QList<QString> flowNames_A;
|
|
QString flowPageName_A;
|
|
void AutoRunOnce_B();
|
|
void AutoRunStop_B();
|
|
QMap<QString, QtDragListWidget*> FlowProMapBuf;
|
|
QMap<QString, QToolBase*> FlowTabMapBuf;
|
|
QList<int> m_process_buf;
|
|
int manual_flow_index;
|
|
QTimer* p_timer, * p_autotimer;
|
|
bool run_state_A, run_state_B1, run_state_B2, run_state_B3, run_state_B4, run_state_B5, run_state_B6, run_state_B7, run_state_B8, run_state_B9, run_state_B10;
|
|
bool run_state_B11, run_state_B12, run_state_B13, run_state_B14, run_state_B15, run_state_B16, run_state_B17, run_state_B18, run_state_B19, run_state_B20;
|
|
QString pro_name_B1, pro_name_B2, pro_name_B3, pro_name_B4, pro_name_B5, pro_name_B6, pro_name_B7, pro_name_B8, pro_name_B9, pro_name_B10;
|
|
QString pro_name_B11, pro_name_B12, pro_name_B13, pro_name_B14, pro_name_B15, pro_name_B16, pro_name_B17, pro_name_B18, pro_name_B19, pro_name_B20;
|
|
|
|
public:
|
|
void Stop_Thread_A(), Stop_Thread_B();
|
|
void Stop_Thread_B1(), Stop_Thread_B2(), Stop_Thread_B3(), Stop_Thread_B4(), Stop_Thread_B5(), Stop_Thread_B6(), Stop_Thread_B7(), Stop_Thread_B8(), Stop_Thread_B9(), Stop_Thread_B10();
|
|
void Stop_Thread_B11(), Stop_Thread_B12(), Stop_Thread_B13(), Stop_Thread_B14(), Stop_Thread_B15(), Stop_Thread_B16(), Stop_Thread_B17(), Stop_Thread_B18(), Stop_Thread_B19(), Stop_Thread_B20();
|
|
|
|
private:
|
|
#pragma region 图像处理
|
|
//获取图像链接
|
|
GetImageSource getImageSourceState;
|
|
SetImageSource setImageSourceState;
|
|
int nImageSourceState;
|
|
int nImageSourceState_buf;
|
|
//创建ROI链接
|
|
GetCreateRoi getCreateRoiState;
|
|
SetCreateRoi setCreateRoiState;
|
|
int nCreateRoiState;
|
|
int nCreateRoiState_buf;
|
|
//裁切图像链接
|
|
GetCropImage getCropImageState;
|
|
SetCropImage setCropImageState;
|
|
int nCropImageState;
|
|
int nCropImageState_buf;
|
|
//图像翻转链接
|
|
GetImageFlip getImageFlipState;
|
|
SetImageFlip setImageFlipState;
|
|
int nImageFlipState;
|
|
int nImageFlipState_buf;
|
|
//预处理链接
|
|
GetImageMorphology getImageMorphologyState;
|
|
SetImageMorphology setImageMorphologyState;
|
|
int nImageMorphologyState;
|
|
int nImageMorphologyState_buf;
|
|
//图像修复链接
|
|
GetImageRepair getImageRepairState;
|
|
SetImageRepair setImageRepairState;
|
|
int nImageRepairState;
|
|
int nImageRepairState_buf;
|
|
//图像旋转链接
|
|
GetImageRotate getImageRotateState;
|
|
SetImageRotate setImageRotateState;
|
|
int nImageRotateState;
|
|
int nImageRotateState_buf;
|
|
//图像拼接链接
|
|
GetImageSplice getImageSpliceState;
|
|
SetImageSplice setImageSpliceState;
|
|
int nImageSpliceState;
|
|
int nImageSpliceState_buf;
|
|
//图像显示链接
|
|
GetImageView getImageViewState;
|
|
SetImageView setImageViewState;
|
|
int nImageViewState;
|
|
int nImageViewState_buf;
|
|
QVector<QString> nViewMsgState_B1 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B2 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B3 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B4 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B5 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B6 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B7 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B8 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B9 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B10 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B11 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B12 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B13 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B14 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B15 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B16 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B17 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B18 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B19 = QVector<QString>(100);
|
|
QVector<QString> nViewMsgState_B20 = QVector<QString>(100);
|
|
bool state_B1 = false, state_B2 = false, state_B3 = false, state_B4 = false, state_B5 = false, state_B6 = false, state_B7 = false, state_B8 = false, state_B9 = false, state_B10 = false;
|
|
bool state_B11 = false, state_B12 = false, state_B13 = false, state_B14 = false, state_B15 = false, state_B16 = false, state_B17 = false, state_B18 = false, state_B19 = false, state_B20 = false;
|
|
//透视变换链接
|
|
GetPerspectiveTransform getPerspectiveTransformState;
|
|
SetPerspectiveTransform setPerspectiveTransformState;
|
|
int nPerspectiveTransformState;
|
|
int nPerspectiveTransformState_buf;
|
|
//图像细化链接
|
|
GetSkeleton getSkeletonState;
|
|
SetSkeleton setSkeletonState;
|
|
int nSkeletonState;
|
|
int nSkeletonState_buf;
|
|
//导出图像链接
|
|
GetExportImage getExportImageState;
|
|
SetExportImage setExportImageState;
|
|
int nExportImageState;
|
|
int nExportImageState_buf;
|
|
#pragma endregion
|
|
|
|
#pragma region 检测识别
|
|
//条形码识别链接
|
|
GetBarcodeIdentify getBarcodeIdentifyState;
|
|
SetBarcodeIdentify setBarcodeIdentifyState;
|
|
int nBarcodeIdentifyState;
|
|
int nBarcodeIdentifyState_buf;
|
|
//斑点分析链接
|
|
GetBlobDetector getBlobDetectorState;
|
|
SetBlobDetector setBlobDetectorState;
|
|
int nBlobDetectorState;
|
|
int nBlobDetectorState_buf;
|
|
//亮度检测链接
|
|
GetBrightness getBrightnessState;
|
|
SetBrightness setBrightnessState;
|
|
int nBrightnessState;
|
|
int nBrightnessState_buf;
|
|
//颜色识别链接
|
|
GetColorIdentify getColorIdentifyState;
|
|
SetColorIdentify setColorIdentifyState;
|
|
int nColorIdentifyState;
|
|
int nColorIdentifyState_buf;
|
|
//二维码识别链接
|
|
GetQRcodeIdentify getQRcodeIdentifyState;
|
|
SetQRcodeIdentify setQRcodeIdentifyState;
|
|
int nQRcodeIdentifyState;
|
|
int nQRcodeIdentifyState_buf;
|
|
//轮廓特征选择链接
|
|
GetSelectShape getSelectShape;
|
|
SetSelectShape setSelectShape;
|
|
int nSelectShapeState;
|
|
int nSelectShapeState_buf;
|
|
//分类器链接
|
|
GetClassifier getClassifierState;
|
|
SetClassifier setClassifierState;
|
|
int nClassifierState;
|
|
int nClassifierState_buf;
|
|
#pragma endregion
|
|
|
|
#pragma region 标定工具
|
|
//N点标定链接
|
|
GetERTCalibration getERTCalibrationState;
|
|
SetERTCalibration setERTCalibrationState;
|
|
int nERTCalibrationState;
|
|
int nERTCalibrationState_buf;
|
|
//测量标定链接
|
|
GetMeasureCalibration getMeasureCalibrationState;
|
|
SetMeasureCalibration setMeasureCalibrationState;
|
|
int nMeasureCalibrationState;
|
|
int nMeasureCalibrationState_buf;
|
|
#pragma endregion
|
|
|
|
#pragma region 对位工具
|
|
//目标跟踪链接
|
|
GetCamShiftTrack getCamShiftTrackState;
|
|
SetCamShiftTrack setCamShiftTrackState;
|
|
int nCamShiftTrackState;
|
|
int nCamShiftTrackState_buf;
|
|
//线性计算链接
|
|
GetLinearCalculation getLinearCalculationState;
|
|
SetLinearCalculation setLinearCalculationState;
|
|
int nLinearCalculationState;
|
|
int nLinearCalculationState_buf;
|
|
//灰度匹配链接
|
|
GetTemplateMatch getTemplateMatchState;
|
|
SetTemplateMatch setTemplateMatchState;
|
|
int nTemplateMatchState;
|
|
int nTemplateMatchState_buf;
|
|
//形状匹配链接
|
|
GetShapeMatch getShapeMatchState;
|
|
SetShapeMatch setShapeMatchState;
|
|
int nShapeMatchState;
|
|
int nShapeMatchState_buf;
|
|
#pragma endregion
|
|
|
|
#pragma region 几何工具
|
|
//寻找圆链接
|
|
GetFindCircle getFindCircleState;
|
|
SetFindCircle setFindCircleState;
|
|
int nFindCircleState;
|
|
int nFindCircleState_buf;
|
|
//寻找直线链接
|
|
GetFindLine getFindLineState;
|
|
SetFindLine setFindLineState;
|
|
int nFindLineState;
|
|
int nFindLineState_buf;
|
|
//拟合圆链接
|
|
GetFitCircle getFitCircleState;
|
|
SetFitCircle setFitCircleState;
|
|
int nFitCircleState;
|
|
int nFitCircleState_buf;
|
|
//拟合椭圆链接
|
|
GetFitEllipse getFitEllipseState;
|
|
SetFitEllipse setFitEllipseState;
|
|
int nFitEllipseState;
|
|
int nFitEllipseState_buf;
|
|
//拟合直线链接
|
|
GetFitLine getFitLineState;
|
|
SetFitLine setFitLineState;
|
|
int nFitLineState;
|
|
int nFitLineState_buf;
|
|
//获取边界点链接
|
|
GetContourPoints getContourPointsState;
|
|
SetContourPoints setContourPointsState;
|
|
int nContourPointsState;
|
|
int nContourPointsState_buf;
|
|
#pragma endregion
|
|
|
|
#pragma region 几何测量
|
|
//线圆交点链接
|
|
GetLineCircle getLineCircleState;
|
|
SetLineCircle setLineCircleState;
|
|
int nLineCircleState;
|
|
int nLineCircleState_buf;
|
|
//线线交点链接
|
|
GetLineLineI getLineLineIState;
|
|
SetLineLineI setLineLineIState;
|
|
int nLineLineIState;
|
|
int nLineLineIState_buf;
|
|
//点+线链接
|
|
GetPointLine getPointLineState;
|
|
SetPointLine setPointLineState;
|
|
int nPointLineState;
|
|
int nPointLineState_buf;
|
|
//点+点链接
|
|
GetPointPoint getPointPointState;
|
|
SetPointPoint setPointPointState;
|
|
int nPointPointState;
|
|
int nPointPointState_buf;
|
|
//圆缺口角度链接
|
|
GetRoundedCorners getRoundedCornersState;
|
|
SetRoundedCorners setRoundedCornersState;
|
|
int nRoundedCornersState;
|
|
int nRoundedCornersState_buf;
|
|
//边缘宽度测量链接
|
|
GetEdgeWidthMeasure getEdgeWidthMeasureState;
|
|
SetEdgeWidthMeasure setEdgeWidthMeasureState;
|
|
int nEdgeWidthMeasureState;
|
|
int nEdgeWidthMeasureState_buf;
|
|
#pragma endregion
|
|
|
|
#pragma region 三维检测
|
|
//拟合平面链接
|
|
GetFlatness getFlatnessState;
|
|
SetFlatness setFlatnessState;
|
|
int nFlatnessState;
|
|
int nFlatnessState_buf;
|
|
#pragma endregion
|
|
|
|
#pragma region 逻辑工具
|
|
//扩展库链接
|
|
GetExtensionLibrary getExtensionLibraryState;
|
|
SetExtensionLibrary setExtensionLibraryState;
|
|
int nExtensionLibraryState;
|
|
int nExtensionLibraryState_buf;
|
|
//跳转语句链接
|
|
GetLogicGoto getLogicGotoState;
|
|
SetLogicGoto setLogicGotoState;
|
|
int nLogicGotoState;
|
|
int nLogicGotoState_buf;
|
|
//判断语句链接
|
|
GetLogicJudge getLogicJudgeState;
|
|
SetLogicJudge setLogicJudgeState;
|
|
int nLogicJudgeState;
|
|
int nLogicJudgeState_buf;
|
|
//结束语句链接
|
|
GetLogicJudgeEnd getLogicJudgeEndState;
|
|
SetLogicJudgeEnd setLogicJudgeEndState;
|
|
int nLogicJudgeEndState;
|
|
int nLogicJudgeEndState_buf;
|
|
#pragma endregion
|
|
|
|
#pragma region 通讯工具
|
|
//PLC通信
|
|
GetPlcCommunicate getPlcCommunicate;
|
|
SetPlcCommunicate setPlcCommunicate;
|
|
int nPlcCommunicateState;
|
|
int nPlcCommunicateState_buf;
|
|
//串口通信
|
|
GetSerialPort getSerialPort;
|
|
SetSerialPort setSerialPort;
|
|
int nSerialPortState;
|
|
int nSerialPortState_buf;
|
|
//TCP/IP服务器
|
|
GetSocketTcpServer getSocketTcpServer;
|
|
SetSocketTcpServer setSocketTcpServer;
|
|
int nSocketTcpServerState;
|
|
int nSocketTcpServerState_buf;
|
|
//TCP/IP客户端
|
|
GetSocketTcpClient getSocketTcpClient;
|
|
SetSocketTcpClient setSocketTcpClient;
|
|
int nSocketTcpClientState;
|
|
int nSocketTcpClientState_buf;
|
|
#pragma endregion
|
|
|
|
#pragma region 系统工具
|
|
//导出CSV链接
|
|
GetExportCsv getExportCsv;
|
|
SetExportCsv setExportCsv;
|
|
int nExportCsvState;
|
|
int nExportCsvState_buf;
|
|
#pragma endregion
|
|
};
|