第一次上传

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

62
DataCenter/DataCenter.h Normal file
View File

@@ -0,0 +1,62 @@
#ifndef DATACENTER_H
#define DATACENTER_H
#include <QObject>
#include <QVariant>
#include <QTimer>
#include <QMap>
#include <QStringList>
#include "OpcUaManager.h"
#include <GlobalDefinitions/Variable.h>
class DataCenter : public QObject
{
Q_OBJECT
public:
explicit DataCenter(OpcUaManager *opcManager, QObject *parent = nullptr);
// 添加需要监控的节点
void addMonitoredNode(const QString &nodeId, const QString &nodeName,const QString &varName,const QString &TableName,const QString &FieldName);
// 开始/停止循环读取
void startCyclicRead(int intervalMs);
void stopCyclicRead();
// 获取最新的节点值
QVariant getNodeValue(const QString &nodeId) const;
QVariant getNodeValueByName(const QString &nodeName) const;
// 获取所有节点信息
QMap<QString, QString> getAllNodeNames() const { return gOPC_NodeName; }
void InitData();
signals:
// 节点值更新信号供UI层订阅
void nodeValueUpdated(const QString &nodeId, const QString &nodeName,const QString &varName, const QVariant &value);
// 错误信号
void errorOccurred(const QString &errorString);
private slots:
// 定时器触发,执行循环读取
void onTimerTimeout();
// 处理OPC读取结果
void handleReadCompleted(const QVariant &value, const QString &nodeId);
void refreshAllNodes();
private:
/** @brief OPC操作实例不负责所有权 */
OpcUaManager *m_opcManager;
/** @brief 循环读取定时器 */
QTimer *m_cyclicTimer;
/** @brief 当前读取索引 */
int m_currentReadIndex;
//GlobalType DC_SetST; // 数据中心,给变量赋值
};
#endif // DATACENTER_H