Commit 303cad43 authored by 潘栩锋's avatar 潘栩锋 🚴

合并

parents 4b40027b 21ae28ec
...@@ -120,7 +120,7 @@ namespace FLY.OBJComponents.Client ...@@ -120,7 +120,7 @@ namespace FLY.OBJComponents.Client
public string[] GetSyncPropNames() public string[] GetSyncPropNames()
{ {
return new string[] { return new string[] {
"IsConnectedWithPLC" nameof(IsConnectedWithPLC)
}; };
} }
......
...@@ -108,9 +108,8 @@ namespace FLY.OBJComponents.Common ...@@ -108,9 +108,8 @@ namespace FLY.OBJComponents.Common
/// </summary> /// </summary>
public struct ERRNO public struct ERRNO
{ {
public byte Code; public UInt16 Code;
public string Descrption; public string Descrption;
public bool OffIsError;
} }
public static class PlcErrNos public static class PlcErrNos
...@@ -118,6 +117,6 @@ namespace FLY.OBJComponents.Common ...@@ -118,6 +117,6 @@ namespace FLY.OBJComponents.Common
/// <summary> /// <summary>
/// PLC连接断开 /// PLC连接断开
/// </summary> /// </summary>
public static ERRNO ERRNO_PLC_DISCONNECTED = new ERRNO() { Code = 255, Descrption = "PLC连接断开" }; public static ERRNO ERRNO_PLC_DISCONNECTED = new ERRNO() { Code = 65535, Descrption = "PLC连接断开" };
} }
} }
...@@ -20,13 +20,13 @@ namespace FLY.OBJComponents.Server ...@@ -20,13 +20,13 @@ namespace FLY.OBJComponents.Server
/// <summary> /// <summary>
/// 需要设置 /// 需要设置
/// </summary> /// </summary>
IPLCProxySystemService PLCos; PLCProxySystem PLCos;
/// <summary> /// <summary>
/// 报警系统 /// 报警系统
/// </summary> /// </summary>
WarningSystem mWarning; WarningSystem mWarning;
public byte ErrCode=0; public byte ErrCode=0;
public ErrorConf(IPLCProxySystemService PLCos, WarningSystem mWarning, string plcName) public ErrorConf(PLCProxySystem PLCos, WarningSystem mWarning, string plcName)
{ {
this.PLCos = PLCos; this.PLCos = PLCos;
this.mWarning = mWarning; this.mWarning = mWarning;
...@@ -98,22 +98,27 @@ namespace FLY.OBJComponents.Server ...@@ -98,22 +98,27 @@ namespace FLY.OBJComponents.Server
} }
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
//连接断开事件 //连接断开事件, 3秒查一次,不能有复位的机会
FObjBase.PollModule.Current.Poll_Config(PollModule.POLL_CONFIG.ADD, FObjBase.PollModule.Current.Poll_Config(PollModule.POLL_CONFIG.ADD,
() => () =>
{ {
Misc.BindingOperations.SetBinding(PLCos, nameof(PLCos.IsConnectedWithPLC), () => for (int i = 0; i < PLCos.PLCs.Count(); i++)
{ {
bool b = !PLCos.IsConnectedWithPLC; bool b = !PLCos.PLCs[i].Client.IsConnected;
ERR_STATE state = b ? ERR_STATE.ON : ERR_STATE.OFF; ERR_STATE state = b ? ERR_STATE.ON : ERR_STATE.OFF;
ERRNO errno = PlcErrNos.ERRNO_PLC_DISCONNECTED; ERRNO errno = PlcErrNos.ERRNO_PLC_DISCONNECTED;
byte errcode = errno.Code; UInt16 errcode = (UInt16)(errno.Code - i);
string description = $"{plcName} "+errno.Descrption; string description;
if (PLCos.PLCs.Count() > 1)
description = $"{plcName} No.{i+1} " + errno.Descrption;
else
description = $"{plcName} " + errno.Descrption;
mWarning.Add(errcode, description, state); mWarning.Add(errcode, description, state);
}); }
}, TimeSpan.FromSeconds(3), true, false, this, MARKNO_DELAY_ISCONNECTED, true);
}, TimeSpan.FromSeconds(3), true, false, this, MARKNO_DELAY_ISCONNECTED, false);
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
//启动定时器,每1秒查报警,防止 以为报警复位了,但其实还在报警 //启动定时器,每1秒查报警,防止 以为报警复位了,但其实还在报警
...@@ -149,7 +154,7 @@ namespace FLY.OBJComponents.Server ...@@ -149,7 +154,7 @@ namespace FLY.OBJComponents.Server
public void ResetError(INotifyPropertyChanged sender) public void ResetError(INotifyPropertyChanged sender)
{ {
var type = sender.GetType(); var type = sender.GetType();
foreach (var ei in obj_error[sender as INotifyPropertyChanged].error_property) foreach (var ei in obj_error[sender].error_property)
{ {
var property = type.GetProperty(ei.property); var property = type.GetProperty(ei.property);
property.SetValue(sender, false); property.SetValue(sender, false);
......
...@@ -110,13 +110,19 @@ namespace FLY.OBJComponents.Server ...@@ -110,13 +110,19 @@ namespace FLY.OBJComponents.Server
plc.NameDataChanged += Plc_NameDataChanged; plc.NameDataChanged += Plc_NameDataChanged;
} }
Misc.BindingOperations.SetBinding(PLCs[0].Client, "IsConnected", () =>
//任何一个PLC断开,也会显示连接断开
IsConnectedWithPLC = PLCs.All(plc => plc.Client.IsConnected);
foreach (var plc in PLCs)
{ {
IsConnectedWithPLC = PLCs[0].Client.IsConnected; plc.Client.PropertyChanged += (s, e) =>
//if (!IsConnectedWithPLC) {
// ClearPlan(); if (e.PropertyName == nameof(Modbus.WithThread.ClientTCP.IsConnected)) {
}); IsConnectedWithPLC = PLCs.All(p => p.Client.IsConnected);
}
};
}
foreach (var obj in ObjNames.Values) foreach (var obj in ObjNames.Values)
{ {
...@@ -357,7 +363,7 @@ namespace FLY.OBJComponents.Server ...@@ -357,7 +363,7 @@ namespace FLY.OBJComponents.Server
public string[] GetSyncPropNames() public string[] GetSyncPropNames()
{ {
return new string[] { "IsConnectedWithPLC" }; return new string[] { nameof(IsConnectedWithPLC) };
} }
public string[] GetNoSyncPropNames() public string[] GetNoSyncPropNames()
......
...@@ -75,17 +75,7 @@ ...@@ -75,17 +75,7 @@
</StackPanel> </StackPanel>
</StackPanel> </StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center" >
<Button Style="{StaticResource buttonStyle}" Click="button_silence_click" Foreground="#FFEE3232">
<StackPanel >
<Grid Style="{StaticResource GridStyle_ButtonShadow}">
<Ellipse Style="{StaticResource backPackStyle}" Fill="White"/>
<iconPacks:PackIconMaterial Kind="VolumeMute" Style="{StaticResource iconPackStyle}" />
</Grid>
<TextBlock Text="消音" Style="{StaticResource titlePackStyle}"/>
</StackPanel>
</Button>
</StackPanel>
</Grid> </Grid>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment