コード例 #1
0
ファイル: OpcService.cs プロジェクト: fedorsai/MonitoringViam
        /// <summary>
        /// На основе OpcParameter инициализирует PressOperationData.
        /// </summary>
        /// <param name="parameter">OpcParameter</param>
        /// <param name="item">PressOperationData</param>
        private void InitInternal2(OpcParameter parameter, PressOperationData item)
        {
            if (parameter == null)
            {
                return;
            }

            dynamic val = Convert.ChangeType(parameter.ParameterValue, parameter.ParameterType);

            if (parameter.ParameterName == OpcConsts.Position2)
            {
                item.Position = Convert.ToDecimal(val);
            }
            if (parameter.ParameterName == OpcConsts.Power2)
            {
                item.Power = Convert.ToDecimal(val);
            }

            if (parameter.ParameterName == OpcConsts.Speed2)
            {
                item.Speed = Convert.ToDecimal(val);
            }

            if (parameter.ParameterName == OpcConsts.PositionSP2)
            {
                item.PositionSP = Convert.ToDecimal(val);
            }
            if (parameter.ParameterName == OpcConsts.PowerSP2)
            {
                item.PowerSP = Convert.ToDecimal(val);
            }

            if (parameter.ParameterName == OpcConsts.SpeedSP2)
            {
                item.SpeedSP = Convert.ToDecimal(val);
            }

            if (parameter.ParameterName == OpcConsts.Temperature2)
            {
                item.Temperature = Convert.ToDecimal(val);
            }
        }
コード例 #2
0
        public void SetPropertiesByParameters(List <OpcParameter> parameters)
        {
            OpcParameter parameter = parameters.FirstOrDefault(p => p.ParameterName == OpcConsts.BlinL);

            EmphasisPlunger = parameter != null?Convert.ToInt32(parameters.FirstOrDefault(p => p.ParameterName == OpcConsts.BlinL).ParameterValue) : 0;

            EmphasisTravers = parameters.Any(p => p.ParameterName == OpcConsts.BlinR) ? Convert.ToInt32(parameters.First(p => p.ParameterName == OpcConsts.BlinR).ParameterValue) : 0;

            Instrument = parameters.Any(p => p.ParameterName == OpcConsts.Instrument) ? Convert.ToInt32(parameters.First(p => p.ParameterName == OpcConsts.Instrument).ParameterValue) : 0;

            WheelPosition = parameters.Any(p => p.ParameterName == OpcConsts.PosadkaKol) ? Convert.ToInt32(parameters.First(p => p.ParameterName == OpcConsts.PosadkaKol).ParameterValue) : 0;


            if (parameters.Any(p => p.ParameterName == OpcConsts.SpeedPress))
            {
                var speedPressValue = parameters.Any(p => p.ParameterName == OpcConsts.SpeedPress) ? parameters.First(p => p.ParameterName == OpcConsts.SpeedPress).ParameterValue : 0;
                System.Diagnostics.Trace.WriteLine(string.Format("speedPressValue:{0}", speedPressValue));
                System.Diagnostics.Trace.WriteLine(string.Format("Convert.ToDecimal(speedPressValue) / 10:{0}", Convert.ToDecimal(speedPressValue) / 10));
                SpeedPress = Convert.ToDecimal(speedPressValue) / 10;
            }
        }
コード例 #3
0
        private static void InitInternal(OpcParameter parameter, PressOperationData item)
        {
            if (parameter == null)
            {
                return;
            }
            dynamic val = Convert.ChangeType(parameter.ParameterValue, parameter.ParameterType);

            if (parameter.ParameterName == OpcConsts.DispPress)
            {
                item.DispPress = val;
            }
            if (parameter.ParameterName == OpcConsts.DlinaSopr)
            {
                item.DlinaSopr = val;
            }
            if (parameter.ParameterName == OpcConsts.ShowGraph)
            {
                item.ShowGraph = val;
            }
        }