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 { /// /// 系统拓展信息 /// 包括:运行时间,步骤等PLC等其他信息,不在实时数据集合中的其他信息 /// public class SysExdInfo:BindableBase { /// /// 实例化函数 /// public SysExdInfo(SiemensS7Net siemensS7Net) { QuickTags = new List() { 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; } /// /// 快速标签 /// public List QuickTags { get; set; } private string _RunTimeMsg; /// /// 运行时间消息 /// public string RunTimeMsg { get { return _RunTimeMsg; } set { _RunTimeMsg = value;RaisePropertyChanged(); } } /// /// 合并运行时间 /// public void SumRunTime() { RunTimeMsg= RunTimeHourQuickTag.ValueStr + "时" + RunTimeMinQuickTag.ValueStr + "分" + RunTimeSecQuickTag.ValueStr + "秒"; } } }