#ifndef STRUCT_H #define STRUCT_H #include "qobject.h" #include "qapplication.h" #include "qjsonobject.h" #include "qjsonarray.h" #include "qjsondocument.h" #include "QLibrary.h" #include "QMetaType.h" #include "QDateTime.h" #include "QThread.h" #include "QMutex.h" #include "QDebug.h" #include "QQueue.h" #include "QMap.h" #include "QDir.h" #include //#include "qimage.h" #include "qtimer.h" #include #include "qmessagebox.h" #include "Logic_hdataprocess.h" #pragma execution_character_set("utf-8") typedef Base* (*CreateFunction)(); typedef void (*ReleaseFunction)(Base* animal); typedef struct { QString m_stationKey; //QString key; // 相机名称 QString module_key; // 相机key,或者算法key QString moduleName; // 模块名称 QString task_thread_index = "-1";// 存储当前算法属于那个任务线程 QByteArray m_initByte; // 传递初始化参数 Base *module_ptr = nullptr; // 存储模块指针 ReleaseFunction destory_ptr; // 释放 QJsonArray ConfigArray; //配置文件 }MyModule; typedef struct { QString name = ""; // key 示例:camera1 QString retFlag=""; // 判断结果 Camera 表示图片 AI表示 结果信息: QString cameraName = ""; // key 示例:camera1 QString algorithmName = "";// 算法名称 QString taskName = ""; // 任务名 QString snInfo = ""; QString sendNgInfo = ""; // -3 工位上检测到前面几个算法有NG后,做的反馈信息 cv::Mat mat; QByteArray byteArray = ""; }dataPack; typedef struct { QString key; // 示例:camera1_0 QVector plc_commond_vector; // 算法模块使用的变量 QVector vector_algorithm_unusual_feedback_plcpos; // 异常反馈信息 QVector vector_algorithm_usual_feedback_plcpos; // 结果正常反馈信息 }send_algorithm_result; // 创建存储图片的结构体 typedef struct { QString key; // 相机名称 示例: camera1 QQueue> camera_queue; // 相机图片数据 }cameraPack; //extern bool check_send_resultA_flag; //extern bool check_send_resultB_flag; //extern QString mv_trigger_signal; //内容为配置文件read_sn_startpos;注意访问加锁 //extern QQueue read_sn_start_data_queue; extern QQueue ImageDataPack; extern QQueue writeCommondPack; // 写入plc命令 extern QMap station_list; // 工站列表 //extern QString trigger_signal_condition_name; // 根据触发信号作为算法的触发条件 //结果SN容器,Logic_myiothread添加,Logic_hdataintegration判断执行条件 //extern ResultSnData* resultSnData; //extern int ccd1; //extern int ccd2; //extern int ccd3; //extern int ccd4; //extern int ccd5; //extern int ccd6; //extern int ccd7; //extern int ccd8; //extern int ccd9; //extern int ccd10; //extern int ccd11; #endif // STRUCT_H