diff --git a/framework/.editorconfig b/framework/.editorconfig index 3badce029..6f01d995b 100644 --- a/framework/.editorconfig +++ b/framework/.editorconfig @@ -81,6 +81,15 @@ dotnet_diagnostic.CA2208.severity = none # IDE0057: 使用范围运算符 dotnet_diagnostic.IDE0057.severity = none +# IDE0056: 使用索引运算符 +dotnet_diagnostic.IDE0056.severity = none + +# CA1830: 最好使用 StringBuilder 的强类型 Append 和 Insert 方法重载 +dotnet_diagnostic.CA1830.severity = none + +# CA1847: 将字符型文本用于单个字符查找 +dotnet_diagnostic.CA1847.severity = none + [*.vb] #### 命名样式 #### diff --git a/framework/ThingsGateway.Blazor/DebugPage/SerialClientPage.razor.cs b/framework/ThingsGateway.Blazor/DebugPage/SerialClientPage.razor.cs index de31f9952..1d26ae1ec 100644 --- a/framework/ThingsGateway.Blazor/DebugPage/SerialClientPage.razor.cs +++ b/framework/ThingsGateway.Blazor/DebugPage/SerialClientPage.razor.cs @@ -78,8 +78,7 @@ public partial class SerialClientPage /// protected override void OnInitialized() { - config?.Dispose(); - config = new TouchSocketConfig(); + config ??= new TouchSocketConfig(); var LogMessage = new TouchSocket.Core.LoggerGroup() { LogLevel = TouchSocket.Core.LogLevel.Trace }; LogMessage.AddLogger(new EasyLogger(LogOut) { LogLevel = TouchSocket.Core.LogLevel.Trace }); config.ConfigureContainer(a => a.RegisterSingleton(LogMessage)); diff --git a/framework/ThingsGateway.Blazor/DebugPage/TcpClientPage.razor.cs b/framework/ThingsGateway.Blazor/DebugPage/TcpClientPage.razor.cs index 90a287e65..7ab168d46 100644 --- a/framework/ThingsGateway.Blazor/DebugPage/TcpClientPage.razor.cs +++ b/framework/ThingsGateway.Blazor/DebugPage/TcpClientPage.razor.cs @@ -78,8 +78,7 @@ public partial class TcpClientPage /// public TcpClientEx GetTcpClient() { - config?.Dispose(); - config = new TouchSocketConfig(); + config ??= new TouchSocketConfig(); var LogMessage = new TouchSocket.Core.LoggerGroup() { LogLevel = TouchSocket.Core.LogLevel.Trace }; LogMessage.AddLogger(new EasyLogger(LogOut) { LogLevel = TouchSocket.Core.LogLevel.Trace }); config.ConfigureContainer(a => a.RegisterSingleton(LogMessage)); diff --git a/framework/ThingsGateway.Blazor/DebugPage/TcpServerPage.razor.cs b/framework/ThingsGateway.Blazor/DebugPage/TcpServerPage.razor.cs index 0077f9586..ca6b6af92 100644 --- a/framework/ThingsGateway.Blazor/DebugPage/TcpServerPage.razor.cs +++ b/framework/ThingsGateway.Blazor/DebugPage/TcpServerPage.razor.cs @@ -67,8 +67,7 @@ public partial class TcpServerPage /// public TcpService GetTcpServer() { - config?.Dispose(); - config = new TouchSocketConfig(); + config ??= new TouchSocketConfig(); var LogMessage = new TouchSocket.Core.LoggerGroup() { LogLevel = TouchSocket.Core.LogLevel.Trace }; LogMessage.AddLogger(new EasyLogger(LogOut) { LogLevel = TouchSocket.Core.LogLevel.Trace }); config.ConfigureContainer(a => a.RegisterSingleton(LogMessage)); diff --git a/framework/ThingsGateway.Blazor/DebugPage/UdpSessionPage.razor.cs b/framework/ThingsGateway.Blazor/DebugPage/UdpSessionPage.razor.cs index d73197f62..6b9d45570 100644 --- a/framework/ThingsGateway.Blazor/DebugPage/UdpSessionPage.razor.cs +++ b/framework/ThingsGateway.Blazor/DebugPage/UdpSessionPage.razor.cs @@ -67,8 +67,7 @@ public partial class UdpSessionPage : IDisposable /// public UdpSession GetUdpSession() { - config?.Dispose(); - config = new TouchSocketConfig(); + config ??= new TouchSocketConfig(); var LogMessage = new TouchSocket.Core.LoggerGroup() { LogLevel = TouchSocket.Core.LogLevel.Trace }; LogMessage.AddLogger(new EasyLogger(LogOut) { LogLevel = TouchSocket.Core.LogLevel.Trace }); config.ConfigureContainer(a => a.RegisterSingleton(LogMessage)); diff --git a/framework/ThingsGateway.Foundation/BaseReadWrite/ReadWriteDevicesUdpBase.cs b/framework/ThingsGateway.Foundation/BaseReadWrite/ReadWriteDevicesUdpBase.cs index a39949861..10def1781 100644 --- a/framework/ThingsGateway.Foundation/BaseReadWrite/ReadWriteDevicesUdpBase.cs +++ b/framework/ThingsGateway.Foundation/BaseReadWrite/ReadWriteDevicesUdpBase.cs @@ -24,10 +24,8 @@ public abstract class ReadWriteDevicesUdpBase : ReadWriteDevicesClientBase /// public ReadWriteDevicesUdpBase(UdpSession udpSession) { - UdpSession = udpSession; WaitingClientEx = UdpSession.GetWaitingClientEx(new()); - SetDataAdapter(); } /// diff --git a/framework/ThingsGateway.Plugin/Foundataion.Demo/OPCUAClientDemo/Program.cs b/framework/ThingsGateway.Plugin/Foundataion.Demo/OPCUAClientDemo/Program.cs index 814daf065..0e0166e05 100644 --- a/framework/ThingsGateway.Plugin/Foundataion.Demo/OPCUAClientDemo/Program.cs +++ b/framework/ThingsGateway.Plugin/Foundataion.Demo/OPCUAClientDemo/Program.cs @@ -8,15 +8,18 @@ namespace ModbusDemo { static async Task Main(string[] args) { - OPCUAClient oPCUAClient = new(new EasyLogger(a => Console.WriteLine(a))); - oPCUAClient.OPCNode = new() + OPCUAClient oPCUAClient = new(new EasyLogger(a => Console.WriteLine(a))) { - OPCUrl = "opc.tcp://desktop-p5gb4iq:50001/StandardServer", - IsUseSecurity = true, + OPCNode = new() + { + OPCUrl = "opc.tcp://desktop-p5gb4iq:50001/StandardServer", + IsUseSecurity = true, + } }; await oPCUAClient.ConnectAsync(); var testData1 = await oPCUAClient.ReadJTokenValueAsync(new[] { "ns=2;i=2897" }); + await oPCUAClient.WriteNodeAsync("ns=2;i=2897", testData1.FirstOrDefault().Item3); } } diff --git a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtu/ModbusRtu.cs b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtu/ModbusRtu.cs index 77f97aa13..47253ee31 100644 --- a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtu/ModbusRtu.cs +++ b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtu/ModbusRtu.cs @@ -82,12 +82,12 @@ public class ModbusRtu : ReadWriteDevicesSerialBase /// public override void SetDataAdapter() { - ModbusRtuDataHandleAdapter DataHandleAdapter = new() + ModbusRtuDataHandleAdapter dataHandleAdapter = new() { Crc16CheckEnable = Crc16CheckEnable, CacheTimeout = TimeSpan.FromMilliseconds(CacheTimeout) }; - SerialClient.SetDataHandlingAdapter(DataHandleAdapter); + SerialClient.SetDataHandlingAdapter(dataHandleAdapter); } /// diff --git a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtuOverTcp/ModbusRtuOverTcp.cs b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtuOverTcp/ModbusRtuOverTcp.cs index cee758439..8abcddbe6 100644 --- a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtuOverTcp/ModbusRtuOverTcp.cs +++ b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtuOverTcp/ModbusRtuOverTcp.cs @@ -78,12 +78,12 @@ public class ModbusRtuOverTcp : ReadWriteDevicesTcpClientBase /// public override void SetDataAdapter() { - ModbusRtuDataHandleAdapter DataHandleAdapter = new() + ModbusRtuDataHandleAdapter dataHandleAdapter = new() { Crc16CheckEnable = Crc16CheckEnable, CacheTimeout = TimeSpan.FromMilliseconds(CacheTimeout) }; - TcpClientEx.SetDataHandlingAdapter(DataHandleAdapter); + TcpClientEx.SetDataHandlingAdapter(dataHandleAdapter); } /// diff --git a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtuOverUdp/ModbusRtuOverUdp.cs b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtuOverUdp/ModbusRtuOverUdp.cs index b2bf80a7a..53f2a344e 100644 --- a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtuOverUdp/ModbusRtuOverUdp.cs +++ b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusRtuOverUdp/ModbusRtuOverUdp.cs @@ -72,11 +72,14 @@ public class ModbusRtuOverUdp : ReadWriteDevicesUdpBase /// public override void SetDataAdapter() { - ModbusRtuOverUdpDataHandleAdapter DataHandleAdapter = new() + ModbusRtuOverUdpDataHandleAdapter dataHandleAdapter = new() { Crc16CheckEnable = Crc16CheckEnable, }; - UdpSession.SetDataHandlingAdapter(DataHandleAdapter); + UdpSession.Config.SetUdpDataHandlingAdapter(() => + { + return dataHandleAdapter; + }); } /// diff --git a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusServer/ModbusServer.cs b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusServer/ModbusServer.cs index f24bc3d36..d53c2e465 100644 --- a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusServer/ModbusServer.cs +++ b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusServer/ModbusServer.cs @@ -78,8 +78,8 @@ public class ModbusServer : ReadWriteDevicesTcpServerBase /// public override void SetDataAdapter(SocketClient client) { - ModbusServerDataHandleAdapter DataHandleAdapter = new(); - client.SetDataHandlingAdapter(DataHandleAdapter); + ModbusServerDataHandleAdapter dataHandleAdapter = new(); + client.SetDataHandlingAdapter(dataHandleAdapter); } /// diff --git a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusTcp/ModbusTcp.cs b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusTcp/ModbusTcp.cs index 25142a639..691be6c87 100644 --- a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusTcp/ModbusTcp.cs +++ b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusTcp/ModbusTcp.cs @@ -79,12 +79,12 @@ public class ModbusTcp : ReadWriteDevicesTcpClientBase /// public override void SetDataAdapter() { - ModbusTcpDataHandleAdapter DataHandleAdapter = new() + ModbusTcpDataHandleAdapter dataHandleAdapter = new() { IsCheckMessageId = IsCheckMessageId, CacheTimeout = TimeSpan.FromMilliseconds(CacheTimeout) }; - TcpClientEx.SetDataHandlingAdapter(DataHandleAdapter); + TcpClientEx.SetDataHandlingAdapter(dataHandleAdapter); } /// diff --git a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusUdp/ModbusUdp.cs b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusUdp/ModbusUdp.cs index e8597d715..dffa4c51f 100644 --- a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusUdp/ModbusUdp.cs +++ b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Modbus/Modbus/ModbusUdp/ModbusUdp.cs @@ -75,11 +75,14 @@ public class ModbusUdp : ReadWriteDevicesUdpBase /// public override void SetDataAdapter() { - ModbusUdpDataHandleAdapter DataHandleAdapter = new() + ModbusUdpDataHandleAdapter dataHandleAdapter = new() { IsCheckMessageId = IsCheckMessageId }; - UdpSession.SetDataHandlingAdapter(DataHandleAdapter); + UdpSession.Config.SetUdpDataHandlingAdapter(() => + { + return dataHandleAdapter; + }); } /// diff --git a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Siemens/Siemens/SiemensS7PLC.cs b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Siemens/Siemens/SiemensS7PLC.cs index 3b0b41291..aefa78bca 100644 --- a/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Siemens/Siemens/SiemensS7PLC.cs +++ b/framework/ThingsGateway.Plugin/Foundataion/ThingsGateway.Foundation.Adapter.Siemens/Siemens/SiemensS7PLC.cs @@ -305,6 +305,8 @@ namespace ThingsGateway.Foundation.Adapter.Siemens foreach (var item in commandResult.Content) { ResponsedData result = await WaitingClientEx.SendThenResponseAsync(item, TimeOut, token); + if (!((MessageBase)result.RequestInfo).IsSuccess) + return OperResult.CreateFailedResult(((MessageBase)result.RequestInfo)); bytes.Add(result); } return OperResult.CreateSuccessResult(bytes.ToArray()); @@ -338,7 +340,7 @@ namespace ThingsGateway.Foundation.Adapter.Siemens if (commandResult.IsSuccess) { var result = await WaitingClientEx.SendThenResponseAsync(commandResult.Content, TimeOut, token); - return OperResult.CreateSuccessResult(result); + return (MessageBase)result.RequestInfo; } else { diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtu/ModbusRtuDebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtu/ModbusRtuDebugDriverPage.razor index b12fc855b..59e9ed478 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtu/ModbusRtuDebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtu/ModbusRtuDebugDriverPage.razor @@ -26,13 +26,13 @@ - x.Crc16CheckEnable)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Crc16CheckEnable> - x.FrameTime)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.FrameTime> - x.CacheTimeout)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.CacheTimeout> + x.Crc16CheckEnable)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Crc16CheckEnable> + x.FrameTime)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.FrameTime> + x.CacheTimeout)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.CacheTimeout> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> + x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) @@ -54,6 +54,7 @@ { //载入配置 _plc = new ThingsGateway.Foundation.Adapter.Modbus.ModbusRtu((SerialClient)defalutDebugDriverPage.SerialClientPage.GetSerialClient()); + defalutDebugDriverPage.Plc = _plc; } base.OnAfterRender(firstRender); } diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtuOverTcp/ModbusRtuOverTcpDebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtuOverTcp/ModbusRtuOverTcpDebugDriverPage.razor index f6ddc86ba..a67380edc 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtuOverTcp/ModbusRtuOverTcpDebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtuOverTcp/ModbusRtuOverTcpDebugDriverPage.razor @@ -25,13 +25,13 @@ - x.Crc16CheckEnable)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Crc16CheckEnable> - x.FrameTime)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.FrameTime> - x.CacheTimeout)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.CacheTimeout> + x.Crc16CheckEnable)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Crc16CheckEnable> + x.FrameTime)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.FrameTime> + x.CacheTimeout)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.CacheTimeout> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> + x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtuOverUdp/ModbusRtuOverUdpDebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtuOverUdp/ModbusRtuOverUdpDebugDriverPage.razor index 46afc5f6a..d010c9819 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtuOverUdp/ModbusRtuOverUdpDebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusRtuOverUdp/ModbusRtuOverUdpDebugDriverPage.razor @@ -25,12 +25,12 @@ - x.Crc16CheckEnable)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Crc16CheckEnable> - x.FrameTime)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.FrameTime> + x.Crc16CheckEnable)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Crc16CheckEnable> + x.FrameTime)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.FrameTime> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> + x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusServer/ModbusServerDebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusServer/ModbusServerDebugDriverPage.razor index 5e6b7e13a..b29990d0b 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusServer/ModbusServerDebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusServer/ModbusServerDebugDriverPage.razor @@ -25,11 +25,11 @@ - x.MulStation)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.MulStation> + x.MulStation)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.MulStation> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> + x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusTcp/ModbusTcpDebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusTcp/ModbusTcpDebugDriverPage.razor index 7c75bb7b4..61059dd91 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusTcp/ModbusTcpDebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusTcp/ModbusTcpDebugDriverPage.razor @@ -25,13 +25,13 @@ - x.IsCheckMessageId)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.IsCheckMessageId> - x.FrameTime)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.FrameTime> - x.CacheTimeout)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.CacheTimeout> + x.IsCheckMessageId)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.IsCheckMessageId> + x.FrameTime)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.FrameTime> + x.CacheTimeout)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.CacheTimeout> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> + x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusUdp/ModbusUdpDebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusUdp/ModbusUdpDebugDriverPage.razor index 6846ef777..a49a61b88 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusUdp/ModbusUdpDebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Modbus/ModbusUdp/ModbusUdpDebugDriverPage.razor @@ -25,12 +25,12 @@ - x.IsCheckMessageId)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.IsCheckMessageId> - x.FrameTime)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.FrameTime> + x.IsCheckMessageId)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.IsCheckMessageId> + x.FrameTime)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.FrameTime> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.Station)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Station> + x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.OPCUA/OPCUAClient/ImportVariable.razor.cs b/framework/ThingsGateway.Plugin/ThingsGateway.OPCUA/OPCUAClient/ImportVariable.razor.cs index a923c646e..ae37ffcff 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.OPCUA/OPCUAClient/ImportVariable.razor.cs +++ b/framework/ThingsGateway.Plugin/ThingsGateway.OPCUA/OPCUAClient/ImportVariable.razor.cs @@ -89,7 +89,7 @@ public partial class ImportVariable var dataTypeId = (Opc.Ua.NodeId)(await PLC.ReadNoteAttributeAsync(a.NodeId.ToString(), Attributes.DataType)).Content.FirstOrDefault().Value; var dataType = Opc.Ua.TypeInfo.GetSystemType(dataTypeId, PLC.Session.Factory); - var result = dataType != null ? Enum.TryParse(dataType.Name, out dataTypeEnum) : false; + var result = dataType != null && Enum.TryParse(dataType.Name, out dataTypeEnum); if (!result) { dataTypeEnum = DataTypeEnum.Object; diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_1200DebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_1200DebugDriverPage.razor index 1bf00f80f..15d98f81c 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_1200DebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_1200DebugDriverPage.razor @@ -25,11 +25,11 @@ - x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> - x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> + x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> + x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_1500DebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_1500DebugDriverPage.razor index 281cf04d1..4a15ed4dd 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_1500DebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_1500DebugDriverPage.razor @@ -25,11 +25,11 @@ - x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> - x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> + x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> + x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_200DebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_200DebugDriverPage.razor index 42b0ae95e..c1cff3307 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_200DebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_200DebugDriverPage.razor @@ -25,11 +25,11 @@ - x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> - x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> + x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> + x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_200SMARTDebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_200SMARTDebugDriverPage.razor index f31a1c9c2..ed38b07c1 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_200SMARTDebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_200SMARTDebugDriverPage.razor @@ -25,11 +25,11 @@ - x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> - x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> + x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> + x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_300DebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_300DebugDriverPage.razor index 068c81aad..7449ca50a 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_300DebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_300DebugDriverPage.razor @@ -25,11 +25,11 @@ - x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> - x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> + x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> + x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) diff --git a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_400DebugDriverPage.razor b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_400DebugDriverPage.razor index 2e9343662..e16fd98cb 100644 --- a/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_400DebugDriverPage.razor +++ b/framework/ThingsGateway.Plugin/ThingsGateway.Siemens/S7_400DebugDriverPage.razor @@ -25,11 +25,11 @@ - x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> - x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> + x.Slot)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Slot> + x.Rack)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.Rack> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> - x.TimeOut)) Dense Outlined HideDetails="@("auto")" @bind-Value=@_plc.TimeOut> + u.des) diff --git a/framework/ThingsGateway.sln b/framework/ThingsGateway.sln index 43687ce6c..1eeaa8b01 100644 --- a/framework/ThingsGateway.sln +++ b/framework/ThingsGateway.sln @@ -88,6 +88,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Foundataion.Demo", "Foundat EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ModbusDemo", "ThingsGateway.Plugin\Foundataion.Demo\ModbusDemo\ModbusDemo.csproj", "{48D2CA26-E535-413D-8CA9-A4A2AAC6582D}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OPCUAClientDemo", "ThingsGateway.Plugin\Foundataion.Demo\OPCUAClientDemo\OPCUAClientDemo.csproj", "{3F83EF0F-002D-4D06-87A8-739399074DBA}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -186,6 +188,10 @@ Global {48D2CA26-E535-413D-8CA9-A4A2AAC6582D}.Debug|Any CPU.Build.0 = Debug|Any CPU {48D2CA26-E535-413D-8CA9-A4A2AAC6582D}.Release|Any CPU.ActiveCfg = Release|Any CPU {48D2CA26-E535-413D-8CA9-A4A2AAC6582D}.Release|Any CPU.Build.0 = Release|Any CPU + {3F83EF0F-002D-4D06-87A8-739399074DBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3F83EF0F-002D-4D06-87A8-739399074DBA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3F83EF0F-002D-4D06-87A8-739399074DBA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3F83EF0F-002D-4D06-87A8-739399074DBA}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -220,6 +226,7 @@ Global {E1C327FA-C442-45DD-9265-9EA26573B61E} = {F2DF3BE7-D497-44B3-9CD6-CDDBC4FBD09C} {E733E483-4823-4BD6-BC29-669426386A96} = {86119A5F-5717-42FF-8888-F034B4136A1B} {48D2CA26-E535-413D-8CA9-A4A2AAC6582D} = {E733E483-4823-4BD6-BC29-669426386A96} + {3F83EF0F-002D-4D06-87A8-739399074DBA} = {E733E483-4823-4BD6-BC29-669426386A96} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {38B292E0-B3E7-4608-9912-1B057C2A508F}