private static List <List <byte> > CreateRequestCommandByteStreamsForFunNum03(ICustomerRequestData customerRequestData) { List <List <byte> > requesCommandByteStreams = new List <List <byte> >(); FunNum03CustomerRequestData funNum03CustomerRequestData = (FunNum03CustomerRequestData)customerRequestData; List <FunNum03RequestDataBase> funNum03RequestDataBases = funNum03CustomerRequestData.CovertToFunNum03RequestDataBases(); foreach (FunNum03RequestDataBase item in funNum03RequestDataBases) { FunNum03RequestDataRTU funNum03RequestDataRTU = new FunNum03RequestDataRTU(); funNum03RequestDataRTU.FunNum03RequestDataBase = item; requesCommandByteStreams.Add(funNum03RequestDataRTU.ToByteList()); } return(requesCommandByteStreams); }
private static List <List <byte> > CreateRequestCommandByteStreamForFunNum03(List <DataPoint> dataPoints) { List <List <byte> > requestCommandByteStreams = new List <List <byte> >();; DataPoint firstDataPoint = dataPoints.First(); int theFirstRegisterAddress = dataPoints.First().StartRegisterAddress; int theLastRegisterAddress = dataPoints.Last().StartRegisterAddress + RegisterCountCalculator.GetRegisterCount(dataPoints.Last().DataPointDataType) - 1; int registerCount = theLastRegisterAddress - theFirstRegisterAddress + 1; FunNum03CustomerRequestData customerRequestData = new FunNum03CustomerRequestData(); customerRequestData.DeviceAddress = (byte)firstDataPoint.DeviceAddress; customerRequestData.FunctionNum = FunctionNumType.FunctionNum03; customerRequestData.StartingRegisterAddress = (ushort)theFirstRegisterAddress; customerRequestData.NumOfRegisterToRead = (ushort)registerCount; requestCommandByteStreams = TCPRequesCommandCreator.CreateRequestCommandByteStream(customerRequestData); return(requestCommandByteStreams); }