/// <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(); }
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(); }
private void BitParametersToInt() { //11111111 BitParameters a = BitParameters.ShowGraph | BitParameters.AvtomatRezhim; int qq = (int)a; }