diff --git a/src/Directory.Build.props b/src/Directory.Build.props index e7f68d164..07bee9c70 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,8 +1,8 @@ - 10.0.1.4 - 10.0.1.4 + 10.0.1.5 + 10.0.1.5 diff --git a/src/Foundation/ThingsGateway.Foundation/Device/DeviceBase.cs b/src/Foundation/ThingsGateway.Foundation/Device/DeviceBase.cs index cbda20667..40886cf21 100644 --- a/src/Foundation/ThingsGateway.Foundation/Device/DeviceBase.cs +++ b/src/Foundation/ThingsGateway.Foundation/Device/DeviceBase.cs @@ -874,7 +874,7 @@ public abstract class DeviceBase : DisposableObject, IDevice try { //只关闭,不释放 - Channel.SafeClose(); + _ = Channel.CloseAsync(); if (Channel is IClientChannel client) { client.WaitHandlePool.SafeDispose(); diff --git a/src/Gateway/ThingsGateway.Gateway.Application/Entity/Device.cs b/src/Gateway/ThingsGateway.Gateway.Application/Entity/Device.cs index a5f9416ca..ba9d7759d 100644 --- a/src/Gateway/ThingsGateway.Gateway.Application/Entity/Device.cs +++ b/src/Gateway/ThingsGateway.Gateway.Application/Entity/Device.cs @@ -118,6 +118,7 @@ public class Device : BaseDataEntity, IValidatableObject /// [SugarColumn(ColumnDescription = "冗余扫描间隔")] [AutoGenerateColumn(Visible = true, Filterable = true, Sortable = true)] + [MinValue(30000)] public virtual int RedundantScanIntervalTime { get; set; } = 30000; /// diff --git a/src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Dlt645_2007Master.cs b/src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Dlt645_2007Master.cs index 87770ba35..567446f9e 100644 --- a/src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Dlt645_2007Master.cs +++ b/src/Plugin/ThingsGateway.Foundation.Dlt645/Dlt645/Dlt645_2007Master.cs @@ -21,10 +21,10 @@ public class Dlt645_2007Master : DeviceBase, IDtu public override void InitChannel(IChannel channel, ILog? deviceLog = null) { base.InitChannel(channel, deviceLog); - ThingsGatewayBitConverter = new Dlt645_2007BitConverter(EndianType.Big); RegisterByteLength = 2; channel.MaxSign = ushort.MaxValue; } + public override IThingsGatewayBitConverter ThingsGatewayBitConverter { get; protected set; } = new Dlt645_2007BitConverter(EndianType.Big) { }; /// /// 客户端连接滑动过期时间(TCP服务通道时) diff --git a/src/Plugin/ThingsGateway.Foundation.Modbus/Master/ModbusMaster.cs b/src/Plugin/ThingsGateway.Foundation.Modbus/Master/ModbusMaster.cs index b4ed4b01a..36e620c35 100644 --- a/src/Plugin/ThingsGateway.Foundation.Modbus/Master/ModbusMaster.cs +++ b/src/Plugin/ThingsGateway.Foundation.Modbus/Master/ModbusMaster.cs @@ -18,10 +18,10 @@ public partial class ModbusMaster : DeviceBase, IDtu { base.InitChannel(channel, deviceLog); - ThingsGatewayBitConverter = new ThingsGatewayBitConverter(EndianType.Big); RegisterByteLength = 2; channel.MaxSign = ushort.MaxValue; } + public override IThingsGatewayBitConverter ThingsGatewayBitConverter { get; protected set; } = new ThingsGatewayBitConverter(EndianType.Big) { }; /// /// 客户端连接滑动过期时间(TCP服务通道时) diff --git a/src/Plugin/ThingsGateway.Foundation.Modbus/Slave/ModbusSlave.cs b/src/Plugin/ThingsGateway.Foundation.Modbus/Slave/ModbusSlave.cs index 84ae43717..e731585a4 100644 --- a/src/Plugin/ThingsGateway.Foundation.Modbus/Slave/ModbusSlave.cs +++ b/src/Plugin/ThingsGateway.Foundation.Modbus/Slave/ModbusSlave.cs @@ -48,10 +48,10 @@ public class ModbusSlave : DeviceBase, ITcpService, IDtuClient public override void InitChannel(IChannel channel, ILog? deviceLog = null) { base.InitChannel(channel, deviceLog); - ThingsGatewayBitConverter = new ThingsGatewayBitConverter(EndianType.Big); RegisterByteLength = 2; channel.MaxSign = ushort.MaxValue; } + public override IThingsGatewayBitConverter ThingsGatewayBitConverter { get; protected set; } = new ThingsGatewayBitConverter(EndianType.Big) { }; public override bool SupportMultipleDevice() { diff --git a/src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/SiemensS7Master.cs b/src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/SiemensS7Master.cs index 6a7be9ac7..7c72a6228 100644 --- a/src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/SiemensS7Master.cs +++ b/src/Plugin/ThingsGateway.Foundation.SiemensS7/S7/SiemensS7Master.cs @@ -24,9 +24,9 @@ public partial class SiemensS7Master : DeviceBase base.InitChannel(channel, deviceLog); RegisterByteLength = 1; - ThingsGatewayBitConverter = new S7BitConverter(EndianType.Big); } + public override IThingsGatewayBitConverter ThingsGatewayBitConverter { get; protected set; } = new S7BitConverter(EndianType.Big) { }; /// /// PduLength diff --git a/src/Version.props b/src/Version.props index fcfbb2e9a..fc2cbb785 100644 --- a/src/Version.props +++ b/src/Version.props @@ -1,6 +1,6 @@ - 10.0.1.4 + 10.0.1.5