示例#1
0
        /// <summary>
        /// Остановит таймер, сделает ViewItem для ViewItem, запишет значение, Запустит таймет.
        /// </summary>
        public void WriteBitToOpc(BitParameters bitParameter, bool paramValue)
        {
            TimerStop();

            ViewItem(OpcConsts.Bits);

            List <OpcParameter> parameters = ProcessParameters(Parameters);

            OpcParameter parameter = parameters.FirstOrDefault(p => p.ParameterName == OpcConsts.Bits);

            if (parameter == null)
            {
                throw new Exception(string.Format("Can not process bit parameter {0}", bitParameter));
            }

            BitParameters bitParameters = (BitParameters)Convert.ToInt32(parameter.ParameterValue);

            if (paramValue)
            {
                bitParameters = bitParameters | bitParameter;
            }
            else
            {
                bitParameters = bitParameters & ~bitParameter;
            }

            int bitParametersAsInt = (int)bitParameters;

            _opcServerManager.WriteToOpc(bitParametersAsInt.ToString());

            TimerStart();
        }
示例#2
0
        private static void BitParamsTest()
        {
            BitParameters bp = BitParameters.ShowGraph | BitParameters.AvtomatRezhim;

            int i = (int)bp;

            ShowBits(i);

            BitParameters sss = (BitParameters)i;


            BitParameters sss3 = sss & ~(BitParameters.AvtomatRezhim);

            BitParameters sss3333 = sss3 | (BitParameters.AvtomatRezhim);


            Console.ReadKey();

            BitParameters bp1 = (BitParameters)3;

            if (bp1.HasFlag(BitParameters.ShowGraph))
            {
                Console.WriteLine("Has ShowGraph");
            }
            if (bp1.HasFlag(BitParameters.AvtomatRezhim))
            {
                Console.WriteLine("Has AvtomatRezhim");
            }
            if (bp1.HasFlag(BitParameters.RuchnoRezhim))
            {
                Console.WriteLine("Has RuchnoRezhim");
            }
            int i2 = (int)bp;

            ShowBits(i2);
            Console.ReadKey();
        }
示例#3
0
 private void BitParametersToInt()
 {
     //11111111
     BitParameters a  = BitParameters.ShowGraph | BitParameters.AvtomatRezhim;
     int           qq = (int)a;
 }