Files
EJM_Display/GlobalDefinitions/DataType.h

162 lines
3.0 KiB
C
Raw Permalink Normal View History

2025-08-20 23:06:28 +08:00
#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 页面的宽度 */
2025-09-15 22:28:43 +08:00
M_u16 width = 1024;
2025-08-20 23:06:28 +08:00
/** @brief 页面的高度 */
2025-09-15 22:28:43 +08:00
M_u16 height = 576;
2025-08-20 23:06:28 +08:00
/** @brief 页面的左边 */
M_i16 left = 0;
/** @brief 页面的右边 */
M_i16 right = 0;
}_tsPageConfig;
2025-09-15 22:28:43 +08:00
typedef struct tsServerAddr // 8位数据类型
{
/** @brief IP地址或域名 */
QString Host = "opc.tcp://zmj_plc:4840";
/** @brief 用户名 */
QString UserName = "ZMJ";
/** @brief 密码 */
QString Passwd = "Zmj@123...";
}_tsServerAddr;
typedef struct txAlarmText // 8位数据类型
{
/** @brief 文本颜色 */
QString TextColor = "";
/** @brief 故障内容 */
QString AlarmText = "";
/** @brief 排查方案 */
QString Troubleshoot = "";
}_txAlarmText;
2025-08-20 23:06:28 +08:00
/**************************** 共用体数据类型 ****************************/
#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;
};
2025-09-15 22:28:43 +08:00
2025-08-20 23:06:28 +08:00
#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