Example #1
0
        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);
        }
Example #2
0
        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);
        }