修复上个版本 modbus驱动打包变量 代码错误
This commit is contained in:
		@@ -81,14 +81,25 @@ public class PackHelper
 | 
			
		||||
                var stationNumbers = modbusAddressSameFunList.Select(t => t.Station).Distinct();
 | 
			
		||||
                foreach (var stationNumber in stationNumbers)
 | 
			
		||||
                {
 | 
			
		||||
                    var modbusAddressSameStationList = modbusAddressList.Where(t => t.ReadFunction == stationNumber);
 | 
			
		||||
                    var modbusAddressSameStationList = modbusAddressList.Where(t => t.Station == stationNumber);
 | 
			
		||||
                    var socketIds = modbusAddressSameStationList.Select(t => t.SocketId).Distinct();
 | 
			
		||||
                    if (socketIds.Any())
 | 
			
		||||
                    {
 | 
			
		||||
                        foreach (var socketId in socketIds)//DTU区分
 | 
			
		||||
                        {
 | 
			
		||||
                            var addressList = modbusAddressSameFunList
 | 
			
		||||
 .Where(t => t.Station == stationNumber)
 | 
			
		||||
     .Where(t => t.SocketId == socketId)
 | 
			
		||||
     .ToDictionary(t => t, t => map[t]);
 | 
			
		||||
 | 
			
		||||
                            var tempResult = LoadSourceRead<T>(addressList, functionCode, group.Key, maxPack);
 | 
			
		||||
                            deviceVariableSourceReads.AddRange(tempResult);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        var addressList = modbusAddressSameStationList
 | 
			
		||||
.ToDictionary(t => t, t => map[t]);
 | 
			
		||||
 | 
			
		||||
                        var tempResult = LoadSourceRead<T>(addressList, functionCode, group.Key, maxPack);
 | 
			
		||||
                        deviceVariableSourceReads.AddRange(tempResult);
 | 
			
		||||
                    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user