parent
36a5efd620
commit
c7acf1ce29
|
@ -74,6 +74,18 @@ namespace Aitex.Core.Common.DeviceData.IoDevice
|
|||
[DataMember]
|
||||
public float ConstantSetPoint { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设置或返回输出限幅上限值。
|
||||
/// </summary>
|
||||
[DataMember]
|
||||
public float OutputLimitHigh { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设置或返回输出限幅下限值。
|
||||
/// </summary>
|
||||
[DataMember]
|
||||
public float OutputLimitLow { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设置或返回PSU总开关状态。
|
||||
/// </summary>
|
||||
|
|
|
@ -59,6 +59,8 @@
|
|||
aiOutputVoltage="AI_PSU2Voltage" aiOutputArms="AI_PSU2Arms" aiOutputPower="AI_PSU2Power"
|
||||
aiSimVoltage="AI_PSU2SimVoltage" aiSimArms="AI_PSU2SimArms"
|
||||
doStatus="DO_PSU2Enable" doReset="DO_PSU2Reset" aoConstant="AO_PSU2Constant"
|
||||
aoOutputLimitHigh="AO_PSU2OutputLimitHigh"
|
||||
aoOutputLimitLow="AO_PSU2OutputLimitLow"
|
||||
diStatus="DI_MiddleHeaterEnable_FB" diAlarm="DI_PSU2Alarm" AlarmText="Alarm67 PSU2 Alarm[DI-321]"
|
||||
diCommunicationError ="DI_PSU2dpCommunicationError" commAlarmText=""
|
||||
doHeatEnable="DO_PSUEnable" diHeatEnable="DI_PSUEnable_FB" doRelatedEnable="DO_MiddleHeaterEnable" />
|
||||
|
|
|
@ -743,8 +743,8 @@
|
|||
<AO_ITEM Index="208" Name="AO_PSUInnerRetedValue" BufferOffset="208" Addr="208" Description=""/>
|
||||
<AO_ITEM Index="209" Name="AO_PSUMiddleRetedValue" BufferOffset="209" Addr="209" Description=""/>
|
||||
<AO_ITEM Index="210" Name="AO_PSUOuterRetedValue" BufferOffset="210" Addr="210" Description=""/>
|
||||
<AO_ITEM Index="211" Name="AO_PSUInnerVoltageLimited" BufferOffset="211" Addr="211" Description=""/>
|
||||
<AO_ITEM Index="212" Name="AO_PSUMiddleVoltageLimited" BufferOffset="212" Addr="212" Description=""/>
|
||||
<AO_ITEM Index="211" Name="AO_PSU2OutputLimitLow" BufferOffset="211" Addr="211" Description=""/>
|
||||
<AO_ITEM Index="212" Name="AO_PSU2OutputLimitHigh" BufferOffset="212" Addr="212" Description=""/>
|
||||
<AO_ITEM Index="213" Name="AO_PSUOuterVoltageLimited" BufferOffset="213" Addr="213" Description=""/>
|
||||
<AO_ITEM Index="216" Name="AO_PSU1Enable" BufferOffset="216" Addr="216" Description=""/>
|
||||
<AO_ITEM Index="217" Name="AO_PSU1Reset" BufferOffset="217" Addr="217" Description=""/>
|
||||
|
|
|
@ -29,6 +29,8 @@ namespace SicPM.Devices
|
|||
//private AOAccessor _aoEnable = null;
|
||||
//private AOAccessor _aoReset = null;
|
||||
private readonly AOAccessor _aoConstant;
|
||||
private readonly AOAccessor _aoOutputLimitHigh;
|
||||
private readonly AOAccessor _aoOutputLimitLow;
|
||||
|
||||
private readonly DIAccessor _diStatus;
|
||||
private readonly DIAccessor _diAlarm;
|
||||
|
@ -66,7 +68,10 @@ namespace SicPM.Devices
|
|||
_aiOutputPower = ParseAiNode("aiOutputPower", node, ioModule);
|
||||
_aiSimVoltage = ParseAiNode("aiSimVoltage", node, ioModule);
|
||||
_aiSimArms = ParseAiNode("aiSimArms", node, ioModule);
|
||||
|
||||
_aoConstant = ParseAoNode("aoConstant", node, ioModule);
|
||||
_aoOutputLimitHigh = ParseAoNode("aoOutputLimitHigh", node, ioModule);
|
||||
_aoOutputLimitLow = ParseAoNode("aoOutputLimitLow", node, ioModule);
|
||||
|
||||
_doReset = ParseDoNode("doReset", node, ioModule);
|
||||
_doStatus = ParseDoNode("doStatus", node, ioModule);
|
||||
|
@ -143,6 +148,8 @@ namespace SicPM.Devices
|
|||
_deviceData.Resistance = Resistance;
|
||||
_deviceData.IsResistanceOutOfRange = IsResistanceOutOfRange;
|
||||
_deviceData.IsResistanceTooHigh = IsResistanceTooHigh;
|
||||
_deviceData.OutputLimitHigh = _aoOutputLimitHigh?.FloatValue ?? 0;
|
||||
_deviceData.OutputLimitLow = _aoOutputLimitLow?.FloatValue ?? 0;
|
||||
return JsonConvert.SerializeObject(_deviceData);
|
||||
}
|
||||
}
|
||||
|
@ -185,6 +192,7 @@ namespace SicPM.Devices
|
|||
SetPSUEnable(isTrue, out _);
|
||||
return true;
|
||||
});
|
||||
|
||||
OP.Subscribe($"{Module}.{Name}.SetPSUReset", (function, args) =>
|
||||
{
|
||||
var isTrue = Convert.ToBoolean(args[0]);
|
||||
|
@ -192,9 +200,43 @@ namespace SicPM.Devices
|
|||
return true;
|
||||
});
|
||||
|
||||
OP.Subscribe($"{Module}.{Name}.SetOutputLimitHigh", (function, args) =>
|
||||
{
|
||||
if (args.Length == 1 && args[0] is double value)
|
||||
{
|
||||
SetOutputLimitHigh(value);
|
||||
return true;
|
||||
}
|
||||
|
||||
EV.PostWarningLog(Module, $"SetOutputLimitHigh fail, args error");
|
||||
return false;
|
||||
});
|
||||
|
||||
OP.Subscribe($"{Module}.{Name}.SetOutputLimitLow", (function, args) =>
|
||||
{
|
||||
if (args.Length == 1 && args[0] is double value)
|
||||
{
|
||||
SetOutputLimitLow(value);
|
||||
return true;
|
||||
}
|
||||
|
||||
EV.PostWarningLog(Module, $"SetOutputLimitLow fail, args error");
|
||||
return false;
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void SetOutputLimitHigh(double value)
|
||||
{
|
||||
SC.SetItemValue($"PM.{Module}.Heater.PSU2OutputLimitHigh", value);
|
||||
}
|
||||
|
||||
public void SetOutputLimitLow(double value)
|
||||
{
|
||||
SC.SetItemValue($"PM.{Module}.Heater.PSU2OutputLimitLow", value);
|
||||
}
|
||||
|
||||
public bool SetPSUEnable(bool setValue, out string reason)
|
||||
{
|
||||
if (!_doStatus.Check(setValue, out reason))
|
||||
|
@ -277,16 +319,10 @@ namespace SicPM.Devices
|
|||
{
|
||||
try
|
||||
{
|
||||
MonitorPsu2OutputLimit();
|
||||
MonitorEnableTimer();
|
||||
MonitorAlarm();
|
||||
if (_timResetPulse.IsTimeout())
|
||||
{
|
||||
_timResetPulse.Stop();
|
||||
if (_doReset.Value)
|
||||
_doReset.Value = false;
|
||||
|
||||
ResetResistanceMonitorResult();
|
||||
}
|
||||
MonitorDoResetDone();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -306,6 +342,19 @@ namespace SicPM.Devices
|
|||
ResetResistanceMonitorResult();
|
||||
}
|
||||
|
||||
|
||||
private void MonitorDoResetDone()
|
||||
{
|
||||
if (_timResetPulse.IsTimeout())
|
||||
{
|
||||
_timResetPulse.Stop();
|
||||
if (_doReset.Value)
|
||||
_doReset.Value = false;
|
||||
|
||||
ResetResistanceMonitorResult();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 复位加热器电阻监测结果。
|
||||
/// </summary>
|
||||
|
@ -358,20 +407,57 @@ namespace SicPM.Devices
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private readonly R_TRIG _trigBelow1600 = new();
|
||||
private readonly R_TRIG _trigAbove1600 = new();
|
||||
|
||||
private void MonitorPsu2OutputLimit()
|
||||
{
|
||||
if (Name == "PSU2")
|
||||
{
|
||||
var limitHigh = (float)SC.GetValue<double>($"PM.{Module}.Heater.PSU2OutputLimitHigh");
|
||||
if(limitHigh > 100)
|
||||
limitHigh = 100;
|
||||
|
||||
_trigAbove1600.CLK = AETemp >= 1600;
|
||||
if (_trigAbove1600.Q)
|
||||
EV.PostInfoLog(Module, $"Temp above 1600℃, limit PSU2 Output level to {limitHigh}%");
|
||||
|
||||
_trigBelow1600.CLK = AETemp < 1600;
|
||||
if (_trigAbove1600.Q)
|
||||
EV.PostInfoLog(Module, $"Temp below 1600℃, limit PSU2 Output level to 100%");
|
||||
|
||||
if (AETemp >= 1600)
|
||||
{
|
||||
if (Math.Abs(_aoOutputLimitHigh.FloatValue - limitHigh) > 1E-6)
|
||||
_aoOutputLimitHigh.FloatValue = limitHigh;
|
||||
}
|
||||
else
|
||||
{
|
||||
_aoOutputLimitHigh.FloatValue = 100;
|
||||
}
|
||||
|
||||
|
||||
var limitLow = (float)SC.GetValue<double>($"PM.{Module}.Heater.PSU2OutputLimitLow");
|
||||
if (Math.Abs(_aoOutputLimitLow.FloatValue - limitLow) > 1E-6)
|
||||
_aoOutputLimitLow.FloatValue = limitLow;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public double AETemp
|
||||
{
|
||||
get
|
||||
{
|
||||
var temp = new object();
|
||||
object temp = null;
|
||||
if (SC.GetConfigItem("AETemp.EnableDevice").BoolValue)
|
||||
{
|
||||
temp = DATA.Poll($"{Module}.AETemp.Middle");
|
||||
}
|
||||
|
||||
if (SC.GetConfigItem("AKunTemp.EnableDevice").BoolValue)
|
||||
/*if (SC.GetConfigItem("AKunTemp.EnableDevice").BoolValue)
|
||||
{
|
||||
temp = DATA.Poll($"{Module}.AKunTemp.Middle");
|
||||
}
|
||||
}*/
|
||||
|
||||
return temp == null ? 0 : (double)temp;
|
||||
}
|
||||
|
|
|
@ -193,6 +193,9 @@
|
|||
<config default="900" name="PickPVInnerTempLimit" description="从PM取盘时,需要等待温度低于此数值" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
||||
<config default="900" name="PickPVMiddleTempLimit" description="从PM取盘时,需要等待温度低于此数值" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
||||
<config default="900" name="PickPVOuterTempLimit" description="从PM取盘时,需要等待温度低于此数值" max="2000" min="0" paramter="" tag="" unit="℃" type="Double" />
|
||||
|
||||
<config default="100" name="PSU2OutputLimitHigh" description="PSU2输出限幅上限值" max="100" min="0" paramter="" tag="" unit="" visible="false" type="Double" />
|
||||
<config default="0" name="PSU2OutputLimitLow" description="PSU2输出限幅下限值" max="100" min="0" paramter="" tag="" unit="" visible="false" type="Double" />
|
||||
</configs>
|
||||
|
||||
<configs name="ProcessIdle">
|
||||
|
|
|
@ -52,6 +52,6 @@ using System.Windows;
|
|||
// 方法是按如下所示使用“*”: :
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
[assembly: AssemblyVersion("1.5.6.14")]
|
||||
[assembly: AssemblyVersion("1.6.0.15")]
|
||||
//[assembly: AssemblyFileVersion("1.5.3.11")]
|
||||
|
||||
|
|
|
@ -10,6 +10,10 @@
|
|||
|
||||
---------------------------------------------------------------------------------
|
||||
|
||||
Sic02 2023-08-02 Version 1.6.0.15
|
||||
1. PSU2增加控制量输出上下限设定
|
||||
|
||||
|
||||
Sic02 2023-08-02 Version 1.5.6.14
|
||||
1. PM Operation视图中的Heater电阻值保留3位小数
|
||||
|
||||
|
|
|
@ -741,8 +741,8 @@
|
|||
<AO_ITEM Index="208" Name="AO_PSUInnerRetedValue" BufferOffset="208" Addr="208" Description=""/>
|
||||
<AO_ITEM Index="209" Name="AO_PSUMiddleRetedValue" BufferOffset="209" Addr="209" Description=""/>
|
||||
<AO_ITEM Index="210" Name="AO_PSUOuterRetedValue" BufferOffset="210" Addr="210" Description=""/>
|
||||
<AO_ITEM Index="211" Name="AO_PSUInnerVoltageLimited" BufferOffset="211" Addr="211" Description=""/>
|
||||
<AO_ITEM Index="212" Name="AO_PSUMiddleVoltageLimited" BufferOffset="212" Addr="212" Description=""/>
|
||||
<AO_ITEM Index="211" Name="AO_PSU2OutputLimitLow" BufferOffset="211" Addr="211" Description=""/>
|
||||
<AO_ITEM Index="212" Name="AO_PSU2OutputLimitHigh" BufferOffset="212" Addr="212" Description=""/>
|
||||
<AO_ITEM Index="213" Name="AO_PSUOuterVoltageLimited" BufferOffset="213" Addr="213" Description=""/>
|
||||
<AO_ITEM Index="216" Name="AO_PSU1Enable" BufferOffset="216" Addr="216" Description=""/>
|
||||
<AO_ITEM Index="217" Name="AO_PSU1Reset" BufferOffset="217" Addr="217" Description=""/>
|
||||
|
|
|
@ -1194,7 +1194,7 @@
|
|||
Visibility="{Binding TipsVisble}" />
|
||||
</Grid>
|
||||
|
||||
<Grid Margin="520,308,0,0">
|
||||
<Grid Margin="520,278,0,0" HorizontalAlignment="Left" VerticalAlignment="Top">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="35" />
|
||||
|
@ -1207,23 +1207,12 @@
|
|||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="35" />
|
||||
<RowDefinition Height="35" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="150" />
|
||||
<ColumnDefinition Width="100" />
|
||||
<ColumnDefinition Width="100" />
|
||||
<ColumnDefinition Width="100" />
|
||||
<ColumnDefinition Width="100" />
|
||||
<ColumnDefinition Width="100" />
|
||||
<ColumnDefinition Width="100" />
|
||||
<ColumnDefinition Width="100" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Border
|
||||
|
@ -1582,6 +1571,118 @@
|
|||
</Button>
|
||||
</Border>
|
||||
|
||||
<Border
|
||||
Grid.Row="8"
|
||||
Grid.Column="0"
|
||||
Padding="5,1"
|
||||
Background="{DynamicResource Table_BG_Title}"
|
||||
BorderBrush="{DynamicResource Table_BD}"
|
||||
BorderThickness="1,0,1,1">
|
||||
<Label
|
||||
HorizontalContentAlignment="Left"
|
||||
Content="*Output Limit High(%)"
|
||||
FontSize="13"
|
||||
ToolTip="仅当温度大于1600°C时该值生效,低于1600°C时输出上限恒定为100%"/>
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Row="8"
|
||||
Grid.Column="1"
|
||||
Padding="5,1"
|
||||
Background="{DynamicResource Table_BG_Content}"
|
||||
BorderBrush="{DynamicResource Table_BD}"
|
||||
BorderThickness="0,0,1,1">
|
||||
<Label HorizontalContentAlignment="Center" FontSize="14">
|
||||
<TextBlock Text="{Binding Psu2Data.OutputLimitHigh, StringFormat=0.0}" />
|
||||
</Label>
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Row="8"
|
||||
Grid.Column="2"
|
||||
Padding="5,1"
|
||||
Background="{DynamicResource Table_BG_Content}"
|
||||
BorderBrush="{DynamicResource Table_BD}"
|
||||
BorderThickness="0,0,1,1">
|
||||
<OpenSEMI:TextBoxEx
|
||||
Name="tbPsu2OutputLimitHigh"
|
||||
FontFamily="Arial"
|
||||
FontSize="14"
|
||||
Text="{Binding PSU2OutputLimitHighSetting, Mode=OneTime}" />
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Row="8"
|
||||
Grid.RowSpan="1"
|
||||
Grid.Column="3"
|
||||
Padding="5,1"
|
||||
Background="{DynamicResource Table_BG_Content}"
|
||||
BorderBrush="{DynamicResource Table_BD}"
|
||||
BorderThickness="0,0,1,1">
|
||||
<Button Content="Set" IsEnabled="{Binding IsActionEnable}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="Click">
|
||||
<cal:ActionMessage MethodName="SetOutputLimitHigh">
|
||||
<cal:Parameter Value="PSU2"/>
|
||||
<cal:Parameter Value="{Binding Path=Text, ElementName=tbPsu2OutputLimitHigh}" />
|
||||
</cal:ActionMessage>
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
</Button>
|
||||
</Border>
|
||||
|
||||
|
||||
<Border
|
||||
Grid.Row="9"
|
||||
Grid.Column="0"
|
||||
Padding="5,1"
|
||||
Background="{DynamicResource Table_BG_Title}"
|
||||
BorderBrush="{DynamicResource Table_BD}"
|
||||
BorderThickness="1,0,1,1">
|
||||
<Label
|
||||
HorizontalContentAlignment="Left"
|
||||
Content="Output Limit Low(%)"
|
||||
FontSize="14" />
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Row="9"
|
||||
Grid.Column="1"
|
||||
Padding="5,1"
|
||||
Background="{DynamicResource Table_BG_Content}"
|
||||
BorderBrush="{DynamicResource Table_BD}"
|
||||
BorderThickness="0,0,1,1">
|
||||
<Label HorizontalContentAlignment="Center" FontSize="14">
|
||||
<TextBlock Text="{Binding Psu2Data.OutputLimitLow, StringFormat=0.0}" />
|
||||
</Label>
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Row="9"
|
||||
Grid.Column="2"
|
||||
Padding="5,1"
|
||||
Background="{DynamicResource Table_BG_Content}"
|
||||
BorderBrush="{DynamicResource Table_BD}"
|
||||
BorderThickness="0,0,1,1">
|
||||
<OpenSEMI:TextBoxEx
|
||||
Name="tbPsu2OutputLimitLow"
|
||||
FontFamily="Arial"
|
||||
FontSize="14"
|
||||
Text="{Binding PSU2OutputLimitLowSetting, Mode=OneTime}" />
|
||||
</Border>
|
||||
<Border
|
||||
Grid.Row="9"
|
||||
Grid.Column="3"
|
||||
Padding="5,1"
|
||||
Background="{DynamicResource Table_BG_Content}"
|
||||
BorderBrush="{DynamicResource Table_BD}"
|
||||
BorderThickness="0,0,1,1">
|
||||
<Button Content="Set" IsEnabled="{Binding IsActionEnable}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="Click">
|
||||
<cal:ActionMessage MethodName="SetOutputLimitLow">
|
||||
<cal:Parameter Value="PSU2"/>
|
||||
<cal:Parameter Value="{Binding Path=Text, ElementName=tbPsu2OutputLimitLow}" />
|
||||
</cal:ActionMessage>
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
</Button>
|
||||
</Border>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
using Aitex.Core.Common.DeviceData;
|
||||
using Aitex.Core.Common.DeviceData.IoDevice;
|
||||
using Aitex.Core.RT.Event;
|
||||
using Aitex.Core.Util;
|
||||
using Caliburn.Micro;
|
||||
using MECF.Framework.Common.DataCenter;
|
||||
|
@ -6,6 +8,7 @@ using MECF.Framework.Common.OperationCenter;
|
|||
using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;
|
||||
using MECF.Framework.UI.Client.CenterViews.Editors.Sequence;
|
||||
using MECF.Framework.UI.Client.ClientBase;
|
||||
using OpenSEMI.ClientBase;
|
||||
using RecipeEditorLib.DGExtension.CustomColumn;
|
||||
using RecipeEditorLib.RecipeModel.Params;
|
||||
using System;
|
||||
|
@ -17,6 +20,7 @@ using System.Text;
|
|||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SicUI.Models.PMs
|
||||
{
|
||||
|
@ -1097,6 +1101,81 @@ namespace SicUI.Models.PMs
|
|||
|
||||
#endregion
|
||||
|
||||
#region PSU2 Output Limit High/Low
|
||||
|
||||
[Subscription("PSU2.DeviceData")]
|
||||
public string Psu2DataJson { get; set; }
|
||||
|
||||
public IoPsuData Psu2Data =>
|
||||
string.IsNullOrEmpty(Psu2DataJson)
|
||||
? null
|
||||
: JsonConvert.DeserializeObject<IoPsuData>(Psu2DataJson);
|
||||
|
||||
public double PSU2OutputLimitHighSetting
|
||||
{
|
||||
get
|
||||
{
|
||||
var sc = QueryDataClient.Instance.Service.GetConfig($"PM.{SystemName}.Heater.PSU2OutputLimitHigh");
|
||||
if (sc is double dValue)
|
||||
{
|
||||
return dValue;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public double PSU2OutputLimitLowSetting
|
||||
{
|
||||
get
|
||||
{
|
||||
var sc = QueryDataClient.Instance.Service.GetConfig($"PM.{SystemName}.Heater.PSU2OutputLimitLow");
|
||||
if (sc is double dValue)
|
||||
{
|
||||
return dValue;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetOutputLimitHigh(string psu, string limit)
|
||||
{
|
||||
if (!double.TryParse(limit, out var dLimit))
|
||||
{
|
||||
DialogBox.ShowError("The limit value is not a number.");
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
InvokeClient.Instance.Service.DoOperation($"{SystemName}.{psu}.SetOutputLimitHigh", dLimit);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
EV.PostWarningLog("PM1", "SetOutputLimitHigh exception:" + ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetOutputLimitLow(string psu, string limit)
|
||||
{
|
||||
if (!double.TryParse(limit, out var dLimit))
|
||||
{
|
||||
DialogBox.ShowError("The limit value is not a number.");
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
InvokeClient.Instance.Service.DoOperation($"{SystemName}.{psu}.SetOutputLimitLow", dLimit);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
EV.PostWarningLog("PM1", "SetOutputLimitLow exception:" + ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
|
|
|
@ -54,5 +54,5 @@ using System.Windows;
|
|||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.5.6.14")]
|
||||
[assembly: AssemblyVersion("1.6.0.15")]
|
||||
//[assembly: AssemblyFileVersion("1.5.3.11")]
|
||||
|
|
Loading…
Reference in New Issue