diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocol.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocol.cs index 8f7340e..98c70c2 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocol.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocol.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Ascii码协议Tcp透传 diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocolLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocolLinker.cs index 5491411..4ada93c 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInTcpProtocolLinker.cs @@ -1,7 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; -using System.Text; +using System.Text; namespace Modbus.Net.Modbus { diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInUdpProtocol.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInUdpProtocol.cs index 3fbeb09..d6bc2d2 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInUdpProtocol.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInUdpProtocol.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Ascii码协议Udp透传 @@ -15,7 +11,7 @@ namespace Modbus.Net.Modbus /// 从站号 /// 主站号 public ModbusAsciiInUdpProtocol(byte slaveAddress, byte masterAddress) - : this(ConfigurationReader.GetValueDirect("UDP:Modbus","IP"), slaveAddress, masterAddress) + : this(ConfigurationReader.GetValueDirect("UDP:Modbus", "IP"), slaveAddress, masterAddress) { } diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInUdpProtocolLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInUdpProtocolLinker.cs index 587b237..539bd5a 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInUdpProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiInUdpProtocolLinker.cs @@ -1,7 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; -using System.Text; +using System.Text; namespace Modbus.Net.Modbus { diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocol.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocol.cs index b32a93e..f3d7df6 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocol.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocol.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Ascii码协议 diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocolLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocolLinker.cs index d4343bb..cc61e5d 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusAsciiProtocolLinker.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.Collections.Generic; -using System.IO; -using System.IO.Ports; +using System.Collections.Generic; using System.Text; namespace Modbus.Net.Modbus diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocol.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocol.cs index ce6fb08..372c60a 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocol.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocol.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Rtu协议tcp透传 diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocolLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocolLinker.cs index 64bb229..6edbb94 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInTcpProtocolLinker.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Rtu协议连接器Tcp透传 diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInUdpProtocol.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInUdpProtocol.cs index fc68dd0..47f23ff 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInUdpProtocol.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInUdpProtocol.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Rtu协议udp透传 diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInUdpProtocolLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInUdpProtocolLinker.cs index 53d633e..6ae0bac 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInUdpProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuInUdpProtocolLinker.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Rtu协议连接器Udp透传 diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocol.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocol.cs index 913a90a..e59ff1a 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocol.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocol.cs @@ -1,15 +1,11 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Rtu协议 /// public class ModbusRtuProtocol : ModbusProtocol { - /// + /// /// 构造函数 /// /// 从站号 diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocolLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocolLinker.cs index 9476653..fd52b27 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusRtuProtocolLinker.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.Collections.Generic; -using System.IO; -using System.IO.Ports; +using System.Collections.Generic; namespace Modbus.Net.Modbus { diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocol.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocol.cs index f01d360..a609124 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocol.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocol.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Tcp协议 diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocolLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocolLinker.cs index 45a5781..d788b28 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusTcpProtocolLinker.cs @@ -1,9 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.Collections.Generic; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Tcp协议连接器 diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusUdpProtocol.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusUdpProtocol.cs index c529858..d952863 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusUdpProtocol.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusUdpProtocol.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Udp协议 diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusUdpProtocolLinker.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusUdpProtocolLinker.cs index 731e04e..077cec6 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusUdpProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusUdpProtocolLinker.cs @@ -1,9 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.Collections.Generic; -using System.IO; - -namespace Modbus.Net.Modbus +namespace Modbus.Net.Modbus { /// /// Modbus/Udp协议连接器 diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusUtility.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusUtility.cs index 1af5205..3b8b0e6 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusUtility.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusUtility.cs @@ -416,7 +416,7 @@ namespace Modbus.Net.Modbus IsSuccess = outputStruct?.WriteValue.ToString() == setContent.ToString(), ErrorCode = outputStruct?.WriteValue.ToString() == setContent.ToString() ? 0 : -2, ErrorMsg = outputStruct?.WriteValue.ToString() == setContent.ToString() ? "" : "Data length mismatch" - }; + }; } catch (ModbusProtocolErrorException e) { diff --git a/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocol.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocol.cs index e6e7dae..0e1908a 100644 --- a/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocol.cs +++ b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocol.cs @@ -1,7 +1,4 @@ -using Microsoft.Extensions.Configuration; -using Nito.AsyncEx; -using System; -using System.IO; +using Nito.AsyncEx; using System.Threading.Tasks; namespace Modbus.Net.Siemens diff --git a/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocolLinker.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocolLinker.cs index d482f48..c7bfcb4 100644 --- a/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net.Siemens/SiemensPpiProtocolLinker.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; -using System.IO.Ports; -using System.Threading; +using System.Threading; using System.Threading.Tasks; diff --git a/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocol.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocol.cs index c9891fc..7aeb932 100644 --- a/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocol.cs +++ b/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocol.cs @@ -1,7 +1,4 @@ -using Microsoft.Extensions.Configuration; -using Nito.AsyncEx; -using System; -using System.IO; +using Nito.AsyncEx; using System.Threading.Tasks; namespace Modbus.Net.Siemens diff --git a/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocolLinker.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocolLinker.cs index bdb88fc..ca2997f 100644 --- a/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net.Siemens/SiemensTcpProtocolLinker.cs @@ -1,7 +1,5 @@ -using Microsoft.Extensions.Configuration; -using System; +using System; using System.Collections.Generic; -using System.IO; namespace Modbus.Net.Siemens { diff --git a/Modbus.Net/Modbus.Net.Siemens/SiemensUtility.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensUtility.cs index 211cec2..9e7a0e0 100644 --- a/Modbus.Net/Modbus.Net.Siemens/SiemensUtility.cs +++ b/Modbus.Net/Modbus.Net.Siemens/SiemensUtility.cs @@ -202,9 +202,9 @@ namespace Modbus.Net.Siemens } //MPI //case SiemensType.Mpi: - //{ - //throw new NotImplementedException(); - //} + //{ + //throw new NotImplementedException(); + //} //Ethenet case SiemensType.Tcp: { @@ -306,7 +306,8 @@ namespace Modbus.Net.Siemens Wrapper.SendReceiveAsync( Wrapper[typeof(WriteRequestSiemensProtocol)], writeRequestSiemensInputStruct); - return new ReturnStruct { + return new ReturnStruct + { Datas = writeRequestSiemensOutputStruct?.AccessResult == SiemensAccessResult.NoError, IsSuccess = writeRequestSiemensOutputStruct?.AccessResult == SiemensAccessResult.NoError, ErrorCode = writeRequestSiemensOutputStruct?.AccessResult == SiemensAccessResult.NoError ? 0 : (int)writeRequestSiemensOutputStruct?.AccessResult, diff --git a/Modbus.Net/Modbus.Net/Configuration/ConfigurationReader.cs b/Modbus.Net/Modbus.Net/Configuration/ConfigurationReader.cs index 72f79f3..fcd6b03 100644 --- a/Modbus.Net/Modbus.Net/Configuration/ConfigurationReader.cs +++ b/Modbus.Net/Modbus.Net/Configuration/ConfigurationReader.cs @@ -1,10 +1,7 @@ using Microsoft.Extensions.Configuration; using System; -using System.Collections.Generic; using System.IO; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Modbus.Net { @@ -28,7 +25,7 @@ namespace Modbus.Net /// 元素的键 /// 元素的值 public static string? GetValue(string path, string key) - { + { var split = path.Split(":"); string? ans = null; while (split.Length > 0) @@ -56,7 +53,7 @@ namespace Modbus.Net var firstColon = path.IndexOf(":"); while (firstColon != -1) { - root = root?.GetSection(path.Substring(0,firstColon)); + root = root?.GetSection(path.Substring(0, firstColon)); path = path.Substring(firstColon + 1); firstColon = path.IndexOf(":"); } diff --git a/Modbus.Net/Modbus.Net/Controller/FifoController.cs b/Modbus.Net/Modbus.Net/Controller/FifoController.cs index e6d30f0..e7c9e3a 100644 --- a/Modbus.Net/Modbus.Net/Controller/FifoController.cs +++ b/Modbus.Net/Modbus.Net/Controller/FifoController.cs @@ -1,8 +1,6 @@ -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; -using System.IO; using System.Linq; using System.Threading; @@ -38,7 +36,7 @@ namespace Modbus.Net public FifoController(int acquireTime, bool activateSema = true, Func> duplicateFunc = null, int? waitingListMaxCount = null) : base(duplicateFunc) { - _waitingListMaxCount = int.Parse(waitingListMaxCount != null ? waitingListMaxCount.ToString() : null ?? ConfigurationReader.GetValueDirect("Controller","WaitingListCount")); + _waitingListMaxCount = int.Parse(waitingListMaxCount != null ? waitingListMaxCount.ToString() : null ?? ConfigurationReader.GetValueDirect("Controller", "WaitingListCount")); if (activateSema) { _taskCycleSema = new Semaphore(0, _waitingListMaxCount); diff --git a/Modbus.Net/Modbus.Net/Job/MultipleMachinesJobSchedulerCreator.cs b/Modbus.Net/Modbus.Net/Job/MultipleMachinesJobSchedulerCreator.cs index a565477..05a5a85 100644 --- a/Modbus.Net/Modbus.Net/Job/MultipleMachinesJobSchedulerCreator.cs +++ b/Modbus.Net/Modbus.Net/Job/MultipleMachinesJobSchedulerCreator.cs @@ -6,58 +6,58 @@ using System.Threading.Tasks; namespace Modbus.Net { - /// - /// 豸 - /// - public sealed class MultipleMachinesJobScheduler - { - private static int _machineCount = 0; + /// + /// 豸 + /// + public sealed class MultipleMachinesJobScheduler + { + private static int _machineCount = 0; - /// - /// 豸 - /// - /// 豸ļ - /// 豸ģ - /// ظΪѭ0Ϊִһ - /// - /// - public static ParallelLoopResult RunScheduler(IEnumerable> machines, Func, MachineGetJobScheduler, Task> machineJobTemplate, int count = 0, int intervalSecond = 1) where TKey: IEquatable - { - _machineCount = machines.Count(); - return Parallel.ForEach(machines, (machine, state, index) => - { - Task.Factory.StartNew(async () => - { - Thread.Sleep((int)(intervalSecond * 1000.0 / _machineCount * index)); - var getJobScheduler = await MachineJobSchedulerCreator.CreateScheduler("Trigger" + index, count, intervalSecond); - await machineJobTemplate(machine, getJobScheduler); - }); - }); - } + /// + /// 豸 + /// + /// 豸ļ + /// 豸ģ + /// ظΪѭ0Ϊִһ + /// + /// + public static ParallelLoopResult RunScheduler(IEnumerable> machines, Func, MachineGetJobScheduler, Task> machineJobTemplate, int count = 0, int intervalSecond = 1) where TKey : IEquatable + { + _machineCount = machines.Count(); + return Parallel.ForEach(machines, (machine, state, index) => + { + Task.Factory.StartNew(async () => + { + Thread.Sleep((int)(intervalSecond * 1000.0 / _machineCount * index)); + var getJobScheduler = await MachineJobSchedulerCreator.CreateScheduler("Trigger" + index, count, intervalSecond); + await machineJobTemplate(machine, getJobScheduler); + }); + }); + } - /// - /// 豸 - /// - /// 豸ļ - /// 豸ģ - /// ظΪѭ0Ϊִһ - /// - /// - public static ParallelLoopResult RunScheduler(IEnumerable> machines, Func, MachineGetJobScheduler, Task> machineJobTemplate, int count = 0, int intervalSecond = 1) - { - return RunScheduler(machines, machineJobTemplate, count, intervalSecond); - } + /// + /// 豸 + /// + /// 豸ļ + /// 豸ģ + /// ظΪѭ0Ϊִһ + /// + /// + public static ParallelLoopResult RunScheduler(IEnumerable> machines, Func, MachineGetJobScheduler, Task> machineJobTemplate, int count = 0, int intervalSecond = 1) + { + return RunScheduler(machines, machineJobTemplate, count, intervalSecond); + } - /// - /// ȡ - /// - /// - public static ParallelLoopResult CancelJob() - { - return Parallel.For(0, _machineCount, async index => - { - await MachineJobSchedulerCreator.CancelJob("Trigger" + index); - }); - } - } + /// + /// ȡ + /// + /// + public static ParallelLoopResult CancelJob() + { + return Parallel.For(0, _machineCount, async index => + { + await MachineJobSchedulerCreator.CancelJob("Trigger" + index); + }); + } + } } diff --git a/Modbus.Net/Modbus.Net/Linker/ComProtocolLinker.cs b/Modbus.Net/Modbus.Net/Linker/ComProtocolLinker.cs index 5a76a0a..2abb859 100644 --- a/Modbus.Net/Modbus.Net/Linker/ComProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net/Linker/ComProtocolLinker.cs @@ -1,6 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; +using System; using System.IO.Ports; namespace Modbus.Net @@ -22,9 +20,9 @@ namespace Modbus.Net /// 从站地址 /// 是否为全双工 protected ComProtocolLinker(string com, int slaveAddress, int? baudRate = null, Parity? parity = null, StopBits? stopBits = null, int? dataBits = null, - int? connectionTimeout = null, bool? isFullDuplex = null) + int? connectionTimeout = null, bool? isFullDuplex = null) { - baudRate = int.Parse(baudRate != null ? baudRate.ToString() : null ?? ConfigurationReader.GetValue("COM:"+com, "BaudRate")); + baudRate = int.Parse(baudRate != null ? baudRate.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "BaudRate")); parity = Enum.Parse(parity != null ? parity.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "Parity")); stopBits = Enum.Parse(stopBits != null ? stopBits.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "StopBits")); dataBits = int.Parse(dataBits != null ? dataBits.ToString() : null ?? ConfigurationReader.GetValue("COM:" + com, "DataBits")); diff --git a/Modbus.Net/Modbus.Net/Linker/TcpProtocolLinker.cs b/Modbus.Net/Modbus.Net/Linker/TcpProtocolLinker.cs index 2b6a6d7..d476f85 100644 --- a/Modbus.Net/Modbus.Net/Linker/TcpProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net/Linker/TcpProtocolLinker.cs @@ -1,9 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.Configuration; -using System.IO; - -namespace Modbus.Net +namespace Modbus.Net { /// /// Tcp连接对象 @@ -19,7 +14,7 @@ namespace Modbus.Net /// 是否为全双工 protected TcpProtocolLinker(string ip, int port, int? connectionTimeout = null, bool? isFullDuplex = null) { - connectionTimeout = int.Parse(connectionTimeout != null ? connectionTimeout.ToString() : null ?? ConfigurationReader.GetValue("TCP:"+ip+":"+port, "ConnectionTimeout")); + connectionTimeout = int.Parse(connectionTimeout != null ? connectionTimeout.ToString() : null ?? ConfigurationReader.GetValue("TCP:" + ip + ":" + port, "ConnectionTimeout")); isFullDuplex = bool.Parse(isFullDuplex != null ? isFullDuplex.ToString() : null ?? ConfigurationReader.GetValue("TCP:" + ip + ":" + port, "FullDuplex")); //初始化连接对象 BaseConnector = new TcpConnector(ip, port, connectionTimeout.Value, isFullDuplex.Value); diff --git a/Modbus.Net/Modbus.Net/Linker/UdpProtocolLinker.cs b/Modbus.Net/Modbus.Net/Linker/UdpProtocolLinker.cs index 7d7120b..7496341 100644 --- a/Modbus.Net/Modbus.Net/Linker/UdpProtocolLinker.cs +++ b/Modbus.Net/Modbus.Net/Linker/UdpProtocolLinker.cs @@ -1,8 +1,4 @@ -using Microsoft.Extensions.Configuration; -using System; -using System.IO; - -namespace Modbus.Net +namespace Modbus.Net { /// /// Udp连接对象 diff --git a/Modbus.Net/Modbus.Net/Machine/BaseMachine.cs b/Modbus.Net/Modbus.Net/Machine/BaseMachine.cs index acc8685..dc656a1 100644 --- a/Modbus.Net/Modbus.Net/Machine/BaseMachine.cs +++ b/Modbus.Net/Modbus.Net/Machine/BaseMachine.cs @@ -212,8 +212,9 @@ namespace Modbus.Net if (!BaseUtility.IsConnected) await BaseUtility.ConnectAsync(); //如果无法连接,终止 - if (!BaseUtility.IsConnected) return - new ReturnStruct>() { + if (!BaseUtility.IsConnected) return + new ReturnStruct>() + { Datas = null, IsSuccess = false, ErrorCode = -1, @@ -493,11 +494,11 @@ namespace Modbus.Net ErrorMsg = datas.ErrorMsg }; } - else if(datas.Datas.Length < - (int) - Math.Ceiling(communicateAddress.GetCount * - BigEndianValueHelper.Instance.ByteLength[ - communicateAddress.DataType.FullName])) + else if (datas.Datas.Length < + (int) + Math.Ceiling(communicateAddress.GetCount * + BigEndianValueHelper.Instance.ByteLength[ + communicateAddress.DataType.FullName])) return new ReturnStruct() { Datas = false, diff --git a/Modbus.Net/Modbus.Net/ReturnStruct/ReturnStruct.cs b/Modbus.Net/Modbus.Net/ReturnStruct/ReturnStruct.cs index 8bdd878..04c13a5 100644 --- a/Modbus.Net/Modbus.Net/ReturnStruct/ReturnStruct.cs +++ b/Modbus.Net/Modbus.Net/ReturnStruct/ReturnStruct.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Modbus.Net +namespace Modbus.Net { /// /// 返回引用类型 diff --git a/Modbus.Net/Modbus.Net/Utility/BaseUtility.cs b/Modbus.Net/Modbus.Net/Utility/BaseUtility.cs index ab8d89e..ae0e3bf 100644 --- a/Modbus.Net/Modbus.Net/Utility/BaseUtility.cs +++ b/Modbus.Net/Modbus.Net/Utility/BaseUtility.cs @@ -2,9 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Security.Policy; using System.Threading.Tasks; -using System.Xml.Linq; /// /// 端格式 diff --git a/Modbus.Net/Modbus.Net/appsettings.default.json b/Modbus.Net/Modbus.Net/appsettings.default.json index 1dd1341..ab8c698 100644 --- a/Modbus.Net/Modbus.Net/appsettings.default.json +++ b/Modbus.Net/Modbus.Net/appsettings.default.json @@ -26,8 +26,8 @@ "FetchSleepTime": "100", "ConnectionTimeout": "5000", "BaudRate": "9600", - "Parity": "Parity.None", - "StopBits": "StopBits.One", + "Parity": "None", + "StopBits": "One", "DataBits": "8", "FullDuplex": "False", "Modbus": { diff --git a/Samples/AnyType/appsettings.default.json b/Samples/AnyType/appsettings.default.json index 1dd1341..ab8c698 100644 --- a/Samples/AnyType/appsettings.default.json +++ b/Samples/AnyType/appsettings.default.json @@ -26,8 +26,8 @@ "FetchSleepTime": "100", "ConnectionTimeout": "5000", "BaudRate": "9600", - "Parity": "Parity.None", - "StopBits": "StopBits.One", + "Parity": "None", + "StopBits": "One", "DataBits": "8", "FullDuplex": "False", "Modbus": { diff --git a/Samples/CrossLamp/appsettings.default.json b/Samples/CrossLamp/appsettings.default.json index 1dd1341..ab8c698 100644 --- a/Samples/CrossLamp/appsettings.default.json +++ b/Samples/CrossLamp/appsettings.default.json @@ -26,8 +26,8 @@ "FetchSleepTime": "100", "ConnectionTimeout": "5000", "BaudRate": "9600", - "Parity": "Parity.None", - "StopBits": "StopBits.One", + "Parity": "None", + "StopBits": "One", "DataBits": "8", "FullDuplex": "False", "Modbus": { diff --git a/Samples/MachineJob/Worker.cs b/Samples/MachineJob/Worker.cs index 24c665f..72b54c3 100644 --- a/Samples/MachineJob/Worker.cs +++ b/Samples/MachineJob/Worker.cs @@ -46,8 +46,8 @@ namespace MachineJob.Service IMachine machine = new ModbusMachine("ModbusMachine1", ModbusType.Tcp, null, _addresses, true, 1, 2, Endian.BigEndianLsb); IMachine machine2 = new SiemensMachine("SiemensMachine1", SiemensType.Tcp, null, SiemensMachineModel.S7_1200, _addresses2, true, 1, 2); - - var machines = new List>() { machine, machine2 }; + IMachine machine3 = new ModbusMachine("ModbusMachine2", ModbusType.Rtu, "COM3", _addresses, true, 3, 2); + var machines = new List>() { machine, machine2, machine3 }; return Task.Run(() => MultipleMachinesJobScheduler.RunScheduler(machines, async (machine, scheduler) => { await scheduler.From(machine.Id, machine, MachineDataType.Name).Result.Query(machine.Id + ".ConsoleQuery", QueryConsole).Result.To(machine.Id + ".To", machine).Result.Deal(machine.Id + ".Deal", OnSuccess, OnFailure).Result.Run(); @@ -56,7 +56,7 @@ namespace MachineJob.Service public override Task StopAsync(CancellationToken cancellationToken) { - return Task.Run(()=>MultipleMachinesJobScheduler.CancelJob()); + return Task.Run(() => MultipleMachinesJobScheduler.CancelJob()); } public Task OnSuccess(string machineId) @@ -67,51 +67,55 @@ namespace MachineJob.Service public Task OnFailure(string machineId, int errorCode, string errorMsg) { - _logger.LogError("Machine {0} set failure", machineId); + _logger.LogError("Machine {0} set failure: {1}", machineId, errorMsg); return Task.CompletedTask; } - private Dictionary QueryConsole(DataReturnDef dataReturnDef) + private Dictionary? QueryConsole(DataReturnDef dataReturnDef) { var values = dataReturnDef.ReturnValues.Datas; - foreach (var value in values) + if (dataReturnDef.ReturnValues.IsSuccess) { - _logger.LogInformation(dataReturnDef.MachineId + " " + value.Key + " " + value.Value.DeviceValue); - } - - try - { - using (var context = new DatabaseWriteContext()) + foreach (var value in values) { - context.DatabaseWrites.Add(new DatabaseWriteEntity - { - Value1 = values["Test1"].DeviceValue, - Value2 = values["Test2"].DeviceValue, - Value3 = values["Test3"].DeviceValue, - Value4 = values["Test4"].DeviceValue, - Value5 = values["Test5"].DeviceValue, - Value6 = values["Test6"].DeviceValue, - Value7 = values["Test7"].DeviceValue, - Value8 = values["Test8"].DeviceValue, - Value9 = values["Test9"].DeviceValue, - Value10 = values["Test10"].DeviceValue, - UpdateTime = DateTime.Now, - }); - context.SaveChanges(); + _logger.LogInformation(dataReturnDef.MachineId + " " + value.Key + " " + value.Value.DeviceValue); } - } - catch - { - //ignore - } - Random r = new Random(); - foreach (var value in values) - { - value.Value.DeviceValue = r.Next(65536) - 32768; - } + try + { + using (var context = new DatabaseWriteContext()) + { + context.DatabaseWrites.Add(new DatabaseWriteEntity + { + Value1 = values["Test1"].DeviceValue, + Value2 = values["Test2"].DeviceValue, + Value3 = values["Test3"].DeviceValue, + Value4 = values["Test4"].DeviceValue, + Value5 = values["Test5"].DeviceValue, + Value6 = values["Test6"].DeviceValue, + Value7 = values["Test7"].DeviceValue, + Value8 = values["Test8"].DeviceValue, + Value9 = values["Test9"].DeviceValue, + Value10 = values["Test10"].DeviceValue, + UpdateTime = DateTime.Now, + }); + context.SaveChanges(); + } + } + catch + { + //ignore + } - return values.MapGetValuesToSetValues(); + Random r = new Random(); + foreach (var value in values) + { + value.Value.DeviceValue = r.Next(65536) - 32768; + } + + return values.MapGetValuesToSetValues(); + } + return null; } } } \ No newline at end of file diff --git a/Samples/MachineJob/appsettings.default.json b/Samples/MachineJob/appsettings.default.json index 1dd1341..ab8c698 100644 --- a/Samples/MachineJob/appsettings.default.json +++ b/Samples/MachineJob/appsettings.default.json @@ -26,8 +26,8 @@ "FetchSleepTime": "100", "ConnectionTimeout": "5000", "BaudRate": "9600", - "Parity": "Parity.None", - "StopBits": "StopBits.One", + "Parity": "None", + "StopBits": "One", "DataBits": "8", "FullDuplex": "False", "Modbus": { diff --git a/Samples/TripleAdd/appsettings.default.json b/Samples/TripleAdd/appsettings.default.json index 1dd1341..ab8c698 100644 --- a/Samples/TripleAdd/appsettings.default.json +++ b/Samples/TripleAdd/appsettings.default.json @@ -26,8 +26,8 @@ "FetchSleepTime": "100", "ConnectionTimeout": "5000", "BaudRate": "9600", - "Parity": "Parity.None", - "StopBits": "StopBits.One", + "Parity": "None", + "StopBits": "One", "DataBits": "8", "FullDuplex": "False", "Modbus": {