增加了初始弹窗,但是没有成功
更改了CAN和LIN协调 更改了配置程序的名称顺序
This commit is contained in:
68
CapMachine.Wpf/Models/CanLinRunStateModel.cs
Normal file
68
CapMachine.Wpf/Models/CanLinRunStateModel.cs
Normal file
@@ -0,0 +1,68 @@
|
||||
using Prism.Mvvm;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static CapMachine.Wpf.Models.ComEnum;
|
||||
|
||||
namespace CapMachine.Wpf.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// CAN 和 LIN运行的状态汇总模型
|
||||
/// </summary>
|
||||
public class CanLinRunStateModel:BindableBase
|
||||
{
|
||||
private CanLinEnum _CurSysSelectedCanLin;
|
||||
/// <summary>
|
||||
/// 当前系统选中使用的CanLin状态
|
||||
/// </summary>
|
||||
public CanLinEnum CurSysSelectedCanLin
|
||||
{
|
||||
get { return _CurSysSelectedCanLin; }
|
||||
set
|
||||
{
|
||||
_CurSysSelectedCanLin = value;
|
||||
switch (value)
|
||||
{
|
||||
case CanLinEnum.No:
|
||||
SelectedCanLinMsg = "无";
|
||||
CanLinRunState = false;
|
||||
break;
|
||||
case CanLinEnum.Can:
|
||||
SelectedCanLinMsg = "CAN";
|
||||
CanLinRunState=true;
|
||||
break;
|
||||
case CanLinEnum.Lin:
|
||||
SelectedCanLinMsg = "LIN";
|
||||
CanLinRunState = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private bool _CanLinRunState;
|
||||
/// <summary>
|
||||
/// CAN 和 LIN的运行状态
|
||||
/// </summary>
|
||||
public bool CanLinRunState
|
||||
{
|
||||
get { return _CanLinRunState; }
|
||||
set { _CanLinRunState = value;RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
|
||||
private string? _SelectedCanLinMsg;
|
||||
/// <summary>
|
||||
/// CANLIN 选择的字符串
|
||||
/// </summary>
|
||||
public string? SelectedCanLinMsg
|
||||
{
|
||||
get { return _SelectedCanLinMsg; }
|
||||
set { _SelectedCanLinMsg = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -54,5 +54,26 @@ namespace CapMachine.Wpf.Models
|
||||
/// </summary>
|
||||
Byte = 0,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CAN和LIN的选择
|
||||
/// </summary>
|
||||
public enum CanLinEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 没选择
|
||||
/// </summary>
|
||||
No = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Can
|
||||
/// </summary>
|
||||
Can = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Lin
|
||||
/// </summary>
|
||||
Lin = 2,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
65
CapMachine.Wpf/Models/SysExdInfo.cs
Normal file
65
CapMachine.Wpf/Models/SysExdInfo.cs
Normal file
@@ -0,0 +1,65 @@
|
||||
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 + "秒";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
147
CapMachine.Wpf/Models/Tag/QuickTag.cs
Normal file
147
CapMachine.Wpf/Models/Tag/QuickTag.cs
Normal file
@@ -0,0 +1,147 @@
|
||||
using HslCommunication;
|
||||
using HslCommunication.Core;
|
||||
using HslCommunication.Core.Device;
|
||||
using HslCommunication.Profinet.Siemens;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using Prism.Mvvm;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static CapMachine.Wpf.Models.ComEnum;
|
||||
|
||||
namespace CapMachine.Wpf.Models.Tag
|
||||
{
|
||||
/// <summary>
|
||||
/// 快速和简单的标签
|
||||
/// </summary>
|
||||
public class QuickTag : BindableBase
|
||||
{
|
||||
public QuickTag(SiemensS7Net deviceTcpNet)
|
||||
{
|
||||
|
||||
SiemensS7Net = deviceTcpNet;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 驱动
|
||||
/// </summary>
|
||||
public SiemensS7Net SiemensS7Net { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标签组
|
||||
/// </summary>
|
||||
public string? Group { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// 实时值
|
||||
///// </summary>
|
||||
//public abstract IRegisterValue<short> RtValue { get; set; }
|
||||
|
||||
private object? _Value;
|
||||
/// <summary>
|
||||
/// 实时值
|
||||
/// </summary>
|
||||
public object? Value
|
||||
{
|
||||
get { return _Value; }
|
||||
set
|
||||
{
|
||||
_Value = value;
|
||||
ValueStr = value?.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
private OperateResult<byte[]>? _OperateResultSource;
|
||||
/// <summary>
|
||||
/// 原始值实时值
|
||||
/// </summary>
|
||||
public OperateResult<byte[]>? OperateResultSource
|
||||
{
|
||||
get { return _OperateResultSource; }
|
||||
set
|
||||
{
|
||||
switch (ValueType)
|
||||
{
|
||||
case DataType.Short:
|
||||
Value = SiemensS7Net.ByteTransform.TransInt16(value!.Content, 0);
|
||||
break;
|
||||
case DataType.Double:
|
||||
Value = SiemensS7Net.ByteTransform.TransDouble(value!.Content, 0);
|
||||
break;
|
||||
case DataType.String:
|
||||
Value = SiemensS7Net.ByteTransform.TransString(value!.Content, Encoding.ASCII);
|
||||
break;
|
||||
case DataType.Byte:
|
||||
Value = SiemensS7Net.ByteTransform.TransByte(value!.Content, 0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
_OperateResultSource = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据类型信息
|
||||
/// </summary>
|
||||
public DataType ValueType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 值地址信息
|
||||
/// </summary>
|
||||
public string? ValueAddress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 地址信息 Index
|
||||
/// </summary>
|
||||
public int Index { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 字节长度
|
||||
/// </summary>
|
||||
public ushort ByteLength { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最大值
|
||||
/// </summary>
|
||||
public double MaxValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最小值
|
||||
/// </summary>
|
||||
public double MinValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 精度 到PLC的转换精度/分辨率
|
||||
/// </summary>
|
||||
public short Precision { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 小数点 展示时用的小数点
|
||||
/// </summary>
|
||||
public short DecimalPoint { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public string? Unit { get; set; }
|
||||
|
||||
private string? _ValueStr;
|
||||
/// <summary>
|
||||
/// 值的字符串
|
||||
/// </summary>
|
||||
public string? ValueStr
|
||||
{
|
||||
get { return _ValueStr; }
|
||||
set { _ValueStr = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user