This commit is contained in:
parallelbgls
2024-12-23 16:22:52 +08:00
parent c3c4125a4b
commit 40b2b39d2b
2 changed files with 12 additions and 12 deletions

View File

@@ -3,6 +3,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Reflection.Metadata.Ecma335;
using System.Threading.Tasks; using System.Threading.Tasks;
using AddressUnit = Modbus.Net.AddressUnit<string, int, int>; using AddressUnit = Modbus.Net.AddressUnit<string, int, int>;
using DataReturnDef = Modbus.Net.DataReturnDef<string, double>; using DataReturnDef = Modbus.Net.DataReturnDef<string, double>;
@@ -57,8 +58,9 @@ namespace Modbus.Net.Modbus
} }
} }
public ModbusRtuDataReceiver(MachineDataType dataType) public ModbusRtuDataReceiver(MachineDataType dataType, int minimumElapse = 0)
{ {
var previousTime = DateTime.MinValue;
_receivers = new List<ModbusRtuProtocolReceiver>(); _receivers = new List<ModbusRtuProtocolReceiver>();
var receiversDef = configuration.GetSection("Modbus.Net").GetSection("Receiver").GetChildren(); var receiversDef = configuration.GetSection("Modbus.Net").GetSection("Receiver").GetChildren();
foreach (var receiverDef in receiversDef) foreach (var receiverDef in receiversDef)
@@ -141,12 +143,16 @@ namespace Modbus.Net.Modbus
value = Math.Round(value, addressMap[i].DecimalPos); value = Math.Round(value, addressMap[i].DecimalPos);
AddValueToValueDic(valueDic, returnDic, addressMap[i], value, dataType); AddValueToValueDic(valueDic, returnDic, addressMap[i], value, dataType);
} }
if ((returnTime - previousTime).TotalSeconds + 0.5 >= minimumElapse)
{
if (ReturnValueDictionary != null) if (ReturnValueDictionary != null)
{ {
var dataReturn = new DataReturnDef(); var dataReturn = new DataReturnDef();
dataReturn.MachineId = machineName; dataReturn.MachineId = machineName;
dataReturn.ReturnValues = new ReturnStruct<Dictionary<string, ReturnUnit<double>>>() { IsSuccess = true, Datas = returnDic }; dataReturn.ReturnValues = new ReturnStruct<Dictionary<string, ReturnUnit<double>>>() { IsSuccess = true, Datas = returnDic };
ReturnValueDictionary(dataReturn); ReturnValueDictionary(dataReturn);
previousTime = returnTime;
}
} }
} }
catch (Exception ex) catch (Exception ex)

View File

@@ -1,6 +0,0 @@
namespace Modbus.Net.Machine
{
public class BaseServer
{
}
}