#pragma once #include #include #include #include #include #include #include #include "winsock2.h" #include "./CommTools/Camera/MindVision/Include/CameraApi.h" class QToolBase; class gVariable { public: //定义全局变量结构体 typedef struct GLOBALVAR { QString global_type; int global_int_value; double global_double_value; QString global_qstring_value; bool global_bool_value; QPoint global_qpoint_value; QPointF global_qpointf_value; cv::Point global_cvpoint_value; cv::Point2f global_cvpoint2f_value; cv::Point3f global_cvpoint3f_value; cv::Point3d global_cvpoint3d_value; std::vector global_array_float_value; std::vector global_array_double_value; } Global_Var; static Global_Var GlobalVar; static QMap global_variable_link; //定义跳转工具结构体 typedef struct GOTOVAR { std::vector goto_array_name_value; } Goto_Var; static Goto_Var GotoVar; static QMap goto_variable_link; //定义通讯结构体 typedef struct CAMERAVAR //相机 { QString camera_type; CameraHandle mindvision_haldle_value; BYTE* mindvision_framebuffer_value = nullptr; int time_out; } Camera_Var; static Camera_Var CameraVar; static QMap camera_variable_link; typedef struct GENERALIOVAR //通用I/O { QTcpSocket* io_value = nullptr; int connect_state; QString ip_value; int port_value; int over_time_value; QString remark_value; } GeneralIo_Var; static GeneralIo_Var GeneralIoVar; static QMap generalio_variable_link; typedef struct PLCCOMMUNICATEVAR //PLC通信 { QTcpSocket* mit_value = nullptr; int connect_state; QString plc_type; QString mit_ip_value; int mit_port_value; int mit_over_time_value; QString mit_remark_value; } PlcCommunicate_Var; static PlcCommunicate_Var PlcCommunicateVar; static QMap plccommunicate_variable_link; typedef struct SERIALPORTVAR //串口通信 { QSerialPort* serialport_value = nullptr; int connect_state; QString portname_value; int baudrate_value; QSerialPort::Parity parity_value; QSerialPort::DataBits databits_value; QSerialPort::StopBits stopbits_value; QSerialPort::FlowControl flowcontrol_value; QString remark_value; } SerialPort_Var; static SerialPort_Var SerialPortVar; static QMap serialport_variable_link; typedef struct SOCKETTCPSERVERVAR //TCP/IP服务器 { QTcpServer* server_value = nullptr; int connect_state; QString protocol_value; QString ip_value; int port_value; QString remark_value; } SocketTcpServer_Var; static SocketTcpServer_Var SocketTcpServerVar; static QMap sockettcpserver_variable_link; typedef struct SOCKETTCPCLIENTVAR //TCP/IP客户端 { QTcpSocket* client_value = nullptr; int connect_state; QString protocol_value; QString ip_value; int port_value; QString remark_value; } SocketTcpClient_Var; static SocketTcpClient_Var SocketTcpClientVar; static QMap sockettcpclient_variable_link; typedef struct SCRIPTEDITVAR //脚本编辑 { QVector flow_pro_item_list; int item_id; } ScriptEdit_Var; static ScriptEdit_Var ScriptEditVar; static QMap scriptedit_variable_link; };