Exemplo n.º 1
0
        private static List <List <byte> > CreateRequestCommandByteStreamForFunNum15(List <DataPoint> dataPoints)
        {
            List <List <byte> >         requestCommandByteStreams = new List <List <byte> >();
            FunNum15CustomerRequestData customerRequestData       = new FunNum15CustomerRequestData();

            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;

            customerRequestData.DeviceAddress       = (byte)firstDataPoint.DeviceAddress;
            customerRequestData.FunctionNum         = FunctionNumType.FunctionNum15;
            customerRequestData.StartingCoilAddress = (ushort)theFirstRegisterAddress;
            customerRequestData.NumOfCoilToForce    = (ushort)registerCount;

            foreach (var dataPoint in dataPoints)
            {
                if (Math.Abs(dataPoint.ValueToSet) > 0)
                {
                    customerRequestData.ForceData.Add(true);
                }
                else
                {
                    customerRequestData.ForceData.Add(false);
                }
            }

            requestCommandByteStreams =
                TCPRequesCommandCreator.CreateRequestCommandByteStream(customerRequestData);

            return(requestCommandByteStreams);
        }
        public void CreateRequestCommandByteStreamForFunNum15()
        {
            FunNum15CustomerRequestData customerRequestData = new FunNum15CustomerRequestData();

            customerRequestData.DeviceAddress       = 1;
            customerRequestData.FunctionNum         = FunctionNumType.FunctionNum15;
            customerRequestData.StartingCoilAddress = 0;
            //customerRequestData.NumOfCoilToForce = 20;
            customerRequestData.ForceData = new List <bool>()
            {
                true, false, true, false, true, false, true, false, true, false,
                true, false, true, false, true, false, true, false, true, false,
            };

            List <List <byte> > rtuRequesCmdByteStreams = RTURequesCommandCreator.CreateRequestCommandByteStream <bool>(customerRequestData);
        }
Exemplo n.º 3
0
        private static List <List <byte> > CreateRequestCommandByteStreamsForFunNum15(ICustomerRequestData customerRequestData)
        {
            List <List <byte> > requesCommandByteStreams = new List <List <byte> >();

            FunNum15CustomerRequestData    funNum15CustomerRequestData = (FunNum15CustomerRequestData)customerRequestData;
            List <FunNum15RequestDataBase> funNum15RequestDataBases    = funNum15CustomerRequestData.CovertToFunNum15RequestDataBases();

            foreach (FunNum15RequestDataBase item in funNum15RequestDataBases)
            {
                FunNum15RequestDataRTU funNum15RequestDataRTU = new FunNum15RequestDataRTU();
                funNum15RequestDataRTU.FunNum15RequestDataBase = item;

                requesCommandByteStreams.Add(funNum15RequestDataRTU.ToByteList());
            }

            return(requesCommandByteStreams);
        }