2025-07-09 13:06:21 +08:00
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
|
|
|
2025-07-18 19:56:00 +08:00
|
|
|
|
namespace DMS.Models;
|
2025-07-09 13:06:21 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 表示OPC UA节点,用于构建节点树。
|
|
|
|
|
|
/// </summary>
|
2025-07-18 22:21:16 +08:00
|
|
|
|
public partial class OpcUaNode
|
2025-07-09 13:06:21 +08:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 节点的显示名称。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string DisplayName { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 节点的唯一标识符。
|
|
|
|
|
|
/// </summary>
|
2025-07-18 22:21:16 +08:00
|
|
|
|
public string NodeId { get; set; }
|
2025-07-09 13:06:21 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 节点的类型(例如,文件夹、变量)。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public NodeType NodeType { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 子节点集合。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
private ObservableCollection<OpcUaNode> _children;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 指示节点是否已加载子节点。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
private bool _isLoaded;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 指示节点是否正在加载子节点。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
private bool _isLoading;
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 节点的完整路径(可选,用于调试或显示)。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string Path { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 构造函数。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="displayName">显示名称。</param>
|
|
|
|
|
|
/// <param name="nodeId">节点ID。</param>
|
|
|
|
|
|
/// <param name="nodeType">节点类型。</param>
|
2025-07-18 22:21:16 +08:00
|
|
|
|
//public OpcUaNode(string displayName, NodeId nodeId, NodeType nodeType)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// DisplayName = displayName;
|
|
|
|
|
|
// NodeId = nodeId;
|
|
|
|
|
|
// NodeType = nodeType;
|
|
|
|
|
|
// Children = new ObservableCollection<OpcUaNode>();
|
|
|
|
|
|
//}
|
2025-07-09 13:06:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// OPC UA节点类型枚举。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public enum NodeType
|
|
|
|
|
|
{
|
|
|
|
|
|
Folder,
|
|
|
|
|
|
Object,
|
|
|
|
|
|
Variable
|
|
|
|
|
|
}
|