Beispiel #1
0
        ///<summaray>
        ///Метод  ReadDiscreteValue осуществляет чтение данных OPC node
        ///и преобразования в тип bool
        ///</summaray>
        ///<param name="discreteValue">Ссылка на объект DiscreteValue</param>
        ///<param name="Path">Путь до Node</param>
        ///<param name="client">OpcClient</param>

        private static void ReadDiscreteValue(ref DiscreteValue discreteValue, string Path, OpcClient client)
        {
            OpcValue var = client.ReadNode(Path);

            discreteValue.Path  = Path;
            discreteValue.Value = (bool)var.Value;
        }
Beispiel #2
0
        public override DiscreteValue CombineDiscreteIntensity(DiscreteValue highLayerValue, DiscreteValue lowLayerValue)
        {
            double intensity = lowLayerValue.Intensity * (1 - highLayerValue.Intensity);

            highLayerValue.Intensity = Math.Max(intensity, highLayerValue.Intensity);
            return(highLayerValue);
        }
Beispiel #3
0
        public static IIntent CreateDiscreteIntent(Color color, double intensity, TimeSpan duration)
        {
            DiscreteValue discreteValue = new DiscreteValue(color, intensity);
            IIntent       intent        = new DiscreteLightingIntent(discreteValue, discreteValue, duration);

            return(intent);
        }
Beispiel #4
0
        public override void Handle(IIntentState <DiscreteValue> obj)
        {
            DiscreteValue discreteValue = obj.GetValue();
            double        newIntensity  = _curve.GetValue(discreteValue.Intensity * 100.0) / 100.0;

            _intentValue = new StaticIntentState <DiscreteValue>(new DiscreteValue(discreteValue.Color, newIntensity));
        }
Beispiel #5
0
 public override DiscreteValue CombineDiscreteIntensity(DiscreteValue highLayerValue, DiscreteValue lowLayerValue)
 {
     if (lowLayerValue.Intensity >= _data.LowerLimit && lowLayerValue.Intensity <= _data.UpperLimit)
     {
         return(highLayerValue);
     }
     return(lowLayerValue);
 }
Beispiel #6
0
 public override DiscreteValue CombineDiscreteIntensity(DiscreteValue highLayerValue, DiscreteValue lowLayerValue)
 {
     if (highLayerValue.Intensity > 0)
     {
         return(highLayerValue);
     }
     return(lowLayerValue);
 }
Beispiel #7
0
        public static IIntent CreateDiscreteIntent(Color color, double startIntensity, double endIntensity, TimeSpan duration)
        {
            var     startingValue = new DiscreteValue(color, startIntensity);
            var     endValue      = new DiscreteValue(color, endIntensity);
            IIntent intent        = new DiscreteLightingIntent(startingValue, endValue, duration);

            return(intent);
        }
Beispiel #8
0
        public override DiscreteValue CombineDiscreteIntensity(DiscreteValue highLayerValue, DiscreteValue lowLayerValue)
        {
            if (highLayerValue.Intensity > 0 || !_data.ExcludeZeroValues)
            {
                return(highLayerValue);
            }

            return(lowLayerValue);
        }
Beispiel #9
0
        private static DiscreteValue[] InitializeDiscreteValues(Color c, int number)
        {
            var discreteValues = new DiscreteValue[number];

            for (int i = 0; i < discreteValues.Length; i++)
            {
                discreteValues[i] = new DiscreteValue(c, 0);
            }

            return(discreteValues);
        }
Beispiel #10
0
            public Builder AddPossibleValue(
                string name,
                T value,
                bool isDefault = false)
            {
                var newValue = new DiscreteValue(name, value);

                this.possibleValues_.Add(newValue);
                if (isDefault)
                {
                    this.defaultValue_ = newValue;
                }

                return(this);
            }
Beispiel #11
0
        public override void Handle(IIntentState <DiscreteValue> obj)
        {
            DiscreteValue discreteValue = obj.GetValue();

            // if we're not mixing colors, we need to compare the input color against the filter color -- but only the
            // hue and saturation components; ignore the intensity.
            if (discreteValue.Color.ToArgb() == _breakdownItem.Color.ToArgb())
            {
                _intensityValue = discreteValue.Intensity;
            }
            else
            {
                _intensityValue = 0;
            }
        }
Beispiel #12
0
        public List <DiscreteValue> GetDiscreteValues()
        {
            int                  iteratorId     = 0;
            List <long>          ids            = new List <long>();
            List <DiscreteValue> discreteValues = new List <DiscreteValue>();

            try
            {
                int numberOfResources = 500;
                int resourcesLeft     = 0;

                List <ModelCode> properties = modelResourcesDesc.GetAllPropertyIds(ModelCode.DISCRETEVALUE);

                iteratorId    = GdaQueryProxy.GetExtentValues(ModelCode.DISCRETEVALUE, properties);
                resourcesLeft = GdaQueryProxy.IteratorResourcesLeft(iteratorId);

                while (resourcesLeft > 0)
                {
                    List <ResourceDescription> rds = GdaQueryProxy.IteratorNext(numberOfResources, iteratorId);

                    for (int i = 0; i < rds.Count; i++)
                    {
                        var           rg            = GdaQueryProxy.GetValues(rds[i].Id, properties);
                        DiscreteValue discreteValue = new DiscreteValue(rds[i].Id);
                        discreteValues.Add(discreteValue.ConvertFromRD(rg));
                    }

                    resourcesLeft = GdaQueryProxy.IteratorResourcesLeft(iteratorId);
                }

                GdaQueryProxy.IteratorClose(iteratorId);

                CommonTrace.WriteTrace(CommonTrace.TraceError, "Getting extent values method successfully finished.");
            }
            catch (Exception e)
            {
                string message = string.Format("Getting extent values method failed for {0}.\n\t{1}", ModelCode.DISCRETEVALUE, e.Message);
                Console.WriteLine(message);
                CommonTrace.WriteTrace(CommonTrace.TraceError, message);
            }

            return(discreteValues);
        }
Beispiel #13
0
        /// <summary>
        /// Creates entity for specified global ID inside the container.
        /// </summary>
        /// <param name="globalId">Global ID of the entity for insert</param>
        /// <returns>Created entity (identified object).</returns>
        public IdentifiedObject CreateEntity(long globalId)
        {
            short type = ModelCodeHelper.ExtractTypeFromGlobalId(globalId);

            IdentifiedObject io = null;

            switch ((DMSType)type)
            {
            case DMSType.REGION:
                io = new GeographicalRegion(globalId);
                break;

            case DMSType.SUBREGION:
                io = new SubGeographicalRegion(globalId);
                break;

            case DMSType.SUBSTATION:
                io = new Substation(globalId);
                break;

            case DMSType.SYNCMACHINE:
                io = new SynchronousMachine(globalId);
                dersCopy.Add(io.GlobalId, io as SynchronousMachine);
                break;

            case DMSType.ANALOGVALUE:
                io = new AnalogValue(globalId);
                analogPointsCopy.Add(io as AnalogValue);
                break;

            case DMSType.DISCRETEVALUE:
                io = new DiscreteValue(globalId);
                discretPointsCopy.Add(io as DiscreteValue);
                break;

            default:
                string message = String.Format("Failed to create entity because specified type ({0}) is not supported.", type);
                CommonTrace.WriteTrace(CommonTrace.TraceError, message);
                throw new Exception(message);
            }

            return(io);
        }
Beispiel #14
0
        public override void Handle(IIntentState <DiscreteValue> obj)
        {
            DiscreteValue discreteValue = obj.GetValue();

            if (discreteValue.Intensity > 0)
            {
                double newIntensity = _curve.GetValue(discreteValue.Intensity * 100.0) / 100.0;
                if (obj is StaticIntentState <DiscreteValue> state)
                {
                    discreteValue.Intensity = newIntensity;
                    state.SetValue(discreteValue);
                    _intentValue = state;
                }
                else
                {
                    _intentValue = new StaticIntentState <DiscreteValue>(new DiscreteValue(discreteValue.Color, newIntensity));
                }
            }
            else
            {
                _intentValue = null;
            }
        }
Beispiel #15
0
 private OPCObjects()
 {
     camPrepare                      = new CamPrepare();
     AnalogValues                    = new List <AnalogValue>();
     DiscreteValues                  = new List <DiscreteValue>();
     ValvesInput                     = new Dictionary <int, ValveInput>();
     ValvesStatus                    = new Dictionary <int, ValveStatus>();
     SFT01_FT                        = new AnalogValue();
     SFT02_FT                        = new AnalogValue();
     SFT03_FT                        = new AnalogValue();
     SFT04_FT                        = new AnalogValue();
     SFT05_FT                        = new AnalogValue();
     SFT06_FT                        = new AnalogValue();
     SFT07_FT                        = new AnalogValue();
     SFT08_FT                        = new AnalogValue();
     SFT09_FT                        = new AnalogValue();
     SFT10_FT                        = new AnalogValue();
     FT_TT_1                         = new AnalogValue();
     FT_TT_2                         = new AnalogValue();
     FT_TT_3                         = new AnalogValue();
     K_RRG1                          = new AnalogValue();
     K_RRG2                          = new AnalogValue();
     K_RRG3                          = new AnalogValue();
     K_RRG4                          = new AnalogValue();
     PidHeatMode                     = new AnalogValue();
     RRG_Pressure_SP                 = new AnalogValue();
     RRG_9A1_feedback                = new AnalogValue();
     RRG_9A2_feedback                = new AnalogValue();
     RRG_9A3_feedback                = new AnalogValue();
     RRG_9A4_feedback                = new AnalogValue();
     TE_1                            = new AnalogValue();
     Pneumatic_Pressure              = new AnalogValue();
     Crio_Pressure                   = new AnalogValue();
     Camera_Pressure                 = new AnalogValue();
     Main_Pressure                   = new AnalogValue();
     Crio_Temperature                = new AnalogValue();
     PreHeat_Temp_SP                 = new AnalogValue();
     HeatAssist_Temp_SP              = new AnalogValue();
     PreHeat_Timer_SP                = new AnalogValue();
     HeatAssist_Timer_SP             = new AnalogValue();
     ManualSetTemp                   = new AnalogValue();
     BLM_Speed                       = new AnalogValue();
     BLM_Speed_SP                    = new AnalogValue();
     PreHeat_Done                    = new DiscreteValue();
     HeatAssist_Done                 = new DiscreteValue();
     PreHeat_Start                   = new DiscreteValue();
     HeatAssist_Flag                 = new DiscreteValue();
     Heat_Done                       = new DiscreteValue();
     HeatAssist_TempDone             = new DiscreteValue();
     Heat_Assit_On                   = new DiscreteValue();
     BLM_Start                       = new DiscreteValue();
     BLM_Stop                        = new DiscreteValue();
     BLM_Remote_Control_Done         = new DiscreteValue();
     BLM_Run                         = new DiscreteValue();
     Alarm_Open_door                 = new DiscreteValue();
     Alarm_Water_CRIO                = new DiscreteValue();
     Alarm_Hight_Pne_Press           = new DiscreteValue();
     Alarm_Low_One_Presse            = new DiscreteValue();
     Alarm_Crio_power_failure        = new DiscreteValue();
     Alarm_Qartz_power_failure       = new DiscreteValue();
     Alarm_ELI_Power_failure         = new DiscreteValue();
     Alarm_FloatHeater_power_failure = new DiscreteValue();
     Alarm_Ion_power_failure         = new DiscreteValue();
     Alarm_FVP_power_failure         = new DiscreteValue();
     Alarm_Indexer_power_failure     = new DiscreteValue();
     Alarm_SSP_power_failure         = new DiscreteValue();
     Alarm_TV1_power_failure         = new DiscreteValue();
     Alarm_Water_SECOND              = new DiscreteValue();
     Alarm_Hight_Crio_Temp           = new DiscreteValue();
     Crio_start_signal               = new DiscreteValue();
     Alarm_manual_stop               = new DiscreteValue();
     StartProcessSignal              = new DiscreteValue();
     StopProcessSignal               = new DiscreteValue();
     ELI_complete                    = new DiscreteValue();
     ELI_access                      = new DiscreteValue();
     PreHeat_Stage                   = new IntValue();
     HeatAssist_Stage                = new IntValue();
     Tech_cam_STAGE                  = new IntValue();
     FullCycleStage                  = new IntValue();
     IntValues                       = new List <IntValue>();
     FVPStatus                       = new FVPStatus();
     IonInputSetPoint                = new IonInputSetPoint();
     OPCLocker                       = new object();
     SQLLocker                       = new object();
     BAV_3_status                    = new ValveStatus();
     FVV_S_Status                    = new ValveStatus();
     FVV_B_Status                    = new ValveStatus();
     CPV_Status                      = new ValveStatus();
     SHV_Status                      = new ValveStatus();
     BAV_3_input                     = new ValveInput();
     FVV_S_Input                     = new ValveInput();
     FVV_B_Input                     = new ValveInput();
     CPV_Input                       = new ValveInput();
     SHV_Input                       = new ValveInput();
     camPrepare                      = new CamPrepare();
     CrioPumpStart                   = new CrioPumpStart();
     openCam                         = new OpenCam();
     StopCrio                        = new StopCrio();
     StopFVP                         = new StopFVP();
     IonInputCommnd                  = new IonInputCommand();
     IonInputSetPoint                = new IonInputSetPoint();
     IonOutputFeedBack               = new IonOutputFeedBack();
     IonStatus                       = new IonStatus();
     FVPStatus                       = new FVPStatus();
     CrioInput                       = new CrioInput();
     CrioStatus                      = new CrioStatus();
     user                            = new User();
 }
Beispiel #16
0
 public override DiscreteValue CombineDiscreteIntensity(DiscreteValue highLayerValue, DiscreteValue lowLayerValue)
 {
     highLayerValue.Intensity = lowLayerValue.Intensity;
     return(highLayerValue);
 }
Beispiel #17
0
 public virtual DiscreteValue CombineDiscreteIntensity(DiscreteValue highLayerValue, DiscreteValue lowLayerValue)
 {
     //A default implementation of highest layer wins.
     return(highLayerValue);
 }
Beispiel #18
0
 public override DiscreteValue CombineDiscreteIntensity(DiscreteValue highLayerValue, DiscreteValue lowLayerValue)
 {
     //This kind of mixing filter doesn't make sense for Discrete Intents
     return(lowLayerValue);
 }
Beispiel #19
0
        public override void Handle(IIntentState <DiscreteValue> obj)
        {
            DiscreteValue lightingValue = obj.GetValue();

            EvaluatorValue = new ColorCommand(lightingValue.FullColor);
        }