diff --git a/CapMachine.Wpf/Models/Tag/ITag.cs b/CapMachine.Wpf/Models/Tag/ITag.cs
index 5d5697c..41f63a4 100644
--- a/CapMachine.Wpf/Models/Tag/ITag.cs
+++ b/CapMachine.Wpf/Models/Tag/ITag.cs
@@ -32,15 +32,25 @@ namespace CapMachine.Wpf.Models.Tag
string? Unit { get; set; }
///
- /// 工程值
+ /// 工程值 PV
///
double EngValue { get; set; }
///
- /// 工程值的字符串
+ /// 工程值的字符串 PV
///
string EngValueStr { get; set; }
+ ///
+ /// 工程值 Sv
+ ///
+ double EngSvValue { get; set; }
+
+ ///
+ /// 工程值的字符串 Sv
+ ///
+ string EngSvValueStr { get; set; }
+
///
/// MV
///
diff --git a/CapMachine.Wpf/Models/Tag/Tag.cs b/CapMachine.Wpf/Models/Tag/Tag.cs
index b83c4ec..aa2e3b9 100644
--- a/CapMachine.Wpf/Models/Tag/Tag.cs
+++ b/CapMachine.Wpf/Models/Tag/Tag.cs
@@ -177,11 +177,38 @@ namespace CapMachine.Wpf.Models.Tag
set { _AutoHandState = value; RaisePropertyChanged(); }
}
+ private double _EngSVValue;
+ ///
+ /// 工程值 SV
+ ///
+ public double EngSVValue
+ {
+ get { return _EngSVValue; }
+ set
+ {
+ _EngSVValue = value;
+ if (TagValue.IsShow)
+ {
+ RaisePropertyChanged();
+ }
+ EngSvValueStr = Math.Round(value, DecimalPoint).ToString();
+ }
+ }
+
+ private string _EngSvValueStr;
+ ///
+ /// 工程值的字符串 SV
+ ///
+ public string EngSvValueStr
+ {
+ get { return _EngSvValueStr; }
+ set { _EngSvValueStr = value; RaisePropertyChanged(); }
+ }
private double _EngValue;
///
- /// 工程值
+ /// 工程值 PV
///
public double EngValue
{
diff --git a/CapMachine.Wpf/Services/MachineRtDataService.cs b/CapMachine.Wpf/Services/MachineRtDataService.cs
index 2d7a5c9..06c664d 100644
--- a/CapMachine.Wpf/Services/MachineRtDataService.cs
+++ b/CapMachine.Wpf/Services/MachineRtDataService.cs
@@ -895,6 +895,11 @@ namespace CapMachine.Wpf.Services
private OperateResult OperateResultShort { get; set; }
+ ///
+ /// SV数据
+ ///
+ private OperateResult OperateResultSVShort { get; set; }
+
private Random Random { get; set; } = new Random();
///
@@ -975,9 +980,20 @@ namespace CapMachine.Wpf.Services
LinkState = false;
}
}
- else
+
+ if (!string.IsNullOrEmpty(itemTag.Value.SVAddress))
{
-
+ OperateResultSVShort = SiemensDrive.ReadInt16(itemTag.Value.SVAddress);
+ if (OperateResultSVShort.IsSuccess)
+ {
+ TagManger.GetTagInfoValueByName(itemTag.Value.Name)!.Value = OperateResultSVShort.Content;
+ TagManger.GetTagByName(itemTag.Value.Name).EngSVValue = TagManger.GetTagInfoValueByName(itemTag.Value.Name)!.Value * 1.0 / TagManger.GetTagByName(itemTag.Value.Name)!.Precision;
+ LinkState = true;
+ }
+ else
+ {
+ LinkState = false;
+ }
}
break;
default:
diff --git a/CapMachine.Wpf/Views/MonitorView.xaml b/CapMachine.Wpf/Views/MonitorView.xaml
index cb2fc47..6c46c50 100644
--- a/CapMachine.Wpf/Views/MonitorView.xaml
+++ b/CapMachine.Wpf/Views/MonitorView.xaml
@@ -170,6 +170,7 @@
HandValueCommand="{Binding Source={StaticResource Proxy}, Path=Data.HandValueCmd}"
MeterName="{Binding NameNoUnit}"
PVValue="{Binding EngValue}"
+ SVValue="{Binding EngSVValue}"
Unit="{Binding Unit}" />