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 + "秒";
}
}
}