mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-03-03 00:00:49 +08:00
65 lines
1.5 KiB
C#
65 lines
1.5 KiB
C#
using Serein.Library.Attributes;
|
|
using System;
|
|
using static Net461DllTest.Signal.PlcValueAttribute;
|
|
|
|
namespace Net461DllTest.Signal
|
|
{
|
|
|
|
[AttributeUsage(AttributeTargets.Field)]
|
|
public class PlcValueAttribute : Attribute
|
|
{
|
|
/// <summary>
|
|
/// 变量类型
|
|
/// </summary>
|
|
public enum VarType
|
|
{
|
|
/// <summary>
|
|
/// 只读取的值
|
|
/// </summary>
|
|
ReadOnly,
|
|
/// <summary>
|
|
/// 可写入的值
|
|
/// </summary>
|
|
Writable,
|
|
}
|
|
|
|
/// <summary>
|
|
/// 变量属性
|
|
/// </summary>
|
|
public PlcVarInfo PlcInfo { get; }
|
|
|
|
|
|
public PlcValueAttribute(Type type,
|
|
string @var,
|
|
VarType varType
|
|
)
|
|
{
|
|
PlcInfo = new PlcVarInfo(type, var, varType);
|
|
}
|
|
}
|
|
|
|
public class PlcVarInfo
|
|
{
|
|
public PlcVarInfo(Type type,
|
|
string @var,
|
|
VarType varType
|
|
)
|
|
{
|
|
DataType = type;
|
|
VarAddress = @var;
|
|
Type = varType;
|
|
}
|
|
public bool IsProtected { get; }
|
|
public Type DataType { get; }
|
|
public string VarAddress { get; }
|
|
public VarType Type { get; }
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"数据类型:{DataType} 地址:{VarAddress}";
|
|
}
|
|
}
|
|
|
|
|
|
}
|