第一次上传

This commit is contained in:
2025-08-20 23:06:28 +08:00
commit c0593df9e1
485 changed files with 533424 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
#ifndef CONFIGURE_H
#define CONFIGURE_H
#define CONFIG_EN_8BIT_UNION true // 欲使用 8位 的共用体
#define CONFIG_EN_16BIT_UNION true // 欲使用 16位 的共用体
#define CONFIG_EN_32BIT_UNION false // 欲使用 32位 的共用体
#define CONFIG_EN_64BIT_UNION false // 欲使用 64位 的共用体
#define CONFIG_EN_LOG true // 是否开启Log日志
#define CONFIG_LOG_SUFFIX ".log" // log文件后缀
#define CONFIG_EN_DPI true // 是否开启高DPI
#define CONFIG_EN_DISPLAY_INFO true // 是否获取屏幕分辨率
#define CONFIG_EN_TRAY_ICON true // 是否开启托盘图标
#define CONFIG_EN_SUB_THREAD true // 是否开启子进程
#define CONFIG_EN_SUB_THREAD_TIME 100 // 子进程循环时间,需要大于0,单位ms
#endif // CONFIGURE_H

View File

@@ -0,0 +1,135 @@
#ifndef DATATYPE_H
#define DATATYPE_H
#include <QObject>
#include <GlobalDefinitions/MacroDef.h>
#include <GlobalDefinitions/Configure.h>
/**************************** 自定义数据类型 ****************************/
typedef struct tsPageConfig // 8位数据类型
{
/** @brief 页面是否隐藏 */
M_b01 isHide = false;
/** @brief 页面的宽度 */
M_u16 width = 647;
/** @brief 页面的高度 */
M_u16 height = 400;
/** @brief 页面的左边 */
M_i16 left = 0;
/** @brief 页面的右边 */
M_i16 right = 0;
}_tsPageConfig;
/**************************** 共用体数据类型 ****************************/
#if CONFIG_EN_8BIT_UNION
/** @brief 8位数据类型 */
union uBit8
{
/** @brief 开关逻辑型1位 */
M_b01 B1[8];
/** @brief 有符号短整型8位 */
M_i08 i8;
/** @brief 无符号短整型8位 */
M_u08 u8=0;
};
#endif
#if CONFIG_EN_16BIT_UNION
/** @brief 16位数据类型 */
union uBit16
{
/** @brief 开关逻辑型1位 */
M_b01 B1[16];
/** @brief 有符号短整型8位 */
M_i08 i8[2];
/** @brief 无符号短整型8位 */
M_u08 u8[2];
/** @brief 有符号整型16位 */
M_i16 i16;
/** @brief 无符号整型16位 */
M_u16 u16=0;
};
#endif
#if CONFIG_EN_32BIT_UNION
/** @brief 32位数据类型 */
union uBit32
{
/** @brief 开关逻辑型1位 */
M_b01 B1[32];
/** @brief 有符号短整型8位 */
M_i08 i8[4];
/** @brief 无符号短整型8位 */
M_u08 u8[4];
/** @brief 有符号整型16位 */
M_i16 i16[2];
/** @brief 无符号整型16位 */
M_u16 u16[2];
/** @brief 有符号长整型32位 */
M_i32 i32;
/** @brief 无符号长整型32位 */
M_u32 u32=0;
/** @brief 浮点型32位 */
M_f32 f32;
};
#endif
#if CONFIG_EN_64BIT_UNION
/** @brief 64位数据类型 */
union uBit64
{
/** @brief 开关逻辑型1位 */
M_b01 B1[64];
/** @brief 有符号短整型8位 */
M_i08 i8[8];
/** @brief 无符号短整型8位 */
M_u08 u8[8];
/** @brief 有符号整型16位 */
M_i16 i16[4];
/** @brief 无符号整型16位 */
M_u16 u16[4];
/** @brief 有符号长整型16位 */
M_i32 i32[2];
/** @brief 无符号长整型16位 */
M_u32 u32[2];
/** @brief 有符号超长整型16位 */
M_i64 i64;
/** @brief 无符号超长整型16位 */
M_u64 u64=0;
/** @brief 浮点型32位 */
M_f32 f32[2];
/** @brief 浮点型32位 */
M_d64 d64[2];
};
#endif
#endif // GLOBALDATATYPE_H

View File

@@ -0,0 +1,25 @@
#ifndef MACRODEF_H
#define MACRODEF_H
#include <QDebug>
/**
--------------------- 应用程序宏定义文件 ---------------------
说明:
**/
#define M_b01 bool // 1位无符号类型
#define M_u08 uint8_t // 8位无符号类型
#define M_i08 int8_t // 8位有符号类型
#define M_u16 uint16_t // 16位无符号类型
#define M_i16 int16_t // 16位有符号类型
#define M_u32 uint32_t // 32位无符号类型
#define M_i32 int32_t // 32位有符号类型
#define M_f32 float // 32位有符号类型
#define M_u64 uint64_t // 64位无符号类型
#define M_i64 int64_t // 64位有符号类型
#define M_d64 double // 64位有符号类型
#endif // MACRODEF_H

View File

@@ -0,0 +1,26 @@
#include <GlobalDefinitions/Variable.h>
QRect DisplayInfo;
/** @brief 节点ID列表用于循环 */
QStringList gOPC_NodeList;
/** @brief 节点ID → 节点名称 */
QMap<QString, QString> gOPC_NodeName;
/** @brief 节点ID → 最新值 */
QMap<QString, QVariant> gOPC_NodeValue;
/** @brief 节点ID → 变量名 */
QMap<QString, QString> gOPC_VarName;
/** @brief 节点ID → 数据库表名 */
QMap<QString, QString> gOPC_SqlTable;
/** @brief 节点ID → 数据库字段名 */
QMap<QString, QString> gOPC_SqlField;
/** @brief 全局光标 */
CursorController *gCursor;
/** @brief PLC是否启动成功 */
bool PLC_Started = false;

View File

@@ -0,0 +1,34 @@
#ifndef VARIABLE_H
#define VARIABLE_H
#include <GlobalDefinitions/DataType.h>
#include <PublicFunctions/Basic.h>
#include <qrect.h>
#include <QTimer>
#include <PublicFunctions/CursorController.h>
extern QRect DisplayInfo;
/** @brief 节点ID列表用于循环 */
extern QStringList gOPC_NodeList;
/** @brief 节点ID → 节点名称 */
extern QMap<QString, QString> gOPC_NodeName;
/** @brief 节点ID → 最新值 */
extern QMap<QString, QVariant> gOPC_NodeValue;
/** @brief 节点ID → 变量名 */
extern QMap<QString, QString> gOPC_VarName;
/** @brief 节点ID → 数据库表名 */
extern QMap<QString, QString> gOPC_SqlTable;
/** @brief 节点ID → 数据库字段名 */
extern QMap<QString, QString> gOPC_SqlField;
/** @brief 全局光标 */
extern CursorController *gCursor;
/** @brief PLC是否启动成功 */
extern bool PLC_Started;
#endif // GLOBALVAR_H