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

            //功能码05是设置单个线圈的值,所以只有一个寄存器
            DataPoint firstDataPoint          = dataPoints.First();
            int       theFirstRegisterAddress = dataPoints.First().StartRegisterAddress;

            customerRequestData.DeviceAddress = (byte)firstDataPoint.DeviceAddress;
            customerRequestData.FunctionNum   = FunctionNumType.FunctionNum05;
            customerRequestData.CoilAddress   = (ushort)theFirstRegisterAddress;

            if (Math.Abs(firstDataPoint.ValueToSet) > 0)
            {
                customerRequestData.ON = true;
            }
            else
            {
                customerRequestData.ON = false;
            }

            requestCommandByteStreams =
                TCPRequesCommandCreator.CreateRequestCommandByteStream(customerRequestData);

            return(requestCommandByteStreams);
        }
Exemplo n.º 2
0
        private static List <List <byte> > CreateRequestCommandByteStreamsForFunNum05(ICustomerRequestData customerRequestData)
        {
            List <List <byte> > requesCommandByteStreams = new List <List <byte> >();

            FunNum05CustomerRequestData    funNum05CustomerRequestData = (FunNum05CustomerRequestData)customerRequestData;
            List <FunNum05RequestDataBase> funNum05RequestDataBases    = funNum05CustomerRequestData.CovertToFunNum05RequestDataBases();

            foreach (FunNum05RequestDataBase item in funNum05RequestDataBases)
            {
                FunNum05RequestDataRTU funNum05RequestDataRTU = new FunNum05RequestDataRTU();
                funNum05RequestDataRTU.FunNum05RequestDataBase = item;

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

            return(requesCommandByteStreams);
        }