2025-09-02 14:37:43 +08:00
|
|
|
using DMS.Core.Enums;
|
2025-09-01 21:03:34 +08:00
|
|
|
using Opc.Ua;
|
|
|
|
|
|
|
|
|
|
namespace DMS.Infrastructure.Models
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 封装OPC UA节点的基本信息。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class OpcUaNode
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点的唯一标识符。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public NodeId? NodeId { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点的显示名称。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string? DisplayName { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点的类型(如对象、变量等)。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public NodeClass NodeClass { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点的值。仅当节点是变量类型时有效。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public object? Value { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 父节点
|
|
|
|
|
/// </summary>
|
|
|
|
|
public OpcUaNode? ParentNode { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 子节点列表
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<OpcUaNode> Children { get; set; } = new List<OpcUaNode>();
|
2025-09-02 14:37:43 +08:00
|
|
|
/// <summary>
|
|
|
|
|
/// 数据类型
|
|
|
|
|
/// </summary>
|
2025-09-02 16:45:24 +08:00
|
|
|
public DataType DataType { get; set; }
|
2025-09-01 21:03:34 +08:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 返回节点的字符串表示形式。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public override string ToString()
|
|
|
|
|
{
|
|
|
|
|
string valueString = Value != null ? $", Value: {Value}" : "";
|
|
|
|
|
return $"- {DisplayName} ({NodeClass}, {NodeId}{valueString})";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|