66 lines
2.2 KiB
C#
66 lines
2.2 KiB
C#
using CapMachine.Wpf.Models.Tag;
|
||
using HslCommunication.Profinet.Siemens;
|
||
using Prism.Mvvm;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace CapMachine.Wpf.Models
|
||
{
|
||
/// <summary>
|
||
/// 系统拓展信息
|
||
/// 包括:运行时间,步骤等PLC等其他信息,不在实时数据集合中的其他信息
|
||
/// </summary>
|
||
public class SysExdInfo:BindableBase
|
||
{
|
||
/// <summary>
|
||
/// 实例化函数
|
||
/// </summary>
|
||
public SysExdInfo(SiemensS7Net siemensS7Net)
|
||
{
|
||
QuickTags = new List<QuickTag>()
|
||
{
|
||
new QuickTag(siemensS7Net){ Name="RunTime-Sec",Group="时间",Unit="秒",ValueAddress="VW190",Precision=0,ValueType=ComEnum.DataType.Short,ByteLength=2},
|
||
new QuickTag(siemensS7Net){ Name="RunTime-Min",Group="时间",Unit="分",ValueAddress="VW192",Precision=0,ValueType=ComEnum.DataType.Short,ByteLength=2},
|
||
new QuickTag(siemensS7Net){ Name="RunTime-Hour",Group="时间",Unit="时",ValueAddress="VW194",Precision=0,ValueType=ComEnum.DataType.Short,ByteLength=2},
|
||
};
|
||
|
||
|
||
RunTimeSecQuickTag= QuickTags.Find(x => x.Name == "RunTime-Sec")!;
|
||
RunTimeMinQuickTag = QuickTags.Find(x => x.Name == "RunTime-Min")!;
|
||
RunTimeHourQuickTag = QuickTags.Find(x => x.Name == "RunTime-Hour")!;
|
||
}
|
||
|
||
private QuickTag RunTimeSecQuickTag { get; set; }
|
||
private QuickTag RunTimeMinQuickTag { get; set; }
|
||
private QuickTag RunTimeHourQuickTag { get; set; }
|
||
|
||
/// <summary>
|
||
/// 快速标签
|
||
/// </summary>
|
||
public List<QuickTag> QuickTags { get; set; }
|
||
|
||
private string _RunTimeMsg;
|
||
/// <summary>
|
||
/// 运行时间消息
|
||
/// </summary>
|
||
public string RunTimeMsg
|
||
{
|
||
get { return _RunTimeMsg; }
|
||
set { _RunTimeMsg = value;RaisePropertyChanged(); }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 合并运行时间
|
||
/// </summary>
|
||
public void SumRunTime()
|
||
{
|
||
RunTimeMsg= RunTimeHourQuickTag.ValueStr + "时" + RunTimeMinQuickTag.ValueStr + "分" + RunTimeSecQuickTag.ValueStr + "秒";
|
||
}
|
||
|
||
|
||
}
|
||
}
|